コンピュータにおける情報の表現...

31
ICT Foundation 1 Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved. コンピュータにおける情報の表現 (2) 2013年度 春学期 情報基礎

Transcript of コンピュータにおける情報の表現...

Page 1: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

1

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

コンピュータにおける情報の表現 (2)

2013年度 春学期

情報基礎

Page 2: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

2

目次

• 文字の表現 • アナログとデジタル • 音のデジタル化 • 画像と動画のデジタル化 • 情報圧縮

Page 3: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

3

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

文字の表現

Page 4: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

4

文字を2進数で表現する

• コンピュータは文字データを扱うことができる ▪ 例えば,以下のように文字を2進数に対応付け(マッピング)すれば,文字を2進数として扱うことができる

▪ 文字などの情報をコンピュータで処理できる符号(2進数のビット列)で表現しなおすことをコード化(符号化)という

▪ 文字と符号の対応を表現した表を文字コード表という

文字 A B C D 2進数 00 01 10 11

※ 実際にコンピュータで使われているマッピングとは異なります

Page 5: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

5

アルファベットの符号化 ASCIIコード

• ASCIIコード ▪ 文字情報を7桁の2進数に符号化

• 上側の0~7の16進数は上位3ビット,左側の0~Fの16進数は下位4ビットを表現(例:A=41(16)=1000001(2))

▪ CRやDEL等はコンピュータに特定の機能を実行させる役割が割り当てられた機能コード

• BS(Back Space)は「一文字後退」 • CR(Carriage Return)は「行頭復帰(カーソルを,カーソルが位置する行の先頭に移動させる)」

▪ 日本語はもっと多くの文字があるので,7ビットでは表現できない

Page 6: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

6

ASCIIコード表

