FWTを用いたビット演算畳み込み

概要 高速ウォルシュ変換(FWT)は、FFTが通常の畳み込みを効率的に計算するのと同様に、ビット演算に基づく畳み込み演算を高速化するための手法です。ビット演算畳み込みでは、二つの数列の要素どうしがビット演算の結果に対して寄与します。 具体的には、数列AとBに対して、S[k] = Σi⊕j=k A[i]×B[j] を計算します。ここで⊕はOR、AND、XORなどのビット演算を表します。 ...

8月1日 09:20 投稿

Emscriptenでの画像フィルター:畳み込み操作とWebGLのアクセラレーション

Emscriptenでの画像フィルター:畳み込み操作とWebGLのアクセラレーション Web開発におけるリアルタイム画像処理は、特に複雑なフィルター効果を扱う際にはパフォーマンス上の課題を抱えます。 EmscriptenはC/C++コードをWebAssemblyにコンパイルするツールチェーンです。WebGLを組み合わせることで、ブラウザ環境下でも高性能な画像フィルター処理を実現できます。 本 ...

7月26日 01:05 投稿

高速ウォルシュ変換(FWT)と高速メビウス変換(FMT)

FWT高速ウォルシュ変換学習ノート 初見では理解困難ですが、そのコードの簡潔さには感銘を受けます。覚えるしかないかもしれません。 基本的な変換式 [FWT(A) = (FWT(A_0), FWT(A_1 + A_0)) ][IFWT(A) = (IFWT(A_0), IFWT(A_1 - A_0)) ]と [FWT(A) = (FWT(A_0 + A_1), FWT(A_1)) ][IFWT(A) = (IFWT(A_0 - A_1), IFWT(A_1)) ]論理和 [FWT(A) = (FWT(A_0 + A_1), FWT(A_0 - ...

6月1日 17:44 投稿