首页 / 专利库 / 图形技术 / 方块效应 / 自适应方向环路滤波器

自适应方向环路滤波器

阅读:1044发布:2020-06-04

专利汇可以提供自适应方向环路滤波器专利检索,专利查询,专利分析的服务。并且本 发明 提供一种自适应方向环路 滤波器 。该自适应方向环路滤波能够减少通过对视频序列的 帧 中的非垂直的图片边缘进行编码所产生的 块 效应的数目。基于非垂直图片边缘的取向或者包括作为与帧相关联的已编码视频序列的一部分的滤波器数据中的一个,从方向滤波器的集合中选择方向滤波器。所述选择能够包括基于用于编码所述块的方向性内预测模式、最接近地匹配显式地用 信号 通知为视频序列的一部分的 角 度的滤波器角度、块效应的数目的增量减少、针对块效应的 阈值 、或者滤波器使用的 频率 来选择方向滤波器。所述方向滤波器的集合中的每个方向滤波器能够具有0度至180度之间但不包括0度和180度的滤波器角度。,下面是自适应方向环路滤波器专利的具体信息内容。

1.一种用于应用方向滤波器的装置,包括:
至少一个处理器,所述至少一个处理器被配置成执行在非暂时性存储介质中存储的指令以:
在经编码的视频序列的中,识别相对于所述帧的当前的边界非垂直的图片边缘;
基于包括作为与所述帧相关联的所述经编码的视频序列的一部分的滤波器信令数据,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有各自的滤波器度;以及向所述图片边缘应用所选择的方向滤波器。
2.根据权利要求1所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
作为所述滤波器信令数据,识别与用于编码所述当前块的方向性内预测模式相关联的预测角度;以及
从所述方向滤波器的集合中选择具有最接近地匹配所述预测角度的滤波器角度的方向滤波器。
3.根据权利要求1所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
作为所述滤波器信令数据,识别与所述帧相关联编码的已用信号通知的滤波器角度;
以及
从所述方向滤波器的集合中选择具有最接近地匹配所述已用信号通知的滤波器角度的滤波器角度的方向滤波器。
4.根据权利要求1所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
选择所述方向滤波器的集合中的最频繁使用的方向滤波器作为所述方向滤波器。
5.根据权利要求1所述的装置,其中,应用所选择的方向滤波器包括执行指令以:
使用所述方向滤波器,对与所述当前块的所述边界相交的像素组应用自适应滤波,所述像素组由所述图片边缘来定义。
6.根据权利要求1所述的装置,其中,所述图片边缘的一部分位于所述帧的第二块内,其中所述边界将所述当前块与所述第二块分开。
7.根据权利要求1所述的装置,其中,所述方向滤波器的集合中的每个方向滤波器的各自的滤波器角度是0度至180度之间的角度,但不包括0度和180度。
8.一种用于应用方向滤波器的装置,包括:
至少一个处理器,所述至少一个处理器被配置成执行在非暂时性存储介质中存储的指令以:
在帧的当前块中,识别定义相对于所述当前块的边界非垂直的图片边缘的像素组;
基于所述图片边缘的取向,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有各自的滤波器角度;以及
在对所述帧进行编码或者解码期间,向所述图片边缘应用所选择的方向滤波器。
9.根据权利要求8所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
将所述方向滤波器的集合中的第一方向滤波器应用于所述当前块以生成第一经滤波的块,所述第一方向滤波器具有第一滤波器角度;
响应于确定所述第一经滤波的块的块效应的数目小于所述当前块的块效应的数目,将所述方向滤波器的集合中的第二方向滤波器应用于所述第一经滤波的块以生成第二经滤波的块,所述第二方向滤波器具有第二滤波器角度;
响应于确定所述第二经滤波的块的块效应的数目小于所述第一经滤波的块的块效应的数目,选择所述第一方向滤波器和所述第二方向滤波器的组合作为所述方向滤波器,其中,所述方向滤波器的滤波器角度是所述第一滤波器角度和所述第二滤波器角度的组合。
10.根据权利要求8所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
分别将所述方向滤波器的集合中的第一、第二和第三方向滤波器应用于所述当前块以生成第一、第二和第三经滤波的块,所述第一、第二和第三方向滤波器具有不同的滤波器角度;以及
响应于确定所述第一、第二和第三经滤波的块中的一个经滤波的块具有低于阈值的块效应的数目,选择所述第一、第二和第三方向滤波器中的一个方向滤波器作为所述方向滤波器;以及
响应于确定所述第一、第二和第三经滤波的块中的多于一个经滤波的块具有低于阈值的块效应的数目,选择与所述第一、第二和第三方向经滤波的块中具有最少数目的块效应的一个经滤波的块相对应的方向滤波器。
11.根据权利要求8所述的装置,其中,从方向滤波器的集合中选择方向滤波器包括执行指令以:
选择所述方向滤波器的集合中的最频繁使用的方向滤波器作为所述方向滤波器。
12.根据权利要求8所述的装置,其中,应用所选择的方向滤波器包括执行指令以:
使用所选择的方向滤波器对所述像素组应用自适应滤波,所述像素组与所述当前块的所述边界相交。
13.根据权利要求8所述的装置,其中,所述像素组包括位于所述帧的第二块内的像素,其中所述边界将所述当前块与所述第二块分开。
14.根据权利要求8所述的装置,其中,所述方向滤波器的集合中的每个方向滤波器的各自的滤波器角度是0度至180度之间的角度,但不包括0度和180度。
15.一种用于使用计算设备来编码或者解码视频信号的方法,所述视频信号包括定义视频序列的帧,所述帧具有块,并且所述块具有像素,所述方法包括:
在所述视频序列的当前帧的当前块中,识别定义相对于所述当前块的边界非垂直的图片边缘的像素组;
基于所述图片边缘的取向或者包括作为与所述当前帧相关联的经编码的视频序列的一部分的滤波器信令数据中的一个,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有滤波器角度;以及
在对所述帧进行编码或者解码期间,向所述图片边缘应用所选择的方向滤波器。
16.根据权利要求15所述的方法,其中,从方向滤波器的集合中选择方向滤波器包括:
作为所述滤波器信令数据,识别与用于编码所述当前块的方向性内预测模式相关联的预测角度;以及
从所述方向滤波器的集合中选择具有最接近地匹配所述预测角度的滤波器角度的方向滤波器。
17.根据权利要求15所述的方法,其中,从方向滤波器的集合中选择方向滤波器包括:
作为所述滤波器信令数据,识别与所述当前帧相关联编码的已用信号通知的滤波器角度;以及
从所述方向滤波器的集合中选择具有最接近地匹配所述已用信号通知的滤波器角度的滤波器角度的方向滤波器。
18.根据权利要求15所述的方法,其中,从方向滤波器的集合中选择方向滤波器包括:
将所述方向滤波器的集合中的第一方向滤波器应用于所述当前块以生成第一经滤波的块,所述第一方向滤波器具有第一滤波器角度;
响应于确定所述第一经滤波的块的块效应的数目小于所述当前块的块效应的数目,将所述方向滤波器的集合中的第二方向滤波器应用于所述第一经滤波的块以生成第二经滤波的块,所述第二方向滤波器具有第二滤波器角度;
响应于确定所述第二经滤波的块的块效应的数目小于所述第一经滤波的块的块效应的数目,选择所述第一方向滤波器和所述第二方向滤波器的组合作为所述方向滤波器,其中,所述方向滤波器的滤波器角度是所述第一滤波器角度和所述第二滤波器角度的组合。
19.根据权利要求15所述的方法,其中,从方向滤波器的集合中选择方向滤波器包括:
分别将所述方向滤波器的集合中的第一、第二和第三方向滤波器应用于所述当前块以生成第一、第二和第三经滤波的块,所述第一、第二和第三方向滤波器具有不同的滤波器角度;以及
响应于确定所述第一、第二和第三经滤波的块中的一个经滤波的块具有低于阈值的块效应的数目,选择所述第一、第二和第三方向滤波器中的一个方向滤波器作为所述方向滤波器;以及
响应于确定所述第一、第二和第三经滤波的块中的多于一个经滤波的块具有低于阈值的块效应的数目,选择与所述第一、第二和第三方向经滤波的块中具有最少数目的块效应的一个经滤波的块相对应的方向滤波器。
20.根据权利要求15所述的方法,其中,从方向滤波器的集合中选择方向滤波器包括:
选择所述方向滤波器的集合中的最频繁使用的方向滤波器作为所述方向滤波器。

