一种基于模式识别的隔行视频转换方法与流程

文档序号:17586584发布日期:2019-05-03 21:22阅读:222来源:国知局
一种基于模式识别的隔行视频转换方法与流程

本发明涉及一种基于模式识别的隔行视频转换方法,属于视频信号处理领域。



背景技术:

隔行视频,是一种时间上和空间上对图像作下采样以达到节省传输带宽并尽量保持图像质量的一种视频存储和传输格式,被广泛用于电视和监控等领域。直到当今数字视频传输方式流行的时代仍然存在广泛的应用,对于目前主流的逐行显示设备,由于其固有的时空隔行采样的特性导致在显示隔行视频出现撕裂和锯齿现象,需要特殊的转换装置来解决隔行视频在逐行显示设备上的显示问题。

隔行视频转换到逐行视频的装置,一般包括以下几个过程:

1、读取待插值点空间和时间上的邻进区域的多场数据;

2、对当前待插值点采用不同的插值方式,依据时间空间上的相邻域的若干个像素点得出多种插值结果;

3、根据不同场景,依据空间和时间上的邻近区域的特性(如纹理,噪声等),经验性地设定某些简单逻辑来选择或权重方式混合各种插值结果。

对于最终的图像转换效果,通常存在关键点:

如何在插值时候从多种插值结果之间的选择符合人眼特点的结果;

一般隔行转换的专利都针对各种插值方法作改进,基本上各种线性非线性,空域或时域上的插值方法效果基本很难再提升,从一些特定场景下效果不佳的插值点看,问题更多的属于如何针对不同场景从各种方式里面混合出最优插值结果。

首先,因为视频图像的复杂性,往往不同的插值方法适合于不同的场景,在不同图像的不同区域总会出现有插值错误或者不合理的现象,业界有诸多论文研究各种场景下各种算法的优劣,比如:线性滤波,如垂直滤波等方式,在静止平坦区域或垂直边缘效果较好,但是在运动幅度大或者纹理丰富的区域效果就比较差;基于边缘插值的方式在大角度,运动幅度较大的区域较好,在小角度的边缘上插值又容易出错;而基于块匹配的运动补偿方式则对小幅运动的区域提供较好的效果,对大幅度运动搜索匹配效果不佳且实现代价大。

其次,传统算法均是在线实时提取少量特征做简单判断,缺点也很明显,少量特征往往不足以描述当前插值点的特性。实际上,影响插值结果类型的选择实际上是一个多维因素相互关系的判定,往往不容易通过人的观察归纳出简单描述的规律性。通常的做法,需要从一两个简单场景,通过人工尝试限定几个参数的范围以及各个参数之间的简单关系来确定哪些条件下选用哪种插值算法,然后再不断添加条件来适应各种视频场景,花费较多时间和人力,且不容易在各种场景间达到较好的平衡。根本原因在于,对于多维因素之间的复杂关系很难通过人眼观察归纳并使用简单的(ifelse)逻辑判断得到。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种基于模式识别的隔行视频转换方法,通过离线训练样本,人工指定若干典型场景下最合适的插值模式并标定样本,然后提取插值点的多维特征(例如时空邻近像素在时域和空域上的特征),利用ann等方法做有监督训练,得到特征映射矩阵,在线隔行转换数据时候,同样提取当前插值点的多维特征,并通过模式识别的方法,得出当前插值点最适合的插值类型,根据各种插值模式选择对应的概率及其插值计算结果并进行混合,输出最终的视频信号。

本发明解决其问题所采用的技术方案是:一种基于模式识别的隔行视频转换方法,其特征在于,包括:s100、输入视频信号,指定一插值点,抽取插值点邻进场范围内的像素块,其中邻进场范围可自定义;s200、根据离线样本进行训练,得到映射矩阵;s300、根据像素块提取多维特征,其中多维特征包括但不限于当前插值点位置的场极性、扫描线位置极性、插值点对应的插值窗口的平坦度、同极性场间空间位置的差的绝对值的和、当前插值点位置在空间的方向性以及在时间上的运动方向;s400、根据得到的映射矩阵和提取到的多维特征,计算适合指定插值模式的概率;s500、执行多种插值方式计算,得到多个插值计算结果,根据各种插值模式选择对应的概率及其插值计算结果并进行混合,输出最终的视频信号。

进一步的,所述s200包括:

s201、读取隔行视频样本库,抽取插值点在邻进场范围内的像素块,建立隔行视频训练样本库,其中训练样本数量可自定义,插值点为典型插值点;

