２０１７年度 春学期・（ 火II ）情 報
第４回目 「数と文字の表現」（続き）
6. １ビット・１バイト（続き）
7. 様々な数値表現
8. コンピュータの動作原理（その２）「マルチメディアデータ」
9. 情報のデジタル化
10. デジタル画像
東京学芸大学 自然科学系
宇宙地球科学分野 講師
講義資料は、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など。

1

６. １ビット・１バイト

第４回目● 改行コード
ワープロやパソコンで、「改行」を意味する制御文字（制御コード）。タイプ
ライター由来のＣＲ（キャリッジ・リターン、carriage return）とＬＦ（ライン・フィード、line feed）がある。
本来のCRとは、タイプライターのプリンタ・ヘッドを元の位置（左端）に戻すことであり、ＬＦとは用紙を任意の行だけ上に送ることである。システムによって、改行コードが異なる場合があるため、改行が正確に反映されないことがある。
ＬＦ ： UNIX、Linux、Mac OS X、など
ＣＲ＋ＬＦ ： MS-DOS、MS-Windows、など
ＣＲ ： Mac OS （X以前）、など● 文字化け文字が正しく表示されないこと。従来、欧米では概念が存在しなかった。現在
では“mojibake”は国際的にも通用する（らしい）。エンコードの指定ミス、搭載フォントの不整合、独自フォントの使用、通信によるデータの欠損、などによって生じる。場合によっては文字コードのバージョンの違いによっても生じ得る。

第４回目

本日の演習（その１）
文字コードの不一致が引き起こす「文字化け」を体験する。
・ インターネット・エクスプローラーを起動する 「スタートボタン」  「すべてのアプリ」  「W」
 「Windowsアクセサリ」  「Internet Explorer」

・ 適当なＵＲＬを入力して、日本語のＷＥＢページを閲覧する。
例） 東京学芸大学ＨＰ
 http://www.u-gakugei.ac.jp

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

・ Safari のメニュー 「表示」
 「テキストエンコーディング」

・ インターネット・エクスプローラーのメニューから「表示」  「エンコード」

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

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

2

第４回目

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

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

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

７. 様々な数値表現

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

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

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

・ ２の補数表現

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

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

3７. 様々な数値表現

第４回目

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

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

00000000

0000－12700000001

1111－12600000010

2222－125

：

：

：

：

：

：

01111111

127

127

127

127

010000000

128－0－127－128

110000001

129－1－126－127

2

：

：

：

：

：

：

11111110254－126－1－2

12711111111

255－127－0－1128

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

７. 様々な数値表現

第４回目● ２進数による実数の表現 【８ビットの場合】（X）10 = a×２3＋b×２2＋c×２1＋d×２0＋e×２－1＋f×２－２＋g×２－3 ＋h×２－4= （ abcd．efgh ）2例） （9.6875）10 = 1×２3＋0×２2＋0×２1＋1×２0＋1×２－1＋0×２－２＋1×２－3 ＋1×２－4= （1001.1011）2
・ 固定小数点数 予め、特定の上位ビット部分を整数部、下位ビット部分を小数部と見なして表現された実数。浮動小数点数（後述）ほど高い精度は持たないが、画像表示など低精度で高速計算が必要なケースで使用される。
（上記の例の場合）

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

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

4

７. 様々な数値表現

第４回目

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

指数部

基数（底）

仮数部

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

３２ビット

単精度浮動小数点数
１符号

仮数部

指数部

符号

８２３

指数部

仮数部
６４ビット

倍精度浮動小数点数
符号

１１１５２

指数部

仮数部

７. 様々な数値表現

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

5

第４回目

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

出力（和）
入力Ｂ

０＋０＝０
０＋１＝１１＋０＝１
１ ＋ １ ＝ １０ （ケタ上がりと“０”）ケタ上がりは事実上無視される。

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

・半加算器

第４回目

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

入力Ａ

出力（和）
入力Ｂ

出力（ケタ上がり）・全加算器

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

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

半加算器

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

6

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

第４回目・エンコーダ 複数入力のうちの一つが「真（１）」の時に、対応する２進数を出力する回路。
例） ８進数を２進数に変換する回路。入力０～７に対して、００００～１１１１を出力する。
入 入力 力７ ６入力５入力４入 入 入 入力 力 力 力
３ ２ １ ０
出力２２

出力２１

出力２０

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

第４回目

・デコーダ ２進数の入力に対して、複数出力のうちの一つに「真（１）」を出力する回路。
エンコーダの符号化の機能に対して、反対の復号の機能を持つ。
・マルチプレクサ ２進数の入力に対して、複数入力のうちの一つを選んで出力する回路。「データセレクタ」ともいう。
・デマルチプレクサ ２進数の入力に対して、１つの入力を、複数出力のうちの一つを選んで出力する回路。
・デジタル・コンパレータ 入力信号の一致・不一致・大小比較を行う回路。

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

7

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

入力Ｓ

出力Ｑ

出力Ｑ
入力Ｒ

出力

ＳＲＱ００保持０１０１０１１１

禁止↑ＲＳフリップ・フロップ
回路の真理値表注）“禁止”は別の回路で定めている。

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

９. 情報のデジタル化

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

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

デジタル化

デジタル化

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

8

９. 情報のデジタル化

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

アナログ・デジタル変換

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

デジタル・データ

縦軸方向を量子化。

● 色のデジタル化

９. 情報のデジタル化

色をどのように表すのか？
色を系統的・定量的に２次元または３次元的に配列・記述する  色空間（color space）

第４回目
CIE（国際照明委員会）
が定めるxy色度図（wikipediaより）コンピュータではRGBを、Ｒ（Red ： 赤、８ビット）= ２５６階調

Ｇ（Green ： 緑、８ビット） = ２５６階調
Ｂ（Blue ： 青、８ビット） = ２５６階調とし、これらの組み合わせで1677万7216色（人間の識別可能の限界）を表現できる。
 人間が知覚できる全ての色を表現できる訳ではない。

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

9第４回目

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

・ 位置  ピクセル（画素）座標（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

１０. デジタル画像

第４回目● ラスタ画像形式とベクター画像形式
・ ラスタ画像形式 ： 画像を画素ごとの位置と輝度で表現する画像形式。拡大し続けると画素の粗さが目立ち、劣化するようになる。
代表的な画像フォーマットとして、Windows bitmap（BMP）、GIF、JPEG、PNG、TIFFなどがある。
・ ベクター画像形式 ： 原点からの方向と距離、色、などのベクトル情報によって描かれる画像形式。拡大し続けても、画像が粗くならないが、ファイルサイズは一般的に大きい。
代表的な画像フォーマットとして、Post Script （PS,EPS）、PDFなどがある。

10

１０. デジタル画像

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

4＝０56 7（x, y, 色）

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

（1, 10, 1）（2, 10, 1）（3, 10, 1）（4, 10, 1）（5, 10, 0）（6, 10, 0）（7, 10, 1）

１０. デジタル画像

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

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

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

11

１０. デジタル画像

第４回目

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

● 不可逆圧縮に伴うノイズ・ブロック・ノイズ ： JPEGではブロック毎に圧縮を行うため、圧縮率を上げると、ブロックとブロックの間に、不整合が生じる。
・モスキート・ノイズ ： JPEGの不可逆圧縮の特徴として、高周波成分への比重が小さくなっている。そのため、画像中の急激な変化を十分に表現できず、そのような場所に蚊柱にも似たノイズを発生させる。
↑ブロック・ノイズ（左上の青空）とモスキート・ノイズ（電線部）（wikipediaより）

第４回目

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

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

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

12