数据传输方法、装置、设备和存储介质与流程

文档序号:24540087发布日期:2021-04-02 10:23阅读:97来源:国知局
数据传输方法、装置、设备和存储介质与流程

本申请涉及通信,具体涉及一种数据传输方法、装置、设备和存储介质。



背景技术:

点云(pointcloud)是指在三维空间中具有某些特性的点集,包括颜色、法向量、反射强度、材质等信息,并以其栩栩如生的呈现特性被引入到众多沉浸式媒体领域,例如ar/vr、3d打印、全息通信技术等。与传统的三维网格不同,点云摒弃了空间中各点之间的拓扑结构,从而实现更简单而高效的采集与呈现。点云是通过高清采集设备和深度信息采集设备(rgbd)阵列,获取几何实体的空间结构信息及相应的特征信息的点集,即点云数据。点云作为沉浸式多媒体场景表达信息的主要载体之一,可有效地表示沉浸式媒体服务中的静态实物和场景,以及动态实物和实时的场景。随着三维扫描技术和系统日趋成熟,点云数据的表面信息和深度信息等特征更加丰富,在各种图像处理领域中应用更加广泛。

目前,点云的压缩编码算法已经有了较为系统的研究,可以分为基于视频的点云编码v-pcc(video-basedpointcloudcoding)和基于几何的点云编码g-pcc(geometry-basedpointcloudcoding)。其中,基于视频的点云编码v-pcc(video-basedpointcloudcoding)压缩算法简单来讲是将点云数据分成不同的空间区域,这些空间区域在三维全局坐标系下定义并描述,再将这些空间区域映射到二维图像,使用传统的视频编码标准,比如h.265/hevc和h.266/vvc等,对映射生成的二维图像进行压缩编码,最后将包含空间区域和二维图像映射关系的空间区域信息、对应的二维图像编码数据和其它信息一起封装为点云媒体数据。

不过,点云丰富的特征信息使得即使压缩编码后点云数据量数据量巨大,如何根据用户反馈信息,实现高效的点云媒体数据传输,成为点云传输技术研究的重点之一。

以沉浸式点云游戏应用为例,一个时刻或者一个时间段内,用户在游戏中实际只需要使用部分点云数据,那么此时如果传给用户所有点云数据,一方面传输点云数据占用了比较大的带宽,另一方面因为游戏客户端需要处理大量的点云数据,对它们的性能要求也会比较高。因此,如何最大限度地减少传输的数据量,是一个亟待解决的问题。



技术实现要素:

有鉴于此,本申请实施例提供一种数据传输方法、装置、设备和存储介质,实现了根据当前状态信息有选择地传输数据,满足了用户对点云媒体实时交互体验的消费需求,以及提高了数据的传输效率。

本申请实施例提供一种数据传输方法,应用于服务器端,包括:

接收客户端发送的当前状态信息;

根据所述当前状态信息确定对应的状态依赖点云空间区域信息;

选取所述状态依赖点云空间区域信息对应的状态依赖点云空间区域数据;

将所述状态依赖点云空间区域信息和所述状态依赖点云空间区域数据发送至客户端。

本申请实施例提供一种数据传输方法,应用于客户端,包括:

将预先获取的当前状态信息发送至服务器端;

接收所述服务器端发送的与所述当前状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据;

处理所述状态依赖点云空间区域信息和状态依赖点云空间区域数据。

本申请实施例提供一种数据传输装置,应用于服务器端,包括:

接收器,设置为接收客户端发送的当前状态信息;

确定模块,设置为根据所述当前状态信息确定对应的状态依赖点云空间区域信息;

选取器,设置为选取所述状态依赖点云空间区域信息对应的状态依赖点云空间区域数据;

发送器,设置为将所述状态依赖点云空间区域信息和所述状态依赖点云空间区域数据发送至客户端。

本申请实施例提供一种数据传输装置,应用于客户端,包括:

发送器,设置为将预先获取的当前状态信息发送至服务器端;

接收器,设置为接收所述服务器端发送的与所述当前状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据;

处理器,设置为处理所述状态依赖点云空间区域信息和状态依赖点云空间区域数据。

本申请实施例提供一种设备,包括:通信模块,存储器,以及一个或多个处理器;

所述通信模块,配置为在服务器端和客户端之间进行通信交互;

所述存储器,配置为存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。

本申请实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。

附图说明

图1是本申请实施例提供的一种据传输方法的流程图;

图2是本申请实施例提供的另一种数据传输方法的流程图;

图3是本申请实施例提供的一种数据传输的交互示意图;

图4是本申请实施例提供的另一种数据传输的交互示意图;

图5是本申请实施例提供的一种基于当前状态信息选择状态依赖点云空间区域的示意图;

图6是本申请实施例提供的一种数据传输装置的结构框图;

图7是本申请实施例提供的另一种数据传输装置的结构框图;

