コンピュータのしくみ初心者向け基本コース

LESSON 06 ・ OUTPUT

出力装置のいろいろ

出力装置は、処理結果を表すデータを、光、音、印刷、振動、動きなど現実世界の変化へ変える「出口」です。

BIG PICTURE

処理結果が現実世界へ届くまで

ノイマン型コンピュータの5大機能では「出力」に当たります。CPUが計算しただけでは、まだ人は結果を見たり聞いたりできません。

CPU・GPU文字、画素、音、動作などの出力データを作る
主記憶・バッファ表示や再生の時刻までデータを一時保持する
出力回路装置が必要とする電気信号へ整える
出力装置光、音、印刷、振動、動きへ変換する

出力は変換:同じ数値でも、ディスプレイへ送れば明るさや色、スピーカーへ送ればその瞬間の振動、モーター制御回路へ送れば回転の指示として使われます。

INSIDE AN OUTPUT PATH

出力を成立させる四つの役割

装置の種類が違っても、準備、時刻調整、信号変換、物理変換という流れがあります。

1. 出力データを作る

アプリとOS、CPUやGPUが、画素の色、音の波形、印刷する点、モーターの目標位置などを数値で表します。

2. 一時保持する

へデータを置き、一定の速さで途切れずに取り出せるようにします。

3. 装置信号へ変える

表示コントローラ、音声回路、プリンタ制御回路などが、接続規格と装置に合う電気信号へ変換します。

4. 物理的に働きかける

発光素子、振動板、インクやトナー、モーターやヒーターが、電気信号を人や物が受け取れる変化へ変えます。

DEVICE TYPES

何へ伝えるかで、装置が変わる

装置受け取る主なデータ物理的な出力時間との関係
ディスプレイ画素ごとの色、同期情報面上の光1秒に何十〜何百回も更新
スピーカー時刻ごとの音の大きさ空気の振動一定間隔で連続出力
プリンタページ上の点、色、機械制御紙などに残る模様まとまりを順番に処理
ランプ・振動装置ON/OFF、明るさ、振動パターン光や振動状態や通知に合わせて変化
モーター・アクチュエータ速度、位置、力の目標値回転や直線運動センサーの入力と組み合わせて制御

DISPLAY PIPELINE

画面は、小さな画素を繰り返し更新する

画面表示はGPUだけでも、ディスプレイだけでも完成しません。データを作る側、一定の時刻で送る側、光へ変える側が協調します。

  1. アプリが文字、図形、画像など「何を描くか」を指定する。
  2. CPUとGPUが描画命令を実行し、各画素の色を計算する。
  3. フレームバッファが、画面1枚分の画素データをメモリへ保持する。
  4. 表示コントローラが決められた順番と周期で画素データを読み、映像信号として送る。
  5. ディスプレイが各画素の赤・緑・青の明るさを制御し、人の目へ光を届ける。
画像を構成する小さな点です。解像度1920×1080なら、約207万画素を1画面に持ちます。
画面1枚分の色データを保持します。複数枚を切り替えて描画途中を見せない方法もあります。
リフレッシュレート
画面を1秒間に何回更新するかをHzで表します。60 Hzならおよそ1/60秒ごとに新しい画面を表示します。
色深度
1画素の色へ使うビット数です。RGB各8ビットなら約1,677万色の組み合わせを表せます。

DISPLAY DEVICES

CRT・LCD・OLEDは、電気信号を光へ変える

GPUが画像を計算する処理と、表示デバイスが像を作る処理を分けて見ます。表示方式が変わっても、画面を行と列に分けて繰り返し更新する考え方は受け継がれています。

CRT走査の実演:緑の実線が表示中の走査線、灰色の点線が水平帰線、橙色の斜線が垂直帰線です。帰線は説明のために見える線として描いています。

電子ビームを一点ずつ動かす

では、電子銃が作る細いビームを偏向コイルで左から右へ動かします。必要な位置でビームを強くし、蛍光面の点を光らせます。

横線を上から下へ並べる

右端へ着いたら消灯して次の行の左へ戻り、最後の行まで繰り返します。画面全体を描いたひとまとまりが1フレームです。

  1. 電子銃が輝点を作る電子ビームが蛍光面に当たった一点だけが光ります。
  2. 左から右へ水平走査する「G」に必要な位置だけビームを強くしながら、一行分を描きます。
  3. 消灯して水平帰線する次の走査線の左端へ戻り、上から下へ同じ処理を繰り返します。
  4. 最後に垂直帰線する画面の下端から上端へ戻り、次のフレームを描き始めます。

