用于视频编码的编码器、解码器、系统和方法与流程

文档序号:14036746阅读:216来源:国知局
用于视频编码的编码器、解码器、系统和方法与流程

本发明的领域涉及视频编码。特定实施例涉及用于对视频信号进行编码的编码器、用于对编码的视频信号进行解码的解码器、用于对视频信号进行编码和对编码的视频信号进行解码的系统、用于对视频信号进行编码和/或对编码的视频信号进行解码的方法,以及计算机程序产品。



背景技术:

在过去的十年中,已经出现了大量具有不同分辨率的屏幕表面。此外,某些观看设备支持宽带接入,而其它设备支持有限接入。这两个性能并不总是相关。为了在限制性网络上为这样的异构设备群组提供相同的内容,可扩展视频编解码器通常侧重于基于分辨率或psnr评估质量来提供质量层。基础层包括低频率,适合小屏幕,每个质量层添加更多、更高的频率分量。具有小屏幕的设备仅需要基础层,而更大的屏幕需要更多质量层,因此需要更多带宽。

这种方法不利于具有大屏幕和有限带宽的设备。可扩展视频编解码器的基础层不适合大屏幕。由于低频方面的原因,它们使视频看起来很模糊。人们对质量的感知并不仅在于分辨率。我们感知到图像的“简化”但高频版本优于模糊、“复杂”版本,例如在卡通动画中。虽然几乎所有纹理信息丢失,但清晰的边缘得以保留。卡通动画仍然看起来像吸引人的真实版本——比具有相同数量比特(在信息理论意义上)的模糊视频更像。



技术实现要素:

本发明实施例的目标是减少用于存储和传输编码的视频信号的存储和传输要求。

本发明的某些实施例的相关目标是根据mos(平均评价分数)而不是psnr(峰值信噪比)来压缩图像。mpeg(运动图像专家组)族的编码器已达到任意更大程度的压缩将导致高度可见伪影的程度。相反,本发明的某些实施例的目标是在发生传输错误时产生更少的视觉干扰伪影。

根据本发明的第一方面,提供一种用于对视频信号进行编码的编码器,包括时空边缘检测器、矢量化模块和属性跟踪器。时空边缘检测器被配置为检测所述视频信号的多个时空表面。矢量化模块被配置为矢量化所述时空表面。属性跟踪器被配置为对矢量化的时空表面确定多个纹理绘制属性,所述多个纹理绘制属性表征在所述矢量化的时空表面中的各个矢量化的时空表面的至少一侧的颜色和纹理中的至少一个。此外,所述编码器被配置为基于所述矢量化的时空表面和所述多个纹理绘制属性来对所述视频信号进行编码。

以这种方式,通过在矢量化的时空表面的基础上对视频信号进行编码,可有效地表示视频信号,因此可降低存储和传输要求。此外,该方法通过使用基于矢量的呈现(representation)和纹理绘制属性,允许按照mos而不是psnr来对视频信号进行编码。因此,如果有限的带宽迫使编码器传输劣化的视频,或者如果发生传输错误,则出现视觉干扰伪影的可能性更小。

在特定实施例中,纹理绘制属性包括以下中的至少一个:绘制颜色指示;基于词典的动态纹理;以及生成的动态纹理。

本发明的某些实施例的进一步的目标是通过使用质量层的单个视频呈现来服务不同的设备,其中,质量范围与我们人类对内容的“简化”版本到更“详细”版本的感知对应。

在实施例中,所述时空边缘检测器被配置为以级联的方式迭代地检测所述多个时空表面,以便确定多个层,所述多个层中的第一层包括第一数量的时空表面,所述多个层中的第二层包括第二数量的更细粒度的时空表面。

以这种方式,即使当设备具有大分辨率和低带宽时,编码器也满足通过使用质量层的单个视频呈现而被服务的不同设备的需要,因为编码基于矢量化的时空表面和纹理绘制属性,所以即使在基础层中,也允许对视频信号进行解码以得到满意的结果。

在实施例中,所述矢量化模块被配置为以级联的方式迭代地矢量化所述时空表面,以便确定多个层,所述多个层中的第一层包括第一数量的矢量化参数,所述第一数量的矢量化参数被配置为对所述时空表面的第一数量的矢量化的时空表面建模,所述多个层中的第二层包括第二数量的矢量化参数,所述第二数量的矢量化参数被配置为对所述时空表面的第二数量的更紧密拟合的矢量化的时空表面建模。

以这种方式,即使当设备具有大分辨率和低带宽时,该方法也相应地进一步满足通过使用质量层的单个视频呈现而被服务的不同设备的需要,因为编码基于矢量化的时空表面和纹理绘制属性,所以即使在基础层中,也允许对视频信号进行解码以得到满意的结果。

在实施例中,所述时空边缘检测器被配置为:使用不对称指数衰减窗口来在时空上平滑所述视频信号的考虑帧;在时空上计算强度梯度;在时空上应用非最大抑制;以及在所述视频信号的所述考虑帧之前的有限数量的帧上,使用沿着所述视频信号的时间维度延伸的滞后阈值化来在时空上阈值化边缘。