图8是本申请实施例提供的一种数据传输设备的结构示意图。

具体实施方式

下文中将结合附图对本申请的实施例进行说明。以下结合实施例附图对本申请进行描述,所举实例仅用于解释本申请,并非用于限定本申请的范围。

在一实施例中,图1是本申请实施例提供的一种据传输方法的流程图。本实施例应用于服务器端。如图1所示,本实施例包括:s110-s140。

s110、接收客户端发送的当前状态信息。

在一实施例中,当前状态信息包括:使用客户端的用户的当前观看位置和当前观看方向;使用客户端的用户当前身体位置和用户当前身体方向;使用客户端的用户当前位置和当前运动信息;使用客户端的用户部分当前身体位置和当前动作。在一实施例中,当前状态信息可以为预先设置的状态信息,比如,客户端从预先设置的状态信息表中依次选取一个状态信息作为当前状态信息,并发送至服务器端。

在一实施例中,当前观看位置、用户身体位置、用户当前位置和用户部分身体位置的表示方式,均包括:全局坐标系中的三维坐标;

用户身体方向的表示方式,包括:以用户身体位置为原点的局部坐标系的单位向量;

当前观看方向表示方式,包括:以当前观看位置为原点的局部坐标系的单位向量。

s120、根据当前状态信息确定对应的状态依赖点云空间区域信息。

在一实施例中,状态依赖点云空间区域信息包括下述之一:空间区域数量,空间区域索引,每个空间区域的参考点,每个空间区域的形状,每个空间区域的尺寸。

s130、选取状态依赖点云空间区域信息对应的状态依赖点云空间区域数据。

s140、将状态依赖点云空间区域信息和状态依赖点云空间区域数据发送至客户端。

在实施例中,服务器端根据接收到的当前状态信息,确定对应的状态依赖点云空间区域信息,并从自身媒体库中选取与状态依赖点云空间区域信息对应的状态依赖点云空间区域数据,并将状态依赖点云空间区域数据发送至客户端,以使客户端只需对与当前状态信息对应的状态依赖点云空间区域数据进行处理,从而减少了服务器端传输的数据量,以及提高了客户端对数据的处理效率。

在一实施例中,在接收客户端发送的当前状态信息之前,还包括:

接收客户端发送的媒体资源请求;

向客户端发送媒体资源请求对应的媒体资源描述信息。

在一实施例中,媒体资源描述信息包括:状态依赖标识符和媒体资源初始信息;状态依赖标识符用于指示媒体资源描述信息对应的媒体资源是否包含媒体资源初始信息对应的状态依赖点云空间区域数据。

在一实施例中,媒体资源初始信息包括:初始状态信息和状态依赖点云空间区域信息。

在一实施例中,初始状态信息包括下述之一:媒体资源初始观看信息;使用客户端的用户身体初始位置信息和身体初始方向;使用客户端的用户初始位置和初始运动信息;使用客户端的用户部分身体初始位置和初始动作;客户端上一次使用当前媒体资源时的最后状态信息;

媒体资源初始观看信息包括下述之一:用户初始观看位置和用户初始观看方向。

在一实施例中,用户初始观看位置、使用客户端的用户身体初始位置信息、使用客户端的用户初始位置和使用客户端的用户部分身体初始位置的表示方式,均包括:全局坐标系中的三维坐标;

用户初始观看方向的表示方式,包括:以用户初始观看位置为原点的局部坐标系的单位向量;

使用客户端的用户身体初始方向的表示方式,包括:以使用客户端的用户身体初始位置为原点的局部坐标系的单位向量。在一实施例中,应用于服务器端的数据传输方法还包括:

接收客户端发送的与初始状态信息所对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据的请求;

向客户端发送与初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

图2是本申请实施例提供的另一种数据传输方法的流程图。本实施例应用于客户端。如图2所示,本实施例包括:s210-s230。

s210、将预先获取的当前状态信息发送至服务器端。

s220、接收服务器端发送的与当前状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

s230、处理状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,在将预先获取的当前状态信息发送至服务器端之前,还包括:

向服务器端发送媒体资源请求;

接收服务器端发送的与媒体资源请求对应的媒体资源描述信息。

在一实施例中,媒体资源描述信息包括:状态依赖标识符和媒体资源初始信息;状态依赖标识符用于指示媒体资源描述信息对应的媒体资源是否包含媒体资源初始信息对应的状态依赖点云空间区域数据。

在一实施例中,媒体资源初始信息包括:初始状态信息和状态依赖点云空间区域信息。

在一实施例中,在将预先获取的当前状态信息发送至服务器端之前,还包括:

接收服务器端发送的与初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,图3是本申请实施例提供的一种数据传输的交互示意图。本实施例对客户端和服务器端之间的数据交互过程进行说明。如图3所示,本实施例包括:s310-s340。在实际通信过程中,在客户端使用当前媒体资源的情况下,s310-s340可以循环执行。

