一种传输三维深度图像的方法及装置转让专利

申请号 : CN201610171744.9

文献号 : CN105847777B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖敏李楠李晨辉李洪

申请人 : 湖南拓视觉信息技术有限公司

摘要 :

本发明提供了一种传输三维深度图像的方法及装置。其中,该方法包括:通过三维图像采集器采集多帧三维深度图像;确定多帧三维深度图像中包含的冗余信息;从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息;传输剔除冗余信息后的三维深度图像给终端。本发明在传输三维深度图像给终端之前,剔除了三维深度图像中包含的冗余信息,大大减少了传输的数据量,节省了传输带宽,能够大大缓解网络不稳定时传输不连续的情况。

权利要求 :

1.一种传输三维深度图像的方法,其特征在于,所述方法包括:通过三维图像采集器采集多帧三维深度图像;

分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;

根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中的关键帧和非关键帧,所述关键帧为I帧,所述非关键帧包括B帧和P帧;

标记所述非关键帧与所述关键帧之间的相同数据;将标记的所述相同数据确定为所述多帧三维深度图像中包含的冗余信息;

确定所述多帧三维深度图像的每个非关键帧中包括的冗余信息;分别从所述每个非关键帧中删除确定的冗余信息;

传输剔除冗余信息后的三维深度图像给终端。

2.根据权利要求1所述的方法,其特征在于,所述传输剔除冗余信息后的三维深度图像给终端,包括:对剔除冗余信息后的三维深度图像进行压缩编码;

将压缩编码后的三维深度图像传输给终端。

3.一种传输三维深度图像的装置,其特征在于,所述装置包括:采集模块,用于通过三维图像采集器采集多帧三维深度图像;

确定模块,用于分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中的关键帧和非关键帧,所述关键帧为I帧,所述非关键帧包括B帧和P帧;标记所述非关键帧与所述关键帧之间的相同数据;将标记的所述相同数据确定为所述多帧三维深度图像中包含的冗余信息;

剔除模块,用于确定所述多帧三维深度图像的每个非关键帧中包括的冗余信息;分别从所述每个非关键帧中删除确定的冗余信息;

传输模块,用于传输剔除冗余信息后的三维深度图像给终端。

4.根据权利要求3所述的装置,其特征在于,所述传输模块包括:压缩编码单元,用于对剔除冗余信息后的三维深度图像进行压缩编码;

传输单元,用于将压缩编码后的三维深度图像传输给终端。

说明书 :

一种传输三维深度图像的方法及装置

技术领域

[0001] 本发明涉及图像处理技术领域,具体而言,涉及一种传输三维深度图像的方法及装置。

背景技术

[0002] 三维深度图像广泛用于三维成像、虚拟现实及工业测量等领域。当物体运动时,服务器或三维图像采集器获得物体的三维深度图像后,需把三维深度图像传输给终端,以使终端持续显示物体运动的三维深度图像。
[0003] 当前,服务器或三维图像采集器获得三维深度图像后,直接通过网络按帧把三维深度图像传输给移动设备。但由于三维深度图像的数据量很大,直接传输三维深度图像,将占用大量带宽,且在网络不稳定的情况下,经常出现传输不连续的情况。

发明内容

