SKY NOTE

skymouseが思った事考えた事を記したもの

MQAがどうやって圧縮しているか考えてみた。

ハイレゾ可逆圧縮なのにMQAは、たった1Mbpsで記録できるという。通常4.6Mbps必要な信号を、どうやって損失なく1Mbpsとコンパクトに記録できているのか?そこで、MQAを作ったメーカーのコメントから、考えてみたい。

MQAでは、PCM音源が入っているというので、恐らく、このPCM音源の情報に、ハイレゾの差分情報を付加していると見られる。では、どのようにハイレゾ情報付加するのかというと、以下の図を見て欲しい。ちなみに楽曲はエルガーのバイオリン曲

 24bitハイレゾ音声波形 右へ行くほど、短い時間で区切ったものとなる。
 

これを見ると分かる通り、短い時間で区切っていくと波形がシンプルになっていくことが分かる。MQAは、このハイレゾ音声の特徴を活用しているものとみられる。要するに波形がシンプルであれば、それに合わせて圧縮処理がしやすいことが分かる。そこで、どのような圧縮をしているか、考えてみる。まず、メリディアンの説明では、オリジナルのCD品質の音源があるとのことなのだが、これを16bit24KHzと想定する。すると、24bit/96KHz付加するには、縦方向に8bit分の誤差を足してやり、横方向には一つの情報から4つの情報を効率的に割り出していくことが求められる。そこで以下の図を見て欲しい。16bit/24KHz*2chは768Kbitであり、これを圧縮すると5割位になって、384kbit位になる。つまり、640kbitを補正情報に使える。これを96KHz*2で割ると平均3.3bit/Hz使える。でも必要な8bitには足りない。そこで以下の図を見て欲しい。
 
 MQAの考察:波形差分
 

殆ど、なだらかな点の集まりでしかない事がわかる。つまり、まず、16bit/24KHzの情報に8bitの補正値を足してやり、残りの3つの情報は、24KHz間隔を直線で結ぶ。これによって5bit分の誤差を吸収できると仮定する。すると残り3bit/Hzである。

基礎標本に:3.3×4Hz=13.2bit中8bitを使用、これを圧縮して4bit程度にする。
補正情報に残りの9bitを使える計算になる。1Hzあたり3bit(8段階)使う。この際、予測が外れた時の例外が何Hz目か記録してインデックスする。音がハイレゾになればなるほど、波形はより直線的になるので、直線との誤差も減ってくる。すると低bitでも正確に補正できるようになり、1Mbpsでも非圧縮でハイレゾ音源が記録できるようになるというわけだ。予測がはずれた時は、例外処理として新たなビット数を割り当ててやればいい。こうやって記録していけば、1Mbpsで非圧縮で記録が可能と考えられる。

MQA方式は、ハイレゾ(高周波数)になればなるほど、波形がなだらかになり、直線で処理しやすくなることに着目し、その僅かな誤差のみを記録することで効率的に圧縮していると自分は考察する。