s310、客户端向服务器端反馈当前状态信息。

在实施例中,当前状态信息可以是使用客户端的用户当前的状态,比如用户观看位置和方向,或用户身体位置和朝向,或用户位置和运动信息,可以是预先设置的状态信息。

s320、服务器端根据当前状态信息设置状态依赖点云空间区域信息,并获取状态依赖点云空间区域信息对应的状态依赖点云空间区域数据。

在实施例中,状态依赖点云空间区域数据是指按照预先设定的规则,依据当前状态信息从点云数据中选取的部分点云空间区域数据。

其中,预先设定的规则可以是服务器端选择向客户端发送的用户在观看位置并以观看方向观看点云时,可以观看到的点云空间区域数据,其中,只要点云空间里有能够被用户观看到的点,此点云空间即被标记为可以观看到。比如,服务器端根据用户观看位置和观看方向,选择用户可以观看到的状态依赖点云空间区域信息和状态依赖点云空间区域数据发送至客户端,以使客户端对状态依赖点云空间区域信息和状态依赖点云空间区域数据解码呈现。

s330、服务器端向客户端发送状态依赖点云空间区域信息和状态依赖点云空间区域数据。

s340、客户端接收并处理状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,图4是本申请实施例提供的另一种数据传输的交互示意图。本实施例以在客户端和服务器端之间传输初始状态信息对应的点云媒体数据为例,对客户端和服务器端之间的数据交互过程进行说明。如图4所示,本实施例包括:s410-450。

s410、客户端向服务器端发送媒体资源请求。

其中,媒体资源是指点云媒体数据。在实施例中,媒体资源可以是一个场景下的点云媒体数据,也可以是多个场景下的点云媒体数据组合。

s420、服务器端向客户端发送媒体资源描述信息。

在实施例中,媒体资源描述信息包含状态依赖标识符(statusdependentflag)与媒体资源初始信息。

其中,状态依赖标识符用于指示媒体资源描述信息对应的媒体资源是否包含初始信息对应的状态依赖点云空间区域数据。

其中,媒体资源初始信息包含初始状态信息和状态依赖点云空间区域信息。

其中,初始状态信息可以是媒体资源初始观看信息,即观看位置和观看方向。

其中,状态依赖点云空间区域信息用于指示部分点云区域,并且,状态依赖点云空间区域信息只在媒体资源包含状态点云区域数据的情况下存在。

s430、客户端向服务器端请求初始状态信息对应的状态依赖点云空间区域数据。

s440、服务器端向客户端发送初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

s450、客户端接收并处理初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,在客户端需要使用新的媒体资源的情况下,重新执行s410至s450。

在一个实施例中,服务器端根据媒体资源描述信息中的初始状态信息向客户端发送部分点云媒体数据。可以理解为,客户端无需向服务器端请求,服务器端即可直接向客户端发送媒体资源描述信息,即直接执行s420至s450。

在一个实施例中,服务器端根据媒体资源描述信息中的初始状态信息向客户端发送部分点云媒体数据。可以理解为,客户端无需向服务器端请求,服务器端即可直接向客户端发送媒体资源描述信息和初始状态信息对应的状态依赖点云空间区域数据,即直接执行s440至s450。

在一个实施例中,客户端向服务器端请求媒体资源的情况下,执行s410至s450;客户端在使用媒体资源的情况下,循环执行s310至s340。在客户端需要向服务器端请求新的媒体资源的情况下,再次执行s410至s450。

在一个实施例中,当前状态信息可以是使用客户端的用户当前观看位置和当前观看方向;也可以是使用客户端的用户身体位置和用户身体朝向;也可以是使用客户端的用户当前位置和运动信息;也可以使用客户端的用户部分身体位置和动作。示例性地用户部分身体动作可以为手部位置和手部动作类型。

在实施例中,上述所有位置(比如,用户当前观看位置,用户身体位置,用户当前位置,用户部分身体位置)可以使用全局坐标系(globalcoordinateaxes)的三维坐标来表示。上述所有观看方向(比如,用户当前观看方向,用户身体朝向)可以使用以位置为原点的局部坐标系的单位向量来表示。

在一个实施例中,当前状态信息可以是用户当前观看位置、用户当前观看方向和用户当前观看区域形状,根据这三个信息,服务器端可以唯一确定用户观看的区域。用户当前观看区域的形状类型可以是长方体结构、平截头体结构、圆截头体结构、球体区域结构。

在一个实施例中,初始状态信息可以是预设的上述所有状态信息的其中一种;也可以是客户端上一次使用当前媒体资源时的最后状态信息。

在一个实施例中,状态依赖点云空间区域信息可以包括下述之一:空间区域数量,空间区域索引,每个空间区域的形状,每个空间区域的参考点(anchor),每个空间区域的尺寸。

在一实施例中,空间区域数量是指状态依赖点云区域数据里含有媒体资源中部分点云的空间区域的数量,可以是一个也可以是多个。