[0004] 有鉴于此,本发明实施例的目的在于提供一种传输三维深度图像的方法及装置,剔除三维深度图像中包含的冗余信息,大大减少传输的数据量,节省传输带宽,能够大大缓解网络不稳定时传输不连续的情况。
[0005] 第一方面,本发明实施例提供了一种传输三维深度图像的方法,所述方法包括:
[0006] 通过三维图像采集器采集多帧三维深度图像;
[0007] 确定所述多帧三维深度图像中包含的冗余信息;
[0008] 从所述多帧三维深度图像中,剔除所述多帧三维深度图像中包含的冗余信息;
[0009] 传输剔除冗余信息后的三维深度图像给终端。
[0010] 结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述确定所述多帧三维深度图像中包含的冗余信息,包括:
[0011] 分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;
[0012] 根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中包含的冗余信息。
[0013] 结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中包含的冗余信息,包括:
[0014] 根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中的关键帧和非关键帧;
[0015] 标记所述非关键帧与所述关键帧之间的相同数据;
[0016] 将标记的所述相同数据确定为所述多帧三维深度图像中包含的冗余信息。
[0017] 结合第一方面的第二种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述从所述多帧三维深度图像中,剔除所述多帧三维深度图像中包含的冗余信息,包括:
[0018] 确定所述多帧三维深度图像的每个非关键帧中包括的冗余信息;
[0019] 分别从所述每个非关键帧中删除确定的冗余信息。
[0020] 结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述传输剔除冗余信息后的三维深度图像给终端,包括:
[0021] 对剔除冗余信息后的三维深度图像进行压缩编码;
[0022] 将压缩编码后的三维深度图像传输给终端。
[0023] 第二方面,本发明实施例提供了一种传输三维深度图像的装置,所述装置包括:
[0024] 采集模块,用于通过三维图像采集器采集多帧三维深度图像;
[0025] 确定模块,用于确定所述多帧三维深度图像中包含的冗余信息;
[0026] 剔除模块,用于从所述多帧三维深度图像中,剔除所述多帧三维深度图像中包含的冗余信息;
[0027] 传输模块,用于传输剔除冗余信息后的三维深度图像给终端。
[0028] 结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述确定模块包括:
[0029] 变换单元,用于分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;
[0030] 第一确定单元,用于根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中包含的冗余信息。
[0031] 结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述第一确定单元包括:
[0032] 第一确定子单元,用于根据所述每帧三维深度图像对应的灰度数据,确定所述多帧三维深度图像中的关键帧和非关键帧;
[0033] 标记子单元,用于标记所述非关键帧与所述关键帧之间的相同数据;
[0034] 第二确定子单元,用于将标记的所述相同数据确定为所述多帧三维深度图像中包含的冗余信息。
[0035] 结合第二方面的第二种可能的实现方式,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述剔除模块包括:
[0036] 第二确定单元,用于确定所述多帧三维深度图像的每个非关键帧中包括的冗余信息;
[0037] 删除单元,用于分别从所述每个非关键帧中删除确定的冗余信息。
[0038] 结合第二方面,本发明实施例提供了上述第二方面的第四种可能的实现方式,其中,所述传输模块包括:
[0039] 压缩编码单元,用于对剔除冗余信息后的三维深度图像进行压缩编码;
[0040] 传输单元,用于将压缩编码后的三维深度图像传输给终端。
[0041] 在本发明实施例提供的方法及装置中,通过三维图像采集器采集多帧三维深度图像;确定多帧三维深度图像中包含的冗余信息;从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息;传输剔除冗余信息后的三维深度图像给终端。本发明在传输三维深度图像给终端之前,剔除了三维深度图像中包含的冗余信息,大大减少了传输的数据量,节省了传输带宽,能够大大缓解网络不稳定时传输不连续的情况。
[0042] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0043] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0044] 图1A示出了本发明实施例1所提供的一种传输三维深度图像的方法流程图;
[0045] 图1B示出了本发明实施例1所提供的一种视频文件压缩效果对比示意图;
[0046] 图2示出了本发明实施例2所提供的一种传输三维深度图像的装置结构示意图。

具体实施方式

