把帧分成场就可以减少大面积闪烁现象的原因解释
2014-04-24 11:18
459 查看
最近在了解H.264的内容,阅读毕厚杰的《新一代视频压缩编码标准-H.264_***C(第二版)》的时候,发现一句不理解的话(有很多不理解的)在网上找到了答案,但愿这个答案是正确的,是以为记。
原内容如下:
场和帧:
视频的一场或一帧可用来产生一个编码图像。
通常,视频帧可分成两种类型:连续或隔行视频帧。
在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。
疑问:为什么把帧分成场就可以减少大面积闪烁现象?
电影和电视再现活动图像的基础是人眼的视觉惰性(或称人眼的视觉残留特性),人眼视觉惰性的活动阈值是每秒24次,即每秒钟连续显示24幅以上的不同静止画面时人眼就会感觉图像是连续运动的而不会把它们分辨为一幅幅静止画面,因此从再现活动图像的角度来说图像的刷新率必须达到24Hz以上。
人眼视觉惰性的另一个重要特性是对光源闪烁的敏感性,人眼闪烁感的阈值大约是50Hz左右,即非连续发光的光源闪烁频率高于每秒钟50次时人眼就会感觉该光源是连续发光而不是间断闪烁的。因此从消除图像闪烁的角度来看图像的刷新(闪烁)频率必须达到50Hz以上。
从上面两段来看,那50HZ传输就好啦,因为这个肯定满足了视觉惰性的24HZ,但是这会使图像信号的频带太宽。因为每帧由625行组成(制式规定),这就意味着在图像的垂直方向有625个像素,荧光屏的宽高比是4:3,则在水平方向有(4/3)×625个像素,那么一帧图像有(4/3)×625×625=52万个像素。若相邻两个像素均黑白交替变化,则52万个像素相当于产生26万个周期的黑白交变信号。若每秒钟发送50帧图像时,则图像信号的最高频率为50×26万=13MHz,即图像信号的带宽为0Hz~13MHz,这个信号的频带实在太宽,它使得电视设备复杂化。若每秒钟改为发送25帧图像时,则图像信号的最高频率为6.5MHz,再扣除逆程扫描行,实际最高频率约为6.0MHz,即图像信号的带宽为0Hz~6MHz,但缺点是人眼观看电视时有闪烁感产生。
(注:这段的计算好像不太对,意思理解就行了)
从上面看出来,如果为了满足带宽要求而将降低帧率,则不满足光源连续的频率。怎么解决这个问题?其实这个想想也就能出来,为了消除闪烁,每秒需要50帧图像,为了还是6MHZ左右的带宽,那只能将每帧图像传输的像素减半,为了做到这点,我们将原先25HZ的一副图像分成两次传输,即——隔行扫描。一幅图像如果分两次扫描,即分两场,第一场扫1、3、5……(单数行),称为奇数场,第二场扫2、4、6……(双数行),称为偶数场。奇数场和偶数场组合起来,就构成一幅完整的图像,这种扫描方式,通常叫隔行扫描。这叫做2:1隔行扫描,当然可以做成3:1、4:1,将原先的一副图像分成3次甚至4次传输。只是不会有人去做而已。
隔行扫描确实做到了满足带宽、视觉惰性和光源闪烁敏感性。但是牺牲的是像素,牺牲的是图像质量。因为带宽受限,在1秒内传输的像素也是一定的,我们只是决定把这些像素分成几张图片而已。通过上述讨论可以得出结论,逐行扫描可以得到比隔行扫描更高的图像质量,但电视行业选择隔行扫描主要是基于两个非常简单的考虑,第一是闪烁频率,第二是传输带宽。实际上在模拟电视时代隔行扫描技术是一个用有限频带资源实现优化显示效果的最佳折衷选择。
原内容如下:
场和帧:
视频的一场或一帧可用来产生一个编码图像。
通常,视频帧可分成两种类型:连续或隔行视频帧。
在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。
疑问:为什么把帧分成场就可以减少大面积闪烁现象?
电影和电视再现活动图像的基础是人眼的视觉惰性(或称人眼的视觉残留特性),人眼视觉惰性的活动阈值是每秒24次,即每秒钟连续显示24幅以上的不同静止画面时人眼就会感觉图像是连续运动的而不会把它们分辨为一幅幅静止画面,因此从再现活动图像的角度来说图像的刷新率必须达到24Hz以上。
人眼视觉惰性的另一个重要特性是对光源闪烁的敏感性,人眼闪烁感的阈值大约是50Hz左右,即非连续发光的光源闪烁频率高于每秒钟50次时人眼就会感觉该光源是连续发光而不是间断闪烁的。因此从消除图像闪烁的角度来看图像的刷新(闪烁)频率必须达到50Hz以上。
从上面两段来看,那50HZ传输就好啦,因为这个肯定满足了视觉惰性的24HZ,但是这会使图像信号的频带太宽。因为每帧由625行组成(制式规定),这就意味着在图像的垂直方向有625个像素,荧光屏的宽高比是4:3,则在水平方向有(4/3)×625个像素,那么一帧图像有(4/3)×625×625=52万个像素。若相邻两个像素均黑白交替变化,则52万个像素相当于产生26万个周期的黑白交变信号。若每秒钟发送50帧图像时,则图像信号的最高频率为50×26万=13MHz,即图像信号的带宽为0Hz~13MHz,这个信号的频带实在太宽,它使得电视设备复杂化。若每秒钟改为发送25帧图像时,则图像信号的最高频率为6.5MHz,再扣除逆程扫描行,实际最高频率约为6.0MHz,即图像信号的带宽为0Hz~6MHz,但缺点是人眼观看电视时有闪烁感产生。
(注:这段的计算好像不太对,意思理解就行了)
从上面看出来,如果为了满足带宽要求而将降低帧率,则不满足光源连续的频率。怎么解决这个问题?其实这个想想也就能出来,为了消除闪烁,每秒需要50帧图像,为了还是6MHZ左右的带宽,那只能将每帧图像传输的像素减半,为了做到这点,我们将原先25HZ的一副图像分成两次传输,即——隔行扫描。一幅图像如果分两次扫描,即分两场,第一场扫1、3、5……(单数行),称为奇数场,第二场扫2、4、6……(双数行),称为偶数场。奇数场和偶数场组合起来,就构成一幅完整的图像,这种扫描方式,通常叫隔行扫描。这叫做2:1隔行扫描,当然可以做成3:1、4:1,将原先的一副图像分成3次甚至4次传输。只是不会有人去做而已。
隔行扫描确实做到了满足带宽、视觉惰性和光源闪烁敏感性。但是牺牲的是像素,牺牲的是图像质量。因为带宽受限,在1秒内传输的像素也是一定的,我们只是决定把这些像素分成几张图片而已。通过上述讨论可以得出结论,逐行扫描可以得到比隔行扫描更高的图像质量,但电视行业选择隔行扫描主要是基于两个非常简单的考虑,第一是闪烁频率,第二是传输带宽。实际上在模拟电视时代隔行扫描技术是一个用有限频带资源实现优化显示效果的最佳折衷选择。
相关文章推荐
- 借用unsigned long类型的中间变量可以减少溢出现象
- 或许可以解释资本家为什么对“工人”剥削的现象把
- 请解释局部内部类和成员内部类都可以被static修饰吗,原因是什么?
- 安装完exe版本jdk之后未配置java_home和path环境变量仍然可以在cmd中使用java命令原因解释
- 使用双缓冲来减少闪烁现象
- Alien Widgets加速了绘制、减少了闪烁。但通过设置,还可以使用Native Widget
- android动画特效之解决解决移动后闪烁现象,解决输入法弹出后位置回复原状,解决两个动画叠加
- 软件项目开发《七十五条》不可以原谅的错误及相关解释
- 软件项目开发《七十五条》不可以原谅的错误及相关解释
- 将CSS放头部,JS放底部,可以提高页面的性能的原因
- 在ext的editgrid中使用ComboBox时页面闪烁的怪现象
- CoreAnimation中layer动画闪烁的原因及解决
- &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
- Coursera | Andrew Ng (02-week-1-1.5)—为什么正则化可以减少过拟合?
- 《陈经说》:工业党网络写手10年前作品,尝试解释中国经济持续高速发展30年的原因,不够专业,另外已经有更好的解释出来了。3星。
- 一段神奇的代码-关于PHP字符变量奇怪现象的解释
- 物理电脑+Oracle VM virtualbox+centos7+NAT的网卡重复的reset apdater(down/up)现象可能原因
- 函数可以返回结构体的原因
- uitableview 奇怪现象原因之一