掌桥专利:专业的专利平台
掌桥专利
首页

多视点视频的数据传输方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:20:42



技术领域

本申请实施例涉及网络媒体技术领域,特别涉及一种多视点视频的数据传输方法、装置、设备及存储介质。

背景技术

目前,多视点视频被得到广泛运用。例如,多视点视频被运用于互动视频、互动综艺、互动影像游戏等应用场景中。同时,多视点视频的数据传输方式也越来越被人们关注。

在相关技术中,通过多视点视频编码技术对多视点视频的视频数据进行编码,然后对多视点视频的视频数据进行传输。例如,通过参考加强视点的视频数据对其邻近视点的视频数据进行编码处理,以实现其邻近视点的视频数据的编码。其中,加强视点是指用于编码其他视点的视频数据所参考的视点。

然而,在网络拥塞的情况下,若加强视点的视频数据丢失,则大量以该加强视点为参考的视点将解码失败,解码还原率低。

发明内容

本申请实施例提供了一种多视点视频的数据传输方法、装置、设备及存储介质,能够实现加强视点的视频数据优先被传输,保证了解码过程中,加强视点的视频数据的完整性,进而确保以该加强视点为参考的视点能够进行解码,从而提高解码还原率。所述技术方案如下:

根据本申请实施例的一个方面,提供了一种多视点视频的数据传输方法,所述方法包括:

获取多视点视频的视点参考结构,所述视点参考结构用于表示所述多视点视频中各个视点的视频数据之间的编码参考关系;

基于所述视点参考结构,确定所述各个视点的优先级;

基于所述各个视点的优先级,对所述各个视点的视频数据进行传输。

根据本申请实施例的一个方面,提供了一种多视点视频的数据传输装置,所述装置包括:

参考结构获取模块,用于获取多视点视频的视点参考结构,所述视点参考结构用于表示所述多视点视频中各个视点的视频数据之间的编码参考关系;

优先级确定模块,用于基于所述视点参考结构,确定所述各个视点的优先级;

视频数据传输模块,用于基于所述各个视点的优先级,对所述各个视点的视频数据进行传输。

根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述多视点视频的数据传输方法。

根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述多视点视频的数据传输方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述多视点视频的数据传输方法。

本申请实施例提供的技术方案可以包括如下有益效果:

通过视点参考结构确定各个视点的优先级,基于各个视点的优先级对多视点视频的视频数据进行传输,实现重要视点的视频数据可以优先被传输,保证了在解码过程中,重要视点的完整性,从而保证以重要视点为参考的视点的视频数据能够进行解码,进而提高解码还原率。

附图说明

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

图1是本申请一个实施例提供的方案实施环境的示意图;

图2是本申请一个实施例提供的多视点视频的数据传输方法的流程图;

图3和图4是本申请实施例提供的多视点视频的各个视点的示意图;

图5是本申请一个实施例提供的各个视点的关系和优先级的示意图;

图6是本申请另一个实施例提供的多视点视频的数据传输方法的流程图;

图7是本申请一个实施例提供的传输流包生成的示意图;

图8是本申请一个实施例提供的多视点视频的数据传输过程的示意图;

图9是本申请一个实施例提供的基本码流包集合生成的示意图;

图10是本申请一个实施例提供的多视点视频的数据传输装置的框图;

图11是本申请另一个实施例提供的多视点视频的数据传输装置的框图;

图12是本申请一个实施例提供的计算机设备的框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以实现成为一个多视点视频的数据传输系统的架构。该实施环境可以包括:生产者终端11、服务器12和消费者终端13。

生产者终端11是指视频生产者使用的终端设备。生产者终端11可以是诸如平板电脑、多媒体播放设备、PC(Personal Computer,个人计算机)等电子设备。生产者终端11中可以安装目标应用程序的客户端,视频生产者可以通过该客户端进行多视点视频的制作、编码、上传等操作。上述目标应用程序可以是任何提供多视点视频制作、编码、上传等服务的应用程序,如互动视频制作类应用程序、广告制作类应用程序、在线直播类应用程序等,本申请实施例对此不做限定。

