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

文档序号:8532132阅读:来源:国知局
帧内预测单元74、反量化单元76、反变换单元78、参考帧存储器84、求和器80及解块滤波器82。视频解码器30在一些实例中可执行一般与关于视频编码器20 (图2)所描述的编码回合互逆的解码回合。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符产生预测数据。
[0080]在解码过程期间,视频解码器30从视频编码器20接收表示经解码视频切片和相关联的语法元素的视频块的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化的系数、运动向量或帧内预测模式指示符及其它语法元素。摘解码单元70将运动向量及其它语法元素转发到运动补偿单元72。视频解码器30可以接收在视频切片层级和/或视频块层级处的语法元素。
[0081]当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可以基于用信号发送的帧内预测模式和来自当前图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。在视频帧被译码为经帧间译码(例如,B、P或GPB)切片时,运动补偿单元72基于运动向量及从熵解码单元70接收的其它语法元素而产生用于当前视频切片的视频块的预测块。可以从参考图片列表中的一者内的参考图片中的一者产生预测块。视频解码器30可基于存储于参考帧存储器84中的参考图片使用默认建构技术来建构参考帧列表:列表O及列表I。运动补偿单元72通过解析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测块。举例来说,运动补偿单元72使用所接收的语法元素中的一些语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的参考图片列表中的一或多者的建构信息、用于切片的每一经帧间编码视频块的运动向量、用于切片的每一经帧间译码视频块的帧间预测状态,及用以对当前视频切片中的视频块进行解码的其它信息。
[0082]运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用由视频编码器20在编码视频块期间使用的内插滤波器来计算参考块的子整数样本的内插值。在此状况下,运动补偿单元72可根据所接收的语法信息元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0083]反量化单元76将在位流中提供且由j:商解码单元70解码的经量化变换系数反量化,例如解量化。反量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算以确定应该应用的量化程度和同样反量化程度的量化参数QPY。
[0084]反变换单元78对变换系数应用反变换,例如反DCT、反整数变换或概念上类似的反变换过程,以便产生样本域中的残差块。
[0085]在运动补偿单元72基于运动向量及其它语法元素产生了当前视频块的预测块之后,视频解码器30通过对来自反变换单元78的残差块与由运动补偿单元72产生的对应的预测块求和而形成经解码视频块。求和器80表示可执行此求和运算的一或多个组件。
[0086]由求和器80产生的经解码视频块中的样本可含有由在编码过程期间使用的量化或类似压缩技术产生的误差,如先前所描述。此误差可导致成块假影。
[0087]解块滤波器82对来自求和器80的经解码块进行滤波以便移除成块假影。解块滤波器82可实施滤波过程,其包含确定是否滤波、确定滤波强度,及调整经解码块中的样本以平滑跨越块边缘的转变。滤波过程中的任一或全部部分可依赖于从一或多个样本导出的输入。根据本发明的各方面,所述输入可具有低于从其导出所述输入的样本的位深度的位深度。下文相对于额外的图式及实例详细地揭示可以用于减小输入的位深度的技术。
[0088]还可以使用除解块滤波器82之外的滤波器(在译码环路中或在译码环路之后)以改进视频质量。来自解块滤波器82的经解码视频块存储在参考帧存储器84中,其提供用于后续运动补偿的参考图片。参考帧存储器84还存储用于从视频解码器30输出的经解码视频。所述视频输出可稍后呈现在显示装置(例如图1的显示装置32)上。
[0089]图4A是说明包括多个视频块的视频切片的概念图。如所描绘,视频切片402包括16个视频块。视频切片402可例如由图2的视频编码器20或由图3的视频解码器30编码或解码。视频切片402还可以例如由图2的解块滤波器64或图3的解块滤波器82滤波。对视频切片402的滤波可根据涉及使用具有受限的位深度的输入的本发明的方面而进行。
[0090]视频切片402包含邻近块404、406,其各自是四个样本高及四个样本宽。邻近块404、406共享边缘408。在图4B中更详细地展示块404、406及边缘408。
[0091]在图4B的概念图中,可看到包括块404及406的个别样本,例如样本410。边缘408的一侧上的样本由字母“P”标示,而边缘的另一侧上的样本由字母“q”标示。在边缘408的每一侧上,最靠近所述边缘的样本由下标数字O标示,且离所述边缘更远的样本由以3结束的越来越大的整数标示。在行412、414、416、418中的每一者中重复相同的字母及数字,因为在一些实施例中,所述行各自经个别地滤波。因此,滤波过程可开始于行412,且循序移动到行414、行416及行418。
[0092]虽然在图4B中垂直地描绘边缘408,但出于对水平边缘滤波的目的,还可采用类似的标记及编号方案。在水平边缘的情况下,标示为Pjlj P 0及q ο到q 3的样本布置在垂直列而非水平行中,且可循序地按列而非按行对样本进行滤波。
[0093]图5是说明用于使用具有受限的位深度的输入的解块滤波器的实例过程的流程图。部分相对于视频编码器20的解块滤波器64描述过程500的元件,但所述过程可由其它组件(例如解码器30的解块滤波器82)或由其它类型的视频滤波器执行。还相对于块404、406、行412及定位在其中的样本以及边缘408描述过程500的元件。然而,可对块、边缘及样本的各种其它组合及配置执行过程500。另外,关于图5所描述的所有实施例可单独地或彼此组合地实施。
[0094]过程500可由解块滤波器64在对块404、406中的样本滤波时应用以减轻边缘408处的成块假影。过程500的元件(例如元件502、506、508)包含涉及一或多个样本的计算。过程500可一次应用于一行,例如,行412,以使得所述计算涉及仅来自所述行的样本。或者,可应用过程500以使得所述计算涉及来自一个以上行的样本。
[0095]过程500开始于要素502,其中解块滤波器64基于至少一个样本而确定滤波输入。所述至少一个样本可来自行412、来自另一行或来自行的任何组合。解块滤波器64可根据一或多个算术运算、一或多个逻辑运算、一或多个逐位运算或其组合而从所述样本确定滤波输入。可从除了样本之外的常数或可变参数确定所述滤波输入。
[0096]在要素504处,解块滤波器64限制在要素502处确定的滤波输入的位深度。滤波输入的受限的位深度小于用于确定所述输入的样本的位深度。例如,可从行412中的三个样本确定滤波输入,每一样本具有8位的位深度。3个样本的总位深度是24位,因此滤波输入可受限于低于24位的任何位深度。在一些实施方案中,解块滤波器64可从一个以上样本确定滤波输入,且限制所述输入的位深度以使得其低于单一样本的位深度。例如,并入的样本的总位深度可为24位,而滤波输入的受限的位深度可(例如)为6位。在任何情况下,解块滤波器64强加在滤波输入上的限制将减小输入的位深度,使得其占用更小的空间或存储器。在解块滤波器64在硬件中实施时,在要素504处实现的空间或存储器节约可为有益的。
[0097]可通过多种技术在要素504处限制滤波输入的位深度。例如,可通过将输入约束在预定范围内或通过从输入丢弃最高有效位中的至少一者而限制所述位深度。在一些实施例中,可通过量化限制所述位深度。还可以通过应用一或多个算术、逻辑或逐位运算来限制所述位深度,其可减小输入大小及对应的存储要求。
[0098]在要素504处限制滤波输入的位深度可在某些情形下不利地影响解块滤波器64的效用。例如,如果通过约束输入的量值来限制所述位深度,那么可因此限制解块滤波器64的滤波强度。在另一实例中,如果通过降低输入的精度来限制所述位深度,那么可因此限制滤波器的适应性。由于限制输入的位深度而引起的任何不良影响可与所述限制的强度成比例。因此,可选择限制的程度以取得空间效率与滤波效用之间的平衡。然而,如稍后进一步详细解释,解块滤波器64的效用在某些情形下对于某些滤波实施方案可完全不受影响。
[0099]解块滤波器64将使用在要素504处产生的具有受限的位深度的输入以在要素506处确定调整值。所述调整值对应于解块滤波器64将应用于正被滤波的样本的调整的量。所述输入可以用于计算单一样本的调整值,或计算多个样本的调整值。除了输入之外,所述调整值可取决于一或多个样本。可根据一或多个算术运算、一或多个逻辑运算、一或多个逐位运算或其组合从所述样本确定调整值。可从除了输入及样本之外的常数或可变参数确定调整值。
[0100]在一些实施例中,解块滤波器64将把在要素506处确定的调整值约束在预定范围内。在一个实施例中,约束所述调整值会防止多余的滤波。
[0101]在要素506处确定调整值之后,在要素508处所述调整值与样本组合以产生经滤波样本。解块滤波器64将通常依赖于将调整值与样本组合的总和,但也可使用其它算术运算、逻辑运算、逐位运算或其组合。在框508处产生的经滤波样本是过程500的输出。
[0102]图6是说明解块滤波过程600的另一实施例的流程图。下文相对于对图4的块404、406、边缘408、行412及相关联的样本操作的解块滤波器而描述过程600。过程600还可应用于块、边缘、行、列及样本的不同配置。另外,过程600涵盖将输入存储在线缓冲器中,其通常出现在解块滤波器的硬件实施方案中。然而,过程600仅是实例,且在其它实例中,本发明的技术可由软件或硬件与软件的组合实施,
[0103]为了减轻与边缘相关联的成块假影的效应,解块滤波器可一次调整一行或列中的样本。例如,为了对与边缘408相关联的成块假影进行滤波,解块滤波器可尤其调整行412中的样本。例如,滤波器可向所述样本应用强或弱的滤波。可一次针对多个行或列作出强与弱滤波之间的选择,且在作出决策时可不考虑所述行或列中的一些行或列。假设考虑行412,强/弱滤波决策可取决于位于行412中的边缘408的每一侧上的四个样本,即p3、p2、P1、Po及 q0、q2、q3。
[0104]取决于强/弱决策,解块滤波器根据强滤波模式或弱滤波模式来计算调整值。在所述草案中提供一种类型的强/弱滤波模式。草案强滤波模式使用边缘408的每一侧上的全部四个样本,即P3、P2' P1、Po及q c1、Q1、Q2' Q3°草案弱滤波模式仅使用在每一侧上最靠近边缘408而定位的两个或三个样本。因此,总的来说,解块滤波器将需要边缘408的每一侧上至多四个样本来作出强/弱滤波决策且根据所述草案而应用强或弱滤波。为了促进在滤波过程期间使用这些样本,解块滤波器将所述样本中的一些存储在线缓冲器中,如下文所描述。
[0105]可在硬件中实施解块滤波器。例如,可在芯片上实施解块滤波器以作为视频编码器或解码器的部分。可将线缓冲器实施为芯片上(内部)存储器以便避免与外部存储器存取相关的问题。解块滤波器可将用于滤波过程的样本存储在线缓冲器中,因此其不必在滤波过程期间从外部存储器重新获取样本。
[0106]芯片上存储器通常具有非常有限的大小,且因此有利的是,保持暂时存储在其中的数据的量尽可能低。解块滤波器所需的线缓冲器的大小取决于存储在线缓冲器中的滤波输入的总位深度。过程600的优点是其使用具有减小的位深度的输入,这比草案指定的输入需要更小的线缓冲器空间。对于芯片生产,减小线缓冲器的大小是有利的,因为额外的线缓冲器容量暗示额外的成本。
[0107]不是解块滤波器使用的全部样本都将必须存储在线缓冲器中。在过程600的实例中,块边缘的P侧上的样本存储在线缓冲器中,但q侧上的样本不是。未存储在线缓冲器中的样本可存储在存储器的单独区域中,例如帧缓冲器。或者,与在过程600中一样,可紧接在样本在解块滤波器中使用且未从任何存储器读取之前的先前译码阶段中计算所述样本。在任何情况下,将节约线缓冲器容量,只要通过具有较低的位深度的输入取代将原本存储在线缓冲器中的至少一个输入。
[0108]过程600包含强/弱决策以及强及弱滤波。然而,过程600用于强/弱决策及强滤波的输入的总位深度低于由草案指定的输入的位深度。具体来说,在一个实施例中,在执行过程600时,用样本?2取代样本P 3以用于强/弱决策的目的,且用替代性输入P shOTt将其取代以用于强滤波的目的。还针对q3作出等效的取代,以便保持边缘408的两侧上的滤波过程对称。替代性输入Pshtjrt是相对于图5中的过程500的要素504论述的具有受限的位深度的滤波输入的实施例。Psto的受限的位
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1