Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
2013/12/24 2
用語の定義
計算機
コンピュータのこと
データ
計算機で扱う情報のこと
文字(テキスト),画像,音声など
通信
計算機間でデータをやり取りすること
ネットワーク
複数の計算機が接続され,通信を行うことができる仕組み
2013/12/24 3
復習
インターネットはどうもすごいらしい
よく考えてみると不思議なことがいっぱいある
謎を順番に解いていこう
インターネット
2013/12/24 4
今回のテーマ
電気でどうやって文章,画像,音声などを送るのか?
ところが
これで何でも送ってしまう
日記,写真,音楽 etc.
インターネットの計算機はケーブルでつながっている
ケーブル上は電気が流れるだけ
2013/12/24 5
電気で何かを伝えよう
どういうわけか2本のケーブルでつながっている2つの家
鈴木家 佐藤家
何かを伝えたくてこうしてみた
2013/12/24 6
電気で何かを伝えよう
スイッチOFF
スイッチON
電球は消えている
電球がつく
当たり前ですが...
鈴木さん
佐藤さん
2013/12/24 7
電気で何かを伝えよう
ここで,2つの約束を決める
1. スイッチOFFで0,スイッチONで1を表す
2. 1秒間隔でスイッチを切り替える
ON,OFF,ON,ON,OFF →1,0,1,1,0ね
1,0,1,1,0を伝えましょう
→ON,OFF,ON,ON,OFF
「0と1のならび」が電気を使って伝わった!!
2013/12/24 8
0と1だけで数字を表そう
0と1だけじゃつまらない
→普通の数字も伝えたい
普通の数字は0から9を使って表せる
16, 256, 1024, 65536,etc. →10で桁が繰り上がるから(10進法)
だったら「2で桁が繰り上がる数」を使おう!(2進法)
0, 1, 2, 3, 4, 5, … → “0”, “1”, “10”, “11”, “100”, “101”,…
どんな数でも0と1だけで表せる!(とりあえず整数だけ)
でも...
普通の101と区別するため
この資料では“ ”ではさみます
2013/12/24 9
0と1だけで数字を表そう
さっき電気で伝わった「0と1のならび」ですが...
100101001010010100011001… いったいどこで切れるの!!
約束を1つ追加 1. 0はスイッチOFF,1はスイッチON
2. 1秒間隔でスイッチを切り替える
3. 8個ごとに切れる
100101001010010100011001
“10010100”, “10100101”, “00011001” =140, 165, 25ね
と,いうわけで
どんな数字でも電気で伝えられる!! “11111111”(255)以上の数は...
2013/12/24 10
大きい数を送りたいとき
あらかじめ切れ目を大きめにしておく
1. 0はスイッチOFF,1はスイッチON
2. 1秒間隔でスイッチを切り替える
3. 8個ごとに切れる
32個にしておけば,
“11111111111111111111111111111111” =4294967295(42億9496万7295)
まで大丈夫(まあこれくらいあれば)
32個
その代わり,
1つの数字を伝えるのに時間がかかる
2013/12/24 11
余談:負の数を送りたいとき
負の数を0と1だけでどう表す?
切れ目が8個の場合(00000000~11111111)
興味のある人はWWWで「2の補数」を調べてみてください
“11111111” + “00000001” = “100000000” = 0
切れ目の8個目を超えた!
→捨てられる
-1は “11111111”です
→そんな馬鹿な
試しに(-1)+1を計算してみる
→(-1)+1がちゃんと0になっている
では,-2は?,-100は?
そもそも“11111111”は255じゃないの?
2013/12/24 12
数字で何でも表そう
電気を使って数字が伝えられる
→数字で表せるものは,何でも電気で伝えられる
何でも数字で表してやろう→どうやって?
213,3,32,65,53,…
日記 日記を表した数字
213,3,32,65,53,…
もとの日記 日記を表した数字
送る側
受け取る側
数字を送る
数字を受け取る
2013/12/24 13
数字で文章を表そう
文章=文字の集まり
→それぞれの文字を数字で表せば,文章が数字で表せる!
A→1, B→2, …, Z→26 と決める
“I AM VERY HAPPY”を数字で表すと?
Iが9だから,最初が9で...あれ,空白はどうする?
空白記号→0とすると
“I AM VERY HAPPY”
= 9,0,1,13,0,22,5,18,25,0,8,1,16,16,25
と,いうわけで
「文章」は電気を使って送ることができる!
2013/12/24 14
文字に数字を割り当てる
英語の文字
• アルファベット26文字 x 2
• 記号(コンマ,ピリオド etc.)
文字への数字の割り当て
「文字コード」
大文字A(65)
空白記号(32)
コード(code): 符号
あることを表すために,
一定の体系に基づいて
作られたしるし
英語の標準文字コード
「情報交換のための米国標準コード」
略してASCII(アスキー)
2013/12/24 15
文字に数字を割り当てる
日本語の文字
• かな50文字 x 2(ひらがな,カタカナ)
• 漢字たくさん
• 記号が少々
もちろん日本語の文字にも
それぞれ数字が
割り当てられている
例えば,“数”の文字コードは...
→知らなくていいです
日本語の文字コードは?
延々と続く...
2013/12/24 16
文字化けはなぜ起きるか?
実は日本語の文字コードにはいくつか種類がある JISコード
EUCコード
シフトJISコード
ユニコード
送られてきた文章の文字コードを
違う文字コードとして解釈すると
めちゃくちゃな文字が表示される
→同じ文字でも割り当てられている数字が異なる
$BJ8;z2=$1(B (“文字化け”って書いてます)
正しい文字コードを計算機に教えてあげれば直ります
2013/12/24 17
数字で画像を表そう
ここに一枚の写真があります
この部分を拡大すると
2013/12/24 18
数字で画像を表そう
さらにこの部分を拡大すると
2013/12/24 19
数字で画像を表そう
写真というのは小さな点の集合
それぞれの点には色がついている
白
グレー
緑
紫
黄
「画素」という
2013/12/24 20
数字で画像を表そう
それぞれの点の色に数字を割り当てると,
画像が数字で表せる!
たとえば白:0,黒:1,赤:2とすれば
1,1,1,1,1,1,1,1,1,1,1,1,1
1,0,0,0,0,0,0,0,0,0,0,0,1
1,0,0,0,0,2,2,2,0,0,0,0,1
1,0,0,0,2,2,2,2,2,0,0,0,1
1,0,0,0,2,2,2,2,2,0,0,0,1
1,0,0,0,0,2,2,2,0,0,0,0,1
1,0,0,0,0,0,0,0,0,0,0,0,1
1,1,1,1,1,1,1,1,1,1,1,1,1
と,いうわけで
「画像」は電気を使って送ることができる!
2013/12/24 21
色に数字を割り当てる
色にどの数字を割り当てるか?
→世の中にはたくさんの色がある
→適当に数字を割り当てると大変なことに
水色→じゃあ,32(みずで32)
うすい水色?→うーん,132
(最初の1は薄いってことで...)
じゃ,これは?
緑色→とりあえず3(みどりだけに)
こんな調子で全ての色に数字を割り当てていると
日が暮れる→というかそもそも覚えられない
2013/12/24 22
色に数字を割り当てる
光の3原色=赤,緑,青
3つの色を混ぜることでいろんな色が表せる
3つの色の強さ(明るさ)によって色が決まる
+ =
+ =
混ぜれば混ぜるほど明るくなる
→絵の具とは逆
赤 暗い青 赤紫
暗い赤 青 青紫
強い
弱い
2013/12/24 23
色に数字を割り当てる
赤,青,緑の色の強さ(明るさ)を数字で表そう
+ =
赤の強さ100 赤紫
+
+
赤の強さ100
青の強さ50
青の強さ100
+
緑の強さ0
緑の強さ100
→(100,0,50)
=
白
→(100,100,100)
最強を100,最弱を0とすると
あらゆる色が,3つの数字を使って表せる!
このような割り当て方を「RGBカラーモデル」という
(RGBはRed Green Blueの略)
2013/12/24 24
数字で動画を表そう
動画=画像の連続したもの
画像が数字で表せるのだから,動画ももちろん数字で表せる!
と,いうわけで
「動画」は電気を使って送ることができる!
2013/12/24 25
数字で音を表そう
音ってそもそも何でしょう?
→音とは,空気の振動です
「空気の振動」をどうやって数字で表すか?
楽器は,自分が振動することで
空気を振動させる
人間は,
鼓膜の振動を
音として感じる
振動は,空気中を伝わって
耳の中の鼓膜を振動させる
2013/12/24 26
数字で音を表そう
「振動」を数字で表すには?
地震計の記録
振動といえば
地面の振動→地震
地面の振動する様子を
ギザギザ(波形)で表している
横軸:時間の経過
縦軸:どのくらいずれたか(振幅)
2013/12/24 27
数字で音を表そう
「音=空気の振動」も同じように波形であらわせる
例えば,時報の
「ポーン」はこんな感じ 時間
振幅
音量の小さい「ポーン」
→振幅が小さい 時間
振幅
時間
振幅 音の高い「ポーン」
→周波数が高い
2013/12/24 28
数字で音を表そう
波形を数字で表すには
時間
振幅
一定時間ごとに振幅を調べて,数字で表す
0
10
3
-3 -10
0,3,7,9,10,9,7,3,0,-3,-7,-9,-10,-9,…
2013/12/24 29
数字で音を表そう
0,3,7,9,10,9,7,3,0,-3,-7,-9,-10,-9,…
時間
振幅
数字の列
点の並び
元の波形→音声
音声も数字で表せる!
間を適当に埋めると
数字の列から元の波形に
2013/12/24 30
数字で音を表そう
スピーカーは,音の波形に合わせて振動し,空気を振るわす
→音が鳴る
と,いうわけで
「音声」も電気を使って送ることができる!
余談:音の波の方向
2013/12/24 31
音の波は
こんな感じで 書くことが多いが
実際の空気の振動は ではなく
空気の密度(空気圧)の変化が伝わっていく
進行方向
http://www.edu.gunma-u.ac.jp/~hayakawa/school/eq/earthquake2.html
2013/12/24 32
計算機はどうやっているのか?
1. 送りたいデータを0と1のならびで表す
2. それに合わせて高速なスイッチでON/OFFを切り替える
電流が流れたり止まったり
1. 電流の変化から0と1
のならびを読み取る
2. 0と1のならびを元のデータに直す
計算機は のように電球を点けたり消したりはしていない
2013/12/24 33
ネットワークの速さとは?
スイッチを高速に切り替えるほど,たくさんのデータが送れる
実はネットワークの速さは,この切り替えの速さで決まる
→電気の流れる速さとは関係がない
例えば,50Mbpsとは,1秒間に5千万回スイッチを切り替えるという意味
→1秒で5千万個の0と1のならびが送れる
→日本語の文章なら1秒で312.5万文字送れる
ネットワークの速さ
=一定時間にどれだけのデータ
が送れるか
ON,OFF,OFF,ON,O
N,ON,OFF,ON…
Mbps:メガビーピーエス
• M(mega):100万
• b(bit):0か1
• p(per):~あたり
• s(second):秒
2013/12/24 34
ネットワークの速さとは?
ネットワーク速さは電気の速さとは関係がない
でも遠くは近くよりデータの移動に時間がかかるのでは?
...その通りです
実際にデータは遅れて到着します
速いネットワーク(でも遠い)
遅いネットワーク(でも近い)
2013/12/24 35
ネットワークの速さとは?
速いネットワーク(でも遠い)
遅いネットワーク(でも近い) データは少し遅れて
ドバッとつく
データはちょっとずつ
チョロチョロとつく
データの到着の仕方はどう違うのか?
パイプにたとえると
速いネットワーク:太いパイプ
遅いネットワーク:細いパイプ
01011011010101101
1 1 0 1
2013/12/24 36
ネットワークの速さとは?
ネットワークの速さのことを帯域幅(bandwidth)という
すなわち,ブロードバンドとは,
帯域幅(bandwidth)が広い(broad)こと ちなみに逆はナローバンド(narrowband)です
(なぜあまり耳にしないかというと「自慢にならないから」)
帯域って何? 帯域とは本当は周波数帯域のことでそもそも...
→どうでもいいのでやめときます
要するにネットワークの速さのことを幅で表すということ
2013/12/24 37
余談:データの大きさ
何もしないとデータはハンパじゃなく大きくなる
画像の場合
• 点(画素)の数が縦640個,横480個の写真(約30万画素)
• 約167万色
で,約46万文字に相当
動画の場合
• 1秒間に約30枚の画像
で,1秒あたり約1380万文字(+音声)
音声の場合
• CDと同じ音質
で,1秒あたり約88000文字に相当
→さすがにそのまま送るのは大変
2013/12/24 38
余談:データの圧縮
さまざまな圧縮方法が用いられている 画像:GIF, JPEG, PNG
音声:MP3, WMA, AAC
動画:MPEG1, MPEG2, MPEG4, DivX, WMV
データを変換して大きさを小さくする
→「データの圧縮」
データ圧縮はかなりディープな世界
興味があれば上のキーワードでWWWを検索してみてください
(ただし多少数学の知識が必要)
インターネットでいろいろなものを送れるのは,圧縮のおかげ
2013/12/24 39
まとめ
電気でいろんなものが送れるのはなぜか?
いろんなものが数字で表せる
文章,画像,動画,音声
数字が0と1だけで表せる
電気で0と1の並びが送れる
ネットワークの速さは電気の流れる速さとは関係がない
ネットワークの速さは帯域の広さで表される