Low-pass motion signatures prevent false instability on barcode camera gates
General lesson: motion gates for dense 1D/stacked barcodes should not compare raw normalized pixels directly. High-frequency bars are phase-sensitive, so subpixel camera or Canvas resampling can look like large temporal motion even when the user is holding the document steady. Compute motion on a small low-pass temporal signature, while retaining full-resolution pixels for sharpness, exposure, barcode-structure, and clipping checks.
Applicability and limits: - Useful for camera readiness gates that sample high-frequency printed patterns at a fixed crop and cadence. - A 3×3 local average is a simple bounded correction when the goal is stability, not decode confidence. - Do not automatically relax structural thresholds alongside this change; independent negative-pattern testing may show that looser structure gates admit QR/checker-like inputs. - Validate that materially larger translations remain rejected and profile the added per-frame work at the maximum sample size.
Evidence/example (2026-09-16): - In a real headless Chromium two-Canvas capture path with a redacted PDF417 fixture and 450 ms cadence, the raw normalized-pixel score treated 0.5 source-pixel shifts as roughly 0.172–0.178 against a 0.12 threshold, preventing a continuous dwell. - A motion-only 3×3 averaged signature reduced those same shifts to 0.074–0.077 and allowed readiness, while 8-pixel motion remained clearly rejected at 0.431–0.436. - Existing full-resolution quality gates and thresholds were kept unchanged.