ディジタル画像と限定色表示
( 2017 年 11 月 6 日)
浅井紀久夫
1
本日のポイント
• 標本化
• 量子化
• 標本化定理
• 限定色表示
• ハーフトーニング
教科書
ディジタル画像 限定色表示
2
アナログとディジタル
• アナログ信号
– 時間・空間的また量的に連続な信号
– ノイズを除いたり、信号波形の変形を元の波形に戻したりして原信号 を回復することが難しい
• ディジタル信号
– とびとび(離散的)な信号
– ノイズが混入したり、波形が変形したりしても、原信号を回復できる
アナログ信号
ディジタル信号
完全には元の信号 を再現できない
元の信号を再現
できる 3
A/D 変換
• A/D(アナログ/デジタル)変換
– 連続的な光強度を、離散的な位置における離散的な数値 に変換する処理
• 標本化
– 離散的な位置におけるアナログ信号を取り出す処理
• 量子化
– 有限分解能の数値に変換する処理
– A/D変換を、量子化だけの意味で使う場合もある
アナログ信号
ディジタル信号
標本化 量子化
A/D変換の手順 4
標本化 ≠ 量子化
• 標本化は、サンプリングの間隔を離散化
• 量子化は、数値(振幅や画素値)を離散化
標本化 量子化 5
画像の標本化
• 二次元的なアナログ画像に対して、等間隔の格子状 に配置した標本点での光強度を取り出すこと
– この標本点を、画素またはピクセルという
標本化
量子化
横軸にN個、縦軸にM個の点 で標本化すれば、画像は
「N×M画素」で構成される
画素またはピクセル
CCDカメラにおける画像の 標本化と量子化
6
どの程度の間隔で標本化すれば良いのか?
間隔が広くなる 間隔が狭くなる
7
元画像が再現可能な最大の標本化
間隔
• 標本化間隔を小さくすると、細かなパターン
まで読み取れるが、画像サイズが大きくなる
• 標本化間隔を大きくすると、細かいパターン
が読み取れなくなり、元画像を復元すること
ができない
8
標本化定理
• 情報の損失が一切無い、すなわち、元の信号を完全 に復元するための標本化間隔の条件を与える
• 正弦波を考えた場合
– 周期の1/2間隔よりも小さな間隔で標本化すれば、元信号 を再現できる
– 標本化定理
9
ナイキスト周波数
• 標本化定理を満たす最大の標本化間隔
– ナイキスト間隔
– その逆数:ナイキスト周波数(復元可能な最大周波数) – 標本化定理を満たすためには、ナイキスト周波数の2倍
以上の周波数で標本化すればよい
10
空間周波数
• 空間的(位置的)に変化する信号の周波数
– 時間的に変化する信号の周波数は、1秒あたり に変化する波の数
画素値
位置[画素] 位置[画素]
空間周波数 が高い
空間周波数 が低い
11
サイズ変更とエイリアシング
• 解像度 200 × 200 の画像
– 二つの周波数成分 ω
1< ω
2– 標本化周波数 ω
s• 解像度を 100 × 100 に変更
– エイリアシング(折り返し歪み) が生じる
– 標本化周波数の低下により、 ωs /2<ω2
解像度200×200の画像
解像度を100×100に変更
12
エイリアシングを避けるには
• 原画像の高周波成分 ω
2を、
ローパスフィルタで取り除い
てから、解像度の変換を行う
ローパスフィルタにより、
高周波成分を取り除いた画像
解像度を100×100に変更 画像処理ソフトでは、一般に、
エイリアシングが生じないよう に工夫されている
ωs /2>ω1だから、 エイリアシングは ない
13
ゾーンプレート
• 回折現象を使って集光し、結像するもの
– レンズは、屈折現象を使って集光し、結像する
二次元的な画像処理特性 を直感的に把握できる
14
標本化
量子化 CCDカメラにおける画像の
標本化と量子化
画像の量子化
• 標本化した光強度(連続量)を、等間隔の離散的な 値に置き換えること
– 量子化後の各画素の値:画素値(濃淡値)
画素値が取りうる範囲 が256段階(0から255) ならば、画像は8ビットの データで表される
(8ビット量子化)
15
何ビットで量子化すればよいのか?
256レベル(8ビット)
64レベル(6ビット)
16レベル(4ビット)
4レベル(2ビット)
16
量子化レベル数
• 量子化レベル数
– 階調数
• ビット数
– 2の累乗
• 2値画像
– 量子化レベル数が2レベル(1ビット量子化)
– ファクシミリ原稿の読み取りや文字認識などでは、白と黒 の2値で表現すれば十分
• グレースケール画像
– 量子化レベル数が3レベル以上
– 4レベル = 2ビット量子化 17
量子化誤差
• 連続量と離散量の間に生じる丸め誤差
– 連続的な値を離散的な有限個の数値に置き換え るため
– 量子化雑音と呼ぶこともある
• 量子化レベル数が十分に大きくないと、量子
化レベルが一段階変化する境界が等高線の
ように見える
– 疑似輪郭(疑似エッジ)という
18
グレースケールとカラー
• グレースケール画像
– 明るさに関する情報だけを含む
• カラー画像
– 三原色のそれぞれの画素値を持っている – 情報量が多い(3倍)
19
データサイズ
• デジタル画像のデータ量は、標本点の数と量子化 レベル数で決定される
– 同じ数の標本点数で構成されるカラー画像は、グレース ケール画像の三倍のデータ量がある
• 720×480画素の各色256階調(8ビット=1バイト) のRGBカラー画像のデータ量
– 720×480×3バイト = 1,036,800バイト
– 1,036,800バイト÷1,024 = 1,012.5KB (1KB = 210B) – 1,012.5KB÷1,024≒0.99MB
20
(注意)
データサイズの例
画像サイズ 量子化レベル数
グレースケール/ カラー
データサイズ 720×480 2(1ビット) (2値) 約42KB 720×480 256(8ビット) グレースケール 約338KB 720×480 256(8ビット) カラー 約0.99MB 2048×1536 256(8ビット) グレースケール 約3MB 2048×1536 256(8ビット) カラー 約9MB 2048×1536 2096(12ビット) カラー 約13.5MB
21
限定色表示
• ディスプレイやプリンタでの表示
– 色数が制限される
– 必要な色だけに限定して表示(印刷)する
• 元画像の RGB 値を、出力可能な色の RGB 値
に変換する
– カラーマップの用意
– ルックアップ・テーブルの保持
• 手法
– 均等量子化法
– 頻度法 22
カラーマップとルックアップ・テーブル
• カラーマップ
– 出力可能な色をすべて並べたもの
• ルックアップ・テーブル
– 変換前後の値を表形式にして、予め保持しておく
(計算量の節約)
23
均等量子化法
• 原画像の色の出現頻度に関係なく、表示
可能な色数に応じて、色空間の量子化を
均等に粗くする
RGB空間を均等なセルに分割
し、入力画素の色が含まれる セルの代表色を表示色にする
24
頻度法
• 出現頻度の最も高い色から、順次代表色
として選定していく
– 原画像のカラー・ヒストグラム(画素値の出現
頻度)をRGB空間内で求め、そのヒストグラム のピークに近い色を優先的に表示色とする – 出現頻度の低い色は、無視される
25
ルックアップ・テーブルの作成
画素値の置き換え
青の濃度値 赤の濃度値
26
均等量子化法と頻度法の比較
• 同じ色数でも、頻度法の方が、均等量子化法よりも 原画像に近い色表示ができる
原画像 均等量子化法 頻度法
27
ハーフトーニング
• 濃淡の表現を、空間的な白黒パターンの粗密
を利用して行う
– モノクロ・プリンタでは、インクの有無(白か黒か) の2値しか表現できない
– 固定の閾値を用いて2値化を行うと、白と黒の2値 で出力された画像は見にくい
グレースケール 二値画像 ハーフトーニング
28
ハーフトーニングの手法
• 濃度パターン法
• ディザ法
• 誤差拡散法
29
濃度パターン法
• 濃淡画像の 1 画素(濃度値)を、小さい複数の
画素( n × n )の 2 値パターンで表現する方法
– 黒い領域と白い領域の面積比で、灰色を表現
• 2 × 2 ( 4 × 4 )画素の濃度パターン
– 擬似的に5 (17)階調の表現が可能
30
擬似輪郭
• n が小さいと、表現可能な階調数が少ない
– 階調が変化する境界に、輪郭があるかのように 見えてしまう
• n を大きくすると、画像サイズが大きくなる
– >画像サイズはそのままで、擬似輪郭を目立た せないようにしたい
31
ディザ法
• 原画像にノイズを加えてから階調数を削減すると、 擬似輪郭が目立ちにくくなる
• 手順
– ディザ・パターンを用意
– 原画像を4×4ブロックに分割し、ディザ・パターンと比較 – その大小関係で、白黒つける
0 8 2 10
12 4 14 6
3 11 1 9
15 7 13 5
ディザ・パターン
(Bayer型)
比較
白と黒で表示
32
ディザ法(つづき)
• 入力画像とディザパターン(ディザマトリクス)
を比較
33
誤差拡散法
• 原画像の画素値 (画素値: 0 ~ 255 )と、
白黒 (255,0) に 2 値化した値 との誤差
を各画素ごとに計算
f
g f
g e = −
f
閾値より大きければ、白(255)に、 閾値より小さければ、黒(0)に、 置き換える
置き換えた後の誤差を e とする
= 255
g ならば、 e = 255− f
34
誤差拡散法(つづき)
• 誤差を周辺の画素に分散させて、 をキャン
セルするように周囲の画素値を補正しながら、
白黒 (255,0) を決める
– 誤差は、次々に近傍画素に伝搬して拡散する
– よって、画像全体に誤差を補正する働きが生じる e
f f1
f2 f3 f4
周辺の画素に誤差を分散させる
255 f1′ f2′ f3′ f4′
e f
f 16
5
1 1′= −
e f
f 16
3
2
2′ = −
e f
f 16
5
3
3′= −
e f
f 16
3
4
4′ = −
35
ディザ法と誤差拡散法の比較
36