2011-10-22 15 views
0

イメージ圧縮に関連するプロジェクトをやっているので、JPEG圧縮で失われたデータを保存する方法が必要です。私はそれのためのカスタムlibjpegを構築する必要があると思う。主題に関する提案/助けを賞賛します(ソースコード内でどの部分を修正するかという指針さえも)。JPEGリダンダントデータの取得

ありがとうございます!

編集:自分自身を明確にするために、私は隠された情報を埋め込むことを検討していません。私はJPEG圧縮中にデータを失う方法を探しています。私はまた、JPEG画像(90から80まで)を再圧縮することでデータが失われてしまうのもOKです。

答えて

0

JPEGビットストリームにプライベートデータを埋め込む必要がある場合は、APPnマーカーを利用できます。それらについてのいくつかの素晴らしいものがあります。

  • 画像はまだあなたがそのままのlibjpegたり、別の好きなJPEGライブラリを残し、そして追加できるようにフォーマットが十分に単純である
  • そこに読めるとソフトウェアとの互換性がありますAPP0APP1を使用している直接

JPEG File Interchange Format /ビットストリームを修正するデータを読み取るには、詳細を読むことができ、あなたの目的に使用することができますAPP2のようなより多くの利用可能なマーカーが残っています。

+0

私はのためのJPEG圧縮処理中に失われたデータを取得しようとしていますいくつかの研究プロジェクト。私は、(ピクセルあたりのビット、行列などの)作業が容易なデータが必要です。 –

+1

私は、質問は実際には異なることがわかります。圧縮損失部分を測定するには、既存のJPEG圧縮ライブラリを使用し、圧縮画像を圧縮解除してオリジナルから差し引くのはいかがですか?これにより、JPEG圧縮コードを使用しなくても差が出ます。 –

0

jpeg圧縮で情報を失うことがある少なくとも4つの手順があります。私はあなたが何を得ているのか本当にわからない。失われた情報を測定したい場合は、圧縮/解凍してオリジナルと比較するだけです。

RGBを標準JFIFにエンコードして、色変換、サブサンプリングの情報が失われてしまった後、FDCTを実行しなければならないと思います。そのステップで情報が失われるように、次に量子化ステップがあります。あなたがすべてのものを含む量子化テーブルを持っていない限り、そこにも情報が失われます。

それを合計するには、次の

  1. 色変換Subsamling
  2. FDCT/IDCT
  3. 量子
関連する問題