エンコーダ 【encoder】
概要
エンコーダ(encoder)とは、何らかの物理量や情報、データなどを一定の規則に基づいて特定の形式で符号化する装置やソフトウェアのこと。機械部品を指す場合は移動や回転などの状態の変化を検知・測定して信号やデータとして出力するセンサーを意味する。コンピュータにおいてエンコーダという場合は、あるデータ列を一定の形式に基づいて特定の符号に変換するソフトウェアやハードウェアを指し、データ圧縮や暗号化などを行う。そのような変換処理を「エンコード」(encode)あるいは「エンコーディング」(encoding)という。
例えば、デジタルデータとした表された画像や動画、音声は文字などに比べデータ量が多く冗長なため、エンコーダによって無駄な成分を排除した短い符号列に置き換える圧縮符号化が行われる。
エンコーダの機能をICチップ内部の論理回路群など物理的な装置として実装したものを「ハードウェアエンコーダ」(hardware encoder)、汎用のマイクロプロセッサ(CPU/MPU)上で実行するコンピュータプログラムとして実装したものを「ソフトウェアエンコーダ」(software encoder)という。
一方、エンコーダとは逆に、特定の形式の符号として表されたデータを元の状態に復元する装置やソフトウェアを「デコーダ」(decoder)、そのような工程を「デコード」(decode)「デコーディング」(decoding)という。
ある形式に対応したエンコーダとデコーダは対で用いられ、両者を一体化してどちらの処理も可能にしたものは「コーデック」(CODEC:COder-DECoder)と呼ばれる。また、エンコーダのうち、特定の形式から同じ種類の別の形式へ(デコード・再エンコードせずに)直接変換するものは「トランスコーダ」(transcoder)とも呼ばれる。
(2019.7.4更新)