戻る MH符号表   (Modified Huffman coding)

G3 ファクシミリで使用されているデータ圧縮用符号です。

ファクシミリで送信する書類や図表には、しばしば白または黒のデータが連続します。
白または黒のデータをそれぞれ「白ラン」、「黒ラン」といい、 連続している長さをランレングス (run length) といいます。

下図の例では、白が5個、黒が6個、白が8個… と連続しています。 ランレングスはそれぞれ5,6,8……です。
白ラン、黒ランともそれぞれのランレングスに対応する2進数の符号が定められています。 この例の場合は、1100、0010、10011……です。

MH符号の例

1行のはじめは必ず白のランから始まります。もし行のはじめが黒の場合はランレングス 0 の 白のランから始まります。 白のラン、黒のランは交互に現れます。 63 までのランレングスには Terminating 符号、64 以上のランレングスには Make up 符号と Terminating 符号を組み合わせて使用します。 行のおしまいには EOL 符号が挿入されます。

以上が MH 符号方式によるデータ圧縮のおおまかな手順です。

画数の多い複雑な文字の部分では、 白や黒の短いランが続きますが、このような短いランには出現頻度の高いものほど 短い符号が割り当てられています。 また、文書の行と行の間の空白などは長い白ランが続きますが、Mark up 符号は長いランを 非常に短い符号に置き換えます。

FAX で送信中、原稿の送り速度が絶えず変化するのは、 文字の粗密等によって圧縮後のデータ量が変化するためです。

1. Terminating 符号
ランレングス 白符号  黒符号  ランレングス 白符号  黒符号 
00011010100001101113200011011000001101010
10001110103300010010000001101011
20111113400010011000011010010
31000103500010100000011010011
410110113600010101000011010100
511000011 3700010110000011010101
6111000103800010111000011010110
71111000113900101000000011010111
810011000101 4000101001000001101100
9101000001004100101010000001101101
100011100001004200101011000011011010
11010000000101 4300101100000011011011
1200100000001114400101101000001010100
13000011000001004500000100000001010101
14110100000001114600000101000001010110
151101010000110004700001010000001010111
1610101000000101114800001011000001100100
1710101100000110004901010010000001100101
18010011100000010005001010011000001010010
190001100000011001115101010100000001010011
200001000000011010005201010101000000100100
210010111000011011005300100100000000110111
220000011000001101115400100101000000111000
230000100000001010005501011000000000100111
240101000000000101115601011001000000101000
250101011000000110005701011010000001011000
2600100110000110010105801011011000001011001
2701001000000110010115901001010000000101011
2800110000000110011006001001011000000101100
29000000100000110011016100110010000001011010
30000000110000011010006200110011000001100110
31000110100000011010016300110100000001100111


2. Make up 符号
ランレングス 白符号  黒符号  ランレングス 白符号  黒符号 
641101100000011119600110101000000001110011
1281001000001100100010240110101010000001110100
19201011100001100100110680110101100000001110101
256011011100000101101111520110101110000001110110
3200011011000000011001112160110110000000001110111
3840011011100000011010012800110110010000001010010
4480110010000000011010113440110110100000001010011
51201100101000000110110013080110110110000001010100
57601101000000000110110114720100110000000001010101
64001100111000000100101015360100110010000001011010
704011001100000000100101116000100110100000001011011
768011001101000000100110016640110000000001100100
832011010010000000100110117280100110110000001100101
8960110100110000001110010EOL000000000001


情報処理概論 に戻る   目次 に戻る   信号圧縮(ランレングス法) に戻る   戻る  

update: 2004.10.12   address