CN115529449A - 虚拟现实视频传输方法及装置 - Google Patents
虚拟现实视频传输方法及装置 Download PDFInfo
- Publication number
- CN115529449A CN115529449A CN202110715178.4A CN202110715178A CN115529449A CN 115529449 A CN115529449 A CN 115529449A CN 202110715178 A CN202110715178 A CN 202110715178A CN 115529449 A CN115529449 A CN 115529449A
- Authority
- CN
- China
- Prior art keywords
- field angle
- target
- precut
- angle
- frame image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 230000005540 biological transmission Effects 0.000 title claims abstract description 25
- 230000000007 visual effect Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 13
- 230000011218 segmentation Effects 0.000 claims description 8
- 230000006835 compression Effects 0.000 abstract description 5
- 238000007906 compression Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 23
- 238000009877 rendering Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 208000002173 dizziness Diseases 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种虚拟现实视频传输方法及装置,其中方法包括:接收用户当前视角坐标信息;根据当前视角坐标信息确定多个预切视场角中的目标预切视场角;发送目标预切视场角的帧图像。本申请实施例通过对视频流的全景图像切分成多个预设视场角,然后根据用户当前的视角坐标信息确定需要向用户发送的目标预设视场角的帧图像。这样可以使得只需要按照预设视场角编码获得帧图像,对不同的终端都按照预设视场角发送帧图像,降低对服务端并发能力的限制,同时由于预设视场角的连续性和大分块特征,提升了视频流的编码效率和压缩率。
Description
技术领域
本申请涉及虚拟现实技术领域,尤其涉及一种虚拟现实视频传输方法及装置。
背景技术
随着虚拟现实(Virtual Reality,VR)制作技术的逐渐成熟及VR终端的不断发展,VR360°视频观影已经逐步走进用户家庭,通过手机、VR头盔等设备给用户带来与之前平面视频完全不同的沉浸式观影体验。
VR观影设备在过去的几年例发展迅猛,国内外都推出了性价比很好的VR一体机,可以支持3自由度(degree of freedom,Dof)观影,观影的质量也从早年的2K提升至4K以上,在海内外都有不错的销量,为VR观影提供了足够数量的终端支持。
另一方面,随着VR技术的不断发展,观影用户对于VR视频分辨率的要求也在不断提高,从过去2K/4K(kilo,千),逐步发展到8K/12K/16K,码率也从传统的10-20M(Mega,兆),逐步发展到60-120M,而受限于终端硬件成本和网络传输能力,传统的全流发送,全流解码方式已经无法跟上用户对于VR观影体验不断提升的要求,所以目前8K以上VR视频,在业界主流的解决方案是使用VR视场角(Field of View,FoV)技术。
在FoV技术中,发送视频流可通过划分多路视窗(Tile)流实现,以便有效地解决终端硬件解码能力的不足问题,使8K/12K VR视频可以在现有终端设备上流畅的播放。但该技术也存在许多缺陷,例如多个视窗之间关联性低,影响了编码的效率和压缩率,多个视窗的并行传输对设备的并发性能要求高等,并且,由于针对每个终端,服务器进行一对一的实时FoV流渲染和编码,使得服务端的并发服务能力受限,无法满足VR视频直播或点播服务等高并发场景。
发明内容
本申请实施例提供了一种虚拟现实视频传输方法及装置,通过对视频流的全景图像切分成多个预设视场角,然后根据用户当前的视角坐标信息确定需要向用户发送的目标预设视场角的帧图像。这样可以使得只需要按照预设视场角编码获得帧图像,对不同的终端都按照预设视场角发送帧图像,降低对服务端并发能力的限制,同时由于预设视场角的连续性和大分块特征,提升了视频流的编码效率和压缩率。
第一方面,提供一种虚拟现实视频传输方法,该方法包括:接收用户当前视角坐标信息;根据当前视角坐标信息确定多个预切视场角中的目标预切视场角;发送目标预切视场角的帧图像。
在本申请实施例中,通过对第一图像的渲染指令集合进行划分,获得渲染指令子集,并将渲染指令子集以及渲染指令子集依赖的其他渲染指令子集的执行状态发送到同一个设备执行,使得设备执行该渲染指令子集中的渲染指令,获得对应的渲染结果,这个过程中不同的渲染指令子集在不同的设备上执行,实现第一图像的分布式渲染,提升了图像渲染的效率和实时性。而将每个渲染指令子集依赖的其他渲染指令子集的执行状态分发到同一个设备,可以避免渲染指令执行过程中发生错误。
在一个可能的示例中,在发送目标预切视场角的帧图像之前,方法还包括发送当前预切视场角的帧图像;在根据当前视角坐标信息确定多个预切视场角中的目标预切视场角之后,方法还包括:将目标预切视场角和当前预切视场角对比,确定用户是否切换视场角;若切换视场角,则确定目标预切视场角为切换后的预切视场角;若未切换视场角,则确定目标预切视场角为当前预切视场角。
在一个可能的示例中,在确定目标预切视场角为当前预切视场角后,发送目标预切视场角的帧图像包括:发送当前预切视场角的下一帧图像;在确定目标预切视场角为切换后的预切视场角后,发送目标预切视场角的帧图像包括:获取目标预切视场角的帧图像的关键I帧,并将I帧发送给终端;根据发送的上一帧图像获取目标预切视场角的帧图像中的目标前向预测P帧,并发送目标P帧,上一帧图像为发送目标预切视场角的帧图像前,发送的当前预切视场角的最后一帧图像。
在一个可能的示例中,目标P帧为目标预切视场角的帧图像中,与上一帧图像的帧序列间隔一个序列的帧图像。
在一个可能的示例中,根据当前视角坐标信息确定目标预切视场角,包括:根据当前视角坐标信息对应的当前视场角确定目标预切视场角,目标预切视场角为多个预切视场角中,覆盖当前视场角范围最大的预切视场角。
在一个可能的示例中,在根据当前视角坐标信息确定多个预切视场角中的目标预切视场角之前,方法还包括:划分多个预切视场角;在发送目标预切视场角的帧图像之前,方法还包括:确定多个预切视场角的帧图像。
在一个可能的示例中,划分多个预切视场角包括:将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,多个部分中的每个部分对应一个预切视场角。
在一个可能的示例中,确定多个预切视场角的帧图像包括:获取虚拟现实视频的全景原图,并将全景原图解码成平面图像;将平面图像投影到球面上,将球面按照多个预切视场角切分,获得多个预切视场角对应的球面图像;将多个预切视场角对应的球面图像投影到平面上,获得多个预切视场角对应的平面图像;对多个预切视场角对应的平面图像进行编码,获得多个预切视场角对应的帧图像。
在一个可能的示例中,多个预切视场角的切分与一下至少一个因素相关:全景原图的分辨率,服务器的并发编码能力,终端硬件的解码能力,终端用户最大视角。
第二方面,提供一种虚拟现实视频传输方法,该方法包括:获取用户当前视角坐标信息,并发送当前视角坐标信息;接收目标预切视场角的帧图像,目标预切视场角为根据当前视场角坐标信息确定的;解码目标预切视场角的帧图像,获得目标预切视场角对应的虚拟现实视频。
在一个可能的示例中,在接收目标预切视场角的帧图像之前,该方法还包括接收当前预切视场角的帧图像,接收目标预切视场角的帧图像包括:接收当前预切视场角的下一帧图像,目标预切视场角与当前预切视场角为同一个预切视场角;接收目标预切视场角的帧图像,目标预切视场角与当前预切视场角为不同的预切视场角。
在一个可能的示例中,接收目标预切视场角的帧图像,包括:接收目标预切视场角的帧图像的关键I帧,解码I帧,重复显示上一帧图像,上一帧图像为接收到目标预切视场角的帧图像前,接收到当前预切视场角的最后一帧图像;在接收到目标预切视场角帧图像的目标前向预测P帧的情况下,解码目标P帧,并显示P帧。
在一个可能的示例中,多个预切视场角的切分与一下至少一个因素相关:全景原图的分辨率,服务器的并发编码能力,终端硬件的解码能力,终端用户最大视角。
第三方面,提供一种虚拟现实视频发送装置,该装置包括:
接收模块,用于接收终端发送的用户当前视角坐标信息;
处理模块,用于根据当前视角坐标信息确定多个预切视场角中的目标预切视场角;
发送模块,用于向终端发送目标预切视场角的帧图像。
在一个可能的示例中,发送模块还用于:向终端发送当前预切视场角的帧图像;
处理模块还用于:将目标预切视场角和当前预切视场角对比,确定用户是否切换视场角;若切换视场角,则确定目标预切视场角为切换后的预切视场角;若未切换视场角,则确定目标预切视场角为当前预切视场角。
在一个可能的示例中,在确定目标预切视场角为当前预切视场角后,发送模块还用于:
发送当前预切视场角的下一帧图像;在确定目标预切视场角为切换后的预切视场角后,处理模块还用于:获取目标预切视场角的帧图像的关键I帧,并通过发送模块将I帧发送给终端;根据发送的上一帧图像获取目标预切视场角的帧图像中的目标前向预测P帧,并通过发送模块向终端发送目标P帧,上一帧图像为向终端发送目标预切视场角的帧图像前,向终端发送的当前预切视场角的最后一帧图像。
在一个可能的示例中,目标P帧为目标预切视场角的帧图像中,与上一帧图像的帧序列间隔一个序列的帧图像。
在一个可能的示例中,处理模块具体用于:根据当前视角坐标信息对应的当前视场角确定目标预切视场角,目标预切视场角为多个预切视场角中,覆盖当前视场角范围最大的预切视场角。
在一个可能的示例中,在根据当前视角坐标信息确定多个预切视场角中的目标预切视场角之前,处理模块还用于:划分多个预切视场角;在发送目标预切视场角的帧图像之前,处理模块还用于:确定多个预切视场角的帧图像。
在一个可能的示例中,划分多个预切视场角包括:将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,多个部分中的每个部分对应一个预切视场角。
在一个可能的示例中,确定多个预切视场角的帧图像包括:获取虚拟现实视频的全景原图,并将全景原图解码成平面图像;将平面图像投影到球面上,将球面按照多个预切视场角切分,获得多个预切视场角对应的球面图像;将多个预切视场角对应的球面图像投影到平面上,获得多个预切视场角对应的平面图像;对多个预切视场角对应的平面图像进行编码,获得多个预切视场角对应的帧图像。
在一个可能的示例中,多个预切视场角的切分与一下至少一个因素相关:全景原图的分辨率,服务器的并发编码能力,终端硬件的解码能力,终端用户最大视角。
第四方面,提供一种虚拟现实视频接收装置,该装置包括:
获取模块,用于获取用户当前视角坐标信息,并发送当前视角坐标信息;
接收模块,用于接收目标预切视场角的帧图像,目标预切视场角为根据当前视场角坐标信息确定的;
处理模块,用于解码目标预切视场角的帧图像,获得目标预切视场角对应的虚拟现实视频。
在一个可能的示例中,在接收目标预切视场角的帧图像之前,获取模块还用于接收当前预切视场角的帧图像,接收目标预切视场角的帧图像包括:接收当前预切视场角的下一帧图像,目标预切视场角与当前预切视场角为同一个预切视场角;接收目标预切视场角的帧图像,目标预切视场角与当前预切视场角为不同的预切视场角。
在一个可能的示例中,接收模块具体用于:接收目标预切视场角的帧图像的关键I帧,解码I帧,重复显示上一帧图像,上一帧图像为接收到目标预切视场角的帧图像前,接收到当前预切视场角的最后一帧图像;在接收到目标预切视场角帧图像的目标前向预测P帧的情况下,解码目标P帧,并显示P帧。
第五方面,本申请实施例提供一种电子装置,该装置包括通信接口和处理器,该通信接口用于该装置与其它设备进行通信,例如接收用户当前视角坐标信息。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口,其它设备可以为网络设备。处理器用于调用一组程序、指令或数据,执行上述第一方面描述的方法或执行上述第二方面描述的方法。该装置还可以包括存储器,用于存储处理器调用的程序、指令或数据。存储器与处理器耦合,该处理器执行该存储器中存储的、指令或数据时,可以实现上述第一方面描述的方法或实现上述第二方面描述的方法。
第六方面,本申请实施例中还提供一种电子装置,其特征在于,该通信装置包括处理器、收发器、存储器以及存储在该存储器上并可在该处理器上运行的计算机执行指令,当计算机执行指令被运行时,使得该电子装置执行如第一方面或第一方面中任一种可能的实现方式中的方法或者使得该电子装置执行如第二方面或第二方面中任一种可能的实现方式中的方法。
第七方面,本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行如第一方面或第一方面中任一种可能的实现方式中的方法,或使得计算机执行如第二方面或第二方面中任一种可能的实现方式中的方法。
第八方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第一方面中任一种可能的实现方式中的方法,或用于实现上述第二方面或第二方面中任一种可能的实现方式中的方法该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
可选的,该芯片系统还包括收发器。
第九方面,本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如第一方面或第一方面中任一种可能的实现方式中的方法,或使得计算机执行如第二方面或第二方面中任一种可能的实现方式中的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1A为本申请实施例提供的一种虚拟现实视频播放系统架构示意图;
图1B为本申请实施例提供的一种播放FoV内的视频过程示意图;
图1C为本申请实施例提供的一种视窗编码方式示意图;
图1D为本申请实施例提供的一种通过视窗编码播放FoV内的视频流的过程示意图;
图1E为本申请实施例提供的一种切换FoV的示意图;
图2A为本申请实施例提供的一种虚拟现实视频传输方法流程图;
图2B为本申请实施例提供的一种视场角示意图;
图2C为本申请实施例提供的一种划分预切视场角的示意图;
图2D为本申请实施例提供的一种用户当前视角坐标与预切视场角的关系示意图;
图2E为本申请实施例提供的一种预切视场角对应视频流的示意图;
图3A为本申请实施例提供的另一种虚拟现实视频传输方法流程图;
图3B为本申请实施例提供的一种发送帧图像的示意图;
图4为本申请实施例提供的一种虚拟现实视频发送装置结构框图;
图5为本申请实施例提供的一种虚拟现实视频接收装置结构框图;
图6为本申请实施例提供的一种电子装置的结构示意图。
具体实施方式
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先对本申请实施例的系统架构和相关理论进行介绍。
请参阅图1A,图1A为本申请实施例提供的一种虚拟现实视频播放系统架构示意图,如图1A所示,该系统中包括VR设备110,还包括服务器120,其中服务器120用于向VR设备110发送视频流,以便用户通过VR设备观看视频。在用户通过VR设备观看VR 360°视频的过程中,实际能够看到的画面占全景视频的1/4甚至更少,用户观看到的视频范围可以为称为FoV。故而,在用户观看VR 360°(°表示度)视频的过程中,不需要解码和显示整张8K图像,只需要解码和显示用户当前FoV内的图像即可。而为了保证用户在转头的时候,用户始终能看到图像,保证用户观影不眩晕,还需要提供一路4K或者高分辨率(High Definition,HD)全景作为背景图像。该过程可以如图1B所示,图1B为本申请实施例提供的一种播放FoV内的视频过程示意图,如图1B所示,一路8K VR全景视频被拆分成一路4KFoV和一路4K或者HD的全景流,这样既可以解决VR终端硬件解码能力的限制,也可以把传输带宽降低到80Mbps(比特/秒)以内,满足网络的传输能力限制。
在服务器向VR设备发送视频流之前,需要对视频进行编码以便形成视频流。现有技术方案中,可以采用VR视窗(Tile)编码方案。该方案在编码侧,预先将8K全景图像切分成一路4K或者HD的全景背景流和多路视窗流。4K或者HD的全景背景流,是将8K下采样出一张4K或者HD的全景背景视频流,该流会始终保持向终端发送,作用是为了防止用户快速转头时,视窗流到达的不及时而导致的黑屏和眩晕。
视窗流,是将一帧VR 8K全景图像图片投影到平面上,如图1C所示,图1C为本申请实施例提供的一种视窗编码方式示意图,在按照金字塔编码或者六面体编码的方式,将8K图像分割成若干个小的视窗,每一个视窗都可以独立编解码,集中若干个视窗可以还原出用户视角所需的FoV,这样就可以只传输和解码用户视野方位内的视窗,就可以将8K全景视频缩减为4K视频解码。当用户转头时,终端会首先播放背景视频,然后请求新视场角的视窗分片,在收齐分片后,组成FoV,再加以解码播放。具体如图1D所示,图1D为本申请实施例提供的一种通过视窗编码播放FoV内的视频流的过程示意图,如图1D所示,将8K或(/)16K全景图像通过智能视窗流(tile-wise streaming,TWS)编码,获得4K全景背景流,以及高清晰FoV分片,然后通过TWS内容分发网络(content delivery network,CDN)将4K全景背景流和高清晰FoV分片发送到TWS播放器,也即VR设备,或者还可以包括其他播放器,例如4K数字视频变换盒(set top box,STB),用以作为VR设备的补充播放器。该方案可以有效地解决终端硬件解码能力的不足,使8K/16K VR视频可以在现有终端设备上流畅的播放。
但上述编码方案也存在一些问题,例如1)将8K全景图像切分成若干个视窗后分别进行独立编码,降低了各个视窗之间的关联性,进而影响了编码的效率和压缩率;2)由于各个视窗的形状、位置、拉伸率和编码质量的不同,在终端进行拼接恢复时,会出现一定的拼缝和扭曲形变,影响用户的观影体验;3)由于多个视窗需要并行传输,服务端和终端都需要建立多链接并行处理,需要更多的算力,也带来了同步问题。4)用户大幅度转头时,会出现传输带宽突发的情况,影响观影的流畅性。
现有技术中也可以采用实时编码的方案编码形成视频流。该方案中,服务端提供一路4K或者HD的全景背景视频流和一路实时FoV视频流。同样的,4K或者HD的全景背景视频流,是将8K下采样出一张4K或者HD的全景背景视频流,该流会始终保持向终端发送,作用是为了防止用户快速转头时,FoV对应的视频流到达的不及时而导致的黑屏和眩晕。
实时FoV视频流,是根据终端实时上报的用户当前的视角坐标信息,服务端根据该坐标信息,从8K全景图像中,切割出以用户视角为中心的FoV区域,投影到平面上,加以编码传输给终端,终端解码后加以显示,如图1E所示,图1E为本申请实施例提供的一种切换FoV的示意图,用户的视角坐标处于FoV1内时,VR设备向服务器请求FoV1对应的媒体数据并获得相应数据,然后向用户显示FoV1内的视频;用户的视角坐标切换到FoV2时,VR设备向服务器请求FoV2对应的媒体数据并获得相应数据,然后向用户显示FoV2内的视频。
采用该方案可以解决视窗编码方案所带来的多流并发同步问题和拼接问题,降低突发带宽,提升用户的观影体验。但该方法同样存在相应的问题:该方案需要为每一个用户提供一路独立的渲染、编码算力,使得服务端的并发服务能力受限,只能适用于VR游戏等强交互,低并发场景,不适用于VR视频直播,点播服务等高并发场景。
基于上述描述,请参阅图2A,为本申请实施例提供的一种虚拟现实视频传输方法流程图,该方法包括如下步骤:
201、终端向服务器发送用户当前视角坐标信息。
用户的视角坐标信息是用来标识用户当前所能观看到的视场角的一些信息。在显示系统中,视场角是指显示器边缘与观察点(眼睛)连线的夹角。具体可参阅图2B,为本申请实施例提供的一种视场角示意图,如图2B所示,其中∠AOB为水平视场角,∠BOC为垂直视场角。视角坐标可以为3自由度(degree of freedom,DoF),6DoF或9DoF等,以3DoF为例,用户的视角可以通过前后,左右和上下上个维度来表示。例如用户当前的视角坐标信息可以具体表示为(左0°至左30°,上0°至上45°,前)。
用户的视角坐标信息可以一直不变,例如用户的头保持静止等情况。但是通常情况下,用户的头都是会随着视频播放的进行移动的,因此用户的视角坐标信息也会改变。终端(用户佩戴的VR设备)可以按照预设周期定时获取用户的视角坐标信息,例如周期可以为1s(秒),1ms(毫秒)等。或者也可以根据视频播放内容触发获取用户的当前视角坐标信息,例如每当播放到精彩内容时,需要确定用户是否能够观看到最佳的视野范围内的视频内容,此时可以触发获取用户的当前视角坐标信息。
预切视场角,是指将360°视频划分成预设个数和预设大小的多个视场角。
可选地,划分多个预切视场角包括:将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,多个部分中的每个部分对应一个预切视场角。
如图2C中所示,图2C为本申请实施例提供的一种划分预切视场角的示意图,如图2C中的(a)所示,对360°的球体划分预切视场角时,以球心的位置作为用户眼睛位置,在赤道方向划分的水平视场角为ψ,在垂直方向划分的垂直视场角为θ,最终形成视场角FoV1,该视场角所对应的球面区域即为用户在该视场角所能观看到的画面。同样的,还可以划分出FoV2,其对应的角度大小可以与FoV1相同,都为M°×N°,其中M°为水平视场角的大小,N°为垂直视场角的大小,也可以角度大小不同。另外,需要说明的是,两个相邻视场角在赤道上的跨度为T°,T°小于M°,说明相邻视场角存在重叠部分。具体如图2C中的(b)所示,相邻视场角的重叠部分可以占单个视场角在赤道上总跨度的1/2,也可以为2/3等比例,由于该图中两个相邻视场角的垂直视场角相同,因此视场角对应可视图像面积之间的重叠比例如赤道跨度的重叠比例相同。相邻视场角之间的重叠部分越大,可以保证用户切换视场角时,获得的连续视频流占比越高,反之则获得的连续视频流占比越低,获得连续视频流可以保证用户观看视频的连贯性。但是重叠部分过多也会导致冗余编码的内容越多,开销变大,因此确定恰当的重叠比例即可。
需要说明的是,划分预切视场角,可以是基于视频图像划分的,也可以是非基于视频图像划分的。基于视频图像划分,意思是说对于不通过的视频图像,由于其对应的全景原图的分辨率不同,划分的预切视场角大小也不同。基于非视频图像划分,例如可以是基于服务器的并发编码能力,那么服务器针对所有图像和所有终端都进行同样的预切视场角划分。或者还可以基于终端的解码能力,或者终端用户最大视角等划分预切视场角,那么服务器针对不同终端进行不同的预切视场角划分。可能的情况下,还可以基于上述所有的因素结合进行预切视场角的划分,本申请实施例不做限定。
202、服务器接收终端发送的用户当前视角坐标信息,根据当前视角坐标信息确定多个预切视场角中的目标预切视场角。
完成预切视场角的划分后,可以根据用户的当前视角坐标信息确定用户当前所处的预切视场角。
实际上,划分的每个预切视场角都有其对应的视角坐标,例如针对划分的预切视场角R,以视角坐标为3自由度(degree of freedom,DoF)为例,其对应的视角坐标为:左右方向为左0°至左M°,前后方向为前,上下方向为上0°至上N°。假设用户当前的视角坐标信息为(左1/2M°至左M°,前,上0°至上1/2N°),那么可以确定用户当前的视场角全部落入预切视场角R中,即预切视场角R为目标预切视场角。
可能的情况下,用户的当前视场角坐标并不完全落入单个预切视场角中。如图2D所示,为本申请实施例提供的一种用户当前视角坐标与预切视场角的关系示意图,用户的当前视场角坐标对应到当前视场角为FoVa,从图2D中可以看出,FoVa不与任何一个预切视场角重叠,也不完全被任何一个预切视场角覆盖,而是落入了三个预切视场角FoV3,FoV4,FoV5中。在这种情况下,如果将这三个预切视场角都作为用户当前所处的目标预切视场角,会导致过多的编码和传输冗余。本申请实施例中,将用户所在的多个预切视场角中,覆盖当前视场角范围最大的预切视场角作为目标预切视场角,当前视场角即为用户当前视角坐标信息对应的视场角。如图2D中所示,当前视场角FoVa与FoV4之间的重叠部分最大,也即FoV4覆盖当前视场角范围最大,因此目标预切视场角为FoV4。
203、服务器向终端发送目标预切视场角的帧图像。
204、终端解码目标预切视场角的帧图像,获得目标预切视场角对应的虚拟现实视频。
服务器确定了用户当前所处的目标预切视场角后,向用户的终端发送目标预切视场角的编码视频流(由帧图像组成),以便用户能够观看到最佳视角的视频。
获得每个预切视场角对应的帧图像的过程包括:获取虚拟现实视频的全景原图,并将全景原图解码成平面图像;将平面图像投影到球面上,将球面按照多个预切视场角切分,获得多个预切视场角对应的球面图像;将多个预切视场角对应的球面图像投影到平面上,获得多个预切视场角对应的平面图像;对多个预切视场角对应的平面图像进行编码,获得多个预切视场角对应的帧图像。
具体可以如图2C中的(a)所示,该球体为一个平面图像投影到球面上形成的,然后按照预切视场角切分该球面图像,获得每个预切视场角对应的球面图像,例如FoV1和FoV2分别对应一个球面图像,然后如图2C中的(b)所示,将球面图像投影到平面上,获得每个预切视场角图像对应的平面图像。对这些平面图像进行编码,可以获得每个预切视场角对应的帧图像。由于视频采用视频流的形式发送,而视频流又是由多个静止的帧图像按照时间顺序重叠形成的,因此每个预切视场角对应的视频流也是由多帧图像组成。
每个预切视场角编码形成的视频流可以如图2E所示,图2E为本申请实施例提供的一种预切视场角对应视频流的示意图,视频流(或者为一个画面组)被编码成一路,由一个I(intra picture)帧和一系列P帧组成,其中I帧又被成为关键帧,P帧又被成为前向预测编码帧,使用这种编码方式,可以保证每一个P帧都可以基于I帧独立解码。
在发送目标预切视场角的帧图像时,按照编码排序依次发送帧图像即可。
终端接收到目标预切视场角的帧图像后,对其进行解码,获得预切视场角对应的虚拟现实视频。可能的情况下,终端上的播放器对该虚拟现实视频进行播放,或者终端也可以将该虚拟显示视频发送到其他设备上进行播放。
可见,在本申请实施例中,通过划分预切视场角,并按照预切视场角对视频进行编码获得对应的视频流,再根据用户所处的当前位置信息确定用户对应的目标预切视场角,再向用户发送目标预切视场角的帧图像。这个过程中,划分的预切视场角是比视窗更大的分块,可以解决划分视窗时存在的编码率和压缩率低,拼接处理算力增大,存在的拼缝太多造成扭曲变形等问题。另一方面,本方案采用预切视场角,并针对不同终端进行相同的预切视场角编码和渲染,可以降低实时编码和渲染可能带来的服务端并发压力大问题,使得本申请实施例的编码方案能够适应高并发场景的需求。
在一种可能的场景中,终端在接收服务器发送的视频流时,用户转头变换了位置,那么用户的视场角也可能发生变化,基于此,请参阅图3A,为本申请实施例提供的另一种虚拟现实视频传输方法流程图,该方法包括如下步骤:
301、服务器接收终端发送的用户当前视角坐标信息;
302、服务器根据当前视角坐标信息确定多个预切视场角中的目标预切视场角;
与前述图2A~图2E对应的实施例相同地,本申请实施例也需要获取用户的当前视角坐标信息,并根据当前视角坐标信息确定对应的目标预切视场角,具体过程请参阅前述描述,在此不再赘述。
303、服务器将目标预切视场角和当前预切视场角对比,确定用户是否切换视场角,当前预切视场角为在向终端发送目标预切视场角的帧图像之前,向终端发送的帧图像对应的预切视场角。
由于在确定用户当前所在的目标预切视场角之前,服务器已经在向终端发送预切视场角的视频流了,该视频流对应的预切视场角为当前预切视场角。因此在确定用户的目标预切视场角后,需要将之与当前预切视场角相比,确定用户是否切换了预切视场角。
在将目标预切视场角和当前预切视场角对比时,主要是对比两个预切视场角是否为同一个预切视场角,因此对比方式可以是视场角名称或编号的对比,也可以是视场角特征对比等。
304、若切换视场角,则服务器向终端发送目标预切视场角的帧图像。
若用户切换了视场角,需要向用户终端发送切换之后的目标预切视场角的视频流,以便用户观看到最清晰的视频图像。
这里需要说明的是,对于一个360°的VR视频,不同FoV内的视频帧只是所处的视角区域不同,但是播放流速是相同的,因此所有FoV内的视频流是按照同样的时间流编码的。
可选地,服务器向终端发送目标预切视场角的帧图像,包括:获取目标预切视场角的帧图像的关键I帧,并将I帧发送给终端;根据向终端发送的上一帧图像获取目标预切视场角的帧图像中的目标前向预测P帧,并向终端发送目标P帧,上一帧图像为发送目标预切视场角的帧图像前,发送的当前预切视场角的最后一帧图像。
具体地,服务器向终端发送帧图像的过程可以参阅图3B,图3B为本申请实施例提供的一种发送帧图像的示意图,如图3B中的(a)所示,在用户的终端切换视场角前,服务器向终端发送FoV1对应的帧图像,按照时间顺序依次发送排序为0~5的帧图像,其中排序0的为I帧,排序1~5的为P帧。假设发送到排序为2的帧时(该帧图像即为服务器发送目标预切视场角的帧图像前,发送的当前预切视场角的最后一帧图像,即为上一帧图像),服务器确定终端的视场角切换到了FoV2,如图3B中的(b)所示,此时服务器向终端发送FoV2的图像帧,首先服务器需要向终端发送FoV2的I帧,因为后续P帧的解码都需要参考I帧。然后服务器根据FoV1的发送进度向终端发送FoV的P帧,由于FoV1的P帧已发送到排序为2的帧(上一帧图像),并且发送FoV2的I帧时又占用了一个帧的发送时间,因此服务器发送的下一帧图像为与上一帧图像之间间隔一个序列的帧图像,即下一帧图像为FoV2中排序4的P帧。另外如图3B中的(c)所示,终端在解码显示视频帧图像时,接收到了FoV2的I帧,但是因为已经过了I帧的显示时间,因此终端接收到I帧后,对I帧进行解码但不显示。此时对接收到的上一帧图像(FoV1的2帧)进行重复显示,以免出现画面卡顿。
305、若未切换视场角,则服务器向终端发送当前预切视场角的下一帧图像。
如果确定用户的没有切换预设视场角,则目标预切视场角即为当前预切视场角,也即是说能够为用户提供最大范围覆盖当前视场角的预切视场角依旧是服务器当前发送图像帧的预切视场角,那么继续发送当前预切视场角的下一帧图像即可。
终端接收到目标预切视场角的帧图像后,对其进行解码,获得预切视场角对应的虚拟现实视频。可能的情况下,终端上的播放器对该虚拟现实视频进行播放,或者终端也可以将该虚拟显示视频发送到其他设备上进行播放。
可见,在本申请实施例中,通过对全景视频图像划分多个预切视场角,然后根据用户当前视角坐标信息确定用户是否切换了预切视场角,在用户切换预切视场角的情况下,向用户发送新的预切视场角的帧图像。这个过程中,划分预切视场角可以提升编码率和视频流畅度,提升视频发送的并发能力。另一方面,在用户切换预切视场角的情况下,才为用户传输新的预切视场角的帧图像,可以保证用户获取通过预切视场角获取到比例最大的清晰视频帧图像,同时避免频繁切换传输对象可能带来的卡顿问题,提升用户体验。
图4为本申请实施例提供的一种虚拟现实视频发送装置400,其可以用于执行上述图2A~图2E或图3A~图3B的服务器执行的方法和具体实施例。在一种可能的实现方式中,如图4所示,该装置400包括接收模块401,处理模块402和发送模块403。
接收模块401,用于接收终端发送的用户当前视角坐标信息;
处理模块402,用于根据当前视角坐标信息确定多个预切视场角中的目标预切视场角;
发送模块403,用于向终端发送目标预切视场角的帧图像。
可选地,发送模块403还用于:向终端发送当前预切视场角的帧图像;
处理模块402还用于:将目标预切视场角和当前预切视场角对比,确定用户是否切换视场角;若切换视场角,则确定目标预切视场角为切换后的预切视场角;若未切换视场角,则确定目标预切视场角为当前预切视场角。
可选地,在确定目标预切视场角为当前预切视场角后,发送模块403还用于:发送当前预切视场角的下一帧图像;在确定目标预切视场角为切换后的预切视场角后,处理模块402还用于:获取目标预切视场角的帧图像的关键I帧,并通过发送模块403将I帧发送给终端;根据发送的上一帧图像获取目标预切视场角的帧图像中的目标前向预测P帧,并通过发送模块403向终端发送目标P帧,上一帧图像为向终端发送目标预切视场角的帧图像前,向终端发送的当前预切视场角的最后一帧图像。
可选地,目标P帧为目标预切视场角的帧图像中,与上一帧图像的帧序列间隔一个序列的帧图像。
可选地,处理模块402具体用于:根据当前视角坐标信息对应的当前视场角确定目标预切视场角,目标预切视场角为多个预切视场角中,覆盖当前视场角范围最大的预切视场角。
可选地,在根据当前视角坐标信息确定多个预切视场角中的目标预切视场角之前,处理模块402还用于:划分多个预切视场角;在发送目标预切视场角的帧图像之前,处理模块402还用于:确定多个预切视场角的帧图像。
可选地,划分多个预切视场角包括:将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,多个部分中的每个部分对应一个预切视场角。
可选地,确定多个预切视场角的帧图像包括:获取虚拟现实视频的全景原图,并将全景原图解码成平面图像;将平面图像投影到球面上,将球面按照多个预切视场角切分,获得多个预切视场角对应的球面图像;将多个预切视场角对应的球面图像投影到平面上,获得多个预切视场角对应的平面图像;对多个预切视场角对应的平面图像进行编码,获得多个预切视场角对应的帧图像。
可选地,多个预切视场角的切分与一下至少一个因素相关:全景原图的分辨率,服务器的并发编码能力,终端硬件的解码能力,终端用户最大视角。
可选的,上述处理模块402可以是中央处理器(Central Processing Unit,CPU)。
可选的,接收模块401和发送模块403可以是接口电路或者收发器。用于从其他电子装置接收或发送数据或指令。例如上述过程中接收终端发送的用户当前视角坐标信息,向终端发送目标预切视场角的帧图像等。
可选的,虚拟现实视频发送装置400还可以包括存储模块(图中未示出),该存储模块可以用于存储数据和/或信令,存储模块可以和接收模块401,处理模块402和发送模块403耦合。例如,处理模块402可以用于读取存储模块中的数据和/或信令,使得前述方法实施例中的确定多个预切视场角中的目标预切视场角的过程被执行。
图5为本申请实施例提供的一种虚拟现实视频接收装置500,其可以用于执行上述图2A~图2E或图3A~图3B的终端执行的方法和具体实施例。在一种可能的实现方式中,如图5所示,该装置500包括获取模块501,接收模块502和处理模块503。
获取模块501,用于获取用户当前视角坐标信息,并发送当前视角坐标信息;
接收模块502,用于接收目标预切视场角的帧图像,目标预切视场角为根据当前视场角坐标信息确定的;
处理模块503,用于解码预切视场角的帧图像,获得预切视场角对应的虚拟现实视频。
可选地,在接收目标预切视场角的帧图像之前,获取模块501还用于接收当前预切视场角的帧图像,接收目标预切视场角的帧图像包括:接收当前预切视场角的下一帧图像,目标预切视场角与当前预切视场角为同一个预切视场角;接收目标预切视场角的帧图像,目标预切视场角与当前预切视场角为不同的预切视场角。
可选地,接收模块502具体用于:接收目标预切视场角的帧图像的关键I帧,解码I帧,重复显示上一帧图像,上一帧图像为接收到目标预切视场角的帧图像前,接收到当前预切视场角的最后一帧图像;在接收到目标预切视场角帧图像的目标前向预测P帧的情况下,解码目标P帧,并显示P帧。
可选地,多个预切视场角的切分与一下至少一个因素相关:全景原图的分辨率,服务器的并发编码能力,终端硬件的解码能力,终端用户最大视角。
可选的,上述处理模块503可以是中央处理器(Central Processing Unit,CPU),或者可以是图形处理器(graphics processing unit,GPU),也可以是CPU和GPU的结合,可用于进行图像渲染,本申请不做具体限制。
可选的,该虚拟现实视频接收装置500还可以包括发送模块,接收模块502和发送模块可以是接口电路或者收发器。用于从其他电子装置接收或发送数据或指令。
可选的,虚拟现实视频接收装置500还可以包括存储模块(图中未示出),该存储模块可以用于存储数据和/或信令,存储模块可以和获取模块501,接收模块502和处理模块503耦合。例如,处理模块503可以用于读取存储模块中的数据和/或信令,使得前述方法实施例中的解码预切视场角的帧图像,获得预切视场角对应的虚拟现实视频的过程被执行。
如图6所示,图6示出了本申请实施例中的一种电子装置的硬件结构示意图。虚拟现实视频发送装置400和虚拟现实视频接收装置500的结构可以参考图6所示的结构。电子装置800包括:存储器801、处理器802、通信接口803,总线804,以及显卡805。其中,存储器801、处理器802、通信接口803和显卡805通过总线804实现彼此之间的通信连接。
存储器801可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器801可以存储程序,当存储器801中存储的程序被处理器802执行时,处理器802和通信接口803用于执行本申请实施例的分布式渲染方法的各个步骤。
处理器802可以采用通用的CPU,微处理器,应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC),GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的虚拟现实视频发送装置400中的接收模块401,处理模块402和发送模块403所需执行的功能,或实现虚拟现实视频接收装置500中的获取模块501,接收模块502和处理模块503所需执行的功能,或者执行本申请方法实施例的虚拟现实视频传输方法。
处理器802还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的分布式渲染方法的各个步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802还可以是通用处理器、数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成本申请实施例的虚拟现实视频发送装置400或虚拟现实视频接收装置500中包括的模块所需执行的功能,或者执行本申请方法实施例的虚拟现实视频传输方法。
通信接口803使用例如但不限于收发器一类的收发装置,来实现电子装置800与其他设备或通信网络之间的通信。例如,可以通过通信接口803获取确定的分割目标和/或候选目标边界框。总线804可包括在电子装置800各个部件(例如,存储器801、处理器802、通信接口803)之间传送信息的通路。
物理显卡805用于对虚拟现实视频进行处理,包括对其进行渲染和显示等。
应注意,尽管图6所示的电子装置800仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,电子装置800还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,电子装置800还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,电子装置800也可仅仅包括实现本申请实施例所必须的器件,而不必包括图6中所示的全部器件。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (28)
1.一种虚拟现实视频传输方法,其特征在于,所述方法包括:
接收用户当前视角坐标信息;
根据所述当前视角坐标信息确定多个预切视场角中的目标预切视场角;
发送所述目标预切视场角的帧图像。
2.根据权利要求1所述的方法,其特征在于,在发送所述目标预切视场角的帧图像之前,所述方法还包括发送当前预切视场角的帧图像;
在根据所述当前视角坐标信息确定多个预切视场角中的目标预切视场角之后,所述方法还包括:
将所述目标预切视场角和所述当前预切视场角对比,确定所述用户是否切换视场角;
若切换视场角,则确定所述目标预切视场角为切换后的预切视场角;
若未切换视场角,则确定所述目标预切视场角为所述当前预切视场角。
3.根据权利要求2所述的方法,其特征在于,在确定所述目标预切视场角为所述当前预切视场角后,所述发送所述目标预切视场角的帧图像包括:
发送所述当前预切视场角的下一帧图像;
在确定所述目标预切视场角为切换后的预切视场角后,发送所述目标预切视场角的帧图像包括:
获取所述目标预切视场角的帧图像的关键I帧,并将所述I帧发送给所述终端;
根据发送的所述上一帧图像获取所述目标预切视场角的帧图像中的目标前向预测P帧,并发送所述目标P帧,所述上一帧图像为发送所述目标预切视场角的帧图像前,发送的所述当前预切视场角的最后一帧图像。
4.根据权利要求3所述的方法,其特征在于,所述目标P帧为所述目标预切视场角的帧图像中,与所述上一帧图像的帧序列间隔一个序列的帧图像。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述当前视角坐标信息确定目标预切视场角,包括:
根据所述当前视角坐标信息对应的当前视场角确定所述目标预切视场角,所述目标预切视场角为多个预切视场角中,覆盖所述当前视场角范围最大的预切视场角。
6.根据权利要求1所述的方法,其特征在于,在根据所述当前视角坐标信息确定多个预切视场角中的目标预切视场角之前,所述方法还包括:划分所述多个预切视场角;
在发送所述目标预切视场角的帧图像之前,所述方法还包括:确定所述多个预切视场角的帧图像。
7.根据权利要求6所述的方法,其特征在于,所述划分所述多个预切视场角包括:
将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,所述多个部分中的每个部分对应一个预切视场角。
8.根据权利要求6或7所述的方法,其特征在于,所述确定所述多个预切视场角的帧图像包括:
获取所述虚拟现实视频的全景原图,并将所述全景原图解码成平面图像;
将所述平面图像投影到球面上,将所述球面按照所述多个预切视场角切分,获得所述多个预切视场角对应的球面图像;
将所述多个预切视场角对应的球面图像投影到平面上,获得所述多个预切视场角对应的平面图像;
对所述多个预切视场角对应的平面图像进行编码,获得所述多个预切视场角对应的帧图像。
9.根据权利要求8所述的方法,其特征在于,所述多个预切视场角的切分与一下至少一个因素相关:所述全景原图的分辨率,所述服务器的并发编码能力,所述终端硬件的解码能力,终端用户最大视角。
10.一种虚拟现实视频传输方法,其特征在于,所述方法包括:
获取用户当前视角坐标信息,并发送所述当前视角坐标信息;
接收目标预切视场角的帧图像,所述目标预切视场角为根据所述当前视场角坐标信息确定的;
解码所述目标预切视场角的帧图像,获得所述目标预切视场角对应的虚拟现实视频。
11.根据权利要求10所述的方法,其特征在于,在接收目标预切视场角的帧图像之前,所述方法还包括接收当前预切视场角的帧图像,所述接收目标预切视场角的帧图像包括:
接收所述当前预切视场角的下一帧图像,所述目标预切视场角与所述当前预切视场角为同一个预切视场角;
接收所述目标预切视场角的帧图像,所述目标预切视场角与所述当前预切视场角为不同的预切视场角。
12.根据权利要求11所述的方法,其特征在于,接收所述目标预切视场角的帧图像,包括:
接收所述目标预切视场角的帧图像的关键I帧,解码所述I帧,重复显示上一帧图像,所述上一帧图像为接收到所述目标预切视场角的帧图像前,接收到所述当前预切视场角的最后一帧图像;
在接收到所述目标预切视场角帧图像的目标前向预测P帧的情况下,解码所述目标P帧,并显示所述P帧。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述多个预切视场角的切分与一下至少一个因素相关:所述全景原图的分辨率,所述服务器的并发编码能力,所述终端硬件的解码能力,终端用户最大视角。
14.一种虚拟现实视频发送装置,其特征在于,所述装置包括:
接收模块,用于接收终端发送的用户当前视角坐标信息;
处理模块,用于根据所述当前视角坐标信息确定多个预切视场角中的目标预切视场角;
发送模块,用于向所述终端发送所述目标预切视场角的帧图像。
15.根据权利要求14所述的装置,其特征在于,所述发送模块还用于:向所述终端发送当前预切视场角的帧图像;
所述处理模块还用于:
将所述目标预切视场角和所述当前预切视场角对比,确定所述用户是否切换视场角;
若切换视场角,则确定所述目标预切视场角为切换后的预切视场角;
若未切换视场角,则确定所述目标预切视场角为所述当前预切视场角。
16.根据权利要求15所述的装置,其特征在于,在确定所述目标预切视场角为所述当前预切视场角后,所述发送模块还用于:
发送所述当前预切视场角的下一帧图像;
在确定所述目标预切视场角为切换后的预切视场角后,所述处理模块还用于:
获取所述目标预切视场角的帧图像的关键I帧,并通过所述发送模块将所述I帧发送给所述终端;
根据发送的上一帧图像获取所述目标预切视场角的帧图像中的目标前向预测P帧,并通过所述发送模块向所述终端发送所述目标P帧,所述上一帧图像为向所述终端发送所述目标预切视场角的帧图像前,向所述终端发送的所述当前预切视场角的最后一帧图像。
17.根据权利要求16所述的装置,其特征在于,所述目标P帧为所述目标预切视场角的帧图像中,与所述上一帧图像的帧序列间隔一个序列的帧图像。
18.根据权利要求14-17任一项所述的装置,其特征在于,所述处理模块具体用于:
根据所述当前视角坐标信息对应的当前视场角确定所述目标预切视场角,所述目标预切视场角为多个预切视场角中,覆盖所述当前视场角范围最大的预切视场角。
19.根据权利要求14所述的装置,其特征在于,在根据所述当前视角坐标信息确定多个预切视场角中的目标预切视场角之前,所述处理模块还用于:划分所述多个预切视场角;
在发送所述目标预切视场角的帧图像之前,所述处理模块还用于:确定所述多个预切视场角的帧图像。
20.根据权利要求19所述的装置,其特征在于,所述划分所述多个预切视场角包括:
将球面以球心为顶点切分成M°×N°的多个部份,其中M°为占用的赤道方向的跨度,N°为占用的垂直方向的夹角,相邻部分在赤道方向的间隔为T°,T<M,所述多个部分中的每个部分对应一个预切视场角。
21.根据权利要求19或20所述的装置,其特征在于,所述确定所述多个预切视场角的帧图像包括:
获取所述虚拟现实视频的全景原图,并将所述全景原图解码成平面图像;
将所述平面图像投影到球面上,将所述球面按照所述多个预切视场角切分,获得所述多个预切视场角对应的球面图像;
将所述多个预切视场角对应的球面图像投影到平面上,获得所述多个预切视场角对应的平面图像;
对所述多个预切视场角对应的平面图像进行编码,获得所述多个预切视场角对应的帧图像。
22.根据权利要求21所述的装置,其特征在于,所述多个预切视场角的切分与一下至少一个因素相关:所述全景原图的分辨率,所述服务器的并发编码能力,所述终端硬件的解码能力,终端用户最大视角。
23.一种虚拟现实视频接收装置,其特征在于,所述装置包括:
获取模块,用于获取用户当前视角坐标信息,并发送所述当前视角坐标信息;
接收模块,用于接收目标预切视场角的帧图像,所述目标预切视场角为根据所述当前视场角坐标信息确定的;
处理模块,用于解码所述目标预切视场角的帧图像,获得所述目标预切视场角对应的虚拟现实视频。
24.根据权利要求23所述的装置,其特征在于,在接收目标预切视场角的帧图像之前,所述获取模块还用于接收当前预切视场角的帧图像,所述接收目标预切视场角的帧图像包括:
接收所述当前预切视场角的下一帧图像,所述目标预切视场角与所述当前预切视场角为同一个预切视场角;
接收所述目标预切视场角的帧图像,所述目标预切视场角与所述当前预切视场角为不同的预切视场角。
25.根据权利要求24所述的装置,其特征在于,所述接收模块具体用于:
接收所述目标预切视场角的帧图像的关键I帧,解码所述I帧,重复显示上一帧图像,所述上一帧图像为接收到所述目标预切视场角的帧图像前,接收到所述当前预切视场角的最后一帧图像;
在接收到所述目标预切视场角帧图像的目标前向预测P帧的情况下,解码所述目标P帧,并显示所述P帧。
26.根据权利要求23-25任一项所述的装置,其特征在于,所述多个预切视场角的切分与一下至少一个因素相关:所述全景原图的分辨率,所述服务器的并发编码能力,所述终端硬件的解码能力,终端用户最大视角。
27.一种电子装置,其特征在于,所述电子装置包括处理器、收发器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机执行指令,当所述计算机执行指令被运行时,使得所述电子装置执行如权利要求1至9任一项所述的方法或使得所述电子装置执行如权利要求10至13任一项所述的方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在通信装置上运行时,使得所述通信装置执行权利要求1至9任一项所述的方法,使得所述通信装置执行权利要求10至13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715178.4A CN115529449A (zh) | 2021-06-26 | 2021-06-26 | 虚拟现实视频传输方法及装置 |
PCT/CN2022/099723 WO2022268008A1 (zh) | 2021-06-26 | 2022-06-20 | 虚拟现实视频传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715178.4A CN115529449A (zh) | 2021-06-26 | 2021-06-26 | 虚拟现实视频传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529449A true CN115529449A (zh) | 2022-12-27 |
Family
ID=84545146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110715178.4A Pending CN115529449A (zh) | 2021-06-26 | 2021-06-26 | 虚拟现实视频传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115529449A (zh) |
WO (1) | WO2022268008A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI840105B (zh) * | 2023-02-01 | 2024-04-21 | 秦創科技有限公司 | 全景影像處理系統及其處理方法 |
CN118098124B (zh) * | 2024-04-17 | 2024-08-02 | 南京芯视元电子有限公司 | 微显示系统、显示方法及微显示屏 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060515B (zh) * | 2016-07-14 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 全景媒体文件推送方法及装置 |
CN107396077B (zh) * | 2017-08-23 | 2022-04-08 | 深圳看到科技有限公司 | 虚拟现实全景视频流投影方法和设备 |
CN109698949B (zh) * | 2017-10-20 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 基于虚拟现实场景的视频处理方法、装置和系统 |
EP3724858A4 (en) * | 2017-12-14 | 2021-01-13 | Samsung Electronics Co., Ltd. | PROCEDURE AND DEVICE FOR MANAGING IMMERSIVE DATA |
WO2019120575A1 (en) * | 2017-12-22 | 2019-06-27 | Huawei Technologies Co., Ltd. | Vr 360 video for remote end users |
CN108322727A (zh) * | 2018-02-28 | 2018-07-24 | 北京搜狐新媒体信息技术有限公司 | 一种全景视频传输方法及装置 |
CN114035672A (zh) * | 2020-07-20 | 2022-02-11 | 华为技术有限公司 | 一种虚拟现实vr场景的视频处理方法及相关设备 |
-
2021
- 2021-06-26 CN CN202110715178.4A patent/CN115529449A/zh active Pending
-
2022
- 2022-06-20 WO PCT/CN2022/099723 patent/WO2022268008A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022268008A1 (zh) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102013403B1 (ko) | 구면 영상 스트리밍 | |
JP6410918B2 (ja) | パノラマ映像コンテンツの再生に使用するシステム及び方法 | |
US20180098090A1 (en) | Method and Apparatus for Rearranging VR Video Format and Constrained Encoding Parameters | |
US20160277772A1 (en) | Reduced bit rate immersive video | |
WO2022268008A1 (zh) | 虚拟现实视频传输方法及装置 | |
US11138460B2 (en) | Image processing method and apparatus | |
CN105898344A (zh) | 一种全景视频的播放方法和装置 | |
CN109698952B (zh) | 全景视频图像的播放方法、装置、存储介质及电子装置 | |
CN111935557B (zh) | 视频处理方法、装置及系统 | |
CN107426491B (zh) | 一种360度全景视频的实现方法 | |
US10652578B2 (en) | Processing of multi-directional images in spatially-ordered video coding applications | |
EP3434021B1 (en) | Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices | |
CN110933461B (zh) | 图像处理方法、装置、系统、网络设备、终端及存储介质 | |
CN113438495A (zh) | Vr直播方法、装置、系统、设备及存储介质 | |
CN112602329A (zh) | 用于360度视频解码的块置乱 | |
US11457053B2 (en) | Method and system for transmitting video | |
CN115580738B (zh) | 一种按需传输的高分辨率视频展现方法、设备和系统 | |
CN113315969B (zh) | 一种适用于图像传输的数据处理方法、系统和存储介质 | |
CN117135358A (zh) | 视频编码方法、视频解码方法及相关装置 | |
CN116939231A (zh) | 基于虚拟现实的直播方法、装置、设备及存储介质 | |
KR102183895B1 (ko) | 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱 | |
KR102658474B1 (ko) | 가상 시점 합성을 위한 영상 부호화/복호화 방법 및 장치 | |
CN113900572B (zh) | 视频数据处理方法、解码设备、编码设备及存储介质 | |
CN118301306A (zh) | 一种全景视频数据传输方法、存储介质、处理设备 | |
CN115550565A (zh) | 数据处理的方法、头戴设备、控制设备、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |