情報源符号化
情報は、通信路や記憶媒体を通じて受信者に伝達される。その際、情報を正しく伝達するための通信路符号化や、情報が膨大である場合、できるだけ短く(小さく)する情報源符号化が行われる。
ハフマン符号化
情報源符号化の代表的な方法の一つ。
情報を表す際は、最も少ないビット数で一意に符号することが重要となる。例えば、a,b,c,dの4文字を符号化する場合、1文字当たり2ビットあれば、それぞれを一意に識別できる。しかし、各文字の出現確率が異なる場合、1文字当たりの平均ビット数を2ビットより少ないビット数で表現が可能となる。
ハフマン符号化は出現度の高い文字は短いビット列で、出現度の低い文字は長いビット列で符号化、これにより1情報源記号(文字)当たりの平均ビッド長を最小とする圧縮方法である。
ランレングス符号化
データ列の冗長度に着目し、同じデータ値が連続する部分を探し、その反復回数とデータ値の組に置き換えることで、データ長を短くする圧縮方法である。
例えば、Aが連続して5つ出現する場合、「AAAAA」 → 「4A」とすることで、データ長を短くする。
「データの長さから1減らした数 + 該当文字」という方式となる。
ランレングス符号化は、文字データ列だけでなく、2値画像の圧縮にも利用される。この場合、同じ色(値)が連続した個数だけを記録するという方法で行われる。
例えば、「白を0」、「黒を1」と仮定した場合、「00000000111000」は「8,3,3」に置き換えて表現される。
デジタル符号化
アナログデータをデジタル符号に変換するパルス符号変調(PCM)と呼ばれる手法がある。
方法は以下の手順で行われる。
・標本化
サンプリングとも呼ばれる。アナログ信号を一定時間間隔で切り出す。
1秒間に、サンプリングする回数をサンプリング周波数と呼ぶ。
・量子化
サンプリングしたアナログ値をデジタル値に変換する。
このとき、1回のサンプリングで生成されるビット数を量子ビット数と呼ぶ。例えば、量子化ビット数が8ビットであれば、0~255の数値へ変換される。
・符号化
量子化で得られたデジタル値を2進符号形式に変換、符号化ビット列を得る。
例えば、デジタル値が180なら、10110100へ
165なら10100101に符号化される。