一种全景视频的传输和显示方法与流程

文档序号:12136043阅读:341来源:国知局
一种全景视频的传输和显示方法与流程
本申请涉及视频传输和处理技术,特别设计一种全景视频的传输和显示方法。
背景技术
:目前对于全景视频实时传输和显示有以下几种实现方案:1、通过服务器端下发整部视频文件,导致传输速度极慢,严重影响用户的观看体验。2、利用小波变换压缩传输数据,对应不同的播放窗口,将压缩后的数据进行重构生成当前窗口的视频数据。3、基于多路采集设备并行采集全景数据,通过网络传输多路采集设备采集的数据组成全景数据。在播放端,采用一台全景播放同步服务器,在局域网内实现多个解码器以及多个全景式拼接投影阵列间的同步播放。然而,上述三种全景视频的传输和显示方案都存在不同的缺点:1、方案1通过服务器端下发整部视频文件,导致传输速度极慢,严重影响用户的观看体验。2、方案2采用哈尔小波算法将全景视频视窗外的视频数据和视窗内的视频数据进行分解,并将分解的视频数据分别编码,并在播放器端进行重组,这样降低了非视窗区域的传输效率。3、方案3由于需要多台采集设备、多台解码器以及多个拼接投影设备,整体上对硬件要求很高。4、目前缺乏针对广播电视全景视频无缝切换的解决方案。技术实现要素:本申请提供一种全景视频的传输和显示方法,能够提高全景视频的传输效率,并能实现全景视频显示的无缝切换。为实现上述目的,本申请采用如下技术方案:一种全景视频的传输方法,包括:将待传输的全景视频拆分成对应于不同角度区域的视角数据,并进行所述全景视频和各个视角数据的编号;分别为所述全景视频的各个视角数据分配对应的传输流ID和节目号码;其中,同一全景视频的不同视角数据对应不同的传输流ID;将所述全景视频的各个视角数据,按照每个视角数据对应的传输流ID,承载在该传输流ID所标识的传输流上进行传输,并在发送给接收端的PAT表中对应每个视角数据的传输流ID和节目号码携带相应的全景视频编号和视角编号。一种全景视频的显示方法,包括:接收端接收PAT表,根据其中的全景视频编号和视角编号,确定各个视角数据对应的传输流ID和节目号码;其中,不同视角数据对应全景视频的不同角度区域;根据用户的当前视角和预估的视角移动方向,选择需要接收的视角数据,并根据所述需要接收的视角数据对应的传输流ID和节目号码,在相应传输流中接收并解码所述需要接收的视角数据;其中,若用户当前视角与指定角度区域的角度差小于设定的切换阈值,则所述需要接收的视角数据包括:当前显示的视角数据和指定角度区域对应的视角数据,所述指定角度区域为沿所述预估的视角移动方向与当前显示视角数据的角度区域相邻的角度区域;接收端根据用户的当前视角选择需要显示的视角数据,并根据所述需要显示的视角数据对应的传输流ID和节目号码,将相应传输流中接收并解码后的视角数据进行显示。较佳地,所述预估的视角移动方向为上次实际视角移动方向。较佳地,所述在相应TS流中接收并解码需要接收的视角数据包括:接收端利用多个高频头tuner进行多个TS流的接收,在选择需要接收的视角数据后,判断任一需要接收的视角数据是否被tuner接收,若是,则对相应tuner接收的视角数据进行解码;否则,在当前视角超过所述切换阈值后,将当前接收非需要接收的视角数据的tuner,切换为接收所述任一需要接收的视角数据,并进行解码。较佳地,所述需要显示的视角数据为:对应同一个角度区域的视角数据,或者,对应两个相邻角度区域的视角数据的拼接;其中,当所述需要显示的视角数据为对应两个相邻角度区域的视角数据的拼接时,所述将相应TS流中接收并解码后的视角数据进行显示包括:将相应TS流中接收并解码后的视角数据进行组合拼接并显示。较佳地,所述根据用户的当前视角选择需要显示的视角数据包括:以设定位置为基准,当用户的视角移动范围超过设定的多个阈值中的任一阈值时,根据用户的实际视角移动方向、所述视角移动范围和用户视角在设定位置上时显示的视角数据,选择需要显示的视角数据;或者,以上一次选择需要显示的视角数据时用户的视角位置为基准,当用户的视角移动范围超过设定的阈值时,根据用户的实际视角移动方向、所述视角移动范围和当前显示的视角数据,选择本次需要显示的视角数据。由上述技术方案可见,在发送端,将全景视频拆分成对应于不同角度区域的视角数据,分别为各个视角数据分配对应的传输流ID和节目号码;其中,同一全景视频的不同视角数据对应不同的传输流ID;对于同一全景视频的各个视角数据,按照每个视角数据对应的传输流ID,承载在与该传输流ID相应的TS流上进行传输,并在发送给接收端的PAT表中对应每个视角数据的PID和节目号码携带相应的全景视频编号和视角编号。通过上述方式,能够将所有全景视频数据在TS流中进行传输,并进行有序编号标识,提高了全景视频的传输效率。在显示端,根据接收的PAT表中的全景视频编号和视角编号,确定各个视角数据对应的传输流ID和节目号码;然后根据用户的当前视角和预估的视角移动方向,选择需要接收的视角数据,并根据相应的传输流ID和节目号码,在相应TS流中接收并解码需要接收的视角数据;最后,根据用户的当前视角选择需要显示的视角数据,根据对应的传输流ID和节目号码,将相应TS流中接收并解码后的视角数据进行显示。其中,在用户视角与指定角度区域边界的角度差小于切换阈值后,需要接收的视角数据不仅包括当前显示的视角数据,还包括沿预估的视角移动方向与当前显示视角数据的角度区域相邻的角度区域所对应的视角数据,这样可以提前对接下来预计显示的视角数据进行接收和解码,待需要显示相应视角数据时,可以直接进行拼接显示,从而实现全景视频显示的无缝切换。附图说明图1为本申请中全景视频数据传输方法的基本流程示意图;图2为全景视频的拆分示意图;图3为本申请中全景视频显示方法的基本流程图;图4为前台显示和后台接收解码的示意图。具体实施方式为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。本申请的基本思想是:将全景视频数据进行拆分传输,并进行相应全景视频和视角的编号;在显示端,后台进行视角数据的接收和解码,前台进行视角数据的拼接和显示。其中,后台接收和解码的视角除包括前台显示的视角外,还包括预计的沿预估视角移动方向与前台显示视角相邻角度的视角,从而实现预计显示数据的提前接收和解码。图1为本申请中全景视频数据传输方法的基本流程示意图。如图1所示,该方法包括:步骤101,将全景视频拆分成对应于不同角度区域的视角数据,并进行全景视频和各个视角数据的编号。本步骤中将全景视频拆分成N个视角数据,其中,不同视角数据对应于不同的角度区域。例如,可以拆分为4个视角数据,分别为0-90度角对应的视角数据、90-180度角对应的视角数据、180-270度角对应的视角数据和270-360度角对应的视角数据。其中不同的角度区域对应的角度差可以相同,也可以不同。同时在进行全景视频拆分时,可以根据传输通道的负载、带宽和视频分辨率等确定N。在数字广播传输中,可以结合数字广播电视传送码率负载,将全景视频按视角拆分成多份,每一份的数据量均在数字电视传输通道的负载之内。对传输的全景视频分别编号,同一全景视频的多个视角分别编号,为方便视角在后台自动切换,需要严格保证视角是依一定规则按序编号。如图2所示,假设一幅全景视频被拆分为4份。在具体实施时,根据全景视频的分辨率,数据量大小可以做不同的拆分,但需要保证在数字电视传输通道的正常负载之内。步骤102,分别为全景视频的各个视角数据分配对应的传输流ID和节目号码。在将视角数据进行传输前,需要确定其传输位置,将各个视角数据作为一个节目进行传输,为其分配对应的传输流ID和节目号码。其中,传输流ID和节目号码的含义与现有技术中相同,具体地,传输流ID用于标识传输流,节目号码用于标识传输流上的某个传输位置。为保证同一全景视频的不同视角数据在不同TS流上传输,这里,为同一全景视频的不同视角数据分配的传输流ID各不相同。步骤103,将全景视频的各个视角数据,按照每个视角数据对应的传输流ID,承载在该传输流ID标识的TS流上进行传输,并在发送给接收端的PAT表中,对应每个视角数据的传输流ID和节目号码携带相应的全景视频编号和视角编号。在步骤102后,每个视角数据都有其对应的传输流ID和节目号码,在进行视角数据传输时,根据视角数据对应的传输流ID,将视角数据承载在相应传输流ID标识的TS流上,由于同一全景视频不同视角数据的传输流ID不同,传输流ID与TS流一一对应,因此,同一全景视频的不同视角数据承载在不同的TS流上传输。对于视角数据在TS流的哪个片段位置上传输,由相应的节目号码来确定。同时,除传输视角数据外,发送端还会向接收端发送PAT表。现有PAT表中携带节目号码和PID值,本申请中对该PAT表进行扩展,额外携带全景视频和视角数据的编号。具体地,上述步骤101中,已经为全景视频和视角数据分配了编号,利用该编号可以唯一标识某个全景视频的某个视角数据,在PAT表中扩展携带全景视频和视角数据的编号,用于记录当前某个节目属于某一全景视频的某一视角,从而可以向接收端指示某个全景视频的某个视角数据其对应的PID和节目号码,以方便接收端确定该视角数据的具体承载位置。扩展后的PAT表如表1所示。用户搜台完成后,基于扩展后的PAT表中包含的节目号码、传输流ID信息以及全景视频和视角数据编号,构建类似表2的表格,以便于预测到视角发生变化时后台对于需要接收的视角数据的自动选择和切换。表1传输流ID节目号码节目映射表PID值全景视频编号视角编号表2节目号码传输流ID全景视频编号视角编号0111121253137414经过上述处理后,将全景视频编码为标准TS流进行传输,从而可以采用现有的广播数据传输方式来传输全景视频数据。至此,本申请中的全景视频数据传输方法流程结束。由上述可见,在本申请的传输方法中,可以直接利用广播数据传输方式传输全景视频数据,提高了全景视频数据的传输效率。图3为本申请中全景视频显示方法的基本流程图。如图3所示,该方法包括:步骤301,接收端接收PAT表,根据其中的全景视频编号和视角编号,确定各个视角数据对应的传输流ID和节目号码。确定各个视角数据对应的传输流ID和节目号码后,后续可以根据该传输流ID和节目号码,在数字电视传输流中接收需要的视角数据。步骤302,根据用户的当前视角和预估的视角移动方向,选择需要接收的视角数据,并根据需要接收的视角数据对应的传输流ID和节目号码,在相应TS流中接收并解码需要接收的视角数据。为方便描述,将全景视频的接收和显示处理分为前台处理和后台处理。后台处理包括利用高频头(tuner)接收视角数据并解码,其中,接收端包括多个tuner,每个tuner可以用于接收一个TS流。前台处理包括在接收并解码后的数据中选择部分视角数据进行拼接和显示。本步骤的处理即对应于后台处理,具体包括:确定需要接收哪些视角数据,对确定需要接收的视角数据,进行接收并解码。下面对具体处理进行详细介绍。首先,确定需要接收哪些视角数据。这里的后台处理是为前台的拼接显示做准备的,一方面,需要根据用户当前的视角接收当前需要显示的视角数据;另一方面,为实现无缝切换,需要根据预估的用户视角移动方向,接收接下来可能需要显示的视角数据。因此,本步骤中,根据用户当前视角和预估的视角移动方向选择需要接收的视角数据。更详细地,当用户视角与指定角度区域边界的角度差小于切换阈值时,根据预估的用户视角移动方向确定出的接下来可能需要显示的视角数据为:沿预估的视角移动方向,与当前显示视角数据的角度区域相邻的角度区域所对应的视角数据。其中,指定角度区域也就是预估出即将要显示的视角数据对应的角度区域。例如,当前显示的视角数据为90-180度对应的视角数据,预估的用户视角移动方向为向>180度方向移动,那么当用户的当前视角与指定角度区域(180-270度)的边界180度的角度差小于切换阈值(例如20度)时,接下来可能需要显示的视角数据为与90-180度相邻、并且沿>180度方向的相邻角度区域,也就是180-270度对应的视角数据。另外,视角移动方向的预估可以采用各种可行的方式,最简单地,可以将上次实际视角移动方向作为预估的视角移动方向。在确定出需要接收哪些视角数据后,也就是确定出需要接收哪个角度区域对应的视角数据(例如当显示端包括3个tuner时,确定出需要接收90-180度、180-270度和270-360度的视角数据)后,根据这些视角数据对应的传输流ID和节目号码,利用tuner在与传输流ID对应的TS流上与节目号码对应的位置上接收相应的视角数据,并进行解码处理,供前台挑选使用。具体地,接收端利用多个tuner进行多个TS流的接收,每个tuner在同一时刻只能接收一个TS流的数据。对于同一全景视频,不同的视角数据通过不同TS流承载,因此接收端可以利用多个tuner接收多个不同角度区域的视角数据。初始接收时,接收端的各个tuner可以按照默认设置接收TS流上承载的视角数据,当然,至少有一个tuner用于接收初始画面显示的视角数据,优选地,其他tuner用于接收与初始画面的角度区域相邻角度区域的视角数据,从而方便前台根据用户视角的移动切换到相邻角度区域进行显示。在初始接收后,随着处理的进行,用户的视角可能发生移动,接收端检测用户的视角移动范围和方向,并且根据用户的视角历史移动方向预估用户的视角移动方向,以此为基础确定需要接收的视角数据(如前所述)。在确定需要接收的视角数据后,接收端判断各个需要接收的视角数据是否有相应的tuner进行接收,对于任一需要接收的视角数据A进行判断,如果有tuner在接收视角数据A,则继续进行接收并解码处理;如果没有tuner在接收视角数据A,则在用户的视角超过设定的切换阈值后,切换一个tuner进行相应视角数据的接收。通常这种情况下,已经有至少一个tuner正在接收不需要接收的视角数据,则在即将需要显示视角数据A时,将该tuner切换去进行视角数据A的接收。具体切换阈值的大小可以根据系统性能设定。例如,三个tuner分别接收0-90度、90-180度和180-270度的视角数据,当前显示的视角数据是90-180度和180-270度的视角,并通过视角移动方向的预估确定除需要接收当前显示的视角数据外,还需要接收270-360度的视角数据,则在用户视角到达250度(即切换阈值为250度)时,将当前在接收0-90度视角数据的tuner切换去接收270-360度的视角数据。步骤303,根据用户的当前视角选择需要显示的视角数据,并根据需要显示的视角数据对应的传输流ID和节目号码,将相应TS流中接收并解码后的视角数据进行显示。本步骤的处理对应于前台处理。首先根据用户的当前视角选择需要显示的视角数据,也就是当前显示的视角数据。具体的确定方式可以根据需要设置,下面给出两种示例性的确定方式:一、以设定位置为基准,当用户的视角移动范围超过设定的多个阈值中的任一阈值时,根据用户的实际视角移动方向、所述视角移动范围和用户视角在设定位置上时显示的视角数据,选择需要显示的视角数据。具体地,设定位置可以是显示屏中心位置,可以设定全景视频播放的初始画面显示在该设定位置,可以设定初始画面播放的视角数据为默认角度区域对应的视角数据,例如0-90度对应的视角数据。预先设定多个阈值(例如10度、20度、30度等),用于随着用户视角的移动,不断更新显示给用户的视角数据所对应的角度区域。以该设定位置为基准,当检测到用户的视角移动范围超过任一阈值时,重新确定需要显示的视角数据;也就是说,需要显示的视角数据的确定并不是一次性的,而是在视角移动范围满足条件后即进行一次确定处理,从而能够根据用户视角实时调整档期显示的视角数据。具体确定需要显示的视角数据时,根据视角移动范围、移动方向和初始画面的角度区域来确定。其中,用户的视角移动范围是以设定位置为基准确定出来的。二、以上一次选择需要显示的视角数据时用户的视角位置为基准,当用户的视角移动范围超过设定的阈值时,根据用户的实际视角移动方向、所述视角移动范围和当前显示的视角数据,选择本次需要显示的视角数据。具体地,预先设定一个阈值,在检测用户的视角移动范围时,以上一次确定需要显示的视角数据时用户的视角为基准进行。也就是说,视角移动范围的基准在不停的变化,但是阈值可以仅设定一个,这样,用户视角每移动一个阈值(例如每移动10度),确定一次需要显示的视角数据。具体确定视角数据时,根据视角移动范围、移动方向和上一次确定的需要显示的视角数据(也就是当前显示的视角数据)进行。上述两种方式虽然确定方式不同,但都可以根据需要随着用户视角的移动,更新显示的视角数据,可以实现相同的效果。例如,假定初始画面显示0-90度的视角数据,当采用第一种方式时,当用户相对于中心位置视角移动10度后,相应地确定要显示10-100度的视角数据,当用户相对于中心位置视角移动20度后,相应地确定要显示20-110度的视角数据;当采用第二种方式时,当用户相对于中心位置视角移动10度后,相应地确定要显示10-100度的视角数据,当用户相对于上次视角移动10度的位置又移动10度(相当于相对于中心位置视角移动20度)后,相应地确定要相对于10-100度的视角数据再移动10度,即显示20-110度的视角数据。显然,通过上述两种确定方式可以实现相同的视角数据移动效果。另外,确定出的视角数据可能是同一个角度区域的视角数据,也可能是两个相邻角度区域的视角数据的拼接。例如,将全景视频划分为0-90度、90-180度、180-270度和270-360度时,0-90度的视角数据属于同一个角度区域,10-100度的视角数据属于两个相邻角度区域的视角数据的拼接。如果确定出的要显示的视角数据为两个相邻角度区域的视角数据的拼接,则在进行显示时,需要将相应TS流中接收并解码后的视角数据按照需求进行组合拼接后再进行显示。至此,本申请中的全景视频显示方法流程。通过上述流程,在后台可以对当前显示的视角数据和预估即将要显示的视角数据进行接收和解码,在前台对当前显示的视角数据直接进行拼接和显示。这样,当视角发生变化时,由于后台已经对预估显示的视角数据进行接收和解码,在切换显示视角时,可以直接将解码后的数据直接拼接显示,而不需要再花费额外的接收和解码时间,从而实现了无缝切换。下面通过图4给出一个前台显示和后台接收解码的示意图。如图4所示,一共有三个tuner接收数据;a中,当前屏幕显示的图像是tuner1接收并解码的图像(90-180度的视角数据),tuner2和tuner3分别接收解码相邻角度(即0-90度和180-270度)的视角数据;b中,随着视角的移动,当前屏幕显示tuner1和tuner3拼接的图像,tuner2继续后台接收0-90度的视角数据;视角继续移动,c中,视角超过切换阈值后,当前屏幕显示tuner1和tuner3拼接的图像,tuner2根据视角移动方向切换到接收并解码270-360度的视角数据,不再接收0-90度的视角数据;视角继续移动,d中,当前屏幕显示tuner2和tuner3拼接的图像,tuner1继续在后台接收90-180度的视角数据。通过上述方式,由于tuner1已经提前预测并在后台解码该视角数据,全景视频数据能快速的执行后续步骤并输出新视角的图像,提高响应速度,保证了无缝切换。通过上述本申请的处理,将全景数据拆分为多视角数据,制作全景视频码流,基于多tuner接收全景视频,最终实现显示画面的拼接裁剪等处理。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1