RESOLUTION AND DENSITY

解像度と表示密度は別の値

画面に何個の点があるかと、一定の長さへどれだけ細かく詰めたかを区別します。

解像度

横と縦の画素数です。1920×1080なら1画面に2,073,600画素あります。

リフレッシュレート

画面全体を1秒間に更新する回数です。60 Hzなら毎秒60フレームを表示します。

表示密度

は1インチ当たりの画素数です。同じ解像度でも画面が小さいほど密度は高くなります。

1920×1080・60 Hzの例:見えている部分だけでも、毎秒約1億2442万個の画素値を送り続けます。実際の映像信号には行やフレームの切り替え時間もあります。

THREE DISPLAY PRINCIPLES

光の作り方は、表示方式ごとに違う

方式光を作る方法画素の制御重要な違い
CRT電子ビームを蛍光面へ当てるビームを走査し、位置ごとに強さを変える固定された液晶画素ではなく、動く輝点で像を描く
LCDバックライトの光を利用する液晶分子と偏光板で、各副画素を通る光量を調整液晶自体は発光せず、後ろの光を調節する
OLED有機発光層へ電流を流すTFT画素回路が各副画素の電流を調整各副画素が自ら発光し、一般的なバックライトは不要

LCD:光のシャッター

バックライト → 偏光板 → 液晶 → カラーフィルターという層を通ります。画素電圧で液晶分子の向きが変わり、通過する赤・緑・青の光量を調節します。

OLED:画素が自発光

TFTが有機発光層へ流す電流を制御します。電子と正孔の再結合で生じたエネルギーが、赤・緑・青などの光になります。

DISPLAY SIGNAL AND DRIVE

画像データを、正しい時刻に正しい画素へ届ける

現在の平面パネルには電子ビームがありません。それでも、フレームバッファを行ごとに読み、表示位置と時刻を揃えて送る必要があります。

  1. フレームバッファから、表示コントローラが画素データを一定の順序で読み出す。
  2. 映像インターフェースが、画素、時刻、画面情報をHDMIやDisplayPortなどの信号へ符号化する。
  3. TCONが、パネル内部で行と列を切り替えるタイミングを作る。
  4. DDIが、選ばれた行と各列へ画素の明るさに対応する駆動信号を送る。
  5. 画素回路が次の更新まで値を保ち、LCDの透過量またはOLEDの発光量を制御する。

表示コントローラ

フレームバッファを途切れず読み、画素の順序、行、フレームの切り替え時刻を作ります。GPUと一体の場合も別回路の場合もあります。

TCON

の略です。パネルの行と列へ信号を配る時刻を管理します。

DDI

の略です。デジタルの画素値をパネルが必要とする駆動信号へ変えます。

ピクセルクロック
画素データを進める基準の周期です。解像度と更新頻度が上がるほど、必要なデータ転送量も増えます。
水平同期
一行の区切りを示します。CRTでは次の走査線、平面パネルでは次の行処理へ移る基準になります。
垂直同期
一画面の区切りを示します。新しいフレームへ切り替える基準です。
ブランキング
次の行や画面へ切り替えるための空白期間です。デジタル表示でも信号形式にタイミング区間が含まれます。

走査の「順序」と「発光原理」を混同しない

LCDやOLEDでは、CRTのように電子ビームが画面を走りません。しかし、画素データを行とフレームの順で配り、一定周期で更新する時間的な順序は残っています。

SMALL EXPERIMENT

RGBの数値を、1画素の光へ変える

赤・緑・青をそれぞれ0〜255で指定し、三つの光を加えて色を作ります。

1 PIXEL

画素データ:RGB(36, 142, 210)

16進表記:#248ED2

実際のディスプレイでは、画素の方式、明るさの補正、色空間、表示装置の特性なども関係します。

AUDIO OUTPUT

数値の並びを、空気の振動へ戻す

録音時に数値へ変えた音声は、再生時に逆向きの変換を行います。

音声データ時刻ごとの波形の大きさを数値で保持
D/A変換数値を時間とともに変化する電圧へ変える
アンプスピーカーを動かせる電力まで信号を増幅
スピーカー振動板を前後に動かし、空気を振動させる

再生バッファ

