情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 ›...

35
情報通信システム 類セキュリティ情報学 プログラム 遠隔授業資料 2020年度 第1回(5月7日) 山口 和彦 2020.06.04修正その3版 P.18の①の行修正版(質問1対応) P.19のタイプミス,P.28の平均符号長修正版(質問3対応) を修正しました

Transcript of 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 ›...

Page 1: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

情報通信システムⅡ類セキュリティ情報学 プログラム

遠隔授業資料

2020年度 第1回(5月7日)

- - - - -

山口 和彦2020.06.04修正その3版 P.18の①の行修正版(質問1対応)P.19のタイプミス,P.28の平均符号長修正版(質問3対応)

を修正しました

Page 2: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

2

「内容(概要)」:

インターネットや携帯電話とか皆さんにもなじみの深い「情報通信」について解説します.電気通信大学の設立にもかかわる「モールス符号」から始めるデータ圧縮のお話から話をスタートします.このデータ圧縮技術の他に,通信の信頼性向上を図る「誤り制御」「信号処理」,不正から防御する「暗号セキュリティ」をはじめとした通信の(数学的なアルゴリズムを中心とする)要素技術を紹介しながら今日の情報通信について説明します.

授業内容:皆さんに色々なことを吸収して欲しいので様々な内容を扱います。難しい、大変と感じるかもしれません。

成績評価はそういう状況を考慮して加点しています。

Page 3: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

3

「内容(概要)」:遠隔授業版での補足

「情報通信システム」という名称であれば、「5G」「6G」と

いった無線環境を含む多対多の高速、低遅延のネットワーク環境やクラウド、IoT・・・といった様々な話題を含むのですが、そうしたものの情報分野の基本として

「データ圧縮」、「誤り訂正」、「暗号・セキュリティ」

があります。

セキュリティコースでは 「暗号・セキュリティ」分野については他の授業で学ぶことができるため、

この授業では「データ圧縮」と「誤り訂正」の2つの項目について学びます。

Page 4: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

4

山口 和彦(准教授)自己紹介

所属

大学院: 情報理工学研究科情報学専攻Ⅰ類学部: 情報理工学域Ⅱ類(融合系)セキュリティ情報学

E-mail [email protected]

URL

研究室のページ http://home.catv-yokohama.ne.jp/22/ya1/open/

授業資料のページ(シラバスからのリンクもあります)

http://home.catv-yokohama.ne.jp/22/ya1/itsys/

研究テーマ 「雑音や悪意からの情報保護」

授業担当

学部:情報通信システム(3年前学期)

大学院;情報理論基礎等

Page 5: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

補足 この授業の重要点(試験はここを抑えて!)

情報理論・符号理論(誤り訂正)に関連する興味深いアルゴリズムを学ぶ。「山口は符号理論(誤り訂正)に重点を置きます

暗号・セキュリティ分野に関しては他の授業がカバーするので基本的に扱わないが、(誤り訂正符号の基礎の一つといえるガロア体は暗号アルゴリズムにも関連する部分があることは述べておく)

重要項目・ハフマン符号やダイナミックハフマン符号の木構造の利用等・誤り訂正能力の概念とそれに関連する計算・ガロア体上の演算・畳込み符号の格子構造を利用するビタビアルゴリズム扱わないこと・情報源符号化定理、通信路符号化定理の証明などの詳細等 5

Page 6: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

6

第1回 序論、データ圧縮アルゴリズム

序論

電気通信大学の紹介から始める情報通信システムのお話(モールス符号とデータ圧縮)

データ圧縮アルゴリズム

1. ランレングス符号

2.ハフマン符号

※ 履修を始めた人を確認するため、第1回毎回テストの答え、アンケートと共に出欠メールを送って下さい(資料の最後の方を参照)

Page 7: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

7

電気通信大学の紹介から始める情報通信システムのお話

序論:よく話す話題ですが・・・

Page 8: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

8

電気通信大学校章と名称

日本の商用電源周波数50ヘルツの東日本と60ヘルツの西日本に対応した比率5対6のリサージュ図形をかたどっている.(昭和24年)

日本全体の調和を意味している。「電気通信大学という地名の付かない大学名を採用し、日本全国に開かれた大学を造ろう」、という建学精神を表現した校章。

