情報科学概論9 通信と符号化の話 2014.6.27 田中美栄子 ディジタル通信と情報の符号化 • ディジタル方式による情報の記録は,「すべての情報 を数字に置き換えて記録する」という考え方によるも の. 例えば音楽 CD の場合, 記録すべき音の強さを 65536(=216) 段階に分けている. • 文字で文章を送る場合. 英語のアルファベットは, 大文字, 小文字を区別すると 52 文字あるが, これ は「52 個の異なる記号があって, その組み合わせ で文章を作っている」と考えられる. 文章を記録, 伝 達するには, 使う文字の数 (この場合 52 個) だけの 2 進数を用意し, それらの組み合わせで文章を 0, 1 の列に置き換える ディジタル情報とは何か • 1 桁の 2 進数は「0, 1」の 2 つ, つまり 2 つの異なる ものが区別でき, 2 桁の 2 進数は「00, 01, 10, 11」 の 4 つなので 4 つの異なるもの (文字) が区別でき る. • 3 桁だと, 000, 001, 010, 011, 100, 101, 110, 111 となり, これら 8 つにそれぞれ異なる文字を対応させ、 8 文字まで使って文が作れる, というわけ 4 桁の 2 進数. • 一般に k 桁の 2 進数は 2のk乗 個ある 符号 文字 2進 NL(改行) 0001010 10進 10 a 1100001 97 b 1100010 98 c 1100011 99 d 1100100 100 e 1100101 101 誤り率1万分の1は小さいか? 誤りの正体と符号化 • ディジタル信号にもエラーが起こる • 0と1という数字を送ると言っても、実際には 電気信号なので雑音が入ったり、クロックが ずれたりするだけで 0が1に、1が0に変わっ てしまう • 英数半角文字は8ビットで一文字を表すので、 実際には8個の2進数列のうち1個が変化し ただけで違った文字に化けてしまう • 誤りの正体は、信号の中で0 と 1 が入れ替 わること 誤り訂正の考え方(1) • バースト欠損 ランダム欠損 誤 り 検出訂正 ( ま た 誤 り 検出 はエ ラ ー 検 出 訂 正 ) はエ ラ ー 検 出 訂 正 ) と は 、 デー タ に符号 と は 、 デ に符号 誤 り が発生 誤 た場合 場合 に それ を いは あ る 。 が発生 に それ こ と で 正 ( ま た 検出 ・ あ る は訂正す あ る 。 こ で バースト欠損を ランダム欠損にする方法 ~アミダくじのアイデア~ 0 1 2 3 4 5 6 7 8 9 3 5 1 2 6 0 8 9 4 7 3倍にして送ると安全 • 0→000 • 1→111 と3倍にして送ると、無駄な情報を送らなければ ならない代わりに、間違いを修正できる 000の一つの0が1に化けても、多数決で元に 戻せる.二つ以上同時に間違うとどうしようも ないが、そのような確率は非常に低い. 誤り確率が1億分の1だと • 3つのゼロのうち一つ間違っても元に戻せる • 2つ以上同時に間違う確率は1億分の1、つ まり1憶の文字中1個しか間違わない.1頁に 1000文字、200頁分ある本が持つ情報量は 20万文字である.2バイト文字が20万で320 万ビットである.このような本が3冊で1000万 ビット.30冊で1億ビット.つまり誤り率1億分 の1とは、本30冊のうち1文字以下しか間違 わない、非常に正確な情報伝達ができること 誤り検出だけならもっと簡単 • いくら正確でも情報量を3倍使うのでは無駄 • 間違っていることを知るだけなら、パリティ・ ビットを付け加えるだけで済む • 送ろうとする情報単位ごとに1の個数を奇数 と決めておく.つまりもともと1が奇数個の情 報には0を、1が偶数個含まれる情報には、1 をパリティ・ビットに書き込んでおく • 送られてきた情報の1の数が偶数ならどこか に間違いがあるので送りなおして貰えば良い parity check code 「パリティ検査符号」 • つまり, もともと 2 桁だったものの右に, 余分に 1 桁増やして 3 桁にしているのですが, その規則は もとの情報に 1 が偶数個なら 0 を付け加え, もとの情報に 1 が奇数個なら 1 を付け加える というものです. このように, 誤りの検出や訂正のために余分 な情報を付け加えることを符号化といいます. この符号化に よると「たけやぶやけた」は 011 000 110 101 110 000 011」 となります. 送り手はこれを送るわけです. • なお, 上のような規則で符号化を行う符号を 「パリティ検査符号」(parity check code) といいます 符号化の話 いろいろな符号化 • アルファベットが (ほんとうは26文字あるが) A,B, C, D の4文字だと仮定しよう • これを0と1で符号化(2元符号化)するとき 下の表のようにいろいろ考えられる C1 C2 C3 C4 C5 C6 出現比 A 00 0 0 0 0 0 0.6 B 01 10 10 01 10 10 0.25 C 10 110 110 011 11 11 0.1 D 11 1110 111 111 01 0 0.05 特異符号 • C6は、AとDの両方に0が対応しており、0を Aと読むのかDなのか不明.このような符号を 特異符号という.(文脈次第で、これでも読め ることもある) C1 C2 C3 C4 C5 C6 出現比 A 00 0 0 0 0 0 0.6 B 01 10 10 01 10 10 0.25 C 10 110 110 011 11 11 0.1 D 11 1110 111 111 01 0 0.05 一意復号可能かどうか • C5は、特異符号ではないものの、一意復号 できない. • 0110という信号はDBとも読めるし、ACAとも 読めるので紛らわしい C1 C2 C3 C4 C5 C6 出現比 A 00 0 0 0 0 0 0.6 B 01 10 10 01 10 10 0.25 C 10 110 110 011 11 11 0.1 D 11 1110 111 111 01 0 0.05 瞬時復号可能かどうか • C1~C4は、すべて、一意復号できるが、C4 は瞬時複合できない.C4で0110を送ると、 • 0110という信号を復号するときAやBから始 めると途中で困って引き返し、CAと読むまで に時間がかかる.瞬時性がない. C1 C2 C3 C4 C5 C6 出現比 A 00 0 0 0 0 0 0.6 B 01 10 10 01 10 10 0.25 C 10 110 110 011 11 11 0.1 D 11 1110 111 111 01 0 0.05 コンパクトかどうか • C1~C3は、瞬時符号だが、C2はコンパクト でない.無駄がある. • 平均符号長を計算するとC1は2,C2は1.6で C3は1.55.C2はC3より長くコンパクトでない C1 C2 C3 C4 C5 C6 出現比 A 00 0 0 0 0 0 0.6 B 01 10 10 01 10 10 0.25 C 10 110 110 011 11 11 0.1 D 11 1110 111 111 01 0 0.05 コンパクト符号の作り方 • ハフマン符号はコンパクト • 文字の出現比の順にソートし、出現比の一番 小さい文字と2番目に小さい文字を合流させ る.この二つの枝に0と1を割りつける • 合流したものを含めて、出現比の小さい二つ を合流させてこの二つの枝に0と1を割りつけ る • これを繰り返して確率が1になったらやめる
© Copyright 2025 ExpyDoc