
知覚ハッシュはリネーム後でも重複コミックをどのように見つけるか
2026年6月1日
知覚ハッシュはリネーム後でも重複コミックをどのように見つけるか
ファイルをリネームした。アーカイブを再圧縮した。同じ巻を別のソースからダウンロードした。通常の基準では、これらは今や「異なる」ファイルだ——異なる名前、異なるチェックサム、異なるファイルサイズ。
しかし、中のコミックは同じだ。すべてのページが同じだ。そして、デジタルライブラリを整理しようとしているなら、これらのほぼ同一の重複ファイルこそが標準的な重複検索ツールをすり抜けるものだ。
これが知覚ハッシュが解決する問題であり、Comic Duplicate Scanner の中核にある技術だ。
なぜ標準的なファイル比較では不十分なのか
ほとんどの「重複ファイル検索」ツールは、各ファイルのチェックサムを計算し、同じチェックサムを共有するファイルを特定する。これは完全な複製には完璧に機能する。
しかし、コミックアーカイブには、このアプローチは最も一般的な現実の重複を見逃す:
| シナリオ | 同じチェックサム? | 実際に重複? |
|---|---|---|
| 異なるファイル名のコピー | いいえ | はい |
| 異なる品質で再圧縮 | いいえ | はい |
| 異なる構造で再パッケージ | いいえ | おそらくはい |
| 2つの異なるソースからダウンロード | いいえ | 多くの場合はい |
| 正確なバイト対バイトコピー | はい | はい |
知覚ハッシュが代わりにすること
知覚ハッシュは、画像の視覚的コンテンツから計算された短いフィンガープリントで、ファイルバイトからではない。最も広く使用されるアルゴリズム、pHashは大まかに次のように動作する:
- 画像を小さな固定サイズ(例:32×32ピクセル)にリサイズ
- グレースケールに変換
- 離散コサイン変換(DCT)を適用して周波数成分を抽出
- 低周波部分を保持——これが全体的な構造を捉える
- 各値を中央値と比較し、ビット文字列を生成
視覚的に類似した内容の2つの画像は、低いハミング距離のハッシュを生成する。
これらのステップから直接、2つの重要な特性が導かれます:
- 解像度は関係ありません。 ステップ1は、計算の前にすべての画像を同じ固定グリッドにリサイズします。同じページの1200pxスキャンと3000pxスキャンはどちらも同じ32×32サムネイルになり、同じハッシュ値を生成します。
- カラーモードは関係ありません。 ステップ2は比較前にグレースケールに変換します。同じページのフルカラースキャンとグレースケールスキャンは、アルゴリズムが輝度構造のみを分析し色の値は見ないため、ほぼ同一のハッシュ値を生成します。
Comic Duplicate Scannerの適用方法
Comic Duplicate Scanner はアーカイブレベルで知覚ハッシュを適用する:
- 抽出 — 各CBZまたはCBRを開いて内部画像を読む
- 各ページのハッシュ — 各ページが知覚ハッシュを取得
- 比較 — 類似性インデックスを構築し、高割合の一致ページを持つアーカイブを発見
- スコアリング — マッチ信頼度を割り当て
2つのアーカイブのページの90%が一致すると、誤検知の確率はほぼゼロになる。
実際のケース
ケース1: HxH_v12_en.cbzをあるサイトから、Hunter_X_Hunter_Volume_12.cbzを別のサイトからダウンロード。チェックサム比較:一致なし。知覚ハッシュ:全章でほぼ同一のページ → 重複としてフラグ。
ケース2: CBZを圧縮ツールで処理し、各JPEGを80%品質に削減。チェックサムが変わった。知覚ハッシュ:視覚的に同一 → 検出。
ケース3: 1つのアーカイブはページが001.jpg、別のはpage_001.jpg。知覚ハッシュは内部ファイル名を見ない → それでも検出。
ケース5:カラースキャンとモノクロスキャン 同じ漫画巻の2つのコピーがあります:1つは初期デジタル版のカラースキャン、もう1つは後の再版のグレースケールスキャンです。ファイルサイズが異なり、色の深度が異なり、見た目も異なります。しかし、dHashはハッシュ前にグレースケールに変換するため、両方のコピーが同じ輝度フィンガープリントに還元され、重複としてフラグが立てられます。これは他のほぼすべての重複検出ツールが完全に見逃すケースです。
知覚ハッシュの限界
重大な視覚的編集はマッチを壊す。 軽微な透かしや小さなトリミングは通常、検出に影響しない。
非常に低解像度の画像は信頼性が低い。
複数巻にわたって類似した画風の漫画。 時折、誤検知が起こりうる——レビューインターフェイスで削除前にサムネイルを確認できる。
Comic Duplicate Scannerの使用
Comic Duplicate Scanner は、選択した重複をゴミ箱に移動する(完全削除ではない)ネイティブMacアプリだ。
ライブラリを整理したら、iPhone の BiblioFuse と組み合わせて、唯一のキュレートされた読書ソースを活用する。