Fast Walsh-Hadamard Transform
这玩意最近经常出现额……
FFT解决的问题是\[C_{k}=\sum_{i+j=k}A_i \cdot B_j\]
其中\(A\)、\(B\)、\(C\)是三个列向量。
而FWHT是将\(\sum\)下面的\(+\)号换成位运算符时采用的方法。
做法与FFT相似,先将类似的系数表达式转换为点值表达式,点积之后再转换回来。
将系数表达式转换为点值表达式的函数叫\(tf\),反向的叫\(utf\)。
\(A_0\)表示\(A\)的前半部分(二进制位最高位为0),\(A_1\)表示\(A\)的后半部分(二进制位最高位为1),转换方法为:
\[tf_{xor}(A)=(tf_{xor}(A_0+A_1),tf_{xor}(A_0-A_1))\]\[utf_{xor}(A)=(utf_{xor}(\frac{A_0+A_1}{2}),utf_{xor}(\frac{A_0-A_1}{2}))\]
\[tf_{and}(A)=(tf_{and}(A_0+A_1),tf_{and}(A_1))\]\[utf_{and}(A)=(utf_{and}(A_0-A_1),utf_{and}(A_1))\]
\[tf_{or}(A)=(tf_{or}(A_0),tf_{or}(A_1+A_0))\]\[utf_{or}(A)=(utf_{or}(A_0),utf_{or}(A_1-A_0))\]
还有一点就是,先递归再转换还是先转换再递归是对结果没有影响的,所以可以把\(tf\)与\(utf\)写成一个函数。
P.S. http://picks.logdown.com/posts/179290-fast-walsh-hadamard-transform
Fast Walsh-Hadamard Transform的更多相关文章
- Fast Walsh–Hadamard transform
考虑变换 $$\hat{A_x} = \sum_{i\ or\ x = x}{ A_i }$$ 记 $S_{t}(A,x) = \sum_{c(i,t)\ or\ c(x,t)=c(x,t),\ i ...
- h.264 fast,1/2,1/4像素运动估计与插值处理
Hadamard Transform 在1/2,1/4像素运动估计这一阶段中,对于像素残差,可以选择采用哈达玛变换来代替离散余弦变换进行高低频的分离. 优点:哈达玛矩阵全是+1,-1,因此只需要进行加 ...
- H.264 Transform
变换是视频.图像编码的核心部分.目前所采用的变换算法都是从傅里叶变换演变而来.单纯的变换并不会导致视频(图像)的码率变小,反而会增大.但是非常巧妙的一点是:变换把图像从空域转换成的时域,把由色块组成的 ...
- 简单的量子算法(一):Hadamard 变换、Parity Problem
Hadamard Transform Hadamard 变换在量子逻辑门中提过,只不过那时是单量子的Hadamard门,负责把\(|1\rangle\)变成\(|-\rangle\),\(|0\ran ...
- paper 132:图像去噪算法:NL-Means和BM3D
这篇文章写的非常好,确定要~认真~慎重~的转载了,具体请关注本文编辑作者:http://wenhuix.github.io/research/denoise.html 我不会告诉你这里的代码都是f ...
- 图像去噪算法:NL-Means和BM3D
图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础.可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验 ...
- X264参考手册
艺搜简介 基本语法: x264 [options]-o outfile infile 注意与ffmpeg的输入输出文件位置恰好相反: ffmpeg[options][[infile options]- ...
- Video processing systems and methods
BACKGROUND The present invention relates to video processing systems. Advances in imaging technology ...
- FWT,FST入门
0.目录 目录 0.目录 1.什么是 FWT 2. FWT 怎么做 2.1. 或卷积 2.2.与卷积 2.3.异或卷积 2.4.例题 3. FST 3.1. FST 怎么做 3.2.例题 1.什么是 ...
- [译]处理文本数据(scikit-learn 教程3)
原文网址:http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html 翻译:Tacey Won ...
随机推荐
- PKU 2506 Tiling(递推+高精度||string应用)
题目大意:原题链接有2×1和2×2两种规格的地板,现要拼2×n的形状,共有多少种情况,首先要做这道题目要先对递推有一定的了解.解题思路:1.假设我们已经铺好了2×(n-1)的情形,则要铺到2×n则只能 ...
- GYM - 101490 J Programming Tutors (匈牙利+二分)
题意:有N个学生和N个老师,每个人都有自己的坐标X,Y,给每个学生匹配一个老师,要求N个匹配中的距离最大值最小.其中距离的定义为:|X − X’| + |Y − Y ‘|. 分析:一道典型的最大值最小 ...
- 【java】使用Builder模式,轻松应对动态繁杂的方法参数
背景:在咱编写的图片处理模块里,针对加载这个方法,参数很多,如: /** * 加载图片,经过内存.磁盘.两层缓存如果还没找到,则走http访问网络资源 * @param url 地址 * @param ...
- eclipse 编译的时候 自动把SDK需要放入libs里面的so文件给删除了
解决方法: 右击Project,选Properties->Builders, 把CDT Builder 关掉. 这样就不会编译了.包括c++的代码也不会编译.. 治标不治本啊...以后c++代码 ...
- java.lang.OutOfMemoryError: PermGen space异常及解决
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被 ...
- CentOS 相关软件安装 与 Siege压测
1.登录linux机器 a.打开mac的钥匙串 b.ssl root@ip c.输入密码 常用命令: cat /proc/version 查看系统版本 cat /etc/issue control ...
- Ubuntu16.04 sever 安装
插入U盘,开机有两个USB启动方式(传统模式和UEFI模式): 启动快速,我选择了UEFI模式,跳过BIOS初始化. 用启动盘成功引导之后,出现下面的界面 选择安装语言:中文(简体) 默认第一项:安装 ...
- 20145331 《Java程序设计》第4周学习总结
20145331 <Java程序设计>第4周学习总结 教材学习内容总结 •第六章 1.继承的定义与特点: 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法, ...
- Tomcat热部署,Web工程中线程没有终止
近期项目中,用 jenkins 热部署 web工程时,发现工程中静态持有的线程(将ScheduledExecutorService定时任务存储在静态Map中),导致不定时出现数据库访问事务关闭异常,如 ...
- vCenter Server 6.7 集成 vRealize Orchestrator 7.5
第一步,安装独立Orchestrator 7.5,并初始化 Orchestrator ova导入和初始化步骤省略...请参考官方文档... Orchestrator 初始化中的认证源需要和vCen ...