在一实施例中,空间区域索引是指状态依赖点云区域数据里包含部分点云的空间区域在媒体资源中的点云空间区域标识符。服务器端可以通过空间区域索引在媒体资源中检索到对应的空间区域数据,并将这些空间区域数据组成为状态依赖点云空间区域数据。

在一实施例中,空间区域的形状、空间区域的参考点和空间区域的尺寸定义三维坐标系下的一个空间区域。比如,空间区域的形状可以是立方体,空间区域的参考点可以是立方体的中心点,并使用全局坐标系中的三维坐标表示,空间区域的尺寸可以是立方体区域的长、宽、高。再比如,空间区域的形状是立方体,空间区域的参考点可以是立方体任一顶点,空间区域的尺寸可以是立方体区域的长、宽、高。再比如,空间区域的形状是球形,空间区域的参考点是球心,空间区域的尺寸是球的半径。

在一个实施例中,根据当前状态信息选取状态依赖点云空间区域数据的规则,可以是设定用户观看区域形状,比如长方体结构、平截头体结构、圆截头体结构、球体区域结构。比如,服务器端可以根据用户观看位置和用户观看方向,以不同的形状去选取观看点云空间区域。

在一个实施例中,根据当前状态信息选取状态依赖点云空间区域数据的规则,可以是根据用户的当前位置信息、当前朝向信息和运动信息决定的用户运动的下一个状态,并选取状态依赖点云空间区域数据。比如,用户的运动信息是运动方向和运动距离,那么,可以利用用户的当前位置信息,朝向信息、运动方向和运动距离确定用户的下一个位置和朝向,这样就可以根据新的位置和朝向确定对应的状态依赖点云空间区域数据。

在一个实施例中,根据当前状态信息选取状态依赖点云空间区域数据的规则,可以是根据用户手部位置和手部动作来决定手部触碰的空间区域作为状态依赖点云空间区域数据,比如手部在当前手部位置上有抓取动作,可以选取手部抓取的点云空间区域作为状态依赖点云空间区域。

在一个实施例中,客户端可以向服务器端请求多于实际需求的空间区域,服务器端也可以向客户端下发多余实际需求的空间区域。比如,客户端实际需要一个3×3×3的空间区域,其中3是指全局坐标系下3个单位坐标值,但客户端可以向服务器端请求一个5×5×5的空间区域,其中5是指全局坐标系下5个单位坐标值,。

在一个实施例中,状态依赖点云空间区域信息和状态依赖点云空间区域数据可以叠加。比如,客户端先向服务器端申请可以在视点a处以方向a观看的点云区域空间数据,服务器发送对应状态依赖点云空间区域信息a和状态依赖点云空间区域数据a给客户端,客户端在解码显示完此状态依赖点云空间区域数据a后保留此信息a和数据a,客户端再向服务器端申请可以在视点b处以方向b观看的点云区域空间数据,服务器发送对应状态依赖点云空间区域信息b和状态依赖点云空间区域数据b给客户端,客户端在解码显示完此状态依赖点云空间区域数据b后保留此信息b和数据b,同时将信息a和信息b叠加为新的信息c,数据a和数据b叠加为新的数据c,这样,服务器端可以通过上述叠加的方式渐进传输点云空间区域数据给客户端,客户端也可以通过这种叠加的方式向服务器端渐进请求传输点云空间区域数据。

在一个实施例中,点云空间区域数据可以采用多帧点云融合编码(combineframecoding)方式。

在一个实施例中,本实施例是对上述实施例中媒体资源描述信息的实现方式进行说明,媒体资源描述信息用于向接收端和应用程序通知承载点云内容的当前媒体资源的内容,包含状态依赖标识符与媒体资源初始信息。示例性地,媒体资源描述信息的一种实现方式如下:

其中,descriptor_tag:用于表示媒体资源描述信息的类型。

descriptor_length:用于指定从该字段的下一个字节到媒体资源描述信息的最后一个字节的字节长度。

statusdependent_flag:用于指示媒体资源描述信息对应的媒体资源初始信息是否包含初始状态信息对应的状态依赖点云空间区域数据,比如,statusdependent_flag为1时,表示媒体资源含有状态依赖点云空间区域数据,statusdependent_flag为0时,表示媒体资源不含有状态依赖点云空间区域数据。

initialstatusinformation():用于表示媒体资源的初始状态信息。

sd_spatialregionsstruct():用于表示状态依赖点云空间区域信息,即点云媒体内容中部分区域的信息。在statusdependent_flag等于1的情况下,sd_spatialregionsstruct才存在。

示例性地,图5是本申请实施例提供的一种基于当前状态信息选择状态依赖点云空间区域的示意图。其中,在当前状态信息是指用户视点信息(即使用客户端的用户当前观看位置和当前观看方向)的情况下,媒体资源描述信息的实现方式如下:

