De-interlace 反交错 简介

article/2025/11/6 22:23:33

<script type="text/javascript"> </script> <script type="text/javascript"> </script> 为了更好的理解新的逐行扫瞄的概念,必须先弄清楚电视传输的一些基本知识,一副图像是如何传输的,它与新的逐行扫瞄技术的关系等等。移动的图像并不是由移动组成的,而是由快速的连续的图像形成的。电影院里放映的电影,一秒显示24祯。而电视则是不同的。
隔行扫瞄
    电视通过在显示器上从左到右,从上到下画出(扫瞄)很多的亮线来显示图像。组成运动画面的图像是由交互的隔行场信号组成的,即:一个场包含了所有奇数行, 例如1,3,5等,直到525。另外一个场包含了所有的偶数行,例如2,4,6等,直到524。结果就是一秒的60分之一只有一半的视频有显示。左边的图 像就是这种情况的模拟。第一场扫瞄后,第二场再扫瞄。每一场都是一副特定的画面,也就是说即使画面没有改变,每一场都是单独拍照的。 只要图片没有变化,例如当显示一副静止的图像时,变化的场实际上完全可以互相补充而形成一个完整的画面。显示会闪烁,可以看见扫瞄线,但是这是隔行扫瞄世 界的生活。由于每一场都是一副特定的画面,当有移动时,物体在一场中处于一个位置,在下一场中处于另外一个位置。 互补的两场不再互补,我们可以看到图像有一点混乱。

    右图是一个隔行扫瞄的例子,试图显示一个从左到右移动的西红柿。每一场都比上一场更向右一点来显示这个西红柿。因为场信号是隔行的,除了第5和6场西红柿 静止了,其它场都存在锯齿状垂直边缘。离隔行显示越远,这种情况越不容易被注意到,不过如果你靠近一个隔行扫瞄的电视机,注意一个静止物体的边缘,等到它 移动,你就会发现这种现像。
  
    左边是一个滑雪者的隔行扫瞄的图像。不仅仅是快速交替的场有闪烁,仔细看看滑雪杆,它忽有忽无,那是因为它很细,只存在于两场中的一场。这是行抖动。当一 个细节小于两个扫瞄线的高度时就存在这个“外来品”。尽管在垂直移动时会加剧这种情况,这种外来品也可以存在于一个静止图像中。由于这个原因,细小的细节 经常在编码前就从信号中过滤掉以减少这种抖动。

从每秒24祯的电影到 60Hz NTSC 电视的传输简介

    移动画面的摄影是基于一秒24祯的。24 到60 并不是一件容易的事。要使电影的4祯尽可能平均到10个视频场中。不能只是每4祯加倍一次。相反,电视电影的处理是用 3-2 折叠法来从4祯中建立10个视频场。这种电视电影的形式是从一祯中建立 3 场或从一祯中建立 2 场,所以叫做 3-2。
现在看一下我们的 3-2 折叠法流程图:

3-2 折叠法继承了当我们讨论隔行视频时描述过的人造特征的大多数。当一个给定的电影祯的场源互相补足时,任何时候跟随不同祯的那场,如上图中用“!”标识出的,

    只要在一台普通的隔行显示器上观看,就没有什么可多说的,你所能看到的很相似于我们在上面所展示的隔行扫瞄的结果。

逐行扫瞄

_

    逐行显示,比如高性能的 CRT/LCD/DLP/LCOS幻灯机和新的 HDTV 电视,可以显示与隔行扫瞄相反的逐行扫瞄的图像。从上面已经知道一个隔行扫瞄的显示是一秒60场。但是在逐行扫瞄中,每一次扫瞄到显示器上的都是完整的包 含了所有扫瞄线的图像,从上到下,现在称为“祯”,一秒种显示60祯。逐行扫瞄的好处是没有抖动,扫瞄线很少见,即使离显示器很近的进行观察,而且没有我 们描述过的“外来品”。

    但是自然界中完全的逐行数据源很难见到。通常用来恢复逐行扫瞄图像的术语是“deinterlacing",即反交错,尽管我们觉得可能叫重新插入更准确些。

