HD2AV_F2

文档内容:学习现有的分辨率转换算法,并根据各个算法的优劣选取最优的算法

时间节点:2014/12/15~2014/12/16

 

 

 

 

一、       视频分辨率下变换描述

    高清视频信号下变换的主要原理是将一帧图像中水平行与垂直像素点减少。处理过程主要包括:视频信号的重采样;获取字的控制存储、YC字的复合处理;以及最终的标清信号重构等。本文主要讲述信号分辨率转换的相关指示,至于存储策略标清信号重构等会在后续的文档中讲述。

1、重采样处理

    从高清视频到标清视频的分辨率下变换,可以分别在垂直方向和水平方向上的有效视频区上去抽取有效像素点来实现图像的转换。这为一个二维空间的操作,我们可以使用两个以为滤波器实现二维空间的转换,即先在垂直方向上抽值,然后再在水平方向上抽值。

    图像进行分辨率下变换时,通过抽取滤波器抽取原有信号的取样点值,增大采样点的空间距离,降低每行的有效像素和垂直行。高清视频1920*1080变换为标清720*576,可以通过下述两个计算式抽取像素点来实现。

 

    上述处理分为两步:有效行处理&有效垂直像素点处理。

    A有效行处理:根据文档HD2AV_F1.doc的第5节所示的视频分量信号特性,找到一帧视频信号的有效行,再依据上面的第二个计算式在高清视频一帧的1080条有效行中按每15行取8行循环抽取,从而得到标清所要求的576行有效行。

    B有效垂直像素点处理:找到一行数据中的有效像素点,然后按照1式在高清一行1920个有效像素点中按照16个点去6个点循环抽取,从而得到标清所要求的720个有效像素点。

    从HD2AV_F1.doc第3节可知视频行SAV之后为有效视频数据。所以在对输入的高清视频数据监测,当监测到有用视频行起始SAV后对有效像素点进行计数,计数值为Pix,之后就可以针对Pix进行抽取操作。抽取之后可以得到标清分量信号所需要的像素点。在进行采样率下变换即重采样的时候存在着多种算法,每个算法又有诸多的异同,下一章节就这几种算法进行讲述。

二、       图像缩放算法的描述

    传统的插值算法原理基本相同,即需要找到与输出图像相对应的输入图像的像素点然后再计算该点附近某一个像素集合的加权平均值来指定目标像素的灰度值。不同算法之间的区别在于点周围像素序列的取法不同,像素位置之间的计算通常使用插值的方法实现,传统的插值算法包括最近领域法、双线性插值和双三次插值算法。下面就这三种主要的算法详细讲述。

1、  最近领域法

    有图如下:

 

    (i,j)、(i,j+1)、(i+1,j)、(i+1,j+1)是插值前的一个四点区域,现在的问题就是一句这4个点求出目标像素点(u,v)的像素值。最近领域法就是比较(u,v)和图中的四个像素点之间的距离,然后将离它最近的那个点作为它的像素值。最近领域法相对于另外两种算法最简单,不过这种算法有一个明显的缺点就是容易产生“马赛克”的现象,当需要在一个四点领域内产生更多的像素点时,这一缺点会表现的更明显,校正后的图像有明显的锯齿状,即存在灰度不连续性。这种方法精度不高,但是速度较快,比较适合在浏览不是很重要但是要求速度较快的场合。

2、  双线性插值

    双线性插值是最常见的插值算法,它利用插值点在原始图像中周围四个点的像素值以及插值点与这四个相邻像素点的距离关系,对图像信号进行二维线性插值计算。同样的比如1小节中的图像像素点,设u、v分别为目标像素点到左上角的点的X方向与Y方向的距离,我们就有双线性插值的公式如下:

 

    通过上述公式我们可以知道,只要知道目标像素点周围的4个像素值以及目标像素点和左上角像素点的xy方向间隔即可就去目标像素点的值。双线性插值是在两个方向上进行线性的插值,双线性插值的计算复杂性要高于最近领域法,计算量较大,但是相比上一算法,不存在不连续性的缺点。但是双线性插值具有低通滤波特性,这个方法会使得高频分量收到损害,使得图片的轮廓会有一些模糊。它的主要缺点为平滑了图像的高频分量又使低频分量产生了混频。

 

3、  双三次插值算法

    双三次插值就是将插值函数再增加四项,我们知道图像是一个二维的信号,在图像缩放过程中是使用插值算法对图像进行二维方向上的应用。相应的图像缩放示意图如下:

 

    双三次插值算法就是在源图像中取一个4*4领域组成的一个边长为3的正方形曲面,假设所求的目标像素点位F,输入图像中与之最临近的16个像素点位f0~f15,在水平方向上先进行水平方向的三次插值,计算出4个临时插值点F1~F4,然后以临时插值点位对象,在垂直方向上以相同的原理再进行一次垂直插值,所得的值即为所求像素点F。F的像素值为:

 

    其中

 

    双三次插值中,对不同的插值基函数,计算量、缩放效果以及实现难易程度也会有所不同。常用的Keys三次基函数如下:

 

    通过上述两公式可以发现,我们发现首先需要根据间隔△x和△y求出插值基函数的值,再乘上源像素行的值。其中不同的间隔距离插值基函数的值会产生不同的值。所以当使用上述公式计算目标像素值得时候,计算量巨大。

我们对上述公式进行相应的更改,首先将行计算与列计算分开。先进行行分辨率变换,再对生成的目标行进行列分辨率变换,生成最终的目标像素。相应的系数公式如下所示:

 

    上述公式即为下面的一个Farrow型的滤波器,如下图。

 

    我们在计算目标像素行的时候,就可以将4个源像素行乘上上述4个系数,得到目标像素行,再将目标像素行的4个源像素点,再乘上上述4个系数,最终得到我们所需要的目标像素。

 

posted on 2015-01-05 17:14  Walker_Sun  阅读(290)  评论(0编辑  收藏  举报

导航