一种编码方法及装置与流程

文档序号:11139284阅读:461来源:国知局
一种编码方法及装置与制造工艺

本发明涉及图像处理领域,尤其涉及一种编码方法及装置。



背景技术:

虚拟现实是一种利用了多媒体技术、人工智能技术、计算机图像学和网络技术等多种技术融合的新型技术领域。虚拟现实全景视频系统,是模拟人的视觉等感官功能,使人产生沉浸在计算机生成的虚拟环境中,并能够通过头部运动等自然的方式与之进行实时交互。

随着虚拟现实技术的不断发展和进步,各类支持全景视频播放的应用及设备浮出市场。在360度全景视频应用中,内容产生者会围绕360度视角场采集多路视频素材,然后将视频素材通过拼接合成为一个全景视频,即球面视频。

然而现有市场通用的编解码标准,例如H.264/AVC、H.265等均是基于平面矩形区域对视频图像进行编码。为了更好的分发和发送视频资源,不容易被压缩存储的球面图像通常会被映射到一个平面上,映射到平面上的像素点的数据称为有效数据。

目前,常用的投影方法有圆柱投影、圆锥投影等。

其中,所述圆柱投影是以圆柱面为承影面的一类投影。假想用圆柱包裹着地球且与地球面相切(或相割),将经纬网投影到圆柱面上,再将圆柱面展开为平面而成。

所述圆锥投影是以圆锥面为承影面的一类投影。假想用圆锥包裹着地球且与地球面相切(割),将经纬网投影到圆锥面上,再将圆锥面展开为平面而成。圆锥投影一般用的是正轴圆锥投影。

这些投影方法均存在一个普遍的问题,就是在球面图像投影到平面后,由于其面积大于所述球面图像的球面面积,而导致有效数据的数据量增大,因此会占用较多的网络传输资源。



技术实现要素:

为了解决现有技术中存在的技术问题,本发明提供一种编码方法和装置,实现了减少有效数据的数据量,减少占用的网络传输资源的目的。

本发明实施例提供了一种编码方法,所述方法包括:

选取球面图像的其中一个像素点为原点建立直角坐标系,所述直角坐标系的横轴表示所述球面图像上的待映射像素点与基准点之间的弧线长度,所述基准点为经过所述待映射像素点且垂直于轴线的切面上的一个像素点,所述轴线经过所述原点;所述直角坐标系的纵轴表示所述待映射像素点和所述原点之间的弧线长度;

将所述球面图像的各个待映射像素点映射到所述直角坐标系中,并利用映射得到的平面图像进行编码。

优选的,所述方法还包括:

对所述映射得到的平面图像进行下采样;

所述利用映射得到的平面图像进行编码包括:

利用下采样得到的平面图像进行编码。

优选的,所述对所述映射得到的平面图像进行下采样包括:

选取所述映射得到的平面图像中的至少三个像素点;

将所述平面图像下采样为由所述至少三个像素点构成的区域中。

优选的,所述平面图像的边缘为正弦曲线,所述正弦曲线具有波峰;

所述选取所述映射得到的平面图像中的至少三个像素点包括:

选取所述平面图像中横轴坐标为零、纵轴坐标最小的像素点和纵轴坐标最大的像素点,以及与所述正弦曲线波峰对应的像素点。

优选的,在对利用映射得到的平面图像进行编码之前,所述方法还包括:

根据所述平面图像确定外接矩形图像,所述外接矩形图像中除所述平面图像的其他像素点用相同像素值进行填充。

本发明实施例提供了一种编码装置,所述装置包括:坐标系建立单元、映射单元和编码单元;

其中,所述坐标系建立单元,用于选取球面图像的其中一个像素点为原点建立直角坐标系,所述直角坐标系的横轴表示所述球面图像上的待映射像素点与基准点之间的弧线长度,所述基准点为经过所述待映射像素点且垂直于轴线的切面上的一个像素点,所述轴线经过所述原点;所述直角坐标系的纵轴表示所述待映射像素点和所述原点之间的弧线长度;

所述映射单元,用于将所述球面图像的各个待映射像素点映射到所述直角坐标系中;

所述编码单元,用于利用映射得到的平面图像进行编码。

优选的,所述装置还包括:下采样单元,用于对所述映射得到的平面图像进行下采样;

所述编码单元,具体用于利用下采样得到的平面图像进行编码。

优选的,所述下采样单元包括:选取单元和下采样子单元;

其中,所述选取单元,用于选取所述映射得到的平面图像中的至少三个像素点;

所述下采样子单元,用于将所述平面图像下采样为由所述至少三个像素点构成的区域中。

优选的,所述平面图像的边缘为正弦曲线,所述正弦曲线具有波峰;

所述选取单元,具体用于:

选取所述平面图像中横轴坐标为零、纵轴坐标最小的像素点和纵轴坐标最大的像素点,以及与所述正弦曲线波峰对应的像素点。

优选的,所述装置还包括:

填充单元,用于根据所述平面图像确定外接矩形图像,所述外接矩形图像中除所述平面图像的其他像素点用相同像素值进行填充。