重新插入每秒24祯的电影

    反交错包括把一副副的隔行场装配到一个逐行祯里,并且尽量以原来的每秒24祯的速度来显示。对每一个由三场组成的电影祯,第三场是第一场的复制,甚至没有 被存储。一个DVD播放机的逐行输出从每一幅电影祯中集合2场来建立一个完整的逐行祯,看起来就象原来的祯。也许你认为DVD应该每秒显示24祯,但是就 象我们说过的那样逐行显示是每秒60祯来操作的。为了留出间隔,DVD播放机在每一个双祯和三祯中切换 (1, 1, 1, 2, 2, 3, 3, 3, 4, 4).看起来好象是3-2折叠法,其实就是的。

    这种形式的显示给了我们一个很相似于原来电影的移动图像。尽管它还有一点抖动的趋势,那时因为每祯在以每1/20秒显示和每1/30秒显示这两种形式之间 切换造成的。尽管我们的最终的产品的合成实际上包括了10祯,显示了这点抖动。将来,播放机和显示器都可以增加它们的显示率到每秒60场以上,到每秒72 场。在那种情况下,每一场只会持续一秒的1/72,允许播放机显示每祯三次 (24 x 3 = 72),就会减小运动抖动。每秒72祯将只会工作在基于电影胶片的数据源上,因为它是24的倍数。在每秒60场的视频源上它不会工作的很好。我们所需的是 电视,象我们的监视器一样,可以工作在一个变频的环境中,适合于不同的源,但这是另外一个话题。

   反交错其它源

    反交错过程是特别针对每秒24祯,也就是MPEG-2解码的。把适当的场放在一起是很重要的,它相对而言简单些。反交错原始的NTSC隔行视频要复杂的 多,每一场代表了一个特定的摄影,为了在一个可以接受的水平上反交错它,需要加入动态适配和动态补偿算法来克服隔行原始材料得内在问题。现在还没有最好的 办法。


http://chatgpt.dhexx.cn/article/ZIjdSAFt.shtml

相关文章

pygame加载png出现known incorrect sRGB,Interlace handling should be turned on when using png_read_image问题

使用pygame加载png出现libpng warning: iCCP: known incorrect sRGB profile和Interlace handling should be turned on when using png_read_image警告的问题 一、解决Interlace handling should be turned on when using png_read_image警告 最近使用Python实现强化学习走迷…

计算机视觉之旅(Day3)

对不起大家&#xff0c;opencv的坑我尽量在年底更完&#xff0c;C的坑已经基本更完了&#xff0c;在没有进一步深入学习C之前可能这个系列已经算完了。不多说&#xff0c;我看看机器视觉的基本内容吧。 &#xff08;一&#xff09;基本构成 传统的机器视觉系统是由待测目标、…

交错(拉丝)(Interlace) 与 反胶卷过带

第一部分——交错&#xff08;拉丝&#xff09;&#xff08;Interlace&#xff09;的产生 引用了相当多网友的分析与结论&#xff0c;恕我不能依次注明。分析主要来自“[SilkyBible] 视频知识系列”&#xff0c;就主要概念的主要影响因素进行了一点分析。如果有错误&#xff0c…

二分法之最大子段和

1.问题描述&#xff1a;给定一个数组&#xff0c;找出其中可以构成最大数的子段&#xff0c;子段和是由连续的子段构成的&#xff1b;给定有n个整数(可能为负整数)组成的序列a1,a2,...,an,求该序列连续的子段和的最大值。 2.设计思路&#xff1a;对于一个连续的子段和&#xf…

java动态规划求最大子段和_动态规划-最大子段和

2018-01-14 21:14:58 一、最大子段和问题 问题描述&#xff1a;给定n个整数(可能有负数)组成的序列a1&#xff0c;a2&#xff0c;...&#xff0c;an&#xff0c;求该序列的最大子段和。如果所有整数都是负数&#xff0c;那么定义其最大子段和为0。 方法一、最大子段和的简单算法…

四种方法求解最大子段和问题

题目描述 给定一段长度为n的序列&#xff0c;我们需要找到其中一个连续的子段&#xff0c;使这个子段中各个元素加和最大&#xff0c;如果这个数组中全为负整数&#xff0c;我们就定义这个子段和为0. 题目分析 首先我们的目的是找一个局部的子段但加和是全局最大&#xff0c;…

最大子段和问题(分治法和动态规划)

什么是最大子段和&#xff0c;通俗点讲&#xff1a; 最大子段和就是给了一些数&#xff0c;然后你从中找了几个连续的数&#xff0c;这组连续的数的和比任意一组连续的数的和都大&#xff0c;那么你找的这几个连续的数的和就是这些数的最大子段和。 通俗的听不懂你就看这里&am…

最大子段求和