服务器12可用于对多视点视频的视频数据进行优先级提取、筛选、封装等处理,并将其下发至消费者终端13中。可选地,服务器12还可用于存储多视点视频的视频数据。服务器12可以包括一个或多个服务器120。

消费者终端13是指视频消费者使用的终端设备。消费者终端13可以是诸如手机、平板电脑、多媒体播放设备、PC(Personal Computer,个人计算机)、可穿戴设备等电子设备。消费者终端11中可以安装目标应用程序的客户端。例如,该目标应用程序可以是互动视频类应用程序、生活服务类应用程序、在线教育类应用程序、电商购物类应用程序以及任何具有多视点视频浏览功能的应用程序,本申请实施例对此不做限定。视频消费者可以通过消费者终端13对多视点视频进行浏览。例如,该多视点视频可以包括互动视频、互动综艺、互动影像游戏等,视频消费者还可以通过消费者终端13对多视点视频进行互动操作。

生产者终端11与服务器12之间通过网络进行互相通信。服务器12和消费者终端13之间通过网络进行互相通信。

请参考图2,其示出了本申请一个实施例提供的多视点视频的数据传输方法的流程图。该方法可应用于上文介绍的服务器12中。该方法可以包括如下几个步骤(201~203):

步骤201,获取多视点视频的视点参考结构,视点参考结构用于表示多视点视频中各个视点的视频数据之间的编码参考关系。

多视点视频是指是由摄像机阵列在同一时刻从不同角度对同一场景进行拍摄得到的一组视频序列,即多视点视频可以包括多个视点的视频数据。例如,参考图3,该多视点视频可以包括视点301、视点302、视点303、视点304、视点305、视点306、视点307、视点308和视点309的视频数据。

可选地,多视点视频可以被用于制作互动视频、互动综艺、互动影像游戏等视听内容。例如,以互动视频为例。基于多视点视频,互动视频可以具有视点切换、画面互动等交互能力。可选地,多视点视频还可被应用于体育竞技、在线教育、电商购物、互联网广告等领域中,本申请实施例对此不作限定。

视点参考结构是指在对多视点视频的视频数据进行编码的过程中,各个视点的视频数据之间的编码参考结构。例如,以MVC(Multi-view Video Coding,多视点视频编码)技术为例。在确定加强视点A之后,对加强视点A的视频数据进行单独编码。与加强视点A邻近的视点B和视点C可以基于加强视点A进行视频数据编码。例如,对视点B与加强视点A的视频数据之间的残差数据进行编码传输,对视点C与加强视点A的视频数据之间的残差数据进行编码传输。则该视点参考结构可以包括视点B和视点C参考视点A。其中,加强视点是指用于编码其他视点的视频数据所参考的视点。

可选地,通过视点参考结构可以获取多视点视频中各个视点的视频数据之间的编码参考关系,进而在解码过程中,可以解码出各个视点的视频数据。例如,通过上述加强视点A的视频数据和视点B与加强视点A之间的残差数据,即可得到视点B的视频数据。

步骤202,基于视点参考结构,确定各个视点的优先级。

在本申请实施例中,优先级用于表示视点在编解码过程中的重要程度。可选地,优先级与视点在编解码过程中的重要程度呈正相关关系。例如,优先级高的视点的重要程度高于优先级低的视点的重要程度,即优先级高的视点的视频数据比优先级低的视点的视频数据更加重要。

在一个示例中,各个视点的优先级的具体确定方式可以如下:对于多视点视频中的目标视点,基于视点参考结构,确定目标视点的基础优先级、相关视点和有效入度;其中,相关视点是指参考目标视点的视频数据进行编码的视点,有效入度是指参考目标视点所产生的入度;基于目标视点的基础优先级、相关视点的优先级以及有效入度,确定目标视点的优先级。

