选择性环路滤波下的图像编码的装置及方法

文档序号:991726 发布日期:2020-10-20 浏览:17次 >En<

阅读说明:本技术 选择性环路滤波下的图像编码的装置及方法 (Apparatus and method for image coding under selective loop filtering ) 是由 赵志杰 约翰尼斯·索尔斯 麦蒂尔斯·韦恩 于 2018-03-02 设计创作,主要内容包括:本发明公开了一种用于选择性环路滤波下的图像编码的装置、方法和计算机程序。所公开的内容:不使用对横跨不连续面边界的像素点进行操作的环路滤波器。这样做的优点是避免错误的环路滤波器操作产生伪影。所公开的概念还提供:推迟环路滤波器操作,直到横跨面边界的所有像素点已知。然后,环路滤波器可以根据3D布局使用正确的像素点。这个操作可以在编码块级或更高级上执行。这样做的优点是能够正确对面边界进行环路滤波,例如,进行去块滤波或自适应环路滤波,不需要为了填充而对额外的像素点进行编码。(The invention discloses an apparatus, a method and a computer program for image coding under selective loop filtering. The disclosure is as follows: a loop filter that operates on pixels that span the boundary of the discontinuity is not used. This has the advantage that false loop filter operations are avoided to produce artefacts. The disclosed concept also provides: the loop filter operation is deferred until all pixel points crossing the face boundary are known. The loop filter can then use the correct pixel points according to the 3D layout. This operation may be performed at the coding block level or higher. This has the advantage that the face boundary can be loop filtered correctly, e.g. deblocking or adaptive loop filtered, without the need to encode additional pixels for padding.)

选择性环路滤波下的图像编码的装置及方法

技术领域

本发明涉及图像编码领域。具体而言,本发明涉及通过选择性环路滤波改进图像编码和解码。

背景技术

360度视频或球形视频是一种使用头戴式显示器(head-mounted display,HMD)等设备来体验沉浸式视频的方式。这种技术能够通过捕获世界的全景视图为用户提供“身临其境”的沉浸式体验。360度视频通常是利用包含多台摄像机的专用装备(rig)或包含多个内置镜头的专用虚拟现实(virtual reality,VR)摄像机进行录制的。然后,对得到的片段进行拼接,从而形成单个视频。这个过程可以由摄像机本身完成,也可以利用视频编辑软件完成。所述视频编辑软件能够分析常见的视频内容(visuals),从而同步不同的视频片段(camera feeds)并将其连接起来,以表示围绕摄像机装备的球面全景。基本上,摄像机或摄像机系统会将360度场景映射到一个球面上。

接着,根据投影(例如,等距柱状投影)将拼接后的图像(即,球表面上的图像)从球形表示映射到(或展开)到二维(two-dimension,2D)矩形表示;然后,使用H.264/高级视频编码(Advanced Video Coding,AVC)、高效视频编码(High Efficiency Video Coding,HEVC)/H.265等标准视频编解码对该图像进行编码。在观看侧,解码之后,将视频映射到虚拟球面上,其中,观看者位于该虚拟球面的中心处。观看者可以在虚拟球面内导航,以根据需要观看360度世界视图,从而获得沉浸式体验。

如上所述,对于360度视频的编码,需要将内容投影到2D表示。除了等距柱状投影外,还可能包括投影到立方体、八面体等的各面。这样会在帧边界(border/boundary)等处引入不连续性,而且在某些情况下,还会在面(例如,立方体等的各面)的边界处引入不连续性。因此,在编码期间通常无法保持横跨这些边界的内容的平滑性。当编码(解码)后的视频呈现在视角时,重新连接的边界接缝处常常会出现伪影。这些伪影会干扰观看体验。

环路滤波器(例如,去块滤波器)通常用于视频编码中,以补偿由混合视频编码框架造成的伪影。然而,在360度视频内容中,存在几个影响环路滤波器性能的问题。例如,在360度视频内容中,不仅块边界编码会造成伪影,而且不连接的面边界也会造成伪影。此外,正确使用环路滤波器要求使用环路滤波器的边界在三维(three-dimension,3D)意义上是连续的。然而,对于360度内容来说,情况不一定如此。相反,可以横跨360度视频内容的连续边界和不连续边界使用环路滤波器。横跨不连续边界使用环路滤波器可能会产生伪影。

进行编码的各帧或各面可以通过在边界处填充像素点来扩展。然而,这会不必要地增加帧大小,从而导致待编码像素点增多,且像素点需要编码两次。

发明内容

本发明内容简单介绍了一些概念,在

具体实施方式

中会进一步描述这些概念。本发明内容不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在限制所要求保护的主题的范围。

本发明的目的是提供在选择性环路滤波下的改进图像编码和解码。上述和其它目的通过独立权利要求的特征来实现。其它实现形式根据从属权利要求、说明书和附图是显而易见的。

