文档章节

通过人眼识别的帧数来理解采样频率

天蚕宝衣
 天蚕宝衣
发布于 2017/04/14 10:38
字数 2456
阅读 56
收藏 0
点赞 0
评论 0

1. 人眼识别的帧数

1.1 问

人眼能识别的帧数最高是多少?

就是超过多少帧就感觉不出画面是有间隔的。有人说24帧,有人说30帧,求准确的解答。

1.2 答

你的提问其实是两个问题,提问一个,内容又一个。

视觉暂留,由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约10-12帧的时候,就会认为是连贯的,超过10-12帧就感觉不出画面是有间隔的,帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次。超过大概85赫兹(帧)的图像,像是画面每更新一次只会发光几百分之一秒的阴极射线管及等离子显示屏,此时已经到达大脑处理图像的极限,人眼并无法分辨与更高更新率的差异。

有人说是24帧无法识别流畅,其实不是眼睛的问题了,有声电影的拍摄及播放帧率均为每秒24帧,对一般人而言已算可接受,但对早期的高动态电子游戏,尤其是射击游戏或竞速游戏来说,帧率少于每秒30帧的话,游戏就会显得不连贯,这是因为电脑会准确地显示瞬时的画面(像是一台快门速度无限大的相机),没有动态模糊使流畅度降低。

2. 举例

为什么汽车轮子高速运转的时候看起来像是在往后退?

嗯,根据我知道的一些知识,我觉得这是人视觉上能感受到的频率和车轮转速之间的关系决定的。首先我们能看见一个轮子在转,是因为轮子上有一些标志物帮助我们判断,一个完全光滑的圆环是很难看出它在不在转的。那这些标志物,就拿辐条作例子吧,在转动的时候就以某个频率经过我们的视线。当一根辐条经过某一点的时候被我们看见了,它经过下一点的时候又被我们看见了,如果下一点在前一点的逆时针方向,我们就判断说轮子在逆时针转,即车子在向前进。

想象一下我们给轮子拍照片,拍完了排列起来看轮子的转动。如果轮子每转一圈我们拍两张,那么拍出来都是半圈半圈的照片,无法判断转动方向。如果每转一圈我们拍3张、4张,或者更多张,就能判断出来了。如果转了大半圈才拍一张,排列起来,车轮看起来就像在倒退。

我们的视觉是神经细胞放电形成的,当辐条经过我们视线的频率太高时,不是每次都能被神经细胞感知。这样的话,当辐条转了超过大半圈才被眼睛再一次看到,我们就会觉得它处在上次看到的那个点的顺时针方向,我们的大脑就凭此判断轮子在顺时针转,车子在后退。

======== 到这里可以结束了,如果你时间多的话。。。 =============

这个解释有两个假设:1. 神经细胞能感受到的频率有个极限; 2.大脑凭物体的相对位置来判断它们的运动方向。这两个假设目前都有一些科学实验结果来支持。

对于假设1,这个极限和神经细胞放电有关。运动的辐条刺激视网膜上的神经细胞放电,神经细胞把电信号传送给大脑产生视觉。从上一次传送信息到下一次传送信息之间有间隙,并且大脑整合这些信息也需要时间,在这个很短的时间里就有可能错过一些视觉信息。比如一根转得“太快”的辐条,当神经细胞花时间处理它上一次经过的信息时,它在这个间隙里经过的那些点就没被察觉,当它转了超过大半圈时才再一次被感知。这样大脑得到的信息就是辐条下一个位置在前一个位置的顺时针方向了(假定汽车是从右往左行驶)。

和意识相关的脑电波超过60赫兹算少见的高频。普通轿车车轮直径约60厘米,转一圈(3米多)约算2米的话,160公里/时的速度下每秒22转左右。要看见辐条在转,那它转一圈的过程中至少要被感知2次以上。脑电波频率因人而异,如果某些同学的视觉感知使用的脑波频率比44赫兹低的话,有可能就是看见车轮反转的原因之一。

对于假设2,有人设计过实验,受试者报告说看见了运动中的物体,但实际上只是视野中有一部分物体在闪烁产生的视错觉。研究人员根据类似的实验证据,分析认为我们对物体运动方向的判断,很大程度上取决于物体之间的相对位置。那么我们看见辐条下一次出现在顺时针的方向,就下意识地“脑补”了它顺时针的运动。

======= 到这里可以结束了,但如果你还有时间的话 ==============

其实这个问题如果是拍照片,就完全是个物理问题,只和开头提到的那个采样频率原理有关系。不过既然提到为什么人看见车轮倒退,就涉及到是什么决定了人能看见的频率,而人的意识是个复杂过程。有个小知识,说来不妨。如果人是通过对比两次看见的辐条位置来判断运动的,那大脑就要在短时间内记住上一次在哪看见了它。目前人们发现,大脑试图在短时间内记住一些信息时,一些10-20赫兹左右的脑电波和这种行为关系很密切。也许这有助于解释,为什么视网膜细胞可以达到每秒上百次的活动频率,但仍然不足以“对抗”车轮倒转。因为看见倒转这件事,不光只有感受这么简单,还涉及到记忆等等其他大脑功能,任何一个环节跟不上,都可能造成判断错误。

========= 这回是真的结束了,有没有谁来补充。。 =====================

3. 采样定理

3.1 问

关于傅里叶变换——“一个长度为N的信号可以分解成N/2+1个正余弦信号”——怎么理解?

"从计算机处理精度上就不难理解,一个长度为N的信号,最多只能有N/2+1个不同频率,再多的频率就超过了计算机所能所处理的精度范围"怎么理解这句话呢?

3.2 答

3.2.1. 思路一

信号的重建为什么要遵循采样定理,这个原因类比于上面所举的汽车轮子那个例子:当你看车轮转动时,你产生车轮倒转的错觉的时候,说明你眼睛的采样频率过低,从而得出了错误结论。

采样定理说的是,如果已知一个信号的带宽有限,也就说明了该信号有一定的时域相关性(即不完全随机)。那么只要采用足够的离散采样,就能完全重建(reconstruction)这个连续信号。

接下来,如果你的输入信号是一个数字信号,那么你也就预先假定了这个信号的采样频率只能恢复原来的连续信号中一定范围的频率。

傅里叶变换的形式具有一定的对称性(虽然不完全对称)。所以采样定理的对偶形式也存在:就是说,如果一个信号的时长有限,那么其频域也只需要离散采样就能完全重建。

二者的综合结果,就是频域既是有限的,又是可以采样的。经过计算就是N/2+1个不同频率。

3.2.2. 思路二

我个人的理解是,从DFT定义入手(如何从傅里叶变换FT推导出离散傅里叶变换DFT各种相关书上都有),就是以下公式。

这是说DFT可以把长度为N的离散信号表示成从0~N-1, 共N个复指数相加的形式。
根据欧拉公式

上面的表达式可以写成N个cosx+isinx的形式。

对于一个正弦或余弦函数,有相位、幅度和角频率三个参数可以考虑,这里只考虑角频率。
可以看到这里的角频率是2πn/N , 共有0, 2π/N, 2*2π/N,3*2π/N,..................(N-1)*2π/N,N*2π/N,共N种角频率。函数的自变量是离散的k。

然而

cos【 k*2π/N】和cos【k*(N-1)*2π/N 】 角度相加为【2πk】

有    

cos【k*2π/N】= cos【2πk-k*(N-1)*2π/N 】= cos【k*(N-1)*2π/N 】

所以如果N是偶数,上述的N种角频率中,除了0和2N*2π/N,其他的N-2种中有一半都相当于和另外一半的角频率是一样的。

所以总共一共有2+(N-2)/2即N/2+1种不同的角频率。也就是N/2+1种不同频率。

本文转载自:https://www.zhihu.com/question/22616582/answer/22500730

共有 人打赏支持
天蚕宝衣
粉丝 18
博文 236
码字总数 178069
作品 0
天津
语音特征参数MFCC提取过程详解

折腾了好几天,看了很多资料,终于把语音特征参数MFCC搞明白了,闲话少说,进入正题。 一、MFCC概述 在语音识别(Speech Recognition)和话者识别(Speaker Recognition)方面,最常用到的语...

找一片天空散步 ⋅ 2014/01/15 ⋅ 12

音频帧概念详解

一. 音频帧概率详解: 1. 概念 1)采样率(Sample Rate):每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。一般音乐CD的采样率是44100Hz,所以视频编码中的音频采样率...

xiaot99 ⋅ 2016/12/19 ⋅ 0

系分----第十六章(多媒体基础知识)

1.音频相关知识 音频采样频率应该是声音最高频率的2倍。 说话的声带范围:300 3400Hz,所以固定电话的采样频率是8k(大于3400*2)。 乐器的声带范围:20 20kHz,所以音乐的采样频率是44kHz。 ...

求是科技 ⋅ 04/01 ⋅ 0

语音合成的思路、语音的声学特征、声音采样的一些资料

语音合成:把语音波形文件重现,以一种灵活的方式,只用极少数的基础数据,比如元音辅音的语音参数,那么首先需要研究元音辅音的语音学性质。 先从元音开始,根据相关资料,不同的元音是由相...

FreeBlues ⋅ 2012/06/24 ⋅ 0

视频和图像到底有什么区别

在信息大爆炸的时代,我们获取信息的方式越来越多媒体化,我们经常通过图像和视频来索取我们想要的信息,那么视频和图像到底有什么区别和联系呢,这里记录一下,希望能帮到有需要的人: 1、首...

mmlf ⋅ 01/05 ⋅ 0

视频和图像的联系

在信息大爆炸的时代,我们获取信息的方式越来越多媒体化,我们经常通过图像和视频来索取我们想要的信息,那么视频和图像到底有什么区别和联系呢,这里做一个简单记录: 首先,记住了哦,视频...

mmlf ⋅ 2017/12/27 ⋅ 0

Android音频编解码和混音实现

相关源码:https://github.com/YeDaxia/MusicPlus 认识数字音频: 在实现之前,我们先来了解一下数字音频的有关属性。 采样频率(Sample Rate):每秒采集声音的数量,它用赫兹(Hz)来表示。(采样...

叶大侠 ⋅ 2016/03/11 ⋅ 14

MFCC一些知识与Kaldi中的MFCC特征解读

因为想用Kaldi去实现一个GMM-UBM的说话人识别和loglike打分,所以想把Kaldi计算的统计量对一对, 看能不能把二进制文件里的数值单独拿出来,自己写个代码做结合Kaldi中的MAP做统计量计算,然...

robingao1994 ⋅ 04/20 ⋅ 0

plp特征提取原理和方法

LPC(Linear Predictive Coding,线性预测分析):由于语音信号的发音特性,提取特征后的帧与帧之间是不独立的,那么我们可以用前面的帧或后面的帧预测当前帧。所求的的预测系数就是我们要用到...

长平狐 ⋅ 2013/03/12 ⋅ 0

iOS音频能力提升——PCM基础

前言 音频是移动端很重要的能力,像直播类、在线教育类、唱歌类、短视频类等APP,都离不开音频功能。 具备音频相关知识与能力,对未来的职业发展有很大优势。 本文主要围绕音频知识的基础——...

落影loyinglin ⋅ 01/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部