其中,基础优先级是指各个视点所具有的初始优先级。各个视点的基础优先级的获取内容可以如下:基于视点参考结构,确定多视点视频中的独立视点和非独立视点,独立视点是指与多视点视频中的其他视点不具有编码参考关系的视点,非独立视点是指与多视点视频中的其他视点具有编码参考关系的视点;在目标视点属于独立视点的情况下,确定目标视点的基础优先级为第一数值;在目标视点属于非独立视点的情况下,确定目标视点的基础优先级为第二数值。其中,第二数值大于第一数值。例如,参考图3,视点309与其他视点之间的关联性较小,视点309无法参考其他视点进行视频数据编码,则可确定视点309为独立视点。而视点301至视点308之间的关联性较强,可以相互参考进行视频数据编码,则可以确定视点301至视点308为非独立视点。

可选地,各个视点的基础优先级的获取过程可以整理为如下公式:

其中,q(v)表示目标视点的基础优先级,θ为大于0的正数,v表示目标视点,U表示非独立视点集合。可选地,独立视点的基本优先级低于非独立视点的基本优先级。独立视点的基本优先级的值可以设置为0,可用于表示其重要程度低,且与其他视点不具有编码参考关系。

可选地,相关视点与目标视点具有直接的编码参考关系。例如,参考图4,其示出了图3中的视点301至308在同一时刻的视频图像帧。其中,视点304与前4个视点的关联性较大,视点307与后4个视点的关联性较大,则视点301、视点302和视点303可以参考视点304进行视频数据编码,视点305、视点306和视点308可以参考视点307进行视频数据编码,由于考虑到减小传输数据量,视点307可以参考视点304进行视频数据编码。则视点301、视点302、视点303和视点307为视点304的相关视点,视点305、视点306和视点308为视点307的相关视点。由于视点305、视点306和视点308与视点304不具有直接的编码参考关系,则视点305、视点306和视点308不是视点304的相关视点。其中,可以将视点304确定为加强视点。

在本申请实施例中,入度用于表示相关视点所参考的目标视点数量。若相关视点的入度为1,则相关视点只作为1个目标视点的终点,即该入度用于表示相关视点以该目标视点为参考进行编码,则该目标视点对应的有效入度可用于表示相关视点对该目标视点的参考程度。例如,在相关视点的编码过程中,相关视点对该目标视点的编码数据所参考的部分越多,则相关视点与该目标视点对应的有效入度值越大,即有效入度值越高表示相关视点对该目标视点的依赖程度越高。可选地,若相关视点的入度为2,则相关视点作为2个目标视点的终点,即该入度用于表示相关视点以上述2个目标视点为参考进行编码,则第一个目标视点对应的有效入度用于表示相关视点对第一个目标视点的参考程度,第二个目标视点对应的有效入度用于表示相关视点对第二个目标视点的参考程度,本申请实施例对此不作限定。

在一个示例中,目标视点的优先级的具体确定方式可以如下:对相关视点的基础优先级进行求和处理,得到第一中间参数;基于有效入度确定目标视点的权重累加参数;将第一中间参数与权重累加参数进行求积处理,得到第二中间参数;对第二中间参数和目标视点的基础优先级进行求和处理,得到目标视点的优先级。其中,权重累加参数的值大于1,权重累加参数的值可以为有效入度与1的差值。可选地,目标视点的优先级的确定过程可以由如下公式表示:

其中,p(v)表示目标视点的优先级,R(v)表示相关视点集合,u表示相关视点,v表示目标视点,k表示权重累加参数,P(u)表示相关视点的基础优先级。

结合上述两个公式,可以得到如下公式:

由此可见,独立视点的优先级一般都为0,相关视点的优先级大于0,上述加强视点的优先级大于相关视点的优先级。如此,可以将各个视点的重要程度区分开来。