根据第一方面,提供了一种图像译码装置。所述图像译码装置用于:重建二维(twodimension,2D)表示的图像中的编码块的像素值,所述2D表示是球形视频采用投影格式得到的的图像中的编码块的像素值。所述2D表示包括通过多个边界互连的2D面集合。所述多个边界中的一个或多个边界在所述球形视频采用所述投影格式得到的对应三维(threedimension,3D)表示中是不连续的。所述2D面包括在其中一个所述不连续边界处邻接的第一2D面和第二2D面。所述第一2D面包括所述编码块,所述编码块与所述第二2D面邻接。所述2D面还包括在一个边界处与所述第一2D面邻接的第三2D面,所述边界在所述球形视频采用所述投影格式得到的所述对应3D表示中是连续的。所述图像译码装置还用于:根据滤波参考像素点集合的像素值,对所述编码块的所述重建像素值执行环路滤波,其中,所述滤波参考像素点集合包括一个或多个像素点,所述一个或多个像素点是所述第三2D面的一部分。这样就可以避免出现伪影。

在所述第一方面的又一种实现形式中,所述图像译码装置还用于:如果所述滤波参考像素点集合中的所述像素点的一个或多个像素值不适用于所述环路滤波,推迟对所述编码块的一个或多个所述重建像素值执行所述环路滤波,直到所述滤波参考像素点集合中的所述像素点的所述一个或多个像素值适用于所述环路滤波。这样就可以避免出现伪影。

在所述第一方面的另一种实现形式中,所述图像译码装置还用于对位于所述2D表示的外部图像边界处的一个或多个像素点执行环路滤波。

在所述第一方面的又一种实现形式中,所述图像译码装置还用于维护不连续边界像素点信息,所述不连续边界像素点信息用于指示所述重建像素点中哪些像素点位于所述一个或多个不连续边界处。

在所述第一方面的又一种实现形式中,所述图像译码装置还用于维护指示是否已经重建用于对所述不连续边界像素点信息指示的所述像素点进行环路滤波的相邻像素点的重建状态信息。

在所述第一方面的又一种实现形式中,所述环路滤波包括一个或多个不同的环路滤波操作,所述图像译码装置还用于:针对所述多个不同环路滤波操作中的每个操作,分别维护所述不连续边界像素点信息和所述重建状态信息中的至少一个。

在所述第一方面的又一种实现形式中,所述环路滤波包括一个或多个不同的环路滤波操作,所述图像译码装置还用于:针对所述多个不同环路滤波操作中的每个操作,联合维护所述不连续边界像素点信息和所述重建状态信息中的至少一个。

在所述第一方面的又一种实现形式中,所述环路滤波包括环内双边滤波操作、去块滤波操作、样本自适应偏移滤波操作或者自适应环路滤波操作中的至少一个。

在所述第一方面的又一种实现形式中,环路滤波所述编码块的所述重建像素点值所使用的一个或多个参数不同于环路滤波所述图像中的一个或多个其它块的重建像素值所使用的相应参数。

在所述第一方面的又一种实现形式中,所述投影格式包括立方体格式、二十面体格式、等距柱状格式或其变型。

在所述第一方面的又一种实现形式中,所述图像译码装置包括图像编码装置。

在所述第一方面的又一种实现形式中,所述图像译码装置包括图像解码装置。

第二方面,提供了一图像编码方法。所述方法包括:重建(例如,通过图像译码装置)球形视频采用投影格式而得到的二维(two dimension,2D)表示的图像中的编码块的像素值。所述2D表示包括通过多个边界互连的2D面的集合。所述多个边界中的一个或多个边界在所述球形视频采用所述投影格式得到的对应三维(three dimension,3D)表示中是不连续的。所述2D面包括在其中一个所述不连续边界处邻接的第一2D面和第二2D面。所述第一2D面包括所述编码块,所述编码块与所述第二2D面邻接。所述2D面还包括在一个边界处与所述第一2D面邻接的第三2D面,所述边界在所述球形视频采用所述投影格式得到的所述对应3D表示中是连续的。所述方法还包括:根据滤波参考像素点集合的像素值,对所述编码块的所述重建像素值执行(例如,通过所述图像译码装置)环路滤波,其中,所述滤波参考像素点集合包括一个或多个像素点,所述一个或多个像素点是所述第三2D面的一部分。

在所述第二方面的又一种实现形式中,所述方法还包括:如果所述滤波参考像素点集合中的所述像素点的一个或多个像素值不适用于所述环路滤波,所述图像译码装置推迟对所述编码块的一个或多个所述重建像素值执行所述环路滤波,直到所述滤波参考像素点集合中的所述像素点的所述一个或多个像素值适用于所述环路滤波。

在所述第二方面的又一种实现形式中,所述方法还包括:所述图像译码装置对位于所述2D表示的外部图像边界处的一个或多个像素点执行环路滤波。

在所述第二方面的又一种实现形式中,所述方法还包括:所述图像译码装置维护指示哪些像素点位于所述一个或多个不连续边界处的不连续边界像素点信息。

在所述第二方面的又一种实现形式中,所述方法还包括:所述图像译码装置还用于维护指示是否已经重建用于对所述不连续边界像素点信息指示的所述像素点进行环路滤波的相邻像素点的重建状态信息。

在所述第二方面的又一种实现形式中,所述环路滤波包括一个或多个不同的环路滤波操作,所述环路滤波包括一个或多个不同的环路滤波操作,所述方法还包括:所述图像译码装置针对所述多个不同环路滤波操作中的每个操作,分别维护所述不连续边界像素点信息和所述重建状态信息中的至少一个。

在所述第二方面的又一种实现形式中,所述环路滤波包括一个或多个不同的环路滤波操作,所述方法还包括:所述图像译码装置针对所述多个不同环路滤波操作中的每个操作,联合维护所述不连续边界像素点信息和所述重建状态信息中的至少一个。

在所述第二方面的又一种实现形式中,所述环路滤波包括环内双边滤波操作、去块滤波操作、样本自适应偏移滤波操作或者自适应环路滤波操作中的至少一个。

在所述第二方面的又一种实现形式中,环路滤波所述编码块的所述重建像素点值所使用的一个或多个参数不同于环路滤波所述图像中的一个或多个其它块的重建像素值所使用的相应参数。

在所述第二方面的又一种实现形式中,所述投影格式包括立方体格式、二十面体格式、等距柱状格式或其变型。

在所述第二方面的又一种实现形式中,所述图像译码装置包括图像编码装置。

在所述第二方面的又一种实现形式中,所述图像译码装置包括图像解码装置。

第三方面,提供了一种计算机程序。所述计算机程序包括程序代码,当所述计算机程序在计算设备上执行时,所述程序代码用于执行根据所述第二方面的所述方法。

根据第四方面,提供了一种用于二维(two dimension,2D)球形视频表示的立方体投影的布局。所述2D表示包括通过边界互连的2D立方体面集合。一个或多个所述边界在所述球形视频的对应三维(three dimension,3D)表示中是不连续的。每个2D立方体面只有一个边界或所述2D立方体面的一个边界在3D表示中的相对边界与根据所述第一方面的图像译码装置要执行环路滤波的边界对齐。

参考下文结合附图进行的详细描述,许多伴随特指将变得更加清晰,因此更易理解。

附图说明

下文将参考所附附图更加详细地描述示例性实施例,其中:

图1是视频编码装置的一个示例性实施例的框图;

图2是视频解码装置的一个示例性实施例的框图;

图3A是视频编码装置的另一个示例性实施例的另一框图;

图3B是视频解码装置的另一个示例性实施例的另一框图;

图4A是立方体投影格式的一个示例的示意图;

图4B是立方体投影格式的一个示例的另一示意图;

图5是球形视频根据立方体投影格式而得到的2D表示的一个示例的示意图;

图6A是球形视频根据立方体投影格式而得到的2D表示的另一个示例的示意图;

图6B是球形视频根据立方体投影格式而得到的2D表示的又一个示例的示意图;

图7是在选择性环路滤波下的图像编解码的一种示例性方法的流程图;

图8示出了在选择性环路滤波下的图像编码中的样本自适应偏移滤波器的各个边界方向的示例。

在下文中,相同参考符号是指相同特征或至少在功能上等效的特征。

具体实施方式

以下结合附图进行描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体方面。应理解,在不脱离本发明范围的情况下,可以利用其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细描述并不构成任何限定,本发明的范围由所附权利要求书界定。

例如,应理解,与描述方法相关的公开内容对于用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,则对应的设备可以包括用于执行所描述的方法步骤的单元,即使此种单元未在图中明确描述或说明。另一方面,例如,如果基于功能单元描述了一个具体的装置,则对应的方法可以包括执行所描述功能的步骤,即使这种步骤未在图中明确描述或说明。此外,应理解,除非另有具体说明,否则本文描述的各种示例性方面的特征可以相互组合。

视频编码是指对构成视频或视频序列的图像序列的数字压缩或解压缩。在视频编码领域,术语“图像(picture/image)”与“帧(frame)”可以用作同义词。每个图像通常被分割成一组非重叠块。视频的编码(encoding/coding)通常在块级上执行,例如,在块级上,帧间预测或帧内预测用于生成一个预测块,从当前块(当前处理的块/待处理的块)中减去预测块,得到残差块,进一步变换和量化残差块以减少待传输的数据量(压缩),而在解码器侧,对编码/压缩块进行逆处理以重建当前块(视频块)以进行表示。

所公开的概念提供:不使用或停用对横跨不连续面边界的像素点进行操作的环路滤波器。这样做的优点是避免横跨不连续面边界进行环路滤波器操作产生的伪影。所公开的概念还提供:推迟环路滤波器操作,直到横跨面边界的所有像素点都重建。然后,环路滤波器可以根据3D排列使用正确的像素点。这个操作可以在编码块级或更高级上执行。这样做的优点是能够正确对面边界进行环路滤波,例如,进行去块滤波或自适应环路滤波,不需要为了填充而对额外的像素点进行编码。

如上所述,在单个机位(view point)的所有方向上捕获场景以获取360度视频序列。这可以利用多个相互靠近排列的具有不同取景方向的摄像机来实现。然后,将所捕获到的内容拼接起来,可以认为所捕获到的内容是一个围绕机位的球面,球面上带有表示360度场景的纹理。然而,目前的显示和视频编解码器需要一个场景的平面(2D)矩形图像。因此,球面必须转换成某种2D格式。有几种方式可以做到这一点,包括但不限于:

(a)等距柱状(equirectangular)格式是指将球面投影到一个矩形,投影方式类似于从地球的球体创建矩形世界地图等。这里,失真取决于位置。

(b)立方体格式是指将球面映射到立方体的各面。每个面看起来都像一张普通的2D图像,不存在任何可见的几何失真。然而,在两个面的边界处存在几何失真。

(c)二十面体格式是指将球面映射到二十面体的各面。在两个面的边界处存在几何失真,但是没有立方体格式那么严重,因为相邻面之间的角度较小。

