目次
22 関係: 単精度浮動小数点数、二次元コード、ハードウェアアクセラレーション、バーコード、アプリケーションプログラミングインタフェース、オペレーティングシステム、クロマキー、シェーディング言語、シェーダー、Core Audio (Apple)、CPU、顔認識システム、GLSL、Graphics Processing Unit、IOS、IPadOS、Mac OS X v10.4、MacOS、Metal (API)、OpenGL、Quartz Compositor、TvOS。
- MacOS API
- グラフィックライブラリ
単精度浮動小数点数
情報処理において、単精度浮動小数点数 (たんせいどふどうしょうすうてんすう、single-precision floating-point number)は、コンピュータの数値表現の一種である。 本来の単精度浮動小数点数とは、倍精度浮動小数点数に対比して使われる用語であって倍精度浮動小数点数が無いシステムであれば単に浮動小数点数と呼ばれるべきものである(また浮動小数点数はもともと固定小数点数と対比させた言葉であった)。 そうして、単精度はシステムの基本となる精度であり、バイトマシン(キャラクターマシン)が普通になる前のワードマシンにおいて1語長分の記憶場所を占める浮動小数点数であるのが普通である。
二次元コード
二次元コード(にじげんコード)とは、横方向にしか情報を持たない一次元コード(バーコード)に対し、水平方向と垂直方向に情報を持つ表示方式のコードのこと。バーコードと比べると面積あたりの情報密度が高く、コード化するデータが同一であれば印字、表示面積は小さくなる。 小さな正方形を上下左右に配列させたマトリックス式(マトリックスコード)と、1次元バーコードを上下に複数重ねたスタック式(スタックコード)がある。 なお、「QRコード」はデンソーウェーブが開発したマトリックス式二次元コードの商標である。
ハードウェアアクセラレーション
コンピューティングにおいて、ハードウェアアクセラレーション (hardware acceleration) とは、なんらかの機能を通常の汎用プロセッサ (CPU) 上で動作するソフトウェア(コンピュータプログラム)としての実装で処理したのではレイテンシが大きい、スループットが低い、消費電力が大きい、などといった問題があるような場合に、ハードウェア実装による支援で実行速度などを加速(アクセラレーション)し、システム全体の性能や効率を向上させる技術である。ハードウェアアクセラレーションを利用するにはシステムに専用のプロセッサを追加する必要があるため、コスト高に繋がる可能性がある。
バーコード
代替文。
アプリケーションプログラミングインタフェース
アプリケーションプログラミングインタフェース(、)「インターフェイス」「インターフェース」と表記されることもあるが、本記事では「インタフェース」で統一する。とは、広義ではソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。 APIには、サブルーチン、データ構造、オブジェクトクラス、変数などの仕様が含まれる。APIには様々な形態があり、POSIXのような国際標準規格、マイクロソフトのWindows APIのようなベンダーによる文書、プログラミング言語の標準ライブラリ(例えば、C++のStandard Template Libraryやなど)がある。 商業的に使われる狭義では、各種システムやサービス(ハードウェア、OS、ミドルウェアおよびWebサービス等)を利用するアプリケーションソフトウェア (Application) を開発・プログラミング (Programming) するためのインタフェース (Interface) である。こちらの意味では、システムやサービスから直接提供されないもの、例えば言語の標準ライブラリは含まない。
見る Core Imageとアプリケーションプログラミングインタフェース
オペレーティングシステム
オペレーティングシステム(operating system、略称:OS、オーエス)とは、コンピュータのオペレーション(操作・運用・運転)を司るシステムソフトウェアである。
クロマキー
クロマキー(Chroma key)もしくはクロマキー合成(クロマキーごうせい)は、キーイングの一種。映像の一部から特定の色の成分を分離し、そこに別の映像を合成する技術。 フィルムでは古くから使われてきたブルーバック合成を模したもので、均質な色の背景の前で人物を撮影し背景に別の映像をはめこむなどの使い方がなされる。アナログビデオ、デジタルビデオの両方で利用され、ライブでの使用も可能である。背景色には人物の肌色と補色の関係にあるブルーやグリーンが多く使用される。最も身近な例はニュースの天気予報の映像である。 テレビでのクロマキー合成はスイッチャーなどのM/K機能を用いるので、技術的には背景の青(緑)映像を元にキー信号を生成する回路が必要になる。簡単な原理は、入力映像信号を基準となる青(緑)の色信号と比較し、指定した誤差範囲で一致すれば有効なキー信号を発生するものである。背景と前景との境界部分にキー信号の変化を適切に処理して、境界部分で背景色が見えたり前景が隠されたりせず、すっきりと合成できる性能が求められる。このため、キー信号は2値キーでなく境界に傾斜を持たせられるリニアキー(ソフトキー)とするのが普通。
シェーディング言語
シェーディング言語(shading language)は、プログラマブルシェーダー向けのプログラミング言語のこと。この種の言語は色や法線のような特別なデータ型を持っている。C言語やJavaのような汎用言語とは異なり、標準入出力機能を持たないなど、特定領域に特化したドメイン固有言語の一種である。3次元コンピュータグラフィックスの様々な市場に対応するため、複数の異なる言語が開発されている。以下にその概略を述べる。
シェーダー
シェーダー(shader)とは、3次元コンピュータグラフィックスにおいて、シェーディング(陰影処理)を行うコンピュータプログラムのこと。「shade」とは「次第に変化させる」「陰影・グラデーションを付ける」という意味で、「shader」は頂点色やピクセル色などを次々に変化させるもの(より具体的に、狭義の意味で言えば関数)を意味する。
Core Audio (Apple)
Core Audio(コア オーディオ)は、AppleのOS(macOSおよびiOS・iPadOS・tvOS・watchOS・audioOS)で、音声を扱うフレームワークである。Windowsにも同名のライブラリ(Core Audio (Windows))があるが、これとは異なる。
見る Core ImageとCore Audio (Apple)
CPU
CPU(シーピーユー、Central Processing Unit)、中央性処理装置(ちゅうおうせいしょりそうち)または中央演算処理装置(ちゅうおうえんざんしょりそうち)は、コンピュータの主要な構成要素のひとつで、コンピュータ内の他の装置・回路の制御やデータの演算などを行う装置。
顔認識システム
スイスの監視カメラシステム。顔認識機能と自動車の型式、色、ナンバーなどを認識する機能がある。 顔認識システム(かおにんしきシステム、Facial Recognition System)とは、カメラのデジタル画像から、人を自動的に識別するためのコンピュータシステムである。顔認証システムともいう。ライブ画像内の顔と思われる部分を抜き出し、顔面画像データベースと照合することで識別を行う。世界最高の顔認識システムでは1200万人分の静止画での「1:N認証」で、認証エラー率が0.22%に達する。
GLSL
GLSL (OpenGL Shading Language) はGLslangとしても知られ、C言語の構文をベースとした高レベルシェーディング言語である。これはアセンブリ言語やハードウェアに依存した言語を使わないで、アプリケーションソフトウェア開発者がグラフィックスパイプラインを直接制御できるようにOpenGL ARB (Architecture Review Board) で策定された。
Graphics Processing Unit
Graphics Processing Unit(グラフィックス プロセッシング ユニット、略してGPU)は、コンピュータゲームに代表されるリアルタイム画像処理に特化した演算装置あるいはプロセッサである。グラフィックコントローラなどと呼ばれる、コンピュータが画面に表示する映像を描画するための処理を行うICから発展した。特にリアルタイム3DCGなどに必要な、定形かつ大量の演算を並列にパイプライン処理するグラフィックスパイプライン性能を重視している。現在の高機能GPUは高速のビデオメモリ(VRAM)と接続され、頂点処理およびピクセル処理などの座標変換やグラフィックス陰影計算(シェーディング)に特化したプログラム可能な演算器(プログラマブルシェーダーユニット)を多数搭載している。
見る Core ImageとGraphics Processing Unit
IOS
WWDC 2008の基調講演で、iPhoneの新しいOSの対応言語を紹介するスティーブ・ジョブズ とは、Appleが開発および提供する、iPhoneとiPod touch向けのモバイルオペレーティングシステム(組み込みプラットフォーム)であり、BSD系UNIXから開発されたNeXTのOPENSTEPを起源とするMacintosh専用のmacOSをモバイル機器用途に改変したものである。2023年9月時点で、最も新しいバージョンであるiOS 17は、iPhone SE(第2世代)やiPhone XS/XS Max/XRとそれ以降に発売されたiPhoneに対応している。 バージョンのアップデートは無料で行えるが、アップデート後に古いバージョンへ戻す行為(いわゆるダウングレード)を行うことはできないことには多くの批判がある。なお、Appleの公式サポートページには、「ソフトウェアを常に最新の状態にしておくことは、Apple製品を安全に使うための最も重要な方策の一つ」との記載がされている。
IPadOS
iPadOS(アイパッドオーエス)は、Appleが開発・提供する、iPad向けのモバイルオペレーティングシステム(組み込みプラットフォーム)。 WWDC 2019で発表され、2019年9月24日にリリースされた。
Mac OS X v10.4
Mac OS X v10.4 Tiger(マック オーエス テン バージョンじってんよん タイガー)は、Appleが開発・販売したMac OS Xの5番目のバージョンである。バージョンナンバーは10.4。愛称は、コードネームでもある“Tiger”(タイガー)。Mac OS X v10.3の後継であり、PowerPC版でClassic環境が使える最後のOSとなった。 2005年4月12日公式発表され、同年4月29日に発売開始された。最終セキュリティアップデートは、2009年9月10日にリリースされた Security Update 2009-005である。対応するSafariのセキュリティアップデートは、2010年11月のSafari 4.1.3まで提供された。
MacOS
macOS(マックオーエス)は、Appleが開発・販売するMacのオペレーティングシステムである。当初の名称はMac OS X(マックオーエステン)で、のちにOS X(オーエステン)に改められていた(後述)。 技術的には直系ではないが、Classic Mac OS(Mac OS、System)の後継として、新たにBSD系UNIXをベースに開発された。
Metal (API)
Metal(メタル)はAppleのオペレーティングシステム上でサポートされる、オーバーヘッドの小さいローレベル(low level)なコンピュータグラフィックスAPIである。Metalでは、OpenGLとOpenCLに似た機能を一つのAPIに統合している。Metalはクロノス・グループによるVulkanや、マイクロソフトによるWindows向けのDirect3D 12といった、他のプラットフォームにおける類似のAPIによるパフォーマンス上の利点をmacOS/iPadOS/iOSにもたらしている。 MetalはC++11をベースとした新しいシェーディング言語、Metal Shading Language(MSL)を利用する。これはClangとLLVMによって実装されている。Metalはコンピュートシェーダーを導入することでGPGPUプログラミングのしやすさも向上している。
OpenGL
は、クロノス・グループ (Khronos Group) が策定している、グラフィックスハードウェア向けの2次元/3次元コンピュータグラフィックスライブラリである。SGI社内で自社のCGワークステーション向けにクローズドに策定されたAPI仕様が改良されて公開され、後に大きなシェアを持つに至った。現在は多様な描画デバイスを包括するグラフィックスAPIのオープン標準規格として策定が行なわれている。
Quartz Compositor
Quartz CompositorはmacOSのウィンドウシステム。他のQuartzフレームワークやQuartzファミリのレンダラーが生成しラスタライズしたグラフィックスを管理し表示する役割を担う。
見る Core ImageとQuartz Compositor
TvOS
tvOS(ティーヴィーオーエス、旧称:Apple TV Software)は、AppleがApple TV(第2世代以降)用に開発したオペレーティングシステム(OS)である。
参考情報
MacOS API
- AVFoundation
- Apple Type Services for Unicode Imaging
- Audio Units
- Carbon (API)
- Cocoa (API)
- ColorSync
- Core Animation
- Core Audio (Apple)
- Core Data
- Core Foundation
- Core Image
- Core Text
- OPENSTEP
- Pygame
- Quartz 2D
- QuickTime
- SDL
グラフィックライブラリ
- ARToolKit
- Apache Batik
- Core Image
- Direct2D
- Direct3D
- DirectDraw
- DirectFB
- GD Graphics Library
- Graphics Device Interface
- ImageMagick
- Java 2D
- LWJGL
- LibTIFF
- Libjpeg
- Libpng
- Librsvg
- Mesa 3D
- Metal (API)
- Netpbm
- Open Inventor
- OpenCL
- OpenGL
- OpenJPEG
- PGPLOT
- PHIGS
- PlayCanvas
- Plotutils
- Pygame
- Python Imaging Library
- Quartz 2D
- QuickDraw
- SDL
- Skia
- Three.js
- Vulkan (API)
- WebCL
- WebGL
- WinG
- X Toolkit Intrinsics
- クロノス・グループ