在一个示例中,参考图5,图5中的表格501a示出了图4中9个视点各自对应的相关视点:以视点301为目标视点时,其不具有相关视点,则可以得到视点301的优先级为1*0+1=1(这里默认有效入度为2,非独立视点的基础优先级为1,独立视点的基础优先级为0)。以视点302为目标视点时,其不具有相关视点,则可以得到视点302的优先级为1*0+1=1。以视点303为目标视点时,其不具有相关视点,则可以得到视点303的优先级为1*0+1=1。以视点304为目标视点时,其相关视点为视点301、视点302、视点303和视点307,则可以得到视点304的优先级为1*4+1=5。以视点305为目标视点时,其不具有相关视点,则可以得到视点305的优先级为1*0+1=1。以视点306为目标视点时,其不具有相关视点,则可以得到视点306的优先级为1*0+1=1。以视点307为目标视点时,其相关视点为视点305、视点306和视点308,则可以得到视点307的优先级为1*3+1=4。以视点308为目标视点时,其不具有相关视点,则可以得到视点306的优先级为1*0+1=1。以视点309为目标视点时,其为独立视点且不具有相关视点,则可以得到视点309的优先级为1*0+0=0。

将上述9个视点的优先级进行整理,可得到表格501b。参考表格501b可得:视点304的优先级最高,视点307的优先级为第二高,视点309的优先级为最低。如此,通过优先级可以反映出视点在编解码过程中的重要程度,进而可以选择重要程度高的视点的视频数据进行传输。同时,在有带宽限制或者需要减少数据传输量时,可以对优先级低的视点的视频数据不进行传输。

步骤203,基于各个视点的优先级,对各个视点的视频数据进行传输。

可选地,基于各个视点的优先级,对各个视点的视频数据的进行排序处理,确定各个视点的视频数据的传输顺序,再基于传输顺序,对各个视点的视频数据进行传输。例如,参考图5中表格501b:视点304的优先级最高,则将视点304的视频数据排第一位,视点307的优先级为第二高,则将视点307的视点数据排在第二位,视点301、视点302、视点303、视点305、视点306和视点308的优先级相同,则可以进行随机排序,最后依次对各个视点的视频数据进行传输。

在一个示例中,还可以对各个视点进行筛选,即有选择的传输视点的视频数据,其具体内容可以如下:确定多视点视频中的至少一个传输视点,传输视点是指对应的视频数据需要进行传输的视点;基于各个传输视点的优先级,对各个传输视点的视频数据进行传输。

其中,传输视点可以是多视点视频中的任一视点,其可以基于多视点视频对应的应用场景来确定。传输视点的具体获取内容可以如下:基于多视点视频对应的应用场景,确定多视点视频中应用场景所需的使用视点;确定使用视点的参考视点,参考视点是指编码使用视点的视频数据所参考的视点;将使用视点和参考视点确定为传输视点。例如,参考图5,若视点301为使用视点,则视点304为视点301的参考视点,即视点301的视频数据和视点304的视频数据都需要被传输。可选地,基于视点301和视点304的优先级,视点304的视频数据优先传输,视点301的视频数据后传输。

可选地,在不同的应用场景中,所需传输的传输视点不同,所需传输的传输视点的数量不同。例如,在互动视频场景中,以VR(Virtual Reality,虚拟现实技术)全景视频为例,则需要传输多视点视频中的所有视点对应的视频数据,即多视点视频中的所有视点都是传输视点。在互动影像游戏场景中,以赛车类游戏为例,则只需要传输车内部对应的视点的视频数据(如车窗部位),本申请实施例对此不作限定。

综上所述,本申请实施例提供的技术方案,通过视点参考结构确定各个视点的优先级,基于各个视点的优先级对多视点视频的视频数据进行传输,实现重要视点的视频数据可以优先被传输,保证了在解码过程中,重要视点的完整性,从而保证以重要视点为参考的视点的视频数据能够进行解码,进而提高解码还原率。