0 1 2 3 4 5 6 7 0 Null DLE 空白 0 @ P ` p

1 SOH DC1 ! 1 A Q a q

2 STX DC2 " 2 B R b r

3 ETX DC3 # 3 C S c s

4 EOT DC4 $ 4 D T d t

5 ENQ NAK % 5 E U e u

6 ACK SYN & 6 F V f v

7 BEl ETB ' 7 G W g w

8 BS CAN ( 8 H X h x

9 HT EM ) 9 I Y i y

A LF SUB * : J Z j z

B VT ESC + ; K [ k {

C FF FS , < L ¥ l ¦

D CR GS - = M ] m }

E SO RS . > N ^ n ~

F SI US / ? O _ o DEL

Page 7: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

7

日本語の符号化 (マルチバイトコード系)

• 漢字を含む日本語は65536通りを区別できる16ビット(2バイト)以上の2進数で表現する ▪ JIS X 0208という規格で,計6879個の文字(ひらがな,カタカナ,漢字など)が規定されている

• よく使われているJIS X 0208に基づいた符号化方式は以下の3種類 ▪ ISO-2022-JP(JIS)・・・電子メールで主に使われている ▪ Shift_JIS・・・Windowsをはじめ多くのパソコンで使われている

▪ EUC-JP・・・Unixで主に使われている

Page 8: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

8

Unicode

• 世界中の主要な言語の多様な文字を1つの文字コード体系で取り扱い,多言語表記を可能にする ▪ JIS X 0208に基づくShift-JISやEUC-JPは日本専用 ▪ 全世界の文字を16ビットで表現しようと開始された

• 符号化方式としては以下のようなものがある ▪ UCS-2,UCS-4 ▪ UTF-7,UTF-8,UTF-16,UTF-32

• 公式ホームページ:http://unicode.org

中国語や日本語,韓国語で使われる漢字で字形が似ている文字を同一とみなす(統合作業)などの問題点もある

Page 9: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

9

【演習1】 Webブラウザで文字化けを体験してみよう

• 意図的に文字化け(文字が意味不明な記号に置き換わって表示されてしまう現象)を発生させてみましょう ▪ 1. Webブラウザを起動する ▪ 2. 適当なページを表示させる ▪ 3. Webブラウザが解釈する文字コードを変更する

• Webブラウザする文字コードの変更方法

▪ Safariの場合 • 表示メニュー → テキストエンコーディング

▪ Firefoxの場合 • 表示メニュー → 文字エンコーディング

• なぜ文字化けが起こるのか考えてみましょう

Page 10: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

10

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

アナログとデジタル

Page 11: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

11

アナログとデジタル

• アナログ ▪ 「相似」が語源 ▪ 情報を連続的に変化として表すことをアナログという ▪ 数値で表現しようとすれば,無限の精度が必要 ▪ アナログ時計,天秤ばかり

• デジタル

▪ 「指」(→指で数える)が語源 ▪ 情報を不連続な変化として表すことをデジタルという ▪ お金の額,デジタル時計

Page 12: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

12

アナログ表現とデジタル表現

• 時間 ▪ アナログ時計・日時計

• 時間の流れを連続的に変化する針の角度で表す ▪ デジタル時計

• 時間を1秒あるいは1分といった(離散的な)数値で表す

• 体温 ▪ 水銀式

• 体温を連続的に変化する水銀柱の長さで表す ▪ デジタル式

• 体温を一定の刻みの(離散的な)数値で表す

Page 13: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

13

• 数値を電圧値で表すアナログ表現によって送信すると,途中で雑音の影響をうけて,もとの情報を再現できない

• 数値を電圧の高い低いのみで表現するデジタル表現で送信すると,もとの情報を再現しやすい

デジタルは雑音に強い

アナログ表現

デジタル表現

波形がひずむ

波形がひずむ もとの波形を 復元しやすい

もとの波形を 復元できない

? 10

1 0 1 0

9 ? 10 ? 11 ?

1 0 1 0

Page 14: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

14

デジタルは複製と加工がしやすい

• 複製しても劣化しにくい ▪ デジタル表現は雑音に強いため,複製しても劣化しにくい ▪ アナログ表現の情報は雑音の影響を受けやすく,複製をするたびに劣化していく

▪ 複製が簡単に作れることは著作権の侵害に結びつく ▪ 例:コピーしたものを繰り返してコピー機にかけると,字が読めなくなる

• 加工が容易

▪ デジタル表現は数値列に変換できるので,コンピュータを使えば,容易に加工できる

▪ 例:デジカメの画像の色調補正はコンピュータを使うと簡単

Page 15: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

15

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

音のデジタル化

Page 16: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

16

音と波

• 音は空気の振動が伝わっていく現象 ▪ 周波数:1秒間に含まれる波の数,単位はHz ▪ 周期:1個の波が伝わる時間,単位は秒

• 音楽CDは音声を表面の凹凸を使ってデジタル表現として記録している

• 音をデジタル表現にするためには,変換作業が必要

CDの表面の電子顕微鏡写真(明星大学物性研究センター) http://msrc.amrc.meisei-u.ac.jp/modules/myalbum/photo.php?lid=17

電圧

時間

周期

Page 17: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

17

アナログ・デジタル変換1

• 標本化(Sampling) ▪ 波形を時間軸にそって分割し,各点での波高値を有限桁の実数値として読み取る

▪ 読み取った波高値を標本値という ▪ 例:音楽CDは44.1kHz,電話は8kHz

• 量子化(Quantization) ▪ 標本値を整数値で近似する ▪ 例:音楽CDは16bit,電話は8bit

• 符号化(Encoding) ▪ 整数で近似した整数値を2進数に置き換える

Page 18: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

18

アナログ・デジタル変換2

• 元の波形を完全に再現することはできない

• 標本化を細かく行い,量子化の単位を小さくすれば,近似の精度は上がるが,情報量は増す

• 変換の際には品質と情報量の増加の兼ね合いを考慮する必要がある(一方を立てれば他方が立たないという関係をトレードオフと呼ぶ)

10

0

5

7.23… 8.16… 7.52… 4.62… 2.91… 3.35…

7 8 7 4 3 3

111 1000 111 100 11 11

量子化

標本化

符号化

Page 19: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

19

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

画像と動画のデジタル化

Page 20: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

20

ビットマップ(ラスター)画像1

• 画面の隅から一定間隔で水平方向に,濃度や色の情報を有限桁の実数値として読み取る(標本化)

• 読み取った数値を整数値に置き換え(量子化) • 整数値に置き換えた数値を2進数に変換する(符号化)

標本化 画像を升目に区切って 濃度や色を数値化

A B C D

画素A 6.23…

画素B 4.16…

画素C 3.52…

画素D 3.62…

量子化

符号化

画素A 6

画素B 4

画素C 3

画素D 3

画素A 110

画素B 100

画素C 11

画素D 11

Page 21: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

21

ビットマップ(ラスター)画像2

• 拡大すると画像の縁がぎざぎざになったり,ぼやけたりする問題がある

Page 22: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

22

ベクトル画像

• 画像を構成する曲線や直線を,始点と終点,それらを結ぶ線の種類など,幾何学的定義によって表現する

• 拡大・縮小によっても細部や鮮明さが失われることがない

Adobe Illustrator サンプルより

Page 23: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

23

動画のデジタル化

• 動画の記録や再生は人間の目が持つ性質を利用している ▪ 映画は1秒間に24コマ,テレビは30コマの静止画として動きを記録する(パラパラ漫画の原理と同じ)

▪ それぞれのコマをデジタル化する ▪ 例:地上波デジタル放送によって,伝送時の雑音が原因であるゴーストが無くなり,画質が向上する

社団法人 地上デジタル放送推進協会 http://www.d-pa.org/

Page 24: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

ICT Foundation

24

Copyright © 2010, IT Gatekeeper Project – Ohiwa Lab. All rights reserved.

情報圧縮

Page 25: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

25

情報圧縮

• 符号化などの方法を工夫して,通常よりも少ないデータ量(ビット数)で同等の情報を表現する手法

• 可逆圧縮 ▪ 圧縮したものから元の情報を完全に復元できる方法 ▪ 例:PNG,GIF(256色までしか扱えないので写真には適さない),ZIP

• 非可逆圧縮 ▪ 圧縮したものからもとの情報を復元できない方法 ▪ 例:JPEG,MP3,MPEG(人間の感じ取りにくい部分のデータを間引くことによって圧縮するため,間引いた情報は復元できない)

Page 26: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

26

圧縮の原理1 ハフマン符号化

• 出現確率の大きなものには短いビット列を割り当てる ▪ 一週間の天気(晴れ,雨,雪,くもり)を伝達する場合,4種類を区別するためには2ビットが必要

• 1週間の天気:晴れ,晴れ,晴れ,くもり,くもり,くもり,雨 • 全てを2ビットで符号化すると,00 00 00 11 11 11 10の14ビット • 出現確率が 晴れ>くもり>雨>雪 なら,晴れ:1 くもり:01 雨:

001 雪:000 と符号化すると,1 1 1 01 01 01 001の12ビット

天気 2ビットで符号化 出現確率によって符号長を変更 晴れ 00 1 雨 01 001 雪 10 000

くもり 11 01

Page 27: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

27

圧縮の原理2 ランレングス符号化

• ビット列をビット列の値とその繰り返し回数で表現する ▪ 00011000000011111110000011111000の32ビットのビット列を考える

▪ 繰り返し回数は左から0×3,1×2,0×7,1×7,0×5,1×5,0×3となる

▪ 繰り返し回数が7以下なら繰り返しの回数は3ビットで表現でき,011 010 111 111 101 101 011の21ビット列に圧縮できる

▪ 0と1が交互に現れるとすれば,各部分の値(0か1)は省略できることに注意

▪ 8回以上の繰り返しは,値が異なるビットが0回繰り返されたとすればよい(0が12回繰り返されたら,0×7,1×0,0×5として,111 000 101)

Page 28: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

28

【演習2】 漢字を伝達してみよう1

• 自分の名前から,一文字漢字を選ぶ ▪ 例えば,慶應太郎なら,「太」を選ぶ ▪ あまり複雑な文字を選ばないのがコツ

• 異なる2人に異なる方法で漢字を伝達する ▪ 1人目:文字コードによって伝達する ▪ 2人目:白黒のビットマップ画像で伝達する

• それぞれに必要な情報量を考える

Page 29: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

29

【演習2】 漢字を伝達してみよう2

• 文字コードの調べ方 ▪ 自分が利用する文字コード表が掲載されている

Webページにアクセスする • Shift-JIS:http://charset.7jp.net/sjis2.html • EUC:http://charset.7jp.net/euc2.html • JIS:http://charset.7jp.net/jis2.html • Unicode(UTF-16BE):

http://charset.7jp.net/unicode2.html

Page 30: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

30

【演習2】 漢字を伝達してみよう3

• 文字コードの調べ方(続き) ▪ commandキーとfキーを同時に押すと,Webブラウザの検索機能を利用する

▪ Safariはウィンドウの上,Firefoxはウィンドウの下に検索用のツールバーが表示される Safariで太を検索した場合

Page 31: コンピュータにおける情報の表現 (2)ipl.sfc.keio.ac.jp/text/basic-2013-4/resource/sub/...• 公式ホームページ: 中国語や日本語,韓国語で使われる漢字で字形が似て

31

【演習2】 漢字を伝達してみよう4

• 白黒ビットマップ画像による伝達 ▪ 白を0,黒を1で表現し,左から順番に走査してビット列に変換する

▪ ランレングス符号化で圧縮して送信できるかも考えてみましょう

000010000000010000111111111000010000000111000001000100010010010100001001000000000