减小了存储器和带宽的运动自适应视频去隔行的制作方法

文档序号:7679652阅读:211来源:国知局
专利名称:减小了存储器和带宽的运动自适应视频去隔行的制作方法
技术领域
本发明一般涉及视频去隔行,更具体地涉及减小了的存储器和 带宽的运动自适应视频去隔行技术。
背景技术
隔行扫描格式被开发来减小早期视频系统的带宽并被广泛采 用,并沿用到现在。去隔行是用于将隔行视频场转换为光栅帧格式 的 一组方法。这些去隔行方法普遍用在支持逐行扫描方法的现代显 示器中。传统的去隔行方法引入了伪像,诸如线闪烁和运动图像的 锯齿。相比于现代的高清和逐行扫描显示器,在传统的才莫拟阴极射 线管(CRT)显示器中较少注意到伪像。然而,作为从CRT转换到 液晶显示器(LCD)、等离子和其他高清、高对比度技术的主流显示 器技术,去隔行所引入的伪像变得更加引人注意并对消费者造成困 扰。
传统的去隔行方法包括"场合并(weave)"处理和"单场插值 (bob)"处理。场合并去隔行通过从相反奇偶性场中拷贝丢失的线
6来乂人当前场生成帧。不幸的是,场合并方法在画面内的移动区i或中 引起显著的伪像。单场插值方法执行当前场线的垂直内插以填充所 得帧的丟失的线。然而,单场插值方法引起了闪烁的线并使画面模糊。

发明内容
本发明涉及一种用于去隔行的方法。该方法一般包括以下步骤 (A )通过以多种模式的第 一 模式对当前场进行去隔行而生成帧; (B)通过以那些才莫式中的第二才莫式利用当前场和相反奇偶性场两 者来进行去隔行而生成该帧;以及(C)通过那些模式中的第三模 式利用全部的当前场、相反奇偶性场和其他场来进行去隔行而生成 该帧,其中,该方法使用那些模式中的至少两种模式。
本发明的目的、特征和优点包括提供一种减小了存储器和带宽 的运动自适应视频去隔行技术,该技术可以提供(i)像素方面的联 合亮度-色度运动自适应静态检查方法,(ii)边缘独立方向滤波器, (iii)统一的亮度和色度去隔行架构,(iv)易于实现的静态检查方 法,(v)使能对于全部3个通道(例如, 一个亮度通道和两个色度 通道)的独立去隔行,(vi)高达23个工作模式,(vii)使能用户定 制化以支持潜在的带宽的较宽范围和线存取要求限制,和/或(viii) 将锐度增强低达5.4度的角度的改进方向滤波器。