以这种方式,即使给定有限的处理资源,也可有效地考虑时间维度。具体地,当仅执行前向蔓延(propagation)时,可使用一个单个过去的帧,而在执行前向和后向蔓延两者时,可使用更多的帧。

在可替代的实施例中,检测包括通过使用滤波器、阈值化、细化(thinning)、形态学或其它方式评估梯度量值来提取具有相似特性的边缘(即表面)。

在另一个实施例中,细化所检测到的多个时空表面中的时空表面包括在形态学上腐蚀所述时空表面的体素,而保留拓扑。

以这种方式,可更有效地执行矢量化。

在实施例中,所述矢量化模块被配置为:在所述矢量化之前,在时空上分析所述时空表面的每个体素的26个体素连接的邻域,以便确定所述体素的不相交表面片段。

在实施例中,所述矢量化模块被配置为使用以下中的至少一个来拟合所述时空表面中的时空表面,以便对所述时空表面确定多个控制点和多个局部几何导数:三维贝塞尔曲面拟合算法;线性块;样条函数;以及nurbs(非均匀有理基本样条)。

在实施例中,所述属性跟踪器被配置为:基于与所述矢量化的时空表面对应的原始视频信号轮廓的厚度,在所述矢量化的时空表面的控制点处并与所述矢量化的时空表面相距一距离处,在所述矢量化的时空表面中的各个矢量化的时空表面的至少一侧,优选地在任一侧,对纹理绘制特征进行采样。

具体地,在特定实施例中,编码器可包括细化模块,其被配置为细化所检测到的多个时空表面。以这种方式,作为所述检测的后处理步骤或者作为所述矢量化的预处理步骤,所述检测和所述矢量化步骤可更好地彼此调整,从而可对细化的时空表面执行所述矢量化。

在另一个实施例中,所述矢量化包括使用以下中的至少一个来拟合所述时空表面中的时空表面,以便对所述时空表面确定多个控制点和多个局部几何导数:三维贝塞尔曲面拟合算法;线性块;样条函数;以及nurbs(非均匀有理基本样条)。

在进一步开发的实施例中,所述矢量化使用隐函数。

在另一个实施例中,对所述矢量化的时空表面确定所述多个绘制属性包括:基于与所述矢量化的时空表面对应的原始视频信号轮廓的厚度,在所述矢量化的时空表面的控制点处并与所述矢量化的时空表面相距一距离处,在各个矢量化的时空表面的至少一侧,优选地在任一侧(即两侧中的每侧),对纹理绘制特征进行采样。

以这种方式,在进行编码时可考虑原始视频信号轮廓的边缘厚度或模糊量,以确保在与所述矢量化的空间表面相距适当的距离处,而不是在所述原始视频信号轮廓内执行所述采样。在特定实施例中,控制点是来自矢量化的副产品,因此它们可能是显著(salient)点,因为它们位于相关的纹理绘制环境中或接近相关的纹理绘制环境。

以这种方式,编码器可通过重新使用先前获取的结果而更有效。

在进一步开发的实施例中,这通过构建4d时空图像金字塔以及通过分析每个体素的尺度,以便确定所述体素是在详细空间或快速移动时间区域中还是在平滑、模糊区域中来执行。

根据本发明的第二方面,提供一种用于对编码的视频信号进行解码的解码器,包括获取模块、光栅化器、求解器和后处理模块。获取模块被配置为获取所述编码的视频信号,所述编码的视频信号包括多个矢量化的时空表面和多个纹理绘制属性。光栅化器被配置为通过在所述多个矢量化的时空表面的引导下,在时空画布上绘制所述多个纹理绘制属性来光栅化所述多个纹理绘制属性,以确定约束图。求解器被配置为使用优化算法,基于所述约束图并使用时空栅格来填充所述时空画布。后处理模块被配置为通过沿着离散化的时空栅格模糊边缘来后处理重构的视频信号。

本领域的技术人员将理解,在上文中所描述的考虑和优点也比照适用于解码器的实施例。

在实施例中,所述解码器包括可选的质量层选择模块,其被配置为如果所述编码的视频信号包括可扩展的至少两个连续排序的层,则从所述编码的视频信号中选择至少第一层,并且可选地,选择每个连续的层,直到所述编码的视频信号的期望层。

在实施例中,所述编码的视频信号包括表示与所述矢量化的时空表面对应的原始视频信号轮廓的原始局部厚度的尺度信息;并且其中,所述后处理模块被配置为考虑所述尺度信息来执行所述模糊。

根据本发明的另一个方面,提供一种用于对视频信号进行编码和对编码的视频信号进行解码的系统,包括在上文中所描述的编码器和在上文中所描述的解码器。

本领域的技术人员将理解,在上文中所描述的考虑和优点也比照适用于系统的实施例。

