具有减少的线缓冲器的解块滤波器的制造方法_5

文档序号:8532132阅读:来源:国知局
深度允许其比P 3占据线缓冲器中的更小空间,进而减少由解块滤波器使用的线缓冲器容量。
[0109]在一个实施例中,在解块滤波器应用强滤波时,在边缘408的每一侧调整三个样本,例如,P2> Po P。及qQ、q0 q2o所得的经调整的样本标示为p2’、P1'、P。’及qQ’、q/、q2’。在草案中如下指定强滤波计算:
[0110]P0' = pQ+Clip^tcH.)
[0111]p/ = Pi+Clip^tcH.)
[0112]ρ2,= p2+Clip(_2*tc)_(2*tc) ((2*p3-5*p2+p1+p0+q0+4)?3)
[0113]q0,= q0+Clip(_2*tc)_(2*tc) ((p1+2*p0-6*q0+2*q1+q2+4)?3)
[0114]q/ =((p0+q0-3*q1+q2+2)?2)
[0115]q2,= q2+Clip(_2*tc)_(2*tc) ((p0+q0+q1-5*q2+2*q3+4)?3)
[0116]在以上公式中的每一者中,从原始样本?1或q i及由Cl ip
(-2*tc)-(2*tc) (...)指定的调整值确定经滤波样本Pi’或q/。Clip函数防止滤波器作出过大的调整。在一个实施例中,如下界定Clip函数:
[0117]Clipa_b(x) = {a, if x<a ;b, if x>b ;x,其它}
[0118]因此,Clip(_2*tc)_(2*tc)(...)的输出被约束在_2*tc与2*tc之间,其中tc是阈值。Clip函数的应用可被称为“修剪”,而不管约束的特定值如何。
[0119]上文展示的强滤波计算使用边缘的每一侧上的四个样本,如先前所提及。最外样本口3及93用于其它样本的强滤波计算,但不自身滤波。在用于计算的样本中,P3&q3出现在最少的等式中,因为它们最远离边缘408而定位。因此,它们提供用于位深度减小的最佳候选者而不损失滤波质量。
[0120]过程600开始于要素602,其中解块滤波器计算缩短的输入pshOTt。在一些实施例中,例如,各种技术可以用于计算缩短的输入值:
[0121 ] Pshort = Cl ip a_b (Ρ3-2ΦΡ2+Ρ!)
[0122]或
[0123]Pshort = Cl ip a_b (2*p3-5*p2+p1+2*p0)。
[0124]在这些实例公式两者中,通过算术组合包含p3的样本,且通过Clip函数的应用来限制结果的位深度。通过算术对样本的组合及Clip函数的应用是分别对应于来自图5的过程500的要素502及504的特定实施例。虽然?3用于计算P shOTt,但口3未存储在线缓冲器中,因为Pshm^储在其位置。
[0125]在要素604处,pshOTt连同P 2,?1及P C1—起存储在线缓冲器中。借助其受限的位深度,PshOTJU3占用线缓冲器中的更小的空间。因此,解块滤波器所需的总线缓冲器容量减小,其可(例如)减少制造根据本发明的技术实施视频编码器或解码器的芯片的成本。
[0126]在要素606处,解块滤波器从线缓冲器读取样本以便在强滤波与弱滤波之间作出决策。在草案中如下界定强/弱决策:
[0127]Swi= 2 (IP 2; 1-2p1; i+p0; i I +1 q0; r2qh i+q2; i I) < ( β /4)[条件 I]
[0128]及(Iρ3,「ρ0’ i I +1 q0; i_q3; i I) < ( β /8)[条件 2]
[0129]及I p0’「q。,, I < ((5tc+l) /2)[条件 3]
[0130]IF (sw0AND sw3) THEN “强滤波器” ELSE “弱滤波器”
[0131]对于4-样本边缘片段(i = 0...3)
[0132]前述条件界定针对4-样本边缘片段的强/弱决策。因此,将单一强/弱决策应用于跨越边缘的一组4行或4列。如先前指示,仅所述4行或4列中的第一及最后包含在所述决策中。对于所包含的行及列,草案需要在条件2中考虑?3及(13。然而,在过程600中,线缓冲器中不存在P3。因此,在条件2中由p2取代P 3。另外,用q2取代q3以便维持对称性。因此,条件2变为:
[0133]…
[0134]及(IP2,i_Po, i I + I Qo, ?_^2, i I) < ( β /8)
[0135]…
[0136]在此改变下,强/弱决策不再取决于?3或q 3,因此解块滤波器仅在要素606处读取P(1、P2及qtl、q2。如先前所描述,P侧上的样本是从线缓冲器读取,且q侧上的样本是直接从前一译码阶段获得。在要素608处,解块滤波器根据在以上修改的草案中指定的条件而选择强或弱滤波。
[0137]如果选择强滤波,那么解块滤波器在要素610处准备通过从线缓冲器读取必需的P侧输入且从前一译码阶段获得必需的q侧输入而计算经滤波样本值Pc;、P1'、P;及qQ’、q/、Q2' °总的来说,必需的输入包含P。、Po P2及q。、Qn q2,以及缩短的输入Pstot及q—rt。输入Pshtjrt先前在要素602处计算出,且可从线缓冲器读取。然而,输入qshOTt未在当时计算出,因为在此实例中,q侧样本未存储在线缓冲器中。因此,在要素612处,解块滤波器使用从前一译码阶段获得的q侧样本中的一些或全部来计算qshOTt。用于计算qshOTt的公式将是用于计算口311_的相同公式,不同之处在于P侧样本将被q侧样本取代。因此,基于以上针对Pstort提供的实例公式,qshOTt公式的实例可包含:
[0138]Qshort = Cl ip a_b (q3-2*q2+q1)
[0139]或
[0140]Qshort = Cl ip a_b (2*q3-5*q2+q1+2*q0)。
[0141]如先前所示,针对p2’及q2’的强滤波计算依赖于样本p3&q3。然而,在过程600中,P3及q 3被P shOT^ q short取代。因此,在一个实施例中,以下公式用于P 2’及:
[0142]p2’ = p2+Clip(_2*tc)_(2*tc) ((2*pshort-p2-p1+q0+4)?3),
[0143]其可扩展为
[0144]p2’ = p2+Clip(_2*tc)_(2*tc) ((2*Clipa_b(p3-2*p2+p1)-p2-p1+q0+4)?3),
[0145]及
[0146]q2’ = q2+Clip(_2*tc)_(2*tc) ((2*qshort-q2-q1+p0+4) ?3),
[0147]其可扩展为
[0148]q2’ = q2+Clip(_2*tc)_(2*tc)。
[0149]如先前相对于图5所论述,具有受限的位深度的滤波输入(例如PshOT^ q short)的使用可不利地影响解块滤波器的性能。具体来说,用于计算P—汲Q ―撕Clip函数可限制解块滤波器的滤波强度。然而,Clip函数是有用的,因为其减小PshOT^ q shOTt的位深度。实际上,对解块滤波器的强度的限制与Clip函数提供的位深度减小成比例。因此,不针对用于计算Pstort及Qstot的Clip函数指定特定约束范围,因为可选择所要的范围a-b以取得空间效率与滤波强度之间的平衡。
[0150]然而,在原本与草案相容的解块滤波器中,依据以上针对p-代及q shOTt提供的公式的适度修剪将通常对滤波强度不具有不良影响。此有利的结果遵循草案需要强滤波的条件。具体来说,如果出现以下条件,那么解块滤波器将仅使用强滤波
[0151](1〈β/4,其暗示
[0152]|ρ2-2*Ρι+Ρ(ι|〈β/8,其暗示
[0153]II〈8。
[0154]项IP21-PjPciI对应于Wp1为中心的拉普拉斯。拉普拉斯测量样本之间的转变的突发性。因此,仅在P1附近的样本之间的转变不是非常突然的情况下才使用强滤波。在不存在?1周围的突然转变的情况下,将应用于P 2的滤波的量应一般足够低,使得其可被适应,而不管通过使用修剪的输入P-代及q shOTt而强加的限制如何。
[0155]在要素614及616处计算并入pshOTt&qshOTj^强滤波公式。首先,在要素614处,解块滤波器计算调整值。在本实例中,由强滤波公式中的Clip
(-2*tc)-(2*tc) (...)项表示调整值。在要素616处,将调整值添加到样本ΡρΡρ 口2及Qc^qpq2以产生经滤波样本Pc;、P1 ’、P2'及qQ’、Qi'、q2'。经滤波样本是过程600的最终输出。
[0156]如果在要素608处选择弱滤波而不是强滤波,那么解块滤波器将根据草案中界定的弱滤波公式来计算调整值及经滤波样本。在要素620处,解块滤波器将通过从线缓冲器及前一译码阶段读取样本而准备计算弱滤波器公式。经修改且用作弱滤波中的输入的样本的数目可变化,但草案的弱滤波公式永不取决于?3或q3。至多,弱滤波公式将依赖于样本P。、P1、P2及q。、q1、%。因此,可在过程600中无修改地使用所述公式。
[0157]在要素620处获得弱滤波必需的输入样本之后,解块滤波器将在要素622处计算用于至多四个样本(即,Po、口工及do、W的调整值。随后,在要素624处,解块滤波器将把调整值添加到原始样本以产生至多四个经滤波样本,即Pc;、P1'及<、q/。经滤波样本是过程600的最终输出。
[0158]虽然图6在一连串单独的步骤中描绘所述滤波过程,但在一些实施例中,这些步骤中的一些或全部可经组合或同时出现。
[0159]图7A是说明邻近视频块中的样本及可用于存储一些样本的线缓冲器的概念图。图7A提供用于解块滤波器的可能的存储要求的一个实例。在对跨越边缘706的滤波的准备中,解块滤波器将来自块702的样本存储在线缓冲器中。在此实例中来自块704的样本未存储在线缓冲器中,因为它们可在滤波过程期间从其它来源获得,如先前相对于图6的过程600所描述。
[0160]如上文所解释,强/弱滤波决策及强滤波计算的一些实施例利用将经滤波的每一行中的边缘的每一侧上的四个样本。在框702中,存在四个行,每一行具有四个样本。因此,解块滤波器将把来自块702的全部样本存储在线缓冲器710中。因此,线缓冲器710能够存储32个样本。如果每一样本具有例如8位的位深度,那么线缓冲器的总容量将必须为至少256位。
[0161]图7B是说明邻近视频块中的样本及具有减小的位深度的线缓冲器的概念图。图7B提供具有空间节约修改的解块滤波器的可能的存储要求的一个实例。所述修改根据本发明的各方面而描述,其在上文相对于图6的过程600而论述。由于所述修改,解块滤波器经配置以在不使用每一行末尾的样本。3及q 3的情况下操作。替代地,滤波器依赖于P short及。—!^,其例如是分别从巧^^^工及q 3、%、cIi的修剪组合来确定。如图7B中所描绘,输入PshOTt由模块720针对每一行而计算且连同样本P 2、Po Ptl—起存储在线缓冲器724中。输APsto具有比样本中的每一者更低的位深度。因此,用于存储Psto的空间726(或存储器大小)小于用于存储样本的空间728 (或存储器大小)。因此,线缓冲器724的总容量可减小,进而减少解块滤波器的成本且增加译码装置的性能及/或效率。
[0162]应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可用不同顺序执行、可添加、合并或全部省略(例如,实践所述技术并不需要所有的所描述动作或事件)O此外,在某些实例中,可例如通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
[0163]在一或多个实例中,所描述的功能可以用硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体一般可对应于(I)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
[0164]举例来说且并非限制,所述计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,任何连接可恰当地称为计算机可读媒体。举例来
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1