现有技术中采用圆柱投影、圆锥投影等投影方法,映射到平面得到的图像面积大于所述球面图像的球面面积,导致有效数据的数据量较大,占用较多的网络传输资源。而采用本发明提供的投影方法和装置,映射到平面上得到的正弦区域图像面积等于所述球面图像的球面面积,相对于现有技术而言,减少了有效数据的数据量,达到减少占用的网络传输资源的目的。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明提供的一种编码方法实施例一的流程图;

图2为本发明提供的一种编码方法实施例一中球面图像映射示意图;

图3为本发明提供的一种编码方法实施例一中待映射像素点的横坐标的原理示意图;

图4为本发明提供的一种编码方法实施例一中待映射像素点的纵坐标的原理示意图;

图5为本发明提供的一种编码方法实施例二的流程图;

图6为本发明提供的一种编码方法实施例二中其中一种下采样方式的示意图;

图7为本发明提供的一种编码方法实施例二中另外一种下采样方式的示意图;

图8为本发明提供的一种装置实施例一的结构框图;

图9为本发明提供的一种装置实施例二的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例一:

参见图1,该图为本发明提供的一种编码方法实施例一的流程图。

本实施例提供的编码方法包括如下步骤:

步骤S101:选取球面图像的其中一个像素点为原点建立直角坐标系。

在本实施例中,首先选取球面图像中的其中一个像素点O作为原点来建立直角坐标系。参见图2,所述直角坐标系的横轴表示所述球面图像上的待映射像素点与基准点之间的弧线长度,所述基准点为经过所述待映射像素点且垂直于轴线的切面上的一个像素点,所述轴线经过所述原点。所述直角坐标系的纵轴表示所述待映射像素点和所述原点之间的弧线长度。图2中,R为所述球面图像的半径,OA的长度为所述球面图像最长“纬线”的长度,OC的长度为所述球面图像直径的长度。

也就是说,参见图3,相当于沿着垂直于所述轴线的方向对所述球面图像进行“切割”,“切割”后得到一个圆,这个圆的圆周上其中一点D作为基准点,对应在所述直角坐标系中的横坐标为0。圆周上的另外一点为待映射像素点B,圆的半径为r,所述基准点与该圆圆心O’之间的连线与所述待映射像素点与该圆圆心O’之间的连线之间的夹角为α,那么所述待映射像素点的横坐标为所述待映射像素点B与基准点D之间的弧线长度,即随着所述待映射像素点B所在“纬线”的不同,所述半径r也的长度也不同,最长为所述球面图像的半径R。不同的“纬线”对应有不同的基准点,这些基准点应当在同一条“经线”上。

参见图4,圆心O”为经过所述待映射像素点B与所述原点O的圆的圆心,所述待映射像素点B与该圆圆心O”之间的连线与所述原点O与该圆圆心O’之间的连线之间的夹角为β,所述待映射像素点B的纵坐标为所述待映射像素点B与所述原点O之间的弧线长度,即为

步骤S102:将所述球面图像的各个待映射像素点映射到所述直角坐标系中,并利用映射得到的平面图像进行编码。

通过将所述待映射像素点映射到所述直角坐标系中,可以得到图2中由OSC构成的正弦区域,其中,所述S点的横坐标为2πR,纵坐标为由此可以得到所述正弦区域OSC的面积为即等于所述球面图像的球面面积。

现有技术中采用圆柱投影、圆锥投影等投影方法,映射到平面得到的图像面积大于所述球面图像的球面面积,导致有效数据的数据量较大,占用较多的网络传输资源。而采用本实施例提供的投影方法,映射到平面上得到的正弦区域图像面积等于所述球面图像的球面面积,相对于现有技术而言,减少了有效数据的数据量,达到减少占用的网络传输资源的目的。

方法实施例二:

参见图5,该图为本发明提供的一种编码方法实施例二的流程图。

本实施例提供的编码方法包括如下步骤:

步骤S201:选取球面图像的其中一个像素点为原点建立直角坐标系。

所述直角坐标系的横轴表示所述球面图像上的待映射像素点与基准点之间的弧线长度,所述基准点为经过所述待映射像素点且垂直于轴线的切面上的一个像素点,所述轴线经过所述原点;所述直角坐标系的纵轴表示所述待映射像素点和所述原点之间的弧线长度。

步骤S202:将所述球面图像的各个待映射像素点映射到所述直角坐标系中。

步骤S203:对所述映射得到的平面图像进行下采样。

在本实施例中,为了进一步减少所述球面图像在传输过程中的有效数据量,可以对所述映射得到的平面图像进行下采样。对所述平面图像进行下采样(subsampled)是指将所述平面图像压缩至特定区域大小。

具体的,可以从所述映射得到的平面图像中选取至少三个像素点,然后将所述平面图像下采样为由所述至少三个像素点构成的区域中。

例如,参见图6,选取所述平面图像中横轴坐标为零、纵轴坐标最小的像素点(即像素点O)和纵轴坐标最大的像素点(即像素点C),以及正弦曲线OSC波峰对应的像素点(即像素点S)构成的三角形区域,将所述正弦区域下采样至所述三角形区域内,图像压缩率可以达到即减少超过20%的有效数据量。