コミュニケーションマーク平成22年4月の新学部設置に合わせて制定。↑

Page 9: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

9

■電気通信大学の沿革,歴史■

1918(大正 7)年12月8日社団法人電信協会「無線電信講習所」を創設

1949(昭和24)年5月31日国立学校設置法施行により電気通信大学設置・電気通信学部設置

2004(平成16)年4月1日国立大学法人法の施行に伴い「国立大学法人電気通信大学」として新たに発足 ・・・というところでしょうか

・「電信」の装置の実物は見たことはありますか?歴史資料館にありますね。一度は行って欲しいです。・電信で使うモールス符号はどんなものか知っていますか?→次ページ以降で見ていきます。

Page 10: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

10

電気通信大学 歴史資料館収蔵資料(1).無線送信機の原形(復元修理中)テスラコイルを用いたこの送信装置は、マルコー二が最初に開発した頃の装置より改良され、火花放電に代えてアーク放電によるものである。1908年に初めて

日本の商船に設備された装置も、1912年に大西洋

で遭難したタイタニック号の装置もこれに近いものと思われる。

http://ssro.ee.uec.ac.jp/lab_tomi/uec/museum/guide/spark-transmitter.html

Page 11: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

11

[モールス電信の符号の線及び間隔]

1) 1線の長さは、3点に等しい。2) 1符号を作る各線又は点の間隔は、1点に等しい。3) 2符号の間隔は、3点に等しい。4) 2語の間隔は、7点に等しい。 ---無線局運用規則別表第1号

短点を「トン」、長点を「ツー」と呼ぶモールス符号は上の様な規則になっています(例は英文だが基本は同じ)

Page 12: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

12

英文と和文のモールス符号

欧文(英文+α)モールス符号:電信の長さが短くなるようによく使う文字(E,T,A,Iなど)ほど短い符号を割り当て,通信速度を向上→これが情報理論,データ圧縮として発展

和文モールス符号:欧文ABCD順の符号をイロハ順に対応付けたもの(但し「ロ←Ä」)通信速度は考慮されていない!

次のページに両者を載せています

※留学生の皆さんへ:「イロハ」(いろは)順は分かりますか?あいうえおの順と異なる文字順です。初めて見る人は自分で調べてください。

モールス符号は1837年に、アメリカのモールスという人が発明した。蒸気船(1807年)や蒸気機関車(1814年)が発明された時代、モールスも開発にかかわっている電信機は1820年頃の発明。そこで用いる信号としてモールス符号は発明された。

Page 13: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

13

欧文(以下では英文)と和文のモールス符号の一部

ロはドイツ語のÄに対応する等、この表は英文のみのため抜けている部分もあるが、BCDE・・・に対して

ハニホへ・・・と対応する

英文では文章を送るときに符号の長さが短くなるように設計されているが日本語はそうなっていないことが分かる

Aとイが対応

Page 14: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

14

シンプルな情報通信のモデルを考えます

モールスを用いた電信を少し高度にした様なシンプルなモデルをイメージしてください。

送信者が、受信者にデータを送りたい、1対1の通信(P to P、point to pointの略)を考える(1対多とか多対多とかでない、有線か無線か等は考えない)。そうい時にどういう仕組みが必要か・・・

1. データを効率よく送る(データ圧縮符号化)

2. データを誤り無く送る(誤り訂正符号化)

3. データを盗聴妨害から守る(暗号化・セキュリティ)

これらはすべての情報通信システムの基本です。モールス符号を用いた電信と同様だけれども最適な方法を考えればどうなるだろうという問題。まず上の3つの要素をどういう順で配置すればいいか?→次頁

Page 15: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

15

PtoP 情報通信の構成要素

送信者

受信者

DA変換(変調等)

通信路(有線、無線、記録)

AD変換(復調等)

デジタルデータ

誤り訂正符号化

誤り訂正符号の復号

暗号化

データ圧縮の復号

データ圧縮符号化

変換

音声等のアナログデータ

盗聴・妨害(改ざん)を防ぐ仕組み

通信を高速化する仕組み

★順序に注意!!!

雑音・盗聴・妨害

