zoukankan      html  css  js  c++  java
  • 反交错- 视频横纹处理

      以下名词解释摘自维基百科

      去交错亦称“反交错”(deinterlacing)是将交错式(即隔行扫描)(interlace)影像讯号转换为渐进式(逐行扫描)(progressive)影像讯号的一种方法。

    因为装置处理速度以及带宽的限制下,广播电视系统,例如NTSC或是PAL,都是使用交错式讯号取代渐进式讯号。但是现代新型的显示设备例如液晶显示器、等离子显示器、数位投影机或是数位微型反射镜(DLP,数字光处理)等,都只支持逐行扫描(progressive scan),因此在这些设备上需要有去交错的功能以将交错式讯号转换为逐行信号。

      一个动态影像是由一连串连续的静态影像所组成的,其中每一个静态影像称为帧(frame),而动态影像中每秒所包含静态影像的数量则称为帧(速)率(frame per second, fps)。

    而在显示器上显示动态影像的方式有两种:

    • 渐进扫描:或称为逐行扫描。将每一帧从左至右、由上至下,逐一的将所有的画素显示出来。
    • 交错扫描:或称为隔行扫描。将一帧图像的奇数行画素及偶数行画素分开,分成为两个场(field)。轮流扫描奇数行所构成的场及偶数行所构成的场。

    因为一个场只有一个帧一半的资讯,因此在装置处理速度无法即时的处理整个帧的资讯以及传输带宽不够即时传输整个帧的情形下,使用交错扫描可以节省一半的资讯量且可以为持相同的更新率。在以往阴极射线管显示器(Cathode Ray Tube, CRT)很难一次扫描整个屏幕,因此无法使用渐进扫描。但是因为屏幕上萤光的余晖加上视觉暂留效应,使得交错扫描在阴极射线管显示器上运作的相当顺利。所以广播电视系统例如NTSC每秒59.94场,PAL则为每秒50场。

    现在新式的显示设备的速度已经够快可以即时的处理且扫描整个帧,因此都是使用渐进扫描。但是在这些新型的显示设备上直接播放交错式影像会产生严重的闪烁现象,且因为交错式讯号两行只有一行有影像另一行则是全黑的,所以亮度看起来会减少一半。由于有上述这些问题,所有使用渐进扫描的新式显示设备都需要有去交错的功能。  

      

      Vlc播放器测试未进行反交错处理的视频

        两组对比图,左侧均为未经行反交错处理, 右侧是进行反交错处理的。

      放大看(在新窗口中打开),明显左侧有横纹

      

          

    vlc 反交错设置

      包括反交错开启和反交错模式选择

      

      在视频处理中,对未进行反交错处理的,必须在播放前进行反交错处理,否则播放感官效果差!

  • 相关阅读:
    使用boost中的property_tree实现配置文件
    C++ 中使用boost::property_tree读取解析ini文件
    引用计数的原理和实例
    C++智能指针(auto_ptr)详解
    Oracle数据库用户锁定原因以及处理方式(ORA-28000)
    Address already in use : connect 的解决办法
    JMeter之Ramp-up Period(in seconds)说明(可同时并发)
    JMETER压力测试报错:JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT
    spring cloud学习填坑笔记
    使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
  • 原文地址:https://www.cnblogs.com/iclk/p/3924761.html
Copyright © 2011-2022 走看看