s202、对各个训练样本进行多维特征提取,得到为j维特征数据vft,其中j为维度数;

s203、对各个样本使用若干种插值方式,得到多种插值结果,根据人眼视觉特性选择插值结果并标定插值结果的类型标签;

s204、根据提取的特征数据vft和插值结果得到二维数组,大小为x×j的待训练数据和1×j的标签,其中x为训练样本数量;

s205、使用人工神经网络对二维数组进行有监督训练,得到对j维特征的分类矩阵;

s206、读取隔行视频测试样本库,选取一定数量的测试样本使用分类矩阵检测,其中一定数量可自定义;

s207、根据分类矩阵检测得到的分类结果,按照人眼视觉特性筛选出分类错误的样本,并计算错误率

其中r为错误率,

其中s为分类错误样本的数量,

其中t为测试样本的数量;s208、判断错误率是否大于阈值,若是则将错误的样本加入隔行视频样本库并返回执行步骤s201,否则结束训练,输出分类矩阵,输出的分类矩阵即为映射矩阵,其中阈值可自定义。

进一步的,所述抽取插值点邻进场范围内的像素块包括抽取插值点在时间邻域和空间邻域的邻近场的多个像素块。

进一步的,所述执行多种插值方式计算包括但不限于场间中心插值、场间运动补偿、场内方向性插值以及场内垂直插值。

进一步的,所述场间中心插值结果为,

result=function(c,f(i0,t-1),f(i0,t+1))

代表根据训练出来分类矩阵的参数相关的一个函数选择,f(i0,t-1)和f(i0,t+1)的运算结果

其中f(i0,t)为插值点为中心的匹配块;

所述场间运动补偿结果为:

(f(i1,t-n)+f(i2,t+n))/2

代表插值点位置周围的点在前后两场中同方向运动的像素,其中i1和i2代表时域上向前和向后方向上的运动向量;

所述场内方向性插值结果为:

其中为卷积运算,

其中kernel为以水平/垂直梯度为变量生成的mxn大小权重系数窗口,代表了窗口内数据分布方向的向量,

其中分别为水平梯度和垂直梯度;

所述场内垂直插值结果为:

vertical_interpolation(f0(i0-d:i0+d,t))

其中d为垂直方向的距离;

其中f0(i0-d:i0+d,t)代表插值点垂直方向上面和下面的2×d0个像素。

进一步的,所述抽取插值点邻进场范围内的像素块包括:

对获取的l个像素块,对各个小块内的像素命名为f(n),n∈[t-l/2:t+l/2]

其中t为插值点的时间坐标;

其中l为像素块的数量。

进一步的,所述场极性包括底场以及顶场;

所述扫描线位置极性包括奇数行以及偶数行;

所述插值点对应的插值窗口的平坦度计算公式为:

σn=σ|f(t+n)-mean(f(t+n))|

其中σn为窗口平坦度,

其中mean为取平均值,

其中f(t+n)为同极性的场在空间相同位置上的块。

进一步的,所述同极性场间空间位置的差的绝对值的和计算公式为:

ssadn=σ(|f(t)-f(t+2)|×wt)

其中ssadn为空间位置的差的绝对值的和

其中wt为一个mxn大小的权重系数窗口,

其中f(t)和f(t+2)为同极性的场在空间相同位置上的块;

所述当前插值点位置在空间的方向性以及在时间上的运动方向获取方法为:

计算水平梯度和垂直梯度

其中h1为提取像素梯度的函数矩阵,

其中分别为水平梯度和垂直梯度,维度为m0xn0=(m-2)x(n-2);

为2x(m0xn0)维特征,计算协方差系数矩阵,计算式为:

cov=[c0c1;c2c3]

其中c1=c2,

得到插值点对应的插值窗口的方向性特征参数,其中方向包括垂直方向和水平方向。

进一步的,所述当前插值点位置在空间的方向性以及在时间上的运动方向,其中插值点位置在时间上的运动方向计算包括:

对于在当前插值点对应的插值块前后若干场内的每个点,计算与当前插值点在时间上的差的绝对值的和,搜索往前/往后2个方向上最小sad的块:

i∈f([1:n,1:m],t+/-n)

tsad()=σ|f(i0,t)-f(i,t-n)|

tsad()=σ|f(i0,t)-f(i,t+n)|

其中t+/-n为以当前场为中心,时间前后第n场,

