Q13:圧縮技術の基本的な技術「可変長符号化方式」の特徴とは?
H.264/AVCという最新の圧縮技術で必要となる圧縮技術の基本的な要素のうち、可変長符号化方式の特徴について説明してください。
これまで、「Q&Aで学ぶH.264/AVC(11):圧縮技術の基本的な要素は?」「Q&Aで学ぶH.264/AVC(12):圧縮技術の基本的な要素の1つである『DCT(離散コサイン変換)』とは?」の2回にわたって、H.264/AVCでも使われている圧縮の基本的な5つの技術のうち、
【基本要素1】予測:2つの予測技術
【基本要素2】動き補償フレーム間予測
【基本要素3】双方向動き補償フレーム間予測
【基本要素4】変換:DCT(離散コサイン変換)
について説明しました。
今回は、
【基本要素5】可変長符号化方式の特徴
について、説明します。
【基本要素5】可変長符号化方式の特徴
[1]固定長符号化方式との比較
予測や変換処理した結果は、何らかの値を示す数字で表されます。それらの中には頻繁に現れる値もありますし、たまにしか出現しない値もあります。このような場合、出現頻度の高い値には「短い符号」を割り振り、出現頻度の低い値には「長い符号」を割り振る「可変長符号化」(エントロピー符号化とも言う)によって、平均的な符号長を短くして、圧縮効果を得ることができます。
例えば、表1-3に固定長符号化方式と可変長符号化方式の比較例を示します。
ある文章の場合に、出現頻度が高い文字の順に「A」には短い1ビットの「0」を、「B」には2ビットの「01」を「C」には3ビットの「011」、そして出現頻度が最も低い「D」には長い4ビットの「0111」という符号を割り振る方法は、「可変長符号化方式」と呼ばれます。これに対して、「A」にも、「B」にも、「C」にも、「D」にもすべて同じ2ビットの符号「00」「01」「10」「11」を割り当てるような方式は「固定長符号化方式」と呼ばれます。表1-3の計算結果に示すように、出現する同じ文字(A、B、C、D)に対し、固定長符号化方式は、合計2.0ビットであるのに比べ、可変長符号化方式のほうは合計1.55ビットと23%もビット数が少なくて済み、圧縮効果を高めることができることがわかります。
[2]身近なモールス符号の例
その身近な例を、モールス符号(トン・ツー符号)に見ることができます。英語のテキストには「e」の文字が最も頻繁に現れることから「単点(トン:「・」)1個」で表され、時々しか出てこない「z」は「長点2個、単点2個(ツー・ツー・トン・トン:「--・・」)」で表されます。
可変長符号化の圧縮効果は、多くの符号を送ったときに平均して得られるものであることに注意が必要です。可変長符号化の効率は、符号化する事象の出現頻度に依存します。想定した出現頻度と実際の出現頻度が異なる場合、意図した効率が得られなくなります。そこで、符号化対象の出現頻度が固定しているとして符号を定めるのではなく、時間とともに変化する符号化対象の統計に適応しながら符号を定める適応的な可変長圧縮符号化があります(これは、算術演算のみで符号化・復号できる算術符号化と組み合わせてよく使用されます)。出現頻度によって符号を変える方法は、多様な画像に適応しながら可変長圧縮符号化の符号化効率を高められることから、最近の動画像圧縮符号化標準に採り入れられています。この技術も、CPUなどデバイスの処理能力の向上によって実用的となりました。
※この「Q&Aで学ぶ基礎技術:最新の情報圧縮技術〔H.264/AVC〕編」は、著者の承諾を得て、好評発売中の「改訂版 H.264/AVC教科書」の第1章に最新情報を加えて一部修正し、転載したものです。ご了承ください。