影响视频视觉质量的因素——各类视觉伪影

news2024/11/17 1:29:11

模糊效应(Blurring Artifact)

图像模糊(blurring):平滑图像的细节和边缘产生的现象,模糊对于图像来说,是一个低通滤波器(low-pass filter)。一般而言,用户更趋向于获取更清晰的图像,因此会极力避免模糊的产生。但有时候会使用高斯模糊(gaussian blurring)来降低图像噪点或者增强图像在不同比例大小下的图像效果。通常,模糊会作为压缩之前的预处理操作,从而减少图像的高频信号来产生更有效的压缩。另外,边缘检测对于环境噪点非常敏感,因此,模糊在边缘检测算法中也很有用。
在这里插入图片描述
频率从左到右线性增加的单色光栅
在这里插入图片描述
对如上的单色光栅的高斯模糊效果
图1 一个模糊频率斜坡(frequency ramp)示意图

上述图中可看到,对于左边的低频率信号,模糊几乎没有任何影响,但是对右边的高频率信息,高斯模糊则由很明显的效果

运动模糊
运动模糊:长时间暴光或场景内的物体快速移动的情况下出现的伪影。摄影机的工作原理是在很短的时间里把场景在胶片上暴光(场景中的光线投射在胶片上,引起化学反应,最终产生图片)。如果在暴光的过程中,场景发生变化,则就会产生模糊的画面。
对于体育题材的视频内容,运动模糊会引起不适,导致运动员在慢动作的场景下,无法确认其准确位置,对比赛场景中不友好。这种情况下,下采用平移相机以跟踪移动物体可保持运动物体清晰但背景是模糊的。图形、图像或视频编辑工具可能出于艺术原因需产生运动模糊效果。当添加计算机生成的图像(CGI, computed generated imagery)到视频镜头时,会频繁的合成运动模糊从而模拟真实世界中存在的模糊或表现运动物体的速度感。在这里插入图片描述
图2 运动模糊的例子

显示器的隔行扫描和电视电影处理可能会导致运动速度的不规则。另外,对于快速运动的物体,数字视频中的压缩失真(compression artifacts)也会带来额外的模糊。 LCD固有的采样-保持(sample-and-hold)工作模式与人眼跟踪效应的综合效果决定了LCD在显示运动画面时会存在运动模糊。对于LCD显示器而言,运动模糊是一个较为严重的问题。这种情况,通常是通过控制背光减少运动模糊的影响。

块效应(Block Boundary Artifact)
所有视频、图像编码标准中基于块的有损编码方案,若以较低的码率编码图像块的边缘像素就会在块的边缘处引入可见的伪像
在基于块的变换编码中,使用DCT或类似的变换将像素块映射到频域空间,并且在量化过程中会丢弃高频系数。码率越低,对编码块的量化越粗糙,从而产生模糊的、低分辨率的图像块。在极端情况下,编码块只剩下代表数据平均值的DC系数,因此对该编码块的重建图像只是一个单色区域。

块效应伪像是对各图像块进行独立量化变换系数的结果,相邻的图像块分别量化系数,从而导致重构图像块的边界不连续。图像块边界的不连续性通常是可见的,尤其是在天空,人脸等平坦的颜色区域中。平坦的颜色区域中几乎没有任何细节可以掩盖图像块边界的不连续性,视频编码算法使用去块(deblocking)滤波以平滑重构的块边界

在这里插入图片描述
原始图像
在这里插入图片描述
重构后明显的块效应伪像的图像
图3 块边界效应伪像的例子

振铃效应(Ringing Artifact)

振铃:输入图像中的像素值剧烈变化导致输出图像在灰度剧烈变化处或轮廓处产生的震荡而导致的重影或回声效果,就好像钟被敲击后产生的空气震荡一样。图像处理中,需要对图像进行滤波处理,若选用的频域滤波器具有陡峭的变化,滤波图像就会产生振铃。振铃是由于众所周知的吉布斯(Gibb‘s)现象引起的,即滤波器在不连续点附近的脉冲响应的振荡行为,其中输出的比相应的输入值高(overshoots, higher value)或小(undershoots, lower value),并且幅度(magnitude)不断减小直到达到稳态为止,输出信号以渐弱的频率振荡,图4给出了一个振铃效应的例子。
在这里插入图片描述
图4 吉布斯现象的振铃输出
在这里插入图片描述
原始图像
在这里插入图片描述
包含振铃伪像的图像
图5. 振铃伪像的例子

混叠效应(Aliasing Artifacts)
连续信号x(t)及其采样信号x(n),x(n)=x(nT),采样周期T>0。当x(n)为2倍的下采样时,丢弃其他所有信号值。在频率(ω)域中,信号 X(ejw)的傅立叶变换被扩展了2倍。在这种情况下,变换后的信号会与其移位后的副本重叠。这样,无法从其下采样版本中恢复原始信号,因为重叠区域同时代表了转换信号的两个副本,这种重叠的效果称为混叠。
在这里插入图片描述
图6. 变换域的下采样导致的混叠效应

混叠是指重构抽样信号数值的不确定而导致的伪影或失真。混叠可能发生在实时采样信号中,例如数字音频,称为时间混叠。混叠发生在空间采样信号(例如,数字图像或视频时称为空间混叠。
在采样有限持续时间的自然信号时,总会发生混叠。因为采样函数的频率内容没有上限,导致它们的傅立叶变换表示始终与其他变换函数重叠。另一方面,具有受限频率内容(带宽受限)的函数具有无限的持续时间。如果以高于奈奎斯特采样率的速度采样,则原始信号就可以从采样信号中完全恢复。
从图6可明显看出,如果将原始信号限制在∣ω∣< M/π,其中M是下采样倍数。在这种情况下,可以使用上采样器从下采样的版本中恢复原始信号,然后进行滤波。
上采样(L=2),又称为信号插值,即在原信号序列x(n)的两个点之间插入L个0,等效于在其频域上做了频谱压缩。下采样(M=2)又称为信号抽取,即在原信号序列x(n)中每隔M个点抽取一个点,等效于在其频域上做了频谱扩展

锯齿效应(Jaggies)
锯齿(jaggies)属于一种常见的混叠伪影,在数字图像中的平滑直线或曲线上产生可见的阶梯状线条。阶梯或台阶是像素规则的、正方形布局的结果,随着图像分辨率的提高,该伪像会变得越不可见。抗锯齿(anti-aliasing)滤镜可用于减少锯齿边缘的可见性,而锐化(sharpening)会提高这种可见性。
在这里插入图片描述
图7. 混叠伪影的例子

摩尔纹(Moire pattern)
由于精细的常规图案的下采样,出现了莫尔纹的混叠现象,摩尔纹是各种数字成像和计算机图形技术产生的图像中不希望存在的伪像。摩尔效果是明显不同的视觉感知,这是由两个相似图案的不精确叠加引起的。在图7中,摩尔效果可看成起伏的图案,而原始图案则包括紧密间隔的直线网格。

闪烁效应(Flickering Artifacts)
视频显示足够长时间内(例如,大约100毫秒),察觉到亮度中断现象,称之为闪烁。是一种令人不悦的闪光效果,当以较低的刷新率驱动旧显示器时(例如CRT,阴极射线管),就会发生闪烁现象。由于液晶显示器(LCD)中,用于每个像素的快门保持稳定的不透明性,因此即使刷新图像也不会闪烁。

抖动(Jerkiness)
抖动是一种类似闪烁的伪像,描述了对视频中的单个静止图像的感知。 感觉到闪烁和抖动的频率取决于许多条件,包括环境及照明条件。对于24 fps或更高帧率正常播放视频而言,无法感知到抖动。视觉通信系统中,如果解码器延迟导致视频解码器丢弃视频帧,或由于网络错误导致解码失败,此时将继续显示前一帧,直到成功解码下一个无错误帧,显示屏上的场景才会突然更新,此时就会观察到抖动现象

电视电影转换抖动(Telecine Judder)
电视电影转换抖动是另一种类似闪烁的伪像。24 fps电影转换为30fps视频时,需做电视电影转换(telecine)或采用2:3的下拉(pulldown),此技术是将每四帧电影帧转换为五帧隔行扫描的视频帧。DVD、蓝光播放器或录像机会检测到电视电影的转换,并应用反向电视电影转换过程重建原始的24fps的视频内容。

在这里插入图片描述
图8. 电视电影转换过程

电视电影转换处理创建了两个新的帧 B/C和C/D,与原始胶卷相比,电视电影处理会在视频信号中产生少量的错误。影响在NTSC制式的电视上观看电影时的体验,电影看起来不像在电影院中观看时,那样平滑。尤其是在相机缓慢、稳定的运动时,该问题尤为明显。

其它图像伪像(Other Image Artifacts)

在压缩视频中,还有其它的可视误差,下面对其简单介绍。
在这里插入图片描述
图9.各种图像噪声的示例

(1)传输错误导致的数据损坏
视频比特流的传输错误,在重建信号时会产生数据损坏,传输错误有时会导致解码或解码的图像存在丢失块。严重传输错误情况下,解码器在短时间内继续对损坏的图片进行更新,从而产生重影图像效果(ghost image effect),重影效果会一直持续到下一个无错误的关键帧为止。在露天电视信号中,重影是一种比较常见的效果。

(2)图像噪声
相机传感器包含一个或多个光敏光电二极管,将入射光转换成电信号,电信号被处理成图像的像素颜色值。但这个过程并不总是完全可重复的,并且会存在一些统计差异。即使没有入射光,传感器的电活动也可能产生一些信号,图像噪声来源于这些非期望的信号和差异。这种噪声随每个像素和时间而变化,并随温度而增加。
胶片颗粒也会导致图像噪声,数字图像中的噪声在均匀表面中最明显,例如在天空和阴影中的单色颗粒和彩色波。热像素噪声是另一种类型的噪声。热像素噪声因为持续一秒以上的长时间曝光而出现,并且显示为略大于单个像素的彩色点。不过现代相机中,热像素噪声越来越少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1656218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Layer1 公链竞争破局者:Sui 生态的全面创新之路

随着 Sui 生态逐渐在全球范围内树立起声望&#xff0c;并通过与 Revolut 等前沿金融科技平台合作&#xff0c;推广区块链教育与应用&#xff0c;Sui 生态的未来发展方向已成为业界瞩目的焦点。如今&#xff0c;Sui 的总锁定价值已攀升至 5.93 亿美元&#xff0c;充分展示了其在…

python如何整体缩进

python自带编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进 Ctrl【 整体取消缩进 Ctrl】 pycharm编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进&#xff1a; tab 整体取消缩进&#xff1a; tabshift

【ZIP技巧】ZIP分卷压缩包如何解压?

经过压缩的文件仍然过大&#xff0c;大家可能都会选择“分卷压缩”来压缩ZIP文件&#xff0c;但是当我们将压缩包分卷之后&#xff0c;解压的时候该如何解压&#xff1f;今天我们分享两个ZIP分卷压缩包如何解压的方法给大家。 一、 我们可以直接点击第一个分卷压缩包&#xf…

USB系列四:USB数据传输类型(重要)

本章包括知识点如下&#xff0c;也是学习USB比较重要的一部分。 USB的块传输方式 USB的中断传输方式 USB的同步传输方式 USB的控制传输方式 USB3.0与USB2.0数据传输对比 USB总线技术协议具有极大的灵活性&#xff0c;可以针对不同的应用场合需求来采用最适合的…

分布式链路追踪工具Sky walking详解

1&#xff0c;为什么要使用分布式链路追踪工具 随着分布式系统和微服务架构的出现&#xff0c;且伴随着用户量的增加&#xff0c;项目的体量变得十分庞大&#xff0c;一次用户请求会经过多个系统&#xff0c;不同服务之间调用关系十分复杂&#xff0c;一旦一个系统出现错误都可…

逆向中webpack需要补充的模块很多怎么办

如下面这种典型的形式 进入i找到加载器 找到加载器所在函数r,在 return e[a].call(c.exports, c, c.exports, r),打上断点。 在控制台打印e,会发现它总共有的模块&#xff0c;这些模块需要我们在别的webpack中复制&#xff0c;有时很多&#xff0c;很麻烦。 我们可以注入代码在…

性能优化的核心思路,纯干货分享!

前言 平时技术交流的时候&#xff0c;很多同学都会问一些性能优化方面的问题。 比如&#xff1a; 有一张订单表为了保持订单记录&#xff0c;更新数据时不能删除&#xff0c;需要打算加上版本号&#xff0c;查询时取版本号最新的给前端&#xff0c;还有场景是查询订单历史给前…

AI日报|Stack Overflow和OpenAI达成合作,Apple正在为数据中心开发人工智能芯片...

欢迎大家在 GitHub 上 Star 我们&#xff1a; 分布式全链路因果学习系统 OpenASCE: https://github.com/Open-All-Scale-Causal-Engine/OpenASCE 大模型驱动的知识图谱 OpenSPG: https://github.com/OpenSPG/openspg 大规模图学习系统 OpenAGL: https://github.com/TuGraph-…

自注意力架构大成者_Transformer(Pytorch 17)

1 模型简介 在上节比较了 卷积神经网络&#xff08;CNN&#xff09;、循环神经网络&#xff08;RNN&#xff09;和 自注意力&#xff08;self‐attention&#xff09;。值得注意的是&#xff0c; 自注意力同时具有并行计算和最短的最大路径长度这两个优势。因此&#xff0c;使…

linux 性能监控命令之dstat

1. dstat 系统默认为安装&#xff0c;直接安装阿里源后&#xff0c;yum install -y dstat安装即可&#xff0c;该命令整合了 vmstat &#xff0c; iostat 和 ifstat&#xff0c;我们先看下效果&#xff1a; 我们先看看具体参数&#xff1a; [rootk8s-master ~]# dstat --help …

解决ModuleNotFoundError: No module named ‘skfuzzy‘,这个库全名可不叫skfuzzy哦,否则直接报错!!

ModuleNotFoundError: No module named skfuzzy 在这里插入图片描述在这里插入图片描述如何解决 ModuleNotFoundError: No module named skfuzzy 的问题&#xff1f;skfuzzy 模块介绍什么是模糊C均值聚类&#xff1f;skfuzzy 的应用如何使用 skfuzzy 进行模糊聚类 结论 如何解决…

电子学会C/C++编程等级考试2024年03月(二级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:满足条件的数的累加2 现有n个整数,将其中个位数为k的数进行累加求和 输入 第一行一个整数n。第二行n个非负整数,以空格分割,每个数不大于100000。第三行一个整数k。 输出 输出满足题目要求的累加和 样例输入 10 2 5 7 17 11 18 4…

YOLOv8独家改进:backbone改进 | 轻量化之王MobileNetV4 开源 | Top-1 精度 87%,手机推理速度 3.8ms,原地起飞!

💡💡💡创新点:轻量化之王MobileNetV4 开源 | Top-1 精度 87%,手机推理速度 3.8ms,原地起飞! MobileNetV4(MNv4),其特点是针对移动设备设计的通用高效架构。创新1):引入了通用倒瓶颈(UIB)搜索块,这是一个统一且灵活的结构,它融合了倒瓶颈(IB)、ConvNext、…

如何用mathtype7? MathType7数学公式编辑器使用图文教程2024最新

在我们的日常工作中&#xff0c;经常会使用和编辑到数学公式&#xff0c;那么我们该怎么编辑数学公式呢&#xff1f;今天我们就来看看 MathType7的使用方法 强大的MathType软件是一款适用于Windows和Mac的交互式方程编辑器&#xff0c;你可以为网页、出版物、说明以及TeX、LaT…

用HAL库改写江科大的stm32入门例子_1、按键控制led灯

使用STM32CubeMX生成Keil工程并完成流水灯 ,就不重复了&#xff1a;直接参考&#xff1a; 使用STM32CubeMX生成Keil工程并完成流水灯 进入主题&#xff0c;用中断实现&#xff0c;操作步骤如下&#xff1a; 1 如下图设置PB11 管脚 2 设置PB11为下降沿中断&#xff1a; 3 PA…

使用 electron-vite-vue 构建 electron + vue3 项目并打包

文章目录 一、使用 electron-vite-vue 构建 Vue3 项目1、创建项目并安装相关依赖2、安装依赖时报错 (operation not permitted) 二、项目打包1、执行打包命令2、下载失败处理3、手动方式下载后&#xff0c;将文件放至指定路径下4、打包成功后 参考资料 一、使用 electron-vite-…

Google Chrome浏览器便携增强版 v124.0.6367.61

01 软件介绍 Google Chrome v124.0.6367.61&#xff0c;这一版本经过精心设计&#xff0c;集成了一系列的功能增强和关键补丁&#xff0c;旨在提升用户体验。其中&#xff0c;Chrome引入了便携性数据保存选项&#xff0c;优化了标签页及标签栏的操作机制。此外&#xff0c;它还…

【Linux 性能详解】CPU性能篇

目录 平均负载&#xff08;Load Average&#xff09; CPU上下文切换 进程上下文切换 线程上下文切换 中断上下文切换 中断 硬中断 软中断 CPU使用率 性能分析工具 平均负载&#xff08;Load Average&#xff09; 平均负载&#xff1f;这个词对很多人来说&#xff0c…

参数化建模系列-cityengine篇之:如何基于GIS数据快速构建道路三维建模模型

结合上期介绍的基于GIS数据自动化构建城市三维建筑模型&#xff0c;本期在上期的知识点上继续介绍道路模型的自动化构建方法。 数据获取 本期道路自动化建模从获取道路数据开始。 首先打开“QuickOSM”插件&#xff0c;在“Key”中选择“highway”&#xff1b;其次选择数据范…

AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业

AI智能化正在成熟的路途中&#xff0c;这中间会有波折&#xff0c;但终有一天会来的&#xff0c;我相信等到了这一天&#xff0c;我们的开发效率和代码质量&#xff0c;将会大大不同&#xff0c;而我们的团队与个人&#xff0c;也会面临着很棒的体验。 那么在AI智能化真正趋于成…