书签 分享 收藏 举报 版权申诉 / 40

视频缩放器中的振荡抑制.pdf

  • 上传人:Y94****206
  • 文档编号:510057
  • 上传时间:2018-02-20
  • 格式:PDF
  • 页数:40
  • 大小:7.69MB
  • 摘要
    申请专利号:

    CN201280063669.4

    申请日:

    2012.12.10

    公开号:

    CN104041062A

    公开日:

    2014.09.10

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    专利申请权的转移IPC(主分类):H04N 21/462登记生效日:20151109变更事项:申请人变更前权利人:晶像股份有限公司变更后权利人:美国莱迪思半导体公司变更事项:地址变更前权利人:美国加利福尼亚州变更后权利人:美国俄勒冈州|||实质审查的生效IPC(主分类):H04N 21/462申请日:20121210|||公开

    IPC分类号:

    H04N21/462

    主分类号:

    H04N21/462

    申请人:

    晶像股份有限公司

    发明人:

    L·A·汤普森

    地址:

    美国加利福尼亚州

    优先权:

    2011.12.22 US 13/335,398

    专利代理机构:

    上海专利商标事务所有限公司 31100

    代理人:

    高见

    PDF完整版下载: PDF下载
    内容摘要

    本发明的实施例一般针对视频缩放器中的振荡抑制。方法的一个实施例包括:接收视频数据流,其中接收的视频数据包括多组视频数据值;以及将来自视频数据流的第一组视频数据值存储在存储器中。第一组缩放值是基于缩放技术对这组视频数据值确定的,而第二组缩放值是基于视频数据的线性内插对这组视频数据值确定的。该方法进一步包括:检测所接收的视频数据的振幅改变速率;至少部分地基于视频数据的改变速率产生混合控制信号;至少部分地基于混合控制信号混合第一组缩放值和第二组缩放值以产生一组混杂系数;以及使用所述组的混合值产生缩放的视频数据输出。

    权利要求书

    1.  一种用于缩放视频数据的方法,包括:
    接收视频数据的流,所述视频数据包括多组视频数据值;
    将来自所述视频数据的流的第一组视频数据值存储在存储器中;
    基于缩放技术确定所述第一组视频数据值的第一组缩放值;
    基于所述视频数据的线性内插确定所述第一组视频数据值的第二组缩放值;
    检测所述接收的视频数据的振幅的改变速率;
    至少部分地基于所述视频数据的改变速率产生混合控制信号;以及
    至少部分地基于所述混合控制信号混合所述第一组缩放值和所述第二组缩放值以产生一组混杂值;以及
    使用所述一组混杂值来产生缩放的视频数据输出。

    2.
      如权利要求1所述的方法,其特征在于,所述缩放技术包括多相滤波器组技术。

    3.
      如权利要求1所述的方法,其特征在于,所述第一组缩放值是基于缩放技术的第一组视频数据值的第一组系数,而所述第二组缩放值是基于视频数据的线性内插的第一组视频数据值的第二组系数。

    4.
      如权利要求3所述的方法,其特征在于,所述混合包括至少部分地基于所述混合控制信号将所述第一组系数与所述第二组系数混合以产生一组混杂系数。

    5.
      如权利要求4所述的方法,其特征在于,确定所述第一组系数包括从存储器检索所述第一组系数或计算所述第一组系数中的一者。

    6.
      如权利要求4所述的方法,其特征在于,还包括计算所述视频数据的相位,其中所述确定第一组和第二组系数至少部分地基于所述视频数据的相位的计算。

    7.
      如权利要求4所述的方法,其特征在于,所述产生缩放视频数据包括将所述第一组视频数据值乘以所述一组混杂系数。

    8.
      如权利要求7所述的方法,其特征在于,所述使用所述一组混杂系数产 生的缩放视频输出具有一滤波器振荡水平,所述滤波器振荡水平小于在使用所述第一组系数的情况下将产生的缩放视频数据输出的滤波器振荡水平。

    9.
      如权利要求1所述的方法,其特征在于,所述第一组缩放值是根据缩放技术缩放的第一组视频数据值的第一组亮度值,而所述第二组缩放值是使用视频数据的线性内插缩放的第一组视频数据值的第二组亮度值。

    10.
      如权利要求9所述的方法,其特征在于,所述混合包括至少部分地基于所述混合控制信号将所述第一组亮度值与所述第二组亮度值混合以产生经缩放的亮度值。

    11.
      如权利要求1所述的方法,其特征在于,产生所述混合控制信号包括确定所述第一组视频数据值的相邻值间的最大差异与所述第一组视频数据值的相邻值间的差异总和之间的差异比。

    12.
      如权利要求11所述的方法,其特征在于,产生所述混合控制信号包括将所述相邻值倍、所述差之比倍和预定寄存器值之间的最大差相乘。

    13.
      一种用于缩放视频数据的装置,包括:
    存储器,用以存储来自视频数据流的多组视频数据值;
    缩放值确定部分,用以使用视频缩放技术来确定所述视频数据流的第一组缩放值;
    检测元件,用以确定所述视频数据流的振幅的改变速率以及基于所确定的改变速率确定混合控制信号;以及
    混合元件,用以基于线性内插将所述第一组缩放值与第二组缩放值混合以产生一组混杂值。

    14.
      如权利要求13所述的装置,其特征在于,所述视频缩放技术是基于多相滤波器的技术。

    15.
      如权利要求13所述的装置,其特征在于,所述第一缩放确定部分是系数确定部分,所述第一组缩放值是基于所述缩放技术的第一组视频数据值的第一组系数,而所述第二组缩放值是基于所述视频数据的线性内插的第一组视频数据值的第二组系数。

    16.
      如权利要求15所述的装置,其特征在于,所述混合元件进行的混合包括至少部分地基于所述混合控制信号将所述第一组系数与所述第二组系 数混合以产生一组混杂系数。

    17.
      如权利要求16所述的装置,其特征在于,还包括多个乘法器,用以将所述一组混杂系数与来自所述存储器的第一组视频数据值相乘。

    18.
      如权利要求16所述的装置,其特征在于,还包括累加器,用以累加来自所述视频数据流的相位数据,对所述第一组系数和所述第二组系数的确定至少部分地基于由所述累加器累加的相位数据。

    19.
      如权利要求16所述的装置,其特征在于,所述系数确定部分包括用于保持系数值的存储器,其中对所述第一组系数的确定包括从所述存储器获得系数值。

    20.
      如权利要求16所述的装置,其特征在于,还包括用于对通过所述多个乘法器产生的值求和并产生缩放的视频输出的元件。

    21.
      如权利要求13所述的装置,其特征在于,所述第一组缩放值是根据缩放技术缩放的第一组视频数据值的第一组亮度值,而所述第二组缩放值是使用视频数据的线性内插缩放的第一组视频数据值的第二组亮度值。

    22.
      如权利要求21所述的装置,其特征在于,所述混合元件进行的混合包括至少部分地基于所述混合控制信号将所述第一组亮度值与所述第二组亮度值混合以产生经缩放的亮度值。

    23.
      如权利要求13所述的装置,其特征在于,通过所述检测元件产生所述混合控制信号包括确定相邻视频数据值间的最大差异与所述相邻视频数据值间的差异总和之间的差异比。

    24.
      如权利要求23所述的装置,其特征在于,所述检测元件包括至少一个寄存器,用以保持预定的寄存器值,并且其中产生所述混合控制信号包括将所述相邻值之间的最大差异乘以所述差异比乘以所述预定寄存器值。

    25.
      一种其上存储有表示指令序列的数据的非瞬态计算机可读存储介质,所述指令序列当由处理器执行时,使所述处理器执行包括以下各项的操作:
    接收视频数据的流,所述视频数据包括多组视频数据值;
    将来自所述视频数据的流的第一组视频数据值存储在存储器中;
    基于多相滤波器技术确定所述第一组视频数据值的第一组缩放值;
    基于所述视频数据的线性内插确定所述第一组视频数据值的第二组缩放 值;
    检测所接收的视频数据的振幅的改变速率;
    至少部分地基于所述视频数据的改变速率产生混合控制信号;以及
    至少部分地基于所述混合控制信号混合所述第一组缩放值和所述第二组缩放值以产生一组混杂值;以及
    使用所述一组混杂值来产生缩放的视频数据输出。

    26.
      如权利要求25所述的介质,其特征在于,所述第一组缩放值是基于缩放技术的第一组视频数据值的第一组系数,而所述第二组缩放值是基于视频数据的线性内插的第一组视频数据值的第二组系数。

    27.
      如权利要求26所述的介质,其特征在于,所述混合包括至少部分地基于所述混合控制信号将所述第一组系数与所述第二组系数混合以产生一组混杂系数。

    28.
      如权利要求27所述的介质,其特征在于,确定所述第一组系数包括从存储器检索所述第一组系数或计算所述第一组系数中的一者。

    29.
      如权利要求27所述的介质,其特征在于,还包括指令,当所述指令由所述处理器执行时,使所述处理器执行下列操作,包括:
    计算所述视频数据的相位,其中对第一组和第二组系数的确定至少部分地基于所述视频数据的相位的计算。

    30.
      如权利要求27所述的介质,其特征在于,所述产生缩放视频数据包括将所述第一组视频数据值乘以所述一组混杂系数。

    说明书

    视频缩放器中的振荡抑制
    技术领域
    本发明的实施例一般涉及电子数据通信领域,更具体地涉及视频缩放器中的振荡(ringing)抑制。
    背景技术
    在电子设备中的视频图像的呈现中,经常需要修正视频数据流的比例尺度(scale)以在特定系统中显示图像。改变视频数据流的比例尺寸的电路、元件或模块在这里总称为“缩放器”。
    缩放器可利用许多种不同的技术。然而,某些缩放技术可产生“滤波器振荡”(在这里也被称为“振荡”)。振荡是由输入数据的快速改变而造成的,即输入中既具有高能量又具有高频率的改变。输入信号的这种改变对于自然图像(由相机产生的图像)是相对罕见的,并且因此当对这类视频数据缩放时振荡一般是不大突出的问题。然而,来自计算机源的图形图像经常包括可能造成振荡的快速改变特征。由于图形元素经常被混合或覆盖到视频图像上,因此由所利用的缩放技术造成的振荡对观看者而言可能是令人反感的,并因此降低了技术的性能特征。
    附图简述
    本发明的实施方式在各附图中是作为实施例而非作为限制示出的,在附图中相同的附图标记指代相同的元件。
    图1是包括自适应缩放器的多媒体装置或系统的实施例的例示;
    图2是自适应缩放器的实施例的例示;
    图3示出垂直缩放器的部分的实施例;
    图4A示出包括改变速率检测和系数混合的垂直缩放器的部分的实施例;
    图4B示出包括并行工作的缩放器的垂直缩放器的部分的实施例。
    图5示出改变速率检测模块的一部分的实施例;
    图6示出改变速率检测模块的一部分的实施例;
    图7是示出用于产生经缩放的视频数据的过程的实施例的流程图;
    图8示出缩放装置或系统的实施例中的FIR数字滤波器;
    图9示出视频缩放过程、装置或系统的实施例中的采样速率的修正;
    图10示出缩放过程、装置或系统的实施例中FIR滤波器通过抽选的采样速率的修正;
    图11示出缩放过程、装置或系统的实施例中FIR滤波器通过内插的采样速率的修正;
    图12A示出系统的一个实施例中滤波器操作通过采样比的修正;
    图12B示出滤波器操作通过采样比的修正的系统;
    图13示出在缩放过程、装置或系统的实施例中提供输入流控制的多相FIR数字滤波器;
    图14示出在缩放过程、装置或系统的实施例中提供输入和输出流控制的多相FIR数字滤波器;
    图15示出视频缩放过程、装置或系统的实施例中的相位累加器;
    图16示出对视频缩放器的实施例的输入样本序列;
    图17A示出由包括多相FIR滤波器的视频缩放器处理的输入序列;以及
    图17B示出由包括线性内插器的视频缩放器处理的输入序列。
    发明内容
    本发明的实施例一般涉及视频缩放器中的振荡抑制。
    在本发明的第一方面,方法的一个实施例包括:接收视频数据流,其中接收的视频数据包括多组视频数据值;以及将来自视频数据流的第一组视频数据值存储在存储器中。第一组缩放值是基于缩放技术对这组视频数据值确定的,而第二组缩放值是基于视频数据的线性内插对这组视频数据值确定的。该方法进一步包括:检测所接收的视频数据的振幅的改变速率;至少部分地基于视频数据的改变速率产生混合控制信号;至少部分地基于混合控制信号混合第一组缩放值和第二组缩放值以产生一组混杂系数;以及使用所述一组混杂值产生缩 放的视频数据输出。
    在本发明的第二方面,装置的实施例包括:存储器,用以存储来自视频数据流的多组视频数据值;以及缩放值确定部分,用以确定使用视频缩放技术对视频数据流缩放的第一组缩放值。该装置还包括:检测元件,用于确定视频数据流的振幅的改变速率并基于所确定的改变速率确定混合控制信号;以及混合元件,用以基于线性内插将第一组缩放值与第二组系数混合以产生一组混杂值。
    详细描述
    本发明的实施例一般涉及视频缩放器中的振荡抑制。
    在一些实施例中,一种方法、装置或系统提供视频缩放器中的振荡抑制。在一些实施例中,一种用于视频缩放的方法、装置或系统包括用缩放技术(例如利用多相滤波器的技术)的线性内插实现,以减少由视频缩放产生的振荡。
    视频缩放是用于对数字视频图像的分辨率重设定大小或作出改变的信号处理功能。经常地,需要视频缩放来转换视频格式。格式转换通常在电视机和其它数字显示器中执行,或在例如DVD播放机、蓝光播放机或广播机顶盒之类的视频源设备中执行。
    在一个例子中,DVD光盘可将运动图象存储为压缩文件。为了回放所存储的运动图象,DVD播放机从光盘读出数据并执行解压缩处理,这将得到标清视频信号。标清视频一般具有720x480(对于60Hz视频标准)或720x576(对于50Hz标准)像素每帧的分辨率。
    标清视频信号可通过执行格式转换显示在高清显示器上,并且格式转换处理一般需要视频缩放。例如,用于高清显示器的一种常见分辨率是1920x1080像素每帧。标清视频信号从720x480分辨率转换至可在高清显示器上观看的1920x1080分辨率。这种转换是通过视频缩放器执行的。
    “缩放比”指视频缩放器的输出除以输入的比。经常,方便地将其表示为“垂直缩放比”和“水平缩放比”。对于前面段落中使用的例子,将具有720x480分辨率的输入视频信号转换成1920x1080输出分辨率的缩放器使用下列比率:
    垂直缩放比=(vert.输出分辨率)/(vert.输入分辨率)=1080/480
    水平缩放比=(horiz.输出分辨率)/(horiz.输入分辨率)=1920/720
    从该例中,可以看到这些缩放比是整数比,并且水平缩放和垂直缩放可能需要不同的缩放比。此外,对于信号和对于显示器两者使用许多不同的分辨率,并且除了转换标准视频格式,视频缩放器也可用来实现需要缩放视频的用户控制,包括缩小放大(zoom)、欠扫描以及纵横比校正。为此,可能需要商业上可行的视频缩放器以提供足够的可编程性,用以在一缩放比范围上执行缩放。
    视频图像是各图像元素或像素的组成阵列。像素是视频信号的数字采样,而视频缩放是数字采样速率变换的应用。
    在一些实施例中,利用某一缩放技术的视频缩放器可包括改变速率检测模块或元件,用以检测数据中的改变速率以及用以产生混合控制信号。在一些实施例中,视频缩放器可包括系数混合器模块或元件,用以产生例如线性内插系数或亮度值之类的缩放值,并基于混合控制信号将线性内插缩放值与针对所选缩放技术产生或获得的缩放值混合以便滤波器振荡的抑制。尽管本文中关于改变速率检测和系数混合的讨论一般涉及两个模块或元件,然而实施例不仅限于这种格式,并可例如包括提供检测和混合功能的单个模块或元件,或提供检测和混合功能的两个以上的模块或元件。
    存在多种不同的技术,这些技术可用于对视频图像进行缩放或重设定大小。常见的缩放技术包括,但不限于:(1)最近邻(像素复制);(2)线性内插和双线性内插(其中“双”前缀表示二维内插)——计算给定像素(或样本点)之间的直线段上的像素;(3)立方和双立方内插——使用多项式以计算经内插的像素值。存在使用多项式的大量其它关联方法,包括Hermite内插和Catmull-Rom样条。然而,这些仅仅是采用多项式的数学方法的一些例子,并且不描述采用多项式的可能方法的穷尽性列表;以及(4)多相滤波器组——多相滤波器组是关于傅立叶分析的技术,其中装置、系统或处理用于计算一组数据样本的频率分量,并基于频率和输入-输出相位关系来计算输出样本。
    前面给出的缩放技术一般以从最简单到最复杂的顺序列出,以及以就输出 图像质量而言从最低至最高的顺序列出。就逻辑要求、计算时间、功耗和其它因素而言的实现成本一般也遵循这种顺序。
    在可能的技术之中,多相滤波器组在用于视频缩放时具有许多优势,包括高性能和灵活性。然而,在某些条件下,多相滤波器可能在输出图像中引入不想要的伪像。被称为“滤波器振荡”(或“振荡”)的这些伪像的存在是这种类型的滤波器中的常见问题。在数字信号处理的语言下,多相滤波器的振荡被称为“吉布斯现象(gibbs phenomenon)”。此外,振荡也可采用其它多项式技术,其中该结果被称为“龙格现象(Runge′s phenomenon)”。
    在一些实施例中,视频缩放器,例如基于多相滤波器组的缩放器,包括用于抑制滤波器振荡的元件。在一些实施例中,缩放器包括:
    (1)输出像素相对于输入采样栅格的相位的计算。
    (2)利用计算出的相位信息来确定一组缩放值,例如多相滤波器的系数,其中这些系数可通过例如针对多相滤波器计算这组系数或查找预先计算的系数来确定。
    (3)利用计算出的相位信息来确定一组线性内插系数,其中这些系数可例如通过计算这组系数或查找预先计算的线性内插系数来确定。
    计算一组输入样本的振幅的改变速率。
    (5)从对振幅的改变速率的计算产生改变速率(ROC)多位数字信号。
    (6)使用改变速率信号作为混合控制,用于将线性内插系数与多相滤波器系数进行混杂(blend)。
    (7)使用多相滤波器中的经混杂系数来计算输出像素。
    在一些实施例中,可利用用于将线性内插系数与缩放器技术的系数混合的过程来通过减小缩放器的输出中的振荡而改善视频缩放器,所述视频缩放器是基于多相滤波器组的。然而,实施例不限于多相滤波器组,并且在一些实施例中,该技术可进一步应用于其它高性能视频缩放器设计和多项式技术。
    计算机产生的图像具有在缩放图像中导致振荡的特征。突然的瞬变——例如在单像素空间上的全比例尺寸瞬变是计算机图形中常见的,尽管在自然图像中是罕见的。在这种背景下,“计算机源”包括计算机、产生视频信号的消费者电子设备(例如DVD播放机、AV接收机、视频机顶盒)以及其它计算设备, 其中图形图像可包括但不限于诸如菜单和图标之类的元素。图形中的这些特征可导致基于多相滤波器的缩放器振荡。另外,尽管不太常见,但存在某些情形,其中振荡对自然图像以令人反感的程度发生,例如沿“黑条”的边缘出现,其中振荡作为直线出现。
    在一些实施例中,通用缩放技术提供了振荡的减小,同时维持缩放的自然图像的质量。在一些实施例中,缩放技术的特征包括:
    (1)模块化设计,它允许向已知缩放器(例如YCbCr4:2:2缩放器或4:4:4/RGB缩放器)添加技术。
    (2)用于水平和垂直缩放器的独立操作。
    (3)使附加行存储器(line memory)变得不需要的缩放器操作,其中缩放器在操作上相对简单。
    (4)缩放器对图像特征可以是自适应的,其中缩放器还包括用以调节性能的简单软件控件。
    在一些实施例中,缩放器通过在活跃操作下基于传入图像的内容修正缩放滤波器的特征而操作。在一些实施例中,通用缩放器通过将所产生或检索(例如存储在只读存储器(ROM)中的系数)的标准滤波器系数与使用来自累加器的相位信息在内部产生的一组系数混合来执行此操作。在一些实施例中,内部产生的系数可以是线性内插器(LI)系数。
    线性内插器的优势在于,线性内插器一般不在图像产生振荡。然而,当用作缩放器时,线性内插器通常不产生与由多相滤波器产生的图像质量相同水平的图像质量。在一些实施例中,通过智能混杂两组缩放值(诸如系数),通用缩放器可利用线性内插器和多相滤波器的特征来产生振荡降低的高质量输出。
    FIR(有限输入响应)数字滤波器可被用在许多信号应用中。FIR数字滤波器是频率选择性结构,它允许一频带通过到输出同时衰减不同的频带。可针对低通、高通、带通或带阻滤波功能设计FIR数字滤波器,但是不仅限于这些基本类型。除了其它用途,低通FIR滤波器可用于视频缩放,并在这里描述低通滤波器响应。
    在实践中,FIR数字滤波器可以多种形式实现,例如软件程序或常见逻辑元件的硬件设计构造。这里给出的描述一般是从硬件实现的角度提供的。
    多相FIR滤波器的理念被用在数字信号处理的领域中,作为执行数字采样速率转换的手段。多相FIR滤波器很好地工作为用于缩放数字视频的算法。可将其利用作为高效和节约效率结构,该结构一般产生良好质量的输出图像。
    然而,多相FIR滤波器是不完美的。当多相FIR滤波器被用于视频缩放时,某些条件可能在多相FIR滤波器的输出中展现出失真。
    图1是包括自适应缩放器的多媒体装置或系统的实施例的示图。在该示图中,提供了一种简化的装置或系统,该示图不包括多媒体系统的已知元素。在一些实施例中,系统例如经由接收机165接收或产生特定视频数据150,其中需要缩放来产生缩放视频数据160,用于显示器170(它可以是或者不是装置或系统100的一部分),或供一个或元件(例如一个或多个处理器175)处理。在一些实施例中,装置或系统100包括自适应缩放器105,用以对视频数据的改变作出响应并减少滤波器振荡。
    在一些实施例中,自适应缩放器105包括:存储器107,用于存储某一数量的接收的视频数据元素;以及用于确定像素数据相对于输入采样栅格110的相位的元件。在一些实施例中,缩放器105利用计算出的相位信息来确定一组多相滤波器系数115。
    在一些实施例中,缩放器进一步确定一组线性内插滤波器系数120。在一些实施例中,缩放器105包括用以确定一组输入样本的振幅的改变速率(ROC)以及用以从所确定的振幅的改变速率产生改变速率信号的元件或模块125。在一些实施例中,缩放器包括系数混合元件或模块130,其中系数混合元件130利用改变速率信号作为混合控制,用于将线性内插滤波器系数与多相滤波器系数混杂。在一些实施例中,缩放器在多相滤波器中利用结果产生的混杂系数来计算缩放的输出像素160,以在显示器170上呈现。
    图2示出自适应缩放器的实施例。在一些实施例中,自适应缩放器200可在视频数据的缩放中利用多相滤波。在一些实施例中,可经由并行总线连接的缩放器200包括输入行缓冲器205,用于接收视频输入,连同信号Hsync、Vsync、DE和视频时钟。输入行缓冲器205可进一步接收系统时钟信号(SYSCLK)和重置信号。
    在图2中,缩放器200进一步包括滤波器系数生成,其被图示为垂直滤波 器发生器210和水平滤波器系数发生器230。如图所示,来自输入行缓冲器205的数据以及来自垂直系数发生器210的所产生的混杂系数通过垂直乘法器阵列215相乘,相乘的乘积由一元件接收以对乘积求和、限制溢出、并圆整至某一数量的位220,结果得到的垂直缩放数据由FIFO缓冲器225保持。来自FIFO缓冲器225的数据和来自水平系数发生器230的所产生的系数通过水平乘法器阵列235相乘,相乘的乘积由一元件接收以对乘积求和、限制溢出并圆整至某一数量的位240,结果得到的垂直和水平缩放的数据由第二FIFO缓冲器245保持。缩放器输出视频输出,连同信号Hsync、Vsync、DE和视频时钟。
    在一些实施例中,垂直系数发生器210和水平系数发生器230包括元件(分别为260和270),用于产生线性内插系数、确定视频数据的改变速率、并至少部分地基于视频数据的改变速率的确定将多相滤波器系数与线性内插系数混合。在一些实施例中,缩放器可利用元件260-270来减少由多相滤波器组产生的滤波器振荡。下面将更详细地描述这些元件的操作。
    在一些实施例中,混合器操作可包括下列功能:
    (1)从累加器的相位信息计算线性内插缩放值。
    (2)值混合,其中利用来自改变速率检测模块的混合控制信号来将多相缩放值与线性内插缩放值混合并产生一组混杂值。
    在一些实施例中,模块包括振荡控制寄存器(RCR)。在一些实施例中,振荡控制寄存器是软件可编程寄存器并且是混合数(例如整数或分数)的形式的。例如,寄存器可以是八位的最小值(四位用于整数而4位用于分数)。在一些实施例中,对垂直缩放器Y通道利用第一RCR,而对水平缩放器Y通道利用第二RCR。
    在一些实施例中,作为选择,可将振荡抑制施加至色度。在一个例子中,对于4:2:2缩放器,可对垂直色度缩放器提供单独的RCR。在一些实施例中,水平色度缩放器的振荡抑制在4:2:2缩放器中可以是不需要的。在另一例子中,对于4:4:4缩放器,可在垂直部分和水平部分两者上对色度施加振荡抑制。
    在一些实施例中,某些信号用于在显示器顶、底、左和右边缘处的计算中的“特殊情形”。在一个例子中,如果输入Y3是当前输入(其中Y3接近边缘), 则对于所有六个其它Y输入,可以不存在值。在一些实施例中,对于不具有值的那些输入提供值,例如在丢失数据的位置中代之以0。
    在一些实施例中,输出是混合控制信号,它可以是例如十一位二进制数,在范围0>1.0中,由此混合控制的最大值为二进制格式的1.0000000000。
    在一些实施例中,改变速率检测模块或元件的操作包括下列操作:
    (1)最大差异——在一些实施例中,最大差异可以确定如下:
    最大差异=Max[Abs[Y1-Y0],Abs[Y2-Y1],Abs[Y3-Y2],Abs[Y4-Y3],Abs[Y5-Y4],Abs[Y6-Y5]];    [1]
    其中:
    Max[]是从值列表寻找最大值的函数
    Abs[]是绝对值函数
    Y0-Y6是来自行存储器的Y值
    图5中给出通过改变速率检测模块确定最大差异的一个实施例,如下所述。
    (2)差异的总和——在一些实施例中,差异的总和可以确定如下:
    总和=Abs[Y1-Y0]+Abs[Y2-Y1]+Abs[Y3-Y2]+Abs[Y4-Y3]+Abs[Y5-Y4]+Abs[Y6-5]    [2]
    图6中给出通过改变速率检测模块确定差之和的一个实施例,如下所述。
    (3)差异比——在一些实施例中,利用最大差异和差异总和确定差异比(differenceRatio(差异比))如下:
    IF 差异总和=0
    THEN 差异比=0
    ELSE 差异比=最大差异/差异总和
    前面的IF语句确保计算不提供被零除。当Y0=Y1=Y2=Y3=Y4=Y5=Y6时,差异总和将为零。
    (4)模块的输出——在一些实施例中,从差异比、RCR和最大差异确定改变速率检测模块的输出(混合控制)如下:
    混合控制=最大差异×RCR×差异比    [3]
    在一些实施例中,如果对混合控制的计算产生比1.0更大的数,则结果被 限于1.0。由此,混合控制的二进制值不超出1.0000000000(二进制)。
    在一些实施例中,混合器模块的操作包括:接收缩放值输入,例如来自缩放器的系数ROM或来自计算出的系数的输入;并从改变速率检测模块接收混合控制信息。在一些实施例中,混合器模块进一步提供从所接收的相位信息产生线性内插系数数据,其中接收到的相位信息可以是例如累加器寄存器的某一部分。在一些实施例中,混合器模块操作以基于所接收的缩放值输入数据、所产生的线性内插缩放值数据和所接收的混合控制数据产生混杂值。
    在一些实施例中,混合器模块的输入可以是:
    (a)来自系数ROM或其它系数确定的系数值可表达如下:
    系数=C0,C1,C2,C3,C4,C5,C6
    (b)缩放器的累加器寄存器的分数部分,诸如例如累加器寄存器的低17位,这些数据提供用于确定线性内插数据的相位信息。
    (c)来自改变速率模块的混合控制信号,该混合控制信号控制系数混合。
    在一些实施例中,系数混合器模块的输出可以如下:
    混合的系数=BC0,BC1,BC2,BC3,BC4,BC5,BC6
    在一些实施例中,混合器模块或元件的操作包括下列操作:
    (1)从累加器的相位信息产生线性内插系数——该线性内插系数可被指定为Li0,Li1,Li2,Li3,Li4,Li5和Li6。在一些实施例中,某些线性内插系数将为零,例如Li0=Li1=Li5=Li6=0,并因此不需要确定这些元素,模块操作以确定剩下的系数Li2、Li3和Li4。
    在一些实施例中,线性内插器的相位(LIphase(LI相位))是相位值和偏移量值之和,例如下面表示的那样:
    LIphase=相位+偏移量    [6]
    其中:
    相位=缩放器的累加器的分数部分。在一个例子中,对于19位累加器,相位等于累加器值的低17个二进制位。
    偏移量=常数,它在该示例中等于1/62。当被转换成17位二进制分数时,1/62=0.00000100001000010。
    在该示例中,“相位”和“偏移量”两者都是17位分数。在计算中,加 运算在结果的整数部分中产生进位是可能的。换句话说,两个分数的相加可能求和至等于或大于1.0的数。如果这种情况发生,则在计算中可仍然利用该结果。
    在一些实施例中,混合方程的确定产生三个系数,其中这些系数中的一个为零。剩下的两个系数被认为是分数,它们的和为1.0。在一些实施例中,L1系数的动态范围是10位或更高。
    在一些实施例中,系数的确定如下:
    IF[LIphase<=0.5
    THEN:
    Li2=0.5-LIphase
    Li3=LIphase+0.5
    Li4=0
    ELSE:
    Li2=0
    Li3=1.5-LIphase
    Li4=LIphase-0.5
    ]
    (2)混杂系数的确定——在一些实施例中,混杂系数基于所接收的系数和混合控制来确定,如下:
    BC0=(1-混合控制)×C0
    BC1=(1-混合控制)×C1
    BC2=((1-混合控制)×C2)+(混合控制×Li2)
    BC3=((1-混合控制)×C3)+(混合控制×Li3)
    BC4=((1-混合控制)×C4)+(混合控制×Li4)
    BC5=(1-混合控制)×C5
    BC6=(1-混合控制)×C6
    图3示出垂直缩放器的部分的实施例。在一些实施例中,垂直缩放器(例如基于多相滤波器的缩放器)的亮度部分300包括数据路径360和控制环350。该图给出垂直缩放器的亮度部分。缩放器进一步包括色度部分和水平Y/C部 分,其中这些部分类似于图示的亮度部分。
    控制环350包括加法器304,其具有等于合适缩放比的倒数的步进(step)的输入302,以及反馈值。加法器304的输出和所接收的数据306的初始相位值是到多路复用器308的输入,该多路复用器308的所选择的输出是对累加器310的输入。累加器310的输出是用于加法器304的反馈值,并且是对乘法器(在本例中是31x乘法器)312的输入,该乘法器312产生系数ROM316的系数组地址314,以产生一组系数,例如一组多相滤波器系数。尽管该图示出从ROM存储获得系数,然而缩放器不限于这种形式,并可例如提供对这组系数的计算。
    在一些实施例中,数据路径360随后在七行存储器332处接收光栅扫描的Y输入330,从而为一组七个乘法器336提供七个垂直相邻的Y值334,该七个乘法器336进一步从系数ROM316接收该组系数。乘法器336生成一组七个乘积(Y×系数(n))338。这组乘积被求和(其中例如处理可进一步包括限制溢出并圆整至某个数,例如10位)340以产生缩放的Y输入342。
    在一些实施例中,缩放器300还包括提供滤波器振荡抑制。在一些实施例中,缩放器300包括线性内插数据的生成,其中线性内插数据与从系数ROM316获得的多相系数混合以产生一组混杂系数。在一些实施例中,可根据混合控制信号作出系数的混合,该混合控制信号基于Y值334的振幅的改变速率。在一些实施例中,这组混杂系数被提供给乘法器336以用于生成经缩放的输出342。
    图4A示出包括改变速率检测和系数混合的垂直缩放器的一部分的实施例。在一些实施例中,垂直缩放器的亮度部分400包括数据路径460和控制环450。在一些实施例中,除了参照图3所示的元件外,为了提供振荡抑制,控制环350还包括改变速率检测模块或元件420,用以检测来自数据存储器332的数据的改变速率并产生混合控制信号422。在一些实施例中,改变速率模块420分析行存储器332的传入亮度输出。在一些实施例中,改变速率模块420操作以检测将导致滤波器振荡的瞬变,改变速率模块至少部分地基于改变速率检测来产生混合控制信号(混合控制)422。在一些实施例中,混合控制信号的产生包括对改变速率分析的修正,这种修正基于包含在软件控制寄存器(未示出)中的数据。
    在一些实施例中,控制环450进一步包括系数混合器模块或元件424,用以产生线性内插系数并将线性内插系数与所接收的多相滤波器系数混合。在一些实施例中,系数混合器424接收来自改变速率检测模块420的混合控制信号422、来自系数ROM316的滤波器系数数据,并来自累加器310的当前相位信息426以产生线性内插系数。系数混合器424混合滤波器系数以产生混杂的滤波器特征。在一些实施例中,系数混合器424可操作以抑制振荡,同时维持总体性能。在一些实施例中,系数混合器模块或元件424包括用于计算系数元素的一个或多个振荡控制寄存器。
    图4B示出包括并行操作的缩放器的垂直缩放器的部分的实施例。在一些实施例中,垂直缩放器包括并行运行的两个缩放器。在这种操作中,第一缩放器是使用来自累加器的相位信息以使用线性内插来缩放的线性内插器,而第二缩放器是多相滤波器。在一些实施例中,垂直缩放器的逻辑产生混合控制,但是并非是用于混合系数(例如图4A中给出的),该混合控制被用于数据的混合。
    在一些实施例中,垂直缩放器的亮度部分470同样包括数据路径460和控制环450。在一些实施例中,除了图3中给出的元件,亮度部分470不是包括系数混合器(例如图4A中的元件424),而是包括数据混合器490,用以混合使用多相滤波器476缩放的亮度与使用线性内插缩放的亮度,以产生使用自适应缩放的经缩放的亮度492。
    在一些实施例中,亮度部分470包括使用线性内插提供缩放的元件或模块472,该元件或模块472接收来自行存储器332的数据输入以及当前相位426以产生使用线性内插缩放的亮度478。
    在一些实施例中,乘法器336与用于提供求和、限制溢出并圆整至某一数量的位的元件或模块474耦合,从而产生使用多相滤波器476缩放的亮度。
    在一些实施例中,改变速率检测模块480分析行存储器332的传入亮度输出,以至少部分地基于改变速率检测而产生混合控制信号482,混合控制信号被提交给数据混合器以确定使用多相滤波器缩放的亮度476和使用线性内插缩放的亮度478的混合,从而产生使用自适应缩放的经缩放的亮度492。
    尽管图3、图4A和图4B示出包含某些元件或模块的垂直缩放器的具体实现,然而缩放器的实施例不限于任何具体数量的这些元件或模块。例如,图 3、图4A和图4B示出的元件的具体数量,例如七个乘法器和三十一个系数组,是基于例如性能和成本需求之类的特殊因素平衡而选择的。如果这些因素是以不同方式平衡的,则其它实施例可使用不同数量的这类元件或模块,以例如提供更高的性能或降低成本。
    图5示出改变速率检测模块的一部分的实施例。在一些实施例中,视频缩放器的模块中的改变速率检测模块500包括提供对相邻输入值之间的最大差异的确定的部分。在一些实施例中,检测模块500接收多个输入510,在这里图示为七个Y输入,它们被表示为Y0-Y6。Y0-Y6是表示七个垂直相邻Y值(对垂直缩放器)或七个水平相邻Y值(对水平缩放器)的值。尽管该图示利用七个值,然而实施例不仅限于任何具体数量的值。
    在一些实施例中,检测模块500确定相邻Y值520之间的差异的绝对值,例如Abs[Y1-Y0]、Abs[Y2-Y1]以及继续至Abs[Y6-Y5]。在一些实施例中,确定的差异值被提供给最大值函数530,其中最大值函数530确定这些差异值中的哪个是最大的值,并输出最大差异值540。
    图6示出改变速率检测模块的一部分的实施例。在一些实施例中,视频缩放器模块中的改变速率检测模块600包括提供对差异总和的确定的部分。在一些实施例中,检测模块600接收多个输入610,在这里图示为七个Y输入,它们被标示为Y0-Y6。在一些实施例中,检测模块600确定相邻Y值620之间的差异的绝对值,例如Abs[Y1-Y0]、Abs[Y2-Y1]以及继续至Abs[Y6-Y5]。在一些实施例中,所确定的差异值被提供给求和函数630,其中求和函数630确定差异值的总和,并输出差异总和值640。
    图7是示出用于产生缩放的视频数据的过程的实施例的流程图。在一些实施例中,接收视频数据700并将视频数据存储在存储器内702。此外,在一些实施例中,接收相位信息720并累加相位信息722。
    在一些实施例中,检测从存储器获得的视频数据的改变速率710,并基于此改变速率确定混合控制信号712。在一些实施例中,获得例如多相系数数据之类的视频缩放系数数据724,并另外基于累加的相位信息确定线性内插系数数据726。
    在一些实施例中,确定混杂系数728,其中混杂系数至少部分地基于多相 系数数据、线性内插系数数据和混合控制信号。
    在一些实施例中,将视频数据和混杂系数相乘740。可处理结果所得的乘积742,包括对乘积求和、限制结果的溢出以及对结果圆整,并输出结果所得的缩放视频数据744。
    图8示出缩放装置或系统的实施例中的FIR数字滤波器。在该图示中,FIR数字滤波器具有N=5,其中N是滤波器的阶(order)。在该图示中,为简单起见示出阶5的滤波器。在实践中,FIR滤波器经常具有远大于N的值。N所需的值依赖于滤波器的选择性需求以及应用的性能需求。N可以是偶数或奇数,其中可使用任一值来形成低通滤波器响应。在该例中和这里的讨论中,N是奇数。
    如图示那样,FIR数字滤波器包括一系列N个连接的多位存储寄存器815,其中在该特例中N=5。如图所示,一系列寄存器815接收数据输入805和时钟信号810,其中由前四个寄存器中的每一个保持的数据在每个时钟周期中被移位到后一寄存器。从每个寄存器815输出的数据被提供给一组N个乘法器825,该乘法器825将数据(图示为D0-D4)乘以一组N个系数820(图示为C0-C4)。由乘法器825产生的乘积随后被提供给求和逻辑830以产生经滤波的输出。
    将对于每个时钟周期计算来自滤波器800的新输出。滤波器的每个输出F(out)(F(输出))由此被计算为:
    F(out)=C0×D0+C1×D1+C2×D2+C3×D3+C4×D4,
    其中:
    F(out)是滤波器的输出值,
    C0,C1,C2,C3,C4=滤波器系数,它们是固定值
    D0,D1,D2,D3,D4=5倍传入数字信号的相邻样本。
    FIR滤波器的基本元件是一组存储元件或寄存器、乘法器、系数、以及求和逻辑,例如图8中给出的。存储元件可以例如是具有公共时钟并且其数据端口串行连接的寄存器。输入样本被送入到这一系列的寄存器以使时间相邻的一组样本被存储在寄存器中,并且这组数据采样在每个时钟周期移位(在图8所示的示图中从左向右),由此左侧寄存器中的数据在时间上是最晚的,而右侧 寄存器中的数据是最早的。
    对于N阶低通滤波器(N在该例中是奇数),系数满足下列等式:

    对于n≠0
    以及
    系数(0)=2fc
    对于n=0
    其中
    fc=低通滤波器的归一化截止频率
    n=组N中的一个,范围是-(N-1)/2<=n<=+(N-1)/2

    wf=窗函数,例如汉明窗
    如所述那样,数字FIR滤波器产生输入和输出样本的1∶1比。
    当需要产生不同的输入-输出样本比时(这也被称为采样速率转换),可利用多相FIR滤波器,例如图13所示的滤波器1300和图14所示的滤波器1400。这两种基本类型的采样速率转换是内插和抽选(decimation)。内插是一种类型的采样速率转换,其中输出速率高于输入速率,并且抽选是一种类型的采样速率转换,其中输出速率低于输入速率。关于视频缩放,更常见地使用内插来增加视频图像的分辨率,而抽选是用来降低视频图像的分辨率。
    图9示出视频缩放过程、装置或系统的一个实施例中的采样速率的修正。在缩放操作中,采样速率存在改变。视频缩放器操作以改变采样速率,并通常这种改变是被描述为输出样本与输入样本之比的缩放比(SR):
    SR=输出样本数/输入样本数
    SR在这里被假设为一维的,其中可存在水平SR和垂直SR,但为解说目的,缩放比为SR。项L/M通常被用来描述缩放比:
    L/M=SR
    其中L和M是整数
    换种说话,L/M是指定缩放比SR的整数比。在图9中,这由输入图示, 该输入在通过一系列操作修正的频率fs下被采样。在一些实施例中,第一操作可以是在采样速率上乘以L的值的增加910,由此导致L×fs的采样速率,并且第二操作可以是在采样速率上乘以1/M的降低920,由此导致在速率fs×L/M下采样的输出。
    可使用FIR滤波器来将采样速率增大到整数倍L。FIR滤波器可进一步用来将采样速率降低到1/M,其中M是整数。下面描述乘以L或1/M作出采样速率转换的处理。由此,通过整数比L/M改变采样速率可通过将两个FIR滤波器操作连在一起来执行。
    在一些实施例中,可利用低通FIR滤波器以通过整数1/M进行抽选和通过整数L内插。在图10和图11所示的示图中,两个操作——将采样速率增大到整数倍L和将采样速率降低到1/M(其中M是整数)——是单独示出的。
    图10示出缩放过程、装置或系统的实施例中FIR滤波器通过抽选的采样速率的修正。抽选降低一组数字样本的采样速率。通过1/M(其中M是整数)的抽选可使用低通FIR滤波器来达成。在这种操作中,可利用低通滤波器来减小样本流的带宽,以避免在输出的较低采样速率下的混淆。这在一个例子中可通过使用低通FIR滤波器来达成,该低通FIR滤波器使用fc=0.5/M的归一化截止频率来设计。然而,实施例不限于截止频率的任何具体选择。
    在该图示中,滤波器操作1000可通过一系列操作来表达以降低采样频率,这可包括在视频缩放操作中。在图10中,输入数据是使用采样频率fs采样的。对于FIR滤波器1010,fc=1/M。在采样操作1020中,选择每M个采样1个,由此导致在fs/M下采样的输出。
    图11示出缩放过程、装置或系统的实施例中FIR滤波器通过内插的采样速率的修正。通过整数L内插可使用FIR滤波器来实现。在该图示中,滤波器操作1100可由在fs下采样的输入通过在每个输入样本之间插入L-1个零1110进行修正来表达,由此导致L×fs的频率。修正的输入被提供给N阶FIR滤波器1120,其截止频率fc=1/L,其中N是L的整数倍。结果所得的数据通过振幅增益操作1130被修正,其中增益平均值为L,以存储原始信号振幅,由此导致在L×fs下采样的输出。
    操作也可被表达为滤波器操作,其中FIR滤波器1120和振幅增益操作被 组合。在滤波器操作1100的该图示中,输入可再次在fs下被采样并通过在每个输入采样1140之间插入L-1个零来修正,由此导致L×fs的频率。修正的输入被提供给N阶FIR滤波器1150,其具有fc=1/L的截止频率和L的振幅增益操作,由此导致在L倍Fs下采样的输出。
    在一个例子中,可假设需要将采样速率增大到5倍,并因此L=5。为了设计FIR滤波器,需要对滤波器的阶数N及其截止频率fc作规定。滤波器的阶数依赖于应用以及成本相对于性能的权衡。另外,对于将采样速率增大到整数L倍的特定应用,可将N选择为L的整数倍。例如,其中L=5,而滤波器的阶数给定为25:
    N=25
    其中L=5并且N=L的整数倍。
    在该例子中,25是奇数。在一些实施例中,或者偶数或者奇数可在过程、装置或系统中用作滤波器的阶数,如由设计者选择的。如果N是奇数连偶数(odd verses even),则计算滤波器系数的过程略微不同,但本领域内技术人员将理解,相同的原理可用在奇数和偶数阶滤波器中。在这里给出的例子中,N是奇数。
    通过规定的滤波器阶数N和截止频率fc,低通FIR滤波器的25个系数可使用之前描述的方程来计算。这些系数可被指定为C0,C1,C2...C24,并且移位到滤波器中的数据可被指定为D0、D1、D2、D4......。
    为了执行L的倍数的内插,将L-1个零插入到每个数据样本之间,由此移位到滤波器寄存器中的前25个数据值如下:
    D4,0,0,0,0,D3,0,0,0,0,D2,0,0,0,0,D1,0,0,0,0,D0,0,0,0,0
    在FIR如前所述在其寄存器中具有数据的时间点,滤波器计算第一滤波的输出FO(0):
    FO(0)=C24×D4+C23×0+C22×0+C21×0+C20×0+C19×D3+C18×0+C17×0+C16×0+C15×0+C14×D2+C13×0+C12×0+C11×0+C10×0+C9×D1+C8×0+C7×0+C6×0+C5×0+C4×D0+C3×0+C2×0+C1×0+C0×0
    接着,数据移位(在本说明书中向右),由此滤波器寄存器中的数据包含下 列各项:
    0,D4,0,0,0,0,D3,0,0,0,0,D2,0,0,0,0,D1,0,0,0,0,D0,0,0,0
    下一个经滤波的输出如下:
    FO(1)=C24×0+C23×D4+C22×0+C21×0+C20×0+C19×0+C18×D3+C17×0+C16×0+C15×0+C14×0+C13×D2+C12×0+C11×0+C10×0+C9×0+C8×D1+C7×0+C6×0+C5×0+C4×0+C3×D0+C2×0+C1×0+C0×0
    在接下来的时钟周期上,数据向右移位并且方程如下:
    FO(2)=C24×0+C23×0+C22×D4+C21×0+C20×0+C19×0+C18×0+C17×D3+C16×0+C15×0+C14×0+C13×0+C12×D2+C11×0+C10×0+C9×0+C8×0+C7×D1+C6×0+C5×0+C4×0+C3×0+C2×D0+C1×0+C0×0
    FO(3)=C24×0+C23×0+C22×0+C21×D4+C20×0+C19×0+C18×0+C17×0+C16×D3+C15×0+C14×0+C13×0+C12×0+C11×D2+C10×0+C9×0+C8×0+C7×0+C6×D1+C5×0+C4×0+C3×0+C2×0+C1×D0+C0×0
    FO(4)=C24×0+C23×0+C22×0+C21×0+C20×D4+C19×0+C18×0+C17×0+C16×0+C15×D3+C14×0+C13×0+C12×0+C11×0+C10×D2+C9×0+C8×0+C7×0+C6×0+C5×D1+C4×0+C3×0+C2×0+C1×0+C0×D0
    在处理中的这个点,已计算出五个输出,并在下一时钟,新数据样本D5移入而D0移出滤波器。寄存器中的数据如下:
    D5,0,0,0,0,D4,0,0,0,0,D3,0,0,0,0,D2,0,0,0,0,D1,0,0,0,0
    用于计算FO(5)的方程则为:
    FO(5)=C24×D5+C23×0+C22×0+C21×0+C20×0+C19×D4+C18×0+C17×0+C16×0+C15×0+C14×D3+C13×0+C12×0+C11×0+C10×0+C9×D2+C8×0+C7×0+C6×0+C5×0+C4×D1+C3×0+C2×0+C1×0+C0×0
    基于该例,通过注意到在关于FO(0)……FO(5)的所有方程中,25个乘积 中的20个乘积对于该数据具有零项并且这些乘法的结果由此为零,可以看到可达成计算中增加的效率。因此,可通过去除含零的乘积项而简化前面的方程,如下面对于前6个FO输出示出的:
    FO(0)=C24×D4+C19×D3+C14×D2+C9×D1+C4×D0
    FO(1)=C23×D4+C18×D3+C13×D2+C8×D1+C3×D0
    FO(2)=C22×D4+C17×D3+C12×D2+C7×D1+C2×D0
    FO(3)=C21×D4+C16×D3+C11×D2+C6×D1+C1×D0
    FO(4)=C20×D4+C15×D3+C10×D2+C5×D1+C0×D0
    对于FO(5),新数据样本D5从左面移入,而D0移出滤波器并且不再被使用,如下所示:
    FO(5)=C24×D5+C19×D4+C14×D3+C9×D2+C4×D1
    进一步可以观察到,在前五个方程中,数据项是相同的(D4……D0),只有系数改变,并且这些改变遵循清楚的模式。由于对所有零项的求和,计算出的经滤波输出将具有相对于输入信号电平显著减小的信号振幅。FIR滤波器的增益是所有其系数的总和。典型地,系数总和为1,并且增益为1。由此,需要振幅增益来将信号恢复至其原始振幅电平。在该特例下,由于具有零的积项相对于具有输入数据的乘积项的4∶1的比,需要5的乘数。一般来说,所需的增益可通过将每个系数乘以L来提供。
    典型地可预先计算FIR滤波器系数一次并将其存储在硬件滤波器实现的存储器或寄存器中,由此当计算滤波器的系数时可执行每个系数与L的相乘。因此,在一些实施例中,系统中滤波器的最后一组25个系数可如下:
    L×C0,L×C1,L×C2...L×C24
    如前面陈述的,可设计用于内插的FIR滤波器以使滤波器的阶数(N)是内插整数L的倍数。在该例中,L=5并且N=25,其中25是5的整数倍。利用为内插整数的整数倍的阶数的原因是为了维持FIR滤波器的数据寄存器中的零与实际数据样本的1与(L-1)的比。在该例中,L=5并且(L-1)=4,零被插入到每个数据样本D(n)之间。随着数据移位通过FIR滤波器的寄存器,如果滤波器的阶数是L的倍数,则实际数据样本与零的比得以维持。
    图12A示出系统的一个实施例中滤波器操作通过采样比的修正。在该图 示中,滤波器操作1200可由在fs下采样的输入通过在每个输入样本之间插入L-1个零1210进行修正来表达,由此导致L倍fs的频率。修正的输入至第一FIR滤波器,该滤波器是N阶FIR滤波器1220,其具有截止频率fc=1/L和L的振幅增益操作,由此导致在L倍fs下采样的输出。
    FIR滤波器1220的输出被提供给第二FIR滤波器1230,该第二FIR滤波器1230具有fc=1/M的截止频率。在采样操作1240中,选择每个M采样1个,从而将采样速率减小到1/M,由此导致在L×fs/M或fs×采样比L/M下采样的输出。
    图12B示出滤波器操作通过采样比的修正的系统。在该图示中,组合系统提供滤波器操作1200的操作。系统1250包括N阶多相FIR滤波器,其截止频率fc=1/L或fc=1/M。在该系统中,N是L的整数倍,并且系统1250提供L的平均增益以补偿信号缩减。
    图12A和图12B示出通过缩放比L/M对数据内插或抽选。通过整数L的内插和通过1/M的抽选的操作已在前面参照图10和图11进行了说明,其中M是整数。图12A给出这两种操作结合的图示,从而提供了串联连接的两个FIR滤波器。
    在过程、装置或系统的一些实施例中,FIR滤波器的串联连接提供了额外效率的机会。如果两个滤波器均具有低通响应,则实际上仅需要具有最低截止频率的滤波器,因为其它FIR滤波器的操作是多余的。在一些实施例中,最低截止频率将依赖于采样速率变换是内插还是抽选。如果采样速率变换提供内插,则归一化截止频率fc将为1/L。如果采样速率变换提供抽选,则下截止频率将为1/M。
    如前面描述的,如果滤波器的阶数为L的倍数,则不需要L-1个零的插入。该因素可被用来使用多相FIR组织来提供附加简化。
    关于使用多相FIR滤波器提供采样速率转换器,在下表1中给出FO输出的方程。这些方程提供了扩大的一系列计算,并且最右列给出系数组(CS)。在该例中,值L=5并且值M=3,并因此在该例中缩放比为L/M=5/3。
    ++ FO(0)=C24×D4+C19×D3+C14×D2+C9×D1+C4×D0  CS0
    FO(1)=C23×D4+C18×D3+C13×D2+C8×D1+C3×D0  CS1
    FO(2)=C22×D4+C17×D3+C12×D2+C7×D1+C2×D0  CS2
    ++ FO(3)=C21×D4+C16×D3+C11×D2+C6×D1+C1×D0  CS3
    FO(4)=C20×D4+C15×D3+C10×D2+C5×D1+C0×D0  CS4
    FO(5)=C24×D5+C19×D4+C14×D3+C9×D2+C4×D1  CS0
    ++ FO(6)=C23×D5+C18×D4+C13×D3+C8×D2+C3×D1  CS1
    FO(7)=C22×D5+C17×D4+C12×D3+C7×D2+C2×D1  CS2
    FO(8)=C21×D5+C16×D4+C11×D3+C6×D2+C1×D1  CS3
    ++ FO(9)=C20×D5+C15×D4+C10×D3+C5×D2+C0×D1  CS4
    FO(10)=C24×D6+C19×D5+C14×D4+C9×D3+C4×D2  CS0
    FO(11)=C23×D6+C18×D5+C13×D4+C8×D3+C3×D2  CS1
    ++ FO(12)=C22×D6+C17×D5+C12×D4+C7×D3+C2×D2  CS2
    表1
    在表1中,第一方程、第四方程和每个随后的第三方程(表示为“++”并以加粗形式示出)代表内插样本的1/M(或在本例中为1/3),其中内插整数L=5。在一些实施例中,剩下的方程(以非加粗形式表示)不需要被计算,滤波器只需要计算每个第三方程。在加粗的方程中,这些系数不用于0、1、2、3、4序列,而是用于0、3、1、4、2序列。在一些实现方式中,对于两个顺序输出,数据可以是相同的,而在一些情况下,仅从输入数据组计算一个输出。
    图13示出在缩放过程、装置或系统的实施例中提供输入流控制的多相FIR数字滤波器。在该图示中,除了寄存器815、乘法器825、求和逻辑830外,多相FIR数字滤波器1300还可包括用以存储系数值的系数存储存储器1345和控制逻辑块1340,该控制逻辑1340提供输入流控制。如图13所示,控制逻辑1340向系数存储存储器1345提供系数组地址,其中系数组地址可用来选择多个不同系数组中的一个。在该图示中,选择组n,由此乘法器830将值D0-D4与系数Cn0......Cn4相乘。
    在一个例子中,N阶FIR滤波器,例如用于内插的N=25FIR滤波器,可被实现为如图13给出的那样。在该例中,滤波器1300是N=25的多相FIR滤 波器。系数被组织在五个组中,每组五个系数,并被存储在存储器中。该存储器的地址是通过控制逻辑块1340提供的。由控制逻辑1340产生的输入流控制被用来控制流入数据率,由于流入数据率比流出数据率低,因此这种控制是需要的。
    图14示出缩放过程、装置或系统的实施例中的多相FIR滤波器。滤波器1400类似于图13中的滤波器1300,其具有控制逻辑块1440,该控制逻辑块1440具有附加输出信号,该输出信号是输出流控制。在一些实施例中,使用输出流控制来控制多相FIR滤波器的输出——除了控制输入流速率之外,如参照图13的控制逻辑1340描述的那样。在一些实施例中,控制逻辑1440以先前页中的方程表(加粗表示的方程)中示出的非连续顺序循环通过系数组。
    控制逻辑产生流控制信号和系数存储器查找地址。如果缩放比大于1,则多相滤波器的输出率将高于输入速率。在这种情形下,控制逻辑确定何时将新的样本移入到寄存器中。如果缩放比小于1,则滤波器的输出速率将低于输入速率。在这种情形下,控制逻辑产生一信号,该信号被用来在滤波器未产生有效输出的时钟周期期间使滤波器的输出不合格。在一些实施例中,缩放系统的控制逻辑也产生用于查找一组系数的地址。
    图15示出视频缩放过程、装置或系统的实施例中的相位累加器。在一些实施例中,多相滤波器的控制函数,例如图13的控制逻辑1340和图14的控制逻辑1440的控制函数,可使用相位累加器1500来产生。相位累加器(或PA)1500包括多比特时钟控制寄存器1520。寄存器1520的输出被提供给加法器1510作为第一输入。加法器1510的第二输入是控制字。加法器的输出被反馈到寄存器1510的输入,其中该输入在下一时钟周期被锁存在寄存器1520中。
    如图15所示,控制字(CW)是缩放比的倒数,并因此CW=1/SR。控制字通常可以是多比特有理二进制数。被存储在时钟控制寄存器1520中的二进制数将具有整数部分和分数部分。所存储的二进制数的整数部分由控制信号逻辑1530接收,且该整数部分被解码并用于流控制,控制信号逻辑的输出是移位输入和被取消资格的输出。所存储的二进制数的分数部分被用来通过将该分数部分乘以(图示通过乘法器1540)缩放比的分子L来产生系数地址。
    在一些实施例中,在视频缩放操作开始时,时钟控制寄存器1520通过开 始值被初始化。对于垂直缩放,寄存器在视频帧开始时被初始化,并对于每个新的输出行被更新。对于水平缩放,寄存器在新的输出水平行的开始处被初始化,并其对于每个输出样本被更新。
    在一些实施例中,寄存器1520的分数部分中的二进制值跟踪(或累加)输入和输出采样栅格之间的相位差。该相位值可随后通过将该分数部分乘以L而被转化成系数存储器地址。
    在操作中,时钟控制寄存器的每个更新可导致对寄存器的整数部分的进位。这种进位的数值指示如何将新的数据移位到视频缩放器的数据寄存器中(移位输入)。进位的数值部分也指示何时缩放器的乘法器的输出应当被取消资格(将输出取消资格)。该值如下地运算:
    (0)如果到整数部分的进位为0,则没有新数据需要被移入数据寄存器,并可从当前在寄存器中的数据计算出另一输出。这仅发生在SR>1(CW<1)的情形下。
    (1)然而,如果整数部分中的进位为1,则进位值指示“将1个新数据组移位到寄存器中”。
    (2)此外,如果整数部分中的进位为2,则此进位值指示“将2个新数据组移位到寄存器中,并将乘法器的当前输出取消资格”。2或更大的值仅在SR<1(CW>1)的情形下发生。
    例如,假设SR=L/M=5/3。CW为3/5=0.6,并且寄存器用零初始化。

    累加器寄存器值分数×5(L=5)=系数值移入新数据?注释0.00无移位初始化0.63无移位整数无改变1.21移位1个新数据整数改变=11.84无移位整数无变化2.42移位1个新数据整数改变=13.00移位1个新数据整数改变=13.63无移位整数无变化

    表2
    表2中的系数值列指示系数地址循环通过与前面例子同一顺序的地址,其中系数组以加粗形式编号:
    系数组0
    系数组3
    系数组1
    系数组4
    系数组2
    在视频缩放过程、装置或系统的一些实施例中,设计将正确的系数子集映射到系数存储器中的具体地址。系数组选择的顺序将由PA的分数部分和系数乘数L确定。
    流控制可在前面的例子中看到,其中整数部分的改变决定是否将新数据移入寄存器。如果缩放比SR小于1,例如0.5<=SR<1,则整数部分的改变将一直是1或2。“1”指示需要移入新数据,而“2”指示应当将2个新数据移入并且乘法器的当前输出应当被取消资格(没有有效的输出样本)。
    多相滤波器在多数情形下很好地工作以缩放视频,但不是完美的。FIR滤波器(包括多相FIR滤波器)根据需要具有有限阶次(N),并且这些结构的有限性质是导致失真。由FIR滤波器的有限性质造成的失真是公知的并且被称为吉布斯现象。
    当滤波器的寄存器中存储的输入数据在很少数量的输入样本上包括大的瞬变时,吉布斯现象在FIR滤波器的输出中产生过冲(overshoot)和下冲(undershoot)。随着瞬变振幅变得更大并且瞬变时间变得更小,失真变得更为明显。
    在基于多相FIR滤波器的视频缩放器中,当视频内容是通过拍摄自然场景的相机产生时,导致失真的瞬变是罕见的。然而,计算机产生的图形元素经常包括各种造成失真的特征。在此上下文中,“计算机图形元素”可包括通过计算机产生的文本和图形图像,并且它也可包括由消费者电子设备产生的图形元素,所述消费者电子设备例如为蓝光播放机和DVD播放机以及机顶盒。图形元素可通过覆盖在视频上的菜单和文本产生。
    图16示出对视频缩放器的实施例的输入样本序列。这些样本的振幅已被 归一化至范围0>1,并且样本范围从0.1至0.9。然而,这些样本具有极为突然的瞬变,其中它们的值从0.1至0.9地变化。这是典型地出现在计算机图形中但很少出现在自然图像中的瞬变类型的一个例子,并且这种类型的瞬变当在多相FIR滤波器中缩放时产生问题。
    图17A示出由包括多相FIR滤波器的视频缩放器处理的输入序列。在该图示中,图17A中给出的输入序列使用多相FIR滤波器和SR=9/4缩放。在该图示中,20个输入样本被缩放成9/4=45个输出样本,这示出于图17A中。过冲和振荡在输出样本中在瞬变的任一侧上可见。这些伪像将是缩放的视频图像中可见的。
    图17B示出由包括线性内插器的视频缩放器处理的输入序列。相比图17A,图17B所示的输出样本是使用图16所示相同的20个样本按相同比来缩放的,除了这些样本是使用线性内插器而不是多相FIR滤波器缩放的以外。在图17A中的多相滤波器的输出中可见的过冲和振荡在线性内插器缩放输出中是不明显的。
    然而,尽管线性内插器的输出在计算机产生的图像中常见的这种不连续的例子中提供优于多相FIR滤波器的改进,但线性内插器对缩放自然图像(例如由相机产生的那些)表现得相对糟糕。对于自然图像,多相FIR奇数产生较高质量输出图像。
    线性内插器提供一种用于缩放图像的简单方法,如果输入和输出采样之间的相位关系是已知的话。在图17B所示的例子中,输出是两个输出样本的简单平均值。
    在一个例子中,可作出假设相位信息(P)是0和1之间的值,其中0指示输出相位与输入A匹配而1指示输出样本与输入样本B匹配。使得0<P<1的P值指示A和B之间的相移,其中线性内插器的输出如下:
    LI(输出)=(A×(1-P))+(B×P)
    在一些实施例中,例如图15所示寄存器1520的相位累加器寄存器的分数部分包含可直接用于计算线性内插器缩放的输出的相位信息。自适应缩放算法使用相位累加器的输出以抑制多相FIR视频缩放器中的过冲和振荡。在视频缩放器的一些实施例中,自适应缩放算法将多相FIR滤波器系数与来自相位累加 器的相位信息混杂。在一些实施例中,通过测量多相滤波器数据寄存器中保持的一组数据样本中的改变速率(ROC)信息来控制混杂。这种改变速率信息成为将2个系数组组合到单个系数组中的混杂控制。
    在上面的描述中,出于说明目的阐述了众多具体细节以便提供对本发明的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实施本发明。在其它实例中,以框图形式示出了众所周知的结构和设备。在所示部件之间可能存在中间结构。本文中所描述或示出的部件可能具有未示出或描述的附加输入或输出。所示出的部件或组件也可以不同排列或顺序来配置,包括重新确定任何字段的顺序或字段大小的修正。
    本发明可包括多个过程。本发明的过程可由硬件部件执行,或可具体化为计算机可读指令,这些指令可用于使通过这些指令编程的通用或专用处理器或逻辑电路执行这些过程。或者,这些过程可通过硬件和软件的组合来执行。
    本发明的多个部分可设置为计算机程序产品,其可包括其上存储了计算机程序指令的计算机可读非临时存储介质,这些计算机程序指令可用于对计算机(或其它电子设备)编程以执行根据本发明的过程。计算机可读存储介质可包括但不限于软盘、光盘、CD-ROM(光盘只读存储器)、磁-光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪存或适合于存储电子指令的其它类型的介质/计算机可读介质。而且,本发明还可被下载为计算机程序产品,其中该程序可从远程计算机传输至请求计算机。
    许多这些方法以它们最基本的形式进行描述,但可对这些方法中的任一种中添加或删除过程,且可对所描述的任一信息添加或减少信息,而不背离本发明的基本范围。对本领域技术人员显而易见的是,可进行许多进一步的修改和改变。所提供的特定实施例不是为了限制本发明而是为了说明本发明。
    当描述部件“A”耦合至部件“B”或与其耦合时,部件“A”可直接耦合至部件B,或通过例如部件C间接耦合。当说明书陈述部件、特征、结构、过程或特性A“引起”部件、特征、结构、过程或特征B时,它意味着“A”是“B”的至少部分起因,但还可能存在辅助引起“B”的至少一个其它部件、特征、结构、过程或特征。如果说明书指示部件、特征、结构、过程或特性“可 能”、“也许”或“可”被包括,则该部件、特征、结构、过程或特性不需要被包括。如果说明书引用“一”或“一个”部件,这不意味着仅有一个所描述的部件。”
    实施例是本发明的实现或示例。说明书中对“实施例”、“一个实施例”、“某些实施例”或“其它实施例”的引用表示结合实施例所描述的特定特征、结构或特性包括在至少某些实施例中,但不一定包括在所有实施例中。“实施例”、“一个实施例”或“某些实施例”的多次出现不一定都指示同样的实施例。应当理解的是,本发明的示例实施例的上述描述、本发明的多个特征有时在单个实施例、附图及其描述中被组合到一起,以将公开内容连成整体,并帮助理解多个发明方面中的一个或多个方面。

    关 键  词:
    视频 缩放 中的 振荡 抑制
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:视频缩放器中的振荡抑制.pdf
    链接地址:https://www.zhuanlichaxun.net/p-510057.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1