知覚符号化

知覚符号化（ちかくふごうか、英: Perceptual Coding, Perceptual Audio Coding）はアナログ信号をデジタル符号化するための技術で、主にオーディオ信号の符号化に利用される。聴覚心理学に代表される人間の知覚心理学上の特性を利用してデータ圧縮を行うことに特徴がある。 知覚符号化の原理を応用した符号化方式として変換符号化（Transform Coding）やサブバンド符号化（Sub-Band Coding）がある。 知覚符号化はオーディオ圧縮技術として多くの規格で使われており、代表的なものとしてMPEG-1オーディオ（MP3など）、MPEG-2オーディオやMPEG-4オーディオ（AAC、HE-AACなど）、ATRAC、Vorbisなどがある。 知覚符号化は人間の知覚の特性を利用し、知覚しにくい細部の情報を省略したり少ないビット数で表現することでデータの非可逆圧縮を行う方式である。再生される信号は元の信号と異なるが人間にはこの差が知覚できず、実用上同じ信号と見なすことができる。 知覚符号化による圧縮は、元の信号と同じ信号を再生する可逆圧縮方式と比べるとはるかに効率が良い。 例えば、CD 品質のオーディオ信号の場合、通常の PCM による符号化に対し可逆圧縮では多くの方式が 1/2 前後の圧縮率なのに対し 、AACなどの知覚符号化を利用した非可逆圧縮方式では音質の劣化をほとんど感じさせることなく 1/10 以下に圧縮できる。 これらの知覚符号化を利用した符号化方式では、人間の聴覚心理学上の特性を利用して情報の圧縮を行う。 ある音により他の音が聞こえなくなる人間の聴覚のマスキング特性を利用し、人間が聞こえない成分を符号化しないことで情報量を抑える。また信号を少ないビット数で量子化した場合に増える量子化雑音を聴覚が検知できる閾値以下に抑えることで、知覚できる雑音を増やすことなく符号化に必要なビット数を低減する。さらに、エネルギーの小さい周波数領域や人間の聴覚特性上聞こえにくい周波数領域に少ないビットを割り当てる。 人間の耳は音を神経刺激に変換する際に周波数スペクトルへの分解を行う。この解析は内耳の蝸牛にある基底膜の機械的な特性と内耳神経による処理とで行われ、これらはバンドパスフィルタの集まりと見なすことができる。バンドパスフィルタの特性は非対称、非線形で、周波数ごとに決まる固有の帯域幅（臨界帯域）を持つ。 知覚符号化アルゴリズムで用いられる人間の聴覚心理学上の特性として以下のものがある 。 最小可聴値（Absolute Threshold of Hearing、聴覚閾値） 聴覚が検知できる音の最小レベル 最小レベルは周波数により異なり、3～4kHz 付近が最も感度が高い。低音/高音になるにしたがい感度は悪くなる。 最小可聴限界以下の成分は符号化する必要が無く、感度が悪い周波数領域には少ないビットを割り当てても問題が無い。 同時マスキング（Simultanous Masking、周波数マスキング） ある周波数の音によりその近くの周波数の小さな音が聞こえにくくなる現象。 音が純音かそうでないかで聞こえにくさは異なる。 マスキングしきい値以下のまったく聞こえない成分は符号化する必要が無く、聞こえにくい成分は少ないビットを割り当てても問題が無い。 臨界帯域（Critical Band） 同時マスキングが発生する帯域幅。 周波数により異なり、500Hz まではほぼ一定（100Hz程度）で、500Hz 以上の周波数では中心周波数の 20% 程度の帯域幅になる。 マスキング対象成分の分析はこの帯域幅を基準に行う。 継時マスキング（Temporal Masking、時間マスキング） ある音によりその前後の時間の小さな音が聞こえにくくなる現象 音の前のマスキングは数ms程度、音の後のマスキングは100ms以上続く。 知覚符号化では、入力信号の周波数成分の分析を行い聴覚心理学上の特性から最小可聴値やマスキングの影響を計算する。符号化の際の歪みのエネルギーがマスキングしきい値以下であれば人間に知覚できないことを利用して周波数ごとの割り当てビット数を決める。割り当て対象となる周波数の幅は一定とは限らず、バーク尺度など人間の聴覚特性を反映した単位が用いられることが多い。 知覚符号化では、人間の聴覚と同様、時間によって変化する入力信号を周波数領域のパラメータに変換して処理を行う。周波数領域の信号への変換方法により以下のような様々なバリエーションがある。 変換符号化（Transform Coding） MDCTなどの直交変換（より一般的にはユニタリ変換）を利用して入力を複数の周波数領域の信号に変換 サブバンド符号化（Sub-Band Coding） 複数のフィルタを用いて入力を複数の周波数領域の信号に分解 正弦波符号化（Sinusoidal Coding） 入力を複数の正弦波の組み合わせとして表現 その他 フィルタと直交変換の組み合わせなど エンコード時、入力信号をMDCTやフィルタにより周波数領域のパラメータに変換する。 同時に聴覚心理モデルを使った分析によりマスキングの閾値を計算し、量子化雑音が閾値以下になるよう周波数領域の各成分へのビット割り当てを行う。マスキングにより聞こえにくい成分には少ないビットを割り当てられ、マスキングの閾値以下の成分にはビットが割り当てられない。 周波数領域のパラメータは割り当てられたビット数に従って量子化が行われ、さらにエントロピー符号化（例えばハフマン符号化）などの手法を用いてデータの圧縮が行われる。 最終的な符号化結果は、ビット割り当てなどの補助情報と共に最終的な符号化ビット列としてまとめられる。 周波数領域のパラメータへの変換の際、時間の分解能と周波数の分解能とのバランスをとる必要がある。一般に信号の周波数を高い分解能で分析しようとすると長い時間の観測が必要なため時間方向の分解能は低くなり、逆に時間分解能を高くすれば周波数分解能は低くなる。 多くの処理アルゴリズムでは、入力信号を分析し打楽器（例えばカスタネット）の音のように変化の激しい信号に対しては時間分解能を高くし、管楽器（例えばピッコロ）の音のように変化が少ない信号に対しては周波数分解能を高くすることで、人間の聴覚特性にあった分析を行う。 デコード時はエンコードの時と逆の操作を行う。まず最初に符号化ビット列から周波数領域の符号化結果と補助情報とを取り出す。補助情報に従って符号化結果の逆量子化を行い周波数領域のパラメータを求め、これらを時間領域の信号に再変換して信号を復元する。 変換符号化（Transform Coding）は、入力信号の周波数領域へマッピングに直交変換（より一般的にはユニタリ変換）を利用する方式である。さまざまな直交変換を使えるため自由度が高い。 使用する直交変換としては離散フーリエ変換（DFT）や離散コサイン変換（DCT）を改良したものなどが使われる。離散フーリエ変換や離散コサイン変換を使用するものは、変換により信号成分を多数のサブバンドに分割するサブバンド符号化と考えることもできる。 現在のオーディオ符号化アルゴリズムの多くでは、離散コサイン変換（DCT）の一種で、高速な処理が可能で特性の優れたMDCT（Modified Discrete Cosine Transform、変形DCT）が用いられる。 変換符号化を用いた高音質オーディオ信号の符号化の研究は1980年代中頃から行われ、以下のような様々な方式が考案された。 MSE（Multiple Adaptive Spectral Audio Coding） OCF（Optimum Coding in the Frequency Domain） PXFM（Perceptual Transform Coder）、SEPXFM（Stereophonic Perceptual Transform Coder） CNET DFT/MDCT（Centre National d'Etudes des Telecommunications DFT/MDCT） ASPEC（Adaptive Spectral Entropy Coding of High Quality Music Signals） DPAC（Differential Perceptual Audio Coder） TwinVQ（Transform-domain Weighted Interleave Vector Quantization） ASPEC はそれ以前に発表されたOCF、PXFM、CNET-MDCTの各方式の長所を組み合わせた方式で、サブバンド符号化方式のMUSICAMと組み合わされ、MP3（MPEG-1オーディオ レイヤ-III）規格のベースになった。 また、TwinVQはMPEG-4オーディオ規格の一部として使われている。 サブバンド符号化（Sub-Band Coding）は、入力信号の周波数領域へマッピングに複数のバンドパスフィルタを利用する方式である。バンドパスフィルタの集まりで入力となる周波数を複数のサブバンドに分解し、それぞれのサブバンドの信号について量子化と符号化を行う。人間の聴覚心理学上の特性を利用し帯域ごとのビット配分を決めるのは他の知覚符号化方式と同様である。 使用するフィルタとして、直交ミラーフィルタ（Quadrature Mirror Filter、QMF）、あるいは離散コサイン変換（DCT）や離散ウェーブレット変換（DWT）によるフィルタなどが用いられる。 変換符号化方式では直交変換のみを用い高い周波数分解能で信号の分析を行うが、そのため時間方向の分解能は低くなる。サブバンド符号化はサブバンド単位に粗く周波数を分割することで信号に対する時間分解能を高めている。 変換符号化と同様、サブバンド符号化による高音質オーディオ信号の符号化の研究も1980年代から行われ、以下の方式が考案された。 MASCAM（Masking Pattern Adapted Subband Coding） MUSICAM（Masking Pattern Adapted Universal Subband Integrated Coding and Multiplexing） MUSICAMはフィルタバンクを使って入力信号を32個のサブバンドに分割し聴覚心理学モデルによるビット割り当てを行う方式で、MPEG-1およびMPEG-2 BC（Backward Compatible）のレイヤI、レイヤII方式のベースになった。 正弦波符号化（Sinusoidal Coding）は、入力信号を複数の異なる周波数の正弦波の組み合わせとして表現する方法である。聴覚のマスキング特性により特定の周波数に強い成分があるとその周辺の周波数の弱い成分が聞こえなくなるため、人間の聴覚は周波数領域でのピーク成分に敏感な特性を持つ 。正弦波符号化はピーク成分の組み合わせを正弦波の組み合わせとして表現することで、少ないパラメータで入力信号を表現する。比較的低いビットレートで符号化できる特徴がある。 正弦波符号化の方式上、弦楽器の音や人間の有声音のようなトーン性の音は効率よく符号化できるが、広いスペクトルを持つ打楽器の音や人間の無声音などは多くの正弦波で表現する必要があり効率が悪い。そのため、ノイズによるモデル化など他のモデル化方法と組み合わせて使われることが多い。 最初は音声符号化手法として研究されてきたが、研究が進むにつれ複雑な波形を持つ一般的なオーディオ信号の分析・合成技術としても応用されるようになった 。 聴覚心理学モデルによる分析を行う正弦波符号化方式として、例えば以下のものがある。 ASAC（Sinusoidal Analysis/Synthesis Audio Codec） HILN（Harmonic and Individual Lines plus Noise） MPEG-4 SSC（SinuSoidal Coding） ASACは一般的なオーディオ信号を4～24kbpsに符号化する方式で、入力信号を高速フーリエ変換（FFT）を用いて分析し聴覚のマスキング特性を考慮しながら最もエネルギーの大きい周波数を順次取り出していくことで、入力信号を複数の正弦波の周波数と振幅とにパラメータ化する。 この方式を改良したものがHILNで、ASACと同様の方法で入力信号を独立した正弦波成分/ハーモニック成分の組み合わせで表現し、残った成分を特定の周波数分布を持つノイズとしてパラメータ化する。この方式はMPEG-4オーディオの規格の一部として採用された 。 MPEG-4 SSCもMPEG-4オーディオの規格の一部で、HILNより広帯域で高音質のオーディオ向けの符号化方式である。この方式では入力信号を正弦波、ノイズ、トランジェントの3つに分けて分析しパラメータ化する。さらにステレオ信号をモノラル成分と左右チャネルの違いを表す少数のパラメータで表現する 。 知覚符号化技術を用いた高音質オーディオ向けの代表的な規格として、Moving Picture Experts Group（MPEG）が規格化した国際標準やドルビーラボラトリーズによるものなどがある。 ISO/IECによる知覚符号化技術を利用したMPEGオーディオ符号化規格としてMP3やAACなどがあり、広く使われている。 MPEG-1オーディオ レイヤ-I, II（ISO/IEC 11172-3） サブバンド符号化方式であるMUSICAMが規格化されたもの。レイヤ-IはMUSICAMの簡易版、レイヤ-IIはMUSICAMのアルゴリズムをそのまま使う。 共に入力信号を直交ミラーフィルタで32個のサブバンドに分割し、同時に入力信号を FFT で分析してマスキング特性を計算する。各サブバンドの符号化はマスキングレベル以上の成分のみについて行う。 レイヤ-Iは 8ms の処理単位で 512 点の FFT を行うのに対し、レイヤ-IIでは 24ms の処理単位で 1024点の FFT を行い、ビット割り当てなどの補助情報の低減とより詳細なマスキングレベルの分析によりビットレートを低減する。 レイヤ-Iは計算量が少なく高速に符号化が可能だが圧縮率は低い。PASC（Precision Adaptive Subband Coding）の名称でデジタルコンパクトカセット（DCC）に採用され、コーデックは192kbps/チャネルのビットレートである。レイヤ-II はより圧縮率が高く、ビデオCD、衛星放送（DABなど）、D-VHS、DVD-Video、Blu-ray Discなどで採用され、多くの規格の基本フォーマットとして使われている。DABでは128kbps/チャネルのビットレートで使用されている。 MPEG-1オーディオ レイヤ-III（ISO/IEC 11172-3） レイヤ-I, II にMDCTを用いた変換符号化を組み合わせたもので、通常MP3の略称で呼ばれる。より洗練されたビット割り当てとハフマン符号の使用によりレイヤ-I, II と比べて圧縮率が高く、96kbps/チャネルのビットレートで衛星放送と同等の音質である。多くの携帯型音楽プレーヤーやインターネット上での音楽配信などで使用されている。 MPEG-2 BC/LSF（ISO/IEC 13818-3） MPEG-2 BC/LSF（Backward Compatible/Low Sampling Rates）はMPEG-1オーディオを拡張した規格である。ステレオのみをサポートするMPEG-1オーディオと後方互換性を持たせながらマルチチャネル化し、またMPEG-1より低いサンプリング周波数（16、22.05、24 kHz）もサポートする。 MPEG-2 AAC（ISO/IEC 13818-7） MPEG-2 BC/LSF は後方互換性のため圧縮率はMPEG-1オーディオと変わらず、マルチチャネル化した場合のビットレートが高くなるため実用的ではなかった。MPEG-2 AAC（Advanced Audio Coding）は、より現実的なビットレートを実現するため圧縮率を向上させた方式である。原音と区別のつかない音質の 5 チャネルのサラウンド信号を 384 kbps以下で符号化することを目標に開発が行われ、実際に採用された規格では 320 kbps（64 kbps/チャネル）で目標の音質を実現できた。 MPEG-2 AACはMPEG-2 BC/LSFと異なり、32個のサブバンド分割フィルタを無くしMDCTのみを高分解能のフィルタとして用い、より単純で効率が良い。その他、変換係数の予測処理の追加、ステレオ・コーディングでの柔軟性の向上、ハフマン符号化での圧縮率の改善など、 MPEG-2 BC/LSF と比べ多くの改善が行われている。 MPEG-2 AACとそれを拡張したMPEG-4 AACは、地上デジタル放送やBSデジタル放送、Blu-ray Disc（BDAV）、iPodなどの携帯型音楽プレーヤー、携帯電話での音楽配信など多くの分野で使われている。 MPEG-4オーディオ（ISO/IEC 14496-3）（MPEG-4 AAC, MPEG-4 HILN, MPEG-4 SSCなど） MPEG-4 AACはMPEG-2 AACをベースに拡張を行ったもので、MPEG-2 AACで標準化されたAAC Main、AAC LC、AAC SSRの各方式に加え、低ビットレート符号化のための TwinVQ（Transform-domain Weighted Interleave Vector Quantization）、リアルタイム通信などの用途向けに符号化遅延を小さくしたAAC LD（Low Delay）、ビットストリームを階層化してビットレート拡張性を持たせたBSAC、高域成分を少数のパラメータで表現することで圧縮率を向上させるSBR（Spectral Band Replication）やステレオ成分のパラメータ化を行うPS（Parametric Stereo）などの機能拡張を含む。 また、AACより低ビットレートで符号化を行うため、正弦波符号化方式を採用したMPEG-4 HILN やMPEG-4 SSCの規格が含まれる。 ドルビーラボラトリーズは1980年代後半から知覚符号化技術の研究と標準化の活動を活発に行っており、AC-2とマルチチャネル向けのAC-3アルゴリズムを開発した。 Dolby AC-2, AC-2A AC-2はドルビーラボラトリーズが開発したシングルチャネル向けのオーディオ符号化規格のファミリーで1989年に最初に発表された。20 KHzの帯域幅のオーディオ信号を128～192 kbpsに符号化できる。 入力を Time Domain Aliasing Cancellation（TDAC）呼ばれる変換で周波数領域の係数に変え、人間の聴覚特性に近いサブバンド単位にまとめ、マスキング特性を考慮したビット割り当てを行う。。周波数領域の係数は指数部と仮数部に分けて処理される。指数部は入力信号の大まかなスペクトル成分を、仮数部はその詳細部分を表現する。AC-2には4つのバージョンがあり、処理単位となるサンプル長、フィルタの細かい構成、音質などが異なる。 AC-2は映画スタジオやTVスタジオや間のISDN接続を用いた遠隔モニターやダビングなどの目的によく使用された。 Dolby AC-3 AC-3はAC-2を改良しマルチチャネル化した符号化規格で、ドルビーデジタルの名称でも呼ばれる。サポートするビットレートは 32～640 kbps で、高音質のオーディオ信号を 64 kbps/チャネルで表現できる。フィルタバンクの改良、知覚モデルとビット割り当ての改善、マルチチャネル信号間の相関の利用などでビットレートの削減を行っている。 AC-3の最初の利用は映画で、1991年の『スタートレックVI』で試験的に使われ、1992年の『バットマン・リターンズ』で公式発表された。その後、多くの映画や、DVDビデオ、BDビデオ、各種ゲームソフトなどの幅広い媒体で利用されている。 MPEGオーディオやドルビーデジタル以外の知覚符号化技術を用いた規格として、ソニーが開発したATRACや、Xiph.orgが開発したVorbis、ルーセント・テクノロジーが開発したPAC（Perceptual Audio Coder）、Enhanced PAC、Multi-channel PACなどが知られている。