另外,针对多视点视频对应的应用场景,对多视点视频中的视点进行筛选,只需传输应用场景所需的视点的视频数据,减少了视频数据的传输量,进而提高了输出效率,同时减少了带宽的需求度。

请参考图6,其示出了本申请另一个实施例提供的多视点视频的数据传输方法的流程图。该方法可应用于上文介绍的服务器12中。该方法可以包括如下几个步骤(601~607):

步骤601,获取多视点视频的视点参考结构,视点参考结构用于表示多视点视频中各个视点的视频数据之间的编码参考关系。

步骤602,基于视点参考结构,确定各个视点的优先级。

步骤603,确定多视点视频中的至少一个传输视点,传输视点是指对应的视频数据需要进行传输的视点。

步骤604,基于各个传输视点的视频数据,确定基本码流集合,基本码流集合中包括至少一个基本码流,每个基本码流包括一个或多个传输视点的视频数据。

在本申请实施例中,传输视点是指对应的视频数据需要进行传输的视点,其可以是多视点视频中的任一视点。基本码流集合是指基本码流的集合。其中,基本码流用于表示传输视点的视频数据,其可以包括一个或多个传输视点的完整视频数据。

在一个示例中,基本码流集合的具体确定内容可以如下:将传输视点中的单个基本视点的视频数据确定为一个基本码流,得到至少一个第一基本码流,基本视点是指需要参考其他视点的视频数据进行编码的视点;将传输视点中的加强视点的视频数据集合确定为一个基本码流,得到第二基本码流,加强视点是指编码基本视点的视频数据所参考的视点;其中,基本码流集合包括至少一个第一基本码流和第二基本码流。

其中,一个第一基本码流用于表示单个基本视点的视频数据。传输视点中有多个基本视点,则可以得到多个第一基本码流。第二基本码流用于表示加强视点的视频数据集合,即第二基本码流中可以包括至少一个加强视点的视频数据。例如,参考图5,若传输视点包括视点302、视点303和视点304,则基于视点302的视频数据可以得到一个第一基本码流,基于视点303的视频数据可以得到另一个第一基本码流,基于视点304的视频数据可以得到一个第二基本码流。最后可以确定该基本码流集合包括2个第一基本码流和1个第二基本码流。如此,可以将传输视点中加强视点的视频数据和基本视点的视频数据区分开来,以实现加强视点的视频数据可以被优先传输,确保在解码过程中,加强视点的视频数据的完整性。

在另一个示例中,基本码流集合的具体确定内容还可以如下:将各个传输视点的视频数据集合确定为一个基本码流,得到基本码流集合。例如,将上述视点302、视点303和视点304的视频数据集合确定为一个基本码流,则该基本码流集合包括1个基本码流。如此,可以进一步减少视频数据传输的冗余度,进而降低带宽的需求度。

步骤605,对基本码流集合中的各个基本码流进行分割打包处理,获取各个基本码流分别对应的基本码流包集合,基本码流包集合中包括多个基本码流包,基本码流包中包括用于标识所属基本码流的包识别信息。

可选地,一个基本码流对应一个基本码流包集合,该基本码流包集合表示对应基本码流中的完整视频数据。其中,基本码流包集合是指基本码流包的集合。一个基本码流包表示对应基本码流的一部分,即基本码流包集合中所有的基本码流包可以表示对应基本码流的完整视频数据。基本码流包的长度可变,一般一个视频图像帧对应一个基本码流包。可选地,一个基本码流包对应一个包识别信息。包识别信息是指基本码流包的标识信息,可用于标识基本码流包所属的基本码流。

例如,参考图7,基本码流701对应的视频数据可以被分割成多份数据段,再将单份数据段和相应的头文件进行打包处理,形成对应的基本码流包702,基本码流包702中包括用于标识属于基本码流701的包识别信息,基本码流701中的其他基本码流包中亦具有相同的包识别信息。

