采用360°虚拟现实投影的投影布局的重构的基于投影帧的适应性环路滤波方法与流程

文档序号:22627471发布日期:2020-10-23 19:36阅读:134来源:国知局
采用360°虚拟现实投影的投影布局的重构的基于投影帧的适应性环路滤波方法与流程

相关引用

本申请要求于2018年3月8日提交的,号码为62/640,072的美国临时申请案的优先权,并通过引用纳入其中。

本发明涉及处理全景视频(omnidirectionalvideo)内容,更具体地,涉及采用360°虚拟现实投影的投影布局的重构的基于投影帧的适应性环路滤波(alf)方法。



背景技术:

具有头戴显示(head-mounteddisplay,hmd)的虚拟现实(virtualreality,vr)与各种应用相关。其向用户展示宽视场(fieldofview)内容的能力可以用于提供沉浸式的视觉体验。需要在所有方向上捕获真实世界环境来生成对应于观察球(sphere)的全景图像内容。随着摄像机平台以及hmd的发展,由于展示诸如360°图像内容所需要的高比特率(bitrate),vr内容的递送可能很快成为瓶颈。当全景视频的分辨率是4k或更高时,数据压缩/编码对比特率降低非常关键。

全景视频的数据压缩/编码可以由传统的视频编码标准实现,其通常采用基于块的编解码技术来利用空间以及时间冗余。例如,基本方法是将来源帧拆分成多个块(或编码单元),对每一块执行帧内预测(intraprediction)/帧间预测(interpredictrion),转换每一块的残差(residue),以及执行量化与熵编码。此外,生成重构的帧来提供用于对后续块进行编解码的参考像素数据。对于某些视频编码标准,环路滤波器可以用于增强重构帧的图像质量。例如,由视频编码器使用的适应性环路滤波器通过使用基于维纳(wiener-based)的适应性滤波器来最小化重构的帧与原始帧之间的均方误差(meansquareerror)。适应性环路滤波器可以被认为是捕获以及修正重构的帧中伪影(artifact)的工具。视频解码器用于执行由视频编码器执行的视频编码操作的逆操作。因此,视频解码器也具有用于增强重构帧的图像质量的环路滤波器。例如,适应性环路滤波器也由视频解码器使用来减少伪影。

通常,对应于观察球的全景视频内容被转换成一系列图像,其每一者是具有由排列在360°虚拟现实(360vr)投影布局中的一个或多个投影面表示的360°图像内容的基于投影帧,以及随后该一系列基于投影帧被编码成比特流(bitstream)用于传输。然而,基于投影帧可能在图像边界(即,布局边界)与/或面边缘(即,面边界)具有图像内容不连续性。因此,需要能够对靠近不连续性图像边界的任何像素执行更精确的适应性环路滤波,与/或正确处理靠近一个不连续性面边界的任何像素的环路滤波进程的新颖性适应性环路滤波器设计。



技术实现要素:

所保护的本发明的目的之一是提供一种用于重构的基于投影帧的适应性环路滤波(adaptiveloopfiltering,alf)方法,该重构的基于投影帧采用一360°虚拟现实(360vr)投影的投影布局。例如,由适应性环路滤波器采用基于球面相邻的alf方法。这样,邻近不连续性图像边界的像素的适应性环路滤波进程可以更加精确,与/或邻近不连续性面边界的像素的适应性环路滤波进程可以正确地工作。

根据本发明的第一方面,公开了一种用于重构的基于投影帧的示例性适应性环路滤波(alf)方法。该重构的基于投影帧包括包装于360°虚拟现实(360vr)投影的投影布局的多个投影面,观察球的360°图像内容根据该投影布局被映射到所述多个投影面。该示例性alf方法包括:由适应性环路滤波器获得在填充区域的至少一个球面相邻像素,该填充区域充当第一投影面的一面边界的延伸,以及应用适应性环路滤波到该第一投影面中的块。包装于该重构的基于投影帧的所述多个投影面包括该第一投影面以及第二投影面。在该重构的基于投影帧中,该第一投影面的该面边界与该第二投影面的面边界相连,以及在该第一投影面的该面边界与该第二投影面的该面边界之间有图像内容不连续性。该填充区域对应的该观察球上的区域邻近于从该观察球上生成该第一投影面的区域。该块的该适应性环路滤波涉及该至少一个球面相邻像素。

根据本发明的第二方面,公开了一种用于重构的基于投影帧的示例性适应性环路滤波(alf)方法。该重构的基于投影帧包括包装于360°虚拟现实(360vr)投影的投影布局的至少一个投影面,观察球的360°图像内容根据该投影布局被映射到该至少一个投影面。该示例性alf方法包括:由适应性环路滤波器获得在填充区域中的至少一个球面相邻像素,该填充区域充当包装于该重构的基于投影帧的投影面的一个面边界的延伸,以及应用适应性环路滤波到该投影面的块。该投影面的该面边界是该重构的基于投影帧的图像边界的一部分。该填充区域对应的该观察球上的区域邻近于从该观察球上获得该投影面的区域。该块的该适应性环路滤波涉及该至少一个球面相邻像素。

根据本发明的第三方面,公开了一种用于重构的基于投影帧的示例性环路滤波(alf)方法。该重构的基于投影帧包括包装于360°虚拟现实(360vr)投影的由于布局中的多个投影面,观察球的360°图像内容根据该投影布局被映射到所述多个投影面。该示例性alf方法包括:由一适应性环路滤波器获得在填充区域中的至少一个球面相邻像素,该填充区域充当第一投影面的一个面边界的延伸,以及应用适应性环路滤波到该第一投影面的一块。包装于该重构的基于投影帧的所述多个投影面包括该第一投影面以及第二投影面。在该重构的基于投影帧中,该第一投影面的该面边界与该第二投影面的面边界相连。在该第一投影面的该面边界与该第二投影面的该面边界之间有图像内容连续性。该填充区域对应的该观察球上的区域邻近于从该观察球上获得该第一投影面的区域。该块的该适应性环路滤波涉及该至少一个球面相邻像素。

在阅读以各种图式以及附图示出的优选实施例的后续细节描述后,本发明的这些以及其他目的对本领域技术人员将是显而易见。