データ圧縮、暗号、誤り訂正どれも、送信側での符号化(encode)と受信側での復号(decode)の処理が必要です(暗号の符号化は暗号化encryptと呼ぶ)。これらはこの図の順に配置されます。データを圧縮する時には送信するデータの統計的な性質を利用するため送信者に最も近い所でなければなりません。誤り訂正は、通信路に混入する雑音によるデータの誤りを取り除く処理を行うため通信路に送り出す直前(DA変換の前)に配置する必要があります。暗号の処理はそれらの間に配置されます。受信側での復号は元に戻す変換ですから逆順に配置されます。

暗号の復号

ディジタルデータを物理的な現象に変換

雑音の影響を取り除く仕掛け

受信側は対応する逆の変換が行われる

Page 16: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

この例では複数の誤り訂正符号を用いる、情報通信の構成例を示しました。様々な要素が適切な順番に物理的な通信路に対して次々に重ねられて便利で高信頼な通信路が効率的に(経済的に)実現されます。 16

前頁の通信を一つの線とてディジタルな通信路としてとらえることがあります。下図の様に理解することがあります

物理的通信路(有線,無線,記録)

誤り訂正符号(外符号)を施した通信路

暗号化を施した通信路

データ圧縮を施した通信路

様々なサービスを施した通信路

誤り訂正符号(内符号)を施した通信路

Page 17: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

17

データ圧縮符号化とは

送信者

受信者

DA変換(変調等)

通信路(有線、無線、記録)

AD変換(復調等)

誤り訂正符号化

誤り訂正符号の復号

暗号化

データ圧縮の復号

データ圧縮符号化

雑音・盗聴・妨害

暗号の復号

データ量を減らし、通信を効率的にする⇔高速にデータ送信する,複数の回線を利用する携帯電話はどの様にしている?DVDやブルーレィの記録は?

どれだけ圧縮できるのかという理論、それに対応する方法(アルゴリズム)が重要。※理論の話「どこまで圧縮できるかという理論的な限界の話」も知っておく必要があるがこれは次回。

Page 18: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

18

ランレングス符号(1)

■「連続する文字の長さを数えることを利用する方法」まずはデータ圧縮の例として分かりやすいものを取り上げよう。

情報源系列中の同じ記号が連続する長さを符号化する方式、これをランレングス符号(run length code)という。

• ファクシミリ(Facsimile G3規格等)の符号化で採用。白地に書かれた文章(白黒の二値画像を考える)では白い部分の割合が高い。白を(0)を黒(1)として、それぞれの発生確率が0.9, 0.1である場合を想定する。具体的な01のビット列として次の例①を考えよう:

①0001000011000000001000000000000000000000 (40bit)。(P.19の例題と異なっていたタイプミスを修正済:質問1の対応)

Page 19: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

19

ランレングス符号(2) ②~④系列の誤植も修正しました。

■(0)、(1)、それぞれの発生確率が0.9, 0.1の系列(例ではちょうど40bit中に1は4個ある場合となっている):1)元の系列(説明を分かりやすくするため色分けしている)① 0001000011000000001000000000000000000000

2)0の長さ0,1,2,3の4つのパターンに分類して元の系列をカンマで区切れば、②000,1,000,01,1,000,000,001,000,000,000,000,000,000,000。区切り方として0の長さが3の場合(000)以外では1を含んだパターン“1”,“01”, “001”になっていることに注意。3)長さを記号0,1,2,3に置き換えて③303103323333333となる。4)0を“00”,1を“01”,2を“10”,3を“11”に(等長符号化)すれば、④110011010011111011111111111111 (30bit)という二元系列を得て完成。例では75%の符号長に圧縮できた(圧縮率は75%であるという。削減したデータ量25%と混同するので注意。5) ④の符号化結果から③ → ② → ①と逆に変換すれば元のデータを正しく復元できる。誤植修正で30bitになりました。

Page 20: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

20

最良のデータ圧縮符号の基本「ハフマン符号」

1952年デビット・ハフマン により開発.

コンパクト符号やエントロピー符号の一つ。 シャノン符号化が最適ではない場合が存在する不完全な符号であったのに対し、ハフマン符号は常に最適な符号を構成できる。(※これらの用語は後に説明する。)