3种算法&#xff1a;最大子段求和 一、问题分析 问题&#xff1a;给定有n个整数(可能为负整数)组成的序列 a 1 , a 2 , . . . , a n , a_1,a_2,...,a_n, a1​,a2​,...,an​,求该序列连续的子段和的最大值。 如果该子段的所有元素和是负整数时定义其最大子段和为0。 简易算法…

最大子段和问题(3种方法)

给定由n个整数(可能为负整数)组成的序列a1&#xff0c;a2&#xff0c; a3… &#xff0c; an&#xff0c; 寻找它的某个连续子段&#xff0c;使得其和最大。例如( -2,11,-4,13,-5,-2 )最大子段是{ 11,-4,13 }其和为20。 1、最大字段和问题的简单算法 (1)枚举法求解&#xff1…

最大子段和(动态规划算法)

最大子段和&#xff08;动态规划算法&#xff09; 文章目录 最大子段和&#xff08;动态规划算法&#xff09;一、思路二、伪代码三、C代码四、输入实例 一、思路 D[i]表示从i开始的最大字段和。&#xff08;但我们不是从前往后找字段结束位置&#xff09; 根据递推公式&#x…

最大子段和——用蛮力算法,分治策略,动态规划算法三种求法(C语言)

目录 一、题目 二、算法求解 1、蛮力算法 伪代码 算法分析 程序 2、分治策略 伪代码 算法分析 程序 3、动态规划算法 伪代码 算法分析 程序 一、题目 设A<a1,a2,...,an>是n个整数的序列&#xff0c;称<ai,....,aj>为该序列的连续子序列&#xff0c;其…

归并排序 java实现_java实现归并排序

归并排序 归并排序&#xff0c;指的是将两个已经排序的序列合并成一个序列的操作。 归并操作的过程如下&#xff1a; 申请空间&#xff0c;使其大小为两个已经排序序列之和&#xff0c;该空间用来存放合并后的序列 设定两个指针&#xff0c;最初位置分别为两个已经排序序列的起…

Java八大算法:归并排序

一、什么是归并排序&#xff1f; 1.概念 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;归并排序对序列的元素进行逐层折半分组&#xff0c;然后从最小分组开始比较排序&#xff0c;合并成一个大的分组&#xff0c;逐层进行…

归并排序(Java代码实现)

基本思想&#xff1a; 将两个或两个以上的有序表合并成一个有序表的过程。常用的归并为2-路归并&#xff0c;就是将两个有序表合为一个有序表。 过程&#xff1a; 先来看一张示意图&#xff1a; 可以看出&#xff0c;归并排序分为分解和合并两个步骤。 分解就是将原数组分解…

归并排序(Java实现)

归并排序&#xff08;Merge Sort&#xff09;是建立在归并操作上的一种有效&#xff0c;稳定的排序算法&#xff0c;该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先…

归并排序java详解

import java.util.Arrays;public class Mergesort {public static void main(String[] args) {int arr[]{8,4,5,7,1,3,6,2};int temp[]new int[arr.length];//归并排序需要一个额外空间mergeSort(arr,0,arr.length-1,temp);System.out.println("归并排序后" Arrays.t…

java归并排序(含归并排序代码)

目录 一&#xff1a;归并排序的思想 二&#xff1a;归并排序代码 三&#xff1a;归并排序结果​ 一&#xff1a;归并排序的思想 归并排序&#xff08;Merge Sort&#xff09; 当我们要排序这样一个数组的时候&#xff0c;归并排序法首先将这个数组分成一半。如图&#xff1a…

归并排序java代码实现

归并排序,是一种分治算法。利用递归&#xff0c;将一个大的数据集合分解成小的子集合。将子集合排好序后&#xff0c;再合并起来。归并排序不是原地排序算法,因为它使用到了临时空间&#xff0c;这也是归并排序没有快速排序应用广泛的主要原因&#xff0c;虽然归并排序的时间复…

分治算法实现经典归并排序java实现

目录 1.什么是分治算法 分治法 基本思想 2.分治算法的体现:归并排序 归并排序 基本思想 3.代码实现 1.什么是分治算法 分治法 分治法&#xff0c;字面意思是“分而治之”&#xff0c;就是把一个复杂的1问题分成两个或多个相同或相似的子问题&#xff0c;再把子问题分成…

归并排序 Java实现 简单易懂

归并排序 归并排序采用的是分治(divide-and-conquer)法思想。 1.基本思想&#xff1a; 将待排序元素分成大小大致相同的2个子集合&#xff0c;分别对2个子集合进行排序&#xff0c;最终将排好序的子集合合并成为所要求的排好序的集合。 2.执行过程&#xff1a; 3.时间复杂度…