附图说明

图1示出了根据本发明实施例的360°虚拟现实(360vr)系统。

图2示出了根据本发明实施例的基于立方体的投影。

图3示出了根据本发明实施例的基于球面相邻的适应性环路滤波方法的亮度分量处理流程的流程图。

图4示出了由使用直方图像素级适应进行分类的像素。

图5示出了使用2×2块级适应进行分类的一个2×2块。

图6示出了由滤波进程使用的一个所选择的滤波器。

图7示出了根据本发明实施例的基于球面相邻的环路滤波方法的色度分量处理流程的流程图。

图8示出了根据本发明实施例的存储在适应性环路滤波器的工作缓冲器中的重构的帧数据以及填充像素数据的一个布置。

图9示出了在图1中示出的包装于紧凑立方体贴图(cubemap)投影布局中的多个正方形投影面中图像内容连续性关系。

图10示出了根据本发明实施例的由基于几何方案找到的球面相邻像素。

图11示出了根据本发明实施例的为一点生成插值像素值的示例。

图12示出了根据本发明实施例的由适应性环路滤波器确定并使用的处理单元。

图13示出了根据本发明实施例的存储于环路滤波器的工作缓冲器中的重构的帧数据以及填充像素数据的另一个布置。

具体实施方式

贯穿下文描述以及权利要求中使用的某些术语,其指具体的组件。本领域技术人员将能理解,电子设备制造商可能用不同的名称指相同的组件。本文不旨在区分名称不同但功能相同的组件。在下文描述以及权利要求中,以开放式的方式使用术语“包含”以及“包括”,以及因此应该被解释为“包括但不限于……”。另外,术语“耦合”旨在意味间接或直接的电性连接。因此,如果一个装置耦合到另一个装置,该连接可以是通过直接的电性连接,或者通过其他装置以及连接的间接电性连接。

图1示出了根据本发明实施例的360°虚拟现实(360vr)系统。360vr系统100包括两个视频处理装置(如,源电子装置102以及目标电子装置104)。源电子装置102包括视频捕获装置112、转换电路114以及视频编码器116。例如,视频捕获装置112可以是用于提供对应于观察球的全景图像内容(如,覆盖整个环境的多个图像)s_in的一组摄像机。转换电路114耦合在视频捕获装置112与视频编码器116之间。转换电路114根据全景图内容s_in生成具有360°虚拟现实(360vr)投影布局l_vr的基于投影帧img。例如,基于投影帧img可以是包含在从转换电路114生成的一系列基于投影帧中的一个帧。视频编码器116是用于编码/压缩基于投影帧img来生成一部分比特流bs的编码电路。此外,视频编码器116经由传输方式103输出比特流bs到目标电子装置104。例如,该一系列基于投影帧可以被编码成比特流bs,以及该传输方式103可以是有线/无线通信链路或存储介质。

目标电子装置104可以是头戴式显示(hmd)装置。如图1所示,目标电子装置104包括视频解码器122、图像渲染电路124以及显示设备126。视频解码器122是用于从传输方式103(如,有线/无线通信链路或存储介质)接收比特流bs的解码电路,以及解码一部分所接收到的比特流bs来生成已解码的帧img’。例如,视频解码器122通过解码所接收的比特流bs来生成一系列已解码的帧,其中该已解码的帧img’是包含在一系列已解码的帧中的一个帧。在这一实施例中,将由视频编码器116进行编码的基于投影帧img具有360vr投影布局l_vr。因此,在视频解码器122解码一部分比特流bs后,已解码的帧img’是具有相同360vr投影布局l_vr的已解码的基于投影帧。图像渲染电路124耦合在视频解码器122与显示设备126之间。图像渲染电路124根据已解码的帧img’在显示设备126上渲染并显示输出图像数据。例如,经由图像渲染电路124可以在显示设备126上显示与由已解码的帧img’携带的一部分360°图像内容有关的视口(viewport)区域。

视频编码器116可以采用基于块的编解码方案用于编码基于投影帧img。因此,视频编码器116具有环路滤波器(标记为“alf”)134来捕获以及修正在基于块的编解码后出现的伪影。具体地,从重构电路(标记为“rec”)132生成的重构的基于投影帧r可以用作用于编码后续块的参考帧,以及通过适应性环路滤波器134后存储到参考帧缓冲器(标记为“dpb”)136。例如,运动补偿电路(标记为“mc”)138可以使用在参考帧中找到的块来充当预测块。此外,至少一个工作缓冲器(标记为“buf”)140可以用于存储在适应性环路滤波器134执行适应性环路滤波进程所需要的重构的帧数据与/或填充像素数据。

适应性环路滤波器134可以是基于块的适应性环路滤波器,以及该适应性环路滤波进程可以使用一个块作为基本处理单元。例如,处理单元可以是一个编码树单元(codingtreeblock,ctb)或可以是一个ctb的分割。对存储于工作缓冲器140的重构的帧数据与/或填充像素数据执行适应性环路滤波进程。存储于工作缓冲器140中的重构的帧数据在适应性环路滤波进程期间保持不变。换言之,由适应性环路滤波进程生成的像素的已滤波像素值不被写入工作缓冲器140。反而,由适应性环路滤波进程生成的像素的已滤波像素值被写入重构的基于投影帧r来更新/重写(overwrite)该重构的基于投影帧r的像素的原始像素值。因为存储于工作缓冲器140的重构的帧数据在适应性环路滤波进程期间保持不变,当前像素的滤波进程不受先前像素的滤波结果影响。

重构的基于投影帧r由视频编码器116的内部解码环路生成。换言之,重构的基于投影帧r是从基于投影帧img的已编码数据重构的,因此具有由基于投影帧img使用的相同的360vr投影布局l_vr。需要注意的是,视频编码器116可以包括去实现指定编码功能所需要的其他电路块(未示出)。

