米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> キヤノン株式会社

発明の名称 画像処理装置及び画像処理方法及びプログラム及び記憶媒体
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−6038(P2007−6038A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−182519(P2005−182519)
出願日 平成17年6月22日(2005.6.22)
代理人 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
発明者 松木 直紀 / 小谷 拓矢 / 山本 邦浩
要約 課題
RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成可能とする。

解決手段
色配列の周期性が異なる複数色の画素列からなる原画像から、原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、縮小画像の各1つの画素について、各1つの画素に対応する位置及びその周辺に位置する原画像の複数色の画素の画素情報を合成して、複数色の色情報を有する各1つの画素の画素情報を演算する演算部であって、縮小画像の各1つの画素において複数色の色情報の重心が略一致するように、原画像の複数色の画素の画素情報を合成する演算部を具備する。
特許請求の範囲
【請求項1】
色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、
前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算手段であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算手段を具備することを特徴とする画像処理装置。
【請求項2】
前記縮小画像の画素数が、前記原画像の画素数の1/(4n)(nは1以上の整数)であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記色配列がベイヤー配列であることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記縮小画像にフィルター処理を行なうフィルター手段を更に具備することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理方法であって、
前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算工程であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算工程を具備することを特徴とする画像処理方法。
【請求項6】
前記縮小画像の画素数が、前記原画像の画素数の1/(4n)(nは1以上の整数)であることを特徴とする請求項5に記載の画像処理方法。
【請求項7】
前記色配列がベイヤー配列であることを特徴とする請求項5に記載の画像処理方法。
【請求項8】
前記縮小画像にフィルター処理を行なうフィルター工程を更に具備することを特徴とする請求項5に記載の画像処理方法。
【請求項9】
請求項5乃至8のいずれか1項に記載の画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
発明の詳細な説明
【技術分野】
【0001】
本発明は、例えばデジタルカメラにより撮影して得られたデジタル画像データを処理する画像処理技術に関するものである。
【背景技術】
【0002】
デジタルスチルカメラなどの撮像装置では、被写体光学像をCMOS撮像素子、CCD等により光電変換し、得られた撮影画像信号をデジタルデータに変換してRAWデータとして保存する場合がある。この場合、このRAWデータを画像処理装置に移し、画像処理装置においてRAWデータに対して色補間、ガンマ補正処理、ホワイトバランス調整処理などを施し、ディスプレイなどに表示する画像を作成する。
【0003】
ここで、CCD等の撮像素子は、R(赤),G(緑),B(青)の各色の光を受光する画素が規則的に並べられたものであり、そのため、RAWデータに保存されるデジタルデータも同様の並びとなる。この並び方の規則として、例えばR,G,Bの各色が図2のように並んだBayer配列(ベイヤー配列)が知られている。
【0004】
ここで、本願の背景技術の説明及び後述する実施形態の説明に共通して用いられるBayer配列の各画素の命名規則について、図3を参照して説明する。
【0005】
図3のような2次元配列において、行、列はそれぞれ左上を原点として、右方向に1,2,…,2m列目、下方向に1,2,…,2n行目と数えるものとする。
【0006】
Bayer配列を2行ずつ,2列ずつで分割した場合の、各2×2の画素の固まりをブロックと呼ぶ。また、ブロックを一単位とした配列をブロック配列と呼ぶ。すなわち、2m×2nの画素を持つBayer配列は、m×nのブロック配列となる。Bayer配列の行、列をそれぞれ画素行、画素列と呼び、ブロック配列の行、列をそれぞれブロック行、ブロック列と呼ぶものとする。i列目のブロック列には2i−1,2i列目の画素列が、j行目のブロック行には2j−1,2j行目の画素行が含まれる。
【0007】
i列目、j行目のブロックに含まれる4画素は、R(i,j),G(i,j)a(ブロック内左上),G(i,j)b(ブロック内右下),B(i,j)のように表すものとする。
【0008】
以下の説明では、Bayer配列の各画素を指定する際には、上記の命名規則に従うものとする。
【0009】
Bayer配列のRAWデータからRGB画像を作成する場合、一般には、2m×2nの解像度のRAWデータから、2m×2nの解像度のRGB画像を作成する。その際、各画素は1つの色情報しか持たないため、各画素の他の色情報は周りの画素の色情報から補間する。
【0010】
例えば、図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画素の平均により算出できる。
【0011】
しかし、デジタルスチルカメラで撮影される画像の解像度は非常に高く、RAWデータの画素補間処理には非常に多くの時間を要する。そこで、RAWデータを扱う装置では、処理の高速化のために様々な工夫がなされている。
【0012】
例えば、特開平11−215516号公報(特許文献1)では、RAWデータの画素補間の際、ある画素の色を上記のように周囲4画素から補間するのではなく、必ず周囲2画素から平均を求めて補間するようにしている。これにより、参照する画素の数が従来よりも少なくなり、データの読み出しの高速化を実現している。
【0013】
また、縮小RGB画像の作成を高速化するために、RAWデータの画素補間時に元の4分の1の画素数のRGB画像を直接得る方法がある。この方法を、以下、ハーフデコードと呼ぶ。
【0014】
従来は、2m×2nの解像度のRAWデータから縮小画像を作成する場合、一度2m×2nの解像度のRGB画像を作成し、そこから縮小画像を作成していた。ハーフデコードでは、図4のように、RAWデータの1ブロックの範囲をRGB画像の1画素とすることで、2m×2nの解像度のRAWデータからm×nの解像度のRGB画像を直接作成し、縮小RGB画像の作成を高速化する。
【0015】
ハーフデコード時の画素補間方法の例を、図5を用いて説明する。
【0016】
図5(a)はRAWデータのi列目、j行目のブロックとその周囲8ブロックに含まれる画素配列を表している。図5(c)は図5(a)を補間して得られる縮小RGB画像を表している。図5(b)では、縮小RGB画像のi列目、j行目の画素のR,G,B値を算出する際に参照するRAWデータの画素をハッチングで表している。
【0017】
縮小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)
と算出される。
【特許文献1】特開平11−215516号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
しかしながら、上記の従来の方法でハーフデコードを行うと、算出されるR値、G値、B値の重心位置はそれぞれ図6Aの黒点の位置となる。これではR,G,Bの各色で重心位置が異なるため、正しい色を算出しているとは言えず、画像によっては縮小画像の画質が落ちるという問題があった。
【0019】
したがって、本発明は上述した課題を鑑みてなされたものであり、その目的は、RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成可能とすることである。
【課題を解決するための手段】
【0020】
上述した課題を解決し、目的を達成するために、本発明に係わる画像処理装置は、色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理装置であって、前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算手段であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算手段を具備することを特徴とする。
【0021】
また、本発明に係わる画像処理方法は、色配列の周期性が異なる複数色の画素列からなる原画像から、該原画像よりも画素数の少ない画素列からなる縮小画像を生成する画像処理方法であって、前記縮小画像の各1つの画素について、該各1つの画素に対応する位置及びその周辺に位置する前記原画像の複数色の画素の画素情報を合成して、前記複数色の色情報を有する前記各1つの画素の画素情報を演算する演算工程であって、前記縮小画像の前記各1つの画素において前記複数色の色情報の重心が略一致するように、前記原画像の複数色の画素の画素情報を合成する演算工程を具備することを特徴とする。
【0022】
また、本発明に係わるプログラムは、上記の画像処理方法をコンピュータに実行させることを特徴とする。
【0023】
また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする。
【発明の効果】
【0024】
本発明によれば、RAWデータをハーフデコードして縮小RGB画像を作成する際に、より高画質な縮小RGB画像を作成することが可能となる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
【0026】
(第1の実施形態)
図1は、本発明の画像処理装置の第1の実施形態の概略構成を示すブロック図である。
【0027】
図1において、101はCPUであり、CPU101は画像処理装置1000の全体動作をコントロールし、一次記憶部102に格納されているプログラムの実行などを行う。
【0028】
102は、主にメモリからなる一次記憶部であり、二次記憶部103に記憶されたプログラムなどを読み込んで格納する。103は、例えばハードディスクなどからなる二次記憶部である。一般に一次記憶部102の容量は二次記憶部103の容量より小さく、一次記憶部102に格納しきれないプログラムやデータなどは二次記憶部103に格納される。また、長時間記憶しなくてはならないデータなども二次記憶部103に格納される。本実施形態では、本実施形態の処理手順を実現するためのプログラムは二次記憶部103に格納されており、プログラム実行時に一次記憶部102に読み込まれ、CPU101が実行処理を行う。
【0029】
104は、マウスやキーボードなどの入力デバイスである。入力デバイス104は、プログラムなどに割り込み信号を送ったりするために用いられる。
【0030】
105は、モニタやプリンタなどの出力デバイスである。
【0031】
106は読込デバイスであり、読込デバイス106は、公知のCCDなどの撮像素子を用いた撮像装置で撮像された画像を、直接又は間接的に一次記憶部102や二次記憶部103へ読み込む。
【0032】
本実施形態では、撮像装置で撮像された画像のRAWデータが画像処理装置1000に読み込まれるものとする。そして、本実施形態は、RAWデータから縮小RGB画像を作成する場合に、元の4分の1の画素数のRGB画像を直接得るハーフデコードを行なう処理に関するものである。
【0033】
以下、本実施形態におけるハーフデコードの方法について、図6及び図7を用いて説明する。
【0034】
図7(a)はRAWデータのi列目、j行目のブロックとその周囲8ブロックに含まれる画素配列を表している。図7(c)は図7(a)の画素配列を補間して得られる縮小RGB画像を表している。図7(b)では、縮小RGB画像のi列目、j行目の画素のR値、G値、B値を算出する際に参照する、RAWデータの画素をハッチングで表している。
【0035】
本実施形態では、縮小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)
と算出できる。
【0036】
これにより、R’(i,j),G’(i,j),B’(i,j)の重心位置を、図6Bに黒丸で示すように、一致させることができる。
【0037】
ただし、i=0,j=0の場合など、RAWデータの図7(b)においてハッチングで示されている画素全てが参照できない場合がある。その場合は、参照できる画素のみから、R’(i,j),G’(i,j),B’(i,j)を求める。
【0038】
例えば、縮小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)
と算出する。
【0039】
同様に、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)
と算出する。
【0040】
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)
と算出する。
【0041】
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)
と算出する。
【0042】
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)
と算出する。
【0043】
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)
と算出する。
【0044】
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)
と算出する。
【0045】
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)
と算出する。
【0046】
なお、R’(i,j),G’(i,j),B’(i,j)を算出するために、必ずしも図7(b)においてハッチングで示されている画素を使わなくても良い。
【0047】
続いて、図8を用いて本実施形態の補間動作について説明する。
【0048】
図8は、2m×2nのRAWデータを補間し、m×nの縮小RGB画像を作成する手順を示すフローチャートである。
【0049】
ステップS801において、m×nの縮小RGB画像を保存するための領域を、一次記憶部102に確保する。この領域を、領域2とする。
【0050】
ステップS802において、2m×2nのRAWデータと同じ大きさの領域を、一次記憶部102に確保する。この領域を、領域1とする。
【0051】
ステップS803において、ステップS802で確保した領域1に、補間対象となる2m×2nのRAWデータをコピーする。なお、RAWデータは、二次記憶部103に保存されているものを読み込むか、読込デバイス106から直接読み込む。
【0052】
ステップS804において、変数jに1を代入する。
【0053】
ステップS805において、変数iに1を代入する。
【0054】
ステップ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)に対応する。
【0055】
ステップS807において、変数iに1を加算する。
【0056】
ステップS808において、変数iとmを比較する。i≦mである場合、ステップS806へ進む。i>mである場合、ステップS809へ進む。
【0057】
ステップS809において、変数jに1を加算する。
【0058】
ステップS810において、変数jとnを比較する。j≦nである場合、ステップS805へ進む。j>nである場合、処理を終了する。
【0059】
以上の処理により、RAWデータをハーフデコードして、各画素のR値,G値,B値の重心位置が一致した縮小RGB画像を作成することが可能となる。
【0060】
(第2の実施形態)
第1の実施形態では、図8のステップS802、ステップS803において、補間対象となる2m×2nのRAWデータと同じ大きさの領域を一次記憶部102に確保した。しかし、一度に全範囲をコピーするための領域を確保しなくても良い。例えば、3ブロック行(2m×6画素)分の領域のみを一次記憶部102に確保しておき、必要に応じて必要な分を二次記憶部103から読み込んできても良い。その場合における、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成する手順について、図9のフローチャートを用いて説明する。
【0061】
ステップS901において、m×nの縮小RGB画像を保存するための領域を、一次記憶部102に確保する。この領域を、領域2とする。
【0062】
ステップS902において、変数jに1を代入する。
【0063】
ステップS903において、3ブロック行(2m×6画素)分の領域を、一次記憶部102に確保する。この領域を、領域1とする。
【0064】
ステップS904において、ステップS903で確保した領域1に、補間対象となる2m×2nのRAWデータの、0,1,2ブロック行をコピーする。なお、RAWデータは、二次記憶部103に保存されているものを読み込むか、読込デバイス106から直接読み込む。
【0065】
ステップS905において、jの値が2より大きく、n−1より小さいかどうかを判定する。2<j<n−1の場合は、ステップS906へ進む。j≦2、又はn−1≦jの場合は、ステップS907へ進む。
【0066】
ステップS906において、画素領域1に保存されている、j−1ブロック行目のRAWデータを破棄する。その後、j+2ブロック行目のRAWデータを一次記憶部102にコピーする。
【0067】
ステップS907〜ステップS911は、図8のステップS805〜ステップS809と同一の処理を行う。
【0068】
ステップS912において、変数jとnを比較する。j≦nである場合、ステップS905へ進む。j>nである場合、処理を終了する。
【0069】
RAWデータのデータ量は一般に非常に大きく、その全範囲分の領域を一度に確保すると、一次記憶部102内の多くの領域が占有され、他の処理に影響を及ぼすことがある。本実施形態による方法を用いることで、第1の実施形態の場合に比べて、必要とされる一次記憶部102の領域を節約することができる。
【0070】
(第3の実施形態)
上記の第1及び第2の実施形態では、縮小RGB画像のi列目、j行目の画素のR,G,B値は図7(b)においてハッチングで示されている画素を参照して、バイリニア法を用いて求めたが、他の方法を用いて求めても良い。
【0071】
例えばバイキュービック法を用いる場合、縮小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)’
と算出できる。
【0072】
なお、R’(i,j),G’(i,j),B’(i,j)の値は、0〜255の間に収まるようにクリッピングする。
【0073】
(第4の実施形態)
上記の第1乃至第3の実施形態では、2m×2nのRAWデータを補間してm×nの縮小RGB画像を作成するまでの処理に関してのみ言及している。しかし、その後、作成した縮小RGB画像にフィルター処理を施して画質の向上を図っても良い。
【0074】
フィルター処理は、例えば、偽色を低減するために用いるメディアンフィルターがある。偽色とは、RAWデータを補間してRGB画像を生成する際に、実際に無い色がノイズとして出るものを言う。2m×2nのRAWデータから作成したm×nの縮小RGB画像(図11B)に対して3×3のメディアンフィルターをかけることで、2m×2nのRAWデータから作成した2m×2n のRGB画像(図11A)に対して6×6のメディアンフィルターをかけた後にm×nの縮小RGB画像を作成するのと同程度の効果を得ることができる。
【0075】
なお、上記の第1乃至第4の実施形態では、縮小画像をRAWデータの1/4の画素数で構成する場合について説明したが、本発明は1/4の画素数に限定されるものではなく、縮小画像がRAWデータの1/(4n)(nは1以上の整数)の画素数で構成される場合にも適用可能である。
【0076】
以上説明したように、上記の第1乃至第4の実施形態によれば、2m×2nのRAWデータをハーフデコードしてm×nの縮小RGB画像を作成する場合において、縮小RGB画像の各画素のR,G,B値の重心位置を同一にすることが可能となる。これにより、従来のハーフデコード方法と比べて、より正確な色の縮小RGB画像を得ることができる。
【0077】
更に、作成された縮小RGB画像に対してフィルター処理を施すことで、フル解像度の画像にフィルター処理を施してから縮小画像を生成する場合と比べて、処理を格段に高速化することができる。
【0078】
(他の実施形態)
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0079】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0080】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した手順に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0081】
【図1】本発明の画像処理装置の第1の実施形態の概略構成を示すブロック図である。
【図2】Bayer配列の各画素の並びを表す図である。
【図3】Bayer配列の各画素の命名規則を表す図である。
【図4】ハーフデコードのイメージを表す図である。
【図5】従来のハーフデコードの方法を表す図である。
【図6A】従来のハーフデコードの結果算出されるR,G,B値の重心位置を表す図である。
【図6B】第1の実施形態におけるハーフデコードの結果算出されるR,G,B値の重心位置を表す図である。
【図7】第1の実施形態におけるハーフデコードの方法を表す図である。
【図8】第1の実施形態におけるハーフデコード処理の流れを示すフローチャートである。
【図9】第2の実施形態におけるハーフデコード処理の流れを示すフローチャートである。
【図10】第3の実施形態における画素補間で参照する画素を表す図である。
【図11A】フィルターの効果の範囲を表す図である。
【図11B】第4の実施形態におけるフィルターの効果の範囲を表す図である。
【符号の説明】
【0082】
101 CPU
102 一次記憶部
103 二次記憶部
104 入力デバイス
105 出力デバイス
106 読込デバイス




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013