数据处理方法及装置、电子设备及存储介质
文献发布时间:2023-06-19 10:38:35
相关申请的交叉引用
本申请是申请日为2018年09月30日提交中国专利局、申请号为201811163427.8、发明名称为“数据处理方法及装置、电子设备及存储介质”的分案申请。
技术领域
本发明涉及信息技术领域但不限于技术信息技术领域,尤其涉及一种数据处理方法及装置、电子设备及存储介质。
背景技术
一幅图像一般需要用像素值来逐一表示某一个像素的颜色、灰度、亮度等各种信息。通常情况下,传输同样的信息量,图像和/或视频所消耗的带宽是比较大的。如此,在一些图像传输场景下,若连续传输图像,则可能会消耗大量的带宽和/或,传输时延大的问题。
发明内容
本发明实施例提供了一种数据处理方法及装置、电子设备及存储介质。
一种数据处理方法,应用于终端中,包括:
动态确定像素编码的当前编码映射关系;
向移动边缘计算MEC服务器发送所述当前编码映射关系或者所述当前编码映射关系的指示信息;
基于所述当前编码映射关系,对三维视频数据的像素值进行像素编码,获得像素编码数据;
向移动边缘计算MEC服务器发送所述像素编码数据,其中,所述像素编码数据用于所述MEC服务器还原出所述三维视频数据;
其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
基于上述方案,所述动态确定像素编码的当前编码映射关系,包括以下至少之一:根据所述三维视频数据对应的目标场景,从备选编码映射关系中选择所述当前编码映射关系;根据所述三维视频数据的要求精度,从备选编码映射关系中选择所述当前编码映射关系。
基于上述方案,所述根据所述三维视频数据对应的目标场景,从备选编码映射关系中选择所述当前编码映射关系,包括以下至少之一:若所述三维视频数据对应的是采集目标运动的运动场景,选择单一像素编码方式的编码映射关系作为所述当前编码映射关系;若所述三维视频数据对应的是采集目标静止的静止场景,选择组合像素编码方式的编码映射关系作为所述当前编码映射关系;若所述三维视频数据对应的采集场景的切换速率大于第一预设速率,选择所述单一像素编码方式的编码映射关系作为所述当前编码映射关系;若所述三维视频数据对应的采集场景的切换速率小于所述第一预设速率,选择所述组合像素编码方式的编码映射关系作为所述当前编码映射关系。
基于上述方案,所述根据所述三维视频数据的要求精度,从备选编码映射关系中选择所述当前编码映射关系,包括以下至少之一:若所述三维视频数据的要求精度高于或者等于第一精度阈值,从所述备选编码映射关系中选择单一像素编码方式的编码映射关系;若所述三维视频数据的要求精度低于所述第一精度阈值,从所述备选编码映射关系中选择组合像素编码方式的编码映射关系;若所述三维视频数据的要求精度低于第二精度阈值,从所述备选编码映射关系中选择以N1*M1个像素为一个组合的组合像素编码方式的编码映射关系;若所述三维视频数据的要求精度高于或者等于所述第二精度阈值,从所述备选编码映射关系中选择以N2*M2个像素为一个组合的组合像素编码方式的编码映射关系;其中,N2*M2大于N1*M1;所述第二精度阈值低于所述第一精度阈值。
基于上述方案,所述动态确定像素编码的当前编码映射关系,包括:根据所述三维视频数据的要求精度和/或目标场景,生成所述当前映射编码关系。
基于上述方案,所述根据所述三维视频数据的要求精度和/或目标场景,生成所述当前编码映射关系,包括:根据所述要求精度和/或目标场景,确定当前编码映射关系;若所述当前编码映射关系为单一像素编码方式的编码映射关系,根据样本三维视频数据的像素值按照预设排序方式的排序,获得所述样本三维视频数据的像素值序号;建立所述像素值与所述像素值序号之间的映射关系。
基于上述方案,所述像素值序号包括以下至少之一:颜色值排序形成的颜色值序号;深度值排序形成的深度值序号。
基于上述方案,所述根据所述三维视频数据的要求精度和/或目标场景,生成所述当前编码映射关系,包括:若所述当前编码映射方式为组合像素编码方式的编码映射关系,根据所述要求精度和/或目标场景确定所述组合像素编码方式的N*M的取值;其中,N及M的取值为正整数;根据所述样本三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述样本三维视频数据的像素组合序号;建立所述像素值与所述像素组合序号之间的映射关系。
基于上述方案,所述像素组合序号包括以下至少之一:颜色值组合排序形成的颜色值组合序号;深度值组合排序形成的深度值组合序号。
基于上述方案,所述方法还包括:若样本三维视频数据中包含有未基于所述当前编码映射关系的像素值,根据所述样本三维视频数据更新所述当前编码映射关系;将更新后的所述当前编码映射关系或者所述当前编码映射关系中的更新部分发送给MEC服务器。
基于上述方案,所述基于所述当前编码映射关系,对三维视频数据的像素值进行像素编码,获得像素编码数据,包括以下至少之一:根据单一像素编码方式的编码映射关系,对所述三维视频数据中单个像素的像素值进行单一像素编码,获得第一类编码数据,其中,所述第一类编码数据占用的比特数小于单个像素的像素值占用的比特数;根据组合像素编码方式的编码映射关系,对所述三维视频数据中N*M个像素的像素值进行组合像素编码,获得第二类像素编码,其中,N和M均为正整数。
一种数据处理方法,应用于移动边缘计算MEC服务器,包括:
接收终端发送的当前编码映射关系或所述当前编码映射关系的指示信息;
接收所述终端发送的像素编码数据;
根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值;其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
基于上述方案,所述根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值,包括以下至少之一:根据所述当前编码映射关系,根据所述像素编码数据的颜色编码数据,还原所述三维视频数据的颜色像素值;根据所述当前编码映射关系,根据所述像素编码数据的深度值编码数据,还原所述三维视频数据的深度值像素值。
基于上述方案,所述根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值,包括以下至少之一:根据单一像素编码方式的编码映射关系对单个像素的所述像素编码数据进行解码还原三维视频数据像素值;根据组合像素编码方式的编码映射关系对N*M个像素的所述像素编码数据进行解码还原所述三维视频数据像素值;其中,N和M均为正整数;其中,所述单一像素编码方式和/或所述组合像素编码方式的选择,是根据所述三维视频数据包含的像素个数和所述像素编码数据的数据个数确定的。
一种数据处理装置,应用于终端中,包括:
确定模块,用于动态确定像素编码的当前编码映射关系;
第一发送模块,用于向移动边缘计算MEC服务器发送所述当前编码映射关系或者所述当前编码映射关系的指示信息;
获得模块,用于基于所述当前编码映射关系,对三维视频数据的像素值进行像素编码,获得像素编码数据;
第二发送模块,用于向移动边缘计算MEC服务器发送所述像素编码数据,其中,所述像素编码数据用于所述MEC服务器还原出所述三维视频数据;
其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
基于上述方案,所述确定模块,具体用于执行以下至少之一:第一选择子模块,用于根据所述三维视频数据对应的目标场景,从备选编码映射关系中选择所述当前编码映射关系;第二选择子模块,用于根据所述三维视频数据的要求精度,从备选编码映射关系中选择所述当前编码映射关系。
基于上述方案,所述第一选择子模块,用于执行以下至少之一:若所述三维视频数据对应的是采集目标运动的运动场景,选择单一像素编码方式的编码映射关系作为所述当前编码关系;若所述三维视频数据对应的是采集目标静止的静止场景,选择组合像素编码方式的编码映射关系作为所述当前编码映射关系;若所述三维视频数据对应的采集场景的切换速率大于第一预设速率,选择所述单一像素编码映射方式的编码映射关系作为所述当前编码映射关系;若所述三维视频数据对应的采集场景的切换速率低于所述第一预设速率,选择所述组合像素编码方式的编码映射关系作为所述当前编码映射关系。
基于上述方案,所述第二选择子模块,用于执行以下至少之一:若所述三维视频数据的要求精度高于或者等于第一精度阈值,从所述备选编码映射关系中选择单一像素编码方式的编码映射关系;若所述三维视频数据的要求精度低于所述第一精度阈值,从所述备选编码映射关系中选择组合像素编码方式的编码映射关系;若所述三维视频数据的要求精度低于第二精度阈值,从所述备选编码映射关系中选择以N1*M1个像素为一个组合的组合像素编码方式的编码映射关系;若所述三维视频数据的要求精度高于或者等于第二精度阈值,从所述备选编码映射关系中选择以N2*M2个像素为一个组合的组合像素编码方式的编码映射关系;其中,N2*M2大于N1*M1;其中,所述第二精度阈值低于所述第一精度阈值。
基于上述方案,所述确定模块,包括:生成子模块,用于根据所述三维视频数据的要求精度和/或目标场景,生成所述当前映射编码关系。
基于上述方案,所述生成子模块,具体用于根据精度需求和/或目标场景,确定当前编码映射关系;若所述当前编码映射关系为单一像素编码方式的编码映射关系,根据样本三维视频数据的像素值按照预设排序方式的排序,获得所述样本三维视频数据的像素值序号;建立所述像素值与所述像素值序号之间的映射关系。
基于上述方案,所述像素值序号包括以下至少之一:颜色值排序形成的颜色值序号;深度值排序形成的深度值序号。
基于上述方案,所述生成子模块,具体用于若所述当前编码映射方式为组合像素编码方式的编码映射关系,根据所述要求精度和/或目标场景确定组合编码映射方式的N*M的取值;其中,N及M的取值为正整数;根据样本三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述样本三维视频数据的像素组合序号;建立所述像素值与所述像素组合序号之间的映射关系。
基于上述方案,所述像素组合序号包括以下至少之一:颜色值组合排序形成的颜色值组合序号;深度值组合排序形成的深度值组合序号。
基于上述方案,所述装置还包括:更新模块,用于若样本三维视频数据中包含有未基于所述当前编码映射关系的像素值,根据所述样本三维视频数据更新所述当前编码映射关系;第三发送模块,用于将更新后的所述当前编码映射关系或者所述当前编码映射关系中的更新部分发送给MEC服务器。
基于上述方案,所述获得模块,用于执行以下至少之一:根据单一像素编码方式的编码映射关系,对所述三维视频数据中单个像素的像素值进行单一像素编码,获得第一类编码数据,其中,所述第一类编码数据占用的比特数小于单个像素的像素值占用的比特数;根据组合像素编码方式的编码映射关系,对所述三维视频数据中N*M个像素的像素值进行组合像素编码,获得第二类像素编码,其中,N和M均为正整数。
一种数据处理装置,应用于移动边缘计算MEC服务器,包括:
第一接收模块,用于接收终端发送的当前编码映射关系或所述当前编码映射关系的指示信息;
第二接收模块,用于接收终端发送的像素编码数据;
还原模块,用于根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值;其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
基于上述方案,所述还原模块,具体用于执行以下至少之一:根据所述当前编码映射关系,根据所述像素编码数据的颜色编码数据,还原所述三维视频数据的颜色像素值;根据所述当前编码映射关系,根据所述像素编码数据的深度值编码数据,还原所述三维视频数据的深度值像素值。
基于上述方案,所述还原模块,具体用于执行以下至少之一:根据单一像素编码方式的编码映射关系对单个像素的所述像素编码数据进行解码还原三维视频数据像素值;根据组合像素编码方式的编码映射关系对N*M个像素的所述像素编码数据进行解码还原所述三维视频数据像素值;其中,N和M均为正整数;其中,所述单一像素编码方式和/或所述组合像素编码方式的选择,是根据所述三维视频数据包含的像素个数和所述像素编码数据的数据个数确定的。
一种计算机存储介质,所述计算机存储介质上存储有计算机指令,其特征在于,该指令被处理器执行时实现前述任意应用于终端中的数据处理方法的步骤;或者,该指令被处理器执行时实现前述任意应用于MEC服务器中数据处理方法的步骤。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现前述任意应用于终端中的数据处理方法的步骤,或实现前述任意应用于MEC服务器中数据处理方法的步骤。
本发明实施例提供的方法,数据处理方法及装置、电子设备及存储介质,一方面,终端不再是直接传输三维视频数据的像素值,而是会对像素值进行像素编码之后,传输的像素编码数据。传输的像素编码数据的数据量是小于直接传输像素值的数据量的,从而减少了传输所需的带宽及延时;具有传输数据量小、所需带宽小及传输延时小的特点。另一方面,终端会动态确定像素编码的当前编码映射关系,如此可以根据当前需求选择合适的当前编码映射关系,确保传输到MEC服务器的三维视频数据的精准性和/或延时需求,提高三维视频数据的服务质量。
附图说明
图1为本发明实施例提供的一种数据传输方法应用的系统架构示意图;
图2为本发明实施例提供的一种数据处理方法的流程示意图;
图3为本发明实施例提供的另一种数据处理方法的流程示意图;
图4为本发明实施例提供的一种数据处理装置的结构示意图;
图5为本发明实施例提供的另一种数据处理装置的结构示意图;
图6为本发明实施例提供的一种数据处理设备的结构示意图。
具体实施方式
在对本发明实施例的技术方案进行详细说明之前,首先对本发明实施例的数据处理方法应用的系统架构进行简单说明。本发明实施例的数据处理方法应用于三维视频数据的相关业务,该业务例如是三维视频数据分享的业务,或者基于三维视频数据的直播业务等等。在这种情况下,由于三维视频数据的数据量较大,分别传输的深度数据和二维视频数据在数据传输过程中需要较高的技术支持,因此需要移动通信网络具有较快的数据传输速率,以及较稳定的数据传输环境。
图1为本发明实施例的数据传输方法应用的系统架构示意图;如图1所示,系统可包括终端、基站、MEC服务器、业务处理MEC服务器、核心网和互联网(Internet)等;MEC服务器与业务处理MEC服务器之间通过核心网建立高速通道以实现数据同步。
以图1所示的两个终端交互的应用场景为例,MEC服务器A为部署于靠近终端A(发送端)的MEC服务器,核心网A为终端A所在区域的核心网;相应的,MEC服务器B为部署于靠近终端B(接收端)的MEC服务器,核心网B为终端B所在区域的核心网;MEC服务器A和MEC服务器B可与业务处理MEC服务器之间分别通过核心网A和核心网B建立高速通道以实现数据同步。
其中,终端A发送的三维视频数据传输到MEC服务器A后,由MEC服务器A通过核心网A将数据同步至业务处理MEC服务器;再由MEC服务器B从业务处理MEC服务器获取终端A发送的三维视频数据,并发送至终端B进行呈现。
这里,如果终端B与终端A通过同一个MEC服务器来实现传输,此时终端B和终端A直接通过一个MEC服务器实现三维视频数据的传输,不需要业务处理MEC服务器的参与,这种方式称为本地回传方式。具体地,假设终端B与终端A通过MEC服务器A实现三维视频数据的传输,终端A发送的三维视频数据传输到MEC服务器A后,由MEC服务器A发送三维视频数据至终端B进行呈现。
这里,终端可基于网络情况、或者终端自身的配置情况、或者自身配置的算法选择接入4G网络的演进型基站(eNB),或者接入5G网络的下一代演进型基站(gNB),从而使得eNB通过长期演进(Long Term Evolution,LTE)接入网与MEC服务器连接,使得gNB通过下一代接入网(NG-RAN)与MEC服务器连接。
这里,MEC服务器部署于靠近终端或数据源头的网络边缘侧,所谓靠近终端或者靠近数据源头,不仅是逻辑位置上,还在地理位置上靠近终端或者靠近数据源头。区别于现有的移动通信网络中主要的业务处理MEC服务器部署于几个大城市中,MEC服务器可在一个城市中部署多个。例如在某写字楼中,用户较多,则可在该写字楼附近部署一个MEC服务器。
其中,MEC服务器作为具有融合网络、计算、存储、应用核心能力的边缘计算网关,为边缘计算提供包括设备域、网络域、数据域和应用域的平台支撑。其联接各类智能设备和传感器,就近提供智能联接和数据处理业务,让不同类型的应用和数据在MEC服务器中进行处理,实现业务实时、业务智能、数据聚合与互操作、安全与隐私保护等关键智能服务,有效提升业务的智能决策效率。
如图2所示,本实施例提供一种数据处理方法,应用于终端中,包括:
步骤201:动态确定像素编码的当前编码映射关系;
步骤202:向移动边缘计算MEC服务器发送所述当前编码映射关系或者所述当前编码映射关系的指示信息;
步骤203:基于所述当前编码映射关系,对三维视频数据的像素值进行像素编码,获得像素编码数据;
步骤204:向移动边缘计算MEC服务器发送所述像素编码数据,其中,所述像素编码数据用于所述MEC服务器还原出所述三维视频数据;
其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
本实施例提供的数据处理方法应用于终端中,该终端可为各种类型的终端,例如,手机、平布电脑或可穿戴式设备、或者固定的图像监控等。所述终端可为固定终端和/或移动终端。
步骤201,在进行所述三维视频数据传输之前需要确定当前编码映射关系,例如,所述三维视频数据是基于传输控制协议(Transmission Control Protocol,TCP)或用户数据报协议(User Datagram Protocol,UDP)传输的。若三维视频数据是基于TCP协议传输的,则所述当前编码映射关系或者所述当前编码映射关系的指示信息,在建立TCP连接的握手阶段发送给MEC服务器,也可以在正式建立好TCP连接之后,通过TCP连接发送给MEC服务器。
若利用UDP协议传输所述像素编码数据时,可以利用专门的UDP数据包发送所述当前编码映射关系或当前编码映射关系的指示信息。
所述当前编码映射关系的指示信息可为:当前编码映射关系的编号信息或者名称信息,等可以供MEC服务器唯一确定所述当前编码映射关系的信息。
在本实施例中由于所述当前编码映射关系是动态确定的,如此可以根据当前的需求,来确定当前编码映射关系,相对于使用静态的编码映射关系,可以满足不同应用场景下的三维视频数据的传输需求及数据传输质量。
在一些实施例中,所述三维视频数据包括:二维图像及深度图像。其中,所述二维图像中包含颜色像素。所述颜色像素的像素值为颜色值。例如,所述颜色值是红/绿/蓝(RGB)值或者是明亮度/色度/浓度(YUV)值。
所述深度图像包含深度像素,所述深度像素的像素值为深度值;其中,所述深度值表征的是采集目标与图像采集模组之间的空间距离。所述三维视频数据及深度图像可以在三维图像空间内搭建出三维图像。
在一些实施例中,所述二维图像和深度图像的图像尺寸是一致,例如,所述二维图像和深度图像所包含的像素均为W*H个;W表示第一方向上包括的像素个数,H表示第二方向上包括的像素个数。W和H均为正整数。
在一些实施例中,所述二维图像和所述深度图像,可为同一个时刻采集的两个图像;为了减少数据量,所述二维图像和所述深度图像的图像尺寸,满足预设关系。例如,深度图像所包含的像素为W*H个,深度图像包含的像素为(W/a)*(H/b)。如此,一个深度像素对应了a*b个颜色像素。在进行三维视频搭建时,可以根据一个深度像素的像素值应用于a*b个相邻颜色像素的像素值。譬如,(W/a)*(H/b)等于(W/2)*(H/2)。如此,一个深度像素对应了4个颜色像素。在进行三维视频搭建时,可以根据一个深度像素的像素值应用于4个相邻颜色像素的像素值;如此,就减少了深度图像的图像数据量。由于通常一个物体相邻的很小区域内的凹凸感是基本上一致的,故若深度图像的图像尺寸小于所述二维图像的图像尺寸,也可以维持较高精度的三维视频的还原和搭建;同时减少的终端和MEC服务器需要交互的数据量和/或MEC服务器需要处理的数据量。在一些实施例中,在生成图像尺寸小于所述二维图像时,可具有以下方式中的至少一种:
直接利用所述深度图像的图像尺寸采集所述深度图像;
利用所述二维图像的图像尺寸采集原始深度图像;再根据深度图像的图像尺寸,根据相邻的a*b个像素的像素值生成所述深度图像。例如,根据相邻的a*b个像素值的均值或中值生成所述深度图像。
在本实施例中,会对已经完成了从传感数据转换为像素值的第一次编码。在本实施例中会对像素值进行第二次编码,此处的第二编码即为所述像素编码,在完成所述像素编码之后会得到所述像素编码数据。
在一些实施例中,在对所述像素值进行像素编码之后,生成的所述像素编码数据可包括:像素值代码,而非像素值本身。如此,接收端在接收到像素编码数据之后,不能直接根据像素编码数据显示或读取出图像,需要先还原成像素值本身,才可进行正常显示或读取出图像。
在一些实施例中,所述第一次编码可为很多图像采集模组自带的编码,如此,图像采集模组通过光线的采集直接向存储其中存储的是完成了所述传感数据转换的像素值,即完成了所述第一次编码的数据。
在完成所述像素编码之后得到的像素编码数据传输给MEC服务器,用于MEC服务器三维视频的生成。在本实施例中,由于通过再次的像素编码之后,得到的第二数据量是小于编码之前的第一数据量,如此,减少了传输三维视频数据的数据量,从而减少了数据量所消耗的带宽及因为大量数据所需的传输时延;从而具有传输的数据量小、消耗的带宽小及传输时延小的特点。故此,MEC服务器接收到数据的延时小,则可以快速的精准还原出三维视频数据并搭建三维视频。
在步骤201中动态确定当前编码映射关系可包括两种方式:
动态选择;
动态生成。
动态选择所述当前编码映射关系可包括:
根据所述三维视频数据要求精度和/或目标场景,从备选编码映射关系中选择所述当前编码映射关系。
所述目标场景根据采集目标的运动状态可以分为:静止场景和/或运动场景。例如,单位时间内采集目标的位移不大于特定位移,则可认为采集目标静止,否则可认为采集目标运动。
若采集对象快速运动,则可能会因为采集图像中采集对象的不同部分成像之间的位置关系发生变化,从而使得不同部分成像的像素组合发生关系,故此时可能不适用于组合编码映射方式,而更加合适单一编码映射方式;故此时选择的当前编码映射关系也不同。
采集场景可为采集目标所在的环境,采集场景在采集的三维视频数据中可以体现为背景,且采集场景可能会影响采集目标在三维视频数据中的成像。例如,采集场景的光照颜色和/或光照角度,会影响三维视频数据中对采集目标的成像的颜色和/或深度值等。
故在一些实施例中,还根据采集场景的切换速率来选择合适的编码映射方式及编码映射关系。
所述采集场景的切换速率可包括:
通过比对不同三维视频数据中图像内背景的差异度来确定切换速率;若差异越大,则表示切换速率越大。
再例如,所述根据所述三维视频数据的要求精度,从备选编码映射关系中选择所述当前编码映射关系,包括以下至少之一:
若所述三维视频数据的要求精度高于或者等于第一精度阈值,从所述备选编码映射关系中选择单一像素编码方式的编码映射关系;
若所述三维视频数据的要求精度低于所述第一精度阈值,从所述备选编码映射关系中选择组合像素编码方式的编码映射关系;
若所述三维视频数据的要求精度低于第二精度阈值,从所述备选编码映射关系中选择以N1*M1个像素为一个组合的组合像素编码方式的编码映射关系;
若所述三维视频数据的要求精度高于或者等于所述第二精度阈值,从所述备选编码映射关系中选择以N2*M2个像素为一个组合的组合像素编码方式的编码映射关系;其中,N2*M2大于N1*M1;所述第二精度阈值低于所述第一精度阈值。
如采用单一编码映射关系,则需要注意核对每一个像素值,基于每一个像素值进行像素编码数据的获取。若采用组合编码映射方式,在传输的过程中出现一个比特数据错误,可能会使得多个像素的像素值均发生变化,从而导致显示异常。故为了确保较高的传输精度,在本实施例中,若要求精度大于或等于第一精度阈值时,选择单一编码映射方式的编码映射关系,否则可以出于简化传输的需求,采用组合编码映射方式,并选择组合编码映射方式对应的编码映射关系。
在一些实施例中,所述第二精度阈值可以低于所述第一精度阈值,则在要求精度低于第一精度阈值,以较多像素组合进行组合编码映射方式;否则以较少的像素组合进行组合编码映射方式进行像素编码。如此,在确定了编码映射方式之后,可以根据确定的编码映射方式选择对应的编码映射关系。
在本发明实施例中,步骤201中除了根据目标场景和/或传输精度需求选择合适的编码映射方式,再根据选择的编码映射方式来选择编码映射关系。若选择的编码映射方式的编码映射关系就仅有一种,则直接选择这种编码映射关系即可。若选择的编码映射方式的编码映射关系有多种,则随机选择一个作为当前编码映射关系;或者,进一步根据要求精度和/或目标场景等参数从多个编码映射关系中选择一个适合当前传输的编码映射关系。
所述动态确定像素编码的编码映射关系,还可包括:
根据所述三维视频数据的要求精度和/或目标场景,生成所述当前编码映射关系。
在一些实施例中,所述步骤201可根据当前要求精度和/或目标场景,确定出当前适合的编码映射方式,然后通过扫码样本三维视频数据,生成对应的编码映射方式的编码映射关系。生成的该编码映射关系即为步骤201中动态确定的当前编码映射关系。
所述根据样本三维视频数据的要求精度和/或目标场景,生成所述当前映射编码关系,包括:
根据精度需求和/或目标场景,确定当前编码映射方式;
若所述当前编码映射方式为单一编码映射方式,根据所述样本三维视频数据的像素值按照预设排序方式的排序,获得所述三维视频数据的像素值序号;
建立所述像素值与所述像素值序号之间的映射关系。
例如,所述像素值序号包括以下至少之一:
颜色值排序形成的颜色值序号;
深度值排序形成的深度值序号。
以8通道的颜色通道为了进行说明,由“0”至“225”共256个取值表征不同的颜色。此时,可以以颜色值进行从高到低或者从低到高排序,然后将排序的序号作为所述颜色值序号,再建立颜色值序号与对应颜色值之间的映射关系,该建立的映射关系即为前述的编码映射关系的一种。
以深度值进行说明,所述深度值可能为采集的表征图像采集模组与采集目标之间的距离;在本实施例中可以直接对距离进行从大到小或者从小到大的排序,然后将排序的序号作为所述深度值序号来构建所述编码映射关系。
故在一些实施例中,所述根据样本三维视频数据的像素值按照预设排序方式的排序,获得所述三维视频数据的像素值序号,包括以下至少之一:根据所述三维视频数据的颜色像素的颜色值的排序,获得所述三维视频数据的颜色值序号;根据所述三维视频数据的深度像素的深度值的排序,获得所述三维视频数据的深度值序号。
在另一些实施例中,所述根据样本三维视频数据的要求精度和/或目标场景,生成所述当前映射编码关系,包括:
若所述当前编码映射方式为组合像素编码方式的编码映射关系,根据所述要求精度和/或目标场景确定所述组合像素编码方式的N*M的取值;其中,N及M的取值为正整数;
根据所述样本三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述样本三维视频数据的像素组合序号;
建立所述像素值与所述像素组合序号之间的映射关系。
在本实施例中,会根据要求精度确定出所述N*M,N可为一个像素组合对应的行数,则M可为一个像素组合对应的列数;或者,N可为一个像素组合对应的列数,则N可为一个像素组合对应的行数。
在一些实施例中,所述像素组合序号包括以下至少之一:
颜色值组合排序形成的颜色值组合序号;
深度值组合排序形成的深度值组合序号。
故在一些实施例中,所述根据样本三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述三维视频数据的像素组合序号,可包括:
根据样本三维视频数据中颜色像素的颜色值,以N*M个像素的颜色值为组合进行排序,获得三维视频数据的颜色值组合序号。例如,在排序时可以按照扫描到的颜色值组合的时间先后顺序进行排序,或者,可以基于扫描到的颜色值组合的出现频次高低进行排序,从而得到所述颜色值组合序号。
在还有一些实施例中,所述样本所述三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述三维视频数据的像素组合序号,还可包括:
根据样本三维视频数据中深度像素的深度值,以N*M个像素的深度值为组合进行排序,获得三维视频数据的深度值组合序号。例如,在排序时可以按照深度值组合的平均深度值进行排序,也可以按照深度值组合的最大深度值或者最小深度值进行排序。总之,排序的方式有多种,不局限于上述任意一种。
在还有一些实施例中,在所述步骤201可直接包括:根据样本三维视频数据的数据特点,直接确定出合适的编码映射方式和/或编码映射关系。
例如,通过扫描样本三维视频数据,发现在一帧三维视频数据中有多个颜色值合频繁反复出现,则此时适用于组合编码映射方式,可以直接根据该颜色值组合确定出N*M,并进行排序获得颜色值序号等。
又例如,通过扫描样本三维视频数据,发现在一帧三维视频数据中有多个深度值组合或者深度差固定的深度值组合频繁反复出现,则此时适用于组合编码映射方式,可以直接根据该深度值组合确定出N*M,并进行排序获得颜色值序号等。
在本发明实施例中所述样本三维视频数据可为正式传输三维视频数据之前采集的三维视频数据。
在还有一些实施例中,若步骤201中是动态选择的当前编码映射关系,则可能当前采集的三维视频数据有的颜色值或深度值并未在所述当前编码映射关系中,此时,所述方法还包括:
若样本三维视频数据中包含有未在所述当前编码映射关系的像素值,根据所述样本三维视频数据更新所述当前编码映射关系;
将更新后的所述当前编码映射关系或者所述当前编码映射关系中的更新部分发送给MEC服务器。
如此,一方面减少了完全重新生成所述编码映射关系所消耗的资源和时间,另一方面也可以通过部分更新的方式,获得能够更加适合当前三维视频数据传输的当前编码映射关系。在一些实施例中,所述步骤203可包括:
根据所述三维视频数据的颜色像素值进行颜色编码,获得颜色编码数据;
和/或,
根据所述三维视频数据的深度值像素值进行深度值编码,获得深度值编码数据。
在一些实施例中,对像素值编码可以仅对三维视频数据中的颜色像素的颜色像素值进行颜色编码,得到颜色编码数据。
在另一些实施例中,对像素值编码可以是仅对三维视频数据中的深度值像素值进行深度值编码,获得再次编码的深度值编码数据。
不管是颜色编码还是深度值编码,通过再次编码之后,可以减少传输给MEC服务器的数据量。
在另一些实施例中,在步骤203中的像素编码,可以是同时进行颜色编码和深度值编码。
在步骤203可包括:
将所述三维视频数据中的像素值与像素编码映射关系中的像素值进行匹配;
根据匹配结果,确定所述像素编码数据。例如,某一个或多个三维视频数据中的像素值A1,与像素编码映射关系中所有的像素值进行匹配,若有匹配到像素值A1,则将与像素值A1对应的像素编码映射关系中的像素编码数据作为所述像是值A1的像素编码的结果。
所述匹配结果包括以下三种:
匹配结果表明匹配成功;所述匹配成功包括:匹配结果表明满足相同条件或相似条件;
匹配结果表明匹配不成功;即所述匹配结果不满足相同条件和/或相似条件。
若满足相同条件,则表明当前采集的三维视频数据中的像素值位于所述像素编码映射关系。
若满足相似条件,则表明当前采集的三维视频数据中的像素值与位于像素编码。
在一些实施例中,可以根据当前需求,确定匹配成功是需要满足相同条件还是相似条件。
在一些实施例中,若扫描到当前采集的三维视频数据中的N*M个像素的像素值与所述像素编码映射关系中某一个预设N*M个像素的像素值的像素度大于预设相似度阈值,例如,70%、80%、90%或85%;则可认为当前扫描到的N*M个像素的像素编码数据与像素编码映射关系中的N*M个像素满足像素编码的相似条件,可以将像素编码映射关系中的N*M个像素的像素编码数据,直接作为当前扫描的N*M个像素的像素值的颜色编码数据。
在另一些实施例中,若扫描到当前采集的三维视频数据中的N*M个像素的像素值与所述像素编码映射关系中某一个预设N*M个像素的像素值的像素度大于预设相似度阈值;70%、80%、90%或85%。进一步地,提取出扫描的N*M个像素的像素值与像素编码映射关系中的N*M个像素的像素值不同的1个或多个像素的像素值,计算提取出的像素值与像素编码映射关系中的N*M个像素的像素值的像素值差异,若像素值差异在预设差异范围内,则可认为当前扫描到的N*M个像素的像素编码数据与像素编码映射关系中的N*M个像素满足像素编码的相似条件,可以将像素编码映射关系中的N*M个像素的像素编码数据,直接作为当前扫描的N*M个像素的像素值的颜色编码数据;否则可认为扫描到的N*M个像素的像素编码数据与像素编码映射关系中的N*M个像素不满足像素编码的相似条件。例如,若像素值差异在预设差异范围内可包括:
像素值差异表明两个像素值为近似值,例如,颜色近似值。若像素值差异表明两个颜色为相反色,则可认为不再所述预设差异范围内;若两个深度像素的深度差异表明两个深度值差异在预设深度值或深度比值以上,可认为不再所述预设差异范围内,否则可认为在所述预设差异范围内。
在另一些实施例中,若所述编码映射关系为编码映射函数,则以所述像素值输入所述编码映射函数中就自动输出像素编码数据。例如,通过拟合样本图像中的颜色值确定出所述编码映射函数,如此,每一个像素值或一组像素值输入到所述编码映射函数中就会自动得到所述像素编码数据,如此,就不用通过匹配的方式确定所述像素编码数据。
总之在步骤203中确定所述像素编码数据的方式有多种,具体实现时不限于任意一种。
在一些实施例中,所述步骤203,包括:
根据所述三维视频数据的像素值查询像素编码映射关系,确定所述像素编码数据。
在一些实施例中,所述终端和所述MEC服务器均可预先知道所述像素编码映射关系,例如,MEC服务器和终端均预先存储有像素编码映射表。
在一些实施例中,所述终端和MEC服务器之间预先协商所述像素编码映射关系。
所述像素编码映射关系可包括以下至少之一:
所述像素编码映射表;
多个离散的像素编码映射值对;
由像素值与像素编码数据的函数表达式。
总之,所述像素编码映射关系的表达方式至少有多种,不局限于上述任意一种。
在一些实施例中,所述方法还包括:
根据预设信息选择像素编码方式,其中,所述预设信息包括:网络传输状况信息、所述终端的负载状况信息及所述MEC服务器的负载状况信息的至少其中之一;
所述步骤203可包括:根据选择的所述像素编码方式,对所述像素值进行像素编码获得所述像素编码数据。
例如,若网络传输状况信息表明:当前可用带宽大于直接传输所述像素值所需的带宽,则可以不用进行所述像素编码。
再例如,若所述网络传输状况信息表明:当前可用高带宽小于直接传输所述像素值所需的带宽,则根据当前可用带宽,选择像素编码后数据量小于或等于所述当前可用带宽的像素编码方式。
再例如,采用不同的像素编码方式,则终端编码所需的计算量和MEC服务器还原的计算量均不同。
在本实施例中还会根据终端的负载状况信息和/或MEC服务器的负载状况信息,选择合适的像素编码方式。
所述负载状况信息可包括以下至少之一:当前负载率、当前负载量、最大负载率及最大负载量。
若当前负载率高或者当前负载量大,则优先选择编码或解码的计算量小的像素编码方式;否则可以任意选择或者根据网络传输状况信息等其他参考因素进行选择。
在一些实施例中,所述根据选择的像素编码方式,对所述像素值进行像素编码获得所述像素编码数据,包括以下至少之一:
根据单一像素编码方式,对所述三维视频数据中单个像素的像素值进行单一像素编码,获得第一类编码数据,其中,所述第一类编码数据占用的比特数小于单个像素的像素值占用的比特数;
根据组合像素编码方式,对所述三维视频数据中N*M个像素的像素值进行组合像素编码,获得第二类像素编码,其中,N和M均为正整数。
在本实施例中单一像素编码,则一个像素值对应于一个像素编码数据。例如,一个三维视频数据的图像包括S个像素,则通过单一像素编码之后,会得到S个第一类编码数据。为了减少数据量,则此时一个第一类编码数据占用的比特数小于像素值本身占用的比特数。例如,一个像素值占用32个比特或16个比特,而第一类编码数据则仅占用8个比特或10个比特。如此,由于减少了每一个单一像素传输所需的比特数,从而整体上减少了所需的数据量。
在一些实施例中还可以组合像素编码。
组合像素编码是同时对多个像素进行像素编码。
例如,同时对相邻的一个像素矩阵进行编码,或者,同时对按照矩阵或者非矩阵排列的多个像素进行像素编码。
在一些实施例中,对3*3或4*4个像素构成的像素矩阵进行编码。在一些实施例中,所述N*M恰好能够被一帧所述三维图像数据所包含的像素整除。
在一些情况下,进行图像采集时,这些相邻像素的深度值和/或颜色信息是相对固定的,可以将这些颜色组合或深度组合,在所述像素编码映射关系中生成预设的编码值,如此,后续在进行所述像素编码时,通过扫描对应三维视频数据帧中的颜色像素值或深度像像素值,确定出是否包括特定颜色组合和/或深度组合,从而转换为对应的编码值,从而获得所述像素编码数据。
在一些实施例中,根据当前需求,可以混合使用所述单一像素编码和组合像素编码。
在传输所述像素编码数据的同时,或者在传输所述像素编码数据之前,可以预先告知选择的编码方式。选择的编码方式可为前述的单一像素编码、组合像素编码,或混合单一像素编码及组合像素编码的混合像素编码。
所述N*M个像素相邻分布;
所述N*M个像素按照预设间隔方式,间隔分布。
如N*M个像素相邻分布,则形成了一个N*M个像素矩阵。
N*M个像素按照预设间隔方式间隔分布,例如,属于N*M个像素中的两个像素可以间隔预设个像素,例如,间隔一个或多个。
在一些实施例中,所述N*M可以动态确定,也可以是静态设置的。
例如,将三维图像数据帧中的图像分为第一区域和第二区域,第一区域可以使用单一像素编码,则第二区域进行组合像素编码。
再例如,将三维图像帧中图像的第一区域的像素值直接传输给MEC服务器,对第二区域进行单一像素编码和/或组合像素编码。
如此,可以很好的平衡传输数据量和图像质量之间的关系。
在一些实施例中,所述根据所述三维视频数据的像素值查询像素编码映射关系,确定所述像素编码数据,包括:
根据所述三维视频数据的像素值查询所述像素编码映射关系;
若所述像素值在所述像素编码映射关系中,则根据所述像素值对应的像素编码值确定出所述像素编码数据。
一个三维视频数据帧的图像数据的像素编码映射关系,可能预先已经确定了,但是在另一些情况下可能是未确定的,或者,可能随着时间的推移发生了变化。
例如,以一个主播的三维直播视频为例,若该主播之前就参与过三维视频直播,则在该主播所持有的终端或者MEC服务器中就可能存储有该主播脸部的编码映射关系。若该主播的脸部突然增加了修饰或者妆容发生了变化,则脸部的至少艳色图像可能发生了改变,则此时上述像素映射关系可能并不在所述像素编码映射关系中。
在另一些实施例中,所述方法还包括:
若所述像素值不在所述像素编码映射关系中,根据所述像素值更新所述像素编码映射关系,将更新后的像素编码映射关系或者所述像素编码映射关系中更新部分发送给所述MEC服务器。
在本实施例中,为了方便确定编码映射关系,可以会在正式直播前的交互握手或者调试阶段,会采集目标对象的一个或多个三维视频数据,通过这些三维视频数据的像素值扫描,确定出是否已经建立了对应目标对象的像素映射关系,或者,是否需要更新像素映射关系。若需要更新三维映射关系,则更新所述三维映射关系,若不需要就可以直接进入三维视频数据的正式交互了。
在一些实施例中,所述步骤203可包括:
根据所述三维视频数据的像素值按照预设排序方式的排序,获得所述三维视频数据的像素值序号。
例如,以一个人脸为例,人脸的肤色和脸部高低起伏都是有其最大值和最小值的,如此,利用图像采集模组采集的二维图像和/或深度图像都集中在特定的颜色像素值或深度像素值区间内,绝大多数情况下,不会覆盖到整个图像采集器的最大像素值和最小像素值,16比特的颜色通道对应的512个可能像素值,可能有效利用的仅是200个左右,甚至100多个左右。
通过所述像素值的排序,可以得到目前产生有多少个像素值,例如,产生了P个,则需要log
若一个目标对象(例如,各种类型的主播、特定类型场景经常出现在视频中),如此,可以通过像素值的上述统计个数排序,生成所述像素编码映射关系,或者,更新所述像素编码映射关系,从而完成编码视频关系的确定和生成。
若按照统计个数排序,如此,出现像素值出现频次高的像素编码值序号会出现在前,如此,后续利用与样本三维视频数据在同一目标场景和采集目标的三维视频数据的编码时,可以减少像素值匹配的次数,提升像素编码的效率。
在一些实施例中,由于不同的目标对象而言得到的述像素编码映射关系可能是不同的,如此,对于数据而言在不泄露所述像素编码映射关系的情况下,具有安全性高的特点。如此,他人若在传输过程中截获了进行了像素编码的像素编码数据,也并非能够正常解码出所述三维视频数据,从而具有传输安全性高的特点。
如图3所示,本实施例提供一种数据处理方法,应用于移动边缘计算MEC服务器,包括:
步骤301:接收终端发送的当前编码映射关系或所述当前编码映射关系的指示信息;
步骤302:接收所述终端发送的像素编码数据;
步骤303:根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值;其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
在本实施例中直接接收的并非是像素值,而是像素编码数据。MEC服务器接收到像素编码数据之后需要还原成三维视频数据的像素值。
且用于是动态确定的当前编码映射关系,故MEC服务器还会从终端接收到当前编码映射关系或者当前编码映射关系的指示信息,以方便步骤303中根据当前编码映射关系进行像素编码数据的还原。
由于MEC服务器接收的像素编码数据,相对于直接接收像素值的数据量是更小的,消耗的带宽是更小的。
所述步骤303可包括以下至少之一:
根据所述当前编码映射关系,根据所述像素编码数据的颜色编码数据,还原所述三维视频数据的颜色像素值;
根据所述当前编码映射关系,根据所述像素编码数据的深度值编码数据,还原所述三维视频数据的深度值像素值。
在本实施例中,基于颜色编码数据还原颜色像素值,根据深度值编码数据,还原深度值像素值。
所述步骤303还可包括以下至少之一:
根据单一像素编码方式的编码映射关系对单个像素的所述像素编码数据进行解码还原三维视频数据像素值;
根据组合像素编码方式的编码映射关系对N*M个像素的所述像素编码数据进行解码还原所述三维视频数据像素值;其中,N和M均为正整数;
其中,所述单一像素编码方式和/或所述组合像素编码方式的选择,是根据所述三维视频数据包含的像素个数和所述像素编码数据的数据个数确定的。
在一些实施例中,所述方法还包括:
确定所述像素编码数据的像素编码方式;例如,所述像素编码方式可包括:单一编码方式和/或组合编码方式。
所述步骤303可包括:
根据所述像素编码方式,对所述像素编码数据进行像素解码得到所述三维视频数据的像素值。
在一些实施例中,所述步骤302的方式有多种,以下提供几种可选方式:
可选方式一:确定所述三维视频数据包含的像素个数,确定所述像素编码数据的数据个数;根据所述像素个数及所述数据个数,确定所述像素编码方式;
可选方式二:与所述终端交互像素编码参数,其中,所述像素编码参数至少包括:像素编码方式。
在一些实施例中,所述像素编码参数包括所述像素编码方式,在另一些实施中,所述像素编码参数还可包括:
组合编码方式的N*M的取值;
单一编码方式和/或组合编码方式的一个像素编码数据所占用的比特个数。
在一些实施例中,所述根据所述像素编码方式,对所述像素编码数据进行像素解码得到所述三维视频数据的像素值,包括以下至少之一:
根据单一像素编码方式,对单个像素的所述像素编码数据进行解码还原三维视频数据像素值;
根据组合像素编码方式,对N*M个像素的所述像素编码数据进行解码还原所述三维视频数据像素值。
在一些实施例中,所述步骤302可包括:根据所述像素编码数据查询像素编码映射关系,获得与所述像素编码数据对应的像素值。
在一些实施例中,所述方法还包括:
在根据所述像素编码数据还原三维视频数据的像素值之前,接收所述终端发送的更新后的像素编码映射关系或者所述像素编码映射关系中的更新部分。
通过所述像素编码映射关系的交互,如此,使得像素编码映射关系在终端和MEC服务器中进行同步。
如图4所示,本实施例提供一种数据处理装置,应用于终端中,包括:
确定模块401,用于动态确定像素编码的当前编码映射关系;
第一发送模块402,用于向移动边缘计算MEC服务器发送所述当前编码映射关系或者所述当前编码映射关系的指示信息;
获得模块403,用于基于所述当前编码映射关系,对三维视频数据的像素值进行像素编码,获得像素编码数据;
第二发送模块404,用于向移动边缘计算MEC服务器发送所述像素编码数据,其中,所述像素编码数据用于所述MEC服务器还原出所述三维视频数据;
其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
在一些实施例中,所述第一发送模块402、获得模块403及第二发送模块404可为程序模块,对应于计算机可执行代码,该计算机可执行代码被执行后,能够实现前述像素编码数据及三维视频数据的发送。
在另一些实施例中,所述第一发送模块402、获得模块403及第二发送模块404还可为硬件模块及程序模块的组合,例如,复杂可编程阵列或者现场可编程阵列。
在还有一些实施例中,所述第一发送模块402、获得模块403及第二发送模块404可对应于硬件模块,例如,所述第一发送模块402、获得模块403及第二发送模块404可为专用集成电路。
在一些实施例中,所述确定模块401,具体用于执行以下至少之一:
第一选择子模块,用于根据所述三维视频数据对应的目标场景,从备选编码映射关系中选择所述当前编码映射关系;
第二选择子模块,用于根据所述三维视频数据的要求精度,从备选编码映射关系中选择所述当前编码映射关系。
在一些实施例中,
所述第一选择子模块,用于执行以下至少之一:
若所述三维视频数据对应的是采集目标运动的运动场景,选择单一像素编码方式的编码映射关系作为所述当前编码关系;
若所述三维视频数据对应的是采集目标静止的静止场景,选择组合像素编码方式的编码映射关系作为所述当前编码映射关系;
若所述三维视频数据对应的采集场景的切换速率大于第一预设速率,选择所述单一像素编码映射方式的编码映射关系作为所述当前编码映射关系;
若所述三维视频数据对应的采集场景的切换速率低于所述第一预设速率,选择所述组合像素编码方式的编码映射关系作为所述当前编码映射关系。
在一些实施例中,所述第二选择子模块,用于执行以下至少之一:
若所述三维视频数据的要求精度高于或者等于第一精度阈值,从所述备选编码映射关系中选择单一像素编码方式的编码映射关系;
若所述三维视频数据的要求精度低于所述第一精度阈值,从所述备选编码映射关系中选择组合像素编码方式的编码映射关系;
若所述三维视频数据的要求精度低于第二精度阈值,从所述备选编码映射关系中选择以N1*M1个像素为一个组合的组合像素编码方式的编码映射关系;
若所述三维视频数据的要求精度高于或者等于第二精度阈值,从所述备选编码映射关系中选择以N2*M2个像素为一个组合的组合像素编码方式的编码映射关系;其中,N2*M2大于N1*M1;
其中,所述第二精度阈值低于所述第一精度阈值。
在一些实施例中,所述确定模块401,包括:
生成子模块,用于根据所述三维视频数据的要求精度和/或目标场景,生成所述当前映射编码关系。
在一些实施例中,所述生成子模块,具体用于根据精度需求和/或目标场景,确定当前编码映射关系;若所述当前编码映射关系为单一像素编码方式的编码映射关系,根据样本三维视频数据的像素值按照预设排序方式的排序,获得所述样本三维视频数据的像素值序号;建立所述像素值与所述像素值序号之间的映射关系。
在一些实施例中,所述像素值序号包括以下至少之一:
颜色值排序形成的颜色值序号;
深度值排序形成的深度值序号。
在一些实施例中,所述生成子模块,具体用于若所述当前编码映射方式为组合像素编码方式的编码映射关系,根据所述要求精度和/或目标场景确定组合编码映射方式的N*M的取值;其中,N及M的取值为正整数;根据样本三维视频数据的像素值,以N*M个像素的像素值为组合进行排序,获得所述样本三维视频数据的像素组合序号;建立所述像素值与所述像素组合序号之间的映射关系。
在一些实施例中,所述像素组合序号包括以下至少之一:
颜色值组合排序形成的颜色值组合序号;
深度值组合排序形成的深度值组合序号。
在一些实施例中,所述装置还包括:
更新模块,用于若样本三维视频数据中包含有未基于所述当前编码映射关系的像素值,根据所述样本三维视频数据更新所述当前编码映射关系;
第三发送模块,用于将更新后的所述当前编码映射关系或者所述当前编码映射关系中的更新部分发送给MEC服务器。
在一些实施例中,所述获得模块403,用于执行以下至少之一:
根据单一像素编码方式的编码映射关系,对所述三维视频数据中单个像素的像素值进行单一像素编码,获得第一类编码数据,其中,所述第一类编码数据占用的比特数小于单个像素的像素值占用的比特数;
根据组合像素编码方式的编码映射关系,对所述三维视频数据中N*M个像素的像素值进行组合像素编码,获得第二类像素编码,其中,N和M均为正整数。
如图5所示,本实施例提供一种数据处理装置,应用于移动边缘计算MEC服务器,包括:
第一接收模块501,用于接收终端发送的当前编码映射关系或所述当前编码映射关系的指示信息;
第二接收模块502,用于接收终端发送的像素编码数据;
还原模块503,用于根据所述当前编码映射关系,对所述像素编码数据还原以获得三维视频数据的像素值;其中,所述三维视频数据进行像素编码之前的数据量为第一数据量;所述三维视频数据进行像素编码之后的数据量为第二数据量;所述第一数据量大于所述第二数据量。
在一些实施例中,所述第一接收模块501、第二接收模块502及还原模块503可为程序模块,对应于计算机可执行代码,该计算机可执行代码被执行后,能够实现前述像素编码数据及三维视频数据的发送。
在另一些实施例中,所述第一接收模块501、第二接收模块502及还原模块503还可为硬件模块及程序模块的组合,例如,复杂可编程阵列或者现场可编程阵列。
在还有一些实施例中,所述第一接收模块501、第二接收模块502及还原模块503可对应于硬件模块,例如,所述第一接收模块501、第二接收模块502及还原模块503可为专用集成电路。
在一些实施例中,所述还原模块503,具体用于执行以下至少之一:
根据所述当前编码映射关系,根据所述像素编码数据的颜色编码数据,还原所述三维视频数据的颜色像素值;
根据所述当前编码映射关系,根据所述像素编码数据的深度值编码数据,还原所述三维视频数据的深度值像素值。
在另一些实施例中,所述还原模块503,具体用于执行以下至少之一:
根据单一像素编码方式的编码映射关系对单个像素的所述像素编码数据进行解码还原三维视频数据像素值;
根据组合像素编码方式的编码映射关系对N*M个像素的所述像素编码数据进行解码还原所述三维视频数据像素值;其中,N和M均为正整数;
其中,所述单一像素编码方式和/或所述组合像素编码方式的选择,是根据所述三维视频数据包含的像素个数和所述像素编码数据的数据个数确定的。
本实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机指令,该指令被处理器执行时实现应用于终端或者MEC服务器中的数据处理方法的步骤,例如,如图2及图3所示的方法中的一个或多个。
如图6所示,本实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现应用于终端或者MEC服务器中的数据处理方法的步骤,例如,可执行如图2至图3所示的方法中的一个或多个。
在一些实施例中,所述电子设备还包括:通信接口,该通信接口可用于与其他设备信息交互。例如,若所述电子设备为终端,该通信接口至少可与MEC服务器进行信息交互。若所述电子设备为MEC服务器,则该通信接口至少可与终端进行信息交互。
以下结合上述任意实施例提供一个具体示例:
根据当前的目标场景的实际情况以及精度需求等,动态选择映射表;手机采集完RGB后,扫描图像每个像素的RGB;如果RGB在颜色序列里,用颜色序号代替RGB数据;具体地,获得整个图像所有像素对应的RGB,然后基于预先对颜色进行的编号,用序号替换每个像素对应的RGB,然后将像素和对应的颜色序号打包上传。
对常见颜色进行按序编号,手机采集完红绿蓝(RGB)数据后,扫描图像每个像素的RGB数据,如果RGB数据在颜色序列里,用颜色序号代替RGB数据;具体地,扫描图像每个像素的RGB数据,统计出整个图像素有的RGB数据,然后对RGB排序编号,用序号替换每个像素的RGB,然后将像素和统计的RGB数据打包上传;MEC服务器和手机端保存一张映射表,当有RGB数据传输时候,水平扫描像素,如果像素是没有在映射表中,则新建一个映射(比如像素RGB-标志A[16比特]or[32比特]or[8比特]),保存到映射表,同时将RGB数据替换成16位的颜色序号,扫描完后,将映射表中变化的项和RGB数据上传,或者可以将单个像素的编码延伸到NxN个像素一起编码。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、MEC服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
- 数据处理方法、装置、电子设备及存储介质
- 门禁管理的数据处理方法、装置、电子设备与存储介质