再例如,参见图7,选取像素点O、像素点C、像素点S、像素点M和像素点N构成的多边形区域,其中,所述像素点M为正弦曲线OSC的纵坐标为πR/6对应的像素点,其横坐标为πR;所述像素点N为正弦曲线OSC的纵坐标为5πR/6对应的像素点,其横坐标为πR。

在实际应用中,可以利用现有技术中的下采样方法对所述平面图像进行下采样,例如最近邻算法、双线性算法等。

其中,所述最近邻算法是以最近邻算法是以X轴方向,对正弦图像进行缩放。以所述最近邻算法为例,将所述正弦区域下采样至所述三角形区域的具体方法为:

假设下采样后任意一个像素点的位置坐标为P(x,y),其像素值与原平面图像位置坐标为S(x',y')的像素值一致,其中所述Srcwidth为在纵坐标一定的情况下,正弦区域在x轴上的跨度,所述DstWidth为下采样后三角形区域x轴的宽度。以为例,正弦区域中对应的x轴的跨度为而下采样后对应的x轴的跨度为πR,因此可以得到:

步骤S204:利用下采样得到的平面图像进行编码。

由于目前通用的编解码标准,例如H.264/AVC、H.265等均是基于平面矩形区域对视频图像进行编码。为了满足编码要求,本实施例在得到所述下采样平面图像后,根据所述平面图像确定外接矩形图像,所述外接矩形图像中除所述平面图像的其他像素点采用相同像素值进行填充。

例如,在图6中,所述外接矩形图像为矩形OABC图像,在所述矩形OABC图像中,所述三角形区域OSC的平面图像数据为有效数据,其余平面图像数据均采用相同像素值进行填充,例如均置为0。无效数据不会占用网络传输资源,只有有效数据才会。

当然,若所述平面图像不进行下采样,也可以直接确定外接矩形图像,只不过是在正弦区域OSC之外的位置填充相同像素值。

另外,可以理解的是,所述图6中的外接矩形图像OABC只是一个示意,其大小并不构成对本发明的限定。

此外,本实施例提供的编码方法可以是在客户端执行,也可以是在服务器执行,本发明不做具体限定。当所述编码后的平面图像被对端接收到后,需要先进行解码,然后按照与下采样方法匹配的上采样方法对所述平面图像进行上采样,例如,将解码重构得到的三角形区域ΔO'S'C'上采样为与图6相对应的正弦图像O'S'C'。

本实施例通过对所述映射得到的平面图像进行下采样,实现进一步减少所述球面图像在传输过程中的有效数据量的目的。

基于以上实施例提供的一种编码方法,本发明实施例还提供了一种编码装置,下面结合附图来详细说明其工作原理。

装置实施例一

参见图8,该图为本发明提供的一种编码装置实施例一的结构框图。

本实施例提供的编码装置包括:坐标系建立单元101、映射单元102和编码单元103;

其中,所述坐标系建立单元101,用于选取球面图像的其中一个像素点为原点建立直角坐标系,所述直角坐标系的横轴表示所述球面图像上的待映射像素点与基准点之间的弧线长度,所述基准点为经过所述待映射像素点且垂直于轴线的切面上的一个像素点,所述轴线经过所述原点;所述直角坐标系的纵轴表示所述待映射像素点和所述原点之间的弧线长度;

所述映射单元102,用于将所述球面图像的各个待映射像素点映射到所述直角坐标系中;

所述编码单元103,用于利用映射得到的平面图像进行编码。

现有技术中采用圆柱投影、圆锥投影等投影方法,映射到平面得到的图像面积大于所述球面图像的球面面积,导致有效数据的数据量较大,占用较多的网络传输资源。而采用本实施例提供的投影方法,映射到平面上得到的正弦区域图像面积等于所述球面图像的球面面积,相对于现有技术而言,减少了有效数据的数据量,达到减少占用的网络传输资源的目的。

装置实施例二

参见图9,该图为本发明提供的一种编码装置实施例二的结构框图。

基于所述装置实施例一,本实施例提供的编码装置还包括:下采样单元104,用于对所述映射得到的平面图像进行下采样;

所述编码单元103,具体用于利用下采样得到的平面图像进行编码。

可选的,所述下采样单元104包括:选取单元1041和下采样子单元1042;

其中,所述选取单元1041,用于选取所述映射得到的平面图像中的至少三个像素点;

所述下采样子单元1042,用于将所述平面图像下采样为由所述至少三个像素点构成的区域中。

可选的,所述平面图像的边缘为正弦曲线,所述正弦曲线具有波峰;

所述选取单元,具体用于:

选取所述平面图像中横轴坐标为零、纵轴坐标最小的像素点和纵轴坐标最大的像素点,以及与所述正弦曲线波峰对应的像素点。

可选的,所述装置还包括:

填充单元,用于根据所述平面图像确定外接矩形图像,所述外接矩形图像中除所述平面图像的其他像素点用相同像素值进行填充。

本实施例通过对所述映射得到的平面图像进行下采样,实现进一步减少所述球面图像在传输过程中的有效数据量的目的。

当介绍本发明的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。

需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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