画像・動画ハッシュアルゴリズムの適用シーン比較-pHash-PDQ-TMK+PDQF

pHash、PDQ、TMK+PDQFの3つの主要なハッシュアルゴリズムの技術的特徴と適用シーンを比較分析します。

Aug 29, 2025 11:34 154 回閲覧 約744語 約2分で読めます

まず結論:pHashは画像レベルの重複排除と類似検索により適しています。PDQは画像向けの高ビット画像フィンガープリントです。TMK+PDQF(およびその vPDQ 実装)は、動画向けで時系列情報を含むフィンガープリントアルゴリズムです。

公式ドキュメントには音声と動画のインターフェースも示されていますが、動画部分はフレーム単位のハッシュ列を返すもので、本質的には「フレームごとの画像ハッシュ」であり、明示的な時系列エンコードを欠いているため、通常は高いロバスト性を要する動画マッチングではなく、軽量なスクリーニングに使われます。

pHash

pHashはオープンソースの知覚ハッシュライブラリで、長年にわたり画像の類似検索に使われており、DCTやMarrウェーブレットなどの画像ハッシュ実装を提供します。画像の重複排除や近似重複検索の用途に適しています。

PDQ

PDQはMetaがオープンソース化した「photo-hashing」アルゴリズムで、256ビットの画像フィンガープリントを出力します。画像コンテンツの高速でしきい値化可能なマッチングを目的に設計されており、コンテンツリスク管理やプラットフォーム横断の共有ライブラリで広く利用されています。

動画の用途では、PDQは「フレームごとにフィンガープリントを取得する」コンポーネントとして使用できますが、公式の動画向け手法では時系列モデリングとの組み合わせがより推奨されています(TMK+PDQF/vPDQを参照)。

TMK+PDQF(vPDQを含む)

TMK+PDQFは動画類似度アルゴリズムです。各フレームに対してPDQF(浮動小数点版PDQ)特徴量を計算した後、時間カーネルによって2層の固定長記述子を構築し、検索時にはまずグローバル層を比較し、次に時系列層を比較することで、動画レベルのマッチングの堅牢性を高めます。

業界ベンチマークやドキュメントでは、TMK+PDQF(および後続のvPDQ)はオープンソースの動画フィンガープリント手法として位置づけられており、再エンコード、解像度、ビットレートの変化に対する動画の近似重複やセグメント単位のマッチングを対象としています。