文字コードの不一致が引き起こす「文字化け」を体験する。

情 報

・ インターネット・エクスプローラーを起動する

第４回目 「数と文字の表現」（続き）

 「スタートボタン」  「すべてのアプリ」  「W」

6. １ビット・１バイト（続き）
7. 様々な数値表現
8. コンピュータの動作原理（その２）

・ 適当なＵＲＬを入力して、日本語のＷＥＢページを閲覧する。

Safari を起動する。
・ Finder の「アプリケーション」
 「Safari」

・ Safari のメニュー例） 東京学芸大学ＨＰ

 「表示」 http://www.u-gakugei.ac.jp

 「テキストエンコーディング」

東京学芸大学 自然科学系
宇宙地球科学分野 講師
講義資料は、http://astro.u-gakugei.ac.jp/~nishiura
西浦 慎悟
 「西浦クンの講義室」に縮小版（PDFファイル）を置く予定● 最初に・ インターネット・エクスプローラーのメニューから・ ASCII（= American Standard Code for Information Interchange）
数字やアルファベットをコンピュータ上で扱うための符号化方式（文字コード）。
・ ISO/IEC ６４６
ASCIIを元に規定された国際標準化機構（ISO）標準の文字コード。
・ JIS漢字コード
日本工業規格として制定された漢字コード。
・ ISO-2022-JP
インターネット上で用いられる日本語用の文字符号化方式。
・ Shift-JIS漢字コード
JISコードの空いたコードを詰める・埋めるなどによって作られた漢字コード・ ECU-JP （= Extended UNIX Code Packed Format for Japanese、日本語EUC）
日本語をUNIX上で用いるための文字コード（符号化方式）の一つ。
・ Unicode
文字符号化方式や符号化文字集合などを定めた規格。世界中で使われる文字を共通に利用できるように定められた。UTF-7、UTF-8、UTF-16、UTF32、UTF-9など。

 適当な“文字コード”を選択する

ワープロやパソコンで、「改行」を意味する制御文字（制御コード）。タイプ
ライター由来のＣＲ（キャリッジ・リターン、carriage return）とＬＦ（ライン・フィード、line feed）がある。
本来のCRとは、タイプライターのプリンタ・ヘッドを元の位置（左端）に戻すことであり、ＬＦとは用紙を任意の行だけ上に送ることである。システムによって、改行コードが異なる場合があるため、改行が正確に反映されないことがある。
ＬＦ ： UNIX、Linux、Mac OS X、など

第４回目

７. 様々な数値表現● 二進化十進数（Binary-Coded Decimal = BCD）

１０進数の１ケタを、０から９を示す２進数４ケタで表したもの。
０ = ００００、 １ = ０００１、 ２ = ００１０、 ３ = ００１１、 ４ = ０１００、
５ = ０１０１、 ６ = ０１１０、 ７ = ０１１１、 ８ = １０００、 ９ = １００１
・ ゾーン１０進数 ： 数値の直前に、数値を示すコード（「ゾーンビット」と呼ぶ）を入れることで、数値であることを明示・表現する。ただし、最後は正負を示す「符号ビット」を入れる。パック１０進数に対してアンパック１０進数ともいう。
－３７０２ ＝ 1111 0011 1111 0111 1111 0000 1101 0010
符号ビット「＋」= 1100 ： 「－」= 1101

ゾーンビット・ パック１０進数 ： ゾーンビットを使用せずに数値を表現する。
－３７０２ ＝ 0000 0011 0111 0000 0010 1101
符号ビット「＋」= 1100 ： 「－」= 1101

７. 様々な数値表現

第４回目● 改行コード 適当な”文字コード”を選択する。

「表示」  「エンコード」

第４回目● 文字コード（主に漢字コード）

６. １ビット・１バイト

MacOS X の場合

 「Windowsアクセサリ」  「Internet Explorer」「マルチメディアデータ」
