视频去噪方法按照处理域的不同可分为空间域、频域、小波域、时域、时-空域去噪等,但是不同域之间的去噪方法会发生重叠现象,或者一种去噪方法会或涉及多个处理域。例如,在时域或时-空域去噪方法中也可使用频域的方法,即将视频序列的全部或一部分通过傅里叶变换转换至频域后,再使用时域或时-空域的形式来进行去噪处理。

视频去噪方法中的空间域、频域和小波域等,与图像去噪中的相应方法基本一致,只是均将其扩展为对多倾图像进行处理,并利用视频信号中更多的冗余信息进行了优化,W达到更好的去噪效果。空间域去噪是在原始视频序列中直接对像素值进行代数运算。频域去噪将视频序列通过傅里叶变换转换至频域,对代表噪声的频率进行衰减并最大程度保留视频的原始信息。小波域将视频序列转换至时-频域后再进行去噪处理。

时域去噪

时域去噪方法仅考虑图像序列在时间维度上的相关性,运算简单、效率高,并且不会引入空间模糊的现象。根据其是否采用运动补偿,可将其区分为非运动补偿的时域去噪方法和运动补偿的时域去噪方法。

非运动补偿的时域去噪

非运动补偿的时域去噪是一种计算比较简单的视频去噪方法,与图像的空域去噪算法非常相似。

f

(

i

,

j

,

k

)

=

m

n

w

(

m

)

g

(

i

,

j

,

k

m

)

f(i,j,k) = \sum_{m}^{n}w(m)g(i,j,k-m)

f(i,j,k)=m∑n​w(m)g(i,j,k−m)

其中,

w

(

m

)

w(m)

w(m)是滤波系数,mn是视频序列待处理当前第K帧与之前粗存储的第一帧的帧间距。

非运动补偿的时域滤波器的降噪效果与滤波器的长度,与滤波的帧数相关,当参与滤波的帧数越大时,抑制噪声的效果越好。但当视频中存在运动时,会造成时域模糊现象,产生的失真也越大。因而非运动补偿的时域滤波器与空域滤波器相同,也需要在抑制噪声和防止失真中寻找一个平衡点。非运动补偿的时域滤波器往往都需要存储较多帧图像,从而获得好的去噪效果,但这样会对存储资源有较大的需求。

递归型时域滤波器只需要存储少量视频帧,并且其所需要控制的参数也更少。

f

(

i

,

j

,

k

)

=

(

1

w

)

f

(

i

,

j

,

k

1

)

+

w

g

(

i

,

j

,

k

)

f(i,j,k) = (1-w)*f(i,j,k-1)+w*g(i,j,k)

f(i,j,k)=(1−w)∗f(i,j,k−1)+w∗g(i,j,k)

其中,

f

(

i

,

j

,

k

1

)

f(i,j,k-1)

f(i,j,k−1)表示前一帧图像的滤波输出值,

g

(

i

,

j

,

k

)

g(i,j,k)

g(i,j,k)表示受噪声影响的当前帧图像,

w

w

w是权重系数。这种方法只需要存储前一帧图像,设定的权重参数只有一个,能够有效减少算法的复杂度。

运动补偿的时域去噪

运动补偿的时域去噪方法能够较为有效地避免产生时域模糊现象,其通过运动匹配找到当前像素在参考帖中的对应像素,尽量保证时间维度的平稳性,选取合适的像素参与滤波W提高最后的去噪效果。

  1. 首先,其根据块匹配方法找到参考峽中对应的像素块,然后比较两个像素块的灰度值差异,根据灰度值差异的大小赋予不同的权重。

f

(

i

,

j

,

k

)

=

w

g

(

i

,

j

,

k

)

+

(

1

w

)

g

(

i

+

p

,

j

+

q

,

k

1

)

f(i,j,k) = w*g(i,j,k)+(1-w)*g(i+p,j+q,k-1)

f(i,j,k)=w∗g(i,j,k)+(1−w)∗g(i+p,j+q,k−1)

其中,

g

(

i

,

j

,

k

)

g(i,j,k)

g(i,j,k)表示当前帧中的像素,

g

(

i

+

p

,

j

+

q

,

k

1

)

g(i+p,j+q,k-1)

g(i+p,j+q,k−1)表示当前像素在参考帧中的对应像素,其通过运动匹配所得到的运动向量为

(

p

,

q

)

(p,q)

(p,q),

f

f

f是最终的滤波输出值。

先通过块匹配找到不同顿帧之间的对应像素块,然后按照一定的规则对时域上的像素点赋予不同的权重值,然后完成最终的滤波操作。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