[0047] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048] 考虑到相关技术中服务器或三维图像采集器直接通过网络按帧把三维深度图像传输给移动设备。但由于三维深度图像的数据量很大,直接传输三维深度图像,将占用大量带宽,且在网络不稳定的情况下,经常出现传输不连续的情况。基于此,本发明实施例提供了一种传输三维深度图像的方法及装置。下面通过实施例进行描述。
[0049] 实施例1
[0050] 参见图1A,本发明实施例提供了一种传输三维深度图像的方法。该方法具体包括以下步骤:
[0051] 步骤101:通过三维图像采集器采集多帧三维深度图像。
[0052] 本发明实施例的执行主体为用于深度图像压缩的设备,该设备上设置有三维图像采集器,该三维图像采集器通过USB(Universal Serial Bus,通用串行总线)接口与该设备进行通信。该三维图像采集器可以为Kinect2摄像机。通过三维图像采集器对拍摄目标进行连续拍摄,得到拍摄目标的多帧三维深度图像。
[0053] 本发明实施例中,用于深度图像压缩的设备中设置有libusb程序,libusb程序为USB设备驱动程序。用于深度图像压缩的设备使用libusb程序通过USB接口从三维图像采集器中读取上述拍摄的多帧三维深度图像。
[0054] 步骤102:确定多帧三维深度图像中包含的冗余信息。
[0055] 由于相邻多帧的三维深度图像之间存在很强的相关性,所以相邻的三维深度图像之间可能存在很多相同的图像数据,为了减少传输这多帧三维深度图像的数据传输量,节省传输带宽,首先需要确定出多帧三维深度图像中包含的相同的图像数据,本发明实施例中将这些相同的图像数据称为冗余信息。
[0056] 上述确定多帧三维深度图像中包含的冗余信息的具体操作,包括:
[0057] 分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;根据每帧三维深度图像对应的灰度数据,确定多帧三维深度图像中包含的冗余信息。
[0058] 由于对多帧三维深度图像的压缩处理是基于灰度数据进行处理的,而三维图像采集器采集的三维深度图像为32比特位的深度图像,所以本发明实施例中,通过opencv(Open Source Computer Vision Library,开源计算机视觉库)对三维图像采集器采集的每帧三维深度图像进行线性变换,将32比特位的深度图像转换为8比特位的灰度数据。
[0059] 连续的多帧三维深度图像可以看做一段三维视频。在视频中,视频的视频帧有I(I frame,内部画面)帧、B(B frame,双向预测画面)帧和P(P frame)帧三种帧类型。其中,I帧是靠尽可能去除图像空间冗余数据来压缩传输数据量的帧内编码图像。P帧是通过充分降低与图像序列中前面已编码帧的时间冗余数据来压缩传输数据量的编码图像,也叫预测帧。B帧是既考虑与图像序列前面已编码帧之间的时间冗余数据,也顾及与图像序列后面已编码帧之间的时间冗余数据来压缩传输数据量的编码图像,也叫双向预测帧。
[0060] 本发明实施例中,确定多帧三维深度图像中包含的冗余信息,则首先需要确定出这多帧三维深度图像中每帧三维深度图像的帧类型。根据每帧三维深度图像对应的灰度数据,确定多帧三维深度图像中的关键帧和非关键帧,关键帧即为I帧,非关键帧包括B帧和P帧。标记非关键帧与关键帧之间的相同数据,即对于每个非关键帧,将非关键帧与关键帧进行比较,确定该非关键帧与关键帧之间的相同数据,在该非关键帧中标记确定的相同数据。对于多帧三维深度图像中的每个非关键帧,均通过上述方式分别标记出每个非关键帧中的相同数据。将标记的相同数据确定为多帧三维深度图像中包含的冗余信息。
[0061] 通过上述步骤102的操作确定出多帧三维深度图像中包含的冗余信息之后,还需通过如下步骤103的操作来剔除确定的冗余信息,以实现对三维图像采集器拍摄的多帧三维深度图像的压缩处理。
[0062] 步骤103:从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息。
[0063] 确定多帧三维深度图像的每个非关键帧中包括的冗余信息,即将上述步骤102中每个非关键帧中标记的相同数据,分别确定为每个非关键帧中包括的冗余信息。分别从每个非关键帧中删除确定的冗余信息。
[0064] 上述删除非关键帧中包含的冗余信息后,实现了对多帧三维深度图像中的非关键帧的压缩处理。另外,本发明实施例中,还对关键帧中包含的空间冗余数据进行删除,以实现对关键帧的压缩处理。
[0065] 通过上述方式对多帧三维深度图像中的关键帧及非关键帧进行压缩处理后,就实现了对这多帧三维深度图像的压缩处理。
[0066] 在本发明实施例中,具体可以采用x264视频编码方式来实现上述对多帧三维深度图像的压缩处理,将三维深度图像对应的8比特位的灰度数据编码成H.264视频流。
[0067] 步骤104:传输剔除冗余信息后的三维深度图像给终端。
[0068] 本发明实施例中,在传输剔除冗余信息后的三维深度图像给终端进行显示之前,对剔除冗余信息后的三维深度图像进行压缩编码。将压缩编码后的三维深度图像传输给终端。该压缩编码处理可以为直接将剔除冗余信息后的三维深度图像进行压缩打包处理,得到三维深度图像对应的压缩包,将该压缩包传输给终端。
[0069] 终端接收到该压缩包后,首先对该压缩包进行解压缩,得到上述剔除冗余信息后的三维深度图像,然后对剔除冗余信息后的三维深度图像进行视频解码处理,并播放解码后的多帧三维深度图像。
[0070] 为了便于更直观地理解本发明实施例对三维深度图像的压缩效果,下面结合图1B进行说明,图1B中,文件depth_video.yuv是2分钟视频对应的深度图像的原始数据,文件depth_video.h264是通过本发明实施例提供的方法压缩编码后的视频数据。文件depth_video.yuv的数据大小为227.052KB,文件depth_video.h264的数据大小为11.222KB,由此可见压缩编码后的视频文件所占磁盘容量大大减小。且在将压缩编码后的视频文件传输给终端时,也能够节省传输带宽,缓解在网络不稳定时出现的传输不连续的问题。
[0071] 在本发明实施例中,通过三维图像采集器采集多帧三维深度图像;确定多帧三维深度图像中包含的冗余信息;从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息;传输剔除冗余信息后的三维深度图像给终端。本发明在传输三维深度图像给终端之前,剔除了三维深度图像中包含的冗余信息,大大减少了传输的数据量,节省了传输带宽,能够大大缓解网络不稳定时传输不连续的情况。
[0072] 实施例2
[0073] 参见图2,本发明实施例提供了一种传输三维深度图像的装置,该装置用于执行上述实施例1提供的传输三维深度图像的方法。该装置具体包括:
[0074] 采集模块201,用于通过三维图像采集器采集多帧三维深度图像;
[0075] 确定模块202,用于确定多帧三维深度图像中包含的冗余信息;
[0076] 剔除模块203,用于从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息;
[0077] 传输模块204,用于传输剔除冗余信息后的三维深度图像给终端。
[0078] 由于相邻多帧的三维深度图像之间存在很强的相关性,所以相邻的三维深度图像之间可能存在很多相同的图像数据,为了减少传输这多帧三维深度图像的数据传输量,节省传输带宽,首先需要确定出多帧三维深度图像中包含的相同的图像数据,本发明实施例中将这些相同的图像数据称为冗余信息。
[0079] 上述确定模块202通过如下变换单元和第一确定单元来确定多帧三维深度图像中包含的冗余信息。
[0080] 变换单元,用于分别对每帧三维深度图像进行线性变换,得到每帧三维深度图像对应的灰度数据;
[0081] 第一确定单元,用于根据每帧三维深度图像对应的灰度数据,确定多帧三维深度图像中包含的冗余信息。
[0082] 上述第一确定单元通过如下第一确定子单元和第二确定子单元来具体确定为多帧三维深度图像中包含的冗余信息。
[0083] 第一确定子单元,用于根据每帧三维深度图像对应的灰度数据,确定多帧三维深度图像中的关键帧和非关键帧;
[0084] 标记子单元,用于标记非关键帧与关键帧之间的相同数据;
[0085] 第二确定子单元,用于将标记的相同数据确定为多帧三维深度图像中包含的冗余信息。
[0086] 本发明实施例中,确定多帧三维深度图像中包含的冗余信息,则首先需要确定出这多帧三维深度图像中每帧三维深度图像的帧类型。根据每帧三维深度图像对应的灰度数据,确定多帧三维深度图像中的关键帧和非关键帧,关键帧即为I帧,非关键帧包括B帧和P帧。标记非关键帧与关键帧之间的相同数据,即对于每个非关键帧,将非关键帧与关键帧进行比较,确定该非关键帧与关键帧之间的相同数据,在该非关键帧中标记确定的相同数据。对于多帧三维深度图像中的每个非关键帧,均通过上述方式分别标记出每个非关键帧中的相同数据。将标记的相同数据确定为多帧三维深度图像中包含的冗余信息。
[0087] 在本发明实施例中,剔除模块203通过如下第二确定单元和删除单元来删除确定的冗余信息。
[0088] 第二确定单元,用于确定多帧三维深度图像的每个非关键帧中包括的冗余信息;
[0089] 删除单元,用于分别从每个非关键帧中删除确定的冗余信息。
[0090] 在本发明实施例中,传输模块204通过如下压缩编码单元和传输单元来传输压缩编码后的三维深度图像。
[0091] 压缩编码单元,用于对剔除冗余信息后的三维深度图像进行压缩编码;
[0092] 传输单元,用于将压缩编码后的三维深度图像传输给终端。
[0093] 在本发明实施例中,通过三维图像采集器采集多帧三维深度图像;确定多帧三维深度图像中包含的冗余信息;从多帧三维深度图像中,剔除多帧三维深度图像中包含的冗余信息;传输剔除冗余信息后的三维深度图像给终端。本发明在传输三维深度图像给终端之前,剔除了三维深度图像中包含的冗余信息,大大减少了传输的数据量,节省了传输带宽,能够大大缓解网络不稳定时传输不连续的情况。
[0094] 本发明实施例所提供的传输三维深度图像的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程。
[0095] 在本申请所提供的几个实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0096] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0097] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0098] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0099] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。