9. 情報のデジタル化
10. デジタル画像

６. １ビット・１バイト

第４回目

本日の演習（その１）

２０１７年度 春学期・（ 火II ）第４回目● ２進数による整数の表現 【８ビットの場合】
・ 符号仮数部表現 最上位ビット（図では左端）の値を符号とみなす方法。

「＋１」 = ０ ０ ０ ０ ０ ０ ０ 1「０」  「＋」「１」「－１」 = １ ０ ０ ０ ０ ０ ０ 1「１」  「－」「１」・ １の補数表現

正の数を表すビットパターンにＮＯＴを作用させたものを、同じ絶対値の負の数とみなす。

・ ２の補数表現

１の補数表現よりも１だけ大きいビットパターンで負の数を表す。
「０」の表現が一通りになる。最近の主流。

ＣＲ＋ＬＦ ： MS-DOS、MS-Windows、など
ＣＲ ： Mac OS （X以前）、など● 文字化け文字が正しく表示されないこと。従来、欧米では概念が存在しなかった。現在
では“mojibake”は国際的にも通用する（らしい）。エンコードの指定ミス、搭載フォントの不整合、独自フォントの使用、通信によるデータの欠損、などによって生じる。場合によっては文字コードのバージョンの違いによっても生じ得る。

・ オフセット・バイナリ 「 エクセスN」ともいう。バイアス値としてＮを加算した値を表現する。従って、０は（Ｎ）10を示すビットパターンで表され、－Ｎは全て０のビットパターンで表されることになる。
 「符号付数値」「符号付数値表現」

1７. 様々な数値表現

第４回目● 数値表現に伴う誤差

・ 符号付数値（８ビット）のまとめビットパターン 符号無数値

７. 様々な数値表現

第４回目

・ オーバーフロー ： 数値の表現範囲の絶対値の最大値を超えた場合。
符号付数値

・ アンダーフロー ： 数値の表現範囲の絶対値の最小値を下回った場合。

符号仮数部表現１の補数表現２の補数表現オフセット・バイナリ

00000000

0000－127

00000001

1

111－12600000010

2222－125

：

：

：

：

：：

01111111

127

127

127

127

010000000

128－0－127－128

110000001

129－1－126－127

2

：

：

：

：

：

：

11111110254－126－1－2

12711111111255－127－0－1128注） オフセット・バイナリは「エクセス１２７」の場合

７. 様々な数値表現

・ 丸め誤差 ： 数値の切り上げ、切り捨て、四捨五入などによって生じる誤差。
・ 打ち切り誤差 ： 無限級数の計算を有限項で行うなど、計算を途中で打ち切ることによって生じる誤差。例えば、
ｅx ＝ １ ＋ ｘ ＋ （1/2）ｘ2 ＋ （1/3！）ｘ3 ＋ （1/4！）ｘ4 ＋・・・
を、次式のように途中で計算を打ち切ることによって生じる誤差のことである。
ｅx ≒ １ ＋ ｘ ＋ （1/2）ｘ2
・ 情報落ち ： 絶対値が大きい数値と小さい数値の加減算などで、絶対値の小さい数値が無視されること。
・ ケタ落ち ： 絶対値がほぼ等しい数値同士の加減算によって、有効数字が減少すること。
例） √1001 ≒ 31.638584 （８ケタ）、√999 ≒ 31.606961 （８ケタ）√1001 － √999 ＝ 0.031623 （５ケタ）

第４回目● ２進数による実数の表現 【８ビットの場合】（X）10 = a×２3＋b×２2＋c×２1＋d×２0＋e×２－1＋f×２－２＋g×２－3 ＋h×２－4= （ abcd．efgh ）2

第４回目

８. コンピュータの動作原理（その２）● 組み合わせ回路 現在の入力のみで出力が決まる回路の総称。NOT回路、ＡＮＤ回路、ＯＲ回路、ＮＡＮＤ回路、ＮＯＲ回路、ＸＯＲ回路なども含まれる。
・加算器（加算回路） ２進数１ケタの加算を行う回路。