步骤606,对各个基本码流包进行分割封装处理,获取各个基本码流包分别对应的多个传输流包,传输流包中包括用于标识所属基本码流包的包头信息。

可选地,一个传输流包用于表示对应基本码流包的一部分,即一个基本码流包对应的多个传输流包可以表示该基本码流包对应的视频数据。每个传输流包的长度一般固定为188字节。其中,每个传输流包括4字节的包头和184字节的负载。可选地,包头信息可以被安置与包头中,负载中包括对应的视频数据。

例如,参考图7,基本码流包702可以被分割封装成传输流包703、传输流包704、传输流包705、传输流包706和传输流包707。每一个传输流包可以包括包头和负载。以传输流包705为例,传输流包705的包头中包括对应的包头信息,传输流包705的负载中包括对应的数据段,该数据段由基板码流包702中的数据段分割而成。可选地,还可以通过自适应区来增加包头长度,以用于填塞更多的信息。

步骤607,基于各个传输视点的优先级,对各个传输视点对应的传输流包进行传输。

可选地,可以基于各个传输视点的优先级,确定各个传输视点对应的传输流包的传输顺序;基于传输顺序,对各个传输视点对应的传输流包进行传输。

例如,一个多视点视频对应的传输视点包括视点A、视点B和视点C,其中,视点A为加强视点,视点B和视点C为基本视点,则视点A的优先级高于视点B和视点C的优先级。视点A对应的传输流包应优先被进行传输,然后在对视点B或视点C对应的传输流包进行传输。

综上所述,本申请实施例提供的技术方案,通过视点参考结构确定各个视点的优先级,基于各个视点的优先级对多视点视频的视频数据进行传输,实现重要视点的视频数据可以优先被传输,保证了在解码过程中,重要视点的完整性,从而保证以重要视点为参考的视点的视频数据能够进行解码,进而提高解码还原率。

另外,通过将各个基本视点对应的视频数打包封装成对应的传输流包,将各个加强视点的视频数据集合打包封装成对应的传输流包,实现了可以基于优先级,对优先级高的加强视点的视频数据进行传输。同时,通过对输加强视点进行区别优先传输,可以提高加强视点的视频数据的传输效率,进一步保证加强视点的完整性,从而提高解码还原率。

在一个示例性实施例中,以互动视频场景为例。参考图8和图9,多视点视频的数据传输过程具体如下:

1、互动视频制作平台801对多视点视频的视频数据进行编码处理,并将处理后的视频数据上传至服务器802。

2、服务器802在接收到处理后的视频数据之后,对处理后的视频数据进行优先级提取,进而获取各个视点的优先级。

3、服务器802基于MPEG-2(Moving Picture Experts Group-2,运动图像专家组2)对处理后的视频数据进行封装处理。

可选地,本申请实施例通过MPEG-2中的TS(Transport Stream,传输流)对多视点视频的视频数据进行封装传输。具体内容可以如下:

参考图9,可以通过访问单元获取处理后的视频数据中的多个视频图像帧数据。其中,视频图像帧数据中包括多个视点对应的视频数据。

在图9中,该多视点视频包括4个视点,访问单元中的第一个视频数据段对应一个加强视点的视频数据,其他3个视频数据段分别对应3个视点的视频数据。从各个视频图像帧的视频数据中提取出各个视点的视频数据。再以将各个视点的视频数据确定为基本码流,形成基本码流集合。其中,4个视点中只有一个加强视点,则该加强视点的视频数据可以单独作为一个基本码流。

再分别对4个基本码流进行分割打包处理,则可以得到基本码流包集合804、基本码流包集合805、基本码流包集合806和基本码流包集合807。其中,基本码流包集合807表示加强视点对应的视频数据。

然后,再分别对4个基本码流包集合进行分割封装处理,获取4个基本码流包集合分别对应的多个传输流包。

