ディザ
[Wikipedia|▼Menu]

ディザ(Dither)とは、量子化誤差(端数)を、単純に丸めるのではなく、全体の量子化誤差が最小化するよう確率を調整して切り捨てまたは切り上げのどちらかをランダムにおこなうためによるゆらぎのことである。そのような一種のノイズ的データを追加する作業および技法はディザリング(Dithering)またはディザ法と呼ばれる。誤差を周囲のデータに拡散する手法をも含めて言うこともある。ディザリングは、デジタル音響やデジタル動画のデータを処理する際に普通に行われ、CDの制作でも最終段階でよく行われている。
用語 "dither" の起源.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 40px}.mw-parser-output .templatequote .templatequotecite{line-height:1.5em;text-align:left;padding-left:1.6em;margin-top:0}[…] ディザの最初期の使用例は第二次大戦に登場した。航空爆撃機では機械式計算機を用いて航行と爆弾の軌道計算を行っていた。面白いことに、こうした計算機 (=数百の歯車が詰まった箱) は、航空機に乗せて飛んだ状態の方が計算精度が高く、地上では劣っていた。技術者たちは、航空機の振動によって動きの悪い部品に起因する誤差が減少することに気付いた。部品がカクカクとではなく、スルスルと動いたのだ。小型の振動モーターがこうした計算機に組み込まれ、その振動はディザ (dither) と呼ばれた。ditherは中期英語の "didderen" に由来する語で、「ブルブル震える」という意味である。今日において、機械式メーターをコツンと叩いて精度を向上させることは、つまりディザを適用することである。現代の辞書では、dither は「非常に緊張した、混乱した、または動揺した状態」と定義されている。微量ではあるが、数値化システムはディザによって「精度の向上」という意味で少しアナログ的にすることができる。—Ken Pohlmann、Principles of Digital Audio、4th edition、page 46[1]

戦後間もなく、アナログ計算や水力制御の銃砲についての書籍で dither という用語が使われている[2][3]。量子化におけるディザリング技術の導入を提唱したのはMITの Lawrence G. Roberts で[4]、1961年の修士論文[5]と1962年の論文[6]があるが、彼は dither という言葉を用いていない。今のような意味で dither が使われた初出は1964年の Schuchman の論文である[7]
デジタル信号処理と波形解析におけるディザリング

ディザリングは、デジタルデータの標本化周波数量子化ビット数を変換する際の処方(デジタル信号処理)として、デジタル音響デジタル動画デジタル写真地震学レーダー天気予報などの分野で使われる。なかでも波形解析におけるこの信号処理の方式の意義は大きい。

変化が連続的な量の量子化には量子化誤差がともなう。その誤差が本来の信号に連関するかたちで均一的に再起するものであるとき、そこには、数値的確定性をそなえた人工的な周期が現出することになる。ところがそのような人工性(誤差の周期性・確定性)を孕んだデータというのは、ときとして望ましいものではない。信号の周期性・確定性にたいして受信側が敏感である場合は特にそうである。このとき、データ信号の周期性・確定性は、ランダム性を含ませたディザリングによって排除することができる。

信号処理のレシピとしては、単に乱数を加えたのでは量子化ビット数を減らしたのと同じというだけであり、24ビットでオーバーサンプリングならぬ「オーバー量子化」し、誤差をきちんと処理して16ビットにするのが良い。

誤差の拡散も含む場合(たとえば、真っ黒の背景の中の1ドットの真っ白の点が、ぼやっとした明るいグレーのかたまりになるだろう)、場合によってはエッジ強調など他の処理とも組み合わせることもある。
デジタルオーディオ

音響においては、デジタルフィルタでよく見られる周期的リミットサイクルの解消に役立つ。ランダムノイズは一般にリミットサイクルが作りだす倍音よりも聴取し難い。音質面から説明すると、「デジタル臭い」と表現される硬質な音の傾向を緩和することが出来る。具体的には、サ行の声が耳に刺さらなくなる様な変化が起きる。

Audio Engineering Society (AES) の学会誌に掲載された Lipshitz と Vanderkooy の論文で、様々な確率密度関数 (PDF) をディザ信号(ノイズ)として使ったときの差異を指摘し、音響におけるディザ信号の最適レベルについて論じている[8][9]ガウス雑音を使って歪みを解消するには、方形PDF三角形PDFよりも高いレベルを必要とする。三角形PDFによる雑音は歪みを解消するのに低いレベルで済む。アナログシステムでは信号は「連続」だが、PCMデジタルシステムでは信号の振幅は固定個の値に制限される。これを量子化と呼ぶ。振幅の値は離散的であり … ディザを使わすに量子化した信号では量子化によって生じる歪みが残る。 … それを防ぐには信号に「ディザ」を施す必要がある。ディザリングは倍音などの好ましくない歪みを数学的に除去するもので、代わりに一定のノイズを付与する。[10]