例） （9.6875）10 = 1×２3＋0×２2＋0×２1＋1×２0
入力Ａ＋1×２－1＋0×２－２＋1×２－3 ＋1×２－4= （1001.1011）2

出力（和）・ 固定小数点数 予め、特定の上位ビット部分を整数部、下位ビット部分を小数部と見なして表現された実数。浮動小数点数（後述）ほど高い精度は持たないが、画像表示など低精度で高速計算が必要なケースで使用される。
（上記の例の場合）

入力Ｂ

１ ０ ０ １ １ ０ １ 1０＋０＝０

ここに小数点があると見なす。

０＋１＝１
１＋０＝１

小数部のビット数がＮビットの場合、“ＱＮ表記”や“ＱＮフォーマット”と呼ばれる。上記の例はＱ４表記、または、Ｑ４フォーマットである。

７. 様々な数値表現

１ ＋ １ ＝ １０ （ケタ上がりと“０”）８. コンピュータの動作原理（その２）

第４回目

・ 浮動小数点数 数字を仮数部と指数部に分けて表現した数値。仮数部へのビット数の割り当てを増やすことで、精度を高めることができる。浮動小数点数の基数（底）には１６を用いるのが主流。

ケタ上がりは事実上無視される。

・半加算器

第４回目

ケタ上がりを考慮した、２進数１ケタの加算を行う回路。

入力Ａ例） 0.0096875 = 9.6875 ×10－3
出力（和）

仮数部例）

基数（底）

指数部

入力Ｂ

１ ０ ０ １ １ ０ １ １ １ ０ ０ １ １ ０ １ 1

３２ビット

単精度浮動小数点数
１

符号

仮数部

指数部

符号８２３

指数部

仮数部

出力（ケタ上がり）

・全加算器
６４ビット

倍精度浮動小数点数
符号

１１１５２

指数部

仮数部

下位からのケタ上がりを考慮した、２進数の加算を行う回路。

入力Ａ
入力Ｂ
下位からのケタ上がり

半加算器

出力（ケタ上がり）
半加算器
出力（和）

2

８. コンピュータの動作原理（その２）

第４回目・エンコーダ 複数入力のうちの一つが「真（１）」の時に、対応する２進数を出力する回路。

入力
５入力
４入 入力 力
３ ２入
力
１

第４回目

● アナログ・データとデジタル・データ
デジタル信号＝空間的・時間的に離散的（とびとび）な信号。

アナログ信号＝空間的・時間的に連続した信号。

例） ８進数を２進数に変換する回路。入力０～７に対して、００００～１１１１を出力する。
入 入力 力７ ６

９. 情報のデジタル化

入力
０デジタル化
出力２２出力２１デジタル化
出力２０

位置、時刻、光や音の強度  数字で表現できる  「０」と「１」の信号で表現できる。

８. コンピュータの動作原理（その２）９. 情報のデジタル化

第４回目

・デコーダ ２進数の入力に対して、複数出力のうちの一つに「真（１）」を出力する回路。
エンコーダの符号化の機能に対して、反対の復号の機能を持つ。

第４回目● 情報の離散化（標本化、量子化）
アナログ・データ

アナログ・デジタル変換

・マルチプレクサ ２進数の入力に対して、複数入力のうちの一つを選んで出力する回路。「データセレクタ」ともいう。
・デマルチプレクサ ２進数の入力に対して、１つの入力を、複数出力のうちの一つを選んで出力する回路。

横軸方向に適当な間隔で標本化（サンプリング）。
縦軸はまだアナログ情報。

デジタル・データ・デジタル・コンパレータ 入力信号の一致・不一致・大小比較を行う回路。

