16ビット・エレジー

15/07/26初稿

 何故かいきなり「ビット深度拡大(ハイビット化)は音質にどう影響するのか」について考えはじめちゃいました。

 ヨクワカラナイ…というか、どうやったら納得感のある確認できるか思いつかなかったのでずっと先送りしていて、「サンプリング定理」についてウンウン考えた時は「ビット深度=振幅方向の解像度には問題ないこと」を暗黙の了解としてサンプルレートのことだけ扱いました。
 けれど、その後DACチップの使い方などいろいろ展開していく中で、いつの間にか頭の中が整理されてたのかも知れません。

 いざ考えてみると、なんだか「デジタルオーディオの現実的問題」としてはこっちの方が深刻な気がします。

 具体的には「16bitと24bitの差=24bitの効果」についてになります。
 ですので、言うまでもありませんが本稿で扱うのはPCMだけです。DSDは含みません。


■ミクロの世界を覗いてみる

・何をどうやって見るか
 ビット深度の意味について考えるとき、一般的にはスペックとして「ダイナミックレンジ」が用いられます。が、ダイナミックレンジが「16bit=96dBで充分か不足か」を考えても埒があかないのではないかと思っていました。「96dB分の最大最小音量が聴き分けできるか否か」の結論は出ないでしょう。
 ここで躓いていたのですが、いつの間にか考え方変わってました。
 「16bitで足りているか・不足か=24bitが必要か」を判断するポイントは、
「アナログ信号をあるスレッシュでデジタル化=0か1かに“してしまう”際に発生する「量子化誤差」が許容できるか否か」
ではないでしょうか(言い方を変えるとダイナミックレンジの効果をミクロ世界で確かめることだと思います)。
 サンプルレートに関して「20kHz以上の音が聞こえるか」ではなく「倍音がないことによる変形を認識できるか」で考えるのと同じような転換ですかね。

 ある程度の振幅レベル=マクロな波形は16bitでも充分表現できていると思います。ていうかマクロ領域では24bitと16bitの差は確認しようがなさそうです。
 ですので、可能な限り小さなレベル…ミクロ波形の再現性を確認する必要があります。量子化誤差のレベル、つまり「レベル0」と「レベル1」のみで構成される極小な世界をみる必要があるでしょう。

 16bit最小波形の世界を見ることは出来るでしょうか?
 しかも、AD変換時に発生する量子化誤差を見るのですから、リクツ上は「アナログ波形とデジタルデータ波形」を比較する必要があります。
 が、アナログ波形…それも極小レベルの信号をシロウトが扱うのは無理です。

 そこが工夫のしどころでしたが、基音と倍音でハイサンプリング効果を確認したり、ΔΣ変調時のオーバーサンプリングの理由を考察した時に用いた考え方「可能な限りハイビット・ハイサンプリングなデジタルデータをアナログ波形に見立てる」が今回も使えるのではないかと。
 具体的には32bit/384kHzデータをアナログの代用とするのです。レートを野放図に高くすると予期せぬところでソフトの対応範囲を超える可能性があるので現実的な必要充分スペックにしたつもりです(ビット深度は32bitで必要充分でしょう)。

 本当に「最大振幅が±1の最小波形」まで扱えて(演算できて)表示できるのかちょっと不安だったのですが、今回利用したフリーソフトでは全く問題なさそうです。
 今回もフリーソフト作者の皆様に感謝感謝です。

 ミクロ波形の見方は思いつきました。次は確認の仕方です。
 目的から考えて、以下3種の波形データを比較することにしました。
 「ミクロなアナログ波形を16bitでデジタル化した場合、どんな波形データになって、それはどんなアナログに再現されるのか」
です。

 次に、そのデータの生成方法について記します。

・なんちゃってアナログ波形
 ≪WaveGene 1.50≫でdB値を設定して生成する32bit/384kHzのPCMデータです。
 今回は“基本”ということで、「基音と倍音でハイレゾ」を考えた時の「基音」1200Hzを対象にします。

・デジタルデータ
 「なんちゃってアナログ波形」を≪foobar2000 1.3.6≫のSoX Resampler 0.8.3で1648にダウンサンプリングしたものです。デフォルト設定、Convert機能でファイル化。
 アナログ信号を1648でAD変換するシミュレーションになっていると考えています。ですので、これが「≪WaveGene≫で設定したdBレベルの1200Hzサイン波を表すデジタルオーディオデータ」になっているハズです。

 なお、実際の音楽制作では複雑な変換が行われているハズですが(*)、本稿ではそれは無視します。CDならどうせ最後は16bitに落とし込まれますので。

*:例えばADは24bit以上でしょうし編集時は32bit以上の可能性が高いでしょう。編集時はFloatかも?

・DACで再生されたアナログのつもり波形
 「デジタルデータ」をSoXで32384にアップサンプリングします。
 これが「リコンストラクションフィルタでアナログ化された波形」のシミュレーションになっているハズです。なお、1648→32384はSoX2段重ねにて(192化してさらにx2)。


 ビット深度変更はConvert機能で出力ビット数を変更することで行っています。
 ハイレゾ比較用非ハイレゾファイルの作り方で見たところ、単純カットではなく“四捨五入”っぽいです。


■「量子化誤差」を可視化する

 はじめに。
 一番シンプルに「ミクロ振幅波形」での比較を行いますが、「実際の音楽波形」においてもミクロ領域では同じことが起こっています。“究極のピアニシモ世界”だけの話ではありません。例えば100Hz-6dBのサイン波に以下に見るサイン波が重畳された波形があったとし、それを拡大して見ることができたら-90dBレベルの世界では同じ現象が起こっているハズです。
 ていうか、「周波数成分」として見れば、どんな波形にでも存在する可能性があるものですよね。

・最小領域で何が起きているか
 上記3種の波形を≪Wavosaur x64 1.1.0.0≫で左から順に並べた比較図を以下に示します。
 ちょっと確認したところ、今回利用したソフトウェアでは16bitの場合-96dBが「0か1か」のスレッシュになるようです。そこで、最小波形は-94dBの「なんちゃってアナログ」としてみました。ピークレベルが-94dBの1200Hzサイン波データです。

 まず、24bitの場合を示します。

     【なんちゃってアナログ】           【デジタルデータ】          【DAC再生したつもり】
-94dB24bit.png

 最初のアナログ波形「-94dBのサイン波」(左)がデジタル化(中)を経てのDAC再生(右)でほぼ再現できていることが解ります。
 まだ余裕ありそうですから、24bitなら振幅方向の解像度(分解能)は問題ないと言ってよさそうです。逆に、これ以上のビット深度はたぶん要らないでしょう(言うまでもありませんが、「提供されるメディアのスペックとして」です。実際のAD・DA変換や編集時の必要スペックは別儀です)。

 では、16bitだとどうなるでしょう?

-94dB16bit 重ね付き

 ものすごい変形です(笑)。
 判りやすくするため「デジタルデータ」に「なんちゃってアナログ」の波形を重ねてみましたが、-96dBのスレッシュより大きいサンプルは1(-90dB)、小さいと0(-∞)になってしまったことがよく解りますね。
 ちなみに以下が実際のバイナリデータ(モノラル)です。色着けした40サンプルが1周期です(1200Hzを48kHzサンプリングですから)。サンプル値は確かに0と1と-1(0000hと0001hとFFFFh)しかないことが確認できました。

-94dB16bitバイナリ

 波形として見ると、サイン波というより“なんちゃって矩形波”になっちゃってます。これではリコンストラクションフィルタで元に戻らないのも納得です。
 逆に言うと、「充分なビット深度がないとデジタルオーディオの実際においてサンプリング定理は成立しない」ということですね。
 って、それヤバイじゃん(苦笑)。

 TI(Burr-Brown)社の資料「限界性能への挑戦と音質へのこだわり(*)」P.7にミニマム波形(16bit/-90dBFS)のアナログ波形が掲載されています。これを見ると、上記デジタルドメインでのシミュレーションは一応有意ではないかと思います。

*:http://www.tij.co.jp/jp/lit/ml/jajt042/jajt042.pdf

 そしてなんとなんと、このデジタルデータは“聞こえて”しまいます
 もちろん本来の「1200Hzのサイン波」だけがキレイに聞こえるなら何の問題もありませんが、データを見る限り全くそうではありません(いっそ聞こえない方がいいと思える波形です)。より高いキーン音が混ざった音が、「ビミョ~」ではなく「あきらか」に聞こえます。
 そして、24bitデータでは聞こえません
 -94dBの1200Hzサインは少なくとも私の耳の音量的可聴域ではないのでしょう。
 ですので、聞こえてしまうのは、16bitしかないことで「サイン波というより“なんちゃって矩形波”に変形してしまったため」&「-90dBにゲインアップしているため」だと推定されます。

 音量的な可聴域ではないので聞こえないハズの波形が変質して聞こえてしまうのですから、これは「ビット深度が16bitしか無いが故に発生するノイズ」と言っていいでしょう。

 もちろん「聞こえる聞こえない」は再生ボリュームや機器に影響されます。
 上記のボリュームは、「かなりピーク潰れしている楽曲を大音量で鳴らした位置」です。ですので、全体的に音量小さな曲ではもっとボリューム上げる可能性があります。
 再生はSB-DM-PHDでHD700とMDR-E888を鳴らして行いました。
 ので、それなりに“あり得る状態”だと思います。

 24bitの有意性は早々に結論出ちゃいました(爆)。

・変形はどこまで起こっているか
 「-94dB領域でも16bitしかないことによる変形が聞こえてしまう」とはなんとも意外でした。
 では、16bitではどこまでどんな変形が発生しているのでしょうか(24bitは-94dBでも上記の通りですので問題ないでしょう)。
 -94dBから6dBずつ大きくしてみました。

-88dB16bit.png

-82dB16bit.png

-76dB16bit.png

-70dB16bit.png

-64dB16bit

-58dB16bit.png


 PCMデジタルオーディオはサンプリング定理に依って成立していますので「キチンとしたサイン波再現は絶対条件」です。
 が、例えば本稿で見た1200Hzでは「ざっくり-70dB以下はアヤシイ領域。-60dBくらいからどうか?」と言っていいと思います。
 これって16bitクンにとってはかなり致命的なのでは…

 なお、各dB値のサイン波は24bitデータの再生(サイン波として事実上問題なく再現されている)でも聞こえます。もちろん上記の16bitデータも聞こえます。
 聞こえますけれど、「サイン波の音として、16bitは24bitに比べ歪んでいるか」は主観的な判断なのでやってません。ていうか16bitだと-94dBがノイズとして聞こえることが判っただけで十分ですので。
 なお、聞くだけならAD変換に見立てる必要はないので、≪WaveGene≫で各種設定して直接生成再生するだけで確認できます。


 こうやってみてくると、「フォーマットとしてのハイレゾの効果・効能」は、ハイサンプリングよりハイビットの方が判りやすいかも知れません。
 過去のハイレゾ試聴でも、「サンプルレートが同じでもハイビットの効果を感じる」的な経験してますし。
 捉え方は人それぞれでしょうけれど、「24bitの効果」は実質的にもありそうな気がします。

 ていうか、16bitだと小音量領域では「サンプリング定理」破綻しとるがな(爆)。

 もちろん、それが実際の楽曲としての音質にどれだけ影響を及ぼしているのかは別問題です。
 例えば、「実際の音楽波形としては-94dBレベルの音は単独ではあり得ないし、もっと大きな波形の成分の場合はマスキングされて聞こえないから事実上問題ない」のかも知れません。ただし、このリクツの場合は事実上のダイナミックレンジは-96dBよりかなり小さいということにもなりますが。
 まあ、ハイサンプリングにしてもそうですが、そもそも「“事実上”のスレッシュは昔(CD登場のころ)とは異なっていると考えるか否か」がハイレゾ有効性判断のポイントですよね。そして、その客観的判断基準は存在しないでしょう。どの程度を“事実上”とみなすか(価値観)は人それぞれでしょうから。

 個人的には、30年前とは制作(録音編集)側もユーザ(再生)側もその機器性能は格段に上がっているので、“事実上”のスレッシュも上がっていると思っています。そうだとすると、CDフォーマットではおよそ-60dBくらいから下の再現性に難があることは、20kHz以上の高音域が無いのと同じく