视频编码器122用于执行由视频编码器116执行的视频编码操作的逆操作。因此,视频解码器122具有适应性环路滤波器(标记为“alf”)144来减少伪影。具体地,从重构电路(标记为“rec”)142生成的重构的基于投影帧r’可以用作用于解码后续块的参考帧,以及通过适应性环路滤波器144后存储到参考帧缓冲器(标记为“dpb”)146中。例如,运动补偿电路(标记为“mc”)148可以使用在参考帧中找到的块来充当预测块。此外,至少一个工作缓冲器(标记为“buf”)150可以用于存储在适应性环路滤波器144执行适应性环路滤波进程所需要的重构的帧数据与/或填充像素数据。

适应性环路滤波器144可以是基于块的适应性环路滤波器,以及适应性环路滤波进程可以使用块作为基本处理单元。例如,处理单元可以是一个编码树单元(ctb)或一个ctb的分割。对存储于工作缓冲器150的重构的帧数据与/或填充像素数据执行适应性环路滤波进程。存储于工作缓冲器150中的重构的帧数据在适应性环路滤波进程期间保持不变。换言之,由适应性环路滤波进程生成的像素的已滤波像素值不被写入工作缓冲器150。反而,由适应性环路滤波进程生成的像素的已滤波像素值被写入重构的基于投影帧r’来更新/重写重构的基于投影帧r’中像素的原始像素值。因为存储于工作缓冲器150中的重构的帧数据在适应性环路滤波进程期间保持不变,当前像素的滤波进程不受先前像素的滤波结果影响。

重构的基于投影帧r’是从基于投影帧img的已编码数据重构的,因此具有由基于投影帧img使用的相同的360vr投影布局l_vr。此外,通过使重构的基于投影帧r’通过适应性环路滤波器144生成已解码的帧img’。需要注意的是,视频解码器122可以包括实现指定解码功能所需要的其他电路块(未示出)。

在一个示例性设计中,适应性环路滤波器134/144可由专用硬件实施来对块执行环路滤波进程。在另一个实施例设计中,适应性环路滤波器134/144可由执行程序代码的通用处理器实施来对块执行适应性环路滤波进程。然而,这些仅是说明性的,并不意味着对本发明的限制。

如上所提到的,转换电路114根据360vr投影布局l_vr以及全景图像内容s_in生成基于投影帧img。在360vr投影布局l_vr是基于立方体的投影布局的情况下,从透过在观察球上全景图像内容s_in的基于立方体的投影的立方体的不同面推导六个正方形投影面。图2示出了根据本发明实施例的基于立方体的投影。在观察球200上的360°图像内容被投影到立方体201的六个面,包括顶面、底面、左边面、正面、右边面以及背面。特别地,观察球200的北极区域的图像内容被投影到立方体201的顶面,观察球的南极区域的内容被投影到立方体201的底面,以及观察球200的赤道区域的图像内容被投影到立方体201的左边面、正面、右边面以及背面。

分别从立方体的六个面推导将被包装于基于立方体投影的投影布局中的多个正方形投影面。例如,在二维(2d)平面的正方形投影面(标记为“顶”)是从三维(3d)空间的立方体201的顶面推导的,在2d平面的正方形投影面(标记为“背”)是从3d空间的立方体201的背面推导的,在2d平面的正方形投影面(标记为“底”)是从3d空间的立方体201的底面推导的,在2d平面的正方形投影面(标记为“右”)是从3d空间的立方体201的右边面推导的,在2d平面的正方形投影面(标记为“正”)是从3d空间的立方体201的正面推导的,以及在2d平面的正方形投影面(标记为“左”)是从3d空间的立方体201的左边面推导的。

当360vr投影布局l_vr是由在图2中示出的立方体贴图投影(cubemapprojection,cmp)布局202设置的时候,正方形投影面“顶”、“背”、“底”、“右”、“正”以及“背”被包装于对应于未展开的立方体的cmp布局202中。然而,将要被编码的基于投影帧img需要是矩形的。如果cmp布局202被直接用于创造基于投影帧img,基于投影帧img需要用虚拟区域(如,黑色区域、灰色区域或白色区域)填充来形成矩形帧用于编码。或者,基于投影帧img可以具有排列在紧凑投影布局中的已投影的图像数据来避免使用虚拟区域(如,黑色区域、灰色区域或白色区域)。如图2所示,正方形投影面“顶”、“背”以及“底”被旋转以及随后被包装于紧凑cmp布局204中。因此,排列在紧凑cmp布局204中的正方形投影面“顶”、“背”、“底”、“右”、“正”以及“背”是3×2布局。这样,可以提高编解码效率。

然而,根据紧凑cmp布局204,正方形投影面的包装可能在相邻正方形投影面之间形成图像内容不连续性边界。如图2所示,具有紧凑cmp布局204的基于投影帧img具有顶子帧(topsub-frame)(其是包含正方形投影面“右”、“正”以及“左”的一个3×1面列)以及底子帧(其是包含正方形投影面“底”、“背”以及“顶”的另一个3×1面列)。在顶子帧与底子帧之间有图像内容不连续性边界,特别地,正方形投影面“右”的面边界s13与正方形投影面“底”的面边界s62连接,正方形投影面“正”的面边界s23与正方形投影面“背”的面边界s52连接,以及正方形投影面“左”的面边界s33与正方形投影面“顶”的面边界s42连接,其中在面边界s13与s62之间有图像内容不连续性,在面边界s23与s52之间有图像内容不连续性,以及在面边界s33与s42之间有图像内容不连续性。

进一步地,根据紧凑的cmp布局204,正方形投影面的包装可能在相邻正方形投影面之间形成图像内容连续性边界。关于顶子帧,正方形投影面“右”的面边界s14连接到正方形投影面“正”的面边界s22,以及正方形投影面“正”的面边界s24连接到正方形投影面“左”的面边界s32,其中在面边界s14与s22之间有图像内容连续性,以及在面边界s24与s32之间有图像内容连续性。关于底子帧,正方形投影面“底”的面边界s61连接到正方形投影面“背”的面边界s53,以及正方形投影面“背”的面边界s51连接到正方形投影面“顶”的面边界s43,其中在面边界s61与s53之间有图像内容连续性,以及在面边界s51与s43之间有图像内容连续性。