● 順序回路 過去の内部状態と入力信号で出力が決まる回路の総称。カウンタ回路やフリップ・フロップ回路などがある。
・カウンタ 入力信号を数えることによって、様々な数値処理を行う回路の総称。
数値を減算していく機能や、０以外の値から数え始める機能を持たせることもある。

８. コンピュータの動作原理（その２）第４回目・フリップ・フロップ（flip-flop） １ビットの情報を一時的に保持（記憶）することができる論理回路。様々な順序回路の基本要素となっている。コンピュータのメモリやキャッシュ、レジスタ（register）を構成する基本回路。
入力例） ＲＳフリップ・フロップ回路
Set信号
入力Ｓ
出力Ｑ

出力Ｑ
入力Ｒ

Reset信号出力

縦軸方向を量子化。

● 色のデジタル化

９. 情報のデジタル化

色をどのように表すのか？
色を系統的・定量的に２次元または３次元的に配列・記述する  色空間（color space）
Ｒ（Red ： 赤、８ビット）= ２５６階調

ＲＱ００

保持０１０

Ｂ（Blue ： 青、８ビット） = ２５６階調

１０１１１

禁止とし、これらの組み合わせで1677万7216色（人間の識別可能の限界）を表現できる。

↑ＲＳフリップ・フロップ
回路の真理値表

 人間が知覚できる全ての色を表現できる訳ではない。

“Flip-flop”とはシーソーの擬音「ギッコン・バッタン」などに由来するらしい。

CIE（国際照明委員会）
が定めるxy色度図（wikipediaより）コンピュータではRGBを、Ｓ

注）“禁止”は別の回路で定めている。

第４回目

Ｇ（Green ： 緑、８ビット） = ２５６階調

・ ホワイトバランス：人間は眼と脳の働きによって、日常で目にする光景に色調補正を施している。そのため、本来のカラー・スペクトルで撮影されたデジタル画像であっても、不自然さを生じてしまう。この色調補正の方法は、環境（主にハードウェアやソフトウェア）によって異なるため、同じデジタル画像であっても、異なる色調で再現されることがしばしばある。

3

・ 位置  ピクセル（画素）座標（x, y）
・ 輝度  モノクロ（8bit）  ２8  256階調
カラー  Red（8bit）, Green（8bit）, Blue（8bit）  1677万7216色
単純には、画像のサイズが大きいほど、階調が大きいほど、データのサイズが大きくなる。
300 pix ×300 pix例） ＢＭＰ形式

600 pix ×600 pix

600 pix ×600 pix
50％

285 KB

２ 8 ×3 色  ２ 8 色

300 pix ×300 pix
50％

382 KB

1,136 KB

１０. デジタル画像

第４回目

１０. デジタル画像● デジタル画像

97 KB

１０. デジタル画像↑GIFアニメーションの例（wikipediaより）・ PNG ： Portable Network Graphics の略称、「ピング」や「ピン」とも呼ばれる。拡張子は「.png」。フルカラー表示や半透明表現が可能。アニメーションはサポー
トしていないが、PNGのチャンクと呼ばれる複数のデータブロック構造を拡張して、アニメーションをサポートしたMNG形式やAPNG形式がある。

１０. デジタル画像

第４回目● ラスタ画像形式とベクター画像形式

第４回目

・ ＧＩＦ ： Graphics Interchange Format の略称、「ジフ」と読む。拡張子は「.gif」。現在の規格はGIF89aで、可逆圧縮（と不可逆圧縮）が可能、２５６色以下の画像を扱うことができ、「透過GIF」と「GIFアニメーション」がサポートされている。
ＧＩＦフォーマットは、データ圧縮アルゴリズムとしてＬＺＷを使用しており、これの特許を持つ
アメリカのUNISYS社は、当初、利用料を請求しない方針だったが、この利用が広がり、ＷＥＢブラウザで標準的にサポートされるようになると、利用料を請求する方針に転換。これによって、ＧＩＦのフリーな代替フォーマットとしてPNGの開発が進んだ。
現在すでにＬＺＷの特許は失効している。