たとえばSACDなどに収められる量子化ビット数(ビット深度)24ビットのデータがあるのにたいしてCDのデータは16ビットである。16ビットはCDの規格の数字であり、制作工程では24ビットで処理されていたとしてもCDに収録するためのマスターの段階では16ビットにしなければならない。プレイヤーが再生するデータも16ビットである。この規格の枠内で高品位化を図る手法のひとつとして、量子化ビット数の多い(たとえば24ビットの)データを16ビットに変換する際に、ディザリングをおこなう、という手法がある。.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}.mw-parser-output .listen .side-box-text{line-height:1.1em}.mw-parser-output .listen-plain{border:none;background:transparent}.mw-parser-output .listen-embedded{width:100%;margin:0;border-width:1px 0 0 0;background:transparent}.mw-parser-output .listen-header{padding:2px}.mw-parser-output .listen-embedded .listen-header{padding:2px 0}.mw-parser-output .listen-file-header{padding:4px 0}.mw-parser-output .listen .description{padding-top:2px}.mw-parser-output .listen .mw-tmh-player{max-width:100%}@media(max-width:719px){.mw-parser-output .listen{clear:both}}@media(min-width:720px){.mw-parser-output .listen:not(.listen-noimage){width:320px}.mw-parser-output .listen-left{overflow:visible;float:left}.mw-parser-output .listen-center{float:none;margin-left:auto;margin-right:auto}}16ビットの正弦波16ビット深度で量子化された正弦波6ビットに変換した音ディザを施さずに6ビットに変換したもの。音色が違って聞こえる。これらの音声や映像がうまく視聴できない場合は、Help:音声・動画の再生をご覧ください。

ある量子化ビット数のデータを異なるビット数に変換する方法はいくつかある。目的のビット数の標本単位に収まらずしてはみ出る元データの部分を刈り除く切り捨て(truncation)、また、はみ出ることになる部分を近い値に直してでも保持する丸め(round)などがある。しかしこれらの処方は、前節で述べられている誤差の周期化・周波数成分化およびそれによるノイズの発生をもたらしかねない。例えば次のような波形データを表す値があるとする。1 2 3 4 5 6 7 8

たとえば、この波形が有する数値を 20% 縮小する(波形の構成値すべてに 0.8 をかける)と、次のような値が得られる。0.8 1.6 2.4 3.2 4.0 4.8 5.6 6.4

量子化ビット数が、整数の桁のぶんしかなかったら、これを整数に改めなくてはならない。「切り捨て」を適用した場合には次のようになる。0 1 2 3 4 4 5 6

切り捨ての代わりに「丸め」(四捨五入)を適用した場合には次のとおりである。1 2 2 3 4 5 6 6

いずれの処方でも、元データの数値に対していくらかの誤差がある。そしてその誤差はまた回帰的である。正弦波のような反復的な波形についてこの現象を考えるとわかりやすい。そのような波形を標本化し、量子化する場合、元となるデータに含まれる 2.4 や 6.4 という値にたとえば「切り捨て」を適用して 2 などにするために生じる 0.4 の差分は、元データの波形の周波数と標本化周波数の積の周波数で、周期的に再起することになる(この例の場合、元データが 5 である 4.0 の量子化には差分が発生しない)。音を生じさせるのが物質の周波的運動である以上、デジタイズの際に起こるこの周期的な誤差は周波数成分の一つとして音に化ける。そしてこれを耳が歪みとして受け取ることになる。

量子化誤差のこのような問題を根本から回避することは不可能である。2 桁の数値 (4.8) が「切り捨て」や「丸め」などによって 1 桁の数値(4 または 5)に変換される過程で誤差は必ず生じる。ただし、数値を量子化する仕方に何らかの工夫を加えて誤差の周期的発生すなわち差分の周波数化・ノイズ化を防ぐことは可能である。すなわち、量子化における誤差が本来の信号・波形の周期とは連関しないようにするのである。

