俺に情報科学をママンみたいに教えてくれ!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/08/19(土) 17:27:59ID:UwFfa5IV00013有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:10:48ID:wmiaAYbF0有為っちは基本情報落ちちゃう子だから
あんまり詳しい所まで教えられないの。><
例えば1画素が8ビットって決まってる画像データがあるとするでしょ、
その画像のデータ量は画素数×8ビットよね。
8ビットということは、1画素につき2^8=256通りの情報で表せるんだけど、
同じ256通りの情報をもっと効率よく表せる方法があるのよ♪
それがハフマン符号ね!
ハフマン符号はね、
00000001 00000010 00000011 … じゃなくて、
00 01 10 1100 1101 1110 111100 111101 111110 11111101 …
っていうふうに値によって長さが変わるのよ。
各データの間は本来スペースがないから上の例だとこうなるわね。
00011011001101111011110011110111111011111101
0014有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:15:12ID:wmiaAYbF0じゃあこんなどこで切れるかわからないデータはどう読めばいいのかしら?
目印は2桁ずつ区切って、11じゃないところよ☆
00 01 10 11 00 11 01 11 10 11 11 00 11 11 01 11 11 10 11 11 11 01
こうでしょ、11の次はくっつけて・・・
00 01 10 1100 1101 1110 111100 111101 111110 11111101
ほらできちゃった☆ すっごーーーい♪♪
0015有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:28:07ID:wmiaAYbF00,5,10,15,20,25,20,15,10,5
このデータを>>5みたいに表してみるわね。
0,+5,+5,+5,+5,+5,-5,-5,-5,-5
これを普通の8ビット符号にするわね。
1桁目はここでは+の時0,-の時1にするわね。
00000000000001010000010100000101000001010000010110000101100001011000010110000101
もうたったこれだけのデータなのにこんなに長くなっちゃって大変!!><
でもハフマン符号だと、+5を00, -5を01, 0を10として
10000000000001010101
なんとこれで終わりなのよ!!お得よね〜♪♪
0016有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:33:09ID:wmiaAYbF0これは+5が一番多かったから一番最初の00にしたの。
この割り当ては固定ビットと違って毎回変わるのよ。
値の種類が増えると11111111111100とか、1111111111111111111111111101
なんていうのも出てきちゃうから、よく出てくる値を短いビットに割り当てないと
かえって長くなっちゃうのよね。
大体あってると思うんだけど間違ってたらごめんなさいね☆
0017有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:42:04ID:wmiaAYbF0いろんな関数を三角関数にできるっていうアレよね?
私まだ1,2回しか実際にやったことないんだけど…。
一見ぐちゃぐちゃな波でも実はいくつかのsinとcosの波を足したものであるっていう
フーリエの法則っていうのがあるのよ。
xが奇数:f(x)=1
xが偶数:f(x)=0
っていうデコボコでもできるんですって!
あとは計算式を見て頑張って計算するしかないわね・・・・。
0018有為の奥山今日越えて浅き夢みじ酔ひもせず ◆Pj.rsagelo
2006/08/26(土) 18:43:56ID:wmiaAYbF0http://www.geocities.jp/mozi1129/flash/opai.html
これかしら??
■ このスレッドは過去ログ倉庫に格納されています