下面在讨论所公开的概念时,以立方体格式为例。图4A和图4B示出了立方体投影格式的示例400。图5、图6A和图6B示出了球形视频根据立方体投影格式400得到的2D表示的示例500、600和650。在这些示例中,各面包括前后面、左右面和上下面。此外,在这些示例中,面边界或边缘标记有连续编号1至12以及连续编号1′至12′,这样,带有给定编号的边界和带有相同编号和撇号的另一边界组成的一对边界在3D立方体投影格式中构成邻接或相对边界。例如,边界6和6′在3D立方体投影格式中构成邻接边界,如图4B所示。类似地,边界5和5′在3D立方体投影格式中构成邻接边界,以此类推。这里,术语“边界”和“边缘”能够互换使用。

当360度视频内容映射到2D表示时,视频内容中引入了球面上不存在的不连续性。图5示出了尽可能保持立方体各面的连接性的非紧凑立方体布局或2D表示的一个示例。换句话说,展开立方体,使得所有面仍然在2D中连接,就像在3D中连接一样。但是,这种格式中存在两个未使用的区域:右上角的一个区域(被3、3′、1′和2′包围),左下角的另一个区域(被10、10′、11、12包围)。因此,紧凑立方体格式可能更适用,其示例如图6A和图6B所示。

图6A和图6B示出了紧凑立方体格式中的不同边界类型以及这些格式在环路滤波期间的处理方式。连续边界(虚线605和606)是在3D立方体投影格式及其2D表示中都相互连接的各面之间的边界。不连续边界(点划线607)是在3D立方体投影格式中相互不连接但在其2D表示中相互连接的各面之间的边界。

在图6A和图6B的示例中,至少一些与帧边界对齐的面边界(点线603和604)可能不会进行环路滤波。此外,在图6A和图6B的示例中,至少一些与帧边界对齐的其它面边界(线601和602)可能会进行环路滤波。

相应地,在图6A的示例中,面边界4和4′、7和7′、8和8′、9和9′是连续边界,而面边界10和12′、11和5、12和2是不连续边界。在图6B的示例中,面边界3和3′、7和7′、5和5′、12和12′是连续边界,而面边界1和10′、9′和1′、8和9是不连续边界。

横跨不连续边界使用环路滤波器可能会产生伪影。然而,为了得到编码器的最优结果,所有面边界都应该进行环路过滤。

所公开的概念可以具有以下特征集合中的至少一些特征:

如果环路滤波器对横跨不连续面边界的像素点进行操作,则编码块不使用环路滤波器。可以延迟环路滤波器,直到编码块的所有这样连接的相邻块可用或重建。正确使用特定的环路滤波器需要这些相邻块。

由于在环路滤波之前完成重建解码帧之后,所有像素点可用,所以可以对所有边界像素点进行环路滤波,例如,进行去块滤波或自适应环路滤波。

可以以编码块为单位执行根据所公开的概念的操作,如果不需要用于其它目的,则选择从存储器中释放最终处理块。

所公开的概念在应用于HEVC/参考软件联合探索模型(Joint ExplorationModel,JEM)时,可能会影响在使用了去块滤波器(deblocking filter,DBF)的边界处的像素点,其中,这些边界包括与面边界位于相同位置的编码树块(coding tree block,CTB)边界、编码块(coding block,CB)边界、预测块(prediction block,PB)边界和变换块(transform block,TB)边界。此外,所公开的概念可能会影响对边界像素点执行样本自适应偏移(sample-adaptive offset,SAO)操作。而且,当横跨面边界使用自适应环路滤波器(adaptive loop-filter,ALF)或双边滤波器时,所公开的概念可能会影响ALF或双边滤波器的操作。

下文根据图1和图2描述了编码器100和解码器200的示例性实施例。

图1示出了编码器100。编码器100包括输入端102、残差计算单元104、变换单元106、量化单元108、反量化单元110、逆变换单元112、重建单元114、环路滤波器120、帧缓冲器130、帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、模式选择单元160、熵编码单元170和输出端172。

输入端102用于接收图像(例如,静止图像或者形成视频或视频序列的图像序列中的图像)的图像块101。图像块也可以称为当前图像块或待编码图像块,图像也可以称为当前图像或待编码图像。

残差计算单元104用于通过以下方式等根据图像块101和预测块165来计算残差块105(后续详细介绍了预测块165):逐个像素点(逐个像素)从图像块101的像素值中减去预测块165的像素值,以得到像素域中的残差块105。

变换单元106用于对残差块105进行离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST)等变换,以得到变换域中的变换系数107。变换系数107也可以称为变换残差系数,表示变换域中的残差块105。

量化单元108用于通过进行标量量化或矢量量化等对变换系数107进行量化,以得到量化变换系数109。量化系数109也可以称为量化残差系数109。

反量化单元110用于对量化系数进行量化单元108的反量化,以得到或重新获得解量化系数111。解量化系数111也可以称为解量化残差系数111。

逆变换单元112用于进行变换单元106进行的变换的逆变换,例如,逆离散余弦变换(discrete cosine Transform,DCT)或逆离散正弦变换(discrete sine Transform,DST),以得到像素点域中的逆变换块113。逆变换块113也可以称为逆变换解量化块113或逆变换残差块113。

重建单元114用于通过以下方式等将逆变换块113和预测块165组合起来,以得到像素点域中的重建块115:以像素点为单位将解码残差块113的像素值和预测块165的像素值相加。

