par2 ファイルには、リカバリ ブロックのビット損失に対する内部冗長性がありますか?

par2 ファイルには、リカバリ ブロックのビット損失に対する内部冗長性がありますか?

par2 というすばらしいツールを見つけました。これは、必要なファイルのエラー訂正ブロックを生成し、後でそれを使用して破損したデータを回復できます。par2 が生成した回復ブロック ファイル自体に冗長性があるかどうか疑問に思い始めました。つまり、par2 は、ターゲット データ ファイルのビット エラーを修正する前に、自身の回復ファイルの破損を認識するのでしょうか。これらの par ファイルの破損は、データの回復プロセスにどのように影響しますか。また、この方法では冗長性はありますか。

答え1

各 PAR2 ファイルには、0 個以上の回復データ ブロックが含まれます。各ブロックにはチェックサムがあります。正常なブロックのみが使用されます。
(セットの最初の PAR2 ファイルには、通常、ブロックは含まれません。ファイル セット全体に関するメタデータのみが含まれます。)

さらに、PAR2 ファイルには、実際のデータ ファイル内のブロックのチェックサムも含まれています。PAR プログラムは、このチェックサムに基づいて、データ ファイル内のどのブロックを修復する必要があるかを判断します。

これについては、par2 ファイル仕様で詳しく読むことができます。PAR データを計算する実際のアルゴリズムは非常に複雑ですが、ファイル形式自体は非常に簡単です。
(数年前、私は面白半分に PAR ファイル用の独自のパーサーを作成しました。)

ご注意ください:マルチパーこれは、最も高速な PAR2 ソフトウェア (GPU アクセラレーションも使用可能) であり、PAR を発明した澤田裕氏によって現在も積極的に開発されています。

関連情報