其中,v3c是visualvolumetricvideo-basedcoding的缩写,信息参数均与观看视点相关。

descriptor_tag:用于表示媒体资源描述信息的类型。

descriptor_length:用于指定从该字段的下一个字节到媒体资源描述信息的最后一个字节的字节长度。

viewdependent_flag:用于指示媒体资源描述信息对应的媒体资源初始信息是否包含初始状态信息对应的视点依赖点云空间区域数据。比如,viewdependent_flag为1时,表示媒体资源含有视点依赖点云空间区域数据,viewdependent_flag为0时,表示媒体资源不含有视点依赖点云空间区域数据。

initialviewinformation():用于表示媒体资源的初始视点信息。

vd_spatialregionsstruct():用于表示视点依赖点云空间区域信息,即点云媒体内容中部分区域的信息。在viewdependent_flag等于1的情况下,vd_spatialregionsstruct才存在。

在一个实施例中,本实施例是对上述实施例中状态依赖点云空间区域信息的实现方式进行说明。示例性地,状态依赖点云空间区域信息的实现方式如下:

其中,num_sd_regions:用于表示状态依赖点云空间区域数据中包含的点云空间区域的数量,可以是一个也可以是多个。

3dspatialregionstruct():用于表示点云空间区域信息。在实施例中,每个空间都有对应的区域信息,点云空间区域信息可以包括空间区域的形状、空间区域的参考点和空间区域的尺寸。示例性地,点云空间区域信息的实现方式如下:

其中,3d_region_id:用于表示空间区域标志符。在实施例中,利用空间区域标志符可以确定不同的点云空间区域。

region_shape:用于表示空间区域的形状。示例性地,region_shape0时,表示立方体,region_shape为1时,表示球形,其它值保留。

anchor:用于表示空间区域的参考点,可以使用全局坐标系下的三维坐标表示。示例性地,空间区域的参考点实现方式如下:

其中,x:空间区域的参考点在全局坐标系中的x坐标值。

y:空间区域的参考点在全局坐标系中的y坐标值。

z:空间区域的参考点在全局坐标系中的z坐标值。

在一实施例中,在空间区域的形状是立方体的情况下,空间区域的尺寸的实现方式如下:

其中,cuboid_dx,cuboid_dy,cuboid_dz分别表示以空间区域的参考点为坐标原点的局部坐标系中的立方体区域相对于参考点沿局部坐标系x,y和z轴的尺寸。

在一实施例中,在空间区域的形状是球体的情况下,空间区域的尺寸的实现方式如下:

aligned(8)classsphereregionstruct(){

unsignedint(16)sphere_r;

}

其中,sphere_r表示以球形空间区域的半径。

在一个实施例中,本实施例是对上述实施例中当前状态信息的实现方式进行说明。示例性地,当前状态信息可以包括:用户的当前观看位置及用户的当前观看方向,实现方式如下:

其中,posx:用于指示当前观看位置在全局坐标系中的x轴坐标值。

posy:用于指示当前观看位置在全局坐标系中的y轴坐标值。

posz:用于指示当前观看位置在全局坐标系中的z轴坐标值。

dirx:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的x轴坐标值。

diry:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的y轴坐标值。

dirz:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的z轴坐标值。

以上位置信息和方向信息也可以用于指示用户位置和朝向信息。

在一实施例中,针对上述客户端向服务器端发送的用户反馈信息,以(iso/iec23008-1mpegmediatransport,mmt)传输协议和(smartmediatransport,smt)传输协议对用户反馈信息的传输进行说明。

一个实施例中,使用mmt传输协议传输iso/iec23090-10格式的v3c点云内容,实现基于用户反馈信息的点云媒体内容的消费,需要根据iso/iec23090-10规范定义v3cinformationdescriptor和点云特定应用的信令,其中应用信令消息是针对应用程序定义,允许传递针对于应用程序的信息。

为了支持使用mmt传送v3c内容,将单个点云空间区域数据以isobmffv3c容器形式写入资源(asset)中,再将一个或者多个资源封装为数据包(packet)。每个数据包中包含该点云空间区域对应的所有多轨道内容的资源数据。为了使用mmt以媒体流的形式传输v3c编码的数据,v3c特定的信令消息定义如下:v3c特定的信令消息应具有urn值为“urn:mpeg:mmt:app:v3c:2020”的应用标识符。

在特定应用程序信令消息中,定义了以下应用消息:

v3cstatuschangefeedback:用于客户端向服务器端传输当前状态信息;

v3cstatusdependentpacketinformation:用于服务器端向客户端指示状态依赖点云空间区域数据所在的点云媒体数据包的数量、数据包索引信息以及对应的状态依赖点云空间区域信息。

示例性地,基于mmt传输协议的v3cinformationdescriptor的实现方式如下:

v3cinformationdescriptor定义用于向接收端和应用程序通知承载点云内容的当前内体资源的内容,包含状态依赖标识符与媒体资源初始信息,如表1所示。