本发明的这些和其他目的、特征和优点将从以下详细描述和所 附权利要求及附图中变得显而易见,在附图中
图1是4:2:2格式画面的传统亮度指数和色度指数的示图2是4:2:0格式画面的传统亮度指数和色度指数的示图;图3是可获得的场和计数器的框图4是去隔行中使用的示例性亮度像素的示图5是去隔行中使用的示例性色度像素的示图6a是根据本发明优选实施例来实现去隔行技术的示例性系 统的框图6b是去隔行电路的示例性实现方式的详细框图; 图7是示例性亮度和色度去隔行方法的流程图; 图8是作为两个变量的函凄t的混合因凄史的曲线图; 图9是示例性亮度角度检测方法的流程图; 图IO是示出示例性可检测角度的示图; 图11是示出第一角度的多个线段的示图; 图12是示出第二角度的多个线段的示图; 图13是示出第三角度的多个线段的示图; 图14是两个位置处的DIFF [i]的示例性关系的示图; 图15是示例性像素方面亮度静态检查方法的流程图; 图16是示例性像素方面色度静态检查方法的流程图; 图17a-17c是表格;以及图18a-18j是等式。
具体实施例方式
本发明可以^皮称作第三^运动自适应去隔4亍(TriMADI)架构。 TriMADI架构一般提供了像素方面的联合亮度-色度静态检查、相比 于传统方法的改进亮度(luminance, luma) 4氐角度预测、以及相比 于传乡充方法的?文进色度(chrominance, chroma)去隔4亍。TriMADI 架构一般达到了用于去隔行的像素精确场合并和可靠的静止像素检 测。该架构一般包括之后相反奇偶性场的预行估计和用于每个输出 帧像素(每个亮度采样)的多比特(例如,2-比特)静态检查计数 器。
无论当前场(例如,奇数奇偶性场或偶数奇偶性场)的奇偶性 如何,由TriMADI技术执行的计算都可以是相同的。为了描述简化,
(i)可以将当面场(例如,CUR)看作顶部场(top field ),以及(ii) 可以将之前场(例如,PRE)和之后场(例如,NXT)看作底部场
(bottom field )。场CUR—4殳包括多条线,标号为0, 2, 4,…, 2N-2 (例如,偶数奇偶性)。场PRE和场NXT中的每一个一般均包 括多条线,标号为1, 3, 5,…,2N-1 (例如,奇数奇偶性),其中, N可以是每个场中可获得的线的数目。去隔行一般在当前场CUR 中构建"丢失的,,线,(例如,线标号1, 3, 5,…,2N-1),当丢 失的线当与场CUR中可获得的线组合时形成了 2N条线的完成帧。 TriMADI架构一般包括具有静态检查和双向(例如,3维的) 混合以及用于亮度采样和色度采样的场合并的基于角度的去隔行技 术。下面的输入/输出部分一般覆盖了 (i)该技术所使用的场,(ii) 包括静态检查比特的像素输入/输出(I/O),以及(iii)该技术所使 用的像素。以下在TriMADI架构部分中讨论该技术的流程图。该流 程图中的多个块的详细描述一般是以亮度去隔^"组成部分(用于亮度)以及色度去隔行组成部分(用于色度)中描述的。亮度角度检 测部分和像素方面的静态检查部分一般说明了角度检测技术和静态 检查技术。
参照图1和图2,示出了 4:2:2格式画面(图1)和4:2:0才各式 画面(图2)的传统亮度指数和色度指数的示图。作为本文中的约 定,(i)(u, v)可以用于表示亮度(Y通道)采样的当前输出位置,
(ii)(cu, cv) —般用于表示色度采样的当前输出位置,(iii)上标 Y可以用于表示亮度通道,(iv )上标C可以用于表示同时的两个色 度通道,以及(v)上标K一般用于表示色度通道之一,或者是Cb
(蓝色)通道或者是Cr (红色)通道。
TriMADI架构一般使用(u, v)和(cu, cv)之间的标准关系。 对于4:2:2格式,cu=u以及cv=v l,如图1所示。对于4:2:0格式, cu=u l以及cv=v l,如图2所示。色度像素的水平位置一般位 于偶数亮度水平位置处。这些标准关系是由MPEG-2标准、MPEG-4 标准、以及H.264标准传统使用的。尽管在其他标准(例如,MPEG-1 ) 中,亮度指数和色度指数之间的上述关系可以略孩史不同,但是 TriMADI技术仍可以在执行时利用略微的 文变来实现。
输入/输出部分
参照图3,示出了可获得的场和计数器的框图。在从存储器中 读出的当前场CUR是顶部场的情况下,之前场PRE和之后场NXT 两者都可以是底部场,如图3的上半部所示。在当前场CUR是底 部场的'lt况下,之前场PRE和之后场NXT两者都可以是顶部场, 如图3的下半部所示。 一般地,场CUR具有与场PRE和场NXT两 者相反的奇偶性。场PRE—般具有与场NXT相同的奇偶性。对于 -现频序列的第一场和最后一场,只可获纟寻单一的相反奇偶性场。在这些情况下,该单一的可获得的相反场可以用作之后场NXT和之前 场PRE。
可以为相同奇偶性亮度采样和相反奇偶性亮度采样中的每一个 都设置静态计数器(例如,HSCnt
)。在一些实施例中,计数器 HSCnt可以-使用多个(例如,2比特)用于每个帧亮度采冲羊。在 TriMADI架构下,用于对当前场CUR采样进行计数的比特可以是 存储器可读且可写的。在TriMADI架构下,用于对之前场PRE采
参照图17a,示出了用于TriMADI架构的输入准则的表才各1 。 TriMADI架构一般支持许多种(例如,23种)工作模式。在每种模 式中,实际的l命入场准则可以不同。图3和以下部分一般示出了最 差情况场景(例如,模式22和模式23)中的准则。可以在表格1 中找到每个才莫式的详细输入准则。
对于每个当前场CUR, (i)可以生成单一的输出帧(例如,执 行去隔行),以及(ii)可以为每个相同奇偶性场像素更新2-比特静 态计数器HSCnt
。在使能了静态检查的情况下, 一般可以在 TriMADI模式下更新计数器HSCnt。当控制信号(例如,StatCheck) 被设置为预定值(例如,1)时,可以使能静态检查。
参照图4,示出了去隔行中使用的示例性亮度像素的示图。所 使用的来自当前场CUR的像素可以利用垂直线而被高亮。使用的来
者)而被高亮。使用的来自之后场NXT的像素可以利用从左上至右 下的斜线而^皮高亮(重叠了之前场PRE的4象素中的一些)。在当前 位置(u, v)的丢失1象素可以利用菱形图案而4皮高亮。为了在当前场CUR中的当前位置(u, v)处构建丢失的亮度 像素, 一般假设以下亮度像素是可获得的。在当前场CUR中,位置 (i, j)处的像素应当是可获得的,其中,vi-l, u+3) 以及J"v-43, v-42, v+42, v+43》。在之前场PRE中,4立置(i, j )处的像素应当是可获得的,其中,i"u-2' u, u+2}以及 je{v-5, v+4, v+5}。对于之后场NXT中的像素,位置
(i , j )处的像素应当是可获得的,其中,i=u以及 je{v-5' v+5》。一般在之前场pRE中使用三条线。
在之后场NXT中可以4吏用单一的线。在一些实施例中,可以利用在 时间上比之前的PRE出现得早的相同奇偶性场替代场NXT。
参照图5,示出了去隔行中使用的示例性色度像素的示图。当 前场CUR中使用的色度像素一般利用垂直线而被高亮。来自之前场 PRE和之后场NXT两者的^f象素可以利用杀牛线而^皮高亮。
为了在当前场CUR中的当前位置(cu, cv )处构建丟失的色度 像素, 一般假设以下色度像素是可获得的。在当前场CUR中,位置
(i, j)处的像素应当是可获得的,其中,ieku—L cw"以及 je{ cv-3, cv-2' cv+2, cv+3}。对于之前场PRE中的4象素以及对
于之后场NXT中的像素,位置(i, j)处的像素应当是可获得的, 其中,i=cu以及Je{cv-3, cv-2, ,." cv+2, cv+3}。
处理超出边界(OOB)状况
可以^f艮设场边界的左边或右边不可获得的像素的亮度为O(零) 以及色度为128。对于场边界的上方或下方不可获4寻的线(例如, 有效视频区之外),可以利用两种方法来处理超出边界的像素。在用 于顶部边界之上的不可获4寻的线的第一方法中,可以用^L频最顶部 的线替代这些不可获得的线。例如,位置(-1, v), (-2, v), (-3,v)等处的像素可以纟皮位置(0, v)处的像素所替代。类似地,对于 底部边界之下不可获得的线,可以用4见频最底部的线替代这些丢失 的线。在第二方法中,场边界之外的所有像素可以被设置为默认值 (例如,亮度为0以及色度为128 )。
TriMADI技术一般使用垂直相邻的计数器HSCnt。因此,没有 计数器可以被实现为用于左边界之外或右边界之外的像素。对于顶 部帧边界之上的线中的不可获得的计凄t器HSCnt,可以用顶部线的 计数器HSCnt来代替计数器HSCnt。类似地,可以用底部线的计数 器HSCnt来代替底部帧边界之下的线的不可获得的计数器HSCnt。 不同于处理边界之外的像素,不可以用默认值(诸如,0或3)来代 替计数器HSCnt。默认值可以使等式28生成错误标记(例如, isStatHist),并因此去隔刊4支术可能4吏用不正确的标记(例如, is Stationary y, isStationaryCb, 以及isStationaryCr )。
TriMADI架构
TriMADI提供了多种(例如,23种)工作模式,使得能够进行 用户定制化以支持潜在的带宽的较宽范围以及线存取设计限制。表 格1 一般列出了 TriMADI架构所支持的所有模式。表格1可以基于 每种模式的带宽消耗来对这些模式分组。除了头两种模式之外, TriMADI带宽可以具有1/2亮度场增量。该表格示出了用于读而不 用于写的带宽和线。对于具有禁止的(例如,伪的)静态检查标记 (例如,StatCheck)的所有模式,写带宽为零(例如,没有存储器 写可以被执行)。对于具有使能的(例如,真)静态检查标记StatCheck 的所有模式,写带宽一般是用于将更新的2-比特计数HSCnt写回到 存储器(例如,RAM)的1/4亮度场。当静态检查标记StatCheck 被使能时,表格1中示出行存储栏不可以包括用于4:2:0格式的一 比特行存储。
13对于每个带宽,最佳模式一般在注释栏中标记有/。随着带宽 增大, 一般输出质量提高。因此,在所有模式可获得的情况下,该 表格可以用作基于可获得的行存储和带宽来选择最佳;漠式的导向图 表。
此外,这些模式中的5个模式包括推荐模式(例如,标记有O )。 随着带宽增大,这些推荐模式可以提供连续且可见的质量改善。最 佳的整体才莫式可以;故称作TriMADI模式(例如,表格1中的才莫式 23 )。
如图17a所示,可以由多个(例如,7个)1-比特控制信号来 ^——冲旨定每个才莫式(i )ThreeLumaField(侈寸i口, T ), ( ii )angleDetection (例4口, A ), ( iii )TwoChromaField(例^口, C2 ), ( iv )ThreeChromaField (侈寸长口, C3), (v) StatCheck (侈寸长口, S ), ( vi)场合并(侈寸戈口, W) 以及(vii)单场插值(例如,B)。在模式描述栏中,BB可以表示 利用1场的单场插值,WV—般表示利用2场的场合并,B2是利用 2场的混合,B3是利用3场的混合,DI可以表示方向内插,以及 MW是利用3场的中^直场合并。全部的4兰可以涉及单一的4:2:0亮 度场/线。不是所有的控制信号的组合均有效。TriMADI架构所支持 的有效模式一般在表格1中列出。可以使用两个额外的控制信号(例 如,HSCntReset和HSCntDefault)来使能/禁止静态计数器HSCnt 的复位和复位值。
可以通过TriMADI架构来限定以下信号和/或标记。控制信号 (或标记)ThreeLumaField —般用于允许与早期技术和基本模式(例 如,传统的场合并和单场插值)的向后兼容。TriMADI技术一般使 用与亮度场相同数目的色度场或比亮度场少的数目的色度场。 TriMADI才支术一般不4吏用比亮度场多的色度场。控制信号(或标记)Bob可以用于支持外部场景改变检测。如 果信号Bob为真,则单场插值去隔行可以用于基于当前场来生成输 出帧。单场插值一般在空间上内插场以生成帧。传统地,单场插值 去隔行对之上和之下的^f象素(多个4象素)扭Jf亍空间滤波以生成丢失 的像素(多个像素)。空间滤波可以被称作垂直滤波。除了支持传统 的单场插值方法之夕卜(当AngleDetectionH"为时),TriMADI 4支术一 4殳还支持替^:的单场插^f直方法 ( 当 AngleDetection-真时),该方法 可以通过基于检测到的角度而执行方向内插来减少边缘锯齿状。替 换的单场内插才莫式(称作bob+)可以4吏用与传统单场插值方法相同 的带宽,其中,行存储略微增大。 一般在信号threeLumaField为伪 的时使用该单场插值方法。bob+可以在空间上垂直地和对角地内插。
控制信号(或标记)Weave可以用于支持外部画面静止检测, 诸如倒转的电视电影中的外部画面静止枱r测。场合并方法一般执行
(i)如果可获得两场,则传统的两场场合并(例如,场插入);以 及(ii)如果可获得三场,则三场中值场合并(如静态检查所使用的 场合并)。如图17a所示,依赖于可获得的场数目,TriMADI —般 支持全部的5种场合并方法(i)亮度上的两场场合并以及色度上 的单场插值,(ii)亮度和色度两者上的两场场合并(传统的场合并),
(iii)亮度上的三场中值场合并以及色度上的单场插值,(iv)亮度 上的三场中值场合并以及色度上的两场场合并,以及(v)亮度和色 度两者上的三场中值场场合并。场合并一般使来自顶部场(多个场) 以及底部场(多个场)的像素交错以形成帧。中值场合并可以使用 3场,^f旦是典型:t也场合并可以只^吏用一个顶部场和一个底部场。 Weave-—般对亮度进行场合并而对色度进行单场插值以节约带宽
(读取额外的色度场的带宽)。MADI —般自适应地基于像素在场合 并和单场插值之间混合。ReMADI —个基于像素在bob+和场合并之 间混合。TriMADI还可以4吏用相邻的相同奇偶性场之间的静态检查 来基于像素而改善bob+和场合并之间的自适应选择。如果4空制4言号(或才示i己)AngleDetection为真,则可以4吏能角 度检测操作。基于检测到的角度,方向内插一般被用于产生丢失的 采样。方向内插一般降低了角度内容的锯齿状。如果控制信号 AngleDetection是伪,则可以禁止角度4全测操作并且默认角度(例 如,90° #皮TriMADI 4支术的剩余部分所4吏用。
可以4吏用控制4言号(或标i己)组(例如TwoChromaField和 ThreeChromaField )来控制TriMADI方法所4吏用的色度场的凄t目。 力口果4言号TwoChromaField和4言号ThreeChromaField两者均为伪, 则一^:使用当前场CUR的单一色度场并且单场插值方法(垂直滤波 或方向内插)可以被用于生成丢失的色度采样。如果只有信号 TwoChromaField是真,则之前场PRE和当前场CUR的色度场可以 净皮TriMADI方法所4吏用。如果只有信号ThreeChromaField是真,则 之前场PRE、当前场CUR和之后场NXT的色度场可以被TriMADI 方法所 -使用。
一 般地,信号 TwoChromaField 和信号 ThreeChromaField不应当同时为真。当信号ThreeLumaField为真时, ThreeChromaField可以#皮4吏用。如果4言号ThreeLumaField是伪,则 信号ThreeChromaField也可以是伪。
信号(或标记)StatCheck可以被用于使能/禁止静态检查方法。 如果信号StatCheck为真,则可以使能静态检查方法以改善在时间 上具有较小变化的区域上的性能。静态检查方法一般对可以被去隔 4亍4支术戶斤4吏用的4言号isStationaryY, is Stationary Cb,以及isStationaryCr 进行控制。当信号ThreeLumaField为真时, 一般使用信号StatCheck, 这是因为静态检查对之前场PRE和之后场NXT两者进行存取。因 此,如果信号ThreeLumaField为伪,则信号StatCheck也可以是伪。
控制信号(或标记)HSCntRest可以用于使能/禁止静态检查计 数器HSCnt的复位。控制信号(或标记)HSCntDefault —般提供2-比特,默《人<直(例如,0至3)用于该复4立^直。如果4言号HSCntReset
16是伪,则可以从存储器中下载信号HSCnt中的该值并将该值存储在 线緩沖器中。此外,信号HSCntDefault中的该值一般-故用于对HSCnt 线緩沖器进行初始化。如果信号HSCntReset为真,则不可以读取该 存储器来取回计数器HSCnt的值,这是因为这些值被信号 HSCntDefault中的默认值所覆盖。
在启动时,或当信号StatCheck从0切换到1时,该方法首先 可以将覆盖场(例如,顶部);改到计凄t器的O用于匹配首先处理的 场(例如,顶部)的奇偶性,然后将其他(例如,底部)覆盖场放 到计凄t器的零用于匹配然后处理的场。因此,实现TriMADI方法的 控制软件和/或硬件应当设置HSCntReset-真,以及HSCntDefault=0。 ^口果4言号StatCheck /人0 士刀才奐到1并且Weave从1 士刀才奐到0,贝'J并 非将计凄t器HSCnt重置为0,控制软件/石更件可以将计数器HSCnt 重置为3 (例如,HSCntReset-真以及HSCntDefault=3 )。在之前场 中使用强制场合并以及刚刚使能静态检查的情况下,可以执行上述 操作,这是因为外部控制的场合并通常表示最近的场是静态的。因 此,相比于将计数器HSCnt重置为0 (例如,从零开始重新构建静 态计数器HSCnt),将计数器HSCnt重置为默认值3可以更好地反 映请争态状态。此外,外部控制信号应当只在场边界处或启动时净皮改 变。在对场进4亍去隔行时不应当改变控制信号。
参照图6a,示出了根据本发明的优选实施例的实现TriMADI 技术的示例性系统94的框图。系统94 一般包括电路(或模块)96、 电路(或模块)98、以及电路(或模块)IOO。信号(例如,CONTROL) 纟且可以/人电路96传送到电路100。可以在电路98和电路100之间 交换信号(例如,DATA)。可以由电路100来生成并呈现信号(例 如,FRAME )。可以由电路98来接收信号(例如F正LD )。
电路96可以被实现为控制器电路。电路96可以被操作为生成 多个控制信号,总称为信号CONTROL。信号CONTROL—般包括信号 ThreeChromaField 、 TwoChromaField 、 ThreeLumaFiled 、 AngleDetection 、 BOB 、 WEAVE 、 StatCheck 、 HSCntReset 、 及 HSCntDefault。信号CONTROL的部分一般4吏电路100能够利用单 独用于一个或多个亮度场以及一个或多个色度场的之前场和之后场 进行操作。
电路98可以被实现为随机存取存储器(RAM)电路。电路98 可以被操作为在接收到电路100在去隔行操作中使用的信号FIELD 时緩沖一个或多个场。电路98还可以被配置为存储各种计数器 HSCnt。
电路100可以^皮实现为去隔行电路。电路100可以被纟喿作为通 过使用模式中的至少两种模式对接收到的信号DATA中的场进行去 隔行来生成信号FRAME中的帧。这组模式在表格1 (图17a)中被 一般地示出并在以下进行详细讨论。
参照图6b,示出了电路100的示例性实现方式的详细框图。一 般以细线示出控制信号并一般以粗线示出数据信号。电路100 —般 包括Y-通道角度检测块(或模块)102、控制信号解码器块(或模 块)104、 Y-通道静态检查块(或模块)106、 Cb-通道静态检查快(或 模块)108、 Cr-通道静态检查块(或模块)110、 HSCnt緩冲器块(或 模块)112、 Y-通道去隔行块(或模块)114、 Cb-通道去隔行块(或 模块)116、 Cr-通道去隔行块(或模块)118、以及更新静态计数器 块(或模块)120。
电路100 —般由若干个内部控制信号所控制信号(例如, enableAngleDetectionY )、 4言号(例i口, enableStatCheckY )、 4言号(例 如,enableStatCheckc )、信号(例如,weaveTwoFieldY )、信号(例 :i口, weaveTwoFieldc )、 4言号(侈'J^口, weaveThreeFieldY )、 4言号(侈寸 ^口, weaveThreeFieldc )、 4言号(侈'Ho, oneFieldY)、孑言号(侈'H口,oneFieldc )、孑言号(,H。, threeFieldY )、以及4言号(例如,threeFieldc )。 内部控制信号可以通过控制信号解码器块104根据如图18a所示的 等式组1利用外部控制信号来解码。此外,以下控制信号可以通过 角度检测块102和静态检查块106、 108、及110在内部生成信号 (侈'H。, isAngle)、 4言号(侈'B口, angleFit )、 4言号(侈'H口, a )、 4言号 (例如,statY)、信号(例如,statCb)、信号(例如,statCr)、信号(例 ^口, isStationaryY )、 4言号(侈寸长口, is Stationary05 )、以及4言号(侈寸^口, is Stationary0")。
对于Y通道,可以由角度检测块102来执行角度4全测以确定上 方2条亮度线和下方2条亮度线之间是否存在较强的角度相关性。 然后可以由亮度静态检查块106和去隔行块114来使用该角度信息。 一4殳对亮度通道执4亍角度才企测,^旦可选地可不对色度通道执4亍角度检测。
接下来,电路100—般在静态才全查块106、 108、及110中使用
静态检查方法以区分静态(例如,静止)像素和非静态像素。静态 #r查的结果(例i口 , 4言号isStationaryY 、 isStationaryCb 、 以及 isStationary")可以被分别传递给去隔行块114、 116、及118。尽管 可以对全部3个通道独立执行静态检查,但是一般对3个通道联合 更新当前像素位置的静态计数器HSCnt。可以通过静态检查块106、 108、及110对全部3个通道使用计数器HSCnt的单一值。
参照图7,示出了示例性亮度和色度去隔行方法140的流程图。 去隔行方法(或处理)140 —般包括步骤(或块)142、步骤(或块) 144、步骤(或块)146、步骤(或块)148、步骤(或块)150、步 骤(或块)152、步骤(或块)154、步骤(或块)156、步骤(或块) 158、以及步骤(或块)160、步骤(或块)162、以及步骤(或块) 164。 TriMADI架构一般对亮度去隔行和色度去隔行两者使用相同的去隔行方法140。色度去隔行和亮度去隔行之间的差异可以是如 何计算控制信号和结果(例如,x,s)。
对于色度去隔行,所有的控制信号都可以由该信号的对应色度 版本来替代(例如,用上标C或K来替代上标Y)。例如,信号 weaveTwoFieldY 可以由信号 weaveTwoFieldc 来替代,信号 weaveThreeFieldY可以由信号 weaveThreeFieldc来替代,信号 oneFieldY可以由信号oneFieldc来替代,信号threeFieldY可以由信号 threeFieldC来替代,等等。此外,所有的x,s可以均由对应的x"版 本替代。
在步骤142中,去隔行方法140可以才企查信号weaveTwoField 的值。如果该值是真(例如,步骤142的真分支),则在步骤144 中,方法140可以^使用利用weaveTwoField方法计算出的变量(例 如,XW2)生成输出采样变量(例如,X。ut)。如果该值为伪(例如, 步骤142的伪分支),则方法140可以继续步骤146。
在步骤146中,去隔行方法140可以检查信号isStationary和信 号weaveThreeFieldY中的值的布尔(Boolean)逻辑OR (例如,符 号"ll")。如果逻辑OR是真(例如,步骤146的真分支),则在步 骤148中,方法140可以使用利用weaveThreeField方法计算出的变 量(例如,XW3)生成输出采样变量X。ut。如果逻辑OR为伪(例如, 步骤146的伪分支),方法140可以继续步骤150。
在步骤150中,去隔行方法140可以检查信号isAngleY中的值。 如果该值为真(例如,步骤150的真分支),则该方法140可以继续 步骤152。如果该值为伪(例如,步骤150的伪分支),则该方法140 可以继续步骤156。
20在步骤152中,去隔4亍方法140可以4企查信号angleFit的值。 如果该值为真(例如,步骤152的真分支),则在步骤154中,方法 140可以使用角度信号a中的变量(例如,Xdf)来生成输出采样变 量X。w。如果该值为伪(例如,步骤152的伪分支),则方法140可 以继续步骤156。
在步骤156中,去隔行方法140可以4企查信号oneField的值。 如果该值为真(例如,步骤156的真分支),则在步骤158中方法 140可以利用4吏用垂直空间滤波方法(例如,单场4#<直方法)计算 出的变量(例如,xvf)来生成输出采样变量X。ut。如果该信号的该 值为伪(例如,步骤156的伪分支),则方法140可以继续步骤160。
在步骤160中,去隔4亍方法140可以4企查信号threeField的值。 如果该^t为真(例如步骤160的真分支),则在步骤162中,方法 140可以使用利用2场混合方法(例如,B2方法)计算出的变量(例 如,xB2)来生成输出采样变量X。ut。如果该信号的该值为伪(例如, 步骤160的伪分支),则在步骤162中,方法140可以使用利用3 场混合方法(例如,B3方法)计算出的变量(例如,XB3)来生成
输出采样变量X。ut。
在一些实施例中可以不对色度通道执行角度检测。因此,(i) 在色度去隔行中没有可获得的角度信息,(ii)信号isAngleC始终为 伪,以及(iii)可以忽略信号angleFitK和信号乂0/两者中的值。在 一些实施例中,可以在色度的实现方式中省略对应于信号isAngle 的全部分支。
亮度去隔行部分
如果信号weaveTwoFieldY中的值为真,则可以4吏用场合并方法 来生成亮度输出。变量xw2—般是之前场PREV中的共址像素。因此,对于亮度去隔行,Xw2的值可以被定义为如图18a中示出的等式 2。在等式2中,PRE[u] [v]可以是之前相反奇偶性场中的共址亮度 采样。之前的(相反奇偶性)场PRE场可以用于场合并。然而,对 于具有3:2下拉方案的输入视频,可以利用之后场NXT来执行场合 并。在这种情况下,之前场PRE可以在通过TriMADI方法处理之 前与之后场NXT交才奐。
在当前像素被确定为是静态的(例如,信号isStationary为真) 或当信号weaveThreeFieldY为真时(见图7 ), —般使用三场中值场 合并。如图18a所示,可以经由等式组3来计算中值场合并输出变 量xW3。在等式组3中,可以在等式4中限定变量xvf,并且变量xc。 可以4皮限定为变量 和Xvf的中值。
如果要内插的像素被声明不是边缘像素(例如,信号isAngle= 伪),则可以应用4-分接头垂直滤波器来经由等式4生成内插变量 xvf,如图18b所示。变量Xvf应当被截取到范围[O, 255]中。
如果要内插的像素被声明为是边缘像素(例如,信号isAngle= 真),则可以应用方向滤波器来经由等式5生成内插变量xdf,如图 18b所示。角度变量a可以是检测到的角度,可以根据角度a获得 变量b和变量l (下方情况L)。上面的方向滤波器中是使用的四个 像素一般"在方向上"集中于位置(u, v)处。例如,见01=2的情 况的图12。
内插^f象素X。ut不不会对局域垂直动作造成巨大改变,因此,可 以施加以下"保护"条件
(1》local_set = (CURu-l[v-l,CURu+l〗〖v-l〗,CURu-1v+l
CUR〖u+lHv+l〗,3Wu[v-l〗}. (2) ndi\_set = Uocal_set,max(CUR〖u-l] [v], CURu+l[v]) },(3) max__set = local—set,min(CURu-lv) , CUR〖u+lv〗)}.
(幻miriO = ndnimum of min—set. (5> mini = 2nd minimum of min—set,
(6) maxO = maximum of max—set.
(7) maxl = 2"3 maximum of max_set,
(8) max—side—gradient = max(|CUR〖u-1〗[v-1]雷CUR〖u+l]v-1〗|
lCUR[u-l〗[v+l
-CURu+l[v+ljI). (91 nvin_side-gradient = min( |CURu-l〖v-l〗-CURu+l〕v-l〗|
|CUR[u-1]v+l〗-CURu+lv+l|). (10) gradient = max(min(鹏x0-mini, maxl-minO, max_side_gradient),
min一side—gradient),
角度适合值(例如,angleFITY)可以经由等式6来计算,如图 18b所示。在等式6中,参数c3 —般是具有从0至15的整数值的可 编程的参数,其中默认值为9。如果满足上述条件,则Xdf(如等式 5中限定的)可以用作所生成的最终输出。此外,该l象素可以:換照 非边缘像素来对待(见图7)。等式6中的"梯度"运算是局域像素 变量的测量(一般拒绝离群值)。梯度运算一般固定许多斜"虚"线, 具体地,下方的对比线,而不引入明显可见的新的伪角度内插。画 面外部的local_set像素的零默认值的使用是可接受的,这是由于"侧 面梯度" 一般防止了不适当的较大梯度。
变量xw和变量xe。的混合并生成最终的混合变量(例如,xblend ) 可以经由等式7来计算,如图18b所示。在等式7中,(i )xcp=PRE[u] [v]可以是之前场像素的并置排列像素,(ii ) 一 J>/ £w[v
r/tr感'eW r =
ra l鮮["]vrf^eHeWy=f,当threeFieldY为真时可以是共址的之 后场4象素,而当threeFieldY为伪时与XcP相同,以及(iii ) &。 = mediaiMxep' x^' f) 一4殳用于^f象素方面的利用;昆合的场合并。
变量XB2—般是从之前场中具有共址像素的垂直滤波值推导出的(例 如,单场插值)。变量XB3可以乂人之前和之后场中具有共址^象素的垂
直滤波值推导出(例如,单场插值)。混合因数(例如,可以通过等式组8来计算,如图18b所 示。在等式组8中,参数At可以是集合(2, 4, 8, 16}中可编程的 参数。当信号ThreeLumaField为真时,At的默认值可以是16,而 当信号ThreeLumaField为伪时,Au的默^人值可以是8。 t的^L可以
通过等式组9来计算,如图18C所示。在等式组9中,参凄tTsc^和
n^e—般是集合(1,…,16}中可编程的参数。n^e的默认值可以是 8。当信号ThreeLumaField为真时,Tscale的默认值可以是8,当信号 ThreeLumaField为伪时,Tscale的默i人值可以是4。对于3-场混合,
该默i人值可以不对T3和Xn产生定标。对于2-场混合,Xn可以始终是
0,这是因为之后场NXT被当作之前场PRE对待。因此,n^e—般 不只于2-场混合起作用。
参照图8,示出了作为变量Xco和Xvf的函数的混合因数p的 曲线图。混合因凄^i可以用于多个场的空间-时间非线性混合。该混 合方法中4吏用的变量t1 (见等式组9)可以类似于运动自适应去隔 行和运动补偿去隔行。变量t2的使用一般避免了运动边缘附近(不 是在边缘上)的伪像。在这些情况下,如果使用最大值,则变量Tl 可以变得非常大并因此一舶 使用时间滤波而非垂直滤波。通过结合 变量T2不会引入新的明显的伪像。图8的函数可以以下伪代码表示 (以精确指明上述的舍入)
diff = max(lx^ - |, h — x^l) - t
仁ernp = 一 x^。
如果(diff s 0) =
否贝ij (diffs At) xblen<l =
否贝'j {temp < 0) x^助d - + (diff x temp - (At l》)/ at
其他 Xj^抑a = + (diff x temp + (M>>1)) / At
其中,Tsc^可以取集合U/4,1/2,1, 2}中的值,而Au可以取
集合{4, 8, 16, 32}中的值。色度去隔行部分
如果4言号weaveTwoFieldC为真,则场合并方法可以用于生成色 度输出变量。变量Xw/—般是之前场PRE中的共址像素。因此, 对于色度去隔行,xW2K的值可以通过等式10来限定,如图18c所示。 在等式10中,PREK[cu] [cv]可以是之前相反奇偶性场中的共址亮度 采样。此外,场PREK (之前相反奇偶性场)被用于场合并。然而, 对于具有3:2下4立方案的—见频序列,场合并可以利用之后场NXT来 执行。在这种情况下,之前场PRE可以在通过TriMADI方法处理 之前与之后场NXT交换。
当当前像素被确定为是静态的(例如,信号isStationaryK为真) 时或当信号weaveThreeFieldc为真时(见图7 ), 一l殳使用三场中值 场合并。中值场合并输出(例如,Xw3K可以经由等式组11来计算, 如图18c所示。在等式组ll中,变量XvfK和Xc。K可以分别通过等式
12和13来限定。
如果要内插的像素被声称为边缘像素(例如,信号isAnglee= 伪),则可以应用2-分4妾头垂直滤波来经由等式12生成内插值,如 图18c所示。在等式12中,变量XvfK应被截取到范围[O, 255]中。 对于色度垂直滤波,可以使用2-分接头滤波器而非用于亮度垂直滤 波的4-分接头滤波器。
色度混合可以基本与亮度混合相同。相比于亮度混合,色度混 合中的差异可以是如何计算变量t。等式13可以用于使XvfK与xc。K 混合,如图18d所示。在等式13中,(i) xcpK=PREK[cu] [cv]可以是
之前场像素的共址像素,(ii) °" lAW^『"〗W A卿/^wC-加e当信 号threeFieldC为真时可以是之后场像素中的共址像素,而如果信号
25threeFieldc为伪,则是之前场中的共址像素,以及(iii ) X K = median(xc/, xcnK, /)可以用于利用;昆合的^f象素方面的场合并。
变量XB2K—般利用之前场中的共址像素根据垂直滤波值推导出
(例如,单场插值)。变量xB3K可以利用之前和之后场中的共址像
素根据垂直滤波值推导出(例如,单场插值)。
混合因数变量(例如,|iiK)可以经由等式14来计算,如图18d 所示。在等式14中,参数AtC可以是集合(1, 2, 4, 8}中的可编程 参数。如果信号ThreeChromaField为真,则Ai;c的默认值可以是8, 如果信号TwoChromaField为真,则Ai;C可以是4。变量,可以经由 等式组15来计算,如图18d所示。在等式组15中,参数nsca,e可以 是与亮度混合中限定的相同的可编程参数,Ts^c可以是集合(1,…, 16}中的可编程参凄史。当信号ThreeChromaField为真时,1^&|,的默 认值可以是8,当信号TwoChromaField为真时,1^31,的默认值可
以是4。对于3-场混合,该默认值一般不对T3和Xn产生定标。对于
2-场混合,变量Xn可以是O,这是因为之后场NX丁K被当作之前场 PREK对待。因此nscale的值一般不对2-场混合起作用。
色度混合一般使用与亮度中相同的混合技术。在伪代码中,色 度、混合可以由以下给出
tenqp = / - x^。k
diff = max(lxv, — Xc/I, !x^k濕Xe/j) - tk
如果(diff s 0} 3W)/ = C
否则(diff"。Xb"^K = x^k
否贝,J(t柳p < 0}xbleni3K = x^。k + (diff x terp - {A"》1" / Aicc 其他Xfcun/ = Xc。k + (dif f x tenp + (Aic >>1)) / Atc
亮度角度4企测参照图9,示出了示例性亮度角度检测方法180的流程图。角 度检测方法(或处理)180 —般包括步骤(或块)182、步骤(或块) 184、步骤(或块)186、以及步骤(或块)188。亮度角度才全测方法 180用于确定(i)当前位置是否为边缘,以及(ii)如果是,边缘
的角度。
在步骤182 中,方法180可以才企查4言号(例如, enableAngleDetection)以确定角度检测^皮使能还是被禁止。如果角 度^:测被z使能(例如,步骤182的真分支),则该方法可以继续步骤 184。在步骤184中,可以计算变量DIFF。然后,在步骤186中, 信号isAngle可以被设置为真。如果角度检测被禁止(例如,步骤 182的伪分支),则在步骤188中,该方法180可以将信号isAngle 设置为伪。
参照图IO,示出了示例性可检测角度的示图。角度检测模块102 可以检查画面以检测接近于位置(u, v)的角度特征中的边缘。在 TriMADI架构中,可以沿着相对于水平轴190的多个(例如,2-19 个)角度搜索该画面。从左(例如,指数-9)到右(例如,指数9), 角度可以分别是174.6。、 172.40、 171.30、 169.70、 167.5。、 164.1°、 158.20、 146.30、 116.6。、 90.0。、 63.40、 33.70、 21.80、 15.9。、 12.50、 10.3°、 8.7°、 7.6°、以及5.4°。如图IO所示,角度指数i可以具有-9 ^i^9的范围。这些指数对应于-21、 -15、 -13、 -11、國9、 -7、 -5、画3、 -1、 0、 1、 3、 5、 7、 9、 11、 13、 15、及21的基本^扁移(侈'H口, b )。 基本偏移 一般被限定为上方线和下方线之间的像素距离。因此角度 a可以是tan—1 (2/b)。如图17b所示,在表格2中总结了角度指数i、 基本偏移b、及角度a之间的映射。此外,基本指数b可以是角度 指数i的函数,反之亦然。90.0。角度可以^皮看作用来提高角度检测 精度的有效检测角度。为了在当前场CUR中的位置(u, v)处内插1象素,可以经由 等式16为每个角度指数i计算阵列DIFF [i],如图18d所示。在等 式16中,关联窗口可以具有2W的大小。》匕外,变量l可以经由等 式17来限定,如图18d所示。
具有大小24 (例如,W=12)的关联窗口一般为计算阵列DIFF 给出很好的精确性。更大的窗口大小可以为更低的角度改善角度检 测津青度。可以实现其4也窗口大小来满足特定应用的准则。
参照图11-13,示出了用于三个示例性角度的示图。图ll一般 示出了用于计算第一角度63.4。处的DIFF[i]的多个(例如,N=24 ) 线段200a-200n。图12 —般示出了第二角度33.7°处的N个线段 202a-202n。图13 —身殳示出了第三角度21.8。处的N个线段 204a-204n。在每个实例中,p舉一阵列DIFF [i]可以祐j十算为沿着 N=24个线段的(2W+3x2W=4x24=96 )对^象素方面的绝对差的总和, 在这些图中,每个线萃殳都将多个黑点连4妻一起。可以实现其4也数目 的线段、其他长度的线段、以及其他间隔的线段来满足特定应用的 准则。
基于试验结果,每像素降低4比特的精度足够可以在当前场 CUR中捕捉具有至少16灰度级的阶梯高度的边缘,并因此可以大 大地减少硬件成本为不会严重影响感知性能。在等式16中,DIFF 的计算似乎具有4交高的计算复杂度(例如,19个DIFF各具有96个 加法和绝对值)。实际上,实现方式可以具有少一些的计算。 一般通 过开发4立置(u, v )处6勺DIFF [i](才示i己为DIFF(U, v) [i])和4立置(u, v-l )处的DIFF [i](标记为DIFF(u,v-d [i])之间的关系来实现快速计 算。
参照图14,示出了位置(u, v)处的DIFF[i]和位置(u, v-l) 处的DIFF [i]的示例性关系的示图。尽管每个阵列DIFF [i;K吏用96
28个加法和绝对值,但是等式16中的绝对差(SAD)的多数总和对位 置(u, v-l)和(u, v)是共同的。这两个位置的DIFF [i]之间的差 是滑动窗口中的左边界210和右边界212。因此,等式16可以重新 表示为等式组18,如图18e所示。如果DIFF" v.,) [i]是已知的(多 数情况下),则利用较少努力就可以计算DIFF(u,v) [i]。如等式组18 所示,快速4支术利用2+3+3=8个加法和绝对值来计算位置(u, v) 的每个DIFF[i]。因此,计算复杂度可以降4氐12个因凄史。,寸于一排 中最左边的像素(例如,DIFF(U,V=(0 [i]),可以执行完全计算,这是 由于DIFF(u,v;D [i]不存在。
在计算19个阵列DIFF之后,可以根据以下规则来作出要内插 的当前像素是否位于边缘上的决定。该规则可以使用以下术语定义
(1 ) DIFF—minl=DIFF [a]可以是这19个DIFF的最小^L。
(2 ) DIFF—min2=DIFF [卩]可以是第二小的值。
(3 ) DIFF—min3可以是第三小的值。
(4 ) DIFF_max可以是最大值。
如果DIFF—mini =DIFF [a]==DIFF—min2=DIFF [卩],则a的值应 当是最中央的角度的指数(例如,|a| < |P|)。类似地,如果 DIFF_min2=DIFF [P]==DIFF—min3 ,贝'J P的值应当是DIFF_min2和 DIFF—min3的最中央的指数。如图17b所示,可以在表格3中限定 指数i到中央角度(例如,90°)的距离。在一些实施例中,通过使 用用于打破"约束,,情况的其他规则可以使硬件实现方式更加简单。 可以实现其他^L则来满足特定应用的准则。(5)变量(例如,LEFT)可以被限定为到a左边的紧邻角度, 以及变量(例如,RIGHT)可以被限定为到a右边的紧邻角度。变 量LEFT和RIGHT可以才艮据等式组19来确定,如图18e所示。
(6 )多个变量(例如,UpLeft、 UpRight、 DownLeft、 DownRight) 可以是窗口的线u-1和线u+1中的最左边的<象素和最右边的<象素。 变量UpLeft、 UpRight、 DownLeft、及DownRight可以才艮才居等式组 20来确定,如图18e所示。
(7)阈值矩阵(例如,TH_DIFF)可以限定角度的最大允许 的SAD。矩阵TH—DIFF可以存储角度独立的8-比特可编程阈值。 如果在计算DIFF时每个^f象素均以4比特表示,则TH—DIFF的默认 值可以在表格4中限定,如图17b所示。对于8-比特DIFF计算, 表格4中的默认值可以乘以16。
如果满足以下条件,则^象素可以净皮声明为角度^f象素(例如, is Angle flag^真)。
《a》 DIFF—mini * 21 < q * DIPF—max (b)&& DIFFjinl《TH—DIFFcO
《c》 && DIFF一minl != DIFF一ndn2 | | D工FF—min2 != D工3FTjin3 《d》 &■& max( lupLeft-DowriLeft|, |UpMght-DownRi沐t |) < c2 (el) && (《|a - p| == i)
(e2) II (DIFF_jidiil*2 < DIFF—min2
&& DIFFLEPT〗 < 《(3 *DIFF—min2)>>1> DIFFRIGHT〗<((3*DIFF_jnin2)>>l)》
条件(a)中的参数c!可以是来自{3, 5,…,15, 18}的可编 程的参数,默认值为7。条件(d)中的参凄tc2可以是可编禾呈的阈值。 如果只4吏用4象素UpLeft、 UpRight 、 DownLeft、及DownRight的前 导的4比特,则该阈值可以被实现为4-比特的整数,其中默认值为4。如果<吏用4象素的全部8比特,则该阈^直可以;故实现为8-比特整 数,其中,默认值为64。
条件(a)—般通过将该角度方向建立为远好于至少一个其他方 向而避免了背景闪烁。条件(b)可以建立最小角度强度。当三个角 度同样好时,条件(c) 一般避免了以错误角度结束。
条件(c)可以用于减小的比特深度和/或低的对比区域的情况。 条件(d)可以添加额外的准则来减少伪4象。条件(el )和(e2)可 以是逻辑"OR"的。条件(el) —般陈述了两个最佳角度可以是相 邻的。当不满足条件(el)时,如果这两个最佳角度不相邻,则条 件(e2)可以对DIFF建立额外的条件。此外,如果信号isAngle是 真,则角度a可以被限定为用于方向滤波的当前像素的角度。
由于角度检测处理利用了线u-3、 u-l、 u+l、及u+3,因此角度 才企测处理可以存取顶部线和底部线的场边界之外的线。此外,由于 该角度4企测处理可以一使用丰交大的窗口大小(例如,v±43),所以该处 理可以存取左边场边界和右边场边界附近的不可获4寻的 <象素。
如上所述,场边界左边和右边所有不可获得的亮度像素均可以 被假设为具有值0。因此,场边界左边和右边的填充像素(pad pixel) (例如,计算出的画面边界之外的4象素)不会引起问题。然而,对 于场边界顶部和底部之上的线,可以4吏用若干可4亍方法(l)禁止 角度检测并用实像素值替代填充像素,(2 )禁止角度检测并假设填 充像素为黑色(例如,具有0的值),(3)使能角度检测并用顶部/ 底部线替代超出边界的线,以及(iv)使能角度检测并假设所有超 出边界的像素的默认值(例如,0)。上述方法的性能一^L在表格5 中提供,如图17b所示。可在表格6中找到可变参数的列表,如图 17c所示。像素方面的静态检查技术
TriMADI架构一般使用像素方面的静态检查来给出在时间上具 有4艮少变化(例如,静态)的区域上的尖锐输出。如图6所示,可 以对每个通道(例如,Y、 Cb、 Cr)独立执行静态4企查。对每个通 道,该静态检查可以生成两个输出布尔信号(或标记)(i )isStationary 和(ii) Stat。信号isStationary —般j皮去隔刊4支术所4吏用以产生当前 场CUR的输出。信号stat可以用于更新两比特静态计数器HSCnt。 计凄t器HSCnt可以用于跟踪过去处理的静态场的数目。计数器 HSCnt可以基于全部3个通道的静态标i己来更新。
参照图15,示出了示例性的像素方面的亮度静态检查方法220 的流程图。亮度静态检查方法(或处理)220—般包括步骤(或块) 222、步骤(或块)224、步骤(或块)226、步骤(或块)228、步 骤(或块)230、步骤(或块)232、以及步骤(或块)234。
在步骤222中,可以检查信号enableStatCheckY。如果信号 enableStatCheckY为伪(例如,步骤222的伪分支),则在步骤224 中,静态检查方法220可以将信号isStationaryY设置为伪并将信号 statY设置为伪。如果信号enableStatCheckY为真(例如,步骤222 的真分支),则可以在步骤226、 228、及230中生成若干标记(或 信号)。
在步骤226中,可以计算标记(例如,isStatHist)。在步骤228 中,可以生成第一标i己(例如,statLum[O])和第二标i己(例如, statlum[l])。在步骤230中,可以基于4言号isAngle和信号angleFit 来计算标记(例如,isLumAngleStat )。在步骤232中,可以基于标 i己isStatHist、才示^己statLum[O]、和才示i己isLumAngleStat来"H"算4言号 isStationaryy 。在步骤234中,标记statY可以被设置为标记 statLum[l]。
32如图15所示,在亮度静态检查方法220中可以生成并使用若 干标记。标记statLum[O]和标记statLum[l]—般说明了当前场CUR 以及相反奇偶性场PRE和NXT中的周围4象素是否为静态。标记 statLum[O]可以利用更严格的条件来计算并被用于对当前场CUR进 4亍去隔4于。标记statLum[l]可以利用更+〉的条件来计算并净皮用于对 静态计数器HSCnt进行更新。此外,计算出的用于标记statLum[l] 的值可以在静态检查技术的标记statY中输出。
标记isLumAngleStat可以是当当前像素被确定为是边*彖<象素时 使亮度静态检查更加强壮的额外限制。标记isStatHist —般说明了当 前位置在过去是否为充分的静态。标记isStatHist可以基于计数器 HSCnt来计算。标记isStatHist可以^皮亮度静态4全查方法220和色度 静态4全查方法所使用。标记isStationaryY—般被亮度去隔4亍4支术所 使用以说明当前像素是否为静态的。
亮度静态标记可以基于当前像素的局域动作、 一个或多个水平 周围^f象素的动作以及基于之前场PRE和之后场NXT之间的变化来 计算。当前线的4立置v-4至v+4的局i或动作可以用在该计算中。一 般由等式21、等式组22、等式组23、等式24、等式组25、及等式 26来指定计算的细节,如图18f和18g所示。参数ActOffset、 ActScale、及MaxResidue可以是如下限定的可编禾呈的参凄t:
(1 ) ActScale={2, 3, 4, 5, 6, 7, 8, 9},默认值为6。
(2) ActOffset={0, 1, 2,…,14, 15},默认值为7。
(3) MaxResidue={12, 13,…,19},默认值为15。
在一些实施例中,可以避免等式21至26中全部中间变量的完 整计算。才艮据等式组22,参数hstatcnt和余凄t可以基于预定大小(例 如,9)的滑行窗口内的参数tdiffact来计算。由于位置(u, v-l )和位置(U, V)之间可以共享大多凄t的中间变量,所以滑-f亍窗口内
的参数tdiffact和参数lumAct可以临时緩冲并因此只有对应于最右 边^f立置的变量可以#1单独计算。
为了改善亮度静态检查的精度,标记isLumAngleStat可以基于 当前亮度像素的角度信息来计算。标记isLumAngleStat可以经由等 式27来计算,如图18g所示。在等式27中,变量MinHistAngle可 以是具有范围[O, 1, 2, 3]的可编程参数并可以具有默认值2。更大 的MinHistAngle值一般给出更紧密的条件。该更紧密的条件会导致 伪检测(例如,错的真)的更少机会而给出丢失检测(错的伪)的 更高机会。类似地,更小的MinHistAngle值一般给出更松的条件并 因此给出伪才企测的更高机会,其中丢失检测的才几会更少。
标记isStatHist可以用于暗示当前像素位置(以及垂直周围像 素)在过去是否为静态。标记isStatHist可以被亮度静态检查技术和 色度静态检查技术两者所使用。标记isStatHist可以经由等式28来 生成,如图18g所示。在等式28中,参凄史MinHistCenter、参凝: MinHistAdjacent、及参凄t MinHistSum可以是影响静态才企查才支术的 性能的可编程参数。该参数的范围可以分别是[O, 1, 2, 3], [3, 4, 5, 6]、以及[O, 1,…,14, 15]。'默i^f直可以分别是2, 6,及9。 这些参数的更大的值 一般产生更紧密的条件。这些紧密的条件可以 导致伪检测(错误的真)的更少机会而导致丢失检测(错误的伪) 的更高机会。类似地,小一些的值一般给出更松的条件并因此可以 产生伪检测的更高机会,其中,丟失检测的机会更小。
标记isStationaryY可以被亮度去隔行4支术所使用(见图6和7 )。 才示i己isStationaryY可k乂讦乍为才示i己statLum[O]、才示i己isLumAngleStat 和标记isStatHist的逻辑AND生成,如图18g中的等式29所示。参照图16,示出了示例性的像素方面的色度静态检查方法240 的流程图。色度静态检查方法(或处理)240 —般包括步骤(或块) 242、步骤(或块)244、步骤(或块)246、步骤(或块)248、步 骤(或块)250、及步骤(或块)252。
在步骤242中,可以才企查信号enableStatCheckc。如果信号 enableStatChecke为伪(例如步骤242的伪分支),则在步骤244中, 静态检查方法240可以将信号isStationaryC设置为伪并将信号statc 设置为伪。如果信号enableStatCheckC为真(例如,步骤242的真 分支),则可以在步骤246和248中生成多个标记(或1言号)。
在步骤246中,可以计算标记isStatHist。在步骤248中,可生 成标记(例如statCK)。在步骤250中,信号isStationaryY可以基于 标记isStatHist和标记statCK来计算。在步骤252中,标记statKT 以被设置为标记statCK。与一般产生静态标记的紧密版本和较松版 本两者的亮度静态检查中不同,只为两个色度通道中的每一个产生 生成单一的标记(例如,statCK)。标记statCK—般说明当前场(例 如curk)和相反奇偶性场(例如,PREK和NX丁k)中的<象素是否 为静态的。此夕卜,标记statCK可以用于计算标记isStationaryK。
相同的静态检查技术可以用于两个色度通道。如图6所示,可 以独立执行用于Cb通道和Cr通道的色度静态检查方法240。色度 静态检查方法240 —般使用与亮度静态检查方法中220相同的标记 isStatHist。
标记statCK可以基于当前<象素的局域动作以及一个或多个水平 周围像素的局域动作来计算。标记statCK可以基于之前场PRE和之 后场NXT之间的改变。由于色度通道(以4:2:0格式和4:2:2格式) 中的潜在的水平下采样,当前线的位置v-2至v+2(而非亮度中的±4 ) 的局i或动作可以用在计算中。statCK标记经由等式30至35来生成,如图18h和18i所示。在 等式30至35中,参数ActOffsetc、参数ActScalec、及参数 MaxResiduec可以是才艮据以下的可编禾呈参凄t:
(1 ) ActScalec={9,…,16},,默iM直为13。
(2) ActOffsetc={0, 1, 2…,15},默认值为7。
(1 ) MaxResiduec={12, 13,…,19},默认值为15。
如果当前像素是静态的并在历史上在当前位置处是静态的,则 色度像素被认为是静态的。因此,标记isStationaryK标记可以经由 等式36来生成,如图18j所示。
当4吏能静态4企查时(例如,当statCheck或enableStatCheckY为 真时),可以更新静态检查计数器HSCnt。由于对计数器HSCnt进 行更新会耗费额外的写带宽,因此当禁止静态检查时不会对计数器 HSCnt进行更新。
当静态检查被使能时且在对所有三个通道执行静态才企查之后 (例如,在statY、 stat、 stat。全被设置)用于当前输出位置的计数 器HSCnt可以经由等式37来更新,如图18j所示。当当前位置祐义 现为在所有三个通道中都是静态的时,计数器HSCnt—般递增l(高 达3)。如果静态较弱(例如,亮度是静态的,但色度中的至少一个 不是静态的),则可以将计数器HSCnt除以2。当当前场CUR被确 定为不是静态的时,计数器HSCnt可以被重置为0。由于潜在的色 度下采样,不是所有的亮度采样都可以具有对应的色度采样。因此, 不是所有的标记statY都可以具有对应的标记statCb和对应的标记可以按照如下来处理色度标记的缺少。对于水平色度下采样(例
如,对于4:2:2格式和4:2:0格式),不是对于所有的奇数v,s都存在 标记statK (见图1和2)。在这种情况下,可以使用在位置v l处 作出的色度决定(例如,对应于相同线的v-l处的亮度采样的色度 采样的决定)。
对于垂直色度下采样(例如,对于4:2:0格式),不是对于所有 其他亮度线(见图2)都存在标记statK。在这种情况下,可以使用 最近的去隔行亮度线(例如,u-2)中的使用的色度决定。因此,色 度宽的大小的两个1-比特行存储(例如,stat^行存储和sta产行存 储)可以用于存储整个色度线的决定。因此,可以实现亮度宽度的 额外的一比特行存储(色度是以4:2:0格式水平下2釆样的并存在2 个色度通道)。对于底部场中的顶部亮度线,不存在之前的色度决定。 在这些情况下,标记stata和标记stat&可以被^假设为真(例如,忽 略等式37中使用的色度决定)。 一比特行存储中存储的信息不必写 到存储器中。因此, 一比特行存储不会增加读带宽和写带宽。
当计算标记isStatHist并更新计数HSCnt时,可以读取计数器 HSCnt。整体上,可以只^使用垂直相邻计凄t器HSCnt(例如在 xe{u-2, u-l, u, u+1, u+2)的情况下可以只使用计数器
HSCnt[x] [v])。 一般不4吏用水平相邻HSCnt,s。因此, 一般在同一条 线中不存在计数器HSCnt的依赖性。然而,在垂直相邻的计数器 HSCnt之间可以存在依赖寸生。
作为上述的结果,如果亮度去隔行和色度去隔行在实现方式中 不是完美同步的,则计数器HSCnt[u] [v]的更新可以延迟,只要该 更新发生在对之后线中的相同垂直位置进4亍去隔4亍之前就可以。例 如,在使用HSCnt[(u+2)-2]的情况下,在对位置(u+2, v)进行去 隔行之前,可以更新计数器HSCnt[u] [v]。如果计数器HSCnt更新 延迟,则要为每个延迟位置跟踪stat^Gw比特。得到的灵活性一般使得能够较松地同步(其中,精确延迟未知)亮度处理和色度处理, 只要延迟d、于一条线就可以。
在一些实施例中,之前运动补偿的相反奇偶性场(例如,PREMC ) 和之后运动补偿的相反奇偶性场(例如,NXTMC)可以分别用于替 代之前场PRE和之后场NXT。因此xco的混合等式可以乂人之前运动 补偿的相反奇偶性场PREMC和之后运动补偿的相反奇偶性场 NXTmc中的共址像素(例如,PREMC[u] [v]和NXTmc[u] [b])中推 导出。类似地,静态检查计数器也可以是运动补偿的。
在其他实施例中,不是对亮度和色度只具有单一的静态计数器 HSCnt,而是对每个色彩通道可以实现单独的静态历史计数器(例 如,三个计数器HSCnt)。因此,利用单独的计数器可以提供更多的 自由度,诸如联合为所有通道决定静态标记isStationary或单独为每 个通道决定静,态才示i己isStationary。
在一些实施例中,更大的窗口可以由角度4企测:汰术所使用以更 好地检测低角度。 一般地,所有角度的窗口大小可以是相同的(例 如,24个像素宽度)。尽管大一些的窗口在检测低角度时提高了精 确性,但是大一些的窗口会降低高一些角度的丟失检测概率。因此, 可以为不同的角度实现不同的窗口大小。大一些的窗口大小可以用 于低角度而小一些的窗口大小可以用于高角度。由于计算中使用的 采样的不同数目,因此在决定最终角度候选时,不同角度的DIFF 可以是不同力口4又的。
在另外其他实施例中,色度角度检测可以被实现为允许单独的 亮度/色度去隔行。色度角度检测可以是基于预测方法或检测方法 的。预测方法一般基于亮度角度来预测色度角度,因此而节约计算。 然而,预测方法可以在边上执行哪里的亮度和色度是不相关的。检测方法一般类似于亮度角度检测来检测色度角度。相比于预 测方法,4企测方法可以^合出更津奇确的角度。4企测方法一般允^H虫立 的亮度/色度去隔行。由于色度下采样,不是类似于亮度中检测全部
19个角度,可以在色度角度检测中检测更小数目的角度候选。
在实现色度角度检测的情况下,可以采用与亮度中相同的适应 检查方法。直接滤波的结果(例如,xdfK)(见图7)可以经由等式 38来计算,如图18g所示。在等式38中,
幼=
0 QfK =0
Z/2 ffK<0
0 or* =0
(/-"1)/2 *<0
其中,(xK可以是色度角度,以及l可以是上方线的列偏移并通 过等式17来限定。
图6-9和15-18j的示图、等式、及表格所执行的功能一般利用 传统的根据本说明书的教导而被编程的通用数字计算机来实现,这 对相关领域(多个领:威)才支术人员来i兌是显而易见的。有经-验的编 程者基于本公开文件的教导可以容易地准备适当的软件编码,这对 相关领域(多个领域)技术人员来说是显而易见的。
本发明还可以通过按照本文所描述的来准备ASIC、 FPGA或通 过使传统部件电路的适当网络互联来实现,这对于相关领域(多个 领域)技术人员来说其改变是显而易见的。
因此本发明还可以包括计算才几产品,该计算才几产品可以是存储 介质,该存储介质包括用于对计算机进行编程以根据本发明执行处 理的指令。该存储介质可以包括(但不限于)任意类型的磁盘,包 括软盘、光盘、CD-ROM、》兹光盘、ROM、 RAM、 EPROM、 EEPROM、 闪存、磁或光卡、或适合存储电子指令的任意类型媒体。如本文所 使用的,术语"同时"意图描述共享某个共同时间段的事件,但是
39该术i吾不意图局限于在时间上以相同时间点开始、在时间上以相同 时间点结束、或者具有相同持续时间的事件。
尽管已经参照本发明的优选实施例具体示出并描述了本发明, 但是本领域技术人员可以理解,在不背离本发明范围的情况下可以 在形式和细节上进4于各种改变。
权利要求
1.一种运动自适应视频去隔行方法,包括以下步骤(A)通过以多种模式中的第一模式对当前场进行去隔行而生成帧;(B)通过以所述多种模式中的第二模式利用所述当前场和相反奇偶性场两者进行去隔行而生成所述帧;以及(C)通过以所述多种模式中的第三模式利用全部的所述当前场、所述相反奇偶性场、及另一场来进行去隔行而生成所述帧,其中,所述方法使用所述多种模式中的至少两种模式。
2. 根据权利要求1所述的方法,进一步包括以下步骤在使用所述多种模式的不同组合之间进行切换,使得(i) 存储器限制和(ii)系统带宽限制中的至少一个限制表征(a) 系统或(b)所述系统的特定工作才莫式中的一个。
3. 根据权利要求1所述的方法,进一步包括以下步骤(i)在被配置为生成所述帧的模块的外部的存储器中以 及(ii)为了生成所述帧,而进行緩冲,其中,(a)在所述第 一模式中緩冲不大于相当于一场的数据,(b )在所述第二模式 中緩沖不大于相当于两场的数据,以及(c)在所述第三模式 中緩冲不大于相当于三场的^1:据。
4. 根据权利要求1所述的方法,进一步包括以下步骤(i)从存储器到被配置为生成所述帧的模块以及(ii)为 了生成所述帧,而进行传送,其中,(a)在所述第一模式中不 传送所述当前场之外的场;(b )在所述第二模式中不传送所述当前场和所述相反奇偶性场之外的场;以及(c)在所述第三 模式中不传送所述当前场、所述相反奇偶性场、及所述另一场 之外的场。
5. 根据权利要求1所述的方法,进一步包括以下步骤通过以所述多种模式中的第四模式使用(i)可变数目的 一个或多个亮度场以及(ii)所述可变凄t目的一个或多个色度 场来进4于去隔4于而生成所述帧。
6. 根据权利要求5所述的方法,进一步包括以下步骤在所述第一模式、所述第二模式、所述第三模式、及所述 第四模式之间进行切换。
7. 根据权利要求1所述的方法,进一步包括以下步骤响应于系统的重新配置来改变用于进4亍去隔4亍的亮度场 的数目。
8. 才艮据纟又利要求1所述的方法,进一步包4舌以下步骤响应于系统的重新配置来改变用于进4亍去隔4亍的色度场 的数目。
9. 根据权利要求1所述的方法,其中,所述相反奇偶性场和所述 另一场两者在时间上出现在所述当前场之前。
10. —种系统,包4舌存储器,配置为对当前场进行緩冲;以及模块,配置为使用多种模式中的至少两个才莫式,用来(i) 通过以所述多种模式中的第 一模式对当前场进行去隔行而生 成帧,(ii)通过以所述多种模式中的第二模式利用所述当前场和相反奇偶性场两者来进行去隔行而生成所述帧,以及(iii) 通过以所述多种模式中的第三模式利用全部的所述当前场、所 述相反奇偶性场、及另一场来进行去隔;f亍而生成所述帧。
11. 一种运动自适应^f见频去隔;f于方法,包括以下步骤(A) 生成当前场中的多个当前4象素4立置的多个当前场计 凌t,其中,所述当前场计数中的每一个^艮踪所述多个当前^象素 位置中的相应的一个当前像素位置的静态历史;以及(B) 通过基于所述当前场计数对所述当前场进行去隔行 而生成帧。
12. 根据权利要求11所述的方法,其中,步骤(B)进一步基于之 前场中的多个之前4象素位置的多个之前场计凄t。
13. 根据权利要求11所述的方法,进一步包括以下步骤基于多个静态检查来更新所述当前场计数,每一个所述静 态;^查各针对所述当前场的亮度通道、所述当前场的第一色度 通道、以及所述当前场的第二色度通道。
14. 根据权利要求11所述的方法,进一步包括以下步骤将所述当前场计数设置为预定值。
15. —种运动自适应4见频去隔4亍方法,包4舌以下步骤(A) 以第一模式,通过对当前场、之前场、及之后场进 -f亍空间-时间混合而生成帧;(B) 以第二才莫式,通过对所述当前场和所述之前场进4亍 空间-时间;昆合而生成戶斤述帧;以及(C) 利用所述当前场中的多个像素而在相对于所述当前 场的两个相反奇偶性场中选择一个相反奇偶性场。
16. 才艮据4又利要求15所述的方法,进一步包括以下步骤以第三才莫式,通过对所述当前场和所述之后场进4亍空间-时间';昆合而生成所述帧。
17. 根据权利要求15所述的方法,其中,所述空间-时间混合包括 中值运算。
18. 根据权利要求15所述的方法,其中,所述空间-时间混合包括 非线性运算。
19. 4艮据^又利要求15所述的方法,进一步包括以下步骤基于所述之前场和所述之后场之间的差异而限制来自所 述空间滤波的改变。
20. —种系统,包4舌控制器,配置为生成多个配置信号,多个所述配置信号单 独为多个亮度场和多个色度场使能之前场和之后场;以及模块,配置为通过利用所述多个亮度场和所述多个色度场 的4壬一组来进4亍去隔4亍而生成帧,所述组只包4舌当前场的配置。
全文摘要
本发明披露了一种用于降低了存储器和带宽的运动自适应视频去隔行方法。该方法一般包括以下步骤(A)通过以多种模式中的第一模式对当前场进行去隔行来生成帧,(B)通过以多种模式中的第二模式使用当前场和相反奇偶性场两者来进行去隔行而生成该帧,以及(C)通过以多种模式中的第三模式使用全部的当前场、相反奇偶性场、及其他场来进行去隔行而生成该帧,其中,该方法使用多种模式中的至少两种模式。
文档编号H04N11/20GK101529923SQ200780039393
公开日2009年9月9日 申请日期2007年9月24日 优先权日2006年10月23日
发明者洛厄尔·温格, 白程宇 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1