![]() |
信号圧縮 (ランレングス法) (run length method) |
ファクシミリで通信する書類や図面は、 随所で白または黒の部分が連続しています。
ランレングス法では、 白または黒が連続するものをそれぞれ 「白のラン」、 「黒のラン」
といい、 ランを定められた符号に置き換えることにより信号量を圧縮します。
下の画面では 「漢」 という文字が 64 × 64 ピクセルの画像として表示されています。
このデータを送信するとき、 最初の4行は全部白ですから、
「長さ64の白のラン」 が4回連続することになります。
画面の右側には MH 符号表 (Modified Huffman coding)
が表示されていて、 この表の右下に、
長さ (LEN) 64 の白の符号は "11011" とあります。
ランレングス法では、
"0000000000000000000000000000000000000000000000000000000000000000" を送信する代わりに、
"11011" を送信すればいいのです。
「漢」 という文字の 5 行目は、 左から 白 7、 黒 3、 白 19、 黒 8 … と続いていますから、
それぞれ "1111"、"10"、"0001100"、"000101"… という MH 符号を送信すればいいことになります。
ここでも、圧縮しなければ
"0000000111000000000000000000011111111000001111111100000000000000"
という 64 ビットを送信しなければならないところですが、
"111110000110000001011100000101110100" の 36 ビットに圧縮することができます。
下図の ボタンをクリックすると、
1 ピクセルずつデータ圧縮なしで送信する様子を青で、
ランレングス法によって圧縮して送信する様子を赤で表示します。
また、 圧縮送信時に使用されている MH 符号 は、 背景色を変えることによって示されます。
● ボタンの説明 | |
![]() | 非圧縮・圧縮の二つの方法で画像データを送信した場合の処理の進行状況を表示します。 送信中のデータの位置は赤および水色で表示されます。 また、現在送信処理中の行の 1 行分のデータも、画面の下に表示されます。 ![]() ![]() |
---|---|
![]() | 処理をクリアして初期状態に戻ります。 |
![]() | 表示速度を速くします。 |
![]() | 表示速度を遅くします。 |