其中f(i0,t)为插值点为中心的匹配块

其中tsad为时间上的差的绝对值的和

m、n为权重系数窗口的尺寸;

搜索最小时间上的差的绝对值的和:

得到j维的特征数据vft,其中

j=3*(2+l+l/2+3+2)

l为像素块的数量。

进一步的,所述s400包括:将得到的j维特征值输入到m层神经网络,其中j为特征值维数,m为神经网络层数;每层网络处理j个特征值;输出各个插入值计算结果,概率p0…pk-1,其中k为插值模式类型数目;结合输出的插入值计算结果,结合各个模式检测概率系数pt=[p0,p1,…pk-1],混合k种模式插值的输出,得到最终输输出结果。

本发明的有益效果是:用模式识别的方法代替了人为简单逻辑对插值场景进行分类,提高了分类的准确度,提高了画质,同时也对各类视频场景具有更高的适应性,更可以根据成本合理选择所使用的插值实现方式,平衡转换算法的实现成本和效果。隔行转换算法可以明确的分为两个部分,便于算法人员确定是插值算法的优劣还是分类的准确度在影响最终效果的好坏。

附图说明

图1所示为根据本发明较佳实施例的方法流程示意图;

图2所示为根据本发明较佳实施例的离线训练样本流程示意图;

图3所示为根据本发明较佳实施例的插值像素块在时域和空域邻近点的示意图;

图4所示为根据本发明较佳实施例的多模式插值和混合的流程图;

图5所示为根据本发明较佳实施例的多维特征进行模式检测的流程图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参看图1简单说明一下隔行视频和去隔行算法的概念。102~106是一个隔行视频序列的在时间和空间上的图像示意图。对于102作为某个时刻的隔行采样图像来说f(t)为当前插值场,与这个时刻相隔采样时间间隔的前后若干个时刻的图像称为f(t)在时间上相邻的图像。由于隔行视频在时间相邻的场之间是错开空间采样位置的,这连续的两场称为场极性(fieldpolarity)不同,而且它在垂直方向上仅仅存在一半的空间信息,采样空间位置在103/105的场称为顶场(p==0),采样空间位置在102/104/106的场称为底场(p==1)。而在某一场内,垂直采样位置从顶部开始的一行称为奇数行(pv==0),从顶部开始一行在开始的位置称为偶数行(pv==1)。对于顶场来说,缺失了偶数行,对于底场来说,缺失了奇数行,而隔行视频转换的目的,就是根据一系列的连续场图像,还原出其中缺失的奇数行或偶数行。对于101来说,它就是某个待插值的位置,它在空间上的邻近点是102里的像素点,而103~106它在时间上的邻近点。当去隔行算法处理图像时候,待插值点的位置从上到下,从左往右变化,遇到缺失的行时候,通过时间和空间上的邻近点计算出缺失的像素点,也就完成了去隔行的处理。

参照图3是插值像素块在时域和空域邻近点的示意图,这里仅以亮度平面数据为例,色度u/v平面也是类似的,这里为了描述简单起见,在不影响原理理解的前提下,不再描述实际常用的yuv420/422格式中对u/v平面做下采样处理后块大小发生的变化:

101,当前待插值点,f(i0,t);

102,当前插值场,f(t);

103,当前插值点前一场邻近点,f(t-1);

104,当前插值点前二场邻近点,f(t-2);

105,当前插值点后一场邻近点,f(t+1);

106,当前插值点后二场邻近点,f(t+2)。

参照图1所示为根据本发明较佳实施例的方法流程示意图:

根据离线样本进行训练

读取出来的多场像素块,细节查看图1,对于l个小块,各个小块内的像素命名为f(n),n∈[t-l/2:t+l/2];

提取多维特征,包括如当前插值位置的场极性p(=0/1),扫描线位置极性pv(=0/1),窗口内的平坦度σn,同极性场间空间位置的sad差的绝对值的和(简称ssad),待插值位置的在空间的方向性,时间上的运动方向等特征;

平坦度σn=σ|f(t+n)-mean(f(t+n))|;

ssadn=σ(|f(t)-f(t+2)|*wt),wt为一个mxn大小的权重系数窗口,f(t)和f(t+2)为同极性的场在空间相同位置上的块;

