データ圧縮

14

Click here to load reader

Upload: joe-suzuki

Post on 30-Jun-2015

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: データ圧縮

実験数学 3(大阪大学理学部数学科 3年・4年)

第 9回: データ圧縮

鈴木 譲

大阪大学

2013年 7月 25日

Page 2: データ圧縮

あらまし

一意復号可能性

エントロピーと平均符号長

Page 3: データ圧縮

符号化

A: 有限集合{0, 1}∗: 有限の長さの 2進列の集合φ : A → {0, 1}∗ (符号化)

lφ : A → Nが符号化 φの長さ

x ∈ Aに φ(x) ∈ {0, 1}l なる l ∈ N (長さ)を対応させる写像

φn : An → {0, 1}∗が n次の符号化

xn = (x1, · · · , xn) ∈ Anに φ(x1), · · · , φ(zn)を連結した長さn∑

i=1

lφ(zi )の 2進列 φ(x1) · · ·φ(xn) ∈ {0, 1}∗を対応させる写像

Page 4: データ圧縮

一意復号可能性

φが一意復号可能

任意の n = 1, 2, · · · で、各 un, vn ∈ Anについて、

φn(un) = φn(vn) =⇒ un = vn

r ∈ {0, 1}∗は s ∈ {0, 1}∗の語頭 (r ≺ s)

r が s の最初の部分の 2進列

φが瞬時復号可能

φ(u) ≺ φ(v) =⇒ u = v

Page 5: データ圧縮

例: A = {α, β, γ, δ}

▶ φa, φb, φc は一意復号可能

▶ φa, φbは瞬時復号可能

▶ φc は瞬時復号可能ではない。

▶ φ6d(α, γ, α, δ, β, α) = φ6

d(δ, β, α, γ, α, α) = 011001100

x φa(x) φb(x) φc(x) φd(x)

α 00 0 0 0β 01 10 01 10γ 10 110 011 11δ 11 111 111 01

(α, γ, α, δ, β, α) 001000110100 01100111100 00110111010 011001100(δ, β, α, γ, α, α) 110100100000 11110011000 11101001100 011001100

Page 6: データ圧縮

φa

���

@@@

���HHH

HHH���

0

1

0

1

0

1

α

β

γ

δ

φb

���

@@@HHH���

���XXX

0

10

10

1

α

β

γ

δ

φc

���

@@@

HHH

HHH

XXX

XXX

0

1

1

1

1

1

α

βγ

δ

φd

���

@@@HHH���

HHH0

10

1

1

α

δ

β

γ

Page 7: データ圧縮

瞬時復号可能 =⇒ 一意復号可能

命題

瞬時復号可能 =⇒ 一意復号可能

証明: φが瞬時復号可能と仮定符号化された後の系列 φ(x1) · · ·φ(xn) ∈ φn(A)から

1. φ(x) ≺ φ(x1) · · ·φ(xn) =⇒ x1 = xφ(x1)φ(x2) · · ·φ(xn)から φ(x1)を取り除く

2. φ(x) ≺ φ(x2) · · ·φ(xn) =⇒ x2 = xφ(x2)φ(x3) · · ·φ(xn)から φ(x2)を取り除く

3. ......

符号化される前の系列 xn = (x1 · · · xn) ∈ Anが一意

Page 8: データ圧縮

一意復号可能であるための同値な条件

定理

以下の 3つの条件は同値である。

1. lφが瞬時復号可能な符号化 φの長さ

2. lφが一意復号可能な符号化 φの長さ

3. lφがKraftの不等式を満足:∑x∈A

2−lφ(x) ≤ 1

1. =⇒ 2.は,命題から。

Page 9: データ圧縮

2. =⇒ 3.

lmax := maxx∈A lφ(x)αn(m) := #{xn ∈ An|

∑ni=1 l(xi ) = m}

(∑x∈A

2−l(x))n =∑x1∈A

2−l(x1) · · ·∑xn∈A

2−l(xn)

=∑xn∈An

2−∑n

i=1 l(xi ) =n·lmax∑m=1

αn(m)2−m

φが一意復号可能=⇒重複がない=⇒ 各 nで αn(m) ≤ 2m

=⇒ 各 nで∑x∈A

2−l(x) ≤ (n · lmax)1/n =⇒

∑x∈A

2−l(x) ≤ 1

Page 10: データ圧縮

3. =⇒ 1.

∑x∈A

2−lφ(x) ≤ 1 ⇐⇒lmax∑m=1

α1(m) · 2−m ≤ 1

⇐⇒

α1(1) ≤ 2α1(2) ≤ 2{2− α1(1)}α1(3) ≤ 2{22 − 2 · α1(1)− α(2)}...

...α1(lmax) ≤ 2{2lmax−1 − 2lmax−2 · α1(1)− · · · − α1(lmax − 1)}

=⇒ 各レベルmに α1(m)個の葉をもつ 2進木 T が存在=⇒ φ(x)から T のレベル lφ(x)の葉への 1対 1写像が存在=⇒ lφが瞬時復号可能な符号化 φの長さ

Page 11: データ圧縮

エントロピーと平均符号長

PX (x): 事象 (X = x)の確率 (x ∈ A)

X のエントロピーH(X )と φについての平均符号長 Elφ(X )

H(X ) :=∑x∈A

−PX (x) log2 PX (x)

Elφ(X ) :=∑x∈A

PX (x)lφ(x)

命題

H(X ) ≤ Elφ(X ) ≤ H(X ) + 1

となる一意復号可能な符号化 φが存在

Page 12: データ圧縮

証明: Q(x) := 2−lφ(x)

Elφ(X ) =∑x∈A

−PX (x) log2Q(x)

log x ≤ x − 1, x > 0と Kraftの不等式より,左の不等式が成立:∑x∈A

PX (x) logPX (x)

Q(x)≥

∑x∈A

PX (x)

{1− Q(x)

PX (x)

}= 1−

∑x∈A

Q(x) ≥ 0

lφ(x) := ⌈− logPX (x)⌉ (切上げ)は Kraftの不等式を満足し,⌈− logPX (x)⌉ ≤ − logPX (x) + 1より,右の不等式が成立。

Page 13: データ圧縮

ブロック符号化

X n := (X1, · · · ,Xn): 確率変数の列事象 (Xi = xi ), (Xj = xj), xi , xj ∈ A, i ̸= j が独立PX n(xn), xn ∈ An: 事象 (X n = xn)の確率

H(X n) :=∑xn∈An

−PX n(xn) logPX n(xn)

=∑xn∈An

−PX n(xn)n∑

i=1

logPX (xi )

=n∑

i=1

∑x∈A

−PX (xi ) logPX (xi ) = nH(X )

Page 14: データ圧縮

φ : An → {0, 1}∗ (n次の符号化とは異なる)lφ(x

n) := ⌈− logPX n(xn)⌉Q(xn) := 2−lφ(xn), xn ∈ An

nH(X ) ≤ Elφ(Xn) ≤ nH(X ) + 1

平均圧縮率

平均の長さを nで割った値Elφ(X

n)

n

定理

Elφ(Xn)

n→ H(X )

(n → ∞)で一意復号可能な符号化 φ : An → {0, 1}∗が存在