CPUの処理やストレージ読み出しに一時的な遅れがあっても、一定速度で音声を送り続けられるよう先のデータを用意します。

Digital-to-Analog Converterの略です。一定間隔の数値を電圧へ変え、不要な高周波成分をフィルタで抑えて連続信号に近づけます。

途切れる理由:再生に必要な時刻までに次の音声データがバッファへ届かなければ、音切れが起こります。大きなバッファは途切れにくい反面、操作から音が出るまでの遅延が増えます。

PRINT AND MOVE

出力は、画面と音だけではない

プリンタ

ページを点の集まりへ変換し、インク滴を吹き付ける、トナーを静電気で配置して熱で定着するなどの方法で、結果を物体へ残します。

モーターとアクチュエータ

制御値を電流やパルスへ変え、回転、位置、力を作ります。ロボット、車、工作機械、空調などで使います。

触覚・アクセシビリティ

振動、点字ディスプレイ、音声読み上げなどにより、視覚以外でも状態や情報を受け取れるようにします。

強い出力には、安全回路が必要

CPUの信号だけで大きなモーターやヒーターを直接動かすことはできません。電力を扱う駆動回路、温度や位置を測る入力、異常時に止める保護機構を組み合わせます。

APPLICATION TO DEVICE

アプリの要求を、装置固有の信号へ

現在のコンピュータでは、アプリが装置の電気信号を直接作るのではなく、OSとドライバが間をつなぎます。

  1. アプリがOSの機能へ、描画、音声再生、印刷などを依頼する。
  2. OSが複数アプリの要求を整理し、権限、順序、音量、ウィンドウ位置などを管理する。
  3. デバイスドライバが共通の要求を、GPU、音声回路、プリンタなど固有の命令へ変える。
  4. コントローラが主記憶や専用メモリからデータを読み、HDMI、DisplayPort、USBなどの信号を作る。
  5. 出力装置が信号を受け、光、音、印刷、動きへ変換する。

装置が「用紙切れ」「接続済み」「現在位置」などを返す場合、その情報はコンピュータへの入力です。多くの周辺装置は出力だけでなく、状態入力も行います。

DRAW THE LETTER G

入力した「G」が画面に見えるまで

  1. 入力を文字として確定するOSとアプリがキー入力を文字コードのGとして文書データへ加えます。
  2. フォントから形を得る文字コードに対応する輪郭や点の情報を使い、画面上の大きさと位置を決めます。
  3. 画素の色を計算するCPUやGPUが文字の内側、輪郭、背景に必要な画素の色を作ります。
  4. フレームバッファへ書く画面1枚分のデータのうち、Gを表示する領域を更新します。
  5. 表示回路が走査する画素を決められた順番と周期でディスプレイへ送り続けます。
  6. 各画素が光る赤・緑・青の光が目へ届き、文字Gとして知覚されます。

HOW TO COMPARE

出力装置の性能を見る四つの観点

細かさ画素数、印刷解像度、音のビット深度など、表現を区別できる段階。
更新頻度画面のHz、音声の標本化周波数、制御周期など、1秒間の更新回数。
遅延プログラムが出力を要求してから、人や装置へ届くまでの時間。
正確さ色、音量、位置など、指示した値をどれだけ正しく再現できるか。

PRIMARY REFERENCES

表示装置の参考資料

GPU教材から移した表示デバイス・表示信号の説明は、次のメーカー資料・技術資料に基づいています。

よくある誤解

GPUとディスプレイは同じ装置ではありません。GPUは主に画素データを計算し、表示コントローラが一定周期で送り、ディスプレイが光へ変えます。また、タッチパネルやプリンタの状態通知のように、一台で入力と出力の両方を行う装置もあります。

CHECK

確かめてみよう

フレームバッファは何を保持しますか?

画面1枚分の画素の色データを保持します。表示コントローラが一定周期で読み出してディスプレイへ送ります。

GPUとディスプレイの役割はどう違いますか?

GPUは描画命令を処理して画素データを作り、ディスプレイは受け取った映像信号を光へ変えます。間にはメモリと表示コントローラもあります。

スピーカーから音が出るまでにDACは何をしますか?

時間順に並ぶデジタル値を、連続的に変化する電圧へ変えます。その信号を増幅して振動板を動かします。

出力バッファを大きくすることには、どんな長所と短所がありますか?

一時的な処理の遅れで表示や音が途切れにくくなる一方、操作から出力までの遅延が増える場合があります。