Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
情報処理工学03資料 /infoeng03
Search
Kazuhisa Fujita
September 29, 2022
Technology
0
780
情報処理工学03資料 /infoeng03
Kazuhisa Fujita
September 29, 2022
Tweet
Share
More Decks by Kazuhisa Fujita
See All by Kazuhisa Fujita
人工知能ゼミ04 /aizemi04
kfujita
0
13
人工知能ゼミ03 /aizemi03
kfujita
0
16
情報処理工学問題集 /infoeng_practices
kfujita
0
120
人工知能ゼミ1-ガイダンス- /aizemi01
kfujita
0
23
人工知能ゼミ02 /aizemi02
kfujita
0
22
電気工学問題集 /eleceng2_practices
kfujita
0
870
臨床工学技士国家試験・ME2種RLC回路まとめ/RLC
kfujita
0
780
臨床工学技士国家試験・ME2種変圧器まとめ/trans
kfujita
0
510
臨床工学技士国家試験電磁気学まとめ/elecmag
kfujita
0
670
Other Decks in Technology
See All in Technology
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
130
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
Taming you application's environments
salaboy
0
200
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
460
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
180
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
120
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
150
Platform Engineering for Software Developers and Architects
syntasso
1
530
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
120
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Bash Introduction
62gerente
608
210k
Building Applications with DynamoDB
mza
90
6.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
BBQ
matthewcrist
85
9.3k
Site-Speed That Sticks
csswizardry
0
34
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
情報処理工学 第3回 藤田 一寿 公立小松大学保健医療学部臨床工学科
データ量
データ量 • コンピュータでは,あらゆるデータが2進数で表されている. • その為,コンピュータで扱うデータの量は2進数を扱うのに便利な ように決められている. 多くの場合データ量は情報量と異なる.
データ量の単位 • ビット (bit) • データが2進数何桁で表されるかを表す量 • あるデータが001で表されるのならば3ビットとなる. • バイト
(byte, B) • 8ビットで表されているデータの量を1バイトとする. 必ず覚える
データ量と補助単位(接頭辞) • コンピュータでは,我々が普段使う補助単位で表されたものと,コ ンピュータ特有のルールで定められた補助単位を使う場合がある. どちらを表しているか場合によって異なるので注意を払う必要があ る.
演習 • 2進数16桁で表されるデータの量は何ビットか. • 2進数16桁で表されるデータの量は何バイトか. • 1Kバイトのデータは2進数何桁で表されるか.ただし1Kバイト = 1024バイトとする.
演習 • 2進数16桁で表されるデータの量は何ビットか. • 2進数16桁で表されるデータの量は何バイトか. • 1Kバイトのデータは2進数何桁で表されるか.ただし1Kバイト = 1024バイトとする. 16ビット
2バイト 1024x8=8192桁
データの圧縮 • 情報の意味を保ったまま,元のデータ量よりも少ないデータ量にす ること. • 圧縮したデータをデータに復元することを解凍もしくは展開と言う. ファイル 圧縮 ファイル 圧縮
展開,解凍 データ量を小さくする データを元に戻す
可逆圧縮と不可逆圧縮 • 可逆圧縮 • 圧縮前のデータと展開後のデータが完全に一致する事ができる(完全に復 元できる)圧縮方法 • 文書ファイルなどで用いられる圧縮は可逆圧縮 • 元通りに戻らなければならないから
• 非可逆圧縮 • 圧縮前のデータと展開後のデータが一致しない(完全に復元できない)圧 縮方法 • 画像,音声,映像データに用いられる. • それらのデータは完全に復元できなくても,人間にとってデータが意味す る事柄が認識可能であれば問題ないため.
データ圧縮の仕組みの例 • 「あああいううええええおおおおお」を圧縮することを考える. • 文字とその文字が並んでいる個数 (Run Length) の形式で変換して みると •
「あ3い1う2え4お5」となる. • この結果もともと15文字だったものが,10文字に圧縮された. • この方法をランレングス法と呼ぶ. • 白黒画像の様に同じ文字が連続して続くことが多い場合に効果を発 揮する. • ただし,この方法では同じ文字が連続して続くことが少ない場合は 効果はあまりない. 余談
圧縮ファイルの種類 • ZIP • Windows,Macで初めから扱える圧縮方式. • 最も普及しており,通常この圧縮形式を用いる. • RAR •
圧縮率がzipよりも高い. • gzip • Unix系システムでよく用いられる. • LHA • 1990年代から2000年代初頭にかけて日本でよく用いられた圧縮形式. • 古いデータがlzh形式で保存されている場合がある.
文字の表現
文字の表現 • コンピュータで文字を表現するためには,文字と2進数の対応を決 める必要がある. • 各人,各組織が勝手に文字と2進数の対応を決めると,他の人,他の組織 の人が読めなくなる. • 共通のルールが必要になる. •
各文字に割り当てられる2進数表現,もしくは,文字と2進数の対 応関係(コード体系)のことを文字コードという. 文字 文字コード 0 0110000 A 1000001 z 1111010 文字 2進数 一対一に対応させる 例
ASCIIコード(アスキーコード) • ASCII (American Standard Code for Information Interchange)コー ドはANSI
(American National Standard Institute: 米国規格協会)に より開発された7ビットの文字コード. • 文字コードは8ビット(1バイト)で表現され,残り1ビットは世界 中で使用される様々な文字を割り当てて利用される. 文字 文字コード カッコ内16進 0 0110000 (30) A 1000001 (41) z 1111010 (7a)
日本語のあつかい • ASCIIコードではだめ. • 8ビットでは256文字までしか表現できない. • 日本語で扱う文字を表現できない.
日本語の文字コード • JIS漢字コード • 16ビット(2バイト)で表させるため2バイトコード(2バイト文字)と呼 ばれる事がある. • Shift-JIS • Windowsで使われていた経緯から最も一般的に用いられる日本語文字コー
ドの一つである. • EUC-JP • UNIX系のシステムでよく用いられていた.
UTF-8 • ASCIIコードに世界中の文字を加えたもの. • 現在最も標準的な文字コード
文字化け • 文字コードはたくさんあるため,ファイルの製作者が指定した文字 コードとファイルを開く人が指定した文字コードが異なると,ファ イル製作者の意図した文章が表示されない. • 誤った文字コードでファイルを開いた場合,図のように意味をなさ ない文字の羅列で表示される.これを文字化けという. • なぜ文字化けが起こるのか
• ソフトウェアごとに標準の文字コードが異なる. • UTF-8への以降の過渡期のため様々な文字コードで書かれたファイルが混 在している. Aを000として文 章を書こう. 000を送る 000は0だから, あの人0を送っ てきた.
演習 • 文字Aをアスキーコードで表すと16進数で41である.文字Jを表す アスキーコードを答えよ.(第31回臨床工学技士国家試験)
演習 • 文字Aをアスキーコードで表すと16進数で41である.文字Jを表す アスキーコードを答えよ.(第31回臨床工学技士国家試験) JはAから9個目の文字だから, 41 16 +9 16 =4A
16 =1001010 2 よっていJのアスキーコードは4A (1001010)である.
演習 • 英字Hのアスキーコード(ASCII)は16進数で表すと48である.英 字Mのコードを16進数で表したのはどれか.第42回ME2種 1. 4C 2. 4D 3. 53
4. 5D 5. 77
演習 • 英字Hのアスキーコード(ASCII)は16進数で表すと48である.英 字Mのコードを16進数で表したのはどれか.第42回ME2種 1. 4C 2. 4D 3. 53
4. 5D 5. 77 H,I,J,K,L,Mだから,MはHの5 つあとにある.ASCIIコードはアルフ ァベット順に並んでいるから, 4816 + 516 = 4𝐷16
音声の表現 重要
音声 • 音声は波として表現できるアナログ情報. • 音声は時間と大きさの2つの量で表される. 時間 大きさ
音声のデジタル化 • 音声をデジタルに変換するためには離散化する必要がある. • 離散化とは,連続の数値(連続値)を不連続の数値(離散値)に変換する こと • 音声の時間と大きさを離散化することで,音声を離散化する. • 時間の離散化をサンプリングという.
• 大きさの離散化を量子化という. • コンピュータで取り扱うには離散化した値を2進数に変換する必要 がある. • この作業を符号化という. 時間 大きさ
音声のデジタル化の流れ 大きさ 時間 大きさ 時間 大きさ 時間 サンプリング 量子化 符号化
大きさ 時間 0000 0001 0010 0011 0100 0101 0110 0111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 量子化
サンプリング • 時間方向の離散化をサンプリング(標本化)という. • 1秒あたりの数値の数(サンプル数)をサンプリング周波数 (Hz)という. • 理論上,サンプリング周波数の半分の周波数の波形まで表現できる(サン プリング定理). 大きさ
時間 大きさ 時間 大きさ 時間 サンプリング 量子化 1秒を何個に分けるかを表す. 例:2kHzの波を表すにはサンプリング周波数は最低4kHz必要
量子化 • 大きさの離散化を量子化という. • 大きさの分割の数をビットで表したものを量子化ビット数という. • 2の量子化ビット数乗の段階で大きさが分割される. 大きさ 時間 大きさ
時間 大きさ 時間 サンプリング 量子化 例:量子化ビット数が8ビットのとき • 大きさが8桁の2進数で表される. • 8桁の2進数が表すことができる数の個数は2^8=256である. • つまり,量子化ビット数が8ビットのときは,大きさが256段階に分割される.
符号化 • 時間,大きさの数値を2進数にする. 大きさ 時間 符号化 大きさ 時間 0000 0001
0010 0011 0100 0101 0110 0111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
音声のデータ量 • 音声のデータ量(ビット)= 量子化ビット数(ビット)xサンプリング周波数x音声の長さ(秒) 量子化ビット数が8bitのとき 大きさが8桁の2進数で表される. 2進数8桁のデータ量は8bitである. 量子化ビット数=1つの大きさの数値 あたりのデータ量 サンプル数(数値の数)=
サンプリング周波数 x 音声の長さ • 量子化ビット数は大きさの数値(サンプル)1個あたりのデータ量 • サンプリング周波数は1秒あたりの大きさの数値の数 • 量子化ビット数xサンプリング周波数=1秒あたりのデータ量
音声のデータ量の例 • CD音源1秒あたりのデータ量 • サンプリング周波数が44.1kHzなので,1チャンネルあたり1秒間に44100個 の数値がある. • CDの量子化ビット数は16bitなので,1つ音の大きさの数値が持つデータ量 は16bit (2B)である.
• よって,1チャンネルあたり1秒間に88200B = 88.2kBのデータ量がある. • 音声は2チャンネル(ステレオ)なので,CD音源1秒あたりのデータ量は 176.4kBとなる.
サンプリング定理 • アナログ信号をデジタル信号に正確に変換するには,元の信号の最 大周波数の2倍のサンプリング周波数で標本化すればよいことを示 した定理(IT用語辞典). • コンピュータの音声のサンプリング周波数が44.1kHzであることが 多い理由 • 人間の可聴領域の上限がおおよそ20kHzであるため.
A/D変換,D/A変換 • アナログ信号からデジタル信号に変換することをA/D変換という. • A/D変換の為に用いられる電子回路もしくは機器をA/Dコンバータ (ADC)という. • デジタル信号からアナログ信号に変換することをD/A変換という. • D/A変換の為に用いられる電子回路もしくは機器をD/Aコンバータ
(DAC)という.
音声信号とその他の信号との関係 • 大きさとその時間変化で表される信号波はすべて音声信号と同じ手 順でデジタル化できる. • 電圧,電流,筋電,脳波など
第33回ME2種 • 生体電気信号を500μs間隔でサンプルした.復元できる周波数の 理論的上限は何Hz未満か. 1. 100 2. 200 3. 500
4. 1000 5. 2000 求め方 1. サンプリング周波数を求める. 周波数𝑓[Hz] = 1 周期𝑇[s] 2. サンプリング周波数から理論上の上限の周波数を求める. サンプリング周波数の1/2の周波数の信号を再現できる. 1秒間にサンプリング周波数[個]の数値がある. つまり,数値と数値の間隔は1/サンプリング周波数[秒]となる. この間隔をサンプリング周期という.
第33回ME2種 • 生体電気信号を500μs間隔でサンプルした.復元できる周波数の 理論的上限は何Hz未満か. 1. 100 2. 200 3. 500
4. 1000 5. 2000 周波数は周期の逆数なので,サンプリング周波数は 1/500μs=1/0.5ms=1000/0.5=2000Hz である.よって,サンプリング定理より,復元可能な周波数の 上限は2000/2=1000Hzである. 別解: 周波数は周期の逆数なので,サンプリング間隔の2倍の周期の波が復元可能であると言い換え られる. よって500μsの2倍の1000μs=1msの周期の波を復元できる. 周波数は周期の逆数なので,1msの周期の波は1kHzの周波数の波である.
演習 • 帯域が1-100Hzの信号を量子化ビット数8bitでAD変換する.5秒間 の信号を記録するのに最低限必要な容量は何バイトか.ただし,圧 縮符号化は行わず,信号以外のデータは無視する.(第31回臨床 工学技士国家試験) 求め方 1. サンプリング周波数はいくらか? サンプリング周波数の1/2の周波数の信号を再現できる
2. 1秒あたりのデータ量はいくらか? サンプリング周波数x量子化ビット数 3. 5秒記録するのに必要なのデータ量はいくらか? 1秒あたりのデータ量x秒
演習 • 帯域が1-100Hzの信号を量子化ビット数8bitでAD変換する.5秒間 の信号を記録するのに最低限必要な容量は何バイトか.ただし,圧 縮符号化は行わず,信号以外のデータは無視する.(第31回臨床 工学技士国家試験) サンプリング定理から最低必要なサンプリング周波数は200Hzである. つまり,1秒間に200個の数値がある. 1つの数値あたり,量子化ビット数8bitのデータ量があるから, 1秒あたりのデータ量は,
200x8=1600bit=200B となる. よって,5秒間の信号を記録するには 200x5=1000B=1kB 必要である.
演習 • -1 V から +1 V の電圧を量子化ビット数10bitでAD変換する.電圧 の 分解能[mV]はいくらか.第32回臨床工学技士国家試験
求め方 1. ビットから何段階に分けられるかを計算する. ビット数=2進数の桁数 2^桁数段階に分割される. 2. 最大値と最小値の差を計算する. 3. 2で計算した差を1で計算した数で割る. 1V -1V 最大と最小の差は2V 210個に分割される
演習 • -1 V から +1 V の電圧を量子化ビット数10bitでAD変換する.電圧 の 分解能[mV]はいくらか.第32回臨床工学技士国家試験
10ビットは2進数10桁のデータ量なので,10ビットで表すことが できる数は2^10=1024個である. -1Vから+1Vの電圧なので,最小値と最大値の差は2Vである. 分解能は2/1024=0.001953…≒0.002V=2mVである. 1V -1V 最大と最小の差は2V 210個に分割される
演習 • 0から2Vの電圧を,分解能1mV以下でAD変換するときに必要な最 小量子化ビット数はどれか.第27回臨床工学技士国家試験 1. 8 2. 9 3. 10
4. 11 5. 12
演習 • 0から2Vの電圧を,分解能1mV以下でAD変換するときに必要な最 小量子化ビット数はどれか.第27回臨床工学技士国家試験 1. 8 2. 9 3. 10
4. 11 5. 12 電圧の最大値が2V=2000mVなので,1mVで分割すると, 2000 1 = 2000個 に分割される.2000に近く,2000より大きい2のn乗の数は 211 = 2048 である.よって11ビットが答えとなる
演習 • 帯域が1から100Hzのアナログ信号をサンプリングするとき,エイ リアシングを起こさないサンプリング間隔の最大値[ms]はどれか. 第34回臨床工学技士国家試験 1. 1.25 2. 2.5 3.
5 4. 10 5. 20
演習 • 帯域が1から100Hzのアナログ信号をサンプリングするとき,エイ リアシングを起こさないサンプリング間隔の最大値[ms]はどれか. 第34回臨床工学技士国家試験 1. 1.25 2. 2.5 3.
5 4. 10 5. 20 サンプリング定理から,必要なサンプリング周波 数は200Hzである.サンプリング間隔はサンプリ ング周波数の逆数だから, 1 200 = 0.005𝑠 = 5𝑚𝑠
演習 • サンプリング周波数40kHz,1データを8ビットでディジタル化され た信号を10分間分保存するには最低何Mバイトのメモリが必要か. 第26回ME2種 1. 24 2. 196 3.
246 4. 1960 5. 2460
演習 • サンプリング周波数40kHz,1データを8ビットでディジタル化され た信号を10分間分保存するには最低何Mバイトのメモリが必要か. 第26回ME2種 1. 24 2. 196 3.
246 4. 1960 5. 2460 サンプリング周波数は,1秒あたりの値の個数である. この問題では,1秒あたり40000個の値がある.1つの 値あたり8ビットであるから,1秒あたりのデータ量は 40000 × 8 = 320000ビット である.信号は10分 = 600秒 あるので,信号のデータ 量(バイト)は 320000 × 600 8 = 24 × 106 = 24𝑀バイト となる.