2004, Spring term, Yutaka Yasuda #2 bit, Byte, フォーマット 2004, Spring term, Yutaka Yasuda
デジタル処理の原理 情報のデジタル化=符号化=数値化 三角形なら (0,0),(100,0),(100,210) 音声なら 4,3,4,7,7,8,8,5,3,2,2… 確定的な数値として表現 欠点と利点の双方をもつ デジタル情報化=符号化=数値化 対象の特徴を記号や数値によって確定的に表現 三角形の頂点の座標位置を (0,0),(100,0),(100,210) と記述 これがデジタルデータそのもの 音声ならサンプリングによって連続的な波を不連続な数値列で表現 確定的な数値列として表現することでさまざまな利点が生まれた 伝達や記録、複製に伴うノイズの抑制 ゼロに出来るかも知れない 完全に同一内容の複製の作成が可能 初期ノイズの発生 デジタル化(数値化)の時点でオリジナルとの相違が発生 デジタル化処理とは近似のことである 因みに、、、 伝達・記録・複製はどれも同じこと 技術にその境界はない
画像のデジタル表現 絵は画素(Pixcel : Picture Element)ごとに分解 各画素ごとに数値化 1-3-5,1-2-5,1-1-4 のごとし 空間的なサンプリングと考える 時間で変化がない、静止二次元画像 絵は画素ごとに分解 Pixcel : Picture Element からきた造語 各画素ごとに数値化 1-3-5,1-2-5,1-1-4 のごとし 空間的なサンプリングと考える 15
カラー画像のデジタル表現 230 29 10 180 28 9 230 22 17 一画素ごとに赤・青・黄に色分解して各色256段階で記録 空間的サンプリングと考えれば良い 動画も簡単にデータ化できますね?
文字のデジタル表現 数値化された文字、とは? 元もと文字はデジタルな存在? (例) あり得る文字にすべて番号を振る 番号付け=コード化(符号化) 元もと文字はデジタルな存在? (例) ABC = 1,2,3 とすれば 26 で足りる abc = 27,28,29.. で 52 まで 0,1,2 = 53,54 で 62 まで 漢字はたいへんだが 6 万もあれば? 数値化された文字、とは? あり得る文字にすべて番号を振る 文字に番号を振って、文字列を番号列として表現 番号付け=コード化(符号化) 元もと文字はデジタルな存在? 何が変わったか? 文字を形ではなく番号で識別するということになった (極限のところでは文字は極めてアナログな存在だが) (例) ABC = 1,2,3 とすれば 26 で足りる abc = 27,28,29.. で 52 まで 0,1,2 = 53,54 で 62 まで 漢字はたいへんだが 6 万もあれば?
文字データの例 “A” “B” “1” “2” “3” AB123 65 66 49 50 51 (ASCII) 漢字 “漢” “字” 180 194 187 250 (EUC) 標準枠の存在 無限に大きな数字を書ける記録枠を用意したくない 同じメモリ領域に文字も音声も画像も区別せず使いたい 音声専用メモリ領域というものを汎用計算機に付けたくない =専用機では普通に有る 小さな桁数の枠をたくさん用意して、桁が足りない場合は並べて使う (工夫が重要) 標準枠 = Byte 1 Byte = 8 bit が主流(歴史的経緯による) 標準枠 = Byte 1 Byte = 8 bit が主流(歴史的経緯)
標準枠としての Byte Byte ASCIIは 1 バイト 漢字は(普通は) 2 バイト 慣例的に決まった 0-255までの256種類の値を入れられる枠 (8bit) 255を超える値は二桁(2Bytes)使う Byte is not ‘Bite’ , bit is not bit ASCIIは 1 バイト 漢字は(普通は) 2 バイト 「フロッピー1枚は新聞何枚に相当し、、」 Byte 慣例的に決まった 0-255までの256種類の値を入れられる枠 (8bit) 255を超える値は二桁(2Bytes)使う Byte is not ‘Bite’ , bit is not bit Bite はガリッと噛む、bit は少し、カケラ、で意味は通るが違う Byte は何だろう? bit は binary digit の略 ASCIIは 1 バイト 漢字は(普通は) 2 バイト 「フロッピー1枚は新聞何枚に相当し、、」
データの内部処理について
音楽CDは何バイトあるか? さまざまなもののバイト数 さまざまなものが bit にかわる姿を想像できたろうか? 広辞苑 (第二版) 音楽CD 24字 x 50行 x 4段 x 2400ページ=11,520,000 字 一文字 2 Bytesとして 23 Mega Bytes 音楽CD 44KHz x 65536段階(2Bytes) x 2ch = 176KB/sec 176KB x 3600sec = 633,600 KB = 634MB さまざまなものが bit にかわる姿を想像できたろうか?
電子回路でのデータ表現 コンピュータはスイッチの on/off で動作している 理由 スイッチ一つ分、電線一本分、二進数一桁分のデータの枠が bit (binary digit) となる 理由 二値動作の単純さ(誤動作への耐性) 汎用性の高さ コンピュータはスイッチの on/off で動作している 数学的表現「二進法で動作している」 スイッチ一つ分、電線一本分、二進数一桁分のデータの枠が bit (binary digit) となる データ表現の最小単位のことを指す場合も 理由 二値動作がもっとも機構的に単純=誤動作しにくい 1945 年頃の回路技術を想像して欲しい 汎用性が高い:単純であるぶん、どのようなメディア・機構でも利用できた 昔はともかく、いま三値回路、四値回路があっても不思議ではない 1 Byte = 8 bits (歴史的経緯) 4/8/12/16/32/36 と基準単位を 8 以外にとったものは幾らもある(工学系の人は PDP-11 を調べよ) 1 Byte = 8 bits が今は普通
データは bit から電気信号へ 構造 結論 デジタルデータが電気の on/off によって処理される姿が想像できただろうか? デジタルデータは数値列として表現 データは標準枠 Byte 単位に格納される 1 Byte = 8 bits & 1 bit = on/off 結論 データは二値化されて電子回路に格納される すなわち内部は二進法で数値処理が行われる デジタルデータが電気の on/off によって処理される姿が想像できただろうか? デジタルデータは数値列として表現 データは標準枠 Byte 単位に格納される 1 Byte = 8 bits つまり 8 組の電子回路を単位に格納される 1 bit は on/off の二値 データは二値化されて電子回路に格納される すなわち内部は二進法で数値処理が行われる デジタルデータが電気の on/off によって処理される姿が想像できただろうか?
話を論理的な層に戻します
データ その実体は数値(記号)の列 これだけでは無意味 このルールがフォーマット(書式)を生む 音声:111,121,122,89,80,82,75…. 静止画:10,240,22,30,34,80… 音声付き動画:12,33,45,1123,488… 文字:33,38,42,60,32,39,55,80… これだけでは無意味 符号化ルールとデータは常に一体 このルールがフォーマット(書式)を生む その実体は数値(記号)の列 音声:111,121,122,89,80,82,75…. 静止画:10,240,22,30,34,80… 音声付き動画:12,33,45,1123,488… 文字:33,38,42,60,32,39,55,80… これだけでは無意味 符号化ルールとデータは常に一体 それがどんなものか どのようにして数値化したのか どうすれば再現(利用可能な状態に)できるか このルールがフォーマットを生む 次の1バイトが何を意味しているか?
フォーマット(書式) 同じ画像データでも数え方を違えると全く違う数字列に 1-3-5,1-2-5,1-1-4 1-1-1,3-2-1,5-5,4 符号化ルールと一致する復号化をしないと異なる結果に 20
フォーマット(書式) デジタルデータを解釈するには フォーマット(書式) 解釈(復号)ルールが必要 つまりデータにはフォーマットがある フォーマットを間違えて解釈すると間違った結果が導き出される 異なるアプリケーションでデータが扱えない理由 データにおける「互換性」という概念の実体 デジタルデータを解釈するには 解釈(解読)ルールが必要 データそのものはただの記号(数値)の列 符号化ルールと同一の場合もあるし同一でない場合もある フォーマット(書式) つまりデータにはフォーマットがある フォーマットを間違えて解釈すると間違った結果が導き出される(いわゆる「文字化け」など) 異なるアプリケーションでデータが扱えない理由 データにおける「互換性」という概念の実体
文字におけるフォーマットの問題 統一されていないルール ASCII コード JIS漢字表 いわゆる文字化けの原因 文字番号表(この字を何番とするか)はいくつかある バイト単位での並べ方(次の 1 バイトは漢字の前半か、後半か)にも幾つか ASCII コード JIS漢字表 JIS/EUC/Shift-JIS漢字コード いわゆる文字化けの原因 文字番号表(この字を何番とするか)はいくつかある バイト単位での並べ方(次の 1 バイトは漢字の前半か、後半か)にも幾つか つまり統一されていない=複数のフォーマットがある ASCII コード JIS漢字表 JIS/EUC/Shift-JIS漢字コード 言語の異なる相手とメイルを交換すると? これがいわゆる文字化けの原因 =フォーマットの不一致
まとめ デジタルデータとフォーマットの関係 データはどのように内部処理されるか 互換性の問題 デジタルデータはメディアからは自由になったがフォーマットが重要になった データはどのように内部処理されるか 標準枠としての Byte 二値電子回路のための bit 表層から内部までの連続性を感じることを大切に 互換性の問題 フォーマットこそ互換性が存在する理由である
事例紹介 Microsoft の HD DVD への進出 動画フォーマットとしての Windows Media Series 9 の提出と(仮)承認が意味するものは何か? NEC / 東芝は MPEG など公開の場で作られたフォーマットを推している 何故か?