ddrescueを使用して古いハードドライブの大部分を救出し、photorecを使用してファイルを回復しました。完全に復元された写真がたくさんあるので本当に良いです。ただし、半分に読み取ることができ、途中で停止しているか、ヘッダーが破損して開けられない破損したJPEGファイルもたくさんあります。
ファイルの途中でデータが破損したファイルの場合、GIMPは少なくとも破損が発生するまで画像を表示するので、GIMPを使用してファイルを開きます。
次のことができるツールはありますか?
- ファイルの全部分を開き、一緒にマージすることができます(破損、GIMP「JPEGファイルの早期終了」、「間違ったJPEGファイル構造:SOIタグ2個」などのエラーのため停止しません)。
- 単に開かない破損したファイルの一部を回復するために正しいヘッダー設定を見つけるのに役立ちます。
答え1
ヘッダーなしで画像の「尾」を再構成することは困難です。
残念ながらそうです。一般的に言えば画像圧縮とJPEGの仕組みのため、これは不可能です。
まず、JPEGは最終段階でHuffmanエンコードされます。通常、算術符号化はまれであり、少なくとも私が聞いたことはありません。これは、圧縮データの符号と非圧縮データの意味を示すテーブル(またはバイナリツリーの他のエンコード)が必要であることを意味します。
JPEGでは、JPEG規格で提供されている事前に作成されたテーブルの1つを使用できます。あるいは、データを表示してエンコードしている正確な画像に適したテーブルを作成することもできます。通常、カメラとソフトウェアエンコーダは後者を実行します。損失なしで十分に安価で省スペースです。
ただし、テーブルがないと、データは完全に任意のビットのように見え、デコードできないことを意味します。
幸いなことに、同様の画像に対して事前に計算された「カスタム」テーブルのみを使用するカメラを使用しています(非常に一般的なJPEG正規化テーブルを使用するよりもやや優れていますが、各写真の統計を再計算する必要はありません)。したがって、ハフマンテーブルをリサイクルすることは実際に可能です。
しかし、実際に問題は、テーブルが分かるまで復号化できないことです。これにより、読み取り可能な尾にどのくらいの8×8画像データブロックがあるかがわかりません。ただし、これはブロック数が固定された長方形の画像です。したがって、他のファイルの先頭を破損した先頭に配置すると、圧縮の度合いに応じて必要以上のブロック数が少なくなります。しかし、まだ壊れた画像が残っています。
TL:いいえ、難しいです。運が良くても試行錯誤が多いです。