音の善し悪しは誰が決める?コーデックについて考える


◇携帯電話というものは、曲がりなりにも「電話」でありますから、当然、音を伝えなくちゃなりません。私は小さいころ、電話というのは細くて中空の管で、中を音が直接伝わっているものだと思っていました(笑)。でも、アナログ電話なら、この理解でおおむね間違いないんですよね(問題発言)。しかし、携帯電話はそうはいかない。なぜなら、基地局との間は空中をとおるわけで、その間に予期せぬ減衰や干渉があるわけです。そういったものに対する、耐減衰性、耐干渉性、さらにはかぎられた電波資源の有効利用のために考え出されたのが各種圧縮方式(コーデック)というわけです。というわけで珍しく前置きが長くなりましたが、今回はコーデックについて考えてみましょう。

◇さて、その昔、アナログ方式の携帯電話というものがありました(過去形;泣)。このアナログ方式というのは、いってみれば音をそのまま電波に乗せちゃったようなもの。圧縮もへったくれもありません。逆にそのおかげで、電波のいい場所では驚くほどきれいな通話が楽しめます。しかし、残念ながら、いろいろな外乱に弱い上、電波利用効率が極めて悪いアナログ式は突如デジタル式に取って代わられます。コーデックと言うものが登場したのはこのタイミングです。

◇なぜにデジタル方式になったのか、これは先ほども簡単に書きましたが、さまざまな外乱に比較的強いというのが一つ目の理由です。と言うのは、デジタルですと、符号誤り訂正が使えるので、少々誤りがあってもそれを訂正(訂正不可能の場合は最低限無音に)することができるのです。これで、品質の安定性は向上しました。逆に品質そのものは大きく落ち込んだわけですが・・・。もう一つの、そしてより大きな理由が、電波利用効率でした。アナログ式はいかんせん大量の電波資源を無駄遣いしてしまいます。いってみれば、一周波数あたり1回線しかチャンネルを張れないのですから当然です。それに対してデジタルは、時間分割などの手法で飛躍的に利用効率を高めることができます。携帯キャリアにとって1波あたりどれだけのユーザを収容できるかは直接コスト・収益に結びついてくるだけに死活問題です。ですから、結果として利用効率の高いデジタルが有利になってきます。

◇そういうわけで、主にキャリアの儲けのために導入されたコーデック。それはもちろん音声を圧縮する技術ですから、音声が劣化するのは避けられません。もちろん、圧縮しても劣化しない圧縮方式もあります。たとえば、PCデータの圧縮でお世話になるZIP方式とか、そうですね。こういう方式を「可逆圧縮」といいます。しかし、一般的なデータでは可逆圧縮は平均1/2が限界。音声のデータというのは、CD並みで128kbps、とりあえず原音には忠実、というのが64kbps程度のビットレートが必要になりますから、それを1/2以下に圧縮した時点でそれは確実に「不可逆」な圧縮になるわけです。不可逆とはつまりもとのデータに比べて情報量そのものが欠損しているということ。有名な例では、画像のJPEG圧縮があります。JPEGは人間の視覚系からは認識できない(余り気にされない)部分の情報量を削ることによって圧縮を実現します。もちろん圧縮率はいくらでもあげることが出来ますが、あまりに圧縮率をあげすぎると見るに絶えない画像になってしまうことは皆さんご存知のとおりです。

◇音声も同じです。圧縮率をあげることは可能ですが、高すぎる圧縮率は音声の劣化を招きます。MP3エンコーダを使ったことのある方ならご存知とは思いますが、ビットレートをどんどん下げていくと、そのうちごにょごにょぐちゃぐちゃのとてもじゃないけど聞けない音になってしまいます。携帯のコーデックもこれと同じなのですが、ここに意外な事実があります。それは、携帯のコーデックは何と、わずか数kbpsしかないのにちゃんと人間の声として聞こえてしまう、ということです。

◇ここら辺から、携帯のコーデックの秘密を暴露しちゃいます(とはいえ、この手の解説をした、なおかつこのコラムよりはるかに詳しいサイトはいくらでもありますが)。携帯のコーデックは、ぶっちゃけて言うと、音の素となるものを最初から用意しておいて、その組み合わせで音声を作っているのです。たとえて言うなら、「あ」という音が聞こえてきたら、コーデックによって「あ」という音をあらわすコード(数字)に変換されます。実際に電波に乗るのはそのコードです。そして、届いた側では再びそのコードに相当する音「あ」を発生するわけです。たとえば、日本語の音、約100音程度を送るのであれば、一音7bitあれば十分で、普通の会話では1秒間に10音程度しかしゃべらないそうなので、この場合は70bpsという超低ビットレートでも会話は成り立つことになります。もちろんこれは極端な例で、実際はもっと細かく音素を分解するため、一般的な携帯電話では4~8kbps程度のビットレートになっています。

◇しかし、この方法では間違っても原音に忠実な音を伝えることは出来ません。特に、この手のコーデックは人間の声の再現性に注力していますから、それ以外の音、周囲の雑音や音楽などはごにょごにょというわけの分からない音になってしまいますし、声ではなくその部品を送っているだけですから、誰が話しても似たり寄ったりの声になって、声だけで相手が誰なのかを察する、というレベルには程遠いものがあります。