一策として、たとえば2桁の値 4.8 を処理するにあたって、あるときは 5 に、またあるときには 4 に、というように「切捨て」と「丸め」をランダムに適用することが考えられる。「長い目」で見ればこれは 4 と 5 との間に現れる平均的な数値として周波数成分化することになる。しかしそれでも周期的な誤差すなわちノイズの元は十分には取り除かれない。4 や 5 という値は本来の 4.8 にたいして常に 0.2 や -0.8 といった誤差を繰り返し生むわけである。

値 4.8 を処理する別の策としては、「五回に四回は 5 に丸め、残り一回を 4 に切り捨てる」というものがある。「長い目」で見ればこれは前述の処方の結果(4 と 5 の間の平均値)よりも本来の 4.8 にごく近しい数値の周波数化をもたらす。しかしこれでも問題の周期的な誤差・ノイズの元を解決し尽くしたことにはならない。5 に丸めた四回分の本来値、そして 4 に切り捨てた一回分の本来値、これらは依然として誤差であり、またそれは当策の五回周期という原理に従って繰り返すことになるわけである。

問題は、一定の処理が周期的に繰り返されてしまうことにある。ならば処理をランダム化すればいい、という解決案が最終的には出てくる。80% の比率で 5、20%の比率で 4、という構成を全体として保持しながら、元の 4.8 という数値が 4 あるいは 5 に変換されるところのパターンをランダム化すれば、誤差の周期化・周波数成分化は妨げられ、ノイズの発生は抑えられるわけである。

また、最終的な量子化における誤差( 4.8 が 5 になったのであれば -0.2 )を覚えておき、次以降の確率を調整する、という誤差を拡散させる手法もある。この手法には、全体的な再現性を上げるかわりに局所的な再現性が下がる、というトレードオフがある。

0 から 0.9 までの乱数(0.6、0.4、0.5、0.3、0.7 など)を交えて目的の値 4.8 を処理すれば、20%中は 4 (0 と 0.1 の場合)、80%中は 5、と量子化されながらも、どちらに切り捨てられ丸められるかは乱数によって無作為化される。そして、前節で述べられているように、非周期的なノイズは周期的なノイズよりもヒトの耳にたいして優しく、我々はこれを自然な歪みとして感受することになる。
ディザリングを施すべき場合

ビットレートを減らす処理をするときは、ディザリングを施すべきである。米Apogee Electronics(英語版記事)が開発し、同社のDAコンバーターに搭載されていたUV22というディザ技術は音楽業界内では有名であり、デジタル・オーディオ・ワークステーション向けに単体のプラグイン化され、デファクトスタンダード的な存在となっている。
様々なディザ

RPDF は "Rectangular Probability Density Function"(方形確率密度関数)の略で、サイコロと同じ役目を果たす。任意の数が同等の無作為な確率ででる。

TPDF は "Triangular Probability Density Function" (三角形確率密度関数)の略で、2個のサイコロと同じ役目を果たす。数の合計の出現確率はそれぞれ異なり、以下のようになる:1/1 = 21/2 2/1 = 31/3 2/2 3/1 = 41/4 2/3 3/2 4/1 = 51/5 2/4 3/3 4/2 5/1 = 61/6 2/5 3/4 4/3 5/2 6/1 = 72/6 3/5 4/4 5/3 6/2 = 83/6 4/5 5/4 6/3 = 94/6 5/5 6/4 = 105/6 6/5 = 116/6 = 12

この場合、7 が他の 2 から 12 よりも確率が高く、このような確率の分布を称して「三角形」と呼んでいる。

ガウシアンPDF は無限個のサイコロと等価である。確率の分布は釣鐘型を描き、これをガウス分布と呼ぶ。ガウシアンPDFによるディザは自然の大気雑音やテープヒスなどのノイズに最も近い。

色つきディザ(Colored Dither)はホワイトノイズとは異なるため、フィルター付きディザとも呼ばれる。オーディオ機器の帯域特性に合わせるためにエネルギーを下げるように、高い周波数ほど大きなエネルギーを持ったノイズを使用する。

ノイズシェーピング(英語版)もディザと同様の手法であるが、ランダム化よりもオーディオストリームにおいて誤差拡散のリアルタイム処理に重点を置いたフィードバック型の処理である。
デジタル画像とイメージ処理ディザリングの例。赤と青だけを使っているが、それぞれの矩形が小さくなると全体として紫に見えてくる。IrfanViewにて256色のグラフィックスにディザリングを使用した例

ディザリングは、コンピュータグラフィックスで使われる場合には、制限された数でそれ以上の色調を表現する技法として使われる。ディザリングを施したデジタル画像では、パレットにない色を表現するために、存在する色のピクセルをばらつかせて配置する。ヒトの眼はそのような色の拡散配置を色の混合として知覚する。色数の少ないディザリングを施した画像は、粒状の微細な模様などで見分けが付くことが多い。