第４回目

・ ＪＰＥＧ ： Joint Photographic Experts Group の略称、「ジェイペグ」と読む。拡張子は「.jpg」や「.jpeg」。不可逆圧縮（と可逆圧縮）が可能。フルカラー画像を扱える。
圧縮は、８画素×８画素のブロック単位で離散コサイン変換（DCT = Discretecosine transform）を用いて行われる。

・ ラスタ画像形式 ： 画像を画素ごとの位置と輝度で表現する画像形式。拡大し続けると画素の粗さが目立ち、劣化するようになる。

● 不可逆圧縮に伴うノイズ

代表的な画像フォーマットとして、Windows bitmap（BMP）、GIF、JPEG、PNG、TIFFなどがある。

・ブロック・ノイズ ： JPEGではブロック毎に圧縮を行うため、圧縮率を上げると、ブロックとブロックの間に、不整合が生じる。

・ ベクター画像形式 ： 原点からの方向と距離、色、などのベクトル情報によって描かれる画像形式。拡大し続けても、画像が粗くならないが、ファイルサイズは一般的に大きい。

・モスキート・ノイズ ： JPEGの不可逆圧縮の特徴として、高周波成分への比重が小さくなっている。そのため、画像中の急激な変化を十分に表現できず、そのような場所に蚊柱にも似たノイズを発生させる。

代表的な画像フォーマットとして、Post Script （PS,EPS）、PDFなどがある。

↑ブロック・ノイズ（左上の青空）とモスキート・ノイズ（電線部）（wikipediaより）

１０. デジタル画像

第４回目

・ ＢＭＰ ： 画素の位置とＲＧＢの各輝度からなる画像形式だが、情報量が非常に多く、Ａ４サイズ１枚の画像データが100MB（CD１枚が700MB）にもなる。送受信などのためには、データを圧縮する必要がある。拡張子は「.bmp」。
元のデータと同じデータを復元できる方式を「可逆圧縮」、元のデータよりもデータ量が減少・劣化する方式を「不可逆圧縮」と呼ぶ。
画像の劣化を最小限に抑えるため、BMPで作成した画像を、最後にGIF形式やJPEG形式に圧縮・変換することが多い。
（x, y, 色, 連続数）
例） 画像データ圧縮の考え方（0, 10, 1）
y = 10x= 0 1＝１2

3

4＝０5

6 7

（x, y, 色）

実際には様々に複雑な圧縮アルゴリズムが用いられる。

（1, 10, 1）（2, 10, 1）（3, 10, 1）（4, 10, 1）（5, 10, 0）（6, 10, 0）（7, 10, 1）（0, 10, 1, 5）（5, 10, 0, 2）（7, 10, 1, 1）（x, y, ビットパターン）

第４回目

本日の演習（その２）● 画像データの圧縮

画像形式によるファイル・サイズの違いを確認する。
① ペイントを起動する。
「スタート」  「すべてのアプリ」
 「Windowsアクセサリ」  「ペイント」② キーボードの「PrtSc」や「PrintScreen」などを押して、画面をキャプチャ（取り込み）する。
③ ペイントの「編集」「貼り付け」で取り込んだ画像をペイント上に表示する。
④ 「ファイル」「名前を付けて保存」とし、適当なファイル名と拡張子（bmp, jpg, gif, png など）を選んで保存する。

MacOS X の場合初期段階でインストールされている「ペイント」のようなツールは無いようです・・・
しかし、ネット上には高機能かつフリーの MacOS X用のペイント系ツールがいろいろと配布されています。可能であれば、後日、ＤＬして試してみて下さい。

⑤ エクスプローラーなどを起動し、作成した画像ファイルのサイズを調べ、比較する。

（0, 10, F9）4