◇さて、これとはまったく違うアプローチをとった圧縮方式があります。それは、すでに話の筋から予想がついているかと思いますが、PHSの採用しているADPCMコーデックです。これを説明するには、まずPCMという方式について簡単に説明する必要があります。が、実はこれは説明というほどではなく、実に簡単なのです。PCMは、純粋に音(音圧)をデジタル化(量子化)するだけの方法です(ちょっと語弊はあります)。このため、それをアナログに変換してスピーカから出せばほぼ原音のままの音が聞こえます(十分にサンプリングレートが高ければ)。一般に、PCMは64kbpsのビットレートを持ちます。このレートでも、聞いてみればわかるかと思いますが、かなりクリアな音を再現できます。よく携帯電話の着信音に使われているPCM音源ですが、まさにそのものです。あのすばらしくきれいな音、あれが64kPCMなんです。

◇で、ADPCMに話を移しますが、これは「適応差分PCM」と訳されます。簡単に言うと、「PCMとほぼ同等の音質を保ちながらビットレートを落としたもの」です。ここで小難しい話をしても仕方がないので簡単に、ですが、音というのはあらゆる音が同時に出ているというのはめったにありえない状況ですので、その場合場合によって量子化するときの基準を変えることにより少ない情報量にすることが出来る、というやり方を利用してPCMを圧縮しています。またまた誤解を招きかねないたとえ話をしますが、自動車の速度計を考えます。その自動車は時速0kmから100kmまで出せます。PCMは常に速度計のレンジ(範囲)が0~100km/hの間あるようなものです。一方のADPCMは、たとえば現在の時速が50kmなら、25~75km/hのレンジ(幅は半分)で速度表示します。車の速度がそんなに突然変化することはありえないからです。そして、次の瞬間に60km/hにスピードアップすると、レンジを35~85km/hに変化させます。こうやって時々刻々と最適なサンプリングを行うことでPCMとほぼ同等の音質と低いビットレートを実現します。

◇つまり、ADPCMは圧縮しているとはいえ、基本的に「音」を「音」のデータとして送っています。これに対して携帯のコーデックは「声」を「音素」に分解してそのコードを送っています。ここが、携帯とPHSの音質の差の決定的な原因なのです。そりゃそうです、携帯が送っているのは音ではなく、PHSは忠実に音を送っているのですから。PHSに音楽試聴サービスなんてのがあるのを知らない携帯ユーザも多いんじゃないでしょうか?PHSは音を送れますが、携帯は声(の要素)しか送れません。音楽を聴くなんてはっきり言って不可能なんです。

◇というわけで、携帯のコーデックは根本的にPHSのコーデックに比べて劣っていることは間違いないのですが、利点がまったくないわけではありません。それは、「声しか送れないこと」。???と思った方も多いかと思いますが、声しか送れない、ということは、裏を返せば、声以外の雑音を伝わりにくくすることが出来るということです。ただし、これにももちろん限度があります。喫茶店のBGM程度なら除去することが出来ますが、駅構内などのかなりの雑音となると、もろに音声に影響が出てきます。つまり、声に雑音が重なるため、音素コードブック上で不適当な音に分解されてしまうのです。というわけで例の「ごにょごにょ」声になって何を言っているのか分からないという状況になります。その点、PHSはどんなに環境雑音があっても忠実に音を伝えるだけですので、環境音といっしょに肉声がきちんと聞こえます。よく、「PHSはきれいだけど雑音がうるさくて・・・」という意見が聞かれますが、雑音の影響で声がつぶれてしまうよりはマシというものです。私も駅からかけてくる営業の電話に何度悩まされたことか・・・業務に関する連絡くらいPHSか公衆電話で入れてほしいものです。

◇ところで、携帯のコーデックで、EFRだの何だのと、「音がきれい」を売り文句に最近(と言うほどでもないですね、ずいぶん前からです)音のきれいな携帯が出てきたようですが、確かに、従来機に比べればだいぶきれいになったようです。それでも、方式は音素に分解する例の方式から変りはありません。ですから、音質という面から見ればPHSに比べるべくもないのですが、それでもだいぶ改善はされているようです。特に、対PHSでもきちんとEFRなどが効いてくれるというのがH”ユーザの私にはうれしい限りです。でも、一声目で相手が誰だか分かるというレベルには遠いようです。

◇というわけで、携帯のコーデックは発展を続けています。が、最近はその発展の方向性がやや違ってきています。すなわち、「より高音質に」ではなく、「より高圧縮に」なっているということです。次世代携帯電話は音がきれい、という間違った認識が徐々に広がっているようですが、それはあくまで従来と同程度のビットレートのコーデックでの話。次世代携帯はAMRという、状況に応じてビットレートを可変させる方式を取っていて、最大レートこそ12.2kbps(EFR相当)ですが最低レートは4.8kbpsと、現在の携帯の最低音質の状態より更に低いビットレートにまで圧縮しています。つまり、キャリアにとっては「より儲かる」方式になっているわけです。このように、世の中の動きは完全に「より低ビットレートへ」となっていますから、PHSに匹敵する音声品質を持つ移動電話は今後永遠に現れることはないでしょう。

◇しかし、みなさんPHSユーザが「携帯音悪ーい」と馬鹿にするのもわかりますが、やはり根本的な違い、つまり「雰囲気を丸ごと伝えるPHS」と「最小限の情報を伝える携帯」を理解した上で、比較してみるというのもなかなか面白いものですよ。あ、もちろん携帯ユーザの方、一度PHSの音を体験してみるというのはいかがでしょう?

◇と丸く収まったところで、収拾のつかなくなりそうなコーデックの話、お開きにさせていただきます。




戻る