15
レングス圧縮によるデータの圧縮
例題2
図のデータ (16×16ビット) のAの部分を0, Bの部分を1として,
以下の約束に従って1行ごとに圧縮すると, データ量は何ビットに
①最初のビット: はじまりがAの場合は 0, Bの場合は1とする。
なるか。 また, 圧縮率はどのようになるか計算しなさい。
② 次の4ビット : AまたはBが続く個数を表す。 ただし, 「個数 - 1」
として表現する。
考え方 圧縮率は, 「圧縮後のデータ量圧縮前のデータ量」で求め
られる。
[解答例
1~3行は,1が16個なので, 「11111」で5ビット。
4.5行は,1が3個 0 3個 14個,0が3個,1が3
個なので,「10010001000110010 0010」で21ビット。
6~16行は,「00101 00110101」なので,13ビット。
各行のビット数を合計すると, 5×3+21×2+ 13×11 = 200
よって, データ量は200ビットとなる。
また, 圧縮率は,
200
16x16
×100=78.125 となり, 約78%である。
考察圧縮率が高いということは,よりデータ量が少なくなること
であり, また圧縮率の数値はより小さくなることを意味する。