说明书全文

自适应方向环路滤波器

技术领域

[0001] 本发明涉及自适应方向环路滤波器

背景技术

[0002] 数字视频流通常使用或者静止图像的序列表示视频。每个帧能够包括数个,而这些块可以包含描述像素的色值、亮度或者其他属性的信息。典型视频流中的数据量很大,并且视频的传输和存储可能使用到相当多的计算或通信资源。由于视频数据中所涉及的大数据量,传输和存储需要高性能的压缩和解压缩。

发明内容

[0003] 在此公开了使用自适应方向环路滤波来减少视频流中的块效应(blocking artifact)的数目的系统、方法和装置的方面。一种根据本公开的一个方面的装置,包括至少一个处理器,其被配置成执行在非暂时性存储介质中存储的指令以:在经编码的视频序列的帧中,识别当前块,所述当前块包括相对于所述当前块的边界非垂直的图片边缘;基于包括作为与所述帧相关联的所述经编码的视频序列的一部分的滤波器信令数据,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有滤波器度;以及向所述图片边缘应用所选择的方向滤波器。
[0004] 一种根据本公开的另一个方面的装置,包括至少一个处理器,其被配置成执行在非暂时性存储介质中存储的指令以:在帧的当前块中,识别定义相对于所述当前块的边界非垂直的图片边缘的像素组;基于所述图片边缘的取向,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有滤波器角度;以及在对所述帧进行编码或者解码期间,向所述图片边缘应用所选择的方向滤波器。
[0005] 根据本公开的另一个方面,提供了用于编码或者解码视频信号的方法,所述视频信号包括定义视频序列的帧,每个帧具有块,并且每个块具有像素,该方法包括:在帧的当前块中,识别定义相对于所述当前块的边界非垂直的图片边缘的像素组;基于所述图片边缘的取向或者包括作为与所述帧相关联的经编码的视频序列的一部分的滤波器信令数据中的一个,从方向滤波器的集合中选择方向滤波器,每个方向滤波器具有滤波器角度;以及在对所述帧进行编码或者解码期间,向所述图片边缘应用所选择的方向滤波器。在此公开的此方法和其他方法可以由适当的计算设备或者装置执行,例如此类设备或者装置的视频编码器或者视频解码器
[0006] 在下面实施例的详细描述、所附权利要求以及附图中揭示本公开的这些和其他方面。

附图说明

[0007] 从下面的详细描述中,当结合附图来阅读时,将会最好地理解本公开。除非另作说明或从场境中显而易见,否则在各附图内,相似的数字是指代相似的元素。
[0008] 图1是视频编码和解码系统的示意图。
[0009] 图2是能够实现发射站或者接收站的计算设备的示例的框图
[0010] 图3是待编码并且随后解码的视频流的图示。
[0011] 图4是根据本文教导的方面的编码器的框图。
[0012] 图5是根据本文教导的方面的解码器的框图。
[0013] 图6是使用自适应方向环路滤波来减少视频流中的块效应的数目的处理的示例的流程图
[0014] 图7是显式地用信号通知自适应方向环路滤波的滤波器角度的处理的示例的流程图。
[0015] 图8是使用自适应方向环路滤波的一个或多个滤波器角度的处理的示例的流程图。

具体实施方式

