JP2007006038A - 画像処理装置及び画像処理方法及びプログラム及び記憶媒体 - Google Patents
画像処理装置及び画像処理方法及びプログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2007006038A JP2007006038A JP2005182519A JP2005182519A JP2007006038A JP 2007006038 A JP2007006038 A JP 2007006038A JP 2005182519 A JP2005182519 A JP 2005182519A JP 2005182519 A JP2005182519 A JP 2005182519A JP 2007006038 A JP2007006038 A JP 2007006038A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- image
- pixels
- image processing
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims description 10
- 239000003086 colorant Substances 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 33
- 238000001914 filtration Methods 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 230000012447 hatching Effects 0.000 description 8
- 230000005484 gravity Effects 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Color Television Image Signal Generators (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成可能とする。
【解決手段】色配列の周期性が異なる複数色の画素列からなる原画像から、原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、縮小画像の各1つの画素について、各1つの画素に対応する位置及びその周辺に位置する原画像の複数色の画素の画素情報を合成して、複数色の色情報を有する各1つの画素の画素情報を演算する演算部であって、縮小画像の各1つの画素において複数色の色情報の重心が略一致するように、原画像の複数色の画素の画素情報を合成する演算部を具備する。
【選択図】 図7
【解決手段】色配列の周期性が異なる複数色の画素列からなる原画像から、原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、縮小画像の各1つの画素について、各1つの画素に対応する位置及びその周辺に位置する原画像の複数色の画素の画素情報を合成して、複数色の色情報を有する各1つの画素の画素情報を演算する演算部であって、縮小画像の各1つの画素において複数色の色情報の重心が略一致するように、原画像の複数色の画素の画素情報を合成する演算部を具備する。
【選択図】 図7
Description
本発明は、例えばデジタルカメラにより撮影して得られたデジタル画像データを処理する画像処理技術に関するものである。
デジタルスチルカメラなどの撮像装置では、被写体光学像をCMOS撮像素子、CCD等により光電変換し、得られた撮影画像信号をデジタルデータに変換してRAWデータとして保存する場合がある。この場合、このRAWデータを画像処理装置に移し、画像処理装置においてRAWデータに対して色補間、ガンマ補正処理、ホワイトバランス調整処理などを施し、ディスプレイなどに表示する画像を作成する。
ここで、CCD等の撮像素子は、R(赤),G(緑),B(青)の各色の光を受光する画素が規則的に並べられたものであり、そのため、RAWデータに保存されるデジタルデータも同様の並びとなる。この並び方の規則として、例えばR,G,Bの各色が図2のように並んだBayer配列(ベイヤー配列)が知られている。
ここで、本願の背景技術の説明及び後述する実施形態の説明に共通して用いられるBayer配列の各画素の命名規則について、図3を参照して説明する。
図3のような2次元配列において、行、列はそれぞれ左上を原点として、右方向に1,2,…,2m列目、下方向に1,2,…,2n行目と数えるものとする。
Bayer配列を2行ずつ,2列ずつで分割した場合の、各2×2の画素の固まりをブロックと呼ぶ。また、ブロックを一単位とした配列をブロック配列と呼ぶ。すなわち、2m×2nの画素を持つBayer配列は、m×nのブロック配列となる。Bayer配列の行、列をそれぞれ画素行、画素列と呼び、ブロック配列の行、列をそれぞれブロック行、ブロック列と呼ぶものとする。i列目のブロック列には2i−1,2i列目の画素列が、j行目のブロック行には2j−1,2j行目の画素行が含まれる。
i列目、j行目のブロックに含まれる4画素は、R(i,j),G(i,j)a(ブロック内左上),G(i,j)b(ブロック内右下),B(i,j)のように表すものとする。
以下の説明では、Bayer配列の各画素を指定する際には、上記の命名規則に従うものとする。
Bayer配列のRAWデータからRGB画像を作成する場合、一般には、2m×2nの解像度のRAWデータから、2m×2nの解像度のRGB画像を作成する。その際、各画素は1つの色情報しか持たないため、各画素の他の色情報は周りの画素の色情報から補間する。
例えば、図3のR(2,2)の画素におけるG,Bの値を、G=(G(2,1)b+G(2,2)a+G(3,2)a+G(2,2)b)/4、B=(B(2,1)+B(3,1)+B(2,2)+B(3,2))/4のように、周囲4画素の平均値とする方法がある。この場合、B(2,2)の画素におけるR,Gの値も同様に、R=(R(1,2)+R(2,2)+R(1,3)+R(2,3))/4、G=(G(2,2)a+G(1,2)b+G(2,2)b+G(2,3)a)/4と算出できる。G(2,2)aの画素におけるR,Bの値は、R=(R(1,2)+R(2,2))/2、B=(B(2,1)+B(2,2))/2のように周囲の2画素の平均により算出できる。
しかし、デジタルスチルカメラで撮影される画像の解像度は非常に高く、RAWデータの画素補間処理には非常に多くの時間を要する。そこで、RAWデータを扱う装置では、処理の高速化のために様々な工夫がなされている。
例えば、特開平11−215516号公報(特許文献1)では、RAWデータの画素補間の際、ある画素の色を上記のように周囲4画素から補間するのではなく、必ず周囲2画素から平均を求めて補間するようにしている。これにより、参照する画素の数が従来よりも少なくなり、データの読み出しの高速化を実現している。
また、縮小RGB画像の作成を高速化するために、RAWデータの画素補間時に元の4分の1の画素数のRGB画像を直接得る方法がある。この方法を、以下、ハーフデコードと呼ぶ。
従来は、2m×2nの解像度のRAWデータから縮小画像を作成する場合、一度2m×2nの解像度のRGB画像を作成し、そこから縮小画像を作成していた。ハーフデコードでは、図4のように、RAWデータの1ブロックの範囲をRGB画像の1画素とすることで、2m×2nの解像度のRAWデータからm×nの解像度のRGB画像を直接作成し、縮小RGB画像の作成を高速化する。
ハーフデコード時の画素補間方法の例を、図5を用いて説明する。
図5(a)はRAWデータのi列目、j行目のブロックとその周囲8ブロックに含まれる画素配列を表している。図5(c)は図5(a)を補間して得られる縮小RGB画像を表している。図5(b)では、縮小RGB画像のi列目、j行目の画素のR,G,B値を算出する際に参照するRAWデータの画素をハッチングで表している。
縮小RGB画像のi列目、j行目の画素のR値、G値、B値をそれぞれR’(i,j),G’(i,j),B’(i,j)とすると、各値は図5(b)でハッチングで示されている画素を参照し、
R’(i,j)=R(i,j)
G’(i,j)=(G(i,j)a+G(i,j)b)/2
B’(i,j)=B(i,j) …(1)
と算出される。
特開平11−215516号公報
R’(i,j)=R(i,j)
G’(i,j)=(G(i,j)a+G(i,j)b)/2
B’(i,j)=B(i,j) …(1)
と算出される。
しかしながら、上記の従来の方法でハーフデコードを行うと、算出されるR値、G値、B値の重心位置はそれぞれ図6Aの黒点の位置となる。これではR,G,Bの各色で重心位置が異なるため、正しい色を算出しているとは言えず、画像によっては縮小画像の画質が落ちるという問題があった。
したがって、本発明は上述した課題を鑑みてなされたものであり、その目的は、RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成可能とすることである。
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算手段であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算手段を具備することを特徴とする。
また、本発明に係わる画像処理方法は、色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理方法であって、前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算工程であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算工程を具備することを特徴とする。
また、本発明に係わるプログラムは、上記の画像処理方法をコンピュータに実行させることを特徴とする。
また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする。
本発明によれば、RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成することが可能となる。
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
(第1の実施形態)
図1は、本発明の画像処理装置の第1の実施形態の概略構成を示すブロック図である。
図1は、本発明の画像処理装置の第1の実施形態の概略構成を示すブロック図である。
図1において、101はCPUであり、CPU101は画像処理装置1000の全体動作をコントロールし、一次記憶部102に格納されているプログラムの実行などを行う。
102は、主にメモリからなる一次記憶部であり、二次記憶部103に記憶されたプログラムなどを読み込んで格納する。103は、例えばハードディスクなどからなる二次記憶部である。一般に一次記憶部102の容量は二次記憶部103の容量より小さく、一次記憶部102に格納しきれないプログラムやデータなどは二次記憶部103に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部103に格納される。本実施形態では、本実施形態の処理手順を実現するためのプログラムは二次記憶部103に格納されており、プログラム実行時に一次記憶部102に読み込まれ、CPU101が実行処理を行う。
104は、マウスやキーボードなどの入力デバイスである。入力デバイス104は、プログラムなどに割り込み信号を送ったりするために用いられる。
105は、モニタやプリンタなどの出力デバイスである。
106は読込デバイスであり、読込デバイス106は、公知のCCDなどの撮像素子を用いた撮像装置で撮像された画像を、直接又は間接的に一次記憶部102や二次記憶部103へ読み込む。
本実施形態では、撮像装置で撮像された画像のRAWデータが画像処理装置1000に読み込まれるものとする。そして、本実施形態は、RAWデータから縮小RGB画像を作成する場合に、元の4分の1の画素数のRGB画像を直接得るハーフデコードを行なう処理に関するものである。
以下、本実施形態におけるハーフデコードの方法について、図6及び図7を用いて説明する。
図7(a)はRAWデータのi列目、j行目のブロックとその周囲8ブロックに含まれる画素配列を表している。図7(c)は図7(a)の画素配列を補間して得られる縮小RGB画像を表している。図7(b)では、縮小RGB画像のi列目、j行目の画素のR値、G値、B値を算出する際に参照する、RAWデータの画素をハッチングで表している。
本実施形態では、縮小RGB画像のi列目、j行目の画素のR値、G値、B値をそれぞれR’(i,j),G’(i,j),B’(i,j)とすると、各値は図7(b)においてハッチングで示されている画素を参照し、バイリニア法を用いて、
R’(i,j)=(3R(i-1,j)+9R(i,j)+R(i-1,j+1)+3R(i,j+1))/16
G’(i,j)=(G(i,j)a+G(i,j)b)/2
B’(i,j)=(3B(i,j-1)+B(i+1,j-1)+9B(i,j)+3B(i+1,j))/16
…(2)
と算出できる。
R’(i,j)=(3R(i-1,j)+9R(i,j)+R(i-1,j+1)+3R(i,j+1))/16
G’(i,j)=(G(i,j)a+G(i,j)b)/2
B’(i,j)=(3B(i,j-1)+B(i+1,j-1)+9B(i,j)+3B(i+1,j))/16
…(2)
と算出できる。
これにより、R’(i,j),G’(i,j),B’(i,j)の重心位置を、図6Bに黒丸で示すように、一致させることができる。
ただし、i=0,j=0の場合など、RAWデータの図7(b)においてハッチングで示されている画素全てが参照できない場合がある。その場合は、参照できる画素のみから、R’(i,j),G’(i,j),B’(i,j)を求める。
例えば、縮小RGB画像の0列目、0行目の画素のR,G,B値R’(0,0),G’(0,0),B’(0,0)を求める際、図7(b)においてハッチングで示されている画素全てを用いることはできず、R’(0,0)はR(0,0),R(0,1)から、B’(0,0)はB(0,0),B(1,0)から求めることになる。すなわち、
R’(0,0)=(3R(0,0)+R(0,1))/4
G’(0,0)=(G(0,0)a+G(0,0)b)/2
B’(0,0)=(3B(0,0)+B(1,0))/4 …(3)
と算出する。
R’(0,0)=(3R(0,0)+R(0,1))/4
G’(0,0)=(G(0,0)a+G(0,0)b)/2
B’(0,0)=(3B(0,0)+B(1,0))/4 …(3)
と算出する。
同様に、m×nの縮小RGB画像を作成する場合、0<i<m、j=0の画素のR,G,B値R’(i,0),G’(i,0),B’(i,0)については、B’(i,0)はB(i,0),B(i+1,0)から求めることになる。すなわち、
R’(i,0)=(3R(i-1,0)+9R(i,0)+R(i-1,1)+3R(i,1))/16
G’(i,0)=(G(i,0)a+G(i,0)b)/2
B’(i,0)=(3B(i,0)+B(i+1,0))/4 …(4)
と算出する。
R’(i,0)=(3R(i-1,0)+9R(i,0)+R(i-1,1)+3R(i,1))/16
G’(i,0)=(G(i,0)a+G(i,0)b)/2
B’(i,0)=(3B(i,0)+B(i+1,0))/4 …(4)
と算出する。
i=m、j=0における画素のR,G,B値R’(m,0),G’(m,0),B’(m,0)については、B’(m,0)はB(m,0)をそのまま用いることになる。すなわち、
R’(m,0)=(3R(m-1,0)+9R(m,0)+R(m-1,1)+3R(m,1))/16
G’(m,0)=(G(m,0)a+G(m,0)b)/2
B’(m,0)=B(m,0) …(5)
と算出する。
R’(m,0)=(3R(m-1,0)+9R(m,0)+R(m-1,1)+3R(m,1))/16
G’(m,0)=(G(m,0)a+G(m,0)b)/2
B’(m,0)=B(m,0) …(5)
と算出する。
i=0, 0<j<nにおける画素のR,G,B値R’(0,j),G’(0,j),B’(0,j)については、R’(0,j)はR(0,j),R(0,j+1)から求めることになる。すなわち、
R’(0,j)=(3R(0,j)+R(0,j+1))/4
G’(0,j)=(G(0,j)a+G(0,j)b)/2
B’(0,j)=(3B(0,j-1)+B(1,j-1)+9B(0,j)+3B(1,j))/16 …(6)
と算出する。
R’(0,j)=(3R(0,j)+R(0,j+1))/4
G’(0,j)=(G(0,j)a+G(0,j)b)/2
B’(0,j)=(3B(0,j-1)+B(1,j-1)+9B(0,j)+3B(1,j))/16 …(6)
と算出する。
i=m,0<j<nにおける画素のR,G,B値R’(m,j),G’(m,j),B’(m,j)については、B’(m,j)はB(m,j-1),B(m,j)から求めることになる。すなわち、
R’(m,j)=(3R(m-1,j)+9R(m,j)+R(m-1,j+1)+3R(m,j+1))/16
G’(m,j)=(G(m,j)a+G(m,j)b)/2
B’(m,j)=(3B(m,j)+B(m,j-1))/4 …(7)
と算出する。
R’(m,j)=(3R(m-1,j)+9R(m,j)+R(m-1,j+1)+3R(m,j+1))/16
G’(m,j)=(G(m,j)a+G(m,j)b)/2
B’(m,j)=(3B(m,j)+B(m,j-1))/4 …(7)
と算出する。
i=0,j=nにおける画素のR,G,B値R’(0,n),G’(0,n),B’(0,n)については、R’(0,n)はR(0,n)をそのまま用いることになる。すなわち、
R’(0,n)=R(0,n)
G’(0,n)=(G(0,n)a+G(0,n)b)/2
B’(0,n)=(3B(0,n-1)+B(1,n-1)+9B(0,n)+3B(1,n))/16 …(8)
と算出する。
R’(0,n)=R(0,n)
G’(0,n)=(G(0,n)a+G(0,n)b)/2
B’(0,n)=(3B(0,n-1)+B(1,n-1)+9B(0,n)+3B(1,n))/16 …(8)
と算出する。
0<i<m,j=nにおける画素のR,G,B値R’(i,n),G’(i,n),B’(i,n)については、R’(i,n)はR(i-1,n),R(i,n)から求めることになる。すなわち、
R’(i,n)=(R(i-1,n)+3R(i,n))/4
G’(i,n)=(G(i,n)a+G(i,n)b)/2
B’(i,n)=(3B(i,n-1)+B(i+1,n-1)+9B(i,n)+3B(i+1,n))/16
…(9)
と算出する。
R’(i,n)=(R(i-1,n)+3R(i,n))/4
G’(i,n)=(G(i,n)a+G(i,n)b)/2
B’(i,n)=(3B(i,n-1)+B(i+1,n-1)+9B(i,n)+3B(i+1,n))/16
…(9)
と算出する。
i=m,j=nにおける画素のR,G,B値R’(m,n),G’(m,n),B’(m,n)については、R’(m,n)はR(m,n),R(m-1,n)から、B’(m,n)はB(m,n),B(m,n-1)から求めることになる。すなわち、
R’(m,n)=(3R(m,n)+R(m-1,n))/4
G’(m,n)=(G(m,n)a+G(m,n)b)/2
B’(m,n)=(3B(m,n)+B(m,n-1))/4 …(10)
と算出する。
R’(m,n)=(3R(m,n)+R(m-1,n))/4
G’(m,n)=(G(m,n)a+G(m,n)b)/2
B’(m,n)=(3B(m,n)+B(m,n-1))/4 …(10)
と算出する。
なお、R’(i,j),G’(i,j),B’(i,j)を算出するために、必ずしも図7(b)においてハッチングで示されている画素を使わなくても良い。
続いて、図8を用いて本実施形態の補間動作について説明する。
図8は、2m×2nのRAWデータを補間し、m×nの縮小RGB画像を作成する手順を示すフローチャートである。
ステップS801において、m×nの縮小RGB画像を保存するための領域を、一次記憶部102に確保する。この領域を、領域2とする。
ステップS802において、2m×2nのRAWデータと同じ大きさの領域を、一次記憶部102に確保する。この領域を、領域1とする。
ステップS803において、ステップS802で確保した領域1に、補間対象となる2m×2nのRAWデータをコピーする。なお、RAWデータは、二次記憶部103に保存されているものを読み込むか、読込デバイス106から直接読み込む。
ステップS804において、変数jに1を代入する。
ステップS805において、変数iに1を代入する。
ステップS806において、領域1におけるi列目、j行目の画素のR,G,B値をR1(i,j),G1(i,j),B1(i,j)、領域2におけるi列目、j行目の画素のR,G,B値をR2(i,j),G2(i,j),B2(i,j)とし、R2(i,j),G2(i,j),B2(i,j)を、前述した計算式(2)〜(10)を用いて求める。なお、R1(i,j),G1(i,j),B1(i,j)は、式(1)〜(10)のR(i,j),G(i,j),B(i,j)に対応し、R2(i,j),G2(i,j),B2(i,j)は、R’(i,j),G’(i,j),B’(i,j)に対応する。
ステップS807において、変数iに1を加算する。
ステップS808において、変数iとmを比較する。i≦mである場合、ステップS806へ進む。i>mである場合、ステップS809へ進む。
ステップS809において、変数jに1を加算する。
ステップS810において、変数jとnを比較する。j≦nである場合、ステップS805へ進む。j>nである場合、処理を終了する。
以上の処理により、RAWデータをハーフデコードして、各画素のR値,G値,B値の重心位置が一致した縮小RGB画像を作成することが可能となる。
(第2の実施形態)
第1の実施形態では、図8のステップS802、ステップS803において、補間対象となる2m×2nのRAWデータと同じ大きさの領域を一次記憶部102に確保した。しかし、一度に全範囲をコピーするための領域を確保しなくても良い。例えば、3ブロック行(2m×6画素)分の領域のみを一次記憶部102に確保しておき、必要に応じて必要な分を二次記憶部103から読み込んできても良い。その場合における、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成する手順について、図9のフローチャートを用いて説明する。
第1の実施形態では、図8のステップS802、ステップS803において、補間対象となる2m×2nのRAWデータと同じ大きさの領域を一次記憶部102に確保した。しかし、一度に全範囲をコピーするための領域を確保しなくても良い。例えば、3ブロック行(2m×6画素)分の領域のみを一次記憶部102に確保しておき、必要に応じて必要な分を二次記憶部103から読み込んできても良い。その場合における、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成する手順について、図9のフローチャートを用いて説明する。
ステップS901において、m×nの縮小RGB画像を保存するための領域を、一次記憶部102に確保する。この領域を、領域2とする。
ステップS902において、変数jに1を代入する。
ステップS903において、3ブロック行(2m×6画素)分の領域を、一次記憶部102に確保する。この領域を、領域1とする。
ステップS904において、ステップS903で確保した領域1に、補間対象となる2m×2nのRAWデータの、0,1,2ブロック行をコピーする。なお、RAWデータは、二次記憶部103に保存されているものを読み込むか、読込デバイス106から直接読み込む。
ステップS905において、jの値が2より大きく、n−1より小さいかどうかを判定する。2<j<n−1の場合は、ステップS906へ進む。j≦2、又はn−1≦jの場合は、ステップS907へ進む。
ステップS906において、画素領域1に保存されている、j−1ブロック行目のRAWデータを破棄する。その後、j+2ブロック行目のRAWデータを一次記憶部102にコピーする。
ステップS907〜ステップS911は、図8のステップS805〜ステップS809と同一の処理を行う。
ステップS912において、変数jとnを比較する。j≦nである場合、ステップS905へ進む。j>nである場合、処理を終了する。
RAWデータのデータ量は一般に非常に大きく、その全範囲分の領域を一度に確保すると、一次記憶部102内の多くの領域が占有され、他の処理に影響を及ぼすことがある。本実施形態による方法を用いることで、第1の実施形態の場合に比べて、必要とされる一次記憶部102の領域を節約することができる。
(第3の実施形態)
上記の第1及び第2の実施形態では、縮小RGB画像のi列目、j行目の画素のR,G,B値は図7(b)においてハッチングで示されている画素を参照して、バイリニア法を用いて求めたが、他の方法を用いて求めても良い。
上記の第1及び第2の実施形態では、縮小RGB画像のi列目、j行目の画素のR,G,B値は図7(b)においてハッチングで示されている画素を参照して、バイリニア法を用いて求めたが、他の方法を用いて求めても良い。
例えばバイキュービック法を用いる場合、縮小RGB画像のi列目、j行目の画素のR,G,B値をそれぞれR’(i,j),G’(i,j),B’(i,j)とすると、各値は図10においてハッチングで示されている画素を参照し、
R’(i,j)=(27R(i-2,j-1)−171R(i-1,j-1)−513R(i,j-1)+
81R(i+1,j-1)−171R(i-2,j)+1083R(i-1,j)+3249R(i,j)−
513R(i+1,j)−57R(i-2,j+1)+361R(i-1,j+1)+1083R(i,j+1)−
171R(i+1,j+1)+9R(i-2,j+2)−57R(i-1,j+2)−171R(i,j+2)+
27R(i+1,j+2))/4096
G’(i,j)=(3G(i-2,j-1)b−19G(i-1,j-1)b−57G(i,j-1)b+
9G(i+1,j-1)b−45G(i-1,j)a+285G(i,j)a+95G(i+1,j)a−
15G(i+2,j)a−15G(i-2,j)b+95G(i-1,j)b+285G(i,j)b−
45G(i+1,j)b+9G(i-1,j+1)a−57G(i,j+1)a−19G(i+1,j+1)a+
3G(i+1,j+1)a)/512
B’(i,j)=(27B(i-1,j-2)−171B(i,j-2)−57B(i+1,j-2)+
9B(i+2,j-2)−171B(i-1,j-1)+1083B(i,j-1)+361B(i+1,j-1)−
57B(i+2,j-1)−513B(i-1,j)+3249B(i,j)+1083B(i+1,j)−
171B(i+2,j)+81B(i-1,j+1)−513B(i,j+1)−171B(i+1,j+1)+
27B(i+2,j+1))/4096
…(2)’
と算出できる。
R’(i,j)=(27R(i-2,j-1)−171R(i-1,j-1)−513R(i,j-1)+
81R(i+1,j-1)−171R(i-2,j)+1083R(i-1,j)+3249R(i,j)−
513R(i+1,j)−57R(i-2,j+1)+361R(i-1,j+1)+1083R(i,j+1)−
171R(i+1,j+1)+9R(i-2,j+2)−57R(i-1,j+2)−171R(i,j+2)+
27R(i+1,j+2))/4096
G’(i,j)=(3G(i-2,j-1)b−19G(i-1,j-1)b−57G(i,j-1)b+
9G(i+1,j-1)b−45G(i-1,j)a+285G(i,j)a+95G(i+1,j)a−
15G(i+2,j)a−15G(i-2,j)b+95G(i-1,j)b+285G(i,j)b−
45G(i+1,j)b+9G(i-1,j+1)a−57G(i,j+1)a−19G(i+1,j+1)a+
3G(i+1,j+1)a)/512
B’(i,j)=(27B(i-1,j-2)−171B(i,j-2)−57B(i+1,j-2)+
9B(i+2,j-2)−171B(i-1,j-1)+1083B(i,j-1)+361B(i+1,j-1)−
57B(i+2,j-1)−513B(i-1,j)+3249B(i,j)+1083B(i+1,j)−
171B(i+2,j)+81B(i-1,j+1)−513B(i,j+1)−171B(i+1,j+1)+
27B(i+2,j+1))/4096
…(2)’
と算出できる。
なお、R’(i,j),G’(i,j),B’(i,j)の値は、0〜255の間に収まるようにクリッピングする。
(第4の実施形態)
上記の第1乃至第3の実施形態では、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成するまでの処理に関してのみ言及している。しかし、その後、作成した縮小RGB画像にフィルター処理を施して画質の向上を図っても良い。
上記の第1乃至第3の実施形態では、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成するまでの処理に関してのみ言及している。しかし、その後、作成した縮小RGB画像にフィルター処理を施して画質の向上を図っても良い。
フィルター処理は、例えば、偽色を低減するために用いるメディアンフィルターがある。偽色とは、RAWデータを補間してRGB画像を生成する際に、実際に無い色がノイズとして出るものを言う。2m×2nのRAWデータから作成したm×nの縮小RGB画像(図11B)に対して3×3のメディアンフィルターをかけることで、2m×2nのRAWデータから作成した2m×2n のRGB画像(図11A)に対して6×6のメディアンフィルターをかけた後にm×nの縮小RGB画像を作成するのと同程度の効果を得ることができる。
なお、上記の第1乃至第4の実施形態では、縮小画像をRAWデータの1/4の画素数で構成する場合について説明したが、本発明は1/4の画素数に限定されるものではなく、縮小画像がRAWデータの1/(4n)(nは1以上の整数)の画素数で構成される場合にも適用可能である。
以上説明したように、上記の第1乃至第4の実施形態によれば、2m×2nのRAWデータをハーフデコードしてm×nの縮小RGB画像を作成する場合において、縮小RGB画像の各画素のR,G,B値の重心位置を同一にすることが可能となる。これにより、従来のハーフデコード方法と比べて、より正確な色の縮小RGB画像を得ることができる。
更に、作成された縮小RGB画像に対してフィルター処理を施すことで、フル解像度の画像にフィルター処理を施してから縮小画像を生成する場合と比べて、処理を格段に高速化することができる。
(他の実施形態)
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
101 CPU
102 一次記憶部
103 二次記憶部
104 入力デバイス
105 出力デバイス
106 読込デバイス
102 一次記憶部
103 二次記憶部
104 入力デバイス
105 出力デバイス
106 読込デバイス
Claims (10)
- 色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、
前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算手段であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算手段を具備することを特徴とする画像処理装置。 - 前記縮小画像の画素数が、前記原画像の画素数の1/(4n)(nは1以上の整数)であることを特徴とする請求項1に記載の画像処理装置。
- 前記色配列がベイヤー配列であることを特徴とする請求項1に記載の画像処理装置。
- 前記縮小画像にフィルター処理を行なうフィルター手段を更に具備することを特徴とする請求項1に記載の画像処理装置。
- 色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理方法であって、
前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算工程であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算工程を具備することを特徴とする画像処理方法。 - 前記縮小画像の画素数が、前記原画像の画素数の1/(4n)(nは1以上の整数)であることを特徴とする請求項5に記載の画像処理方法。
- 前記色配列がベイヤー配列であることを特徴とする請求項5に記載の画像処理方法。
- 前記縮小画像にフィルター処理を行なうフィルター工程を更に具備することを特徴とする請求項5に記載の画像処理方法。
- 請求項5乃至8のいずれか1項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
- 請求項9に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005182519A JP2007006038A (ja) | 2005-06-22 | 2005-06-22 | 画像処理装置及び画像処理方法及びプログラム及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005182519A JP2007006038A (ja) | 2005-06-22 | 2005-06-22 | 画像処理装置及び画像処理方法及びプログラム及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007006038A true JP2007006038A (ja) | 2007-01-11 |
Family
ID=37691228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005182519A Withdrawn JP2007006038A (ja) | 2005-06-22 | 2005-06-22 | 画像処理装置及び画像処理方法及びプログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007006038A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007159141A (ja) * | 2005-12-07 | 2007-06-21 | Olypmus Soft Imaging Solutions Gmbh | 色補正計算方法 |
JP2008199177A (ja) * | 2007-02-09 | 2008-08-28 | Olympus Imaging Corp | 画像処理装置およびその方法と電子カメラ |
WO2015137144A1 (ja) * | 2014-03-13 | 2015-09-17 | オリンパス株式会社 | 固体撮像素子 |
US11895401B2 (en) | 2020-11-18 | 2024-02-06 | Samsung Electronics Co., Ltd | Camera module for high resolution auto focusing and electronic device including same |
-
2005
- 2005-06-22 JP JP2005182519A patent/JP2007006038A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007159141A (ja) * | 2005-12-07 | 2007-06-21 | Olypmus Soft Imaging Solutions Gmbh | 色補正計算方法 |
JP2008199177A (ja) * | 2007-02-09 | 2008-08-28 | Olympus Imaging Corp | 画像処理装置およびその方法と電子カメラ |
US8107775B2 (en) | 2007-02-09 | 2012-01-31 | Olympus Imaging Corp | Image processing apparatus and method, and electronic camera |
WO2015137144A1 (ja) * | 2014-03-13 | 2015-09-17 | オリンパス株式会社 | 固体撮像素子 |
JP2015177243A (ja) * | 2014-03-13 | 2015-10-05 | オリンパス株式会社 | 固体撮像素子 |
US9877005B2 (en) | 2014-03-13 | 2018-01-23 | Olympus Corporation | Solid-state image-capturing device which reduces number of signal channels |
US11895401B2 (en) | 2020-11-18 | 2024-02-06 | Samsung Electronics Co., Ltd | Camera module for high resolution auto focusing and electronic device including same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5053654B2 (ja) | 画像処理装置およびその方法と電子カメラ | |
JP5687608B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
JP5474258B2 (ja) | 撮像装置及び撮像プログラム | |
US20120050309A1 (en) | Display control apparatus and display control method | |
JP4796871B2 (ja) | 撮像装置 | |
US20110310302A1 (en) | Image processing apparatus, image processing method, and program | |
WO2020177407A1 (zh) | 图像传感器、成像装置、电子设备、图像处理系统及信号处理方法 | |
CN105323423A (zh) | 图像处理方法、图像处理装置及摄像装置 | |
JP2009164778A (ja) | 撮像装置 | |
JP5254030B2 (ja) | ディジタル処理手段にデータを提供する方法 | |
JP2007006038A (ja) | 画像処理装置及び画像処理方法及びプログラム及び記憶媒体 | |
JP6732440B2 (ja) | 画像処理装置、画像処理方法、及びそのプログラム | |
JP2009027422A (ja) | 電子ズーム装置 | |
JP6270423B2 (ja) | 画像処理装置およびその制御方法 | |
WO2014156669A1 (ja) | 画像処理装置および画像処理方法 | |
CN108881731A (zh) | 全景拍摄方法、装置和成像设备 | |
JP2010074826A (ja) | 撮像装置および画像処理プログラム | |
JP7023412B2 (ja) | 撮像素子、撮像装置、撮像素子の作動方法、及びプログラム | |
JP6557451B2 (ja) | 撮像装置およびその制御方法ならびにプログラム | |
JP7183015B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP2017201749A (ja) | 画像処理装置およびその制御方法 | |
JP5884604B2 (ja) | 画像記録装置、撮像装置、画像記録プログラム、および画像表示プログラム | |
JP2005197910A (ja) | 動画中の特定シーンの静止画の生成 | |
JP5090899B2 (ja) | 撮像装置 | |
JP6521763B2 (ja) | 画像処理装置、撮像装置、画像処理方法、プログラム、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080902 |