ディスクからファイルを削除し、同じディスクにいくつかの書き込みを実行し、回復プログラムを実行してファイルを回復します。
ファイルの整合性を確認する方法はありますか?
復元されたファイルをビットマップイメージにします。私が理解したのは、画像ピクセルデータを格納するデータブロックが上書きされる可能性があるため、画像の一部のピクセルに誤った情報がある可能性があります。ファイルヘッダーデータが破損した場合、ファイルを開くことができません。
しかし、各ピクセルを個別に視覚的に検査することなく、ピクセルデータが破損しているかどうかはどうすればわかりますか?テキストまたはビデオファイルの整合性を確認するのと同じアイデアです。
答え1
一部のファイルシステムには、チェックサムを含むメタデータブロックがあります。運が良ければ、このような内容はそのまま維持できますが、メタデータが消えることが多いので、ファイル自体の固有のエラー検出機能だけが必要です。
まず、画像は比較的大きなファイルであり、残りのメタデータを持たない削除された断片化されたファイルは、デフォルトでは運/試行錯誤を介して同じ順序で再配置できます。幸いなことに、イメージを作成するとき、これは通常非常に完全な方法で起こります。
ただし、断片化されていない方法で発生した場合、説明どおりに既存の画像データの途中で断片化書き込みするだけで破損が発生し、「数ピクセル」ではなく4kB画像になります。データブロック。圧縮されていない画像はほとんど保存されないので、「失敗モード」は正直言って現実的ではありません。
これで、特にカメラなどのSDカードで破損したファイルを見ることができます。しかし、これは異なる故障モードであり、実際には画像のより小さな部分にのみ影響を及ぼすか短縮する。
しかし、各ピクセルを個別に視覚的に検査することなく、ピクセルデータが破損しているかどうかはどうすればわかりますか?
目視検査を行うアルゴリズムを教えてください。または、チェックサムを含むファイル形式を使用してください。いくつかの医療画像形式が意味があると確信しています。
さらに、個々のピクセルは損傷されず、4kBブロックだけがランダムに完全に破損します。
しかし、誰もが「削除後に回復可能」になるようにファイル形式を設計していません。必要に応じて、実際にバックアップがないエントリの削除を中止する必要があります。最新のファイルシステムとストレージサブシステムのスナップショットはバックアップを作成します。そしてスペースもそれほど広くありません。
テキストまたはビデオファイルの整合性を確認するのと同じアイデアです。
先に述べたように、データの内容を評価できる人が人間だけならそれがすべてだ。一般的な写真コンテンツの場合、ディープ/コンボリューションニューラルネットワークを介した認識の視覚は、JPEGデコーダでデコードされた4kBなどの「不適切な」データを検出する適切な方法です。