[0016] 许多图像和视频编码技术使用基于块的预测、变换和量化方案。使用基于块的预测、变换和量化可能会在编码期间沿块边界产生不连续性。这些通常称作块效应的不连续性能够在视觉上分散和降低所解码视频的质量以及被用作后续帧的基准帧的有效性。能够通过应用环内去块滤波器或者环路滤波器来减少这些不连续性。
[0017] 环路滤波器被应用于重构帧或者重构帧在解码处理结束处的部分并且被使用以减少块效应。一旦由环路滤波器处理重构帧后,便能将其用作用于在解码视频序列的过程中预测后续的帧的基准帧。常规的环路滤波器使用垂直于块边界执行滤波操作的技术。例如,在视频序列的帧中将两个相邻块分开的垂直或平边界可以由常规的环路滤波器使用,以减少位于相邻块内的块效应的数目。虽然该技术对于包含垂直于块边界的图片边缘的图像纹理可能有效,但其并不会对不垂直于块边界的图片边缘的图像纹理起良好作用。
[0018] 本公开的实施方式描述了使用自适应方向环路滤波器来减少相对于对应块边界非垂直的图片边缘至少部分地位于其内的块的块效应的数目。所要应用的方向滤波器能够选自方向滤波器的集合,例如基于显式地用信号通知为与包括块的帧相关联的视频序列的一部分的数据、非垂直图片边缘的取向、相对于块的块效应的数目的阈值、使用频率或者其他因素。首先参照能够实现自适应方向环路滤波器的系统在此描述其进一步细节。
[0019] 图1是视频编码和解码系统100的示意图。例如,发射站102能够是具有诸如图2中所述的内部硬件配置的计算机。然而,发射站102的其他合适的实施方式也可行。例如,发射站102的处理能够被分布于多个设备。
[0020] 网络104能够将发射站102与接收站106相连接,用于视频流的编码和解码。具体地,能够在发射站102中编码视频流并且能够在接收站106中解码经编码的视频流。例如,网络104能够是因特网。网络104也能够是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网络、或者将视频流从发射站102传递至该示例中的接收站106的任何其他装置。
[0021] 在一个示例中,接收站106能够是具有诸如图2中所述的内部硬件配置的计算机。然而,接收站106的其他合适的实施方式也可行。例如,接收站106的处理能够被分布于多个设备。
[0022] 视频编码和解码系统100的其他实施方式也可行。例如,一种实施方式能够省略网络104。在其他实施方式中,视频流能够被编码并且再被存储以便在稍后的时间传送至接收站106或者具有存储器的任何其他设备。在一个实施方式中,接收站106(例如,经由网络104、计算机总线和/或一些通信路径)接收经编码的视频流并且存储视频流,用于稍后解码。在示例的实施方式中,实时传输协议(RTP)被使用于在网络104上传送经编码的视频。在另一个实施方式中,可以使用除RTP以外的传输协议,例如,基于超文本传输协议(HTTP)的视频流送协议。
[0023] 当用在视频会议系统中时,例如,发射站102和/或接收站106可以包括编码以及解码视频流两方面的能,如下所述。例如,接收站106能够是视频会议参与者,其从视频会议服务器(例如,发射站102)接收经编码的视频比特流以解码和查看,以及进一步编码其本身的视频比特流并且将其发送至视频会议服务器以供其他参与者解码和查看。
[0024] 图2是能够实现发射站或者接收站的计算设备200的示例的框图。例如,计算设备200能够实现图1的发射站102和接收站106中的一个或两个。计算设备200能够呈包括多个计算设备的计算系统的形式,或者呈单一计算设备的形式,例如,移动电话、平板型计算机、膝上型计算机、笔记本型计算机、桌面型计算机或诸如此类。
[0025] 计算设备200中的CPU 202能够是中央处理单元。替选地,CPU202能够是能够操纵或者处理现有的或以后开发的信息的任何其他类型的设备或者多个设备。虽然所公开的实施方式能够用所示的单一处理器来实践,例如CPU 202,但使用一个以上处理器能够在速度和效率方面获得优势。
[0026] 计算设备200中的存储器204能够是只读存储器(ROM)设备或者随机存取存储器(RAM)设备。能够使用任何其他合适类型的非暂时性存储设备作为存储器204。存储器204能够包括由CPU202使用总线212来访问的代码和数据206。存储器204能够进一步包括操作系统208以及应用程序210,应用程序210包括允许CPU202执行本文所述的方法的至少一个程序。例如,应用程序210能够包括应用1至N,其进一步包括执行本文所述的方法的视频编码应用。计算设备200也能够包括二级存储体214,其例如能够是与移动计算设备配用的存储卡。因为视频通信会话可能包含大量的信息,它们能够被整体地或部分地存储于二级存储体(storage)214中并且视处理需要而被加载到存储器204中。
[0027] 计算设备200也能够包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是触敏显示器,其将显示器与能够操作以感测触摸输入的触敏元件相结合。显示器218能够经由总线212而被耦合至CPU 202。除显示器218之外或者作为其替选,还能够提供允许用户编程或以其他方式使用计算设备200的其他输出设备。当输出设备是显示器或者包括显示器时,该显示器能够以各种方式来实现,包括液晶显示器(LCD)、阴极射线管(CRT)显示器或者发光二极管(LED)显示器,诸如有机LED(OLED)显示器。
[0028] 计算设备200也能够包括图像传感设备220或者与其通信,例如,相机或者现有的或以后开发的任何其他图像传感设备220,其能够感测图像,诸如操作计算设备200的用户的图像。图像传感设备220能够被定位成使得其指向操作计算设备200的用户。在示例中,图像传感设备200的位置和光轴能够被配置成使得视场包括与显示器218紧邻并且自其可见显示器218的区域。
[0029] 计算设备200也能够包括声音传感设备222或者与其通信,例如,麦克或者现有的或以后开发的任何其他声音传感设备,其能够感测计算设备200附近的声音。声音传感设备222能够被定位成使得其指向操作计算设备200的用户,并且能够被配置成接收声音,例如,在用户操作计算设备200时,由用户发表的讲话或者其他话语。
[0030] 虽然图2将计算设备200的CPU 202以及存储器(memory)204描绘成整合到单一单元中,但能够利用其他配置。CPU 202的操作能够跨越能够直接地或者在局域网或其他网络上耦合的多个机器分布(每个机器具有一个或多个处理器)。存储器204能够跨越多个机器分布,诸如基于网络的存储器或者在多个机器中执行计算设备200的操作的存储器。虽然在此描绘为单一总线,但计算设备200的总线212能够由多个总线组成。进一步,二级存储体214能够被直接耦合至计算设备200的其他组件或者能够经由网络而被访问,并且能够包括诸如存储卡的单一整合单元或者诸如多个存储卡的多个单元。计算设备200由此能够以广泛的各种配置来实现。
[0031] 图3是待编码并且随后解码的视频流300的示例的图示。视频流300包括视频序列302。在下一层级,视频序列302包括数个相邻帧304。虽然描绘三个帧作为相邻帧304,但视频序列302能够包括任何数目的相邻帧304。相邻帧304能够再被进一步再分成单个的帧,例如,帧306。在下一层级,帧306能够被分成一系列平面或片段308。例如,片段(或平面)308能够是允许并行处理的帧的子集。片段308也可能是能够将视频数据分成单独的色彩的帧的子集。例如,彩色视频数据的帧306能够包括一个亮度平面以及两个色度平面。可以在不同的分辨率采样片段308。
[0032] 无论将帧306分成片段308与否,帧306都可以进一步被再分成块310,其能够包含对应于例如帧306中的16×16像素的数据。块310也能够被布置成包括来自像素数据的一个或多个平面的数据。块310也能够是任何其他合适的大小,诸如4x4像素、8x8像素、16x8像素、8x16像素、16x16像素或者更大。除非另作说明,否则术语块与宏块在本文中可互换使用。
[0033] 图4是根据实施方式的编码器400的框图。如上所述,编码器400能够被实现在发射站102中,诸如通过提供被存储于例如存储器204的存储器中计算机软件程序。计算机软件程序能够包括机器指令,所述指令当由诸如CPU 202的处理器来执行时,使得发射站102以图4中所述的方式来编码视频数据。编码器400也能够被实现为包括在例如发射站102中的专用硬件。在一个特别理想的实施方式中,编码器400是硬件编码器。编码器400在前向路径(由实连接线所示)中具有执行各种功能以使用视频流300作为输入来产生经编码或经压缩的比特流420的以下级:内/间预测级402、变换级404、量化级406以及熵编码级408。编码器400也可以包括重构路径(由虚连接线所示),以为对将来的块进行编码而重构帧。在图4中,编码器400在重构路径中具有以下执行各种功能的级:去量化级410、逆变换级412、重构级
414以及环路滤波级416。编码器400的其他结构性变型能够被使用于编码视频流300。
[0034] 当存在视频流300用于编码时,帧306能够以块为单位来处理。在内/间预测级402处,能够使用帧内预测(intra-frame prediction)(也称为内预测(intra prediction))或者帧间预测(inter-frame prediction)(也称为间预测(inter prediction))来编码每个块。在任何情形下,都能够形成预测块。就内预测而言,可以从当前帧中的先前曾被编码和重构的样本中形成预测块。就间预测而言,可以从一个或多个先前已构建的基准帧中的样本形成预测块。
[0035] 接下来,仍参照图4,在内/间预测级402处,能够从当前块中减去预测块,以产生残差块(也称为残差)。变换级404使用基于块的变换,将残差变换成例如频域中的变换系数。量化级406使用量化器值或者量化等级,将变换系数转换成离散量子值,其被称作经量化的变换系数。例如,变换系数可以除以量化器值并且被截尾。然后通过熵编码级408熵编码经量化的变换系数。然后再将经熵编码的系数连同可以包括例如所用的预测类型、变换类型、运动矢量以及量化器值的用于解码块的其他信息一起输出至经压缩的比特流420。能够使用各种技术,诸如可变长度编码(VLC)或者算术编码,将经压缩的比特流420格式化。经压缩的比特流420也能够被称作经编码的视频流或者经编码的视频比特流,并且所述术语在本文中可互换使用。
[0036] 图4中的重构路径(由虚连接线所示)能够被使用以确保编码器400和解码器500(如下述)使用相同的基准帧来解码经压缩的比特流420。重构路径执行在下文更加详述讨论的与解码处理期间发生的功能类似的功能,包括在去量化级410去量化经量化的变换系数以及在逆变换级412逆变换经去量化的变换系数,以产生导出的残差块(也称为导出残差)。在重构级414,能够将在内/间预测级402处预测的预测块添加到导出残差以创建经重构的块。环路滤波级416能够被应用于经重构的块以减少失真,诸如块效应。下面参照图6、7和8来讨论作为解码的环路滤波级416的一部分的用于减少块效应的实施方式,例如,通过使用自适应方向环路滤波器以针对非垂直的图像边缘减少块效应的数目。
[0037] 编码器400的其他变型能够被使用以编码经压缩的比特流420。例如,基于非变换的编码器能够对某些块或帧在没有变换级404的情况下直接量化残差信号。在另一个实施方式中,编码器能够将量化级406以及去量化级410合并成单一级。
[0038] 图5是根据另一实施方式的解码器500的框图。解码器500能够被实现于在接收站106中,例如通过提供存储于存储器204中的计算机软件程序。计算机软件程序能够包括机器指令,所述指令当由诸如CPU 202的处理器来执行时,使得接收站106以图5中所述的方式来解码视频数据。解码器500也能够被实现于包括在例如发射站102或者接收站106内的硬件中。
[0039] 类似于上文所讨论的编码器400的重构路径,在一个示例中,解码器500包括执行各种功能以从经压缩的比特流420中产生输出视频流516的以下级:熵解码级502、去量化级504、逆变换级506、内/间预测级508、重构级510、环路滤波级512以及去块滤波级514。解码器500的其他结构性变型能够被使用以解码经压缩的比特流420。
[0040] 当存在经压缩的比特流420用于解码时,经压缩的比特流420内的数据元素能够由熵解码级502来解码,以产生经量化的变换系数的集合。去量化级504去量化经量化的变换系数(例如通过将经量化的变换系数乘以量化器值),并且逆变换级506逆变换经去量化的变换系数,以产生与在编码器400中通过逆变换级412所创建的导出残差相同的导出残差。使用从经压缩的比特流420所解码的报头信息,解码器500能够使用内/间预测级508来创建与在编码器400中,例如在内/间预测级402处,所创建的预测块相同的预测块。在重构级
510,能够将预测块添加到导出残差以创建经重构的块。环路滤波级512能够被应用于经重构的块以减少块效应。下面参照图6、7和8来讨论作为解码器500的环路滤波级512的一部分的用于减少块效应的实施方式,例如,通过使用自适应方向环路滤波器以针对非垂直的图像边缘减少块效应的数目。
[0041] 能够将其他滤波应用于经重构的块。在该示例中,将去块滤波级514应用于经重构的块以减少成块失真,并且将结果输出作为输出视频流516。输出视频流516也能够被称作经解码的视频流,并且所述术语在本文中可互换使用。解码器500的其他变型能够被使用以解码经压缩的比特流420。例如,解码器500能够在没有去块滤波级514的情况下产生输出视频流516。
[0042] 图6、7和8分别是使用自适应方向环路滤波器来减少视频流中的块效应的数目、显式地用信号通知用于自适应方向环路滤波的滤波器角度、以及使用自适应方向环路滤波的一个或多个滤波器角度的处理600、700和800的流程图。能够在诸如计算设备200的系统中实现处理600、700和800以有助于对视频流的编码和解码。例如,能够将处理600、700和800实现为由诸如发射站102或者接收站106的计算设备来执行的软件程序。软件程序能够包括存储在诸如存储器204的存储器中的机器可读指令,当由诸如CPU 202的处理器来执行时,其使得计算设备执行处理600、700和800中的一个或多个。处理600、700和800也能够整体地或部分地使用硬件来实现。如上所述,一些计算设备可以具有多个存储器和多个处理器,并且在这样的情形下,可以使用不同的处理器和存储器来分配处理600、700和800中的每个的步骤或操作。在本文中使用单数形式的术语“处理器”和“存储器”涵盖仅具有一个处理器和一个存储器的计算设备以及具有多个处理器和存储器的设备,它们可以被各自使用在一些但未必全部所述的步骤的执行中。
[0043] 简化说明起见,将每个处理600、700和800描绘和描述为一系列步骤或操作。然而,根据本公开的步骤和操作能够以各种顺序和/或同时进行。此外,根据本公开的步骤或操作可以与本文中未提出和描述的其他步骤或操作同时进行。另外,并非所述的全部步骤或操作对于实现根据所公开主题所述的方法均是所必需的。处理600、700和800中的一个或多个可以重复用于输入信号的每个帧。
[0044] 图6是使用自适应方向环路滤波来减少视频流中的块效应的数目的处理600的示例的流程图。在操作602中,在视频流的当前帧的块内,识别非垂直的图片边缘。非垂直的图片边缘能够代表例如由所述块的像素所描绘的纹理,其相对于对应的块边界并不垂直。非垂直的图片边缘能够由像素组来定义,其例如能够整体地或者部分地位于所述块以及共享对应的块边界的相邻块内。像素组能够是与块边界相交的像素线。非垂直的图片边缘能够具有取向,其指示该非垂直的图片边缘与对应的块边界相交的角度。
[0045] 能够从例如通信自诸如发射站102的计算设备的包括为视频序列的一部分的数据中识别非垂直的图片边缘。能够从存储在诸如存储器204的存储器内的数据中识别非垂直的图片边缘。能够通过边缘取向检测软件的表现或执行来识别非垂直的图片边缘。能够通过例如由诸如发射站102或者接收站106的计算设备从指示或表示视频序列的图片的数据集合中选择指示或表示非垂直的图片边缘的数据来识别非垂直的图片边缘。能够通过例如发射站102或者接收站106的计算设备生成指示或表示非垂直的图片边缘的数据来识别非垂直的图片边缘。识别非垂直的图片边缘的实施方式能够包括用于识别非垂直的图片边缘的前述或其他方式的组合。
[0046] 在操作604中,针对自适应方向环路滤波,选择方向滤波器。基于方向滤波器的滤波器角度,可以从方向滤波器的集合中选择方向滤波器。方向滤波器的集合能够包括任意数目的方向滤波器。与给定方向滤波器相关联的滤波器角度能够是的0度至180度之间的角度,但不包括0度和180度。在该示例中,方向滤波器的集合能够包括178个方向滤波器,其中,每个方向滤波器具有1度至179度中的一个的相关滤波器角度。方向滤波器的集合能够包括最常用于方向滤波的方向滤波器的集合。例如,方向滤波器的集合能够包括两个方向滤波器,每个具有45度和135度中的一个的滤波器角度。作为另一示例,方向滤波器的集合能够包括三个方向滤波器,每个具有45度、22.5度和67.5度中的一个的滤波器角度。基于集合内方向滤波器的数目,编码器或者解码器的复杂度会变得增高。也就是说,与具有少量方向滤波器的集合相比,具有大量方向滤波器的集合通常会增加编码器或者解码器的复杂度。
[0047] 能够基于包括为经编码的视频序列的压缩数据的一部分的滤波器信令数据,从方向滤波器的集合中选择方向滤波器。例如,滤波器信令数据能够被编码为视频序列的一部分以指示在上述操作602中所识别的非垂直的图片边缘的角度或者取向。滤波器信令数据能够被编码为与包括非垂直的图片边缘对应的块的帧相关联的视频序列的一部分。例如,滤波器信令数据能够被包括为对应块、帧的切片(例如,包括所述块)或者帧本身的报头的一部分。能够基于非垂直的图片边缘的取向,例如在没有作为经编码的视频序列的一部分的取向的显式信令的情况下,从方向滤波器的集合中选择方向滤波器。例如,能够基于方向滤波器的滤波器角度与非垂直的图片边缘的取向之间的相似度或匹配度来选择方向滤波器。
[0048] 能够基于针对块效应的数目的阈值来选择方向滤波器。例如,阈值能够指示在应用方向滤波器之后剩余在块中的块效应的最大数目。作为另一示例,阈值能够指示响应于应用方向滤波器而在块内会减少的块效应的最小数目。能够通过将各种方向滤波器应用于所述块以生成经滤波的块来选择方向滤波器,其中,如果经滤波的块中的任何一个满足所指示的阈值,则对应的方向滤波器能够被选择为所述方向滤波器。例如,具有不同滤波器角度(虽然0至180度之间的任何其他角度但不包括0度和180度能够被选择为方向滤波器中的任何一个的滤波器角度,但是例如,45度、22.5度和67.5度)的第一、第二和第三方向滤波器能够被应用于块以生成第一、第二和第三经滤波的块。在第一、第二和第三经滤波的块中的一个满足阈值的情况下(例如,由于其包含块效应的总数目小于阈值或者由于对应的方向滤波器从未经滤波的版本的块中减少一定量的块效应的数目高于阈值),对应的方向滤波器能够被选择为待应用于自适应方向环路滤波的方向滤波器。在第一、第二和第三经滤波的块中的一个以上满足阈值的实施方式中,对应于第一、第二和第三经滤波的块中的超出阈值最多的一个的方向滤波器能够被选择为所述方向滤波器。在第一、第二和第三经滤波的块中没有一个满足阈值的实施方式中,对应于第一、第二和第三经滤波的块中的从未经滤波的版本的块中减少块效应的数目最多的一个的方向滤波器能够被选择为所述方向滤波器。在第一、第二和第三经滤波的块中没有一个满足阈值的实施方式中,能够基于阈值来考虑另外的方向滤波器。
[0049] 能够基于使用频率来选择方向滤波器。例如,能够从方向滤波器的集合中选择使用最频繁的方向滤波器作为所述方向滤波器。所选择的方向滤波器能够是具有来自方向滤波器的集合的多个滤波器角度的组合的滤波器角度的方向滤波器。例如,所选择的方向滤波器能够具有来自方向滤波器的集合的多个滤波器角度的平均或者求和的滤波器角度。下面参照图7和图8的处理700和800来分别讨论用于从方向滤波器的集合中选择方向滤波器以便用于自适应方向环路滤波的附加实施方式。
[0050] 能够通过选择、选取或以其他方式识别方向滤波器,例如,经由前述实施方式中的一个或多个,从方向滤波器的集合中选择方向滤波器。能够通过读取存储在诸如存储器204的存储器中的数据,从方向滤波器的集合中选择方向滤波器。能够通过例如从发射站102接收指示或表示方向滤波器的数据,从方向滤波器的集合中选择方向滤波器。能够通过例如由发射站102或者接收站106生成指示或表示待使用的方向滤波器的数据,从方向滤波器的集合中选择方向滤波器。用于选择方向滤波器的实施方式能够包括用于选择方向滤波器的前述或其他方式的组合。
[0051] 在操作606中,应用在上述操作604中所选择的方向滤波器以执行自适应方向环路滤波。通过减少在方向滤波器所应用的块的边界附近或者在所述帧的块内的块效应的数目,在对视频序列的帧进行编码或者解码期间,能够使用所选择的方向滤波器。例如,所选择的方向滤波器能够被使用以对在上述操作602中所识别的非垂直的图片边缘执行自适应滤波。所选择的方向滤波器能够通过由例如CPU 202的处理器来执行的和/或存储于诸如存储器204的存储器中的指令而被应用。
[0052] 图7是显式地用信号通知自适应方向环路滤波的滤波器角度的处理700的示例的流程图。也就是说,滤波器角度能够作为与对象帧相关联的视频序列的一部分被显式地用信号通知,由此对应于该滤波器角度的方向滤波器能够被选择用于自适应方向环路滤波。滤波器角度能够作为与块、切片或待应用对应的方向滤波器的帧相关联的帧或者切片、块的报头内的滤波器信令数据被显式地用信号通知。例如,在包括块的帧已经被编码为待解码的视频序列的一部分的情况下,所述块、包括所述块的切片或者包括所述切片和/或块的帧的经编码的报头能够包括指示待用于解码所述帧的滤波器角度的滤波器信令数据。滤波器信令数据能够与用于预测所述块的方向性内预测模式相关联。例如,用于编码所述块的方向性内预测模式的预测角度能够被用作用于选择方向滤波器的滤波器角度,作为解码操作的一部分。通过这种方式,表示内预测模式的数据能够作为滤波器信令数据被显式地用信号通知。
[0053] 在操作702中,识别与视频序列相关联的滤波器信令数据。视频序列能够是包括由编码器通信至解码器的经编码的视频序列的压缩数据。滤波器信令数据能够与视频序列的帧、帧的切片、切片的块等相关联。滤波器信令数据能够被实现为各种数据,例如,指示用于预测与其相关联的块、切片或帧方向性内预测模式的数据,或者编码为与所述帧相关联的视频序列的一部分的数据,例如,包括在与块、切片或帧相关联的报头或者其他数据集中的数据。滤波器信令数据能够基于其实施方式而被处理。
[0054] 在操作704中,处理700确定滤波器信令数据是否是基于方向性内预测模式。在实施方式中,通过确定方向性内预测模式是否被用于编码帧或块,以及如果是,则确定指示由该方向性内预测模式所使用的预测角度的数据是否被编码为视频序列的一部分,能够做出该确定。响应于在操作704中确定滤波器信令数据是基于方向性内预测模式,处理700继续至操作706,在操作706中,能够识别用于预测帧或块的方向性内预测模式的预测角度。在一些实施方式中,能够从包括指示预测角度的数据的编码的帧或者报头中识别预测角度。根据用于编码帧的编解码器,能够将预测角度限制成一定数目的可能预测角度中的一个或者其能够是编解码器可用的任何角度。响应于识别预测角度,操作708通过从方向滤波器的集合中选择具有最接近地匹配预测角度的滤波器角度的方向滤波器而完成处理700。操作708可以包括搜索与集合中的方向滤波器相关联的滤波器角度,以找到最接近地匹配在操作706中所识别的预测角度的滤波器角度。操作708可以包括确定是否有与集合中的方向滤波器相关联的滤波器角度匹配预测角度,以及如果是这样,则选择该匹配的方向滤波器。如果没有与集合中的方向滤波器相关联的滤波器角度匹配预测角度,则操作708可以包括确定是否有与方向滤波器相关联的滤波器角度在预测角度的定义范围内(例如,在预测角度的5度内)。
[0055] 响应于在操作704中确定滤波器信令数据不是基于方向性内预测模式,处理700继续至操作710,在操作710中,识别与帧相关联编码的已用信号通知的滤波器角度。能够从包括指示已用信号通知的滤波器角度的数据的编码的帧或者报头中识别已用信号通知的滤波器角度。响应于识别预测角度,操作712通过从方向滤波器的集合中选择具有最接近地匹配已用信号通知的滤波器角度的滤波器角度的方向滤波器而完成处理700。操作712可以包括搜索与集合中的方向滤波器相关联的滤波器角度,以找到最接近地匹配在操作710中所识别的已用信号通知的滤波器角度的滤波器角度。操作712可以包括确定是否有与集合中的方向滤波器相关联的滤波器角度匹配已用信号通知的滤波器角度,以及如果是,则选择该匹配的方向滤波器。如果没有与集合中的方向滤波器相关联的滤波器角度匹配已用信号通知的滤波器角度,则操作712能够包括确定是否有与方向滤波器相关联的滤波器角度在已用信号通知的滤波器角度的定义范围内(例如,在已用信号通知的滤波器角度的5度内)。
[0056] 图8是使用自适应方向环路滤波的一个或多个滤波器角度的处理800的示例的流程图。本公开的实施方式能够基于待滤波的非垂直的图片边缘的取向或者角度来选择方向滤波器。例如,能够基于相关联的滤波器角度与非垂直的图片边缘的取向的比较如何来选择方向滤波器,或者能够基于它们的相关联的滤波器角度的组合来选择多个方向滤波器。在一个或多个方向滤波器的滤波器角度匹配非垂直的图片边缘的取向的情况下(例如,在方向滤波器的角度匹配图片边缘的角度的情况下),能够选择它们用于自适应方向环路滤波。通过一次应用一个方向滤波器并且渐进地评估因此从块中减少多少块效应,能够确定选择一个或多个方向滤波器。如果需要或想要,例如,在所应用的方向滤波器没有充分地减少块效应的数目或者所应用的方向滤波器的滤波器角度没有匹配或未足够相似于非垂直的图片边缘的取向的情况下,能够应用另外的方向滤波器。
[0057] 在操作802处,将第一方向滤波器应用于非垂直的图片边缘的至少一部分位于其中的块。所用的第一方向滤波器能够是方向滤波器的集合中的最频繁使用的方向滤波器。例如,最频繁使用的滤波器角度可以是45度或135度中的一个(例如,在垂直于块边界的角度之间居中的角度)。然而,例如,基于由方向滤波器的集合中的方向滤波器所滤波的图片边缘或者关于视频序列的其他质量,任何滤波器角度或多个角度可能是最频繁使用的滤波器角度。在操作802中所应用的第一方向滤波器能够从方向滤波器的集合中随机选择。能够基于方向滤波器的集合的索引来选择第一方向滤波器。因此,对第一方向滤波器的选择能够是有意的或者任意的。
[0058] 在选择时,能够将第一方向滤波器应用于所述块,例如,以生成经滤波的块,其能够被用作用于执行处理800的后续操作的临时基准。在操作804中,处理800确定通过第一方向滤波器的应用是否已减少块效应的数目。例如,经滤波的块能够具有表示在第一方向滤波器应用后会剩余在实际块中的块效应数目的块效应数目。因此,操作804能够包括将实际块中的块效应的数目与经滤波的块中的块效应的数目相比较。在确定经滤波的块具有少于实际块的块效应时,能够确定通过第一方向滤波器的应用会减少块效应的数目。
[0059] 响应于确定第一方向滤波器的应用不会减少实际块中的块效应的数目,处理800继续至操作806,在操作806中,选择不同的方向滤波器以供应用。操作806能够包括将在操作802中(或者在操作806的前一次迭代中,视情形)所生成的经滤波的块替换为基于除操作802中所选择的方向滤波器以外的方向滤波器(或者在操作806的前几次迭代中所选择的任何方向滤波器,视情形)的应用所生成的新的经滤波的块。例如通过可用于在操作802中选择第一方向滤波器的实施方式,能够确定用于在操作806中的应用的不同的方向滤波器的选择。响应于在操作806中选择不同的方向滤波器,处理800返回至操作804以确定该不同的方向滤波器的应用是否会减少块中块效应的数目。用于确定这一点的实施方式如上所讨论。
[0060] 响应于确定第一(或者不同的,视情形)方向滤波器的应用会减少实际块中的块效应的数目,处理800继续至操作808以确定是否需要或想要任何附加滤波。操作808可以包括将所选择的方向滤波器的滤波器角度与非垂直的图片边缘的取向相比较。例如,在滤波器角度匹配图片边缘取向的情况下,所选择的方向滤波器能够被确定是用于自适应方向环路滤波的最优方向滤波器。作为另一示例,在所选择的方向滤波器的滤波器角度在图片边缘取向的定义范围内(例如,在图片边缘取向的5度内)的情况下,所选择的方向滤波器能够被确定足够用于自适应方向环路滤波。操作808可以包括把将会减少的块效应的数目与阈值相比较以确定所选择的方向滤波器是否满足阈值。例如,阈值能够指示通过应用所选择的方向滤波器后剩余在实际块中的块效应的可接受数目或者要从实际块中减少的块效应的总数目。
[0061] 响应于在操作808中确定需要或想要附加滤波,处理800继续至操作810,在操作810中,除先前所选择的方向滤波器之外,还应用另一个方向滤波器。应用另一个方向滤波器能够包括将在操作802(或者操作806,视情形)中所生成的经滤波的块替换为基于应用在操作802中所选择的第一方向滤波器(或者在操作806中所选择的不同的方向滤波器,视情形)所生成的新的经滤波的块以及在操作810中所选择的另一个方向滤波器。例如通过可用于在操作802中选择第一方向滤波器(或者在操作806中的不同的方向滤波器,视情形)的实施方式,能够确定用于在操作806中的应用的不同的方向滤波器的选择。在操作810中应用另一个方向滤波器之后,处理800能够返回至操作804以确定该另一个方向滤波器的应用是否会进一步减少实际块中的块效应的数目(例如,超出操作804的第一次迭代中剩余的数目)。响应于确定另一个方向滤波器的应用会进一步减少块效应的数目,处理800返回至操作808以确定是否再次需要或想要任何附加滤波。响应于确定另一个方向滤波器的应用不会进一步减少块效应的数目,处理800返回至操作806,在操作806中,选择不同的方向滤波器来替换在操作810中所选择的另一个方向滤波器。
[0062] 在两次或更多次迭代地执行操作808的情况下,所选择的方向滤波器的滤波器角度能够被合并,以用于确定是否需要或想要其他附加滤波。例如,能够对操作802、806和/或810中所应用的方向滤波器的滤波器角度取平均值、求和或以其他方式合并,以执行操作
808的实施方式。响应于在操作808中确定不需要或不想要附加滤波,处理800继续至操作
812,在操作812中,选择在处理800的执行期间所选择和应用的一个或多个方向滤波器,作为用于自适应方向环路滤波的方向滤波器(例如,作为图6的操作606的输出)。
[0063] 使用本公开的实施方式,能够通过选择对应于块内的非垂直的图片边缘的自适应方向滤波器而减少块内的块效应的数目。鉴于只能相对于垂直和水平的块边界操作的滤波器可能无法准确地减少图片边缘周围的块效应,本公开的自适应方向环路滤波,基于图片边缘与可应用的块边界相交的非垂直角度,而将去块滤波器操作聚焦于图片边缘。因此,与典型的水平、垂直或其他非自适应成角的滤波器操作相比,本文所公开的实施方式能够被使用以更好地保留帧中的图片内容。使用本文所公开的实施方式来处理的帧能够被用作基准帧,例如,用于解码视频序列的后续帧,因为能够利用其包括数目有所减少的块效应,减少这些后续帧中存在的块效应。
[0064] 如上所述的编码和解码方面说明了编码和解码技术的一些示例。然而,将理解的是,如权利要求中所使用的那些术语,编码和解码可能意指压缩、解压缩、变换或者任何其他对数据的处理或更改。
[0065] 在本文中,词语“示例”或“方面”被使用于意指用作示例、实例或者说明。在本文中描述为“示例”或“方面”的任何方面或设计并不必须被理解为优选或者优于其他方面或设计。相反,使用词语“示例”或“方面”旨在以具体的方式呈现概念。如本申请中所用,术语“或”旨在意指相容的“或”而不是排他的“或”。也就是说,除非另作指定,或者从下文显而易见,否则“X包括A或B”旨在意指自然包括的排列。也就是说,在前述实例中的任何一个的情况下,如果X包括A;X包括B;或者X包括A和B,则满足“X包括A或B”。此外,如本申请和所附权利要求中所使用的冠词“一”通常应被理解为意指“一个或多个”,除非另作说明或者从场境显而易见是针对单数形式。此外,在全文中使用的术语“实施方式”或“示例”并不旨在意指相同的实施例或实施方式,除非如此描述。
[0066] 发射站和/或接收站106(以及由编码器400和解码器500包括的存储于其上和/或由此执行的算法、方法、指令等)的实施方式能够被实现于硬件、软件或者其任何组合中。例如,硬件能够包括计算机、知识产权(IP)核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器微码微控制器、服务器、微处理器数字信号处理器或者任何其他合适的电路。在权利要求中,术语“处理器”应被理解为包含前述硬件中的任何一个,无论是单一或者组合。术语“信号”和“数据”可互换使用。进一步,发射站102和接收站106的部分不必须以相同的方式来实现。
[0067] 进一步,在一个方面,例如,发射站102或者接收站106能够使用具有计算机程序的通用计算机或者通用处理器来实现,所述计算机程序当被执行时实施本文所述的相应方法、算法和/或指令中的任何一个。附加地或者替选地,例如,能够利用专用计算机/处理器,其能够包含用于实施本文所述的相应方法、算法和/或指令中的任何一个其他硬件。
[0068] 例如,发射站102和接收站106能够被实现在视频会议系统中的计算机上。替选地,发射站102能够被实现在服务器上,并且接收站106能够被实现在与服务器分开的设备上,诸如手持式通信设备。在该实例中,发射站102能够使用编码器400将内容编码成经编码的视频信号并且将经编码的视频信号发射至通信设备。进而,通信设备能够使用解码器500再对经编码的视频信号进行解码。替选地,通信设备能够解码在通信设备上本地存储的内容,例如,并非由发射站102发射的内容。其他合适的发射和接收的实施方案也可用。例如,接收站106能够是通常的固定式的个人计算机而非便携式通信设备,并且/或者包括编码器400的设备也可以包括解码器500。
[0069] 进一步,本公开的实施方式的全部或部分能够采取例如可从计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如能够有形地包含、存储、通信或传输程序以供任何处理器使用或者结合其使用的任何设备。介质能够是例如电子磁性、光学、电磁或者半导体系统设备。其他合适的介质也可用。
[0070] 描述了上述实施例、实施方式和方面以使得易于理解本发明而并非对本发明的限制。反之,本发明旨在覆盖属于所附权利要求的范围内的各种修改和等同布置,如法律所允许的,所述权利要求的范围将符合最宽的范围以致涵盖所有这样的修改和等同结构。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