缓冲单元116(或简称“缓冲器”116)(例如,列缓冲器116)用于缓冲或存储重建块,以进行帧内估计和/或帧内预测等。

环路滤波单元120(或简称“环路滤波器”120)用于通过使用双边滤波器、去块滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器、自适应环路滤波器或其它滤波器等对重建块115进行滤波,以得到滤波块121。滤波块121也可以称为滤波重建块121。在联合视频探索组(Joint Video Exploration Team,JVET)标准相关文档中对各种环路滤波器进行了更详细的描述。例如,JVET-G1001公开了联合探索测试模型7(Joint ExplorationTest Model,JEM7)的算法描述。

环路滤波单元120可以包括(图1未示出)滤波分析单元和实际滤波单元,其中,滤波分析单元用于为实际滤波单元确定环路滤波器参数。

环路滤波单元120可以包括(图1未示出)一个或多个滤波器,例如,串联连接或并联连接或其任何组合方式连接的不同种类或类型的滤波器中的一个或多个滤波器,其中,每个滤波器都可以包括滤波分析单元,以单独或与多个滤波器中的其它滤波器联合确定相应的环路滤波器参数。

环路滤波单元120可以用于将环路滤波器参数提供给熵编码单元170,以进行熵编码和传输等。

换句话说,由于在编码和/或解码流程的某些部分中,帧可以作为独立的处理块或编码块进行处理,因此重建帧中可能会引入不连续性等可见伪影。由于这些伪影等,在重建帧中能够看见编码块的边界。环路滤波可以用于从重建帧中减轻或移除这些伪影以及在编码/解码流程中产生的其它伪影。例如,去块滤波器可以用于横跨处理块(例如,预测块和变换块)的边界使用自适应平滑。可以在去块滤波之后等进行SAO滤波。SAO可以在所谓的对重建帧中的局部定向结构进行滤波的边界偏移模式下使用,还可以在所谓的根据像素点强度修改像素值的带偏移模式下使用。

解码图像缓冲器130用于接收和存储同一当前图像或不同图像(例如,之前重建的图像)的滤波块121和其它之前的滤波块(例如,之前重建的滤波块121),以进行帧间估计和/或帧间预测等。

帧间估计单元142,也称为帧间图像估计单元142,用于接收图像块101(当前图像的当前图像块)和一个或多个之前的重建块(例如,一个或多个其它/不同的之前解码的图像231的重建块),以进行帧间估计(或“帧间图像估计”)。例如,视频序列可以包括当前图像和之前的解码图像231,或换句话说,当前图像和之前的解码图像231可以是形成视频序列的图像序列的一部分或形成该图像序列。

