音声圧縮

音声圧縮（おんせいあっしゅく）あるいはオーディオ圧縮（オーディオあっしゅく、英語: audio compression）とは、音声ファイルのサイズを削減する目的で設計されたデータ圧縮の一種である。音声圧縮アルゴリズムは、「オーディオコーデック」として実装される。汎用データ圧縮アルゴリズムは音声データには適さず、オリジナルの87%以下に圧縮できることがほとんどなく、リアルタイムの再生にも適さない。そのため、音声向けの可逆圧縮アルゴリズムや非可逆圧縮アルゴリズムが生み出された。非可逆圧縮アルゴリズムは圧縮率が非常に高く、一般の音響機器によく使われている。 可逆でも非可逆でも、情報の冗長性を削減するために、符号化手法、パターン認識、線形予測などの手法を駆使して、圧縮を行う。音声品質は若干落ちるが、高音の聴き取り辛さやマスキング効果などにより多くのユーザーはその違いに気づかず、必要なデータ量は大幅に削減される。例えば、1枚のコンパクトディスクで、非圧縮の音楽データなら1時間しか記録できないが、可逆圧縮すれば約2時間分を記録でき、MP3のような非可逆圧縮なら約7時間分の音楽を記録できる。 音声スペクトルに着目した圧縮方法とは別に、PCMの量子化を工夫する方法（折線量子化，対数量子化，DPCM，ADPCM）で時系列のまま圧縮する方法もあり、実装の単純さや処理の軽さから古くはこちらが主流であったが、圧縮率がさほど高くないと言う問題点があった。量子化の工夫で圧縮を掛けるPCMはノンリニアPCMと呼ばれる。中でも折線量子化は世界初のPCM録音機が実用化された1960年代末には使われていた非常に古い方法である。 さらに、アナログの音声信号に対してプリエンファシスやコンパンディングを用いて圧縮を掛ける方法も存在し、ダイナミックレンジが極めて小さい無線通信機や電話などに用いられている他、音楽用途にもドルビーノイズリダクションシステム、dbxノイズリダクションなどのシステムが実用化されている。プリエンファシスやコンパンディングはデジタル音声圧縮でも使われる事がある。 年々記録媒体のコストが低下し、またインターネットの通信速度も向上しているため、音声ファイルを永久的に保管するための形式として、Monkey's Audio、FLAC、Shorten などの可逆圧縮フォーマットがよく使われるようになってきている。特にレコーディング・エンジニアやオーディオマニアが可逆圧縮フォーマットをよく使う。圧縮率は汎用の可逆データ圧縮と同程度（オリジナルの50%から60%）である。Blu-ray DiscやHD DVD向けに Dolby TrueHD のような可逆圧縮フォーマットも登場している。 音声の全てのデータを保持しつつ、大幅な圧縮率を達成することは困難である。そもそも、実世界で録音された音声の構造は非常に複雑で、圧縮技法のひとつであるパターンの繰り返しの検出が困難である。画像の場合もコンピュータグラフィックスよりも実世界の写真の方が圧縮しにくいのと同じである。ただし音声の場合、コンピュータが生成した音も非常に複雑な波形を含み、多くの圧縮アルゴリズムでは圧縮が難しい。これは、音声波形が時系列のまま単純化するのが難しく、人間の耳で行われているように周波数領域に（必要なら可逆に）変換してやる必要があるためである。 また、音声の標本化された値は非常に素早く変化するため、汎用のデータ圧縮アルゴリズムでは音声をうまく扱えず、同じバイト列が何度も繰り返されることもほとんどない。[-1 1]フィルタによる畳み込みは、スペクトルを若干ホワイトノイズ化（平坦化）する傾向があり、そのため可逆圧縮のエンコーダで利用される。その場合、デコーダが逆の操作を行って元の信号を復元する。FLAC、Shorten、TTA といったコーデックは、信号の周波数スペクトルを推定するのに線形予測法を用いる。エンコーダでは、その予測の逆を行って周波数スペクトルのピークを小さくすることでホワイトノイズ化し、デコーダは線形予測法をそのまま使って元の信号を再構築する。 可逆オーディオコーデックは音質には問題がないため、有用性は以下の観点で判断される。 圧縮・伸張の速度 圧縮率 対応するビット深度・サンプリングレート・チャンネル数 ソフトウェア・ハードウェアでの採用状況 誤り訂正能力 データ上の劣化は存在しないが、デコーダの性能などによって音質の劣化が発生し得る。オーディオマニアの間ではスーパーオーディオCDの圧縮を好まない傾向があり、ユニバーサルミュージックの「SACD～SHM仕様～」など非圧縮にこだわったソフトがリリースされている。 非可逆音声圧縮は、様々な場面で使われている。MP3プレイヤーやコンピュータのような直接的な利用だけでなく、DVDビデオでの音声圧縮、デジタルテレビでの音声圧縮、インターネット上のストリーミングメディア、衛星ラジオやケーブルラジオなどで使われている。非可逆圧縮は重要でないデータを捨てているため、可逆圧縮よりも遥かに圧縮率が高い（オリジナルの5%から20%）。 非可逆音声圧縮の開発には知覚心理学の一部である音響心理学の成果が応用されているため知覚符号化の名称で呼ばれる。人間の聴覚は全ての音声データを認識しているわけではない。多くの非可逆圧縮ではまず、知覚されないと思われる音、すなわち人間の耳には聞こえにくい音を識別し、知覚的冗長性を減らす。典型例としては、高周波数成分や大きな音と同時に鳴っている小さな音などである。それらの音は正確度を減じて符号化されるか、全く符号化されない。 このような聞こえない音の除去はビット数削減効果はそれほど大きくない。非可逆圧縮での圧縮の大部分はそれとは相補的なノイズシェーピングという現象によるものである。信号を符号化するビット数を減らすと、S/Nが悪化する。音響心理学に基づいた非可逆圧縮では、このような増大したノイズを知覚されないように「隠す」技法が重要である。これは例えば、高周波数成分に割り当てるビット数を削減することでなされる。そのようにするのは、元の情報に高周波数成分が少ないからではなく、人間の耳が低い周波数しか知覚できないからである。それによってノイズが隠蔽され、知覚されなくなる。 知覚モデルに基づく冗長性削減でも十分な圧縮率が得られない場合、さらなる非可逆圧縮が必要となる。音源によっては、そうしても音質の低下を感じないこともある。例えば、人間の話し声は音楽よりも圧縮可能である。非可逆圧縮の多くはデータレートを調整・設定可能であり、例えばビット毎秒で表現する。さらなる圧縮においても人間の聴覚モデルに基づいて、音の重要性を判断して圧縮していく。実際の聴覚モデルは様々で、それぞれ特定の用途に特化している。 知覚的に不要な音声信号内の部分を特定するため、多くの非可逆圧縮アルゴリズムでは時間領域の標本波形を変換領域にコンバートするため、修正離散コサイン変換 (MDCT) などを使う。一般に周波数領域に変換すると、周波数成分ごとに可聴性を考慮してビットが割り当てられる。周波数成分の可聴性は、まずマスキングしきい値を計算し、それ未満の音は人間には知覚されないと判断する。 マスキングしきい値の計算には、最小可聴値と同時マスキングの原理を使い、場合によっては経時マスキングも利用する。等ラウドネス曲線を使って各周波数成分の重み付けも行うことがある。このような脳も含めた人間の聴覚モデルに基づいた現象群を心理音響モデルと呼ぶ。 別の非可逆圧縮方式として、線形予測符号 (LPC) が人間の話し声（スピーチ）向けに使われている。この場合、音源（LPCに基づいた人間の話し声など）を量子化する前にホワイトノイズ化（平坦化）を行う。 非可逆圧縮アルゴリズムの性質から、伸張と再圧縮を繰り返すたびに音質が低下する。従って、編集過程で一時保存する際の方式としては適切でない。一方、リスニングのみの目的で利用する場合には、それなりの音質を保ったまま劇的にファイル容量を削減できる。 非可逆オーディオコーデックの有用性は、以下の観点で判断される。 音質 圧縮率 圧縮・伸張の速度 アルゴリズムの本質的なレイテンシ（リアルタイム・ストリーミングで重要） ソフトウェアやハードウェアの採用状況 非可逆圧縮フォーマットは、ストリーミングやリアルタイムでの利用（携帯電話網での音声のデジタル転送時など）が多い。そのため、データは流れに沿って即座に伸張される必要があり、全データの転送完了後に伸張するといった手法は採用できない。オーディオコーデックは必ずしもストリーミング用途に使えるわけではないので、ストリーミング用に設計されたコーデックを選ばなければならない。 データのエンコード/デコードに使われる手法によってレイテンシが異なる。コーデックによっては、比較的長い期間のデータを解析して効率を最適化するため、レイテンシが大きくなる。アルゴリズムの本質的なレイテンシは重要である。例えば、電話のように双方向のデータ転送（音声のやりとり）がある場合、遅延が大きくなるとサービス品質に致命的な問題を生じる。 圧縮の速度はアルゴリズムが実施する操作の回数に比例するが、レイテンシは1ブロックの音声を処理するまでに解析する標本数に比例する。最小ケースでは、レイテンシは0である（例えば、単純にビット深度を小さくする場合）。LPC のような時間領域のアルゴリズムもレイテンシは小さく、そのために電話でのスピーチ圧縮でよく使われる。MP3などのアルゴリズムでは、周波数領域の心理音響モデルを実装して多数の標本を解析するため、レイテンシは 23ミリ秒程度になる（双方向通信で使えば46ミリ秒になる）。 人間の話し声を対象とする音声符号化は、音声圧縮の重要なカテゴリである。人間の耳を近似した知覚モデルは、話し声と音楽では若干異なる。扱わなければならない周波数の範囲が、話し声の方が音楽よりずっと狭くてすみ、波形もそれほど複雑でない。結果として、人間の声は低ビットレートで高い音質の符号化が可能である。 これは、一般に次のような手法を組み合わせることで実現される。 人間の話し声だけを対象として符号化する。 人間の聴覚が聴ける範囲の周波数だけを対象とし、それ以外の部分を捨てる。 音声符号化の初期のアルゴリズムとして、A-lawアルゴリズムとμ-lawアルゴリズムがある(→G.711)。 音楽鑑賞用途において、非可逆圧縮音声にありがちな音質の劣化を改善するため、デジタル音響機器の一部には音質補完技術が搭載されている。主に使われているのは失われた高周波数音域を擬似的に復元する手法で、原音の通りに復元することは不可能だが、それに近い波形を再現することができる。しかし品質の低い圧縮で耳障りなノイズが付加された場合などにはほとんど効果がない。各メーカーが独自に実装しており、ソニーの「DSEE」、ヤマハの「ミュージックエンハンサー」、パイオニアの「アドバンスド・サウンドレトリバー」、ケンウッドの「Supreme」などがある。デジタルオーディオプレーヤーやAVアンプなどの機器だけでなくパソコン用の再生ソフトウェアにも同様の技術を搭載した製品がある。 コーデック#音声圧縮のコーデック 可変ビットレート 音声ファイルフォーマット 音響信号処理 音響機器 音質 コーデック コンテナフォーマット 知覚符号化 データ圧縮 デジタル著作権管理 デジタル信号処理 音響心理学 [脚注の使い方] ^ 可逆圧縮は元の音声の性質によって圧縮後のサイズ・圧縮率が大きく異なり、非可逆圧縮はビットレートの設定によって異なるため、あくまで目安である ^ “放送博物館 所蔵資料 未来につながる機器たち｜NHK 放送博物館”. www.nhk.or.jp. 2021年12月4日閲覧。 ^ “一録音エンジニアの回顧録～アナログからデジタルへ～ 第 2 回 アナログレコードの音質改善とデジタル録音の導入”. 2021年12月4日閲覧。 ^ 林謙二「ステレオ用PCM録音機」『NHK技研月報』第12巻第11号、1969年、536–541頁、ISSN 0027-6561。  ^ Coalson, Josh. “FLAC Comparison”. 6 March 2013閲覧。 ^ “麻倉怜士のデジタル閻魔帳：SACDでよみがえる戦時中の名演奏 (1/3)”. ITmedia +D LifeStyle (2011年5月20日). 2012年8月27日閲覧。 ^ Jaiswal, R.C. (2009). Audio-Video Engineering. Pune, Maharashtra: Nirali Prakashan. p. 3.41. ISBN 9788190639675  ^ Mahdi, O.A.; Mohammed, M.A.; Mohamed, A.J. (November 2012). “Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique”. International Journal of Computer Science Issues 9 (6, No. 3): 53-59. http://ijcsi.org/papers/IJCSI-9-6-3-53-59.pdf 6 March 2013閲覧。.  ^ Jagadale, B. N. (2012-12-31). “Audio Signal Processing Using Wavelet Transform”. Journal of Computer and Mathematical Sciences 3 (6): 557-663. http://compmathsjournal.com/fulltext/v3i6/3.6.4.pdf 2013年3月6日閲覧。.  ^ Faxin Yu, Hao Luo, Zheming Lu (2010). Three-Dimensional Model Analysis and Processing. Berlin: Springer. p. 47. ISBN 9783642126512  ^ Jaiswal, R.C. (2009). Audio-Video Engineering. Pune, Maharashtra: Nirali Prakashan. p. 3.43. ISBN 9788190639675  Lossless comparison - Hydrogenaudio Knowledgebase Lossless Compression of Audio