蓝噪声取样(Blue noise sampling) 相关知识

http://www.edwardesire.com/2015/12/01/intro-blue-noise-sampling/

'with minimal low frequency components and no concentrated spikes in energy.'

蓝噪声的特征:最小限量的低频成分,能量峰值也没有提供。这意味着取样时没有结构上低频导致的混淆现象和杂波导致的间隙。

我找到的资料通过泊松碟分布的生成蓝噪声属性的点分布方法:在泊松碟分布的中,通过Dart-Throwing Algorithm生成这种蓝噪声属性的点分布。这种方法为随机在平面上生成候选点,如果处在前面已经接受的样本点的最小距离内才接受其的生成。《Stochastic sampling in computer graphics. ACM Trans. Graph》描述泊松碟分布,Yellott通过观察眼球中的锥体分布并进行傅里叶变化得到它的泊松碟分布。它在频域的图像如下,在原点上有一个尖峰。

除了两个样本之间的距离需要大于某个具体的值这个限制外,样本还被随机放置在平面上。这个最小距离减少了噪音的幅度。《Hierarchical Poisson disk sampling distributions》继续通过泊松碟分布来取样平面的数据,描述了dart-throwing算法是实现了按序布局点:将每个候选点放置到它的位置上。同样的地,当新点与已放置点的距离太近时则证明这个候选点无法放置。当点的数量达到某个具体的阈值,或者已经无法放置新点时,算法停止。并改进了算法,使得通过改变点之间的限制半径来控制呈现点的数量。并减少了对初始参数的依赖。可以通过下方两个图比较,上图为原始的dart-throwing算法的结果,下图为作者改进后的dart-throwing算法。

生成可以含有蓝噪声属性泊松碟点分布的方法主要有3种:

  • incremental methods(增量方法):也就是前述的dart-throwing方法。在《Adaptive Incremental Stippling using the Poisson-Disk Distribution》的改进方法中自适应了局部密度更新碟的半径大小,使得保留更多的特征。算法开始于时,初始包含一个随机位置的碟(disk,包含位置信息和限制距离半径)和放置碟的可用范围(boundary)。这个初始元素直接在图层上绘制。接下来,迭代地从队列中获取合法位置的碟,并与新生成的碟P进入函数中运算出一个半径值,使得P的半径依据局部密度调整为合适的大小。只要新的碟P不与已经绘制到图层上的碟产生重叠问题,就将新生成的碟压入队列成为可以绘制的碟。否这不做处理。无论成功与否都将通过新生成的碟更新Q的合理范围。使得下一个碟的布局能在合理范围内。直到将所有队列中的元素都出队。可以从下图中的例子模拟一下,程序运行的判断。(a)中红线为碟Q的可用范围。(b)为新碟与已经绘制的元素重叠,(c)为合适的位置。

  • High-throughput methods(高通量方法):大量的预计算过程,但是执行时快。在《Recursive Wang tiles for real-time blue noise》使用了一种生成progressive blue noise Wang tiles(王氏砖块)的算法。依据王氏砖块的特点,新砖块只能与已存在砖块边的颜色一致才能渲染。在蓝噪声取样的应用中能减少锯齿并显著降低噪音水平。使用这种方法生成的均匀密度点和jittered regular grids一样快。如下图,中间图为取样特征得出的4个原砖块合并。

  • Approaches based on Constrained Voronooi Diagrams(基于CVD的方法):这种方法使用沃罗诺伊图来生成样本。在《Fast capacity constrained Voronoi tessellation》中将处理过程加快。依据开销函数来寻找取样结果合并最小的开销。其大致进行取样的过程如下,沿着不规则的边缘消除距离远远高于平均距离的点。

这三种方法的横向比较:增量方法和基于CVD的方法的结果是最好的,但执行速度远远慢于高通量方法。


参考

  1. Stippling and Blue Noise
  2. Cook, R.L., Stochastic sampling in computer graphics. ACM Trans. Graph., 1986. 5(1): p. 51-72.
  3. McCool, M. and E. Fiume. Hierarchical Poisson disk sampling distributions. in Proceedings of the conference on Graphics interface '92. 1992. Vancouver, British Columbia, Canada: Morgan Kaufmann Publishers Inc.
  4. Ascencio-Lopez, I., O. Meruvia-Pastor and H. Hidalgo-Silva, Adaptive Incremental Stippling using the Poisson-Disk Distribution. Journal of Graphics, GPU, and Game Tools, 2010. 15(1): p. 29-47.
  5. Kopf, J., et al., Recursive Wang tiles for real-time blue noise. ACM Trans. Graph., 2006. 25(3): p. 509-518.
  6. Li, H., et al. Fast capacity constrained Voronoi tessellation. in Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games. 2010. Washington, D.C.: ACM.