表1一种v3c媒体资源描述信息的实现方式示意表

其中,descriptor_tag:用于表示媒体资源描述信息的类型。

descriptor_length:用于指定从该字段的下一个字节到媒体资源描述信息的最后一个字节的字节长度。

statusdependent_flag:用于指示媒体资源描述信息对应的媒体资源初始信息是否包含初始状态信息对应的状态依赖点云空间区域数据。比如,statusdependent_flag为1时,表示媒体资源含有状态依赖点云空间区域数据,statusdependent_flag为0时,表示媒体资源不含有状态依赖点云空间区域数据。

initialstatusinformation():用于表示媒体资源的初始状态信息。

sd_spatialregionsstruct():用于表示状态依赖点云空间区域信息,即点云媒体内容中部分区域的信息。在statusdependent_flag等于1的情况下,sd_spatialregionsstruct才存在。

v3cstatuschangefeedback定义用于客户端向服务器端提供当前状态信息的信令。示例性地,加入用户实时位置及观看方向信息的示例如表2所示。

表2一种v3c包含当前状态信息的应用消息的实现方式示意表

其中,message_id:v3c包含当前状态信息的应用消息的标识符。

version:用于表示状态依赖点云空间区域信息的版本。新的版本所携带的信息将覆盖任何之前的旧版本。

length:用于包含了以字节计算的包含当前状态信息的应用消息的长度,即从下一字段起直到包含当前状态信息的应用消息的最后一个字节的长度。“0”值在此字段无效。

app_message_type:应用消息类型。详见表4。

posx:用于指示当前观看位置在全局坐标系中的x轴坐标值。

posy:用于指示当前观看位置在全局坐标系中的y轴坐标值。

posz:用于指示当前观看位置在全局坐标系中的z轴坐标值。

dirx:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的x轴坐标值。

diry:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的y轴坐标值。

dirz:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的z轴坐标值。

在一实施例中,v3cstatusdependentpacketinformation定义用于服务器端向客户端指示包含状态依赖点云空间区域数据的媒体数据包数量和状态依赖点云空间区域信息。示例如表3。

表3一种v3c包含状态依赖点云空间区域信息的应用消息示意表

其中,message_id:用于表示包含状态依赖点云空间区域信息的应用消息的标识符。

version:用于表示状态依赖点云空间区域信息的版本。新的版本所携带的信息将覆盖任何之前的旧版本。

length:用于表示包含了以字节计算的包含状态依赖点云空间区域信息的应用消息的长度,即从下一字段起直到包含状态依赖点云空间区域信息的应用消息的最后一个字节的长度。“0”值在此字段无效。

app_message_type:用于表示应用消息类型。详见表4。

num_packet:用于表示包含状态依赖点云空间区域数据的媒体数据包数量。

packet_id:用于表示包含状态依赖点云空间区域数据的媒体数据包索引信息。

sd_spatialregionsstruct():表示状态依赖点云空间区域信息。

在一实施例中,已定义的应用消息类型如下表4所示。

表4一种v3c应用消息类型的示意表

一个实施例中,使用信息技术新型多媒体编码第6部分:智能媒体传输(informationtechnology-advancedmediacoding-part6:smartmediatransportsmt)传输协议传输点云内容,实现基于用户反馈信息的点云媒体内容的消费,需要根据定义媒体资源信息描述和点云特定应用的信令,其中应用信令消息是针对应用程序定义,允许传递针对于应用程序的信息。

为了支持使用smt传送容积视频内容,将单个点云三维空间区域以容积视频容器形式写入资源(asset)中,再将一个或者多个资源封装为数据包(packet)。每个数据包中包含该点云空间区域对应的所有多轨道内容的资源数据。

在实施例中,smt定义了特定于应用程序的信令消息,该消息允许传递特定于应用程序的信令。为了使用smt流传输容积视频编码的数据,容积视频特定的信令消息定义如下。

在特定应用程序信令消息中,定义了以下应用消息:

当前状态信息:用于客户端向服务器端传输当前状态信息;

状态依赖点云空间区域信息:用于服务器端向客户端指示包含状态依赖点云空间区域数据的数据包数量、数据包索引信息以及对应的状态依赖点云空间区域数据。

媒体资源描述信息:用于向smt点云接收实体和应用程序告知关于当前携带点云媒体内容的基本信息,其中,媒体资源描述信息包含状态依赖标识符和媒体资源初始信息。

在实施例中,采用smt传输协议实现的媒体资源描述信息的实现方式示意表,如表5所示。

表5一种媒体资源描述信息的实现方式示意表

其中,descriptor_tag:表示媒体资源描述信息的类型。

descriptor_length:指定从该字段的下一个字节到媒体资源描述信息的最后一个字节的字节长度。

reserved:保留字节位。