3D降噪_时域降噪待补充的更多相关文章

  1. Python图片验证码降噪 — 8邻域降噪

    简介 图片验证码识别的可以分为几个步骤,一般用 Pillow 库或 OpenCV 来实现,这几个过程是: 1.灰度处理&二值化 2.降噪 3.字符分割 4.标准化 5.识别 所谓降噪就是把不需 ...

  2. 主动降噪,通话降噪及AI降噪之辨

    近日,三星发布的Buds Pro 耳机中,宣传有以下功能.其中涉及到噪声的,有主动降噪,通话降噪及智能降噪,很多人对他们的具体用途容易混淆,今天我们来辨析一下. 主动降噪和通话降噪完全不是一个概念,无 ...

  3. 3D数学基础_图形与游戏开发

    https://blog.csdn.net/popy007/article/list/2?t=1&  //向量计算相关文章 https://www.baidu.com/link?url=48C ...

  4. Unity3D_(游戏)双人3D坦克_简易版

    双人3D坦克实现 player1: WSAD控制上下左右 空格键发射炮弹 player2: IKJL可控制上下左右 B键发射炮弹 每个坦克只有100hp,子弹击中1次扣30hp,hp时时显示在坦克上 ...

  5. camera数字降噪(DNR)

    camera数字降噪(DNR) 闭路电视摄像机 无论多么出色和弱光,在黑暗中拍摄视频监控录像时都会不可避免地产生一些噪音.噪声是任何电子通信中不可避免的部分,无论是视频还是音频.本质上是静态的–视频信 ...

  6. 主动降噪(Active Noise Control)

    智能耳机 人机交互 智能声学终端 智能耳机 智能音箱 智能听力器 喇叭单体 动圈喇叭 新材料 DLC 石墨烯 陶瓷单位 吸音材料 智能芯片 阵列式麦克风 声纹传感器 演算法 降噪算法 智能听力保护 A ...

  7. 单独编译和使用webrtc音频降噪模块(附完整源码+测试音频文件)

    单独编译和使用webrtc音频增益模块(附完整源码+测试音频文件) 单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件) webrtc的音频处理模块分为降噪ns,回音消除aec,回声 ...

  8. 编解码再进化:Ali266 与下一代视频技术

    过去的一年见证了人类百年不遇的大事记,也见证了多种视频应用的厚积薄发.而因此所带来的视频数据量的爆发式增长更加加剧了对高效编解码这样的底层硬核技术的急迫需求. 新视频编解码标准 VVC 定稿不久之后, ...

  9. 论文翻译:2020_Joint NN-Supported Multichannel Reduction of Acoustic Echo, Reverberation and Noise

    论文地址:https://ieeexploreieee.fenshishang.com/abstract/document/9142362 神经网络支持的回声.混响和噪声联合多通道降噪 摘要 我们考虑 ...

  10. Deep Learning(深度学习)学习笔记整理

    申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...

随机推荐

  1. 【Vue】三

    Vue组件 非单文件组件 一个文件包含多个组件 单文件组件 一个文件只包含一个组件,vue文件初始化:vueInit <template lang=""> <di ...

  2. 学习C语言的第一天

    今天学习C语言学习了三个部分: 第一个部分是软件环境的搭建,如何搭建一个项目 使用工具:visual studio 2010 搭建过程:新建项目.配置设置(主要是解决运行后一闪而过的问题) 第二部分是 ...

  3. 【Azure Developer】Azure AD 注册应用的 OAuth 2.0 v2 终结点获取的 Token 解析出来依旧为v1.0, 这是什么情况!

    问题描述 使用 Azure AD 注册应用 Oauth2 v2.0的终结点(OAuth 2.0 token endpoint (v2):https://login.partner.microsofto ...

  4. ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案

    ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案 1.学习英语--替代词典 App 场景 例子 Prompts 解释中文英文意思,并解释单词的词根词缀.可以替代词典. 告 ...

  5. TextArea设置MaxLength的代码(未测试在不同浏览器下的兼容性)

    function SetTextAreaMaxLength(controlId,length) { // JScript File for TextArea // Keep user from ent ...

  6. 2022-06-04:给定一个数字n,表示一开始有编号1~n的树木,列成一条直线, 给定一个有序数组arr,表示现在哪些树已经没了,arr[i]一定在[1,n]范围, 给定一个数字m,表示你可以补种多

    2022-06-04:给定一个数字n,表示一开始有编号1~n的树木,列成一条直线, 给定一个有序数组arr,表示现在哪些树已经没了,arr[i]一定在[1,n]范围, 给定一个数字m,表示你可以补种多 ...

  7. Grafana系列-统一展示-8-ElasticSearch日志快速搜索仪表板

    系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 El ...

  8. Redis实战解读-初识Redis&Redis基本数据类型

    Redis实战解读 一.初识Redis 1.什么是Redis ​ Redis是一个速度非常快的非关系型数据库(non-relational database),它可以存储键(key)与五种不同类型的值 ...

  9. vue全家桶进阶之路33:Vue3 计算属性computed

    在Vue3中,计算属性可以使用computed函数来定义. computed函数接受两个参数:第一个参数是一个函数,该函数返回计算属性的值:第二个参数是一个可选的配置对象,可以包含getter和set ...

  10. kafka生产者你不得不知的那些事儿

    前言 kafka生产者作为消息发送中很重要的一环,这里面可是大有文章,你知道生产者消息发送的流程吗?知道消息是如何发往哪个分区的吗?如何保证生产者消息的可靠性吗?如何保证消息发送的顺序吗?如果对于这些 ...