根据本发明的另一个方面,提供一种用于对视频信号进行编码的方法,包括在计算设备处的以下步骤:使用时空边缘检测器检测所述视频信号的多个时空表面(即图像空间和/或时间边界)。该方法还包括矢量化所述时空表面。该方法还包括对所述矢量化的时空表面确定多个纹理绘制属性,所述多个纹理绘制属性表征在所述矢量化的时空表面中的各个矢量化的时空表面的至少一侧的颜色和纹理中的至少一个。该方法还包括基于所述矢量化的时空表面和所述多个纹理绘制属性,对所述视频信号进行编码。

以这种方式,通过在矢量化的时空表面的基础上对视频信号进行编码,可有效地表示视频信号,因此可降低存储和传输要求。此外,该方法通过使用基于矢量的呈现和纹理绘制属性,允许按照mos而不是psnr来对视频信号进行编码。因此,如果有限的带宽迫使编码器传输劣化的视频,或者如果发生传输错误,则出现视觉干扰伪影的可能性更小。

在特定实施例中,该方法包括细化所检测到的多个时空表面。以这种方式,作为所述检测的后处理步骤或者作为所述矢量化的预处理步骤,所述检测和所述矢量化步骤可更好地彼此调整,从而可对细化的时空表面执行所述矢量化。

在特定实施例中,纹理绘制属性包括以下中的至少一个:绘制颜色指示;基于词典的动态纹理;以及生成的动态纹理。

本发明的某些实施例的进一步的目标是通过使用质量层的单个视频呈现来服务不同的设备,其中,质量范围与我们人类对内容的“简化”版本到更“详细”版本的感知对应。

在实施例中,检测所述多个时空表面以级联的方式迭代地执行,以便确定多个层,所述多个层中的第一层包括第一数量的时空表面,所述多个层中的第二层包括用更精确的粒度检测到的第二数量的更细粒度的时空表面。

以这种方式,即使当设备具有大分辨率和低带宽时,该方法也满足通过使用质量层的单个视频呈现而被服务的不同设备的需要,因为编码基于矢量化的时空表面和纹理绘制属性,所以即使在基础层中,也允许对视频信号进行解码以得到满意的结果。

在另一个实施例中,矢量化所述时空表面以级联的方式迭代地执行(例如通过连续地限制满足给定迭代的所有矢量化的时空表面的误差界参数),以便确定多个层,所述多个层中的第一层包括第一数量的矢量化参数,所述第一数量的矢量化参数被配置为对所述时空表面的第一数量的矢量化的时空表面建模,所述多个层中的第二层包括第二数量的矢量化参数,所述第二数量的矢量化参数被配置为对所述时空表面中用更精确的粒度检测到的第二数量的更紧密拟合的矢量化的时空表面建模。

以这种方式,即使当设备具有大分辨率和低带宽时,该方法也相应地进一步满足通过使用质量层的单个视频呈现而被服务的不同设备的需要,因为编码基于矢量化的时空表面和纹理绘制属性,所以即使在基础层中,也允许对视频信号进行解码以得到满意的结果。

在另一个实施例中,使用时空边缘检测器检测所述视频信号的所述多个时空表面包括:使用不对称指数衰减窗口来在时空上平滑所述视频信号的考虑帧;在时空上计算强度梯度;在时空上应用非最大抑制;以及在所述视频信号的所述考虑帧之前的有限数量的帧上,使用沿着所述视频信号的时间维度延伸的滞后阈值化来在时空上阈值化边缘。

以这种方式,即使给定有限的处理资源,也可有效地考虑时间维度。具体地,当仅执行前向蔓延时,可使用一个单个过去的帧,而在执行前向和后向蔓延两者时,可使用更多的帧。

在可替代的实施例中,检测包括通过使用滤波器、阈值化、细化、形态学或其它方式评估梯度量值来提取具有相似特性的边缘(即表面)。

在另一个实施例中,细化所检测到的多个时空表面包括在形态学上腐蚀所述时空表面的体素,而保留拓扑。

以这种方式,可更有效地执行矢量化。

在另一个实施例中,该方法包括:在所述矢量化之前,在时空上分析所述时空表面的每个体素的26个体素连接的邻域,以便确定所述体素的不相交表面片段。

在另一个实施例中,所述矢量化包括使用以下中的至少一个来拟合所述时空表面中的时空表面,以便对所述时空表面确定多个控制点和多个局部几何导数:三维贝塞尔曲面拟合算法;线性块;样条函数;以及nurbs(非均匀有理基本样条)。

在进一步开发的实施例中,所述矢量化使用隐函数。

在另一个实施例中,对所述矢量化的时空表面确定所述多个绘制属性包括:基于与所述矢量化的时空表面对应的原始视频信号轮廓的厚度,在所述矢量化的时空表面的控制点处并与所述矢量化的时空表面相距一距离处,在各个矢量化的时空表面的至少一侧,优选地在任一侧(即两侧中的每侧),对纹理绘制特征进行采样。

以这种方式,在进行编码时可考虑原始视频信号轮廓的边缘厚度或模糊量,以确保在与所述矢量化的空间表面的相距适当的距离处,而不是在所述原始视频信号轮廓内执行所述采样。在特定实施例中,控制点是来自矢量化的副产品,因此它们可能是显著点,因为它们位于相关的纹理绘制环境中或接近相关的纹理绘制环境。

