CN111885417B - Vr视频播放方法、装置、设备以及存储介质 - Google Patents
Vr视频播放方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN111885417B CN111885417B CN202010738922.8A CN202010738922A CN111885417B CN 111885417 B CN111885417 B CN 111885417B CN 202010738922 A CN202010738922 A CN 202010738922A CN 111885417 B CN111885417 B CN 111885417B
- Authority
- CN
- China
- Prior art keywords
- video frame
- video
- target
- area
- visual area
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000000007 visual effect Effects 0.000 claims abstract description 194
- 238000009877 rendering Methods 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims description 46
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- 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)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种VR视频播放方法、装置、设备及存储介质。该方法包括:获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识;VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块;对各视频帧的部分分块数据进行解码;针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;按照各个视频帧的时间顺序,渲染各个目标解码数据至视频播放端的视频播放窗口,以播放VR视频。通过本方案可以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题。
Description
技术领域
本发明涉及视频处理技术领域,特别是涉及VR视频播放方法、装置、设备及存储介质。
背景技术
VR(Virtual Reality,虚拟现实)视频,又称全景视频,是当前沉浸模式播放体验中的一种重要视频形式。针对VR视频而言,由于各视频帧属于全景角度,而用户的视角范围有限,因此,在播放过程中,视频播放端的视频播放窗口中展示各视频帧的部分区域,该部分区域称为视频帧的视区(FOV)。
相关技术中,在VR视频播放过程中,通过用户转动头部和滑动手势等,实现视区的移动,即各视频帧的视区的变化,从而使得用户观看到各个视频帧的显著性区域,该显著性区域通常为用户感兴趣的区域。
可见,由于相关技术中VR视频播放过程依赖于用户参与,而针对不同的播放设备,用户交互方式不同,因此,VR视频在不同播放设备播放时的交互体验差异较大,最终无疑影响用户的观看体验,尤其是交互不便捷的设备和交互便捷的设备,例如:台式机和头戴设备,VR视频的交互体验的差异非常大。
发明内容
本发明实施例的目的在于提供VR视频播放方法、装置、设备及存储介质,以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题。
具体技术方案如下:
第一方面,本发明实施例提供了一种VR视频播放方法,应用于视频播放端,所述方法包括:
获取服务器发送的虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;
对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
可选地,每一视频帧的目标视区的位置标识包括:该视频帧的目标位置点的位置信息,所述目标位置点为该视频帧的目标视区的中心点;
所述针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,包括:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于所述区域位置的目标解码数据。
可选地,所述获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,所述方法还包括:
向所述服务器发送用户指定的视区尺寸;
每一视频帧的目标视区为:所述服务器预先确定的包含该视频帧的显著性区域、且符合所述指定的视区尺寸的区域。
可选地,所述VR视频的各视频帧的部分分块数据的确定方式包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
可选地,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
可选地,所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
第二方面,本发明实施例提供了一种VR视频播放方法,所述方法包括:
服务器确定虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识,并在视频播放端请求所述VR视频时,向所述视频播放端发送VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;
所述视频播放端获取所述服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识;对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
可选地,所述确定VR视频的各视频帧的部分分块数据,包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
可选地,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
可选地,所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
第三方面,本发明实施例提供了一种VR视频播放装置,应用于视频播放端,所述装置包括:
获取模块,用于获取服务器发送的虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;
解码模块,用于对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
确定模块,用于针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
渲染模块,用于按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
可选地,每一视频帧的目标视区的位置标识包括:该视频帧的目标位置点的位置信息,所述目标位置点为该视频帧的目标视区的中心点;
所述确定模块具体用于:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于所述区域位置的目标解码数据。
可选地,所述获取模块在获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,还用于向服务器发送用户指定的视区尺寸;
每一视频帧的目标视区为:所述服务器预先确定的包含该视频帧的显著性区域、且符合所述指定的视区尺寸的区域。
可选地,所述VR视频的各视频帧的部分分块数据的确定方式包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
可选地,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
可选地,所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
第四方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所提供的VR视频播放方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所提供的VR视频播放方法的步骤。
本发明实施例提供的方案中,VR视频在服务器中以分块存储的方式进行存储;并且,在VR视频播放过程中,视频播放端获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块;并对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;进而,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至该视频播放端的视频播放窗口,以播放该VR视频。
本方案中,视频播放端获取的VR视频的各视频帧的部分分块数据是与目标视区相关的部分数据,而目标视区是基于显著性区域所确定的,因此,视频播放端利用所获取到的各视频帧的部分分块数据进行视频播放,便可以达到无需用户参与而自动移动视区的效果。可见,VR视频的播放无需依赖用户参与,因此,通过本方案,可以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题,从而可以提升用户的观看体验。
另外,由于在视频播放过程中,仅仅传输视频的部分视频数据,可以大大降低高分辨率、高码率的VR视频对带宽和设备性能的要求,以及减少卡顿和在低带宽下也可以保证视频画面的流畅性;同时,减少视频播放端对于视区预测以及视区移动所带来的播放延迟的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所提供的一种VR视频播放方法的流程图;
图2为本发明实施例所提供的一种VR视频播放方法的另一流程图;
图3(a)为VR视频的球形模型的示意图;
图3(b)为视区的视区尺寸的示意图;
图3(c)为将视频帧分割成8x8块的示意图;
图3(d)为标示有目标视区的视频帧的示意图;
图3(e)为目标视区与视频帧的存储块的覆盖关系的示意图;
图4为本发明实施例所提供的一种VR视频播放装置的结构示意图;
图5为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了方便理解方案,首先对本发明实施例所涉及到术语进行如下介绍。
(1)视区以及视区尺寸:
针对VR视频而言,由于各视频帧属于全景角度,而用户的视角范围有限,因此,在播放过程中,视频播放端的视频播放窗口中展示各视频帧的部分区域,该部分区域称为视频帧的视区(FOV)。
另外,针对VR视频而言,其具有一个模型信息,例如:球形模型。参见3(a)所示的球形模型,视点中心在球体中心o,视频数据覆盖球体表面,而视频渲染时,可以理解为投影一块球体表面至视频播放窗口,该投影至视频播放窗口的球体表面可以认为是视频帧的视区。在该图3(a)中,灰度区域为投影至视频播放窗口的球体表面。
视区尺寸为表征视区的大小的信息。视区尺寸的表征形式可以存在多种。由于视频帧为全景角度,那么,在获知水平方向的视角范围以及竖直方向的视角范围后,视频帧的视区的大小即可确定。基于该种考虑,示例性的,在一种实现方式中,视区尺寸的表征形式可以为:(FOV(w),FOV(h)),其中,FOV(w)表征水平方向的视角范围,FOV(h)表征竖直方向的视角范围,例如视区尺寸为(90°,90°)或者,(120°,90°)。示例性的,在另一种实现方式中,视区尺寸的表征形式可以为:(FOV(w),R),其中R=FOV(w)/FOV(h),例如:视区尺寸为(90°,1:1),即水平方向的视角范围为90°,竖直方向的视角范围为90°;视区尺寸为(120°,4:3),即水平方向的视角范围为120°,竖直方向的视角范围为90°。参见图3(b)所示,o为视点,w为视区在水平方向的具体的尺寸值,而h为视区在竖直方向的具体的尺寸值,FOV(w)表征水平方向的视角范围,FOV(h)表征竖直方向的视角范围。
(2)视频帧的显著性区域:
图像显著性是图像中重要的视觉特征,体现了人眼对图像的某些区域的重视程度。相应的,针对任一视频帧而言,该视频帧的显著性区域为视频帧中最能引起用户兴趣、最能表现视该视频帧的内容的区域。关于视频帧的显著性区域的检测可以通过任一种检测图像中显著性区域的方式来实现。
(3)视频的分块存储方式:
视频在服务器端中可以按照分块存储方式进行存储,该分块存储方式可以为NxN分块存储方式,即视频的每一视频帧被分割为NxN块进行存储。其中,每一存储块可以独立编码,但是分块的编码参数保持一致。示例性的,分块存储方式可以采用4x4、8x8分块等分块方式,并且,图3(c)示出了将视频帧分割成8x8块的示意图。
为了解决现有技术问题,本发明实施例提供了VR视频播放方法、装置、设备及存储介质。
下面首先介绍本发明实施例从服务器和视频播放端交互角度所提供的一种VR视频播放方法。
其中,该视频播放端可以为运行于电子设备中的能够播放VR视频的客户端,此时,该电子设备为播放设备;当然,该视频播放端也可以为用于播放VR视频的VR设备,例如:VR一体机等专门的播放设备,此时,该视频播放端即为播放设备。在具体应用中,该电子设备可以为智能手机、笔记本电脑、平板电脑、台式电脑等设备。本发明实施例提供了一种VR视频播放方法,如图1所示,可以包括如下步骤:
S101,服务器确定VR视频的各视频帧的部分分块数据和目标视区的位置标识;
其中,VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为服务器预先确定的包含该视频帧的显著性区域的区域。
相关技术中,在VR视频的播放过程中,用户通过转动头部、发出滑动手势等操作来移动视区,通常是为了观看到各视频帧的显著性区域。因此,为了解决现有技术问题,本发明实施例中,服务器可以预先确定出各视频帧的显著性区域,并基于显著性区域确定各视频帧的目标视区,即展示在视频播放端的视频播放窗口的区域。进而,该服务器基于各视频帧的目标视区,确定用于传输的各视频帧的部分分块数据和目标视区的位置标识。为了方便理解,图3(d)示出了视频帧中的目标视区的示意图,该目标视区为基于显著性区域所确定出区域。
可以理解的是,每一视频帧的目标视区为需要展示在视频播放窗口的区域,相邻的视频帧的目标视区可以相同或不同。另外,目标视区的位置标识可以存在多种表征形式,示例性的,目标视区的位置标识可以包括:目标视区的中心点的位置信息,或者,目标视区的多个顶点的位置信息,等等。
另外,为了让编码之后的视频数据可以便利的实现只传输整个视频中的局部部分,同时兼容不同视频播放端对视区的尺寸要求,对VR视频编码时,可以采用分块存储技术,也就是,VR视频在服务器中以分块存储的方式进行存储。这样,在视频流传输时,可以传输目标视区所覆盖的存储块。虽然牺牲了一部分带宽,但是,视频数据可以做到静态存储,而不用针对单个用户实时编码。为了方便,图3(e)示出了目标视区与视频帧的存储块的覆盖关系。在图3(e)中,视频帧的存储块的数量为4x4,存储块对应有各自的图像区域,假设目标视区在视频帧的位置如图3(e)所示,那么,目标视区所覆盖的存储块T(f)={T[2 1],T[2 2],T[3 1],T[3 2]}。
并且,基于不同的编码压缩方式,在对任一视频帧进行解码时,可以仅仅依赖自身帧的图像数据,也可以依赖时间靠前的视频帧的数据。因此,在保证各视频帧的图像数据能够有效解码的前提下,每一视频帧的部分分块数据可以仅仅包括该视频帧的所有存储块中、被该视频帧的目标视区所覆盖的各个存储块;或者,每一视频帧的部分分块数据可以包括该视频帧的所有存储块中、被该视频帧的目标视区所覆盖的各个存储块,以及用于辅助实现有效解码的其他存储块。为了方案清楚以及布局清晰,下文对确定VR视频的各视频帧的部分分块数据的具体实现方式进行说明。
S102,服务器在视频播放端请求该VR视频时,向视频播放端发送该VR视频的各视频帧的部分分块数据和目标视区的位置标识;
当用户希望观看该VR视频时,可以通过视频播放端向服务器发送视频播放请求;相应的,服务器可以在该视频播放端请求该VR视频时,可以按照时间轴,即视频帧的时间顺序,向视频播放端发送该VR视频的各视频帧的部分分块数据和目标视区的位置标识。
可以理解的是,该服务器可以一次性将该VR视频的所有视频帧的位置标识,下发给视频播放端,也可以将每一视频帧的部分分块数据和目标视区的位置标识进行绑定发送,这都是合理的。
S103,视频播放端获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识;
在视频播放端向服务器请求VR视频后,可以按照时间轴,依次获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识。
S104,视频播放端对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
在获得每一视频帧帧的部分分块数据后,可以先对该视频帧进行解码,得到该视频帧的解码数据,进而后续利用各个视频帧的解码数据,进行后续的视频播放。
可以理解的是,基于不同的编码方式,在对任一视频帧的图像数据进行解码时,可以仅仅依赖自身帧的图像数据,也可以依赖时间靠前的视频帧的图像数据。例如:针对画面组GOP而言,起始帧的画面数据也用于该GOP所包括的其他视频帧的解码。
S105,视频播放端针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
每一视频帧的部分分块数据包括该视频帧的所有存储块中、被该视频帧的目标视区所覆盖的各个存储块,显然,每一视频帧的解码数据的数据量大于该视频帧的目标视区对应的解码数据的数据量。并且,需要渲染至该视频播放端的视频播放窗口的数据,是各帧的目标视区的数据。因此,在得到各视频帧的解码数据后,可以针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据。
可以理解的是,基于每一视频帧的目标视区的位置标识,可以确定出每一视频帧的目标视区;在确定出每一视频帧的目标视区后,可以基于目标视区的区域位置,以及视频帧的解码数据中各个数据对应的位置信息,来确定出各视频帧的解码数据中的属于目标视区的目标解码数据。为了方案清楚及布局清晰,下文介绍针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据的具体实现方式。
S106,视频播放端按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至视频播放端的视频播放窗口,以播放该VR视频。
由于视频播放窗口播放的数据为各个视频帧的目标视区的数据,因此,无需用户参与即可实现视区自动移动的效果。
本方案中,视频播放端获取的VR视频的各视频帧的部分分块数据是与目标视区相关的部分数据,而目标视区是基于显著性区域所确定的,因此,视频播放端利用所获取到的各视频帧的部分分块数据进行视频播放,便可以达到无需用户参与而自动移动视区的效果。可见,VR视频的播放无需依赖用户参与,因此,通过本方案,可以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题,从而可以提升用户的观看体验。
另外,由于在视频播放过程中,仅仅传输视频的部分视频数据,可以大大降低高分辨率、高码率的VR视频对带宽和设备性能的要求,以及减少卡顿和在低带宽下也可以保证视频画面的流畅性;同时,减少视频播放端对于视区预测以及视区移动所带来的播放延迟的问题。
为了方案清楚以及布局清晰,下面对确定VR视频的各视频帧的部分分块数据的具体实现方式进行说明。
可选地,在一种实现方式中,确定VR视频的各视频帧的部分分块数据,可以包括步骤A1-步骤A4:
步骤A1,对VR视频的各视频帧进行显著性区域检测,得到检测结果;
在具体应用中,服务器可以采用任一种能够检测图像的显著性区域的方式,来对VR视频帧的各视频帧进行显著性区域检测,得到检测结果。本发明实施例不对具体的显著性区域检测方式进行限定。
步骤A2,基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧而言,关于该视频帧的显著性区域的尺寸可能与所需的视区尺寸不符,因此,为了保证视频播放窗口能够展示所需视区尺寸的画面,可以基于所得到的检测结果和视区尺寸,来确定各视频帧的目标视区。
示例性的,基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,可以包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以该中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
可以理解的是,针对任一矩形区域而言,在中心点和区域尺寸确定后,该矩形区域的区域位置即可被确定。因此,针对每一视频帧而言,可以通过所得到的该视频帧的检测结果所表征区域的中心点和视区尺寸,来确定出该视频帧的目标视区。
步骤A3,针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
针对每一视频帧,该视频帧的数据采用分块存储方式,即该视频帧对应有多个存储块。由于视频播放端仅仅需要播放各个视频帧的目标视区的画面,因此,针对每一视频帧,可以基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定该视频帧的目标视区所覆盖的目标存储块。
可以理解的是,视频帧的每一存储块为某一视频区域的分块,即每一存储块对应有区域范围。因此,可以基于视频帧的每一存储块对应的区域范围和视频帧的目标区域的区域位置,来确定出该视频帧的目标视区所覆盖的目标存储块。
步骤A4,利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
可以理解的是,基于不同的编码压缩方式,在对任一视频帧的图像数据进行解码时,可以仅仅依赖自身帧的图像数据,也可以依赖自身帧的图像数据且同时依赖时间靠前的视频帧的图像数据。
针对任一视频帧的图像数据进行解码时,仅仅依赖自身帧的图像数据的情况,示例性的,利用所确定的目标存储块,确定各视频帧的部分分块数据可以包括:针对每一视频帧,将该视频帧的目标存储块确定为该视频帧的部分分块数据。
而针对任一视频帧的图像数据进行解码时,依赖自身帧的图像数据且同时依赖时间靠前的视频帧的图像数据的情况,示例性的,利用所确定的目标存储块,确定各视频帧的部分分块数据可以包括:
针对VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储块的分块编号进行求并集,得到编号并集,并利用编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
该种实现方式中,由于任一视频帧的图像数据进行解码时,依赖自身帧的图像数据的同时依赖时间靠前的视频帧的图像数据,并且,相邻视频帧的目标视区可以相同或存在差异,因此,为了保证任一视频帧的图像能够顺利解码,可以针对VR视频的每一画面组GOP进行整体分析,具体为:对该GOP所包括视频帧的目标存储块的分块编号进行求并集,得到编号并集,并利用编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据。也就是说,针对每一画面组GOP,该画面组GOP中各视频帧的部分分块数据包括:该画面组GOP的编号并集中各个分块编号所标识的存储块。
上述的确定VR视频的各视频帧的部分分块数据的具体实现方式,仅仅作为示例,并不应该构成对本发明实施例的限定。
为了方案清楚及布局清晰,下面介绍针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据的具体实现方式。
可选地,在一种实现方式中,每一视频帧的目标视区的位置标识可以包括:该视频帧的目标位置点的位置信息,该目标位置点为该视频帧的目标视区的中心点;
相应的,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,可以包括:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于该区域位置的目标解码数据。
该种实现方式中,由于每一视频帧的目标位置点为目标视区的中心点,因此,在获知每一视频帧的目标位置点以及目标视区的视区尺寸后,便可以确定出每一视频帧的目标视区的区域位置。进而,针对每一视频帧,利用该视频帧的目标视区的区域位置和解码数据中各数据的位置信息,从该视频帧的解码数据中,确定出属于该视频帧的目标视区的区域位置的目标解码数据,即确定出该视频帧的目标视区对应的解码数据。
可选地,在另一种实现方式中,每一视频帧的目标视区的位置标识可以包括:该视频帧的目标视区的多个位置点的位置信息;所述多个位置点包括:四个顶点或处于对角线上的两个顶点;
相应的,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,可以包括:
针对每一视频帧,基于该视频帧的目标视区的多个顶点的位置信息,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于该区域位置的目标解码数据。
该种实现方式中,通过该视频帧的多个位置点的位置信息,即可以确定出该视频帧的目标区域,无需利用该视频帧的目标视区的视区尺寸。
可选地,为了进一步提升用户体验,用户可以选择视区大小,这样,后续视频播放时,所播放的画面符合所选择的视区大小。基于该种处理思路,在一种实现方式中,获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,该VR视频播放方法还可以包括:
向服务器发送用户指定的视区尺寸;
相应的,每一视频帧的目标视区为:该服务器预先确定的包含该视频帧的显著性区域、且符合该指定的视区尺寸的区域。
可以理解的是,为了实现用户根据需求指定视区大小的目的,视频播放端可以为用户提供多个可选择的视区尺寸,这样,用户可以从多个可选择的视区尺寸中,指定一个视区尺寸;进而,视频播放端可以向服务器发送用户指定的视区尺寸。
另外,服务器可以针对每一种视区尺寸,预先确定该VR视频的各视频帧的与该视区尺寸相匹配的目标视区,进而利用预先确定的目标视区,得到各视频帧的部分分块数据。这样,在视频播放端向服务器发送用户指定的视区尺寸后,服务器可以基于该指定的视区尺寸,向视频播放端发送VR视频的各视频帧的部分分块数据和目标视区的位置标识,此时,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视频所覆盖的各个存储块,且每一视频帧的目标视区为:服务器预先确定的包含该视频帧的显著性区域、且符合指定的视区尺寸的区域。
基于上述的方法实施例,本发明实施例还从视频播放端的角度,提供了一种VR视频播放方法。下面对本发明实施例从视频播放端的角度所提供的一种VR视频播放方法进行介绍。
其中,本发明实施例所提供的一种VR视频播放方法应用于视频播放端,其中,该视频播放端可以为运行于电子设备中的能够播放VR视频的客户端,此时,该电子设备为播放设备;当然,该视频播放端也可以为用于播放VR视频的VR设备,例如:VR一体机等专门的播放设备,此时,该视频播放端即为播放设备。在具体应用中,该电子设备可以为智能手机、笔记本电脑、平板电脑、台式电脑等设备。如图2所示,本发明实施例所提供的一种VR视频播放方法,应用于视频播放端,可以包括如下步骤:
S201,获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识;
当视频播放端向服务器请求播放VR视频时,该服务器可以按照时间轴,持续向视频播放端发送该VR视频的各视频帧的部分分块数据,以及发送各视频帧的目标视区的位置标识;相应的,该视频播放端可以获取服务器发送VR视频的各视频帧的部分分块数据和目标视区的位置标识。可以理解的是,该服务器可以一次性将该VR视频的所有视频帧的位置标识,下发给视频播放端,也可以将每一视频帧的部分分块数据和目标视区的位置标识进行绑定发送,这都是合理的。
S202,对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
在获得每一视频帧帧的部分分块数据后,可以先对该视频帧进行解码,得到该视频帧的解码数据,进而后续利用各个视频帧的解码数据,进行后续的视频播放。
可以理解的是,基于不同的编码方式,在对任一视频帧的图像数据进行解码时,可以仅仅依赖自身帧的图像数据,也可以依赖自身帧的图像数据的同时依赖时间靠前的视频帧的图像数据。例如:针对画面组GOP而言,起始帧的画面数据也用于该GOP所包括的其他视频帧的解码。
S203,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,那么,每一视频帧的解码数据的数据量可能大于该视频帧的目标视区对应的解码数据。并且,需要渲染至该视频播放端的视频播放窗口的数据,是各帧的目标视区的数据。因此,在得到各视频帧的解码数据后,可以针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据。
可以理解的是,基于每一视频帧的目标视区的位置标识,可以确定出每一视频帧的目标视区;在确定出每一视频帧的目标视区后,可以基于目标视区的区域位置,以及视频帧的解码数据中各个数据对应的位置信息,来确定出各视频帧的解码数据中的属于目标视区的目标解码数据。
S204,按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至该视频播放端的视频播放窗口,以播放该VR视频。
由于视频播放窗口播放的数据为各个视频帧的目标视区的数据,因此,无需用户参与即可实现视区自动移动的效果。
本方案中,视频播放端获取的VR视频的各视频帧的部分分块数据是与目标视区相关的部分数据,而目标视区是基于显著性区域所确定的,因此,视频播放端利用所获取到的各视频帧的部分分块数据进行视频播放,便可以达到无需用户参与而自动移动视区的效果。可见,VR视频的播放无需依赖用户参与,因此,通过本方案,可以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题,从而可以提升用户的观看体验。
另外,由于在视频播放过程中,仅仅传输视频的部分视频数据,可以大大降低高分辨率、高码率的VR视频对带宽和设备性能的要求,以及减少卡顿和在低带宽下也可以保证视频画面的流畅性;同时,减少视频播放端对于视区预测以及视区移动所带来的播放延迟的问题。
可选地,VR视频的各视频帧的部分分块数据的确定方式可以包括:
对VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
示例性的,利用所确定的目标存储块,确定各视频帧的部分分块数据,可以包括:
针对VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储块的分块编号进行求并集,得到编号并集,并利用编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
示例性的,基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
其中,关于各视频帧的部分分块数据的确定过程中的各个步骤的详细实现,参见上述从服务器和视频播放端的角度所提供的方法实施例,本实施例不再赘述。
可选地,在一种实现方式中,每一视频帧的目标视区的位置标识可以包括:该视频帧的目标位置点的位置信息,该目标位置点为该视频帧的目标视区的中心点;
相应的,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,可以包括:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于该区域位置的目标解码数据。
可选地,在另一种实现方式中,每一视频帧的目标视区的位置标识可以包括:该视频帧的目标视区的多个位置点的位置信息;所述多个位置点包括:四个顶点或处于对角线上的两个顶点;
相应的,针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,可以包括:
针对每一视频帧,基于该视频帧的目标视区的多个顶点的位置信息,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于该区域位置的目标解码数据。
上述的针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据的具体实现方式的详细描述,参见上述从服务器和视频播放端的角度所提供的方法实施例,在此不做赘述。
可选地,为了进一步提升用户体验,用户可以选择视区大小,这样,后续视频播放时,所播放的画面符合所选择的视区大小。基于该种处理思路,在一种实现方式中,获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,该VR视频播放方法还可以包括:
向服务器发送用户指定的视区尺寸;
相应的,每一视频帧的目标视区为:该服务器预先确定的包含该视频帧的显著性区域、且符合该指定的视区尺寸的区域。
关于该种实现方式中详细描述,可以参见上述从服务器和视频播放端的角度所提供的方法实施例,在此不做赘述。
相应于上述的从视频播放端所提供的一种VR视频播放方法,本发明实施例还提供了一种VR视频播放装置。如图4所示,该VR视频播放装置可以包括:
获取模块410,用于获取服务器发送的虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;
解码模块420,用于对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
确定模块430,用于针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
渲染模块440,用于按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
本方案中,视频播放端获取的VR视频的各视频帧的部分分块数据是与目标视区相关的部分数据,而目标视区是基于显著性区域所确定的,因此,视频播放端利用所获取到的各视频帧的部分分块数据进行视频播放,便可以达到无需用户参与而自动移动视区的效果。可见,VR视频的播放无需依赖用户参与,因此,通过本方案,可以解决相关技术中VR视频在不同播放设备播放时的交互体验差异较大的问题,从而可以提升用户的观看体验。
另外,由于在视频播放过程中,仅仅传输视频的部分视频数据,可以大大降低高分辨率、高码率的VR视频对带宽和设备性能的要求,以及减少卡顿和在低带宽下也可以保证视频画面的流畅性;同时,减少视频播放端对于视区预测以及视区移动所带来的播放延迟的问题。
可选地,每一视频帧的目标视区的位置标识包括:该视频帧的目标位置点的位置信息,所述目标位置点为该视频帧的目标视区的中心点;
所述确定模块430具体用于:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于所述区域位置的目标解码数据。
可选地,所述获取模块410在获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,还用于向服务器发送用户指定的视区尺寸;
每一视频帧的目标视区为:所述服务器预先确定的包含该视频帧的显著性区域、且符合所述指定的视区尺寸的区域。
可选地,所述VR视频的各视频帧的部分分块数据的确定方式包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
可选地,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
可选地,所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
另外,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例从视频播放端的角度所提供的一种VR视频播放方法的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例从视频播放端的角度所提供的一种VR视频播放方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明实施例从视频播放端的角度所提供的一种VR视频播放方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、存储介质等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种VR视频播放方法,其特征在于,应用于视频播放端,所述方法包括:
获取服务器发送的虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;每一视频帧的目标视区为展示在视频播放窗口的区域;
对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
2.根据权利要求1所述的方法,其特征在于,每一视频帧的目标视区的位置标识包括:该视频帧的目标位置点的位置信息,所述目标位置点为该视频帧的目标视区的中心点;
所述针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据,包括:
针对每一视频帧,基于该视频帧的目标位置点的位置信息和该视频帧的目标视区的视区尺寸,确定该视频帧的目标视区的区域位置;
从该视频帧的解码数据中确定属于所述区域位置的目标解码数据。
3.根据权利要求1或2所述的方法,其特征在于,所述获取服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识之前,所述方法还包括:
向所述服务器发送用户指定的视区尺寸;
每一视频帧的目标视区为:所述服务器预先确定的包含该视频帧的显著性区域、且符合所述指定的视区尺寸的区域。
4.根据权利要求1所述的方法,其特征在于,所述VR视频的各视频帧的部分分块数据的确定方式包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
5.根据权利要求4所述的方法,其特征在于,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
6.根据权利要求4所述的方法,其特征在于,所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
7.一种VR视频播放方法,其特征在于,所述方法包括:
服务器确定虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识,并在视频播放端请求所述VR视频时,向所述视频播放端发送VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;每一视频帧的目标视区为展示在视频播放窗口的区域;
所述视频播放端获取所述服务器发送的VR视频的各视频帧的部分分块数据和目标视区的位置标识;对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
8.根据权利要求7所述的方法,其特征在于,所述确定VR视频的各视频帧的部分分块数据,包括:
对所述VR视频的各视频帧进行显著性区域检测,得到检测结果;
基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区;
针对每一视频帧,基于该视频帧的目标视区的区域位置,从该视频帧的所有存储块中,确定被该视频帧的目标视区所覆盖的目标存储块;
利用所确定的目标存储块,确定各视频帧的部分分块数据,每一视频帧的部分分块数据至少包括该视频帧的目标存储块。
9.根据权利要求8所述的方法,其特征在于,所述利用所确定的目标存储块,确定各视频帧的部分分块数据,包括:
针对所述VR视频的每一画面组GOP,对该GOP所包括视频帧的目标存储分块的分块编号进行求并集,得到编号并集,并利用所述编号并集中各个分块编号所标识的存储块,构成该GOP中各个视频帧的部分分块数据;
其中,所述VR视频的每一GOP为对所述VR视频进行编码时所划分的GOP。
10.根据权利要求8所述的方法,其特征在于, 所述基于所得到的检测结果和视区尺寸,确定各视频帧的目标视区,包括:
针对每一视频帧,确定所得到的该视频帧的检测结果所表征区域的中心点,并确定以所述中心点为区域中心,且符合视区尺寸的区域,作为该视频帧的目标视区。
11.一种VR视频播放装置,其特征在于,应用于视频播放端,所述装置包括:
获取模块,用于获取服务器发送的虚拟现实VR视频的各视频帧的部分分块数据和目标视区的位置标识;其中,所述VR视频在服务器中以分块存储的方式进行存储,每一视频帧的部分分块数据包括该视频帧的所有存储块中,被该视频帧的目标视区所覆盖的各个存储块,且每一视频帧的目标视区为所述服务器预先确定的包含该视频帧的显著性区域的区域;每一视频帧的目标视区为展示在视频播放窗口的区域;
解码模块,用于对各视频帧的部分分块数据进行解码,得到各视频帧的解码数据;
确定模块,用于针对每一视频帧,基于该视频帧的目标视区的位置标识,确定该视频帧的解码数据中的属于目标视区的目标解码数据;
渲染模块,用于按照各个视频帧的时间顺序,渲染所确定的各个目标解码数据至所述视频播放端的视频播放窗口,以播放所述VR视频。
12.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738922.8A CN111885417B (zh) | 2020-07-28 | 2020-07-28 | Vr视频播放方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010738922.8A CN111885417B (zh) | 2020-07-28 | 2020-07-28 | Vr视频播放方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111885417A CN111885417A (zh) | 2020-11-03 |
CN111885417B true CN111885417B (zh) | 2022-10-25 |
Family
ID=73201823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010738922.8A Active CN111885417B (zh) | 2020-07-28 | 2020-07-28 | Vr视频播放方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885417B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377263B (zh) * | 2021-05-25 | 2022-11-22 | 四川大学 | 一种法庭虚拟示证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106658011A (zh) * | 2016-12-09 | 2017-05-10 | 深圳市云宙多媒体技术有限公司 | 全景视频的编解码方法和装置 |
CN108668138B (zh) * | 2017-03-28 | 2021-01-29 | 华为技术有限公司 | 一种视频下载方法以及用户终端 |
CN107690072B (zh) * | 2017-04-19 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 视频播放方法和装置 |
EP3672251A1 (en) * | 2018-12-20 | 2020-06-24 | Koninklijke KPN N.V. | Processing video data for a video player apparatus |
CN109788370A (zh) * | 2019-01-14 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种全景视频播放方法、装置及电子设备 |
-
2020
- 2020-07-28 CN CN202010738922.8A patent/CN111885417B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111885417A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3557845B1 (en) | Method and device for transmitting panoramic videos, terminal, server and system | |
KR101467430B1 (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
EP3913924B1 (en) | 360-degree panoramic video playing method, apparatus, and system | |
US11539983B2 (en) | Virtual reality video transmission method, client device and server | |
CN109074678A (zh) | 一种信息的处理方法及装置 | |
US10142707B2 (en) | Systems and methods for video streaming based on conversion of a target key frame | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
US11438645B2 (en) | Media information processing method, related device, and computer storage medium | |
KR102133207B1 (ko) | 통신장치, 통신 제어방법 및 통신 시스템 | |
TWI786572B (zh) | 沉浸式媒體提供方法、獲取方法、裝置、設備及存儲介質 | |
WO2024037137A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备、介质和产品 | |
CN107438203B (zh) | 用于建立和接收清单的方法、网络设备及终端 | |
CN108810567B (zh) | 一种音频与视频视角匹配的方法、客户端和服务器 | |
CN115883882A (zh) | 图像处理方法、装置、***、网络设备、终端及存储介质 | |
JP2017123503A (ja) | 映像配信装置、映像配信方法及びコンピュータプログラム | |
CN111885417B (zh) | Vr视频播放方法、装置、设备以及存储介质 | |
US20240119660A1 (en) | Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs | |
US20240098316A1 (en) | Video encoding method and apparatus, real-time communication method and apparatus, device, and storage medium | |
KR102152627B1 (ko) | 미러링 화면에 관련된 콘텐츠 출력 방법 및 그 장치 | |
CN104994406A (zh) | 一种基于Silverlight插件的视频编辑方法和装置 | |
WO2018161789A1 (zh) | 一种投影类型推荐方法、服务器及客户端 | |
US20170048532A1 (en) | Processing encoded bitstreams to improve memory utilization | |
US11134236B2 (en) | Image processing device and system | |
CN114760503B (zh) | 一种视频播放方法、装置、***、电子设备及存储介质 | |
WO2022134962A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |