IVTC/Deinterlace的来龙去脉

2023-11-18

IVTC/Deinterlace的来龙去脉
                                 

1 胶片电影:曝光率为24帧/秒的progressive video(连续完整帧图像序列),它由无数个感光晶体(35mm可达5000×5000)实现图像曝光,而人眼在35mm的区域内能分辨的最大极限分辨率为3000×3000,所以用胶片电影来制作各种视频文件分辨率是绰绰有余的。

2 电视:首先区分电视分辨率与pc上的分辨率,pc分辨率就是象素点数,而电视分辨率是指扫描线数,由于电视信号或电视机硬件等因素,电视扫描线数是可变的,只能知道的原理最大扫描线数。

2.1 NTSC和PAL

NTSC是一种分辨率为720×480,帧率为30f/s的电视制式,在美国、加拿大、墨西哥和日本等国应用. PAL分辨率为720×576,帧率25f/s,在欧洲、香港和中东等地区普遍应用,它是NTSC的升级版,解决了NTSC制式中由传输相差引起的颜色偏差问题。

3 TELECINE/IVTC

在电视或PC上播放DVD电影,需要把24f/s的电影转化为25f/s或30f/s,这个过程就叫TELECINE(2:2 pulldown或3:2 pulldown),反之就是IVTC。

对于24f/s film--> 25f/s tv(或其他视频节目),TELECINE不作任何处理,只是把播放速度提高1f/s.

对于24f/s film--> 30f/s tv(或其他视频节目),TELECINE(3:2 pulldown)处理过程如下:把A、B、C、D四帧连续图像分割成场At Ab / Bt Bb / Ct Cb / Dt Db,再做重新排列成At Ab At / Bb Bt / Cb Ct Cb / Dt Db,由此得到五帧图像,场提取为3/2/3/2,因此又可称之谓3:2 pulldown。

4.Deinterlace

电视节目都是隔行扫描(这样做既有历史原因,也有提高视频节目连续性的需求),DVD和一些摄像机采集视频也都是interlace视频(场交错成帧)。由于组成一帧的两个场存在时间差,这些视频文件(节目来源为胶片电影的除外?)在播放过程中会出现齿纹、假象等图像质量问题,这就需要在播放前对视频做去交错处理(Deinterlace)。

DVD是特别为隔行扫描显示器设计的,在NTSC和PAL制式的电视机上能正常显示。由于电视机上的磷粉受电子束扫描有一定的反应时间,因此,当电子束扫完top field,再扫bottom field时,top field并没有立即消失,由此得到50f/s或60f/s的视频效果。

     但是,PC和数字电视机是逐行扫描显示器,要在这些逐行扫描显示器上播放DVD,必须做隔行转逐行转换,这就涉及(一)中所提及的IVTC/Dinterlace。

     DVD制片来源有两种:胶片电影和视频摄录。制片源是胶片电影的DVD中都有破膛(Telecine)标记,根据这一标记做IVTC即可得到24f/s的完整品质的视频。制片源是视频摄录(trully intelaced)的DVD不作Deinterlace处理播放时都会梳齿、拉丝等画质问题,原因就是一帧图像的两个场有时间差,存在相对运动。要消除这类图像的诸多画质问题就必须做Deinterlace处理,方法主要有:Blend,Bob,weave,自适应和运动补偿等。Blend,Bob,weave运算复杂度小,在播放器中较为常用。

1. Blend

     对一帧图像中的两场做叠加、求均值等运算,以消除梳齿。这种方法对于静止图像帧比较有效,运动图像blend后会有残影。下面是一个blend算法的实现:

static void deinterlace_blend( uint8_t *pdst, uint8_t *psrc[],
                                         int width, int height )
{
register int i, j;
register uint8_t *dstl, *srcl1, *srcl2, *srcl3;

dstl = pdst; /* target line */
srcl1 = psrc[0]; /* 1st source line */
srcl2 = srcl1 + width; /* 2nd source line */
srcl3 = srcl2 + width; /* 3rd source line */

/* Copy the first line */
memcpy(dstl , srcl1 , width);
dstl += width;

for (j = 1; j < height-1; ++j) {

    for (i = 0; i < width; ++i) { //(srcl1 + 2*srcl2 + srcl3)/4
      dstl [i] = (srcl1 [i] + (srcl2 [i]<<1) + srcl3[i]) >> 2;

    }

    srcl1 = srcl2 ; srcl2 = srcl3 ; srcl3 += width;
    dstl += width;
}

/* Copy the last line */
memcpy(dstl , srcl3 , width);
}