算術符号(後に説明)やその他の高効率の符号化法と異なり、特許の問題が無い。 そのため、JPEGやLHAなどの圧縮フォーマットのアルゴリズムの内部で使用されている。(※これらにはそれ以外の複雑な圧縮アルゴリズムも併用されている。

問題点として、情報源の統計的性質(頻度や出現確率)を事前に知っていたり、それを調べるため2パスの処理が必要になる。また、その統計的情報を受信側に渡さないと元のデータに復元できない(後に説明)。 ーーーー等の特徴がある。

Page 21: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

21

ハフマン符号:符号化の原理

アルゴリズムを大まかにいうと以下の通りになるA)データに出現する記号の個数を求める。 それが木構造の葉に相当すると見なし、ボトムアップで木を構成する。

B)まず、葉を含むすべてのノード(節点)のうち、親を持たないものを集める。

C)その中から、最小の値をもつものと2番目に小さい値をもつものを取り出す。 それらを子供にもつ新しい節点を作る。 このとき、新しい節点の値は、両方の子供の値の和とする。

D)B)~C)を作業ができなくなるまで実行した時に得られた木をハフマン木と呼び。これが元の記号と符号語の対応関係を示している。

Page 22: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

22

ハフマン符号,符号化の原理(2)

例){A,B,C,D,E}という5つの要素だけが文字として使われる簡単な場合.

D A E B C B A C B B BC という入力を対象とする.

各文字が使われた個数(出現頻度)を求める.前頁「A)」

その個数が少ない順に木構造を作る「B)~」次ページ

文字 個数

B 5

C 3

A 2

D 1

E 1

表 例題の文字列の文字の出現頻度

Page 23: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

23

ハフマン符号,符号化アルゴリズムstep1

文字

頻度(個数)

B 5

C 3

A 2

D 1

E 1

表 例題の文字列のハフマン符号

図 ハフマン木作成過程 step1

B=5 C=3 A=2 D=1 E=1

① 2

文字A~Eの中で、頻度の最も小さい2つの文字に着目(赤字で示す)

D,Eを葉とする木を作る

頻度の合計を計算

説明の都合上、木を作っていくノードの順番を丸付き数字で示す。最初のノードだからこれは「①」新しいノードは青で表示した。

Page 24: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

step1で処理済

24

ハフマン符号,符号化アルゴリズムstep2

図 ハフマン木作成過程 step2

B=5 C=3 A=2 D=1 E=1

① 2

② 4

未処理の(親ノードを作っていない)文字(B,C,A)とノード(①これも親を持たない)の中で頻度の最も小さい順、2つを対象(Aと①)としてstep1と同様にして木を更新。頻度の合計値が4のノード②ができる

文字DとEは親ノード①を作ったので未処理ではない。2回目の処理対象からは外す。対象はB、C、A及びノード①になる。

Page 25: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

step1,2で処理済

25

ハフマン符号,符号化アルゴリズムstep3

図 ハフマン木作成過程 step3

B=5 C=3 A=2 D=1 E=1

① 2

② 4

未処理なのは文字(B,C)とノード②である。この中で頻度の最も小さい順、2つを対象としてstep1,2と同様にして木を更新。ノード①はstep2で使用済。∴文字A,D,Eとノード①は処理済。

③ 7 頻度の最も小さい文字3と先ほどのノード②を子とする木を作る。頻度の合計値が7のノード③ができる

Page 26: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

step1~3で処理済

26

ハフマン符号,符号化アルゴリズムstep4

図 ハフマン木作成過程 step4

B=5 C=3 A=2 D=1 E=1

① 2

② 4

