【文献】
大竹亘、小川公則、岩橋政宏,整数型直交変換を用いた4色RAW画像の可逆圧縮,映像情報メディア学会技術報告,日本,(社)映像情報メディア学会,2011年 2月14日,Vol.35,No.9,第1〜6頁,ITS2010−29,IE2010−104
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0033】
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(色変換装置)
2.第2の実施の形態(画像符号化装置)
3.第3の実施の形態(パーソナルコンピュータ)
【0034】
<1.第1の実施の形態>
[色成分]
デジタルカメラ等において行われるRAW圧縮では、撮像素子等から各色成分のデータが取得されて処理される。撮像素子から取得されるRAW画像は、例えば、
図1に示されるようなベイヤ配列構造を有する。つまり、RAW画像は、赤(R)、青(B)、緑(G0,G1)の色成分を有する。
【0035】
[色変換装置1]
図2は、このようなRAW画像に対して色変換処理を行う色変換装置の主な構成例を示すブロック図である。
【0036】
図2に示される色変換装置10は、特許文献1に記載の色変換方法で色変換処理を行う装置である。色変換装置10は、RAM画像のR,B,G0,G1をY,Cr,Cb,Cgに変換することにより情報量を低減させる。
【0037】
図2に示されるように、色変換装置10は、減算器11、加算器12、右1ビットシフト器13、減算器14、減算器15、左1ビットシフト器16、加算器17、加算器18、および右2ビットシフト器19を有する。
【0038】
入力21乃至入力24には、それぞれ、R,B,G0,G1が入力される。出力25乃至出力28からは、それぞれ、Cr,Cb,Y,Cgが出力される。
【0039】
減算器11は、入力24から入力23を減算し(G0−G1)、その減算結果を出力28(Cg)から出力させる。
【0040】
加算器12は、入力23と入力24とを加算する(G0+G1)。右1ビットシフト器13は、その加算結果を2で除算する(右方向に1ビットシフトする(F[(G0+G1)/2]))。
【0041】
減算器14は、入力22から右1ビットシフト器13の出力を減算し(B−F[(G0+G1)/2])、その減算結果を出力26(Cb)から出力させる。
【0042】
減算器15は、入力21から右1ビットシフト器13の出力を減算し(R−F[(G0+G1)/2])、その減算結果を出力25(Cr)から出力させる。
【0043】
左1ビットシフト器16は、右1ビットシフト器13の出力を2で乗算する(左方向に1ビットシフトする(2×F[(G0+G1)/2])。
【0044】
加算器17は、入力21と入力22を加算する(R+B)。加算器18は、左1ビットシフト器16の出力と、加算器17による加算結果とを加算する(R+2×F[(G0+G1)/2]+B)。右2ビットシフト器19は、その加算結果を4で除算する(右方向に2ビットシフトし(F[(R+2×F[(G0+G1)/2]+B)/4]))、出力27(Y)から出力させる。
【0045】
すなわち、色変換装置10は、以下の式(1)に示されるような色変換処理を行う。
【0047】
[色変換装置2]
図3は、色変換装置の他の構成例を示すブロック図である。
【0048】
図3に示される色変換装置30は、非特許文献1に記載の色変換方法(Karhunen-Loeve変換(KLT))で色変換処理を行う装置である。色変換装置30は、RAM画像のR,B,G0,Y0,Y1,Y2,Y3に変換することにより情報量を低減させる。
【0049】
図3に示されるように、色変換装置30は、回転変換部31(F(Θ1))、回転変換部32(F(Θ2))、回転変換部33(F(Θ3))、回転変換部34(F(Θ4))、回転変換部35(F(Θ5))、および、回転変換部36(F(Θ6))を有する。
【0050】
入力41乃至入力44には、それぞれ、R,G0,G1,Bが入力される。出力45乃至出力48からは、それぞれ、Y0,Y1,Y2,Y3が出力される。
【0051】
回転変換部31(F(Θ1))は、入力41(R)および入力42(G0)を回転変換する。回転変換部32(F(Θ2))は、回転変換部31(F(Θ1))の2出力と入力43(G1)とを回転変換する。回転変換部33(F(Θ3))は、回転変換部32(F(Θ2))の3出力と入力44(B)とを回転変換する。
【0052】
回転変換部33(F(Θ3))の1出力は出力45から出力される(Y0)。回転変換部34(F(Θ4))は、回転変換部33(F(Θ3))の2出力を回転変換する。回転変換部35(F(Θ5))は、回転変換部34(F(Θ4))の2出力と、回転変換部33(F(Θ3))の1出力とを回転変換する。回転変換部35(F(Θ5))の1出力は出力46から出力される(Y1)。
【0053】
回転変換部36(F(Θ6))は、回転変換部35(F(Θ5))の2出力を回転変換する。回転変換部36(F(Θ6))の2出力は、それぞれ、出力47(Y2)と出力48(Y3)から出力される。
【0054】
この様に、KLTをリフティング構成(ラダー構成)にすることで、演算の過程で発生する丸め誤差が順変換と逆変換の間でキャンセルするので、内部信号を整数化することで、可逆変換が可能になる。従って
図3のKLTを用いることで可逆圧縮を実現することができる。
【0055】
図3に示される様に、RED(入力131)、Green-0(入力132)、Green-1(入力133)、BLUE(入力134)の4つの色成分に対して可逆のKLTを行う場合、F(Θ1)乃至F(Θ6)の6つの回転変換が必要になる。これは、4入力のKLTを因数分解すると、6つの回転変換がその要素として必要になるからである。
【0056】
以上の回転変換F(Θi)は、以下の式(2)乃至式(9)のように表される。
【0057】
【数2】
・・・(2)
【数3】
・・・(3)
【数4】
・・・(4)
【数5】
・・・(5)
【数6】
・・・(6)
【数7】
・・・(7)
【数8】
・・・(8)
【数9】
・・・(9)
【0058】
白黒画像の場合、信号の性質が高精度に近似されるため、DCTによる圧縮が有効である。これに対してカラー画像の場合、RGBからYUVへの色変換の後にDCTを用いると、色成分の自己相関や相互相関は入力画像によって大きく異なるので、必ずしも良好な結果が得られるとは限らない。しかしながら、色変換装置10の色変換の代わりに色変換装置30のKLTを用いることで、個々の入力画像の特徴に適した無相関化が可能になり、結果として効率的な圧縮を実現することができる。
【0059】
しかしながら、KLTは、上述した様に回転変換から構成され、個々の回転変換は三角関数の演算を伴うので、一般に計算負荷が大きい。従って、
図2の色変換装置10のような単純な色変換(加減算とビットシフト演算のみ)と比べると、色変換装置30の色変換の計算負荷は大きい。
【0060】
[色変換装置3]
ところで、RAW画像の色成分の内で、2つ存在するGreen成分(G0とG1)の相関は、入力画像によらず、ほぼ一定であることが知られている。そこで、この特徴を利用して上記の2つのGreen成分に対しては、KLTよりも遥かに軽量な変換、例えばHaar変換を施すようにする。
【0061】
図4は、色変換装置の、さらに他の構成例を示すブロック図である。
【0062】
図4に示される色変換装置100は、基本的に
図3の色変換装置30と同様の装置であり、RAM画像のR,B,G0,Y0,Y1,Y2,Y3に変換することにより情報量を低減させる。
【0063】
図4に示されるように、色変換装置100は、色変換部101および色変換部102を有する。色変換部101は、入力される色成分の内、互いに相関性が高い色成分同士の組み合わせ(複数の色成分からなる色成分群)に対してHaar変換を行う。
【0064】
入力131乃至入力134には、それぞれ、G0,G1,R,Bが入力される。出力151乃至出力154からは、それぞれ、Y0,Y1,Y2,Y3が出力される。
【0065】
色変換部101は、丸め処理部111、加算器112、丸め処理部113、加算器114、丸め処理部115、および加算器116を有する。
【0066】
加算器112は、丸め処理部111による入力131(G0)の丸め処理結果135と、入力132(G1)とを加算し、加算結果136を得る。加算器114は、丸め処理部113による加算結果136の丸め処理結果137と、入力131(G0)とを加算し、色変換部101の出力を得る。この出力は、出力151から色変換装置100の外部に出力される(Y0)。
【0067】
加算器116は、丸め処理部115による加算器114の出力の丸め処理結果と、加算結果136とを加算し、加算結果139を、色変換部101の出力として得る。この出力は、色変換部102に供給される。
【0068】
つまり、色変換部101は、互いに相関性の高いG0とG1に対してHaar変換を行い、一方の出力を出力151から色変換装置100の外部に出力させ(Y0)、他方の出力を色変換部102に供給する。
【0069】
この色変換部101を定式化したものを以下の式(10)に示す。
【0071】
色変換部102は、入力される色成分のその他の組み合わせ(色成分群)に対してKLTを行う。
【0072】
色変換部102は、回転変換部121(F(Θ1))、回転変換部122(F(Θ2))、および回転変換部123(F(Θ3))を有する。
【0073】
回転変換部121(F(Θ1))は、色変換部101の1出力と入力133(R)を回転変換する。回転変換部122(F(Θ2))は、回転変換部121(F(Θ1))の出力141と出力142、並びに、入力134(B)を回転変換する。回転変換部122(F(Θ2))の1出力は出力152から出力される(Y1)。
【0074】
また、回転変換部123(F(Θ3))は、回転変換部122(F(Θ2))の出力143および出力144を回転変換する。その一方の出力は、出力153から出力され(Y2)、他方の出力は出力154(Y3)から出力される。
【0075】
色変換装置30のように4入力KLTの場合、6つの回転変換が必要になるのに対して、この色変換装置100のように3入力KLTの場合、3つの回転変換で十分である。
【0076】
また、Haar変換は、式(10)に示されるように、加減算及びビットシフト演算だけで実現することができる。したがって、Haar変換は、回転変換を伴うKLTに比べて、処理の負荷は遥かに小さい。
【0077】
以上のことから、色変換装置100は、色変換処理の負荷を、4入力KLTを行う色変換装置30の場合よりも低減させることができる。
【0078】
[色変換処理の流れ]
次に、
図5のフローチャートを参照して、
図4の色変換装置100による色変換処理の流れの例を説明する。
【0079】
色変換処理が開始されると、色変換装置100の色変換部101は、ステップS101において、相関の高い色成分の組み合わせに対してHaar変換を行う。
【0080】
ステップS102において、色変換部102は、ステップS101の処理結果を用いて、その他の色成分の組み合わせに対してKLTを行う。
【0081】
ステップS102の処理が終了すると、色変換装置100は、色変換処理を終了する。
【0082】
このように色変換処理を行うことにより、色変換装置100は、色変換装置30の場合に比べて、色変換処理の負荷を低減させることができる。
【0083】
[色変換装置4]
なお、互いに相関性が高い色成分同士の組み合わせに対する色変換処理として、Haar変換の代わりにDPCM(Differential Pulse Code Modulation)を用いるようにしてもよい。
【0084】
図6は、色変換装置の、さらに他の構成例を示すブロック図である。
【0085】
図6に示される色変換装置200は、基本的に
図4の色変換装置100と同様の装置であり、色変換装置100と同様の構成を有するが、色変換部101の代わりに色変換部201を有する。
【0086】
色変換部201は、入力される色成分の内、互いに相関性が高い色成分同士の組み合わせ(複数の色成分からなる色成分群)に対してDPCMを行う。色変換部201は、減算器211を有する。
【0087】
減算器211は、入力131(G0)から入力132(G1)を減算する。この減算結果は、色変換部201の一方の出力として、出力151から色変換装置200の外部に出力される(Y0)。
【0088】
また、色変換部201の他方の出力として、入力132(G1)が、色変換部102に供給される。つまり、色変換部102は、入力132(G1)、入力133(R)、および入力134(G)に対してKLTを行う。
【0089】
色変換部201を定式化したものを以下の式(11)に示す。
【0091】
式(11)に示されるように、この色変換部201の場合、減算のみで変換を行うことができる。したがって、色変換部201は、色変換部101のHaar変換の場合よりもさらに負荷を低減させることができる。つまり、色変換装置200は、色変換処理の負荷を、色変換装置100の場合よりもさらに低減させることができる。
【0092】
ただし、冗長度削減効果は、色変換部201の場合よりも色変換部101のHaar変換の方が大きい。
【0093】
[色変換処理の流れ]
次に、
図7のフローチャートを参照して、
図6の色変換装置200による色変換処理の流れの例を説明する。この場合も、色変換処理は、
図5のフローチャートを参照して説明した場合と基本的に同様に行われるが、ステップS201において、色変換装置200の色変換部201は、ステップS101の処理の代わりに、相関の高い色成分の組み合わせに対してDPCMを用いた色変換を行う。
【0094】
ステップS202においては、ステップS101の処理と同様の処理が行われる。
【0095】
このように色変換処理を行うことにより、色変換装置200は、色変換装置100の場合に比べて、さらに色変換処理の負荷を低減させることができる。
【0096】
[色変換装置5]
なお、互いに相関性が高い色成分同士の組み合わせに対する色変換処理として、上述したHaar変換やDPCMの代わりにS変換を用いるようにしてもよい。
【0097】
図8は、色変換装置の、さらに他の構成例を示すブロック図である。
【0098】
図8に示される色変換装置300は、基本的に
図4の色変換装置100と同様の装置であり、色変換装置100と同様の構成を有するが、色変換部101の代わりに色変換部301を有する。
【0099】
色変換部301は、入力される色成分の内、互いに相関性が高い色成分同士の組み合わせ(複数の色成分からなる色成分群)に対してS変換を行う。色変換部301は、減算器311、加算器312、および右1ビットシフト器313を有する。
【0100】
減算器311は、入力131(G0)から入力132(G1)を減算する。この減算結果は、色変換部301の一方の出力として、出力151から色変換装置300の外部に出力される(Y0)。
【0101】
加算器312は、入力131(G0)と入力132(G1)とを加算し、加算結果321を得る(G0+G1)。右1ビットシフト器313は、その加算結果321を2で除算し(右方向に1ビットシフトする(F[(G0+G1)/2]))、除算結果322を得る。
【0102】
この除算結果322は、色変換部301の他方の出力として色変換部102に供給される。つまり、色変換部102は、除算結果322(F[(G0+G1)/2])、入力133(R)、および入力134(G)に対してKLTを行う。
【0103】
色変換部301を定式化したものを以下の式(12)に示す。
【0105】
式(12)に示されるように、この色変換部301の場合、色変換部101の場合と同様に、加減算とビットシフト演算のみで変換を行うことができる。したがって、色変換装置300は、色変換装置100の場合と同様に、色変換処理の負荷を、色変換装置30の場合よりも低減させることができる。
【0106】
[色変換処理の流れ]
次に、
図9のフローチャートを参照して、
図8の色変換装置300による色変換処理の流れの例を説明する。この場合も、色変換処理は、
図5のフローチャートを参照して説明した場合と基本的に同様に行われるが、ステップS301において、色変換装置300の色変換部301は、ステップS101の処理の代わりに、相関の高い色成分の組み合わせに対してS変換を行う。
【0107】
ステップS302においては、ステップS101の処理と同様の処理が行われる。
【0108】
このように色変換処理を行うことにより、色変換装置300は、色変換装置100の場合と同様に、色変換装置30の場合に比べて色変換処理の負荷を低減させることができる。
【0109】
[エントロピ値]
以上に説明した5つの色変換方法のエントロピ比較結果を
図10の表に示す。
図10に示される表は、RAW1乃至RAW5の5つのRAW画像について、上述した5つの方法で色変換を行った場合のエントロピの変化の様子を比較したものである。
【0110】
RAW1乃至RAW5は、互いに異なる任意のRAW画像であり、
図10の表の上から2行目以下の各列の数字は、それぞれのエントロピ値を示す。ここでエントロピ値は、以下の式(13)のように定義される。
【0112】
つまり、エントロピ値は、各出力記号の情報量piと、その記号が発生する生起確率(log
2(1/pi))との乗算結果の総和として定義される。このエントロピ値が小さいほど情報量が低減されており、情報量低減効果が大きいことを示す。
【0113】
図10の表の上から2行目の数値は、各画像の色変換前のエントロピ値を示す。また、上から3行目の各数値は、各画像の、
図2に示される色変換装置10によるビットシフトと加減算を用いた色変換後のエントロピ値を示す。さらに、上から4行目の各数値は、各画像の、
図3に示される色変換装置30による4入力のKLTを用いた色変換後のエントロピ値を示す。
【0114】
図10の表の上から5行目の各数値は、各画像の、
図4に示される色変換装置100によるHaar変換と3入力のKLTを用いた色変換後のエントロピ値を示す。また、上から6行目の各数値は、各画像の、
図6に示される色変換装置200によるDPCMと3入力のKLTを用いた色変換後のエントロピ値を示す。さらに、上から7行目の各数値は、各画像の、
図8に示される色変換装置300によるS変換と3入力のKLTを用いた色変換後のエントロピ値を示す。
【0115】
この
図10の表に示される各エントロピ値から、色変換装置100乃至色変換装置300のいずれの色変換の場合も、色変換装置10の場合と比べて、エントロピ値が小さくなっており、良好の結果が得られている。また、色変換装置100乃至色変換装置300のいずれの色変換の場合も、エントロピ値は、色変換装置30の場合と略同等となっている。
【0116】
このように、色変換装置100乃至色変換装置300は、いずれも、高い情報量低減効果を実現しつつ、処理の負荷の増大を抑制することができる。
【0117】
<2.第2の実施の形態>
[画像符号化装置1]
第1の実施の形態において説明した色変換方法により色変換された各色成分を、さらに符号化するようにしてもよい。
【0118】
図11は、画像符号化装置の主な構成例を説明するブロック図である。
【0119】
図11に示される画像符号化装置400は、RAW画像データを、第1の実施の形態において説明した方法により色変換し(RAW圧縮し)、さらにその変換後の各色成分を適宜周波数変換して符号化する。
【0120】
図11に示されるように、画像符号化装置400は、色変換部401、制御部402、周波数変換部403−0乃至周波数変換部403−3、並びに、エントロピ符号化部404−0乃至エントロピ符号化部404−3を有する。
【0121】
なお、以下において、周波数変換部403−0乃至周波数変換部403−3を互いに区別して説明する必要が無い場合、単に周波数変換部403と称する。また、エントロピ符号化部404−0乃至エントロピ符号化部404−3を互いに区別して説明する必要が無い場合、単に、エントロピ符号化部404と称する。
【0122】
色変換部401は、画像符号化装置400に入力される各色成分(入力131(G0)、入力132(G1)、入力133(R)、および入力134(B))を色変換することによりRAW圧縮し、色変換後の各色成分(出力151(Y0)、出力152(Y1)、出力153(Y2)、および出力154(Y3))を出力する。
【0123】
この色変換部401として、第1の実施の形態において説明した、色変換装置100、色変換装置200、若しくは色変換装置300のいずれかが処理部として適用される。つまり、色変換部401は、第1の実施の形態において説明したように、高い情報量低減効果を実現しつつ、処理の負荷の増大を抑制することができる。
【0124】
なお、第1の実施の形態において説明した効果が得られなくてもよければ、色変換部401には、例えば色変換装置10や色変換装置30のように、上述した色変換装置100乃至色変換装置300以外の色変換装置(色変換方法)を適用することもできる。
【0125】
制御部402は、色変換後の各色成分について、周波数変換を行うか否かを制御する。例えば、元々エネルギが小さい(絶対値が小さい)成分に周波数変換を施しても効果は小さい。したがって、制御部402は、各色成分のエネルギを測定し、その大きさに応じて周波数変換を行うか否かを制御する。
【0126】
周波数変換部403は、入力される色成分を例えばDCT(Discrete Cosine Transform)やウェーブレット変換等の所定の方法で周波数成分に変換する。周波数変換部403は、周波数変換されて得られた周波数変換係数をエントロピ符号化部404に供給する。
【0127】
エントロピ符号化部404は、制御部402から供給される色成分、若しくは、周波数変換部403から供給される周波数変換係数を、例えば可変長符号化(VLC(Variable Length Code))や算術符号化等の所定の方法で符号化する。
【0128】
制御部402は、エネルギ測定部411−0乃至エネルギ測定部411−3、判定部412−0乃至判定部412−3、並びに、選択部413−0乃至選択部413−3を有する。
【0129】
以下において、エネルギ測定部411−0乃至エネルギ測定部411−3を互いに区別して説明する必要が無い場合、単にエネルギ測定部411と称する。また、判定部412−0乃至判定部412−3を互いに区別して説明する必要が無い場合、単に判定部412と称する。さらに、選択部413−0乃至選択部413−3を互いに区別して説明する必要が無い場合、単に選択部413と称する。
【0130】
出力151(Y0)について、エネルギ測定部411−0は、エネルギ(例えば、信号値の2乗(若しくは絶対値))を測定し、エネルギ測定結果421−0を判定部412−0に供給する。判定部412−0は、そのエネルギ測定結果421−0を、予め保持している所定の閾値と比較し、この色成分について周波数変換を行わせるか否かを判定する。判定部412−0は、その判定結果に従って、周波数変換を行わせるか否かの指示422−0を選択部413−0に供給する。選択部413−0は、その指示に基づいて、色変換部401の出力151(Y0)の出力先を選択する。
【0131】
例えば、エネルギ測定結果421−0が閾値以上である場合(若しくは閾値より大きい場合)、判定部412−0は、周波数変換を行わせるように指示422−0を出す。選択部413−0は、その指示に従って、色変換部401の出力151(Y0)の出力先として周波数変換部403−0を選択する。つまり、この場合、選択部413−0は、色変換部401の出力151(Y0)を、出力424−0として周波数変換部403−0に供給する。
【0132】
周波数変換部403−0は、選択部413−0の出力424−0を周波数変換し、その周波数変換係数425−0をエントロピ符号化部404−0に供給する。エントロピ符号化部404−0は、その周波数変換係数425−0をエントロピ符号化し、得られた符号化データ(Y0')を出力431から出力する。
【0133】
また例えば、エネルギ測定結果421−0が閾値より小さい場合(若しくは閾値以下である場合)、判定部412−0は、周波数変換を省略するように指示422−0を出す。選択部413−0は、その指示に従って、色変換部401の出力151(Y0)の出力先としてエントロピ符号化部404−0を選択する。つまり、この場合、選択部413−0は、色変換部401の出力151(Y0)を、出力423−0としてエントロピ符号化部404−0に供給する。
【0134】
エントロピ符号化部404−0は、その選択部413−0の出力423−0をエントロピ符号化し、得られた符号化データ(Y0')を出力431から出力する。
【0136】
つまり、出力152(Y1)について、エネルギ測定部411−1が、エネルギを測定し、判定部412−1が、そのエネルギ測定結果421−1を、予め保持している所定の閾値と比較し、この色成分について周波数変換を行わせるか否かを判定する。選択部413−1は、その判定部412−1から供給される指示422−1に基づいて、色変換部401の出力152(Y1)の出力先を選択する。
【0137】
例えば、エネルギ測定結果421−1が閾値以上である場合(若しくは閾値より大きい場合)、選択部413−1は、判定部412−1の指示に従って、色変換部401の出力152(Y1)の出力先として周波数変換部403−1を選択する。周波数変換部403−1は、選択部413−1の出力424−1を周波数変換し、エントロピ符号化部404−1は、その周波数変換係数425−1をエントロピ符号化し、得られた符号化データ(Y1')を出力432から出力する。
【0138】
また例えば、エネルギ測定結果421−1が閾値より小さい場合(若しくは閾値以下である場合)、選択部413−1は、判定部412−1の指示に従って、色変換部401の出力152(Y1)の出力先としてエントロピ符号化部404−1を選択する。エントロピ符号化部404−1は、その選択部413−1の出力423−1をエントロピ符号化し、得られた符号化データ(Y1')を出力432から出力する。
【0139】
また、出力153(Y2)について、エネルギ測定部411−2が、エネルギを測定し、判定部412−2が、そのエネルギ測定結果421−2を、予め保持している所定の閾値と比較し、この色成分について周波数変換を行わせるか否かを判定する。選択部413−2は、その判定部412−2から供給される指示422−2に基づいて、色変換部401の出力153(Y2)の出力先を選択する。
【0140】
例えば、エネルギ測定結果421−2が閾値以上である場合(若しくは閾値より大きい場合)、選択部413−2は、判定部412−2の指示に従って、色変換部401の出力153(Y2)の出力先として周波数変換部403−2を選択する。周波数変換部403−2は、選択部413−2の出力424−2を周波数変換し、エントロピ符号化部404−2は、その周波数変換係数425−2をエントロピ符号化し、得られた符号化データ(Y2')を出力433から出力する。
【0141】
また例えば、エネルギ測定結果421−2が閾値より小さい場合(若しくは閾値以下である場合)、選択部413−2は、判定部412−2の指示に従って、色変換部401の出力153(Y2)の出力先としてエントロピ符号化部404−2を選択する。エントロピ符号化部404−2は、その選択部413−2の出力423−2をエントロピ符号化し、得られた符号化データ(Y2')を出力433から出力する。
【0142】
さらに、出力154(Y3)について、エネルギ測定部411−3が、エネルギを測定し、判定部412−3が、そのエネルギ測定結果421−3を、予め保持している所定の閾値と比較し、この色成分について周波数変換を行わせるか否かを判定する。選択部413−3は、その判定部412−3から供給される指示422−3に基づいて、色変換部401の出力154(Y3)の出力先を選択する。
【0143】
例えば、エネルギ測定結果421−3が閾値以上である場合(若しくは閾値より大きい場合)、選択部413−3は、判定部412−3の指示に従って、色変換部401の出力154(Y3)の出力先として周波数変換部403−3を選択する。周波数変換部403−3は、選択部413−3の出力424−3を周波数変換し、エントロピ符号化部404−3は、その周波数変換係数425−3をエントロピ符号化し、得られた符号化データ(Y3')を出力434から出力する。
【0144】
また例えば、エネルギ測定結果421−3が閾値より小さい場合(若しくは閾値以下である場合)、選択部413−3は、判定部412−3の指示に従って、色変換部401の出力154(Y3)の出力先としてエントロピ符号化部404−3を選択する。エントロピ符号化部404−3は、その選択部413−3の出力423−3をエントロピ符号化し、得られた符号化データ(Y3')を出力434から出力する。
【0145】
以上のように、制御部402は、色成分毎に周波数変換を行うか否かを制御することができる。これにより、画像符号化装置400は、不要な処理(周波数変換処理)を低減させることができ、画像符号化処理の負荷を低減させることができる。また、これにより画像符号化装置400は、画像符号化処理の処理時間を低減させることもできる。
【0146】
[画像符号化処理の流れ]
図12のフローチャートを参照して、
図11の画像符号化装置400による画像符号化処理の流れの例を説明する。
【0147】
画像符号化処理が開始されると、ステップS401において、色変換部401は、入力されたRAW画像データの色成分に対して色変換処理を行う。この色変換処理は、例えば、
図5、
図7、若しくは
図9のフローチャートを参照して説明した色変換処理と同様の処理が行われる。
【0148】
色変換処理が終了すると、ステップS402において、エネルギ測定部411は、色成分毎にエネルギを測定する。ステップS403において、判定部412は、ステップS402の測定結果を用いて、周波数変換を行うか否かを色成分毎に判定する。選択部413は、その判定結果に応じて、各色成分に対して行う処理を選択する。
【0149】
ステップS404において、周波数変換部403は、ステップS403において周波数変換を行う色成分として選択された色成分を周波数変換する。
【0150】
ステップS405において、エントロピ符号化部404は、ステップS403において周波数変換を行わない色成分として選択された色成分、並びに、ステップS404において周波数変換された色成分の周波数変換係数をエントロピ符号化する。
【0151】
各色成分(若しくはその周波数変換係数)がエントロピ符号化されると、画像符号化処理が終了される。
【0152】
このように処理を行うことにより、画像符号化装置400は、不要な処理を低減させ、画像符号化処理の負荷や処理時間を低減させることができる。
【0153】
[画像符号化装置2]
なお、色変換を行う画像データのコンポーネント(色成分の組み合わせ)が決まっている場合、各色成分のエネルギ分布の傾向が予め定まる場合がある。例えば、上述したように、G0,G1,R,Bの4つの色成分をY0,Y1,Y2,Y3に色変換する場合、相関性の高いG0およびG1から生成される色成分Y0のエネルギは、他の色成分と比較して小さくなることが多い。
【0154】
このような場合、エネルギの小さい特定の色成分のみ予め周波数変換処理を省略するようにしてもよい。
【0155】
図13は、画像符号化装置の他の構成例を示すブロック図である。
【0156】
図13に示される画像符号化装置500は、
図11の画像符号化装置400と同様の装置であるが、制御部402と周波数変換部403が省略されている。
【0157】
つまり、
図13に示されるように、画像符号化装置500の場合、色変換部401の出力151(Y0)は、エントロピ符号化部404−0に供給され、エントロピ符号化され、得られた符号化データ(Y0')が出力431から出力される。
【0158】
これに対して、色変換部401の出力152(Y1)は、周波数変換部403−1に供給され、周波数変換される。そして、その周波数変換係数425−1が、エントロピ符号化部404−1に供給され、エントロピ符号化され、得られた符号化データ(Y1')が出力432から出力される。
【0159】
同様に、色変換部401の出力153(Y2)は、周波数変換部403−2に供給され、周波数変換される。そして、その周波数変換係数425−2が、エントロピ符号化部404−2に供給され、エントロピ符号化され、得られた符号化データ(Y2')が出力433から出力される。
【0160】
また、色変換部401の出力154(Y3)は、周波数変換部403−3に供給され、周波数変換される。そして、その周波数変換係数425−3が、エントロピ符号化部404−3に供給され、エントロピ符号化され、得られた符号化データ(Y3')が出力434から出力される。
【0161】
つまり、画像符号化装置500の場合、周波数変換を行うか否かが色成分毎に予め定められている。したがって、エネルギ測定や判定・選択等の処理を省略することができるので、画像符号化装置500は、画像符号化装置400の場合よりも、さらに画像符号化処理の負荷や処理時間を低減させることができる。
【0162】
[画像符号化処理の流れ]
図14のフローチャートを参照して、
図13の画像符号化装置500による画像符号化処理の流れの例を説明する。
【0163】
この場合、画像符号化処理が開始されると、ステップS501において、色変換部401は、ステップS401の場合と同様に、入力されたRAW画像データの色成分に対して色変換処理を行う。
【0164】
色変換処理が終了すると、ステップS502において、周波数変換部403は、予め定められた所定の色成分を周波数変換する。
【0165】
ステップS503において、エントロピ符号化部404は、ステップS502において周波数変換が行われなかった色成分、並びに、ステップS502において周波数変換された色成分の周波数変換係数をエントロピ符号化する。
【0166】
各色成分(若しくはその周波数変換係数)がエントロピ符号化されると、画像符号化処理が終了される。
【0167】
このように処理を行うことにより、画像符号化装置500は、画像符号化処理の負荷や処理時間をさらに低減させることができる。
【0168】
[その他の例]
なお、画像符号化装置400および画像符号化装置500のエントロピ符号化部404の符号化は、可逆であっても良いが、非可逆であっても良い。例えば、エントロピ符号化部404が出力するストリームのビットレートを制御するようにしてもよい。その場合、制御部402の判定部412が判定の基準とする閾値を、そのビットレートに応じて制御することができるようにしてもよい。
【0169】
例えば、判定部412は、エントロピ符号化部404から出力されるストリームのビットレートが小さい場合、データ量をより低減させやすいように、閾値を下げて周波数変換が行われやすくし、逆に、エントロピ符号化部404から出力されるストリームのビットレートが大きい場合、閾値を上げて周波数変換が行われにくくするようにしてもよい。
【0170】
また、この閾値は、色成分毎に互いに独立して設定されるようにしてもよいし、全色成分で共通としてもよい。
【0171】
また、上述した第1の実施の形態および第2の実施の形態において、各色成分のベイヤ型配列は、任意であり、
図1に示される例以外であっても良い。例えば、
図15に示されるような倍密レイヤであってもよい。
【0172】
さらに、RAW画像データのコンポーネント数は任意であり、5色以上であってもよい。また、相関性の高い色成分の組み合わせは各色成分の配列に依存するものであり、上述したG0とG1以外の組み合わせを相関性の高い色成分の組み合わせとしてもよいし、その組み合わせの色成分の数も任意である。
【0173】
例えば、
図16A乃至
図16Fに示されるようにR,G,Bに加えW(ホワイト)を用いた各種配列のRAW画像データを色変換するようにしてもよい。また、
図16G,
図16H、および
図16Jに示されるように、Ye(黄色)を用いた各種配列のRAW画像データを処理対象としてもよい。
【0174】
さらに、例えば、Rastislav Lukac and Konstantinous N.Plataniitis,"Color Filter Arrays: Design and Performance Analysis",IEEE Transactions on Consumer Electronics, Vol.51,No.4, November 2005に記載のフィルタパターンで各色成分が配列されたRAW画像データであってもよい。
【0175】
以上に説明した色変換装置100、色変換装置200、色変換装置300、画像符号化装置400、および画像符号化装置500は、それぞれ、上述した以外の構成を含むようにしてももちろんよい。また、1つの装置としてだけでなく、複数の装置よりなるシステムとして構成されるようにしてもよい。例えば、デジタルスチルカメラ、動画用カムコーダ、医療用画像カメラ、医療用内視鏡、監視カメラ、デジタルシネマ撮影用カメラ、両眼画像カメラ、多眼画像カメラ、PC上のオーサリング・ツールまたはそのソフトウェア・モジュール等として構成されるようにしてもよい。
【0176】
<3.第3の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、
図17に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0177】
図17において、パーソナルコンピュータ700のCPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部713からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0178】
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
【0179】
入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRT(Cathode Ray Tube)ディスプレイやLCD(Liquid Crystal Display)等のディスプレイ、並びにスピーカなどよりなる出力部712、フラッシュメモリ等SSD(Solid State Drive)やハードディスクなどよりなる記憶部713、有線LAN(Local Area Network)や無線LANのインタフェースやモデムなどよりなる通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
【0180】
入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
【0181】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0182】
この記録媒体は、例えば、
図17に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどにより構成される。
【0183】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0184】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0185】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【0186】
また、以上において、1つの装置(または処理部)として説明した構成が、複数の装置(または処理部)として構成されるようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成が、まとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成が付加されるようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部が他の装置(または他の処理部)の構成に含まれるようにしてもよい。つまり、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。