statusdependent_flag:用于指示媒体资源描述信息对应的媒体资源初始信息是否包含初始状态信息对应的状态依赖点云空间区域数据。比如,satusdependent_flag为1时,表示媒体资源含有视点依赖点云空间区域数据,statusdependent_flag为0时,表示媒体资源不含有状态依赖点云空间区域数据。。

initialstatusinformation():用于表示媒体资源的初始状态信息。

sd_spatialregionsstruct():用于表示状态依赖点云空间区域信息,即点云媒体内容中部分区域的信息。

在一实施例中,在利用当前状态信息提供点云媒体消费的情况下,服务器端与客户端之间对当前状态信息进行传输。当点云媒体消费中的服务器端与客户端之间需要发送当前状态信息的情况下,使用此消息进行会话。smt接收实体会定期地向smt发送实体反馈虚拟摄像机或用户的位置及方向信息,以便客户端获取相应的部分点云媒体数据。在实施例中,采用smt传输协议实现的当前状态信息的实现方式示意表,如表6所示。

表6一种包含当前状态信息的应用消息实现方式示意表

其中,message_id:用于表示当前状态信息的标识符。

version:用于表示当前状态信息的版本。新的版本所携带的信息将覆盖任何之前的旧版本。

length:用于指示包含了以字节计算的当前状态信息的长度,即从下一字段起直到当前状态信息的最后一个字节的长度。“0”值在此字段无效。

message_source:用于指示消息源,0表示当前状态信息是客户端发往服务器端,1表示当前状态信息是服务器端发往客户端。该值此处置0。

reserved:保留字节位。

posx:用于指示当前观看位置在全局坐标系中的x轴坐标值。

posy:用于指示当前观看位置在全局坐标系中的y轴坐标值。

posz:用于指示当前观看位置在全局坐标系中的z轴坐标值。

dirx:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的x轴坐标值。

diry:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的y轴坐标值。

dirz:用于指示当前观看方向,在以当前观看位置为原点的局部坐标系中的z轴坐标值。

在一实施例中,定义用于服务器端向客户端指示状态依赖点云空间区域信息。在本方案中,需要额外加入状态依赖点云空间区域信息。在实施例中,采用smt传输协议实现的状态依赖点云空间区域信息的实现方式示意表,如表7所示。

表7一种包含状态依赖点云空间区域信息的应用消息的实现方式示意表

其中,message_id:用于表示状态依赖点云空间区域信息的标识符。

version:用于表示状态依赖点云空间区域信息的版本。新的版本所携带的信息将覆盖任何之前的旧版本。

length:用于表示包含了以字节计算的当前状态信息的长度,即从下一字段起直到当前状态信息的最后一个字节的长度。“0”值在此字段无效。

message_source:用于表示指示消息源,0表示当前状态信息是客户端发往服务器端,1表示当前状态信息是服务器端发往客户端。该值此处置1。

reserved:保留字节位。

num_packet:用于表示包含状态依赖点云空间区域数据的媒体数据包数量。

packet_id:用于表示包含状态依赖点云空间区域数据的媒体数据包索引信息。

sd_spatialregionsstruct():用于表示状态依赖点云空间区域信息。

在一实施例中,图6是本申请实施例提供的一种数据传输装置的结构框图。本实施例可以由服务器端执行,如图6所示,本实施例包括:接收器510、确定模块520、选取器530和发送器540。

其中,接收器510,设置为接收客户端发送的当前状态信息;

确定模块520,设置为根据当前状态信息确定对应的状态依赖点云空间区域信息;

选取器530,设置为选取状态依赖点云空间区域信息对应的状态依赖点云空间区域数据;

发送器540,设置为将状态依赖点云空间区域信息和状态依赖点云空间区域数据发送至客户端。

在一实施例中,应用于服务器端的数据传输装置,包括:

接收器,还设置为在接收客户端发送的当前状态信息之前,接收客户端发送的媒体资源请求;

发送器,还设置为向客户端发送媒体资源请求对应的媒体资源描述信息。

在一实施例中,媒体资源描述信息包括:状态依赖标识符和媒体资源初始信息;状态依赖标识符用于指示媒体资源描述信息对应的媒体资源是否包含媒体资源初始信息对应的状态依赖点云空间区域数据。

在一实施例中,媒体资源初始信息包括:初始状态信息和状态依赖点云空间区域信息。

在一实施例中,初始状态信息包括下述之一:媒体资源初始观看信息;使用客户端的用户身体初始位置信息和身体初始方向;使用客户端的用户初始位置和初始运动信息;使用客户端的用户部分身体初始位置和初始动作;客户端上一次使用当前媒体资源时的最后状态信息;

媒体资源初始观看信息包括下述之一:用户初始观看位置和用户初始观看方向。

在一实施例中,应用于服务器端的数据传输装置,还包括:

接收器,还设置为接收客户端发送的与所述初始状态信息所对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据的请求;