4、服务器802基于各个视点的优先级,对各个视点对应的多个传输流包进行下发。

可选地,加强视点的优先级最高,应当优先下发加强视点对应的多个传输流包。

5、客户端803对接收到的传输流包进行解封装处理,获取多视点视频对应的处理后的视频数据,并将处理后的视频数据存储至缓存数据库中。

6、客户端803对处理后的视点数据进行解码处理,并显示给用户。

在一个示例性实施例中,多视点视频对应的传输流包的解封装过程可以如下:

1、获取多视点视频对应的传输流包集合,该传输流包集合包括多个传输流包,每个传输流包包括对应的包头信息。

2、基于每个传输流包对应的包头信息,对多个传输流包进行分组解封装处理,即将具有相同包头信息的传输流包组合成一个基本码流包,进而确定多视点视频对应的基本码流包集合。该基本码流包集合包括多个基本码流包,每个基本码流包包括对应的包识别信息。

3、基于每个基本码流包的包识别信息,对多个基本码流包进行分组组合处理,即将具有相同包识别信息的基本码流包组合成一个基本码流,进而确定多视点视频对应的基本码流集合。该基本码流集合可以包括至少一个基本码流。可选地,解封装出来的第一个基本码流应当包括加强视点的视频数据集合,其他的基本码流应当包括各个基本视点对应的视频数据。

4、基于至少一个基本码流,确定各个传输视点的视频数据,进而确定多视点视频的视频数据。

5、优先对多个传输视点中的加强视点的视频数据进行解码处理,得到加强视点对应的解码后的视频数据,再基于加强视点对应的解码后的视频数据,对基本视点的视频数据进行解码处理,得到基本视点对应的解码后的视频数据,从而确定多视点视频的视频数据。

6、将多视点视频的视频数据存储至缓存数据库中,基于用户针对客户端(如上述的消费者终端13)的操作,显示对应传输视点的视频数据。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

参考图10,其示出了本申请一个实施例提供的多视点视频的数据传输装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的计算机设备,也可以设置在计算机设备中。如图10所示,该装置1000包括:参考结构获取模块1001、优先级确定模块1002和视频数据传输模块1003。

参考结构获取模块1001,用于获取多视点视频的视点参考结构,所述视点参考结构用于表示所述多视点视频中各个视点的视频数据之间的编码参考关系。

优先级确定模块1002,用于基于所述视点参考结构,确定所述各个视点的优先级。

视频数据传输模块1003,用于基于所述各个视点的优先级,对所述各个视点的视频数据进行传输。

在一个示例性实施例中,如图11所示,所述优先级确定模块1002包括:基础数据确定子模块1002a和优先级确定子模块1002b。

基础数据确定子模块1002a,用于对于所述多视点视频中的目标视点,基于所述视点参考结构,确定所述目标视点的基础优先级、相关视点和有效入度;其中,所述相关视点是指参考所述目标视点的视频数据进行编码的视点,所述有效入度是指参考所述目标视点所产生的入度。

优先级确定子模块1002b,用于基于所述目标视点的基础优先级、所述相关视点的优先级以及所述有效入度,确定所述目标视点的优先级。

在一个示例性实施例中,所述优先级确定子模块1002b,用于:

对所述相关视点的基础优先级进行求和处理,得到第一中间参数;

基于所述有效入度确定所述目标视点的权重累加参数;

将所述第一中间参数与所述权重累加参数进行求积处理,得到第二中间参数;

对所述第二中间参数和所述目标视点的基础优先级进行求和处理,得到所述目标视点的优先级。

在一个示例性实施例中,所述基础数据确定子模块1002a,用于:

基于所述视点参考结构,确定所述多视点视频中的独立视点和非独立视点,所述独立视点是指与所述多视点视频中的其他视点不具有编码参考关系的视点,所述非独立视点是指与所述多视点视频中的其他视点具有编码参考关系的视点;