Zida

Never Sleep

Changshaese@Beijing http://edwardesire.com

蓝噪声取样(Blue noise sampling) 相关知识相关推荐

  1. 直播相关知识之二 采集、处理、编码和封装

    直播相关知识之二 采集.处理.编码和封装 总体流程图 一. 采集 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节.视频的采集涉及两方面数据的采集:音频 ...

  2. 【信息技术刷题记录】 05 PS、CAD相关知识及移动商务知识篇

    刷题记录 PS.CAD相关知识及移动商务知识 写在前面:此系列文章只为参加知识竞赛时的记录 对题目提出一些自己的想法 有啥不对的地方还望谅解和指正 不胜感激 第五次记录 一.PS.CAD相关知识 1 ...

  3. 视频压缩算法的相关知识

    视频压缩算法的相关知识 MPEG-1 MPEG 视频压缩编码后包括三种元素:I帧(I-frames).P帧(P-frames)和B帧(B-frames).在MPEG编码的过程中,部分视频帧序列压缩成为 ...

  4. 主板是计算机所有部分连接的基础,计算机基础相关知识答案.doc

    计算机基础相关知识答案 计算机基础相关知识 一.填空题: 1.计算机的硬件主要由(控制器).(运算器).(存储器).(输入输出设备)以及电源等硬件组成. 2.计算机硬件系统可以分为两大部分,即(主机 ...

  5. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  6. 2022年二级建造师建设工程法规及相关知识精选试题及答案

    题库来源:优题宝公众号 2022年二级建造师建设工程法规及相关知识精选试题及答案,由优题宝公众号根据最新二级建造师建设工程法规及相关知识大纲与历年真题汇总编写,包含二级建造师建设工程法规及相关知识常考 ...

  7. 永恒之蓝(Eternal Blue)复现

    永恒之蓝介绍 什么是永恒之蓝 永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机.甚至于201 ...

  8. 网络带宽相关知识和计算

    一.带宽 带宽应用的领域非常多,可以用来标识信号传输的数据传输能力.标识单位时间内通过链路的数据量.标识显示器的显示能力. 1. 在模拟信号系统又叫频宽,是指在固定的时间可传输的资料数量,亦即在传输管 ...

  9. 主板是计算机所有部分连接的基础,计算机基础相关知识答案

    计算机基础相关知识答案 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机基础相关知识1. 计算机的硬件主要由(控制器).(运算器) ...

最新文章

  1. php对象当参数传递 php深复制和浅复制
  2. C++中的逻辑操作符重载
  3. easypoi导入合并单元格_Word简历导入Excel,还在手动调整格式就out了,同事三步完成切换...
  4. java登录界面命令_Java命令行界面(第30部分):观察
  5. Path variable [contentHash:8] not implemented in this context: styles.[contentHash:8].css
  6. Flutter之Visibility和Opacity使用说明
  7. 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能
  8. python0不能做除数报错_浅谈pandas dataframe对除数是零的处理
  9. 亚马逊查询关键词排名的工具_亚马逊关键词的概念和查找工具
  10. 【解决报错】failed to obtain JDBC Connection
  11. MacBook安装rar解压工具
  12. [C/C++]宽字符与控制台输出
  13. 头牌知产介绍减肥药商标注册属于哪一类?
  14. 无所不能的Python竟然没有一个像样的定时器?试试这个!
  15. Qt扫盲-QTabWidget理论总结
  16. FLASH外部链接的几种方法
  17. HDU-5514-Frogs
  18. 迅为-i.MX6ULL开发板-QT实战项目DHT11网络编程实战练习(一)
  19. UBNT AMPLIFI Mesh全屋wifi覆盖路由器组网问题
  20. 获取网页内所有图片地址

热门文章

  1. NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
  2. bedtools指南
  3. Android 实现微信语音聊天
  4. 21个微信快速加好友方法
  5. C++中,system的神级用法总和,实现用C++操作系统
  6. Citrix云桌面最小环境搭建
  7. Android——高德地图实现多点连线与点击定位监听实现
  8. 观点 | 未来的货币,是可编程的电子货币
  9. c语言肤色检测,基于肤色的人脸检测
  10. 单片机c语言sfr,51单片机bit、sbin、sfr、sfr_16区别分析