ディザリングは印刷における中間色調の表現技法によく似ている。

その性質上、ディザリングは画像に何らかのパターンを導入し、ヒトの眼からはそのパターンが判別できない程度の距離から画像を見るだろうという考え方に基づいている。しかし実際にはそうでないことも多く、パターンは見えることが多い。そのような場合、ブルーノイズのディザパターンが最も目立たない[11]。ブルーノイズのディザリングパターンを生成するため当初は誤差拡散法が使われたが、人工的な見た目に陥ることなくブルーノイズのディザリングを実現する配列ディザリングなどの技法も考案されている。

画像の色数を減らすことは、見た目に多大な副作用をもたらす。元の画像が写真だった場合、色数は少なくとも数千、場合によっては数百万色にもなる。これを固定の色数から構成されるパレットで表現できるようにすると、ある程度の色に関する情報が失われる。

色数を減らした画像は、いくつかの要因により劣化する。その第一の要因は使用しているカラーパレットにある。例えば、元の画像(図1)を216色のWebセーフカラーに減色する場合を考える。元の画像の各ピクセルの色を単純に最も近い色にした場合、ディザリングは行われない(図2)。一般に、このような減色を施すと細部が失われて同色が平坦に連なる領域ができ、元の画像とはかなり印象が変わる。影になる部分や曲面は色の帯ができ、奇妙に見える。ディザリングを施すことにより、そのような人工的な見栄えを改善することができ、元の画像に近い結果を得ることができる(図3)。

固定されたカラーパレットを使用する際の問題として、必要な色がそのパレットにないことが多い点が挙げられる。同時に、元の画像では全く使わない色がパレットに含まれている。例えば、緑の系統の色を全く使わない画像では、パレット内の緑系統の色はほとんど使われない。そのような場合、画像に最適化されたカラーパレットを使用すると画像が改善される。最適化されたパレットの色は、元の画像で多く使われている色から選ばれる。最適化されたパレットを使って減色すると、その結果は元の画像により近くなる(図4)。

パレット内の色数も画質に影響する。例えばパレットが16色となった場合、画像の細部はさらに失われる(図5)。そのような場合でもディザリングを施すことによって画像の見栄えは改善される(図6)。@media all and (max-width:720px){.mw-parser-output .mod-gallery{width:100%!important}}.mw-parser-output .mod-gallery{display:table}.mw-parser-output .mod-gallery-default{background:transparent;margin-top:.3em}.mw-parser-output .mod-gallery-center{margin-left:auto;margin-right:auto}.mw-parser-output .mod-gallery-left{float:left;margin-right:1em}.mw-parser-output .mod-gallery-right{float:right}.mw-parser-output .mod-gallery-none{float:none}.mw-parser-output .mod-gallery-collapsible{width:100%}.mw-parser-output .mod-gallery .title,.mw-parser-output .mod-gallery .main,.mw-parser-output .mod-gallery .footer{display:table-row}.mw-parser-output .mod-gallery .title>div{display:table-cell;text-align:center;font-weight:bold}.mw-parser-output .mod-gallery .main>div{display:table-cell}.mw-parser-output .mod-gallery .gallery{line-height:1.35em}.mw-parser-output .mod-gallery .footer>div{display:table-cell;text-align:right;font-size:80%;line-height:1em}.mw-parser-output .mod-gallery .title>div *,.mw-parser-output .mod-gallery .footer>div *{overflow:visible}.mw-parser-output .mod-gallery .gallerybox img{background:none!important}.mw-parser-output .mod-gallery .bordered-images .thumb img{outline:solid #eaecf0 1px;border:none}.mw-parser-output .mod-gallery .whitebg .thumb{background:#fff!important}

図1. 元画像

図2. Webセーフカラーに減色した画像(ディザリング無し)

図3. Webセーフカラーに減色した画像(フロイド-スタインバーグ・ディザリングを施したもの

図4. 最適化された256色カラーパレットに減色した画像(フロイド-スタインバーグ・ディザリングを施したもの)

図5. 最適化された16色カラーパレットに減色した画像(ディザリング無し)

図6. 最適化された16色カラーパレットに減色した画像(ディザリングあり)

応用

初期のビデオカード携帯電話や低価格のデジタルカメラで使われている最近[いつ?]の液晶ディスプレイでは、表示可能な色数が少ない。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:42 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef