コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号...

23
Information Theory, 2013 by Toyoaki Nishida コンパクト符号と ハフマン符号化 Copyright © 2013 Toyoaki Nishida All Rights Reserved.

Transcript of コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号...

Page 1: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

Information Theory, 2013 by Toyoaki Nishida

コンパクト符号と ハフマン符号化

Copyright © 2013 Toyoaki Nishida All Rights Reserved.

Page 2: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 所与の情報源Sから発生する情報源記号に一つずつ符号語を割り当て

る符号化によってできる一意復号可能な符号のうち,平均符号長が最少となる符号をコンパクト符号という.

マクミラン不等式とクラフト不等式が同形だから,任意の一意復号可能なコンパクト符号に対して,それと同じ符号語長バッグを持つ瞬時符号が存在する.

概念的には,与えられた情報源Sに対するコンパクト符号を見つけるためには,すべての瞬時符号を枚挙し,そのなかの平均符号長最少のものを選べばよい.

情報源Sに対するコンパクト符号が複数存在することもある.

Page 3: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 例: 情報源記号{A, B, C, D, E}に対する2元コンパクト符号?

瞬時符号P 瞬時符号Q 瞬時符号R …

符号長バッグ: {1, 2, 3, 4, 5} 符号長バッグ: {3, 2, 3, 3, 4} 符号長バッグ: {4, 4, 5, 4, 2}

→ {1, 2, 3, 4, 4} → {2, 2, 3, 3, 2} → {3, 3, 3, 3, 1}

これらは冗長!

Page 4: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 例: 情報源記号{A, B, C, D, E}に対する2元コンパクト符号?

瞬時符号P 瞬時符号Q 瞬時符号R …

どれがいいか? 符号長バッグ: {1, 2, 3, 4, 5} 符号長バッグ: {3, 2, 3, 3, 4} 符号長バッグ: {4, 4, 5, 4, 2}

→ {1, 2, 3, 4, 4} → {2, 2, 3, 3, 2} → {3, 3, 3, 3, 1}

Page 5: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 例: 情報源記号発生確率が〈A: 0.2, B : 0.2, C : 0.2, D : 0.2 , E : 0.2〉の場合

瞬時符号P 瞬時符号Q 瞬時符号R …

符号長バッグ: {1, 2, 3, 4, 4} 符号長バッグ: {2, 2, 3, 3, 2} 符号長バッグ: {3, 3, 3, 3, 1}

→ 平均符号長2.8 → 平均符号長2.4 → 平均符号長2.6

Page 6: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 例: 情報源記号発生確率が〈A: 0.6, B : 0.2, C: 0.1, D: 0.07 , E: 0.03〉の場合

瞬時符号P 瞬時符号Q 瞬時符号R …

符号長バッグ: {1, 2, 3, 4, 4} 符号長バッグ: {2, 2, 3, 3, 2} 符号長バッグ: {3, 3, 3, 3, 1} → 平均符号長1.7 → 平均符号長2.17 → 平均符号長2.94

情報源に依存

Page 7: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

【補助定理1】 (瞬時符号Cがコンパクトであるための必要条件)

2個以上の情報源記号をもつ情報源Sが与えられたとする. Sに対

する瞬時符号Cがコンパクトであるならば,Cに対する符号 の木Tにおいて,

(1) 葉以外の節点は必ず2個の子節点を持つ. (2) 情報源記号α,βの出現確率をそれぞれpα,pβとする. pα < pβ

ならば情報源記号α,βに割り付けられる情報源記号をそれぞ

れ,cα,cβとすると, |cα | ≧ | cβ |である.

註:2元符号と仮定

Page 8: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

0

ここで,ノードαは分岐0に対応する子節点βしか持っていないとしたら,下のようにするほうが平均符号長が短くなることは明らか.

符号の木T

α β

符号の木T’

α=β

Page 9: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

l

s

T ββ ←c

αα ←c

l

s

T’ αβ ←c

βα ←c

コンパクト符号に対する符号Cの木 T において

pα<pβなる出現確率を持つ情報源記号α,βに割り付けられる符号語cα,cβの深さs, lはs ≧ lとなる.なぜならば, s<lと仮定すると, T において符号語cα,cβへの情報源記号の割り付

けを入れ替えた符号の木 T’ に対応する符号

C’の平均符号長 L’が T に対応する符号の平

均符号長 L より小さくなり, Cがコンパクトであ

るという前提に反するからである.

βα lpspL ++=

αβ lpspL ++='

0))(()()(' <−−=+−+=− γαγααγ ppsllpsplpspLL

βα ppls << , ならば,

註:2元符号と仮定

Page 10: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

【補助定理1】 (瞬時符号Cがコンパクトであるための必要条件)

2個以上の情報源記号をもつ情報源Sが与えられたとする. Sに対する瞬時符号Cがコンパクトであるならば,Cに対する符号 の木Tにおいて,

(1) 深さdが最大の葉(最高次の葉)は少なくとも2枚あり,そのうちの一つは出現確率の最も小さい情報源記号α に割り付けられている.

(2) 深さdの葉に割り付けられている情報源記号のなかには,Sの情報源記号からαを除いた情報源記号のなかで最も小さな出現確率をもつものがある.

1

0

1 0

1

0

1 0

1

0

深さ最大の節点たち

こんな風には なっていない!

このなかのどれかはSの情報源記号のなかで出現確率の最小のものαに割り付けられている. それ以外の葉のどれかは,Sの情報源記号からαを除いた情報源記号のなかで最も小さな出現確率をもつものに割り付けられている.

註:2元符号と仮定

Page 11: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

3個以上の情報源記号をもつ情報源Sの情報源記号をA={a1, … , an},各情

報源記号aiの出現確率をpiとする.また,すべての1≦j≦n-2に対して

pj≧pn-1≧pnとする.Sのコンパクトな瞬時符号Tにおいて, an-1とanはどの

節点に対応づけられているか>?

註:2元符号と仮定

T

最高次の節点たち

Page 12: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

典型的には,an-1とanは最高次の節点(例えば,下図αとβ)に割り付けられ

る.しかし,1≦{i, j}≦n-2に対してpi = pj = pn-1 = pnとなっているとき

は, 下図節点αやβにはai や ajが割り付けられ, an-1とanは最高次でない節

点(例えば,数γやδ)に割り付けられることもある.

註:2元符号と仮定

T

最高次の節点たち

α

β

γ

δ

Page 13: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

いずれの場合でも,平均符号長を変えることのないように,節点への符号語

の割り付けを変えることにより,下図のT ’に対応するコンパクト符号を構成で

きる.

註:2元符号と仮定

'T

最高次の節点たち

α

β

γ

δ

anを割り付け

an-1を割り付け

Page 14: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

註:2元符号と仮定

【補助定理2】 (コンパクトな瞬時符号Cを構成するための十分条件)

3個以上の情報源記号をもつ情報源Sの情報源記号を A={a1, … , an},各情報源記号aiの出現確率をpiとする.また,すべての 1≦j≦n-2に対してpj≧pn-1≧pnとする.

このとき,anとan-1を一つの記号bn-1に統合して,情報源記号の集まり A’={a1, …, an-2, bn-1},各情報源記号の出現確率をp1, …,pn-1+pn とする情報源S’のコンパクトな瞬時符号C’が得られたとする.

すると,C’において,情報源記号bn-1に割り付けられた符号語cbのかわりに, an-1 ← cb 0, an ← cb 1という割り付けを加えた符号Cもまたコンパクトな瞬時符号である.

Page 15: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

【補助定理2】 の使い方

情報源S: 情報源記号発生確率 〈A: 0.6, B : 0.2, C: 0.1, D: 0.07 , E: 0.03〉

註:2元符号と仮定

情報源S1: 情報源記号発生確率 〈A: 0.6, B : 0.2, C: 0.1, D: 0.1〉

情報源S2: 情報源記号発生確率 〈A: 0.6, B : 0.2, C: 0.2〉

情報源S3: 情報源記号発生確率 〈A: 0.6, B : 0.4〉

〈A←0, B ←1〉は情報源S3のコンパクト符号

〈A←0, B ←10, C ←11 〉は,情報源S2のコンパクト符号

〈A←0, B ←10, C ←110, D ←111〉は,情報源S1のコンパクト符号

〈A←0, B ←10, C ←110, D ←1110, E ←1111〉は,情報源Sのコンパクト符号

Page 16: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 【補助定理2】 の証明骨子

情報源Sn: 情報源記号発生確率 〈a1: p1, …, an-1 : pn-1, an : pn 〉

註:2元符号と仮定

Ln

Ln-1

Tn-1

Tn

nn ac ←

11 −− ← nn ac

Tn-1がコンパクトであるにも関わらず, Tnがコンパクトでないと仮定する.すると, A={a1, … , an}に対するコンパクト符号C’が存在し,その平均符号長L’はTnの平均符号長Lより小さい.補助定理1により, C’において,最も深い節点には出現確率pnとpn-1をもつ符号語が対応づけられている.C’において同じ深さの節点に対する情報源記号の割り付けを適当に入れ替えることにより,C’と同じ平均符号長をもち, anとan-1に対して節点cの二つの兄弟節点に対応する符号語を割り付けるコンパクト符号C’’をつくることができる.ここで,C’’において, anとan-1に対する符号語割り付けの代わりに,出現確率pn+pn-1の情報源記号bに対して符号語cを割り付ける符号Cn-1’ を構成する.すると, Cn-1’は,その作り方からTn-1と同じ情報源に対する瞬時符号であり, Cn-1’の平均符号長Ln-1’がTn-1の平均符号長より短いことになり,矛盾する.

c

Page 17: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号 【補助定理2】 の証明骨子

情報源Sn: 情報源記号発生確率 〈a1: p1, …, an-1 : pn-1, an : pn 〉

註:2元符号と仮定

Tn-1がコンパクトであるにも関わらず, Tnがコンパクトでないと仮定する.する

と, A={a1, … , an}に対するコンパクト符号Cn’が存在し,その平均符号長Ln’はTnの平均符号長Lnより小さいことになる.補助定理1に関わる議論から, Cn’と平均符号長の等しいコンパクト符号Cn”が存在し, Cn”において,最も

深い節点には出現確率pnとpn-1をもつ符号語が対応づけられている.Cn’’において, anとan-1に対する符号語割り付けの代わりに,出現確率pn+pn-1の情

報源記号bn-1に対して符号語cを割り付ける符号Cn-1’ を構成する.すると, Cn-1’は,その作り方からCn-1と同じ情報源に対する瞬時符号であり, Cn-1’の平均符号長Ln-1’= Ln’- pn- pn-1がTn-1の平均符号長Ln-1= Ln- pn- pn-1よ

り短いことになり, Tn-1がコンパクトであるという前提に矛盾する.

Page 18: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

コンパクト符号

註:2元符号と仮定 平均符号長Ln

平均符号長Ln-1

Tn-1

Tn

nn ac ←

11 −− ← nn ac

c

Page 19: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

ハフマン符号

例:情報源記号発生確率を〈A: 0.6, B : 0.2, C: 0.1, D: 0.07 , E: 0.03〉とすれば,ハフマン符号化は次のように行われる.

A(0.6) 0

B(0.2)

C(0.1)

D(0.07)

0

0 1

1

(0.2)

(0.4)

(1.0)

0

10

110

1110 1

ハフマン符号化はコンパクト符号の一つの構成法である.

E(0.03)

0

1

(0.1)

1111

Page 20: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

ハフマン符号

複数のハフマン符号化が可能なケース

情報源記号発生確率が〈A: 0.35, B: 0.3, C: 0.25, D: 0.1〉となっているとき

A(0.35) 0

B(0.3)

C(0.25)

D(0.1)

0

0

1 1

1 (0.35)

(0.65)

(1.0)

0

10

110

111

A(0.35) 0

B(0.3)

C(0.25)

D(0.1)

1 0

1 1

(0.35)

(1.0)

00

01

10

11

(0.65)

0

Page 21: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

ハフマン符号

ハフマン符号化によって導き出されないコンパクト符号 その1

A(0. 23)

0 B(0.26)

1 (1)

00

01

(0.49)

D(0. 24)

E(0.27) 1

10

11

(0.51)

0

0

1

0

Page 22: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

ハフマン符号

ハフマン符号化によって導き出されないコンパクト符号 その2

A(0.123)

0 B(0.127)

C(0.25)

1

1

1

(0.5)

000

001

01

(0.25)

0

D(0.124)

E(0.126) 1

(0.5)

100

101 (0.25)

0

0

0

1

1

(1.0)

F(0.25) 11

Page 23: コンパクト符号と ハフマン符号化 - Nishida Lab · コンパクト符号 所与の情報源sから発生する情報源記号に一つずつ符号語を割り当て る符号化によってできる一意復号可能な符号のうち,平均符号長が最少

ハフマン符号

例:情報源記号発生確率を〈A: 0.6, B : 0.2, C: 0.1, D: 0.07 , E: 0.02, F: 0.01〉

3元の場合

A(0.6) 0

B(0.2)

C(0.1)

D(0.07)

0

1 (0.4)

0

10

120

121 2

E(0.02)

0

1 (0.1)

122 F(0.01) 2

1 11

A(0.6) 0

B(0.2)

C(0.1)

D(0.07)

0

1

(0.4)

0

20

220

221 2

E(0.02) 0

1 (0.1)

-

F(0.01) 2

1 21

-(0.00)

1

2

平均符号長 1.5 平均符号長 1.23