发送器,还设置为向客户端发送与初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,当前状态信息包括:使用客户端的用户的当前观看位置和当前观看方向;使用客户端的用户当前身体位置和用户当前身体方向;使用客户端的用户当前位置和当前运动信息;使用客户端的用户部分当前身体位置和当前动作。

在一实施例中,当前观看位置、用户身体位置、用户当前位置和用户部分身体位置和用户初始观看位置的表示方式,均包括:全局坐标系中的三维坐标;

用户初始观看方向的表示方式,包括:以用户初始观看位置为原点的局部坐标系的单位向量;用户身体方向的表示方式,包括:以用户身体位置为原点的局部坐标系的单位向量;

当前观看方向表示方式,包括:以当前观看位置为原点的局部坐标系的单位向量。

在一实施例中,状态依赖点云空间区域信息包括下述之一:空间区域数量,空间区域索引,每个空间区域的参考点,每个空间区域的形状,每个空间区域的尺寸。

本实施例提供的数据传输装置设置为实现图1所示实施例的数据传输方法,本实施例提供的数据传输装置实现原理和技术效果类似,此处不再赘述。

在一实施例中,图7是本申请实施例提供的另一种数据传输装置的结构框图。本实施例可以由客户端执行,如图7所示,本实施例包括:发送器610、接收器620和处理器630。

其中,发送器610,设置为将预先获取的当前状态信息发送至服务器端;

接收器620,设置为接收服务器端发送的与当前状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据;

处理器630,设置为处理状态依赖点云空间区域信息和状态依赖点云空间区域数据。

在一实施例中,应用于客户端的数据传输装置,还包括:

发送器,还设置为在将预先获取的当前状态信息发送至服务器端之前,向服务器端发送媒体资源请求;

接收器,还设置为接收服务器端发送的与媒体资源请求对应的媒体资源描述信息。

在一实施例中,媒体资源描述信息包括:状态依赖标识符和媒体资源初始信息;状态依赖标识符用于指示媒体资源描述信息对应的媒体资源是否包含媒体资源初始信息对应的状态依赖点云空间区域数据。

在一实施例中,媒体资源初始信息包括:初始状态信息和状态依赖点云空间区域信息。

在一实施例中,应用于客户端的数据传输装置,还包括:

发送器,还设置为向服务器端发送与所述初始状态信息所对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据的请求;

接收器,还设置为在将预先获取的当前状态信息发送至服务器端之前,接收服务器端发送的与初始状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据。

本实施例提供的数据传输装置设置为实现图2所示实施例的数据传输方法,本实施例提供的数据传输装置实现原理和技术效果类似,此处不再赘述。

图8是本申请实施例提供的一种数据传输设备的结构示意图。如图8所示,本申请提供的数据传输设备,包括:处理器710、存储器720和通信模块730。该数据传输设备中处理器710的数量可以是一个或者多个,图8中以一个处理器710为例。该数据传输设备中存储器720的数量可以是一个或者多个,图8中以一个存储器720为例。该数据传输设备的处理器710、存储器720和通信模块730可以通过总线或者其他方式连接,图8中以通过总线连接为例。在该实施例中,该数据传输设备为可以为服务器端(比如,基站)。

存储器720作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请任意实施例的数据传输设备对应的程序指令/模块(例如,数据传输装置中的接收器510、确定模块520、选取器530和发送器540)。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信模块730,设置为用于在服务器端和客户端之间进行通信交互。

上述提供的数据传输设备可设置为执行上述任意实施例提供的应用于服务器端的数据传输方法,具备相应的功能和效果。

在数据传输设备为客户端(比如,用户设备)的情况下,上述提供的数据传输设备可设置为执行上述任意实施例提供的应用于客户端的数据传输方法,具备相应的功能和效果。

本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种应用于服务器端的数据传输方法,该方法包括:接收客户端发送的当前状态信息;根据当前状态信息确定对应的状态依赖点云空间区域信息;选取状态依赖点云空间区域信息对应的状态依赖点云空间区域数据;将状态依赖点云空间区域信息和状态依赖点云空间区域数据发送至客户端。

本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种应用于客户端的数据传输方法,该方法包括:将预先获取的当前状态信息发送至服务器端;接收服务器端发送的与当前状态信息对应的状态依赖点云空间区域信息和状态依赖点云空间区域数据;处理状态依赖点云空间区域信息和状态依赖点云空间区域数据。

本领域内的技术人员应明白,术语用户设备涵盖任何适合类型的无线用户设备,例如移动电话、便携数据处理装置、便携网络浏览器或车载移动台。

一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。

本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(instructionsetarchitecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。

本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(read-onlymemory,rom)、随机访问存储器(randomaccessmemory,ram)、光存储器装置和系统(数码多功能光碟(digitalvideodisc,dvd)或光盘(compactdisk,cd))等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑器件(field-programmablegatearray,fgpa)以及基于多核处理器架构的处理器。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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