在所述目标视点属于所述独立视点的情况下,确定所述目标视点的基础优先级为第一数值;

在所述目标视点属于所述非独立视点的情况下,确定所述目标视点的基础优先级为第二数值。

在一个示例性实施例中,如图11所示,所述视频数据传输模块1003包括:传输视点确定子模块1003a和视频数据传输子模块1003b。

传输视点确定子模块1003a,用于确定所述多视点视频中的至少一个传输视点,所述传输视点是指对应的视频数据需要进行传输的视点。

视频数据传输子模块1003b,用于基于各个所述传输视点的优先级,对各个所述传输视点的视频数据进行传输。

在一个示例性实施例中,所述视频数据传输子模块1003b,用于:

基于各个所述传输视点的视频数据,确定基本码流集合,所述基本码流集合中包括至少一个基本码流,每个基本码流包括一个或多个所述传输视点的视频数据;

对所述基本码流集合中的各个所述基本码流进行分割打包处理,获取各个所述基本码流分别对应的基本码流包集合,所述基本码流包集合中包括多个基本码流包,所述基本码流包中包括用于标识所属基本码流的包识别信息;

对各个所述基本码流包进行分割封装处理,获取各个所述基本码流包分别对应的多个传输流包,所述传输流包中包括用于标识所属基本码流包的包头信息;

基于各个所述传输视点的优先级,对各个所述传输视点对应的所述传输流包进行传输。

在一个示例性实施例中,所述视频数据传输子模块1003b,还用于:

基于各个所述传输视点的优先级,确定各个所述传输视点对应的所述传输流包的传输顺序;

基于所述传输顺序,对各个所述传输视点对应的所述传输流包进行传输。

在一个示例性实施例中,所述视频数据传输子模块1003b,还用于:

将所述传输视点中的单个基本视点的视频数据确定为一个基本码流,得到至少一个第一基本码流,所述基本视点是指需要参考其他视点的视频数据进行编码的视点;

将所述传输视点中的加强视点的视频数据集合确定为一个基本码流,得到第二基本码流,所述加强视点是指编码所述基本视点的视频数据所参考的视点;

其中,所述基本码流集合包括所述至少一个第一基本码流和所述第二基本码流。

在一个示例性实施例中,所述视频数据传输子模块1003b,还用于将各个所述传输视点的视频数据集合确定为一个基本码流,得到所述基本码流集合。

在一个示例性实施例中,所述传输视点确定子模块1003a,用于:

基于所述多视点视频对应的应用场景,确定所述多视点视频中所述应用场景所需的使用视点;

确定所述使用视点的参考视点,所述参考视点是指编码所述使用视点的视频数据所参考的视点;

将所述使用视点和所述参考视点确定为所述传输视点。

综上所述,本申请实施例提供的技术方案,通过视点参考结构确定各个视点的优先级,基于各个视点的优先级对多视点视频的视频数据进行传输,实现重要视点的视频数据可以优先被传输,保证了在解码过程中,重要视点的完整性,从而保证以重要视点为参考的视点的视频数据能够进行解码,进而提高解码还原率。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图12,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以用于实施上述实施例中提供的多视点视频的数据传输方法。具体来讲:

该计算机设备1200包括处理单元(如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)和FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等)1201、包括RAM(Random-Access Memory,随机存储器)1202和ROM(Read-Only Memory,只读存储器)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。该计算机设备1200还包括帮助服务器内的各个器件之间传输信息的基本输入/输出系统(Input Output System,I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。

该基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中,该显示器1208和输入设备12012都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。该基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。

该大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。该大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,该大容量存储设备1207可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。

不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。

根据本申请实施例,该计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在该系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。

所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述多视点视频的数据传输方法。

在一个示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集在被处理器执行时以实现上述多视点视频的数据传输方法。

可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。

在一个示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述多视点视频的数据传输方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120114792285