はじめに libjpegによるJPEG圧縮の画像データをRGB無圧縮データに展開する方法の概要について述べる。なお、実際のコード詳細については、利用しているプログラムを参照されたい。 JPEG画像とは 一般にJPEG形式と呼ばれる圧縮方法は離散コサイン変換(DCT)を基本とした非可逆圧縮である。ロスレスJPEGもあるがここでは考えない。 離散コサイン変換とは、元のデータ列を関数とみなし、それを複数のcos波の合成波と考えて個々の周波数成分に変換することを示す。 この周波数成分の個々のパラメータを記録しておき、後程再度合成することによって、元の波形に近い波形を求めることができる。 元のデータ列そのものは記録しないので、圧縮→展開後は元のデータに「なんとなく特徴が似ている」ということになる。これが「自然画像に向いている」という理由となる。 JPEGではこのDCT変換だけでなく、ハフマン符号化圧