同様の手順(残っている対象はBと③の2つ。これらを対象として同様にして木を更新。ノード④を作る。

③ 7

④ 12

step4を行った時点で④以外の未処理ノードはもうない。ここで終了となる。④に合計された頻度は全体の文字数 12に一致。

注意:ハフマン符号の問題の間違った解答としてとても多いのが、左図に似た形(右の文字から順に新しい接点を作っていく形)を書くやつ。ハフマン木の形は文字の頻度によって様々に変わる。処理済になる文字が右から順になるとも限らない(この例では頻度順にソートしている)。試験では同じ形は普通は避ける。何か書けば中間点もらえるかもと思っているのだろう。こういう解答は何も理解していないのは明らかなので、一切加点しないことをここで言っておく。正直減点したい。

Page 27: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

27

ハフマン符号,符号化アルゴリズムstep5

表 例題の文字列のハフマン符号

図 ハフマン符号語決定過程

■完成したハフマン木に従い、各文字に対応する符号語を求める。木の根からそれぞれの文字(葉)に行く経路について、左向きに進む枝を“0”、右向きに進む枝を“1”として、できる0,1の列を符号語とする。例:文字Aならば根④から接点を右③→右②→左と辿れば到達するので対応する符号語は110である。結局、下表の様ハフマン符号の符号化テーブルができた。

B C A D E

文字 個数 符号語

B 5 0

C 3 10

A 2 110

D 1 1110

E 1 1111

0 1

①2

②4

④12

③7

※符号語から元の文字を復号時もこのテーブルを用いる。

Page 28: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

28

平均符号長

文字

出現確率

符号語(符号語長)

B 5/12 0 (1ビット)

C 3/12 10 (2ビット)

A 2/12 110 (3ビット)

D 1/12 1110 (4ビット)

E 1/12 1111 (4ビット)

表 例題の文字列のハフマン符号(符号語長を併記)

ハフマン符号の場合は各文字が異なる長さの符号語に符号

化される。ではどのくらい圧縮できたのだろうか。これを評価

る、「平均符号長」を求めよう。これは、

「符号化されたデータの長さの平均(1文字あたり)」である。

例題の場合

1×5/12+2×3/12+3×2/12+4×1/12+4×1/12 =25/12

≒2.08 (bit/文字)となる(質問3対応誤りを修正しました)

この値は、等長符号ならば1文字当たり

3ビット必要(文字が5種類あるため)なこ

とと比較すると若干効率的といえる。

実はハフマン符号は平均符号長が最も短い、最適な符号であることが知られて

おり、コンパクト符号と呼ぶことがある。

例えば、この項は文字Aの符号語が3ビットで、全12文字中2文字出現していることに対応

Page 29: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

ハフマン符号,符号化の他の解(1)

29

一つの「情報原」 (後に学ぶ。今はある頻度分布の表と置き換えて良い)に適するハフマン符号(のテーブル)は木の作り方で複数の答えがあることは分かるだろう。

例題の場合は5文字あり、そのハフマン木は4つの接点を持つその左右を入れ替えても等価であるからそのあらゆるパターンは24=16通りある。先ほどの解答例とそれと異なる2つの例を次ページに示す。

解答は異なるがどれも同じ頻度に対するハフマン符号のテーブルを求めている。これらは、当然平均符号長は全く一致するし、各接点①~④の頻度の値が一致していることが分かる。

Page 30: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

30

ハフマン符号,符号化の他の解(2)

ハフマン木の作り方は一通りではない。この例題についても

B C A D E

①2②4

④12③7

解答例の解 別解1 別解2

B C A E D

①2②4

④12③7

B C D E A

①2②4

④12

③7

文字 個数 符号語

B 5 0

C 3 10

A 2 110

D 1 1110

E 1 1111

文字 符号語

B 0

C 10

A 110

D 1111

E 1110

文字 符号語

B 0

C 10

A 111

D 1100

E 1101

等、16通りの解がある(符号化後のビット列はどれも36bitで同じ→平均長(≒2.06)は変わらない)

Page 31: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

31

符号と符号語 (code and codeword)

■後で扱う誤り訂正符号でも気を付けて欲しいこととして、「符号」と「符号語」という2つ言葉を正しく使い分けることがある。前頁のハフマン符号の表を見れば分かるように、「0」や「10」・・・「11111」というそれぞれの二元系列を符号語と呼び、その集合{0,10,110,1110,1111}を(ハフマン)符号と呼ぶ。符号語はそれぞれの文字に対応する」符号化した結果だ。不注意で「符号語」のことを「符号」と呼ぶ人が絶えない。注意して欲しい。■余談:符号語の英語(の専門用語)は「codeword」であり、「code word」ではない。Wordのスペルチェックではエラーが出るが、間にスペースを入れずに一語で書く。論文概要などの単語数制限がある時に多用する符号語という語を一単語にしたのだと思われる。慣例上「codeword」であることを覚えておいて欲しい。まあ最近では「code word」を使う本も散見されるみたいなので間違いとまでは言えないが。

Page 32: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

データ圧縮技術のまとめ

32

どんな方法を採用するかはその時代の情勢による。手っ取り早く定めた(と思われる)和文モールス符号が必ずしも悪いということではない。

→設計のコスト(手間)は削減されている。

現代のデータ圧縮技術と比べれば,英文モールスも単純!技術は日々進歩している!但し,一度定めた方法を変えるのは大変。

今回はランレングス符号とハフマン符号の符号化アルゴリズムを中心に学んだ。2つのアルゴリズムはそんなに難しくないがとくに木構造を用いるハフマン符号のアルゴリズムを曖昧に把握する人が一定割合いるようだ。注意して学んで欲しい。

Page 33: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

次回以降の予告:圧縮に関する理論的な話

33

圧縮が(どの程度)できるか、理論的に把握できないか?

では情報とは何か?情報(information、ラテン語: informatioインフォルマーティオー)1.あるものごとの内容や事情についての知らせのこと。2.文字・数字などの記号やシンボルの媒体によって伝達され、受け手において、状況に対する知識をもたらしたり、適切な判断を助けたりするもののこと。3.生体(生命)が働くために用いられている指令や信号こと。4.(情報科学での用法)価値判断を除いて、量的な存在としてとらえたそれ。

情報理論では確率的性質に基づいて情報量を定める。情報とは、不確かさを減らすもの ↓

情報の尺度、エントロピー →これから学習

Page 34: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

第一回テスト

34

1. ランレングス符号の紹介では長さ0~3の0の長さを用いた例を取り上げた。その代わりに長さ0~7の8通りの0の長さを用いるランレングス符号の場合、(P.19データ①の)符号化について、(1) 例④に対応する符号化結果はこの場合どうなるか。(2) この場合の圧縮率は何パーセントになるか。

2. 文字A~Fの出現頻度がAは1個、Bは2個、 Cは3個、 Dは4個、Eは5個、 Fは10個である6つの文字列があるとき、この文字列に適するハフマン符号を求めよ。ハフマン木を作る過程で新しい接点を作る時の頻度の合計値を順に(3)~(10)に示せ。(3) 最初に作る接点の頻度の合計値、(4) 2番目に作る接点の頻度の合計値、・・・(10) 最初に作る接点の頻度の合計値※途中で解答が終了する場合は、それ以降は空欄とする。

※上記の解答はメールでデータを送信しやすいよう結果のみにしています。途中の経過も含めて自分のノートに控えておいてください。正解は次回かそれ以降時機を見て閲覧できるようにします。

質問1を受けてついでに下記赤字カッコ部分等を加えました

Page 35: 情報通信システム - 横浜ケーブルビジョン(YCV)home.catv-yokohama.ne.jp › 22 › ya1 › itsys › itsys20201.pdf情報通信システム Ⅱ類セキュリティ情報学プログラム

出欠の連絡について

35

このPDFファイルが置かれたページに説明されているフォーマットで、出欠の連絡をメールで行ってください。メールのSubject欄(件名)をITSYS[学籍番号]attend(01)として、メール本文も指定の書式で始めてください。本文には続けて、以下のアンケート項目A)~D)と、第一回毎回テストの解答をコンマ区切りでなるべく1行で埋めてください。A) このPDFをダウンロードした日(忘れた人はおおよそで)B) このPDFをひととおり読み終わった日C) 内容を理解するのに要したおおよその時間(問題解答時間を含む)D) この資料を読むのに主に使った端末の種類。最も近い選択肢を一つ選んでくださいa(Pcwindows,mac)、b(タブレット)、c(スマートフォン)、d(その他)例 A)5月7日、B)5月8日、C) 90分、D)タブレットで、解答が、1)1、2)無回答、3) 3 4)~10)無回答ならば、「5月14日, 5月15日, 90分,b,1,, 3,,,,,,,」の様に半角カンマで区切って記入下さい。その後の行に署名欄などが続いても構いませんが、質問がある場合はこのメールに書かずに別メールでお願いします。「今回の」テスト解答は皆さんの理解度を計るために利用し、成績には無関係ですがなるべく努力してもらいたいと考えています。