此外,紧凑的cmp布局204具有顶部不连续性边界(其包含正方形投影面“右”、“正”以及“左”的面边界s11、s21、s31)、底部不连续性边界(其包含正方形投影面“底”、“背”以及“顶”的面边界s64、s54、s44)、左边不连续性边界(其包含正方形投影面“右”以及“底”的面边界s12、s63)以及右边不连续性边界(其包含正方形投影面“左”以及“顶”的面边界s34、s41)。

在具有紧凑cmp布局204的重构的基于投影帧r/r’的顶子帧以及底子帧之间的图内容不连续性边界是由面包装而不是基于块的编码造成。根据紧凑的cmp布局204,在顶子帧与底子帧之间的图像内容不连续边界包括在投影面“右”与“底”之间的图像内容不连续性边界,在投影面“正”与“背”之间的图像内容不连续性边界,以及在投影面“左”与“顶”之间的图像内容不连续性边界。重构的基于投影帧r/r’的图像质量将因为典型的适应性环路滤波器而降级,该典型的适应性环路滤波器对邻近重构的基于投影帧r/r’的顶子帧与底子帧之间的图像内容不连续性边界的像素应用典型的适应性环路滤波进程。此外,当对邻近图像边界的像素应用典型的适应性环路滤波进程时,典型的适应性环路滤波器使用从直接复制边界像素而生成的填充像素。然而,填充像素不是邻近图像边界的像素的真正的相邻像素。结果,邻近图像边界的像素的适应性环路滤波是不精确的。

为了解决这一问题,本发明提出了新颖的基于球面相邻的适应性环路滤波方法,其可以在编码器侧的适应性环路滤波器134以及解码器侧的适应性环路滤波器144中实施。当重构的基于投影帧r/r’采用紧凑的cmp布局204时,适应性环路滤波器134/144能够找到球面相邻像素来充当填充像素以便正确地处理邻近不连续性图像边界(如,图2中示出的s11、s21、s31、s12、s63、s64、s54、s44、s34或s41)与/或不连续性面边界(如,图2中示出的s13、s23、s33、s62、s52或s42)像素的适应性环路滤波。提出的基于球面相邻的适应性环路滤波方法的进一步的细节将参考附图在下文描述。

在本发明的一些实施例中,视频编码器116可以配置为具有充当子帧缓冲器的两个工作缓冲器140,其中一个子帧缓冲器用于存储具有紧凑的cmp布局204的重构的基于投影帧r的顶子帧以及从顶子帧的子帧边界延伸的填充区域,以及另一个子帧缓冲器用于存储具有紧凑的cmp布局204的重构的基于投影帧r的底子帧以及从底子帧的子帧边界延伸的填充区域。类似地,视频解码器122可以配置为具有充当子帧缓冲器的两个工作缓冲器150,其中一个子帧缓冲器用于存储具有紧凑的cmp布局204的重构的基于投影帧r’的顶子帧以及从顶子帧的子帧边界延伸的填充区域,以及另一个子帧缓冲器用于存储具有紧凑cmp布局204的重构的基于投影帧r’的底子帧以及从底子帧的子帧边界延伸的填充区域。适应性环路滤波器134/144找到球面相邻像素来充当包含在填充区域的填充像素,填充区域环绕顶子帧以及底子帧,以及根据存储于子帧缓冲器的重构的帧数据以及填充像素数据执行适应性环路滤波进程。

在全色彩视频编解码中使用像素值来表示色彩以及亮度的最通常的方式是通过其所谓的yuv(ycbcr)色彩空间。yuv色彩空间将像素的像素值分成三个通道,其中亮度分量(y)表示灰度强度,以及色度分量(cb,cr)分别表示从灰色到蓝色以及红色的色彩不同的程度。由适应性环路滤波器134/144采用的亮度分量处理流程可以不同于由适应性环路滤波器134/144采用的色度分量处理流程。

图3示出了根据本发明实施例的基于球面相邻的适应性环路滤波的亮度分量处理流程。对于亮度分量,在步骤302、308以及314首先执行三个像素分类方法。在一个像素分类方法中,根据像素纹理特性以及像素位置,像素被分成32组。在步骤302,第一像素分类方法可以采用强度像素级适应。因此,每一像素在其亮度值的基础上被分类到由第一像素分类方法定义的32组的一个。在步骤308,第二像素分类方法可以采用直方像素级适应。图4示出了由使用直方图像素级适应分类的像素。像素分类滤波器402用于分类目标像素p0到由第二像素分类方法定义的32组的一个。目标像素p0可以通过计算一个5×5菱形中的相似度来进行分类,其中目标像素p0的分类需要相邻像素r0-r11。根据基于球面相邻的适应性环路滤波方法,一个或多个相邻像素r0-r11可以是其为球面相邻像素的填充像素。

在步骤314,第三像素分类方法可以采用2×2块级适应。图5示出了由使用2×2块级适应进行分类的一个2×2块。像素分类滤波器502用于将目标2×2块504(其包括四个像素p0-p3)分类到由第三像素分类方法定义的32组的一个。对于一个2×2块504,一个4×4窗口506(其包括相邻像素r7-r10、r13、r14、r17、r18、r21-r24)用于计算组索引。对于4×4窗口506中的每一像素,通过使用[-1,2,-1]在四个方向(包括{0,45,90,135})计算滤波结果的绝对值。因此,目标2×2块504的分类需要额外的相邻像素r0-r5、r6、r11、r12、r15、r16、r19、r20、r25-r31。根据基于球面相邻的适应性环路滤波方法,一个或多个相邻像素r0-r31可以是其为球面相邻像素的填充像素。

对于每一分类组,一个滤波器(即,一组滤波系数)可以通过解出wiener-hopf等式推导。因此,可以为一个像素分类方法推导32个滤波器。为了视频解码器122执行相同的滤波进程,多个滤波器的参数由视频编码器116进行编码并传输到视频解码器122。为了减少编解码比特的消耗,执行合并进程来减少用于一个像素分类方法的滤波器数目。

在步骤304,对第一像素分类方法的分类组进行合并处理,其中基于率失真优化(ratio-distortionoptimization,rdo)将32个分类组合并成16组。在步骤310,对第二像素分类方法的分类组进行合并处理,其中基于rdo将32个分类组合并成16组。在步骤316,对第三像素分类方法的分类组进行合并处理,其中基于rdo将32个分类组合并成16组。因此,在完成合并处理后,可以通过解出wiener-hopf等式来为一个像素分类方法推导16个滤波器(步骤306、312以及318)。

在步骤320,基于rdo在三个像素分类方法中选择最佳的一组滤波器(16个滤波器)。16个被选择的滤波器的参数将由视频编码器116进行编码并传输到视频解码器122。

在步骤324,根据对应的滤波器系数,执行滤波进程用于实际地应用滤波到一个块的每一像素,以及将每一像素的滤波结果写入重构的基于投影帧r/r’来更新/重写该重构的基于投影帧r/r’中像素的原始亮度分量。图6示出了由滤波进程使用的一个所选择的滤波器。滤波器602通过将21个滤波系数c0-c20(其在步骤s320找到)应用到21个像素,可以用于计算目标像素p0的已滤波结果,该21个像素分别包括目标像素p0以及其相邻像素r0-r19。根据基于球面相邻的适应性环路滤波方法,一个或多个相邻像素r0-r19可以是其为球面相邻像素的填充像素。

图7示出了根据本发明实施例的基于球面相邻的适应性环路滤波方法的色度分量处理流程的流程图。仅对亮度分量(y)执行像素分类处理。对于色度分量(cb,cr),通过解出wiener-hopf等式从一个块中的所有像素推导单个滤波器(即,单个组的滤波系数)(步骤702)。在步骤704,根据相同的滤波系数(即,用相同的滤波器滤波所有像素),执行滤波进程以便实际地将滤波应用于一个块中的每一像素,并将每一像素的已滤波结果写入重构的基于投影帧r/r’来更新/重写重构的基于投影帧r/r’的原始色度分量(cb,cr)。例如,图6中示出的相同的滤波器还可以由色度分量(cb,cr)的滤波进程使用。根据基于球面相邻的适应性环路滤波方法,一个或多个相邻像素r0-r19可以是其为球面相邻像素的填充像素。

如上所提到的,两个工作缓冲器(如,在编码器侧的工作缓冲器140或者在解码器侧的工作缓冲器150)可以用于充当子帧缓冲器,其中一个子帧缓冲器用于存储具有紧凑cmp布局204的重构的基于投影帧r/r’的顶子帧以及从该顶子帧的子帧边界延伸的填充区域,以及另一个子帧缓冲器用于存储具有紧凑cmp布局204的重构的基于投影帧r/r’的底子帧以及从该底子帧的子帧边界延伸的填充区域。因此,像素分类(步骤302、308以及314)以及滤波进程(步骤324以及704)两者的任一个可以从子帧缓冲器中读取所需要的填充像素。

图8示出了根据本发明实施例的存储于适应性环路滤波器134/144的工作缓冲器140/150中的重构的帧数据以及填充像素数据的布置。假定重构的基于投影帧r/r’采用紧凑的cmp布局204。因此,顶子帧包括正方形投影面“右”、“正”以及“左”,以及底子帧包括正方形投影面“顶”、“背”以及“底”。如上所提到的,在顶子帧的底部子帧边界与底子帧的顶部子帧边界之间有图像内容不连续性边界。此外,重构的基于投影帧r/r’具有不连续性图像边界,其中顶部图像边界也是顶子帧的顶部子帧边界,底部图像边界也是底子帧的底部子帧边界,左边图像边界包括顶子帧的左边子帧边界以及底子帧的左边子帧边界,以及右边图像边界包括顶子帧的右边子帧边界以及底子帧的右边子帧边界。根据基于球面相邻的适应性环路滤波方法,填充像素附加到顶子帧以及底子帧的所有子帧边界,其中填充像素包括球面相邻像素,其不由直接复制位于顶子帧以及底子帧的子帧边界的边界像素而设置。

如图8所示,一个工作缓冲器140/150可以充当用于存储顶子帧(其包括正方形投影面“右”、“正”以及“左”)以及相关填充像素(其包含在从顶子帧的子帧边界延伸的多个填充区域r1-r8以及c1-c4)的子帧缓冲器;以及另一个工作缓冲器140/150可以充当用于存储底子帧(其包括正方形投影面“顶”、“背”以及“底”)以及相关填充像素(其包含在从底子帧的子帧边界延伸的填充区域r9-r16以及c5-c8)的子帧。

在一个示例性设计中,通过使用基于面的方案可以找到球面相邻像素。因此,由包装于重构帧中的投影面的像素的副本直接设置球面相邻像素。在有多个投影面包装于投影布局的情况下,球面相邻像素在另一个投影面中找到,该另一个投影面不同于将被适应性环路滤波的当前像素所位于的投影面。在仅有单个投影面包装于投影布局的另一种情况下,球面相邻像素在将被适应性环路滤波的当前像素所位于的相同投影面中找到。

图9示出了包装于紧凑的cmp布局204的多个正方形投影面的图像内容连续性关系。重构的基于投影帧r/r’的顶子帧sf_t包括正方形投影面“右”、“正”以及“左”。重构的基于投影帧r/r’的底子帧sf_b包括正方形投影面“顶”、“背”以及“底”。在由相同参考序号标记的面边界之间有图像内容连续性。以底子帧sf_b中的正方形投影面“顶”为例,邻近于由“4”标记的面边界的顶子帧sf_t中的真正相邻投影面是正方形投影面“左”,邻近于由“3”标记的面边界的顶子帧sf_t中的真正相邻投影面是正方形投影面“正”,以及邻近于由“2”标记的面边界的顶子帧sf_t中的真正相邻投影面是正方形投影面“右”。关于包含在正方形投影面“顶”以及邻近由“4”标记的面边界的像素的适应性环路滤波进程,可以通过复制包含在正方形投影面“左”并且邻近于由“4”标记的面边界的像素从正方形面“左”找到球面相邻像素(其是该适应性环路滤波进程所需要的填充像素)。关于包含在正方形投影面“顶”以及邻近于由“3”标记的面边界的像素的适应性环路滤波进程,可以通过复制包含在正方形投影面“正”并且邻近于由3标记的面边界的像素从正方形投影面“正”中找到球面相邻像素(其是该适应性环路滤波进程所需要的填充像素)。关于包含在正方形投影面“顶”以及邻近于由“2”标记的面边界的像素的适应性环路滤波进程,通过复制包含在正方形投影面“右”并且邻近于由“2”标记的面边界的像素从正方形投影面“右”中找到球面相邻像素(其是该适应性环路滤波进程所需要的填充像素)。

请结合图9参考图8。通过复制正方形投影面“背”的图像区域s1获得从正方形投影面“右”的左边面边界延伸的填充区域r1,并随后适当地旋转所复制的图像区域,其中填充区域r1对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“右”的区域。通过复制正方形投影面“顶”的图像区域s2获得从正方形投影面“右”的顶部面边界延伸的填充区域r2,其中填充区域r2对应的观察球200的区域邻近于从观察球200上获得正方形投影面“右”的区域。通过复制正方形投影面“顶”的图像区域s3获得从正方形投影面“正”的顶部面边界延伸的填充区域r3并随后适当地旋转所复制的图像区域,其中填充区域r3对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“正”的区域。通过复制正方形投影面“顶”的图像区域s4获得从正方形投影面“顶”的顶部面边界延伸的填充区域r4,并随后适当地旋转所复制的图像区域,其中填充区域r4对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“左”的区域。

通过复制正方形投影面“背”的图像区域s5获得从正方形投影面“左”的右边面边界延伸的填充区域r5,并随后适当地旋转所复制的图像区域,其中填充区域r5对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“左”的区域。通过复制正方形投影面“底”的图像区域s6获得从正方形投影面“左”的底部面边界延伸的填充区域r6,其中填充区域r6对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“左”的区域。通过复制正方形投影面“底”的图像区域s7获得从正方形投影面“正”的底部面边界延伸的填充区域r7,并随后适当地旋转所复制的图像区域,其中填充区域r7对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“正”的区域。通过复制正方形投影面“底”的图像区域s8获得从正方形投影面“右”的底部面边界延伸的填充区域r8,并随后适当地旋转所复制的图像区域,其中填充区域r8对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“右”的区域。

通过复制正方形投影面“正”的图像区域s9获得从正方形投影面“底”的左边面边界延伸的填充区域r9,并随后适当地旋转所复制的图像区域,其中填充区域r9对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“底”的区域。通过复制正方形投影面“右”的图像区域s10获得从正方形投影面“底”的底部面边界延伸的填充区域r10,并随后适当地旋转所复制的图像区域,其中填充区域r10对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“底”的区域。通过复制正方形投影面“右”的图像区域s11获得从正方形投影面“背”的底部面边界延伸的填充区域r11,并随后适当地旋转所复制的图像区域,其中填充区域r11对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“背”的区域。通过复制正方形投影面“右”的图像区域s12获得从正方形投影面“顶”的底部面边界延伸的填充区域r12,其中填充区域r12对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“顶”的区域。

通过复制正方形投影面“正”的图像区域s13获得从正方形投影面“顶”的右边面边界延伸的填充区域r13,并随后适当地旋转所复制的图像区域,其中填充区域r13对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“顶”的区域。通过复制正方形投影面“左”的图像区域s14获得从正方形投影面“顶”的顶部面边界延伸的填充区域r14,并随后适当地旋转所复制的图像区域,其中填充区域r14对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“顶”的区域。通过复制正方形投影面“左”的图像区域s15获得从正方形投影面“背”的顶部面边界延伸的填充区域r15,并随后适当地旋转所复制的图像区域,其中填充区域r15对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“背”的区域。通过复制正方形投影面“左”的图像区域s16获得从正方形投影面“底”的顶部面边界延伸的填充区域r16,其中填充区域r16对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“底”的区域。

关于填充区域c1-c4,其可以通过复制顶子帧的四个角落像素而生成。具体地,通过复制正方形投影面“右”的最上一列的最左像素生成填充区域c1中的填充像素,通过复制正方形投影面“左”的最上一列的最右像素生成填充区域c2中的填充像素,通过复制正方形投影面“右”的最下一列的最左像素生成填充区域c3中的填充像素,以及通过复制正方形投影面“左”的最下一列的最右像素生成填充区域c4中的填充像素。

关于填充区域c5-c8,其可以通过复制底子帧的四个角落像素而生成。具体地,通过复制正方形投影面“底”的最上一列的最左像素生成填充区域c5中的填充像素,通过复制正方形投影面“顶”的最上一列的最右像素生成填充区域c6中的填充像素,通过复制正方形投影面“底”的最下一列的最左像素生成填充区域c7中的填充像素,以及通过复制正方形投影面“顶”的最下一列的最右像素生成填充区域c8中的填充像素。

在另一个示例性设计中,通过使用基于几何的方案可以找到球面相邻像素。根据基于几何的方案,可以通过3d投影找到填充区域中的球面相邻像素。在有多个投影面包装于投影布局中的情况下,基于几何的方案应用几何映射到投影面的扩展区域(extendedarea)上的被投影像素来找到在另一个投影面上的点,以及从该点推导球面相邻像素。在仅单个投影面包装于投影布局的另一个情况下,基于几何的方案应用几何投影到投影面的扩展区域上的被投影像素来找到在相同投影面上的点,以及从该点推导球面相邻像素。

图10示出了根据本发明实施例的通过基于几何的方案找到的球面相邻像素。需要为面b(如,立方体的底面)生成填充区域。为了确定在面b的扩展区域b’上的被投影像素(其是球面相邻像素)q的像素值,找到在面a(如,立方体的正面)上的点p。如图10所示,点p是面a与直线(其从投影中心o(如,观察球200的中心)到被投影像素q)的交叉点。点p的像素值用于设置被投影像素q的像素值。在点p是面a的整数位置像素的情况下,由整数位置像素的像素值直接设置被投影像素q的像素值。在点p不是面a的整数位置像素的情况下,执行插值来确定点p的像素值。图11示出了根据本发明实施例的为点p生成插值像素值的示例。在这一示例中,通过插值混合点p附近的四个最近整数位置像素a1、a2、a3以及a4的像素值用于生成已插值的像素值来充当点p的像素值。因此,由点p的已插值的像素值设置被投影像素q的像素值。然而,这一插值设计仅是说明的目的,并不意味着对本发明的限制。实际上,取决于实际设计考虑,由基于几何的方案使用的插值滤波器可以是最近的相邻滤波器、双线性滤波器(bilinearfilter)、双三次滤波器(bicubicfilter)或者兰索斯滤波器(lanczosfilter)。

因此,顶子帧的填充区域r1-r8以及c1-c4中的球面相邻像素可以通过应用几何填充到顶子帧的子帧边界来确定,以及底子帧的填充区域r9-r16以及c5-c8中的球面相邻像素可以通过应用几何填充到底子帧的子帧边界来确定。

填充区域的宽度以及高度可以取决于由适应性环路滤波器134/144使用的最大处理尺寸,用于对像素执行像素分类方法或滤波进程。例如,水平方向上的填充宽度w可以被定义为以及垂直方向上的填充高度h可以被定义为其中以及分别表示第i个像素分类方法中的处理宽度以及高度,以及wf与hf分别表示滤波进程中的处理宽度与高度。

因为顶子帧以及填充区域r1-r8以及c1-c4存储于一个工作缓冲器140/150中并且底子帧以及填充区域r9-r16以及c5-c8存储于另一个工作缓冲器140/150中,根据图3示出的亮度分量处理流程,适应性环路滤波器134/144可以对工作缓冲器140/150(其充当子帧缓冲器)执行三个像素分类方法以及滤波进程,以及根据图7示出的色度分量处理流程,可以对工作缓冲器140/150(其充当子帧缓冲器)执行滤波进程。

例如,当将由图4示出的像素分类滤波器402分类的目标像素p0被包含在一个正方形投影面并邻近子帧边界时,可以从图8示出的填充区域r1-16以及c1-c8之一的填充区域中获得相邻像素r0-r11的一个或多个。换言之,块(即,alf处理单元)包括邻近子帧边界的目标像素p0,以及由像素分类滤波器使用的相邻像素r0-r11的至少一个是通过基于面的方案或基于几何的方案获得球面相邻像素。

对于另一个示例,当将由图5示出的像素分类滤波器分类的目标2×2块504被包含在一个正方形投影面以及邻近子帧边界时,可以从图8示出的填充区域r1-r16以及c1-c8之一的填充区域中获得相邻像素r0-r31的一个或多个。换言之,块(即,alf处理单元)包括邻近子帧边界的目标2×2块504,以及由像素分类滤波器502使用的相邻像素r0-r31的至少一个是由基于面的方案或基于几何的方案获得的球面相邻像素。

对于又一示例,当将由图6示出的滤波器602滤波的目标像素p0包含在一个正方形投影面以及邻近子帧边界时,可以从图8示出的填充区域r1-r16以及c1-c8之一的填充区域获得相邻像素r0-r19的一个或多个。换言之,块(即alf处理单元)包括邻近子帧边界的目标像素p0,以及由滤波器602使用的相邻像素r0-r19的至少一个是由基于面的方案或基于几何的方案获得的球面相邻像素。

为了简便,因为由基于面的方案或基于几何的方案找到的真正的相邻像素在附加到图像边界的填充区域中是可用的,则应用到邻近图像边界的像素的适应性环路滤波进程更加精确。此外,应用于邻近在顶子帧与底子帧之间的图像内容不连续性边界的适应性环路滤波进程将不受图像内容不连续性边界的影响,并且可以正确的工作。

在本发明的一些实施例中,基于面的方案/基于几何的方案找到球面相邻像素(其充当在两个子帧外的填充像素)并在适应性环路滤波进程之前将所找到的球面相邻像素存储到子帧缓冲器(如,工作缓冲器140/150)。在缓冲器尺寸与计算复杂度之间有权衡。为了减少工作缓冲器140/150的内存使用,可以通过基于面的方案/基于几何的方案以实时(on-the-fly)的方式找到球面相邻像素。因此,在适应性环路滤波进程期间,位于当前处理的子帧外的球面相邻像素在需要时可以被动态地地填充/创造。当在适应性环路滤波器134以及144的一个或两者中实施球面相邻像素的实时计算时,视频编码器116被允许具有充当图像缓冲器的单个工作缓冲器140用于缓冲重构的基于投影帧r,与/或视频解码器122被允许具有充当图像缓冲器的单个工作缓冲器150用于缓冲重构的基于投影帧r’。由于图像缓冲器是在存储装置中创造而不需要用于存储填充像素的额外区域的事实,缓冲器需求得到缓解。然而,由于按需找到所需要的球面相邻像素的实时计算,基于球面相邻的适应性环路滤波方法的运行时间可以更长。

适应性环路滤波器134/144可以是基于块的适应性环路滤波器,以及适应性环路滤波进程可以使用一个块作为基本处理单元。例如,处理单元可以是一个编码树块(ctb)或可以是ctb的分割。图12示出了根据本发明实施例的由适应性环路滤波器134/144确定并使用的处理单元。首先,重构的基于投影帧r/r’被分成多个ctb。如果ctb位于顶子帧,它被标记为“顶”。如果ctb位于顶子帧以及底子帧两者,它被标记为“交叉”。如果ctb位于底子帧,它被标记为“底”。在这一示例中,ctb1202、1204、1206以及1208的每一者被标记为“交叉”,ctb1212、1214、1216以及1218的每一者被标记为“顶”,以及ctb1222、1224、1226、1228的每一者被标记为“底”。如果ctb被标记为“交叉”,根据在顶子帧与底子帧之间的图像内容不连续性边界eg,它被拆分成多个小尺寸块。在这一示例中,ctb1202被拆分成两个小尺寸块1201_1以及1202_2,ctb1204被拆分成两个小尺寸块1204_1以及1204_2,ctb1206被拆分成两个小尺寸块1206_1以及1206_2,以及ctb1208被拆分成两个小尺寸的块1208_1以及1208_2。如图12所示,实际由适应性环路滤波器134/144使用的处理单元包括大尺寸块(即,ctb)1212、1214、1216、1218、1222、1224、1226、1228,以及小尺寸块1202_1、1202_2、1204_1、1204_2、1206_1、1206_2、1208_1、1208_2。处理单元从没有填充的重构的基于投影帧r/r’来确定,以及可以映射到存储于子帧缓冲器中具有填充的子帧。因为没有处理单元穿过图像内容不连续性边界eg,当适应性环路滤波被应用于邻近图像内容不连续性边界eg的处理单元时,像素分类以及滤波进程将不受图像内容不连续性边界eg的影响。

在上述实施例中,附加到每一子帧的子帧边界的填充被包含在重构的基于投影帧r/r’中。然而,这仅是说明性的,并不意味着对本发明的限制。或者,填充可以被附加到包含在重构的基于投影帧r/r’中的每一投影面的面边界。

图13示出了根据本发明实施例的存储于适应性环路滤波器134/144的工作缓冲器140/150中的重构的帧数据以及填充像素数据的布置。假定重构的基于投影帧r/r’采用紧凑的cmp布局204。因此,添加到正方形投影面“右”、“正”、“左”、“顶”、“背”以及“底”的面边界的填充包括添加到顶子帧以及底子帧的子帧边界的填充,以及添加到为连续投影面的相邻正方形投影面之间的连续性面边界的填充。以正方形投影面“右”为例,可以通过基于面的方案或基于几何的方案生成填充区域r1、r2、r8、r17,以及可以通过基于几何的方案生成或通过复制角落像素生成填充区域c1、c3、c9、c10。需要注意的是,在正方形投影面“右”的右边面边界以及正方形投影面“正”的左边面边界之间有图像内容连续性。换言之,正方形投影面“右”中的图像区域s17以及正方形投影面“正”中的相邻图像区域是在正方形投影面“右”与“正”之间的图像内容连续性边界的对侧。填充区域r17可以通过应用几何填充到正方形投影面“右”的右边面边界获得,其中填充区域r17可以不同于正方形投影面“正”中的相邻图像区域。或者,填充区域r17可以通过复制正方形投影面“正”中的相邻图像区域获得。无论采用了哪一方案,填充区域r17对应的观察球200上的区域邻近于从观察球200上获得正方形投影面“右”的区域。换言之,填充区域r17是正方形投影面“右”中图像区域s17的球面相邻。进一步地,水平方向的填充宽度w可以被定义为以及垂直方向的填充高度h可以被定义为

视频编码器116可以被配置为具有充当投影面缓冲器的六个工作缓冲器140。此外,视频解码器122可以被配置为具有充当投影面缓冲器的六个工作缓冲器140/150。第一投影面缓冲器用于存储正方形投影面“右”以及从面边界延伸的相关填充区域。第二投影面缓冲器用于存储正方形投影面“正”以及从面边界延伸的相关填充区域。第三投影面缓冲器用于存储正方形投影面“左”以及从面边界延伸的相关填充区域。第四投影面缓冲器用于存储正方形投影面“顶”以及从面边界延伸的相关填充区域。第五投影面缓冲器用于存储正方形投影面“背”以及从面边界延伸的相关填充区域。第六投影面缓冲器用于存储正方形投影面“底”以及从面边界延伸的相关填充区域。

适应性环路滤波器134/144对存储于投影面缓冲器的数据执行适应性环路滤波进程。为了减少工作缓冲器140/150的内存使用,可以由以实时的方式的基于面的方案/基于几何的方案找到球面相邻像素。因此,在适应性环路滤波进程期间,当需要时,位于当前处理的投影面外的球面相邻像素可以被动态地填充/创造。当在适应性环路滤波器134以及144的一个或两者中实施球面相邻像素的实时计算时,视频编码器116被允许具有充当图像缓冲器的单个工作缓冲器140用于缓冲重构的基于投影帧r,与/或视频解码器122被允许具有充当图像缓冲器的单个工作缓冲器150用于缓冲重构的基于投影帧r’。

适应性环路滤波器134/144可以是基于块的适应性环路滤波器,以及适应性环路滤波进程可以使用一个块作为基本处理单元。例如,处理单元可以是编码树块(ctb)或者可以是一个ctb的分割。首先,重构的基于投影帧r/r’被分成多个ctb。如果ctb跨过在顶子帧与底子帧之间的图像内容不连续性边界,它被拆分成多个小尺寸块。此外,如果ctb跨过作为连续投影面的相邻正方形投影面之间的图像内容连续性边界,它被拆分成小尺寸块。假定图12示出的边界eg是图像内容连续性边界,ctb1202/1204/1206以及1208的每一者被拆分成两个小尺寸的块。因为没有处理单元跨过在子帧之间的图像内容不连续性边界以及跨过在相邻投影面之间的图像内连续性边界,当适应性环路滤波进程被应用于邻近图像内容不连续性边界的处理单元时,像素分类以及滤波进程将不会受图像内容不连续性边界的影响,以及当适应性环路滤波被应用于邻近图像内容连续性边界的处理单元时,像素分类以及滤波进程将不会受图像内容连续性边界的影响。

在上述实施例中,提出的基于球面相邻的适应性环路滤波方法由适应性环路滤波器134/144采用来控制邻近具有包含在基于立方体的投影布局(如,紧凑的cmp布局204)的多个投影面的重构的基于投影帧r/r’的子帧边界(或面边界)的块的适应性环路滤波。然而,这仅是说明性的,并不意味着对本发明的限制。或者,提出的基于球面相邻的环路滤波方法可以由适应性环路滤波器134/144采用来控制邻近具有包装于不同投影布局中多个投影面的重构的基于投影帧r/r’的子帧边界(或面边界)的块的适应性环路滤波。例如,360vr投影布局l_vr可以是等矩形投影(erp)布局、填充的等矩形投影(perp)布局、八面体投影布局、二十面体投影布局、截断正方棱锥(tsp)布局、分段球面投影(ssp)布局或旋转的球面投影布局。

本领域技术人员将容易观察到可以在保留本发明教导的同时对装置以及方法进行许多修正以及替换。因此,上述公开应当被解释为仅受所附权利要求的范围以及边界来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1