3
例題 2
ランレングス圧縮によるデータの圧縮
10
図のデータ (16×16ビット)のAの部分を0.Bの部分を1として,
以下の約束に従って1行ごとに圧縮すると, データ量は何ビットに
なるか。また,圧縮率はどのようになるか計算しなさい。
①最初のビット : はじまりがAの場合は0Bの場合は1とする。
② 次の4ビット: AまたはBが続く個数を表す。 ただし, 「個数-1」
として表現する。
16
B
B
B BIBIA
AAA
A
A AIA
AAAA
AIAIA
AIA
15
解答例
考え方 圧縮率は, 「圧縮後のデータ量圧縮前のデータ量」で求め
られる。
圧縮後のデータ量
民宿前のデータ量
2/15
27.
223
1~3行は,1が16個なので,「11111」 で5ビット。
4.5行は,1が3個, 0が3個 14個.0が3個.1が3
個なので,「100100010001100100010」 21ビット。
6~16行は,「0010100110101」 なので, 13ビット。
各行のビット数を合計すると, 5×3+21×2+13×11=200
よって,データ量は200ビットとなる。
また, 圧縮率は,
200
-x100=78.125 となり, 約78%である。
16x16
考察 圧縮率が高いということは,よりデータ量が少なくなること
であり、また圧縮率の数値はより小さくなることを意味する。
BIB
AIA
11111
1
1
11 11 1
1
111
11
1
1 0 0 0
010
1
0
1
010
010
000
0
010
00111 0
011110
0
010 01010 1
0
1 1 0
0 010
1|11|10
AAAAAAABBBBB F
16
478546
後
=>
6
x100
前