2. Bob

     用单个场的上下行求均值来填充成为帧,这样的帧图像牺牲了垂直分辨率,图像也偏柔。这种算法较为简单,运算量小,本人实验效果也不错。

3.Weave

     也就是do nothing,只是把两个连续的场拼成一帧,这对于运动图像(制作源为胶片电影的除外)就会产生了梳齿问题。

4. 自适应去交错

     针对不同的图像类型(运动或静止等情况),选择相应的去交错算法。例如,分析两个场的数据,分别用bob或weave做deinterlace,这样产生的图像质量不错。

     还有一些算法,如运动补偿去交错法运算量大,实际很少运用;Discard丢弃偶数场或奇数场,损失一半的数据,这种方法也很少采用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IVTC/Deinterlace的来龙去脉 的相关文章

  • 查看264NAL信息工具

    用easyice只可以查看TS包的帧类型 google了一下 发现了这个工具HEVCBSAnalyzer https github com latelee HEVCBSAnalyzer 从git上下载下来 直接使用release文件夹下的工
  • 数字媒体资产管理教材

    http vr sdu edu cn lulin course DAM
  • Create a mosaic out of several input videos

    转自 https trac ffmpeg org wiki Create 20a 20mosaic 20out 20of 20several 20input 20videos Overview One of the great featur
  • media sdk 性能优化

    https software intel com sites default files m 2 0 a 7 9 28439 Intel Media SDK E4 B9 8B E4 BC 98 E5 8C 96 E6 8A 80 E6 9C
  • 体育赛事直播系统的实践之路

    谓智慧运动场 就是一套利用互联网科技 软硬件集成 实现体育场地升级的解决方案 它可以运用在篮球等一系列球类运动场中 通过摄像头实时捕捉运动员的技术动作以及跑位影像 可以实现场内屏幕直播以及场外网络直播 为草根运动者搭建一个可以展示自己的舞台
  • 如何在H264数据中获取PTS

    H264的ES原始数据一般是以NAL Network Abstract Layer 的格式存在 可以直接用于文件存储和网络传输 每一个NALU Network Abstract Layer Unit 数据 是由数据头 RBSP数据组成 首先
  • 基于flowplayer的视频缩略图的视频预览

    大家在平时观看视频的视频网站中 比如优酷 爱奇艺 腾讯视频等 鼠标移动至播放条区域的时候 大家可以看到会弹出小的视频预览图片 这样子就可以给用户很好体验 至少可以知道前后播放的内容 最近公司业务需要 就不得不研究了 本文将从三个方面进行总结
  • 互动直播的技术细节和解决方案实践经验谈

    目录 1 互动直播背景 2 连麦流程 功能与技术指标 2 1 连麦的业务流程 2 2 互动直播的功能 2 3 技术指标 2 4 应用领域 3 主流的技术方案 3 1 互动直播技术领域 3 2 主流的技术方案 3 2 1 基于RTMP技术的连
  • GPU比较(1285Lv4&1245v5)

    1285Lv4 Intel Iris Pro Graphics P6300 Iris Graphics 6200 P6300 EU 48 核心代号 GT3e 1245v5 HD Graphics P530 EU 48 核心代号 GT3e
  • ffprobe获取视频帧信息中的pkt_pts、pkt_pts_time

    遇到个客户反馈多码率帧没同步 想用ffprobe看下不同码率的I帧的pts是否一致 发现ffprobe可以出pkt pts pkt pts time两个时间戳 查了下资料 自己也验证了下 结论如下 pkt pts 帧的pts数值 pkt p
  • TMPGEnc 4.0 XPress(小日本4)优化安装教程

    小日本4 TMPGEnc 4 0 XPress 是小日本2 54的升级版本 与小日本2 54之间本来还有一个3 0 版本 不过3 0 没有产生太大影响即升级到4 0 版本 尽管是小日本2 54的升级版本 但3 0 以后此软件便属于全新开发
  • MP4中同时有逐行、隔行编码视频内容

    公司做了个MP4视频 一部分是逐行的 一个部门是隔行扫描方式 用mediainfo看了下 整个显示视频信息为 Scan Type Interlaced Scan Order TFF 用Stream Eye观看视频 隔行部分如下图 逐行部分
  • 媒资知识图谱系统

    http wenku baidu com link url xEjnrOeeVaqCc5JNZfuFGewAFKWbPjZDI3FzopmFuDrxYIfXkU3fxaXnPDpI2 6 kvcbnwV 8irUddAmk2JpkZlD2B
  • https://github.com/gfto/mptsd

    https github com gfto mptsd Tvheadend is a TV streaming server and digital video recorder It supports the following inpu
  • ffmpeg在接收UDP网络协议流时在链接上通过fifo_size进行缓冲大小的设置

    If you original URL looks like this udp 239 1 1 7 5107 Add the fifo size and overrun parameters like this udp 239 1 1 7
  • H.264的Slice及Slice类型

    一 基本概念 一个视频图像可编码成一个或更多个条带 每个条带包含整数个宏块 MB 即每个条带至少一个MB 最多时每个条带包含整个图像的宏块 总之 一幅图像中每个条带的宏块数不一定固定 设条带的目的是为了限制误码的扩散和传输 应使编码条带相互
  • 基于web的在线视频编辑的设计

    基于web的在线视频编辑的设计 我在这里首先说明一下 本设计只涉及到逻辑设计和关键的技术 具体的实现方法 语言就得运用自己的特长去解决了 场景 1 比如我用手机录播一段很长的MP4格式的视频 我想剪切其中的几段 然后在合并成一个新的视频 如
  • DCA和DTS关系

    On the consumer level DTS is the oft used shorthand for the DTS Coherent Acoustics DCA codec transportable through S PDI
  • IVTC/Deinterlace的来龙去脉

    IVTC Deinterlace的来龙去脉 1 胶片电影 曝光率为24帧 秒的progressive video 连续完整帧图像序列 它由无数个感光晶体 35mm可达5000 5000 实现图像曝光 而人眼在35mm的区域内能分辨的最大极限
  • 液晶电视的MEMC(运动画质补偿技术)的优势不足

    MEMC Motion Estimate and Motion Compensation 即运动估计和运动补偿 液晶电视中用到的运动画质补偿技术 其原理是采用动态映像系统 在传统的两帧图像之间加插一帧运动补偿帧 将普通平板电视的50 60H