在提取待插值位置的方向性特征时,先分别计算水平垂直梯度▽h=f(t)*h1,▽v=f(t)*h1t,h1是一个提取像素梯度的函数,可以是sobel或其他梯度提取函数,h1=[0-10;020;0-10]。提取出当前场块内各个像素在水平和垂直方向上的梯度▽h、v,维度为m0xn0=(m-2)x(n-2),将▽h、v当成是2x(m0xn0)维特征,先对▽h、v求其协方差系数矩阵cov=[c0c1;c2c3],得到插值窗口的方向性(水平/垂直)特征参数,以降低后续识别检测的维数,其中c1==c2,可将空间方向相关特征从2xm0xn0降低为3维);

时间上插值点的运动方向特征,常见的方法,如局部块匹配的方式,对于在当前插值块前后若干场内的每个点,计算其与待插点x的时间上的sad(简称tsad),搜索往前/往后2个方向上最小sad的块;

基于块匹配做运动搜索的算法这里仅做原理说明,不对其具体实现做进一步阐述。

对于前后场坐标i∈f([1:n,1:m],t+/-n)上的像素,t+/-n代表以当前场为中心,前后第n场;计算tsad(t-n)=σ|f(i0,t)-f(i,t-n)|,tsad(t+n)=σ|f(i0,t)-f(i,t+n)|,f(i0,t)为插值点为中心的匹配块;

搜索最小tsad,mintsad1=tsad(i1,t-n),mintsad2=tsad(i2,t+n);

因为视频数据包含了亮度和色度3个平面的数据(y/u/v),每个平面上产生出来2个极性特征,l个平坦度特征,l/2个ssad特征,3个方向性特征,2个tsad特征,总共产生j=3*(2+l+l/2+3+2)维的特征vft;

多种插值方式计算,详见图4及其描述;

将j维的特征输入,通过该矩阵计算得到适合某种插值方式的概率p0~pk-1,详见图5。

参照图2所示为根据本发明较佳实施例的离线训练样本流程示意图:

301,通过从隔行视频样本库里面通过抽取典型插值点在时域和空域的邻近场的多个像素块,建立视频训练样本库;

302,对每个样本提取j维特征数据vft;

303~304,对每个样本使用多种插值方式得到多种插值结果,并通过人眼选择最适合的一种,标定其类型标签;

305~306,对于x个训练样本可生成一个二维数组,大小为x*j的待训练数据和1*j的标签,使用ann等有监督训练的方式,限定3~5层连接,得到对多维特征的分类矩阵c;

307,对更多的隔行视频测试样本t,用矩阵c进行分类检测,并利用相应方法差指出结果,检查并挑出其中不适合人眼特性的插值结果作为错误样本,计算错误率r=s/t;

308,错误率判断;

309,如果错误率高于某个设定值,将该错误样本作为新的样本加入训练库,重新进行训练,重复301~308;

310,如果错误率低于某个设定值thre,结束训练过程,并输出分类矩阵c,c=[c1t,c2t,…cmt],c1,c2,…cm分别为多维的系数,对应图5中layer1~layerm各层网络的权重系数。

参照图4所示为根据本发明较佳实施例的多模式插值和混合的流程图,其中描述仅仅为一种可行的插值实现方式:

401,同极性场间中心点插值结果,result=function(c,f(i0,t-1),f(i0,t+1)),代表根据训练出来分类矩阵的参数相关的一个函数选择f(i0,t-1)和f(i0,t+1)的运算结果;

402,同极性场间运动补偿结果,(f(i1,t-n)+f(i2,t+n))/2,代表插值点位置周围的点在前后两场中同方向运动的像素,i1和i2代表时域上向前和向后方向上的运动向量;

403,场内方向性插值结果,为卷积运算,kernel为以水平/垂直梯度为变量生成的mxn大小权重系数窗口,代表了窗口内数据分布方向的向量;

404,场内垂直插值结果,vertical_interpolation(f0(i0-d:i0+d,t)),d为垂直方向的距离,f0(i0-d:i0+d,t)代表插值点垂直方向上面和下面的2*d0个像素。

参照图5所示为根据本发明较佳实施例的多维特征进行模式检测的流程图,以一个m层神经网络的连接图为例:

501,j个特征值输入层端口layer0;

502,第一连接层layer1及其连接网络;

503,第二和其他连接层(layer2…)及其连接网络;

504,输出层,无,k种类型的概率输出p0…pk-1;

505,混合输出结果,将501~504等多种插值结果输入混合j种插值输出的各个模式检测概率系数pt=[p0,p1,…pk-1],得到最终输出结果。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1