Tools + Simulatorsnanase.cc / tools

デモザイク

画像

画像
並び
ローパス
色差メディアン
手法
CPSNR ΔE
計算中…

端の 4 画素を除く
手法CPSNRΔEΔE>10
最近傍
バイリニア
MHC
HA
VNG
AHD

動作原理と式

ベイヤー配列

RGRGGBGBRGRGGBGB
  • 2 × 2 の区画に G が 2 つ、R と B が 1 つずつ[1]
  • 画素ごとに 1 色 → 足りない 2 色を周りから補う(デモザイク)
  • G の間隔は R・B の半分(斜めに詰まる)→ G を先に埋めて R・B の手がかりにする手法が多い

偽色・ジャギー・ジッパー

  • 偽色: 細かい縞で R・G・B の推定がずれ、元にない色が出る(ゾーンプレート・布目・柵)
  • ジャギー: 斜めの縁が階段になる(文字・斜めの縁)
  • ジッパー: 縁に沿って明暗が 1 画素おきに交互に並ぶ(色の境界)。縁をまたいで平均すると出る[2]
  • ローパス: センサーの前でぼかし、ナイキスト周波数より細かい模様を弱める。偽色は減るが細部も鈍る

手法

手法GR・B出典
最近傍同じ 2 × 2 の区画の値を写す
バイリニア隣(3 × 3)の同じ色の平均。縦横 2 つ・4 つ、斜め 4 つ[3]
Malvar-He-Cutler5 × 5 の決まった係数。ほかの色の 2 次の変化(ラプラシアン)も足す[3][4]
Hamilton-Adams勾配の小さい向きに補間色差 R−G を補間[5]
VNG8 方向の勾配のうち閾値以下の方向だけで色差を平均[6][7]
AHD横だけ・縦だけで補間した 2 枚から、CIELAB で均質な方を画素ごとに選ぶ[8]

Malvar-He-Cutler の係数(× 1/8)

−12−1242−12−1
R・B の画素の G
1/2−1−1−1454−1−1−11/2
G の画素の左右にある色
−1−14−11/251/2−14−1−1
G の画素の上下にある色
−3/222−3/26−3/222−3/2
R の画素の B・B の画素の R
  • 係数の和は 8(明るさを保つ)。中央の画素は自分の色[3]
  • バイリニアに、測った色のラプラシアンを決まった重みで足したもの。重みは Kodak の画像で最小 2 乗に合わせた値[3]

Hamilton-Adams

ΔH=|G−1−G+1|+|2X0−X−2−X+2|G^H=G−1+G+12+2X0−X−2−X+24
X
その画素の色(R か B)。添字は横の位置
ΔH,ΔV
横・縦の勾配
  • ΔH<ΔV なら横、逆なら縦、等しければ平均[5]
  • R・B: 埋めた G との差 R−G を補間して G に足す。R の画素の B は斜めの勾配の小さい向き

VNG

T=k1min+k2(max−min)C^=X0+∑d∈D(C̄d−X̄d)|D|
D
勾配が T 以下の方向(N・NE・E・SE・S・SW・W・NW のうち)
C̄d,X̄d
方向 d の側の 3 × 3 の、求める色・その画素の色の平均
  • k1=1.5,k2=0.5[6]
  • 勾配: 5 × 5 の中の同じ色の画素の組の差の絶対値の和。中央の線の組は重み 1、隣の線の組は 1/2[7]

AHD

  1. 横だけで G → R・B/縦だけで G → R・B
  2. CIELAB へ
  3. 均質さを数える
  4. 3 × 3 で足して多い方
  • 均質さ: 上下左右の 4 画素のうち、明るさの差と色の差が両方とも許す差以下の数[8]
  • 許す差: 横の画像の左右の差の大きい方と、縦の画像の上下の差の大きい方のうち、小さい方(画素ごとに変わる)[8]

色差メディアン

  • R−G・B−G に 3 × 3 のメディアン → 測った色に足して残り 2 色を作り直す[9]
  • 偽色の点を消すが、細い色の線も消える

誤差の指標

CPSNR=10log10113N∑c,i(xc,i−yc,i)2
  • 値は 0〜1。R・G・B をまとめた平均 2 乗誤差から(単位 dB、大きいほど元に近い)[10]
  • ΔE: sRGB → CIELAB(D65)の色差 ΔEab* の平均[11][12]。ΔE>10 はその割合

このツールで決めたこと

  • 画像: 384 × 256。値は sRGB の 0〜1 のままモザイクにする(線形の光に戻さない)
  • テスト画像: 128 × 128 の区画 6 つ。各画素は 4 × 4 の点の平均
  • 端: 端の画素を軸に折り返す(色の並びの偶奇が保たれる)。指標は端の 4 画素を除く
  • ローパス: 色ごとに σ 0.6 画素のガウスでぼかす。元画像もぼかしたものにする
  • VNG の勾配の項: 論文の式が手に入らず、N 方向の式[7] を 90° ずつ回した。斜めの方向は、中央の斜めの線の 2 組と隣の斜めの線の同じ色の 4 組
  • AHD の G: 隣の 2 つの G の間に収める。最後のメディアンは入れず、色差メディアンの切り替えで別にかける
  • 色差メディアン: 2 回くり返す
  • 計算した値は 0〜1 に収める
  • 関連: 画像の畳み込み・カメラレンズ・JPEG

出典

  1. ベイヤー配列B. E. Bayer, “Color imaging array,” U.S. Patent 3,971,065, 1976
  2. ジッパーの現れ方W. Lu and Y.-P. Tan, “Color filter array demosaicking: new method and performance measures,” IEEE Trans. Image Processing, vol. 12, no. 10, pp. 1194–1210, 2003
  3. バイリニアと 5 × 5 の係数(図 2)H. S. Malvar, L.-W. He, and R. Cutler, “High-quality linear interpolation for demosaicing of Bayer-patterned color images,” Proc. IEEE ICASSP, vol. 3, pp. 485–488, 2004
  4. MHC の解説と実装P. Getreuer, “Malvar-He-Cutler Linear Image Demosaicking,” Image Processing On Line, vol. 1, pp. 83–89, 2011
  5. 勾配で向きを選ぶ G と色差の補間J. F. Hamilton Jr. and J. E. Adams Jr., “Adaptive color plan interpolation in single sensor color electronic camera,” U.S. Patent 5,629,734, 1997
  6. VNG(閾値の式と k1,k2)E. Chang, S. Cheung, and D. Y. Pan, “Color filter array recovery using a threshold-based variable number of gradients,” Proc. SPIE, vol. 3650, pp. 36–43, 1999
  7. VNG の勾配の項R. Ramanath, W. E. Snyder, G. L. Bilbro, and W. A. Sander III, “Demosaicking methods for Bayer color arrays,” J. Electronic Imaging, vol. 11, no. 3, pp. 306–315, 2002
  8. AHDK. Hirakawa and T. W. Parks, “Adaptive homogeneity-directed demosaicing algorithm,” IEEE Trans. Image Processing, vol. 14, no. 3, pp. 360–369, 2005
  9. 色差のメディアンW. T. Freeman, “Median filter for reconstructing missing color samples,” U.S. Patent 4,724,395, 1988
  10. CPSNRX. Li, B. Gunturk, and L. Zhang, “Image demosaicing: a systematic survey,” Proc. SPIE, vol. 6822, 68221J, 2008
  11. sRGBIEC 61966-2-1:1999, Multimedia systems and equipment – Colour measurement and management – Part 2-1: Default RGB colour space – sRGB
  12. CIELAB と色差CIE 15:2004, Colorimetry, 3rd ed.

関連ツール