例如,编码器100可以用于从多个其它图像中的相同或不同图像的多个参考块中获取参考块,并将参考图像(或参考图像索引等)和/或参考块的位置(x坐标和y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这种偏移也称为运动矢量(motion vector,MV)。帧间估计也称为运动估计(motion estimation,ME),帧间预测也称为运动预测(motion prediction,MP)。

帧间预测单元144用于接收帧间预测参数143,并根据/使用帧间预测参数143执行帧间估计,以得到帧间预测块145。

帧内估计单元152用于接收图像块101(当前图像块)以及相同图像的一个或多个之前的重建块(例如,重建相邻块),以进行帧内估计。例如,编码器100可以用于从多个帧内预测模式中获取帧内预测模式,并将帧内预测模式作为帧内估计参数153提供给帧内预测单元154。

编码器100可以用于根据最小残差(例如,帧内预测模式提供与当前图像块101最相似的预测块155)或最小率失真等优化标准选择帧内预测模式。

帧内预测单元154用于根据帧内预测参数153(例如,所选择的帧内预测模式153)确定帧内预测块155。

模式选择单元160可以用于执行帧间估计/预测和帧内估计/预测,或者控制帧间估计/预测和帧内估计/预测,以及选择参考块和/或预测模式(帧内或帧间预测模式)用作预测块165,以计算上述残差块105和重建上述重建块115。

模式选择单元160可以用于选择预测模式,从而提供最小残差(最小残差意味着压缩效果更好)或最小信令开销或同时提供最小残差和最小信令开销。模式选择单元160可以用于根据率失真优化(rate distortion optimization,RDO)确定预测模式。

熵编码单元170用于单独或联合(或不涉及)对量化残差系数109、帧间预测参数143、帧内预测参数153和/或环路滤波器参数使用熵编码算法,得到编码图像数据171。例如,输出端172可以使用编码码流171的形式输出编码图像数据171。

例如,可以配置编码器100,使得缓冲单元116不仅用于存储用于帧内估计152和/或帧内预测154的重建块115,而且还用于环路滤波单元120(图1未示出这种关系),和/或使得缓冲单元116和解码图像缓冲器单元130形成一个缓冲器。其它实施例可以用于使用滤波块121和/或来自解码图像缓冲器130的块或像素点(图1未示出)作为帧内估计152和/或帧内预测154的输入或基础。

编码器100可以包括图像分割单元,以在进一步处理图像之前将该图形分割成一组通常不重叠的块。相应地,编码器100可以包括输入端102,用于接收视频序列(视频流)中的图像的块(视频块)。图像可以包括M×N个像素点(水平大小×垂直大小),块可以包括m×n个像素点(水平大小×垂直大小),图像可以具有m×n个像素点的正方形大小。

“像素点”是图像的一个小分段,具有一个与图像相关联的像素值。像素值是像素点的强度和/或颜色的度量。图像可以表示为像素点的2D阵列。在本领域中,有时将像素点称为像素,但有时“像素”一词是指液晶显示器(liquid-crystal display,LCD)等图像呈现设备的一个小分段。例如,像素值可以是蓝色、绿色或红色等单一颜色的强度值,还可以是多维强度,包括蓝色、绿色和红色强度值等强度值的元组。

编码器100可以用于对视频序列的所有图像使用相同的块大小,或用于更改块大小以及定义块大小并按每个图像或图像子集合将图像分割为对应块的对应网格。

为了将图像分割为块,编码器100可以包括图像分割单元(图1未示出)。

图2示出了示例性视频解码器200,用于接收由编码器100编码的编码图像数据(码流)171,得到解码图像231。

解码器200包括输入端202、熵解码单元204、反量化单元110、逆变换单元112、重建单元114、缓冲器116、环路滤波器120、解码图像缓冲器130、帧间预测单元144、帧内预测单元154、模式选择单元160和输出端232。这里,相同参考符号是指图1中的视频编码器100和图2中的视频解码器200之间的相同特征或至少功能上等效的特征。

因此,图1和图2示出了图像译码装置的示例。图像译码装置可以是图像编码装置(例如,图1中的视频编码器100),还可以是图像解码装置(例如,图2中的视频解码器200)。

图像译码装置100或200用于重建球形视频采用投影格式得到的2D表示的图像中的编码块的像素值。投影格式可以包括立方体格式、二十面体格式、等距柱状格式或其变型等。编码块是指联合进行处理并且可以进行环路滤波器操作的像素点的块。编码块的示例包括根据HEVC的编码块(coding block,CB)、预测块(prediction block,PB)和变换块(transform block,TB),以及根据其它合适标准的编码块。

所述2D表示包括通过多个边界互连的2D面的集合。一个或多个所述边界在球形视频采用投影格式得到的对应3D表示中是不连续的。此外,一个或多个边界在所述球形视频采用投影格式得到的对应3D表示中是连续的。上文结合图6A和图6B描述了连续边界和不连续边界。

所述2D面包括在其中一个所述不连续边界处邻接的第一2D面和第二2D面。所述第一2D面包括所述编码块,所述编码块与所述第二2D面邻接。所述2D面还包括在一个连续边界处与所述第一2D面邻接的第三2D面。

图像译码装置100或200还用于根据滤波参考像素点集合的像素值,对编码块的重建像素值执行环路滤波,其中,所述滤波器支持像素集合包括一个或多个像素点,所述一个或多个像素点是第三2D面的一部分。在一个实施例中,所述滤波器参考像素点不包括第二面的任何像素点。环路滤波可以包括环内双边滤波操作、去块滤波操作、样本自适应偏移滤波操作和/或自适应环路滤波操作等。

在一个实施例中,像素点(例如,滤波器参考像素点)可以从当前编码块的球面上的连接或邻接面获取,例如,如下所示:

选项1:直接从第三2D面复制像素点,如果这些像素点可用或重建,使用这些像素点执行环路滤波;或者

选项2:使用几何信息将第三2D面的像素点(如果可用或重建)投影到3D球面上,根据几何信息和选择的内插滤波器将3D球面中的投影像素点映射到投影格式,然后,将投影格式中的映射像素点作为滤波器参考像素点用于执行环路滤波。

图像译码装置100或200可以用于:当所述滤波参考像素点集合的所有像素值已经重建时,对所述编码块的一个或多个重建像素值执行环路滤波。例如,图像译码装置100或200可以用于:如果所述滤波参考像素点集合中的像素点的一个或多个像素值不适用于环路滤波,推迟或延迟对所述编码块的一个或多个重建像素值执行环路滤波,直到所述滤波参考像素点集合中的所述像素点的所述一个或多个像素值适用于环路滤波。滤波参考像素点集合中的像素点不适用可能是因为像素点尚未重建等。

图像译码装置100或200还可以用于对位于2D表式的外部图像边界处的一个或多个像素点执行环路滤波。在一个示例中,这些外部图像边界包括图6A和图6B中与上方和左侧帧边界对齐的边界601和602。换句话说,外部图像边界可以包括上方图像边界和/或左侧图像边界等。

图像译码装置100或200还可以用于维护指示哪些像素点位于一个或多个不连续边界处的不连续边界像素点信息。另外/可选地,图像译码装置100或200可以用于维护指示是否已经重建用于不连续边界像素点信息指示的像素点的环路滤波的相邻像素点的重建状态信息。

维护重建状态信息可以通过以下两种方式之一等实现:

1.实时:同时使用面排列信息与块的处理顺序(即使用片/方块编码)。然后,可以推导出连接的相邻块是否已经解码,以及是否可用;或者

2.存储面边界处的块的标志。这可以在编码块级上完成。在块重建之后,可以将该标志设置为真(true)。当所有连接的相邻块的标志都设置为真时,可以执行环路滤波。

如果环路滤波包括多个不同的环路滤波操作,则图像译码装置100或200还可以用于:针对多个不同环路滤波操作中的至少一些操作,分别维护不连续边界像素点信息和/或重建状态信息。另外/可选地,图像译码装置100或200可以用于:针对多个不同环路滤波操作中的至少一些操作,联合维护不连续边界像素点信息和/或重建状态信息。

在一个实施例中,环路滤波所述编码块的所述重建像素点值所使用的一个或多个参数不同于环路滤波所述图像中的一个或多个其它块的重建像素值所使用的相应参数。例如,可以修改边界强度(boundary strength,bs)参数推导。例如,假设面边界需要的去块效应与帧内块的去块效应一样强,则对于面边界处的块,bs可以设置为2。这样还可以确保能够应用色度去块效应。

图3A示出了图1中的图像编码装置100的另一个示例。图像编码装置100可以包括处理器180、存储器185和/或输入/输出接口190。处理器180可以用于执行残差计算单元104、变换单元106、量化单元108、反量化单元110、逆变换单元112、重建单元114、环路滤波器120、帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、模式选择单元160或熵编码单元170中的一个或多个的功能。输入/输出接口190可以用于执行输入端102或输出端172中的一个或多个的功能。存储器185可以用于执行缓冲器116或帧缓冲器130中的一个或多个的功能。

图3B示出了图2中的图像解码装置200的另一个示例。图像解码装置200可以包括处理器280、存储器285和/或输入/输出接口290。处理器2180可以用于执行熵解码单元204、反量化单元110、逆变换单元112、重建单元114、环路滤波器120、帧间预测单元144、帧内预测单元154或模式选择单元160中的一个或多个的功能。输入/输出接口290可以用于执行输入端202或输出端232中的一个或多个的功能。存储器285可以用于执行缓冲器116或解码图像缓冲器130中的一个或多个的功能。

图7示出了在选择性环路滤波下的图像编码和解码的示例性方法700的流程图。

方法700开始于操作701,进行到操作702,开始处理当前编码块。

在操作703处,所述方法判断所述当前编码块是否包括不连续或不连接边界或边缘。例如,不连续边界的边界像素点可以标记为不进行环路滤波,并且不用于相邻像素点的环路滤波操作中。这些像素点可以收集在面边界像素点列表中等。

如果所述当前编码块不包括不连续边界,则所述方法前进到操作706,在不修改所公开概念的情况下使用环路滤波。

如果所述当前编码块包括不连续边界,则所述方法前进到操作704,所述方法判断连接的相邻块是否可用或重建。如果是,则所述方法前进到操作707,在修改所公开概念的情况下使用环路滤波,如上所述。如果否,则所述方法前进到操作705,推迟环路滤波,直到连接的相邻块可用或重建。

换句话说,当使用现有环路滤波器时,上述面边界像素点列表中的像素点跳过环路滤波器操作。在相关连接的相邻块完成重建之后进行环路滤波器操作。相关块是包含有上述面边界像素点列表中像素点的块。在2D表示中未连接但在3D表示中连接的像素点一旦重建并可用,这种环路滤波器操作可以访问和修改这些像素点。如果上述面边界像素点列表中存在已经用于环路滤波且不再需要用于其它目的的像素点,则可以从存储器中释放这些像素点,即操作708。如上所述,方法700的不同实例和上述面边界像素点列表可以用于不同的环路滤波器。例如,HEVC等方案中的用于去块滤波的列表和用于SAO的列表可以是分开的。

换句话说,所述方法包括:重建球形视频采用投影格式得到的2D表示的图像中的编码块的像素值。所述2D表示包括通过多个边界互连的2D面的集合。一个或多个边界在球形视频采用投影格式得到的对应3D表示中是不连续的。2D面包括在其中一个不连续边界处邻接的第一2D面和第二2D面。所述第一2D面包括所述编码块,所述编码块与所述第二2D面邻接。所述2D面还包括在一个边界处与所述第一2D面邻接的第三2D面,所述边界在所述球形视频采用所述投影格式得到的所述对应3D表示中是连续的。所述方法还包括:根据上述滤波参考像素点集合的像素值,对编码块的重建像素值执行环路滤波,其中,所述滤波参考像素点集合包括一个或多个像素点,所述一个或多个像素点是第三2D面的一部分,即操作703、704和707。

方法700可以由装置100或装置200执行,例如,由包含在装置100或装置200中的重建单元114和环路滤波器120执行。方法700的其它特征直接从装置100和200的功能得到。方法700可以由计算机程序执行。

方法700可以集成在装置100或装置200中,而无需更改其它构建块。只需要适配环路滤波单元120。方法700可以分别应用于每个实现的环路滤波操作。可以利用以下事实:一个像素点是否在用于两个或多个环路滤波器的列表中,作为配置环路滤波器的控制标准。

图8中的示意图800示出了在选择性环路滤波下的图像编码中的样本自适应偏移滤波器的各个边界或边缘方向的示例。本示例假设根据HEVC使用SAO。这里,只需要修改边界偏移模式。频带偏移模式不依赖于相邻像素点。

对于边界偏移模式,使用算法A1的步骤1和步骤2。对于A1的步骤3,必须考虑不同情况(图8中的a至d)。如果pc位于编码块的边界处(这些是上述面边界像素点列表中收集的像素点),则修改SAO行为。pc可以位于:

(a)编码块的上边界的下方。此时,在b、c和d三种情况下,从几何相邻面中获取p0

(b)编码块的左边界的右侧。此时,在a和c两种情况下,从几何相邻面中获取p0;在d情况下,从几何相邻面中获取p1

(c)编码块的右边界的左侧。此时,在d情况下,从几何相邻面中获取p0;在a和c两种情况下,从几何相邻面中获取p1

(d)编码块的下边界的上方。此时,在b、c和d三种情况下,从几何相邻面中获取p1

如果pc在一个面的角落,则对角线相邻块不可用。这对应于pc位于用于原始SAO滤波器的帧的角落的情况。SAO滤波器的其余部分不需要修改。

图6B示出了球形视频的二维(2D)表示的立方体投影的布局650。所述2D表示包括通过边界互连的2D立方体面集合。一个或多个边界在球形视频的对应三维(3D)表示中是不连续的。每个2D立方体面只有一个边界或所述2D立方体面的一个边界在3D表示中的相对边界与根据所述第一方面的图像译码装置要执行环路滤波的边界对齐。

为了正确进行滤波操作,每个面边界x或与其成对的x′(图6B)中只有一个必须与由DBF处理的边界对齐。对给定块的上边界或左边界应用JEM中的去块效应。在所公开的概念中,只考虑立方体面边界的上边界和左边界。右边界和下边界在相对边界进行处理时会自动滤波。为此,修改DBF,从而对图像上边界和左边界进行滤波。由于360度视频旋转对称的,所以这样做是必要的。当从图像的边界移出时,将到达图像的另一部分,而不是移出场景。

在布局650中,每个边界x或与其成对的x′都只与编码块的上边界或左边界对齐一次。因此,所有立方体面边界都只滤波一次。与DBF考虑的编码块边界对齐的面边界包括2、11′、8′、4、10′、12、3′、1′、5、6′、7′和9。属于成对边界的块与属于这些边界的块同时进行处理。

本文结合各种实施例描述了图像译码装置和对应方法。然而,根据对附图、本发明和所附权利要求书的研究,本领域技术人员在实践所要求保护的发明时,能够理解和实现所公开实施例的其它变化。在权利要求书中,词语“包括”不排除其它元件或步骤,术语“一”或者“一个”不排除多个。

本发明实施例包括或者是一种包含程序代码的计算机程序。所述程序代码在计算机上执行时用于执行本文描述的任何方法。

本发明实施例包括或者是一种包含程序代码的计算机可读介质。所述程序代码在由处理器执行时,使得计算机系统执行本文描述的任何方法。

本领域技术人员将理解,各种图中的“方框”(“单元”)表示或描述本发明实施例的功能(而不一定是硬件或软件中的各个“单元”),因此同等地描述装置实施例以及方法实施例的功能或特征(单元等同步骤)。

如上所述,用于图像编解码的装置可以在如上所述的视频编码装置或视频解码装置等硬件中实现,或者实现为一种方法。所述方法可以实现为一种计算机程序。所述计算机程序然后在计算设备中执行。

视频解码装置、视频编码装置或任何其它对应的图像编接码装置等装置用于执行上述其中一种方法。所述装置包括任何必要的硬件组件。这些硬件组件可以包括至少一个处理器、至少一个存储器、至少一个网络连接、总线等。例如,可以与其它组件共享存储器或处理器,或者从云服务、集中式计算单元或可经由网络连接使用的其它资源访问,代替专用硬件组件。

根据发明方法的某些实施要求,发明方法可以在硬件或软件或其任何组合中实施。

可以使用软盘、CD、DVD或蓝光、ROM、PROM、EPROM、EEPROM或闪存等数字存储介质来实现这些实现方式,该数字存储介质具有在其上存储的电子可读控制信号,这些信号与(或者能够与)可编程计算机系统配合,从而执行至少一种发明方法的一个实施例。

因此,本发明的另一个实施例是或者包括一种包含程序代码的计算机程序产品。所述程序代码存储在计算机可读载体上,所述程序代码操作用于在计算机程序产品在计算机上运行时执行至少一种发明方法。

换句话说,发明方法的实施例因此是或者包括一种包含程序代码的计算机程序。所述程序代码用于在所述计算机程序在计算机、处理器等上运行时执行至少一种发明方法。

因此,本发明的另一个实施例是或者包括一种机器可读数字存储介质,包括在其上存储的计算机程序。所述计算机程序操作用于在计算机程序产品在计算机、处理器等上运行时执行至少一种发明方法。

因此,本发明的又一个实施例是或者包括表示计算机程序的数据流或信号序列。所述计算机程序操作用于在计算机程序产品在计算机、处理器等上运行时执行至少一种发明方法。

因此,本发明的再一个实施例是或者包括用于执行至少一种发明方法的计算机、处理器或任何其它可编程逻辑设备。

因此,本发明的再又一个实施例是或者包括计算机、处理器或任何其它可编程逻辑器件。它们存储计算机程序,所述计算机程序操作用于在计算机程序产品在计算机、处理器,或者现场可编程门阵列(Field Programmable Gate Array,FPGA)或专用集成电路(Application Specific Integrated Circuit,ASIC)等任何其它可编程逻辑设备上运行时执行至少一种发明方法。

虽然上述内容是参照其特定实施例具体示出和描述的,但是本领域技术人员应理解,可以在不脱离其精神和范围的情况下对形式和细节进行各种其它更改。因此,应理解,在不脱离本文公开的且根据下文权利要求书理解的更广泛概念的情况下,可以在适应不同实施例的过程中进行各种更改。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:图像处理装置和方法、成像元件和成像装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类