以这种方式,该方法可通过重新使用先前获取的结果而更有效。

在进一步开发的实施例中,这通过构建4d时空图像金字塔以及通过分析每个体素的尺度,以便确定所述体素是在详细空间或快速移动时间区域中还是在平滑、模糊区域中来执行。

根据本发明的另一个方面,提供一种用于对编码的视频信号进行解码的方法,包括在计算设备处的以下步骤:获取所述编码的视频信号,所述编码的视频信号包括多个矢量化的时空表面和多个纹理绘制属性。该方法还包括通过在所述多个矢量化的时空表面的引导下,在时空画布上绘制所述多个纹理绘制属性来光栅化所述多个纹理绘制属性,以确定约束图。该方法还包括使用优化算法,基于所述约束图并使用时空栅格来填充所述时空画布。该方法还包括通过沿着离散化的时空栅格模糊边缘来后处理重构的视频信号。在特定实施例中,如果具有足够的计算能力,则优化算法是全局的,否则优化算法是局部的。

本领域的技术人员将理解,在上文中所描述的考虑和优点也比照适用于用于解码的方法的实施例。

在特定实施例中,所述编码的视频信号包括可扩展的至少两个连续排序的层,其中,所述方法包括从所述可扩展的多个层中选择至少第一层,并且可选地,选择每个连续的层,直到所述可扩展的多个层的期望层。

在进一步开发的实施例中,所述选择通过将预定义的配置文件与带宽限制和/或屏幕分辨率相比较,通过学习这些与层数之间的关系,和/或通过让用户增加或降低质量从而控制带宽来执行。

在优选的进一步开发的实施例中,所述选择是动态并且开放的,以便随条件变化而重新协商。

在另一个实施例中,所述编码的视频信号包括表示与所述矢量化的时空表面对应的原始视频信号轮廓的原始局部厚度的尺度信息;并且其中,所述模糊考虑所述尺度信息。

根据本发明的另一个方面,提供一种用于对视频信号进行编码和对编码的视频信号进行解码的方法,包括如在上文中所描述的用于对视频信号进行编码的方法中的任何一个的所有步骤,以及如在上文中所描述的用于对编码的视频信号进行解码的方法中的任何一个的所有步骤。

本领域的技术人员将理解,在上文中所描述的考虑和优点也比照适用于该方法的实施例。

根据本发明的另一个方面,提供一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令用于当程序在计算机上运行时执行方法,所述方法包括在上文中所描述的方法中的任何一个的步骤。

本领域技术人员将理解,在上文中所描述的考虑和优点也比照适用于计算机程序产品的实施例。

附图说明

附图用于说明根据本发明的目前优选的非限制性示例性实施例。当结合附图阅读时,根据本发明的实施例的特征的上述和其它优点以及本发明的目标将变得更加显而易见,并且可从下面的详细描述中更好地理解本发明,其中:

图1示意性示出根据本发明的系统的实施例;

图2a示意性示出根据本发明的编码器的实施例的操作;

图2b示意性示出根据本发明的解码器的实施例的操作;

图3示意性示出跟踪属性;

图4示意性示出时空边缘检测;

图5a-c示意性示出由根据本发明的编码器的实施例产生的多个质量层的二维层的三个示例。

具体实施方式

本发明的实施例将“简化与复杂”问题看作边缘呈现问题:图像中的一些边缘被认为是重要的,而另一些边缘则被认为不重要并且可被合并或省略。对象边界和深度不连续性通常是重要的。较不重要的边缘通常来自纹理特性(例如水、树叶、地毯、皮肤等)。对于编码器而言,区分这两个类别,以及对于这两个类别而言,在解码器中相应地被处理都是有利的。

第一类边缘可被称为“表面”或“轮廓”。这些表面抑制绘制蔓延。表面或轮廓在视频向其左侧和右侧渲染的过程中产生不连续性。表面可以是时空的,表示空间物体边界和时间遮挡两者。这些表面可优选地以非离散的方式表示,以便在渲染分辨率的范围上保持清晰。有多种方法来参数化连续曲面。仅次于其几何形状,呈现可包括每个表面或轮廓的不同属性,像边缘清晰度和梯度信息。

第二类元素可描述应当在表面或轮廓之间使用的纹理绘制。这可与单色绘制一样简单,但无论是基于词典的还是生成的动态纹理还可填充该空间。这些可被表示为单独或与轮廓对齐的种子,蔓延它们的特性,而表面(即轮廓)在时间以及空间上约束它们的影响。

可考虑使用可扩展的补充质量层。低带宽基础层可包括最显著轮廓的粗糙几何形状,并且可描述少量绘制种子的基本表现方式。附加层可用更复杂、纹理化的表现方式向轮廓添加细节、显示更精细的轮廓和添加种子。以这种方式,质量层与频率分量没有太多的关联,而是与人对边缘的“简单与复杂”重要性的感知有关联。

