メタデータを特定するには、最初にJPEGマーカーを読み取る必要があります。サイズ、サンプルレート(通常は4:2:2であるが常にではない)、量子化テーブル、およびハフマンテーブルなどのメタデータ。
次に、エントロピー符号化データセグメントをデハフマン符号化する必要があります。これにより、ジグザグ形式の各チャンネルのカラーチャンネルのAC係数に続くDC係数が得られます。エントリをジグザグして対応する量子化テーブルで乗算する必要があります。最後に、デコードされたマクロブロックで逆離散コサイン変換を実行する必要があります。
これは、JPEGがエンコードされたサンプルレートで、YCrCbに3チャンネル(アナログの場合はYUV)を表示します。 4:2:2にする必要がある場合は、再サンプリングする必要があります。
遵守しているものを作成するのは簡単な作業ではないので、実際のJPEGデコードを行うライブラリを用意してください。
ここには非常に基本的なものがありますが、に欠陥があります。 JPEGデコーダ私はあなたに技術的な詳細を伝えるために書き始めました。水平および垂直の両方のクロマ解像度が半分にされる意味、0:2:Ruby JPEG decoderそれは正常I suggest IJG
JPEG画像はほとんど常に4であるCに正しい実装についてIDCT
を実装していません。 4:2:2は、水平解像度のみが半分になることを意味します。 – grahamparks
http://www.impulseadventure.com/photo/jpeg-decoder.htmlそうそうだ。 – EnabrenTane