ディザ

ディザとは、量子化誤差を、単純に丸めるのではなく、全体の量子化誤差が最小化するよう確率を調整して切り捨てまたは切り上げのどちらかをランダムにおこなうためによるゆらぎのことである。そのような一種のノイズ的データを追加する作業および技法はディザリングまたはディザ法と呼ばれる。誤差を周囲のデータに拡散する手法をも含めて言うこともある。ディザリングは、デジタル音響やデジタル動画のデータを処理する際に普通に行われ、CDの制作でも最終段階でよく行われている。

1. 用語 "dither" の起源
------------------

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

2. デジタル信号処理と波形解析におけるディザリング
--------------------------

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

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

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

誤差の拡散も含む場合、場合によってはエッジ強調など他の処理とも組み合わせることもある。

3. デジタルオーディオ
------------

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

Audio Engineering Society  の学会誌に掲載された Lipshitz と Vanderkooy の論文で、様々な確率密度関数  をディザ信号として使ったときの差異を指摘し、音響におけるディザ信号の最適レベルについて論じている。ガウス雑音を使って歪みを解消するには、方形PDFや三角形PDFよりも高いレベルを必要とする。三角形PDFによる雑音は歪みを解消するのに低いレベルで済む。

たとえばSACDなどに収められる量子化ビット数24ビットのデータがあるのにたいしてCDのデータは16ビットである。16ビットはCDの規格の数字であり、制作工程では24ビットで処理されていたとしてもCDに収録するためのマスターの段階では16ビットにしなければならない。プレイヤーが再生するデータも16ビットである。この規格の枠内で高品位化を図る手法のひとつとして、量子化ビット数の多いデータを16ビットに変換する際に、ディザリングをおこなう、という手法がある。

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

1 2 3 4 5 6 7 8

たとえば、この波形が有する数値を 20% 縮小すると、次のような値が得られる。

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 の差分は、元データの波形の周波数と標本化周波数の積の周波数で、周期的に再起することになる。音を生じさせるのが物質の周波的運動である以上、デジタイズの際に起こるこの周期的な誤差は周波数成分の一つとして音に化ける。そしてこれを耳が歪みとして受け取ることになる。

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

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

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

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

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

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

3.1. ディザリングを施すべき場合
------------------

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

3.2. 様々なディザ
-----------

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によるディザは自然の大気雑音やテープヒスなどのノイズに最も近い。

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

ノイズシェーピングもディザと同様の手法であるが、ランダム化よりもオーディオストリームにおいて誤差拡散のリアルタイム処理に重点を置いたフィードバック型の処理である。

4. デジタル画像とイメージ処理
----------------

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

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

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

4.1. 例
------

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

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

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

パレット内の色数も画質に影響する。例えばパレットが16色となった場合、画像の細部はさらに失われる。そのような場合でもディザリングを施すことによって画像の見栄えは改善される。

{{Gallery | lines = 3 | width = 260 |File:Dithering example undithered.png|図1. 元画像 |File:Dithering example undithered web palette.png|図2. Webセーフカラーに減色した画像 |File:Dithering example dithered web palette.png|図3. Webセーフカラーに減色した画像