这种呈现可被认为是统一的,但可服务异构设备群组。它们的解码器可光栅化连续、参数化的呈现,即求解在离散时空栅格上施加轮廓和种子的表现方式的逆问题,其专门针对设备的需求和渲染能力而定制。设备可根据带宽限制和它们的计算能力请求附加质量层。

图1示出了根据本发明的系统的实施例,其包括编码器100和解码器200。示出了用于编码器100和解码器200的示例性操作。

编码器100可接收作为要被编码的输入101的视频信号。在操作102中,编码器100可检测所述视频信号的多个时空表面(即在包括两个空间维度和一个时间维度的空间中定义的表面)。为此目的,编码器100可使用如针对图4进一步描述的时空边缘检测器。

在特定实施例中,时空表面可以级联的方式迭代地被检测,以便确定多个层,例如以允许可扩展的视频层对要被编码的视频信号进行编码,其中多个层中的第一层包括第一数量的时空表面,多个层中的第二层包括用更精确的粒度检测到的第二数量的更细粒度的时空表面,例如使得第二层的表面比第一层中的表面更细粒度(即更详细),例如以允许具有高带宽的用户享受更高质量的视频信号。可选择包括或不包括所述第二数量的更细粒度的时空表面(即形成互补的不相交表面集)或者仅包括所述第一数量的时空表面的一部分。此外,当存在三层或更多层时,相对于不太高质量(即不太细粒度)的层,每个更高质量(即更细粒度)的层可被视为“第二层”,不太高质量的层可被视为相对于所述“第二层”的“第一层”。

在特定实施例中,迭代检测可使用多个参数或参数集,在此被指示为d1、d2、d3,例如以允许采用级联方式的迭代检测,例如通过使用越来越少的约束参数或参数集。参数或参数集被配置为使得使用第一参数或参数集d1提取最基本的边缘轮廓(即时空表面),并且使得用每个接下来的参数或参数集d2、d3等提取越来越详细的边缘轮廓。作为结果,在图中示出了针对d1、d2、d3中的每一个的三个层(即“阶段”)。每个层拥有更加详细的边缘轮廓。

然而,本领域的技术人员将理解,级联还可包括两个或四个或更多这样的层以及相应的参数或参数集。此外,本领域的技术人员将理解,迭代、级联检测是可选的。

编码器100还可选地,细化所检测到的时空表面,例如以确保边缘表面或在空间上(例如对于静态轮廓),或在时间上(例如对于遮挡)或沿着非对齐的轴(例如对于运动轮廓)被细化(即在它们的直径内具有有限数量的体素)。此外,可优选地,表面在26个邻域内连接(即对于三维时空体素,在同一时刻在两个空间维度中的其八个直接邻域,以及另外两次,在刚好上一时刻在两个维度空间中的其九个直接邻域,和在刚好下一时刻在两个维度空间中的其九个直接邻域)。可选地,通过细化边缘,平滑、模糊边缘的冗余信息可集中化到一个片段中,而不是具有几个小步骤。在解码器200的进一步开发的实施例中,所集中化的信息随后可用于或近似正确或近似正确反转该可选的细化。

编码器100在操作103中还可选地,矢量化细化的时空表面,例如以允许更有效的编码(基于矢量的图像比基于光栅的图像需要更少的存储空间和更少的传输带宽)。

在图中,从时空表面的级联检测(的阶段)中产生的三个层中的每一个本身相应地在操作103a、103b和103c中以级联的方式迭代地矢量化。为此,编码器100可使用曲面拟合算法。对于该算法,可使用误差界参数v,如图所示。参数v可用作误差界,例如使得减少参数将提供更准确的建模轮廓(即表面),但增加了矢量化呈现的大小。

该算法可被运行一次以查找拟合曲面,或者可采用级联迭代地运行。此外,其可在其中时空表面已被检测到(并且可选地,细化)的信号上进行操作,而不采用级联方式的迭代。在该示例中,该算法对每组检测到的轮廓运行,并且还采用具有减少参数调整的级联运行,例如以获取增加的细节级别。对于每个轮廓集i(图中的列)和每个输出层j(图中的行),可存在不同调整的参数vij。这些参数甚至可对基础层(低j)有如此的限制,以至于一些详细轮廓(高i)完全不能由该层表示,并且全部被转发到下一层j+1。应注意,无需在每个阶段重新启动矢量化算法——可以仅继续算法的迭代。来自最基础阶段的冗余信息在后续阶段中不再重复。

在该示例中,接下来,每个轮廓集的第一矢量化阶段的呈现被分组到层1。所有第二阶段的呈现被分组到层2,等等。然后,所有矢量化的轮廓片段被分配属性,这些属性表征沿着轮廓的任一侧(优选沿着轮廓的两侧)的颜色和/或纹理。这些属性可包括在边缘的任一侧或每侧的颜色种子、时空域中的颜色梯度信息、边缘清晰度,……。图5a-5c示出了三层化呈现的(二维)示例,如在下面进一步所描述的。

在进一步开发的实施例中,由于在所有输出层内的元件之间没有形式上的区别,并且由于计算复杂度不会因为在矢量化级联内具有更多阶段而改变,所以可以具有多个层,直到输出实际上是连接的控制点(每个附加层包含一个控制点)的有序列表的程度。良好的平衡可通过评估将产生的开销来设置。