随机推荐

  • 哪款 Linux 才是更好的 CentOS 替代品?

    AlmaLinux 是基于 RHEL 的企业级 Linux 发行版 以下是选择 AlmaLinux 作为 CentOS 替代方案的一些原因 CentOS 将于 2024 年 6 月到期 截至 2022 年 它为世界各地的许多服务器支持 事实
  • idea提示非法字符

    问题 解决方法 将编码格式UTF 8 BOM文件转为普通的UTF 8文件 一 简单方法 在AS右下角 将编码改为GBK 再转为UTF 8 可以解决 二 可以用EditPlus 1 将文件用EditPlus打开 然后选择Document 文件
  • 点积,内积,哈达玛积的区别

    哈达玛积哈达玛积 Hadamard product 是矩阵的一类运算 若A aij 和B bij 是两个同阶矩阵 若cij aij bij 则称矩阵C cij 为A和B的哈达玛积 或称基本积 乘完之后还是矩阵 点积点积在数学中 又称数量积
  • Unity_场景之间的跳转

    跳转场景之前 需要在 File gt Build Settings gt Add Open Scenes 或者 直接把 场景 拖拽进来 跳转场景方法1 已过时 跳转场景方法 public void OnStartGame string Sc
  • PC端地图Hybird应用开发(百度地图API+C#+JavaScript)

    接了一个外包 让我做地图系统 采用C 嵌套JavaScript编程 为Hybird应用 框架内存是基于winform 调用了控件webbrowser webbrowser解释 渲染html文件 JavaScript脚本 地图采用百度地图AP
  • Nginx 502 Bad Gateway 错误的解决方法

    502 bad gateway 的解决方法 通用配置proxy buffer size 4k 设置代理服务器 nginx 保存用户头信息的缓冲区大小 proxy buffers 4 32k proxy buffers缓冲区 网页平均在32k
  • 动态自适应可变加权极限学习机(Dynamic Adaptive Variable Weighted Extreme Learning Machine, DAVW

    动态自适应可变加权极限学习机 Dynamic Adaptive Variable Weighted Extreme Learning Machine DAVW ELM 预测算法附Matlab代码 极限学习机 Extreme Learning
  • C++ 合并链表

    合并2个递增链表 使得合并后仍保持递增顺序 MergeList cpp 合并2个排序的链表 2个递增的排序链表 合并这2个使得新链表中的结点仍是按照递增顺序排列的 include
  • 端口安全、MAC地址漂移、MACsec、流量控制、DHCP snooping

    二 知识点 1 端口安全 实验拓扑1 实验拓扑2 2 mac地址漂移 操作拓扑 3 MACSEC 4 流量抑制和风暴控制 演示拓扑 5 DHCP snooping 实验拓扑 DHCP snooping
  • Cisco switch vulnerability

    Cisco switch SSH Protocol Version 1 Session Key Retrieval https community cisco com t5 security knowledge base guide to
  • JSP通用分页

    通用分页核心思路 将上一次查询请求再发一次 只不过页码变了 实现步骤 1 先查询全部数据 baseDao
  • box-flex实现三等分布局

    前言 我还是个前端的菜鸟 现在在实习 接触到一些移动web的开发任务 遇到了很多问题 记录一下顺便分享给大家 问题 要实现下图的三等分屏幕效果 此页面为手机web页面 要求自适应宽度 探索 期初是用的width 33 33 但是这样很容易出
  • 【MLOps】第 4 章 : 开发模型

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • C语言getchar()函数:从控制台读取字符并立即回显

    头文件 include
  • 数据结构选择题

    1 数据元素及其关系在计算机存储器内的表示 称为数据的 B A 逻辑结构 B 存储结构 C 线性结构 D 非线性结构 2 某带头结点的单链表的头指针为 head 判定该链表为非空的条件是 B A headNULL B head gt nex
  • eclipse安装tomcat插件

    现在我只想说 我x你ma tmd 老子费了一下午 才他妈知道是怎么回事儿 原来是需要往eclipse了安装一个tomcat插件 害得我迷迷糊糊的搞了一下午 下班了都才搞明白 1 先下载一个tomcat插件 地址 http www eclip
  • 快速换线流程图_生产线快速切换的七大技巧

    SMED Single Minute Exchange of Die 一分钟即时换模 通常叫快速换模 也叫快速换产 是一种快速和有效的作业切换方法 这一概念指出 所有的转变或者启动都能够并且应该少于10分钟 因此才有了单分钟这一说法 所以又
  • python关键知识点

    1 变量 在程序中存储值或对象的名称 2 数据类型 指变量的数据类型 例如 str int float list tuple dict set 等 3 操作符 表示运算符号 例如加号 和减号 4 循环 通过重复执行某个代码块来实现多次操作的
  • 学习React与Next.js过程中的疑惑

    学习React与Next js过程中的疑惑 1 为什么React中函数作为props的时候 会出现无限调用的情况 而把函数放在箭头函数中就可以解决呢 2 next js与node js有什么区别 3 什么是快速刷新 4 Hooks出现的原因
  • IVTC/Deinterlace的来龙去脉

    IVTC Deinterlace的来龙去脉 1 胶片电影 曝光率为24帧 秒的progressive video 连续完整帧图像序列 它由无数个感光晶体 35mm可达5000 5000 实现图像曝光 而人眼在35mm的区域内能分辨的最大极限