「致命的ではないが音楽を記録するフォーマットとしては余裕なし(デジタル化=近似による変形を知覚できる可能性があるゾーンを含んでいる)。ので、マージンとしてスペックはもうちょっとあった方がよい」
と思っています。イマドキは制作段階では“ある”ハズですし。

 上記リンク「基音と倍音」記事で考えた「音色を表現するための周波数成分」が存在するのはおそらく低音量のセカイでしょうし。

 長いこといろいろ考えてきましたが、「ハイレゾの効能・効果」はこれが結論かな。


■エトセトラ

・周波数が変わると
 上記はあくまでも1200Hzの世界です。周波数が上がるほど変形は緩和されるであろうと思います。例えば、12kHzでは同じ値のサンプルは並びようがないため余分なDC成分サンプルが存在しませんので、サンプリング定理に基づくリコンストラクションが本来の効果に近づくハズです。

-94dB16bit12000Hz.png

 ビット解像度が足りないことによるレベル変化はいかんともしがたいですが。
 逆に周波数が下がると矩形波の周波数がそのまま低くなっていくカンジですね。元波形からの変形度合いとしては大きくなる?

・用語の意味を勝手に理解する
 実は、ビット深度に関するいくつかの用語の意味がイマイチ理解できませんでした(*)。
 しかし、こうやって考えてみて、デジタルオーディオにおける実質的な意味においては、以下のように捉えておくのがよいのではと思いました。

 「なんちゃってアナログ」と「デジタルデータ」の波形の違いこそが「量子化誤差」
 サイン波が“なんちゃって矩形波”に変形してしまうことこそが「量子化歪み」
 “なんちゃって矩形波”が実際に聞こえてしまうことこそが「量子化ノイズ(雑音)」


 本当の用語定義はさておき(そもそもオーディオに限った用語じゃないですよね)。

*:例えば、デジタル化する時に丸められてしまった分が「量子化雑音」って言われても、デジタルデータには元アナログ信号の情報は残っていないのですから再生時に差分は現れようがないですよね。

・なんとかならないか
 この16bitの弱点はハイサンプリングではカバーできません。
 そもそも“ビットの段階”がないのですから、いくらサンプルを増やしても「横(時間軸方向)に同じ値のサンプルが並ぶだけだからです。
 容易にイメージできると思います。

 DENON社の「ALPHA Processing」はこの弱点を補う効果もあるんですね。周波数方向の補間だけじゃなかったこと(例として1KHz/-90dBのサイン波の復元を挙げている理由)がやっと解りました。
 DENONさん今更でごめんなさい(笑)。
http://www.denon.jp/jp/dcdsx1/history.html


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

ERIへようこそ

Author:らかせ
 「最新記事」または「メインメニュー」からどうぞ

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です
・一応、拍手にコメント(非公開)付けられるようにしてあります
・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください
・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください
・引用の考え方については「007:諸事」をご参照ください
・アフィリエイトはAmazonのみです
・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

最新記事
カテゴリ
検索フォーム
FC2カウンター