可扩展的多个层105’(或其子集)或者单个输出视频信号(未示出)(如果没有使用分层化编码的话)可被传输105或以其它方式提供给解码器100或由解码器100获取,或者被提供给多个解码器。

在一些实施例中,解码器200可从可扩展的多个层105’中至少选择201一个层。在进一步开发的实施例中,该选择可通过将预定义的配置文件与带宽限制和屏幕分辨率相比较,通过学习这些与层数之间的关系,或者甚至通过让用户增加或降低质量从而控制带宽来设置。此外,因为上下文可随时间而变化,所以所选择201的可扩展的层105’的数量可以是动态的,并且可随条件变化而重新协商。

在操作202中,解码器20可撤销矢量化,即(重新)光栅化矢量化的表面以及纹理绘制属性。该阶段202可在矢量化的时空表面(即‘轮廓’)的引导下,在一个或多个时空画布上绘制属性,以确定约束图203,这些约束图可用于下一阶段,并且这些约束图仅可被稀疏填充。

其次,解码器200撤销编码器100的轮廓检测。这意味着对于画布上每个位置,其必须从具有稀疏轮廓恢复到具有像素值205(‘填充’204)。这是一个全局优化问题,其包含由来自前一阶段的图203约束的视频平滑性。

然后,解码器200可恢复编码器100的时空边缘检测器的可选轮廓细化。这可选地,将真实模糊的轮廓减少到细化的表面,以将原本的冗余信息集中到单个对象上。前一阶段的结果会产生清晰的边缘。后处理阶段206可根据来自轮廓检测阶段的尺度信息(沿着离散化的时空栅格)对它们进行重新模糊,以产生解码的视频信号输出207。

图2a示出了根据本发明的编码器100的实施例的示例性操作。该图示出了输入视频信号101、3dcanny边缘检测106、可选的形态学细化107、划分成片段108、时空尺度分析109、跟踪属性表面110、贝塞尔曲面拟合111、样本尺度112、样本颜色113、样本梯度114和传输105。

输入视频信号101在各种参数设置下通过3dcanny边缘检测器106运行,产生几个互补的轮廓体素集。这会输出将每个时空体素标记为“零”(即不是轮廓体素)或对应的互补轮廓集的索引的离散图。然后,该图通过使用形态腐蚀107而选择性地被细化,而保留拓扑以创建“1-体素”细化轮廓。

然后,对每个像素的局部26个连接的邻域进行分析,并对多个表面相交处的曲线进行标记,从而产生不相交的轮廓片段集108,仍然标记有它们的对应canny参数的索引。对于每个轮廓片段,编码器100跟踪所有时空像素,并且针对非常粗略的误差界来拟合通过它的贝塞尔曲面111。所得到的控制点被用在层1。然后,编码器100降低阈值并将控制点添加到层2等等,从而得到多层不同的细节。

编码器100还可构建4d时空图像金字塔并分析每个体素的尺度。小尺度的体素在视频的详细空间区域或快速移动时间区域中。大尺度的体素在平滑、模糊的区域中。输出是3d连续标量图。该图被用于定义沿着贝塞尔片段两侧的采样表面。

三个不同的采样器110被使用。首先,对标量图112本身进行采样。这被用在解码器的后处理步骤中。其次,对颜色强度113和至少与表面正交的颜色梯度114进行采样。按照控制点周围的局部加权邻域,这些样本被聚合,并保留它们的平均值和一阶导数(在表面的两个方向上),或者等效地属性值被添加到控制点的句柄。

所有控制点及其属性都在它们各自的质量层中传输。

图2b示出了根据本发明的解码器200的实施例的操作。该图示出了基于要求210从多个质量层105’中选择201一个或多个质量层,光栅化绘制种子211,光栅化梯度信息212,光栅化模糊信息213,具有rgb(红-绿-蓝)像素215、颜色约束216、梯度约束217和模糊图218的帧缓冲器214,泊松求解器219,拉普拉斯求解器220,模糊221和输出207。

解码器200必须求解重新光栅化矢量化的输入的逆问题。首先,解码器200需要选择201其需要多少质量层105’。这可通过将预定义的配置文件(或要求210)与带宽限制和屏幕分辨率相比较,通过学习这些与层数之间的关系,或者甚至通过让用户增加或降低质量从而控制带宽来设置。此外,因为上下文可随时间而变化,所以这是动态参数并且可随条件变化而重新协商。

属于轮廓片段和关联的控制点的属性全部被光栅化211-213为对应的属性图:颜色种子约束211、梯度图212、模糊图213、......。应注意,这些图211-213是时空的并且仅被稀疏填充。接下来,解码器200可使用优化算法219来填充时空画布,即在所述约束图的导引下,估计时空栅格的每个像素处的颜色值。解码器的实施例使用3d约束泊松求解器219。为了减少迭代的次数,可将其放入时空金字塔帧框架中。然而,因为将这些时空属性图216-218和整个输出视频包含在计算设备的存储器内还尚未可行,所以需要或者至少有利地通过在有限时空切片(优选地有限的视频帧的缓冲器)上的局部优化来近似全局优化。存在允许泊松求解器219的这种局部化的算法,例如通过雅可比迭代或逐次超松弛。缓冲器的大小取决于延迟、存储器和质量要求。泊松方程的可替代方案包括使用fft在频域中对其进行求解。

根据由稠密模糊图设置的细节级别,边缘的重新模糊221可通过后处理步骤,通过向时空图像金字塔中插入像素215而获取。为了从稀疏模糊属性图218获得稠密模糊图,解码器200可包括与泊松求解器类似但没有梯度约束的拉普拉斯求解器220。

图3示意性示出了跟踪属性。该图示出了沿二维轴(例如在给定时刻的视频帧的两个空间维度,或者例如一个空间维度和一个时间维度)的第一视频区域r1和第二视频区域r2。表面30(或“轮廓”)在第一视频区域r1和第二视频区域r2中间示出。该表面具有相对更厚的边缘34和相对更细的边缘35。表面30用多个控制点(包括控制点31)定义。在该示例中,使用四个控制点,但本领域的技术人员将理解,在矢量化时,根据所需的拟合精度、根据时间和处理资源以及存储和传输要求,可确定更多或更少控制点。该图进一步示出了多个属性(包括属性33,其在表面30的两侧上定义)和两个属性采样表面32。

基于沿着轮廓两侧的局部采样,按照控制点分配属性。在边缘厚或模糊的情况下,在与轮廓表面相距较远处对视频进行采样。为了说明的目的,示出了2d轮廓。事实上,它是时空表面。通过按照控制点分配属性,编码器100可受益于矢量化操作已确定显著点(即控制点),使得按照控制点分配属性可恢复该效果(effort)或该效果的一部分。

现在,编码器100已产生轮廓的参数化(矢量化)描述,因此可跟踪它们以分析两侧上的视频特性。可预期,这些特性随着轮廓而变化。例如轮廓很少将统一色块与另一个统一色块分开;我们更可能遇到两侧上变化的阴影和纹理。

本发明的特定实施例将这种特性的变化与几何变化对齐,这些特性的变化在上文中使用由控制点定义的贝塞尔曲面而捕获。在每个控制点中,可将平均特性和局部导数归于两个表面方向。这与表面拟合的过程相同,但它继承了在拟合过程中定义的控制点而不删除或添加其它控制点。为此,编码器100求解由贝塞尔曲面方程的立方性质产生的超定线性方程组。

该实施例仅分析在表面30的两侧上在控制点31周围的颜色强度。由于在该实施例中的表面30是实际时空梯度的细化版本,所以算法首先分析图像的尺度空间以获取轮廓的原始厚度(即原始视频信号中的模糊量)。这确保在适当的距离32处对颜色进行采样。对于粗糙尺度区域中的厚的轮廓34,该距离更大,对于细的轮廓35(即细粒度区域),该距离更小。

图4示意性示出了时空边缘检测。

在第一实施例中,编码器100使用3dcanny边缘检测器。3d检测器是通过包括时间轴的经典2dcanny边缘检测器的自然扩展。虽然canny边缘检测器的完美3d扩展要求所有视频帧在开始前都已知并且驻留在存储器中,但是可通过用于离线编码的小对称缓冲方法,甚至通过用于在线编码的不对称缓冲方法来对其接近。这允许更低的延迟和更低的存储要求。

canny边缘检测由以下4个阶段组成:平滑阶段、梯度幅度计算、非最大抑制和滞后阈值化。完美的对称高斯平滑窗口402需要当前帧之前的n/2帧和之后的n/2帧的缓冲以用于存储,其中n是窗口403的宽度。这已经引入n/2帧的缓冲延迟以从新的帧401产生帧406,如在图中的情况400a中所示。然而,如在图中的情况400b中所示,如果使用不对称指数衰减窗口412,我们将不需要任何之前的帧,并且仅需1个累积寄存器413。这显著降低了存储要求和时间复杂度,并且没有引入任何延迟。应注意,这种平滑可偏置过去的帧。

第二阶段414和第三阶段415都需要看到它们各自的先前阶段的输出的前1帧和后1帧,从而引入不可避免的2帧的延迟和4帧的缓冲。理论上,滞后阈值化步骤416需要无限缓冲,其中所有帧都可用,因为它在两个方向上跟踪轮廓。此外,仅通过前向跟踪可实现次优结果417。这样,通过将旧的表面体素前向蔓延到当前帧,则仅需后1帧的缓冲而不需要前1帧的缓冲。

总体而言,canny边缘检测的时间扩展将在在线设置中引入2帧的延迟,使用次优捷径来提高效率。

canny算法具有一些参数(例如预平滑过滤器宽度、低阈值和高阈值),其可用于指定用于级联方法的各种参数集d1、d2、…...。

虽然canny边缘检测器执行非最大抑制415,但它不会产生完美的“1-体素”细化表面。这意味着可选地,需要进一步的形态学细化,其中保留拓扑的腐蚀可被执行。这是需要的,因为下一阶段416将跟踪轮廓。从计算的角度来看,如果局部范围在其26个连接的邻域内,这会更容易。此外,可以标记3d边缘图。该标记步骤将轮廓集划分成单个表面片段。通过查看26个连接的邻域,编码器100可看到两个或更多表面是否相交以及在哪里相交。在这样的曲线处,新的片段应当开始,因为随后的矢量化阶段103那时仅可处理一个表面。

可替代canny方法,本发明的另一个实施例通过用一些滤波器、阈值化以及可选的形态学细化评估梯度量值来提取具有相似特性的边缘。

图5a-c示意性示出了由根据本发明的编码器的实施例产生的多个质量层的二维层的三个示例。在图中示出,基础层包括更少的轮廓和更不准确的矢量化近似。添加的质量图层添加了更多轮廓以及更多轮廓细节。例如,图5a可与输出层0对应;图5b与输出层0+1对应;图5c与输出层0+1+2对应。线的厚度指示检测阶段。厚的线(在此主要是外部线)是具有最粗糙的检测水平的轮廓。细的(在此例如是兔子的胡须)轮廓具有最细的检测水平。

用于对视频信号进行编码的方法和编码器的实施例包括通过3d贝塞尔曲面拟合算法矢量化来自每个阶段的所有边缘片段。这是通过添加时间轴对2d拉莫-道格拉斯-普克算法的重要扩展。减小算法的误差界v将在矢量化呈现中产生更多控制点以获得更准确的近似。该算法从最大误差界v1开始,并将控制点输出到第一质量层。然后,误差界减小。该算法将添加新的控制点,以将表面维持在新的误差界v2内。这些新添加的控制点被放入第二质量层中,依此类推,直到所有层被填充,或者误差界超出可测量的像素。图5a-c是使用这种方法所生成的。层0(图5a)需要大约50个控制点,层1(图5b)添加了大约200个控制点,层2(图5c)需要另外400个控制点。

每个控制点在时空体积中定义3d点,并且在表面的两个方向上定义(对称的)导数。同样地,可以设想不同类型的控制点,诸如句柄代替这些导数。这些句柄并不位于表面上,而是引导其曲率。

该方法和编码器的其它实施例可使用矢量化表面的可替代方式。对于贝塞尔曲面,其它实施例可使用线性块、样条函数、nurbs(非均匀有理基本样条)、……。所有这些技术都使用控制点和局部几何导数来描述轮廓。一个非常不同的方法是用隐函数来定义它们。这些呈现不是控制点驱动的,但每个隐函数还局部约束表面。因此,这是离散化连续函数的另一种方式。

本领域的技术人员将容易认识到,各种上述方法的步骤可由编程计算机来执行。在本文中,一些实施例还旨在涵盖程序存储设备,例如数字数据存储介质,其是机器或计算机可读的并且编码有机器可执行或计算机可执行程序指令,其中所述指令执行上述方法的一些或全部步骤。程序存储设备例如可以是数字存储器、诸如磁盘和磁带的磁存储介质、硬盘驱动器或光可读数字数据存储介质。这些实施例还旨在涵盖被编程为执行上述方法的所述步骤的计算机。

说明书和附图仅仅说明了本发明的原理。因此将理解,虽然没有在本文中明确地描述或示出,但是,本领域的技术人员能够设计出体现本发明的原理并落入其精神和范围内的各种布置。此外,在本文中描述的所有示例主要旨在明确仅用于教学目的,以帮助读者理解由发明人为了促进本领域而贡献的本发明的原理和概念,并且被解释为不限于这样的具体描述的示例和条件。此外,在本文中所有陈述本发明的原理、方面和实施例的声明,及其具体示例,旨在涵盖其等同物。

在附图中示出的各种元件的功能,包括标记为“处理器”的任何功能框,可通过使用专用硬件以及能够执行软件的硬件与适当的软件相关联来提供。当由处理器提供时,这些功能可由单个专用处理器、单个共享处理器、或多个单独的处理器(其中一些可共享)来提供。此外,术语“处理器”或“控制器”的明确使用不应被解释为仅仅是指能够执行软件的硬件,还可隐含地包括但不限于数字信号处理器(dsp)硬件、网络处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、用于存储软件的只读存储器(rom)、随机存取存储器(ram)和非易失性存储设备。还可以包括其他常规和/或定制的硬件。类似地,在附图中示出的转换器仅仅是概念性的。它们的功能可通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至手动来执行,如从上下文中更具体理解的,特定技术可由实施人员选择。

本领域的技术人员应当理解,在本文中的任何框图表示体现本发明原理的说明性电路的概念视图。类似地,应当理解,任何流程表、流程图、状态转换图、伪代码等表示可基本上在机器可读介质中体现并由计算机执行的各种过程。

虽然在上面已经结合具体实施例阐述了本发明的原理,但是应当理解,该描述仅仅是通过示例的方式来给出,而不是对所附权利要求确定的保护范围的限制。

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