ソフトウェアデコード 【software decoding】
概要
ソフトウェアデコード(software decoding)とは、データ圧縮などで特定の形式に符号化されたデータを元の状態に戻すデコード処理をソフトウェア(コンピュータプログラム)によって行うこと。動画データの再生などを行う際に、コンピュータ上のCPUやGPUを使い、プログラムでデコード処理を行う方式。アナログ信号を記録したデジタルデータから元の信号への逆変換、圧縮されたデータの展開、暗号化されたデータの復号など、特定の形式でエンコード(符号化)されたデータを逆方向に変換し、元のデータや信号に戻す操作を「デコード」(decoding)という。
このデコード処理を専用のハードウェアによって行う方式を「ハードウェアデコード」(hardware decoding)、汎用のハードウェア上でコンピュータプログラムによって行う方式をソフトウェアデコードという。
ソフトウェアデコードは処理速度では劣るが、ソフトウェアを切り替えたり追加することで様々なデータ形式に対応できる。ハードウェアのように製造や運搬にコストが掛からず、容易に提供、入手、導入できる利点もある。性能が高く様々な用途に用いるパソコンなどで一般的な処理方式である。
ソフトウェアデコーダ (software decoder)
デコード処理を行うためのコンピュータプログラムを「ソフトウェアデコーダ」(software decoder)という。主に圧縮された動画や音声の展開と再生を行うために利用されており、アプリケーションソフトに内蔵されているか、ライブラリやプラグイン、アドオンなどの形で個別に提供される。
一つのデコーダは通常一つの形式に対応するが、単体で複数の形式に対応するものある。オペレーティングシステム(OS)やアプリケーションに追加でデコーダを導入することで、様々な形式に対応できるようになる。元になるデータを特定の形式で符号化(エンコード)する「ソフトウェアエンコーダ」(software encoder)も兼ねているものは「ソフトウェアコーデック」(hardware codec)という。
(2024.6.23更新)