CN114035672A - 一种虚拟现实vr场景的视频处理方法及相关设备 - Google Patents
一种虚拟现实vr场景的视频处理方法及相关设备 Download PDFInfo
- Publication number
- CN114035672A CN114035672A CN202010701982.2A CN202010701982A CN114035672A CN 114035672 A CN114035672 A CN 114035672A CN 202010701982 A CN202010701982 A CN 202010701982A CN 114035672 A CN114035672 A CN 114035672A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- tile
- head
- mounted display
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013461 design Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 26
- 210000003128 head Anatomy 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 210000000695 crystalline len Anatomy 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 12
- 230000009471 action Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 4
- 230000001133 acceleration 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
- 239000012634 fragment Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- 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
- H04N21/234345—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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- 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
- H04N21/234363—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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42202—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Social Psychology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Biodiversity & Conservation Biology (AREA)
- Ecology (AREA)
- Emergency Management (AREA)
- Environmental & Geological Engineering (AREA)
- Environmental Sciences (AREA)
- Remote Sensing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供一种虚拟现实VR场景的视频处理方法及相关设备,涉及计算机图形学技术。VR场景的视频处理方法可以采用一路流对Tile流进行编码,以降低VR头戴式显示设备的FOV发生改变时,为VR头戴式显示设备传输视频流的网络侧的视频码率。该方法可以包括:服务器可以接收来自电子设备切换至第二视场角的视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频;服务器响应于视场角切换请求,向电子设备发送K个Tile流。其中,K个Tile流中的每个Tile流包括一路视频流,K为正整数。
Description
技术领域
本申请实施例涉及计算机图形学技术领域,尤其涉及一种虚拟现实VR场景的视频处理方法及相关设备。
背景技术
虚拟现实(Virtual Reality,VR)技术是一种可以创建虚拟现实环境的计算机仿真技术,它可以利用计算机生成一种虚拟现实环境(或称为模拟环境)。其中,VR的基本实现方式为计算机获取到创建虚拟现实环境的数据(如,图像、声音等),通过计算机技术将创建虚拟现实环境的数据转换为电子信号,输出设备(如,VR头戴式显示设备)接收该电子信号,则输出设备可以根据电子信号构建虚拟现实环境。
可以理解的,VR技术中,计算机可以构建出全部视角(或称为视场角)的VR环境。展示VR的输出设备(如,VR头戴式显示设备)在展示VR环境时,仅需要根据当前输出设备的视场角(Field of View,FOV),展示出该FOV内的VR环境。
VR直播,是VR技术与直播视频的结合。VR头戴式显示设备(或简称为“VR头显”)在展示VR直播视频使用的方案为基于块(Tile)划分的流传输(Tile-Wise Streaming,TWS)方案。请参考图1,在TWS方案中,计算机(或源站)构建出全部视场角的VR直播视频,源站将VR直播视频传输至内容分发网络(CDN),VR头戴式显示设备根据当前的视场角从CDN下载对应的FOV内的VR直播视频。其中,源站中的VR直播视频中包括:低质量全视场角画面100和多个高质量画面200。其中,低质量全视场角画面100是VR直播视频中包括全部视场角的画面,高质量画面200为高质量全视场角的画面中的一部分。例如,高质量全视场角的画面被划分为42个部分,每个部分的画面为一个高质量画面200。每个高质量画面200对应一个切片流(Tile流),一个FOV中一般包括12-18个Tile流。具体地说,VR头戴式显示设备在展示VR直播视频时,VR头戴式显示设备需要从CDN获取低质量全视场角画面100和VR头戴式显示设备的FOV范围内的12-18个高质量画面200对应的Tile流。进一步,VR头戴式显示设备可以将12-18个Tile流中的高质量画面200进行拼接,以在低质量全视场角画面100中形成FOV范围内高质量的VR直播视频,并通过VR头戴式显示设备呈现出高质量的VR直播视频。
其中,当用户使用VR头戴式显示设备观看VR直播时,如果用户转动头部,即VR头戴式显示设备的FOV发生改变,因此,VR头戴式显示设备需要获取的FOV范围内对应的Tile流也会发生改变。则VR头戴式显示设备可以根据用户转头后的FOV对应的Tile流从源站下载对应的Tile流,并快速将用户转头后的VR头戴式显示设备的FOV内的Tile流的高质量VR直播视频呈现给用户。
一般而言,源站构建出的VR直播视频中每个Tile流都包括两路流。例如,一路为全关键帧流,一路为混合视频帧流。当VR头戴式显示设备的FOV发生改变,VR头戴式显示设备需要下载转换后的视场角中每个Tile流中的两路流进行切换,如果Tile流中关键帧较多,为VR头戴式显示设备传输视频流的网络就需要传输较大的视频码率,这样,会出现网络难以承载的现象。因此,在VR直播视频中VR头戴式显示设备的FOV发生改变时,如何保证为VR头戴式显示设备传输视频流的网络可以承载视频码率,成为亟待解决的技术问题。
发明内容
本申请提供一种虚拟现实VR场景的视频处理方法及相关设备,可以采用一路流对Tile流进行编码,以降低VR头戴式显示设备的FOV发生改变时,为VR头戴式显示设备传输视频流的网络侧的视频码率。
为实现上述技术目的,本申请采用如下技术方案:
第一方面,本申请提供一种虚拟现实VR场景的视频处理方法,该方法可以应用于服务器。该方法可以包括:服务器可以接收来自电子设备切换至第二视场角的视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频;服务器响应于视场角切换请求,向电子设备发送K个Tile流。其中,K个Tile流中的每个Tile流包括一路视频流,K为正整数。需要说明的,服务器中可以创建出VR场景视频中包括的M个Tile流,其中,M个Tile流可以形成全视场角的VR场景视频。VR场景视频中的M个Tile流中,K个Tile流是与第二视场角对应的Tile流。因此,服务器响应于视场角切换请求,向电子设备发送K个Tile流。
其中,K个Tile流中每个Tile流均包括一路视频流。可以理解的,电子设备为第一视场角时,电子设备可以请求获取第一视场角对应的多个Tile流。如果电子设备的视场角发生切换,如电子设备的视场角切换为第二视场角,电子设备可以向服务器发送切换至第二视场角的视场角切换请求,以获取到第二视场角对应的多个Tile流。也就是说,在电子设备的视场角变换的过程中,电子设备接收到的Tile流始终是与其视场角对应的Tile流,且每个Tile流只对应一路视频流。电子设备在视场角转换的过程中,服务器可以根据电子设备的视场角切换请求向电子设备发送与视场角对应的Tile流,降低了服务器向电子设备传输的视频码率。使得电子设备在展示VR场景视频的过程中,电子设备和服务器之间的传输网络始终可以承载传输的视频流。
第一方面的一种可能的设计方式中,服务器创建的VR场景视频中的每个Tile流包括多个分片流(Slices),每个分片流可以包括多个图像组(Group Of Pictures,GOP),每个GOP中可以包括一个关键帧和关键帧之后的X个预测帧,X≥2,X为正整数。
其中,每个Tile流的帧率是固定的,且每个Tile流由多个分片流组成,分片流中的图像组包括关键帧和预测帧的图像。相比于由全关键帧组成的Tile流,关键帧和预测帧组成的图像组的图像码率较低,从而降低了Tile流的码率。
第一方面的另一种可能的设计方式中,在服务器接收来自电子设备的视场角切换请求之前,服务器还可以接收来自电子设备的VR视频请求,VR视频请求可以用于请求以第一视场角播放所述VR场景视频。服务器响应于VR视频请求,可以向电子设备发送N个Tile流。其中,所述N个Tile流为服务器中的M个Tile流中、与第一视场角对应的Tile流,且N个Tile流中的每个Tile流包括一路视频流。
可以理解的,VR场景视频是全视场角的视频,当电子设备播放VR场景视频时仅播放当前视场角对应的VR场景视频。电子设备被启动,电子设备向服务器发送当前的视场角(及第一视场角)的VR视频请求,服务器向电子设备发送当前的视场角对应的N个Tile流。如果电子设备的视场角被切换,从第一视场角切换至第二视场角,则电子设备向服务器发送切换视场角请求。使得服务器向电子设备发送第二视场角(即切换视场角中的的第二视场角)对应的多个Tile流(K个Tile流),这样并不会增加服务器向电子设备发送的视频流。
第一方面的另一种可能的设计方式中,上述服务器响应于视场角切换请求,向电子设备发送K个Tile流,具体可以实施时可以执行如下操作:服务器响应于视场角切换请求,获取电子设备播放N个Tile流的时间戳。其中,时间戳用于指示电子设备正在播放N个Tile流中的第一视频帧,第一视频帧为关键帧或预测帧。进一步的,服务器可以根据上述时间戳和服务器中预设的切换时长,确定K个Tile流中的第二视频帧。其中,第二视频帧为关键帧或预测帧。服务器可以从第二视频帧开始,向电子设备发送K个Tile流。
可以理解的,电子设备的视场角切换之后,电子设备向服务器发送切换的视场角,且电子设备播放接收到来自服务器的Tile流。这样,服务器可以根据电子设备当前播放的第一视场角的视频帧的时间戳,确定出向电子设备发送第二视场角的Tile流中GOP中的一个图像为起始帧依次开始向电子设备发送K个Tile流。
第一方面的另一种可能的设计方式中,上述方法还可以包括:若上述的第二视频帧是预测帧,则服务器向电子设备发送第二视频帧在GOP中的关键帧。
需要说明的,当服务器向电子设备发送的第二视频帧为预测帧,那电子设备需要解码第二视频帧。在一个GOP中解码预测帧需要根据预测帧所在GOP中的关键帧才能解码,因此,服务器可以将第二视频帧所在GOP中的关键帧发送给电子设备。使得电子设备可以根据关键帧解码第二视频帧,从而可以保证电子设备可以正常解码第二视频帧以及播放第二视场角对应的VR场景视频。
第一方面的另一种可能的设计方式中,如果上述的第二视频帧为关键帧,服务器以该关键帧为K个Tile流的起始帧向电子设备发送K个Tile流。
第一方面的另一种可能的设计方式中,上述方法还可以包括:服务器接收来自电子设备的视频帧请求,视频帧请求包括第二视频帧所在GOP中的关键帧的帧序号,其中,帧序号用于指示第二视频帧所在GOP中的关键帧的标识。响应于视频帧请求,服务器向电子设备发送第二视频帧在GOP中的关键帧。
可以理解的,电子设备可以计算出播放第二视场角对应的K个Tile流的第二视频帧的时间戳,则电子设备可以根据计算出的第二视频帧的时间戳确定出对应的第二视频帧的标识,电子设备向服务器请求第二视频帧即可。
第一方面的另一种可能的设计方式中,若第二视频帧是关键帧,服务器接收来自电子设备的视频帧请求。其中,视频帧请求包括关键帧在GOP中的帧序号,关键帧的帧序号用于指示关键帧在GOP中的标识。响应于视频帧请求,服务器向电子设备发送关键帧。
第一方面的另一种可能的设计方式中,视场角切换请求中包括第二视场角,第二视场角用于确定与第二视场角对应的K个Tile流。
或者,视场角切换请求中包括K个Tile流的标识和K个Tile流对应的第二视频帧的帧序号,若第二视频帧为预测帧,视场角切换请求中还包括第二视频帧所在GOP中的关键帧的帧序号。
其中,第二视频帧的帧序号用于指示第二视频帧在GOP中的标识,关键帧的帧序号用于指示关键帧在GOP中的标识。
其中,电子设备可以检测到视场角的变化,则电子设备可以根据视场角的变化请求与视场角对应的多个Tile流,电子设备可以向服务器请求对应的多个Tile流。
第一方面的另一种可能的设计方式中,上述服务器响应于VR视频请求,向电子设备发送VR场景视频的低分辨率全视场角背景流。
需要说明的,电子设备显示VR场景视频时,服务器可以根据电子设备的VR视频请求,始终向电子设备发送低分辨率全视场角背景流。这样,电子设备可以显示出全视场角的背景流,在背景流上叠加显示电子设备的视场角对应的VR场景视频。在保证电子设备的显示效果的同时,也保证电子设备视场角切换的过程中,电子设备可以展示低分辨率背景流,以保证电子设备展示连续的VR场景视频。
第二方面,本申请还提供一种VR场景的视频处理方法,该方法可以包括:电子设备的视场角发生变化时,向服务器发送视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。服务器创建的VR场景视频中包括M个Tile流,M为正整数。接收来自服务器的K个Tile流。其中,K个Tile流为M个Tile流中、与第二视场角对应的Tile流,K个Tile流中的每个Tile流包括一路视频流。电子设备根据K个Tile流,播放第二视场角对应的VR场景视频。
其中,服务器中的M个Tile流可以形成全视场角的高分辨率的VR场景视频。电子设备可以向服务器发送视场角切换请求,使得服务器可以响应于电子设备的视场角切换请求,向电子设备发送切换后的视场角对应的多个Tile流。
第二方面的一种可能的设计方式中,上述的电子设备可以为可穿戴式电子设备,上述服务器可以为内容分发网络中服务于该电子设备的服务器。
第二方面另一种可能的设计方式中,Tile流包括多个分片流,每个分片流包括多个图像组GOP,每个GOP中包括一个关键帧和关键帧之后的X个预测帧,X≥2,X为正整数。
第二方面另一种可能的设计方式中,在电子设备的视场角发生变化时,向服务器发送视场角切换请求之前,方法还包括:电子设备可以向服务器发送VR视频请求;其中,VR视频请求用于请求以第一视场角播放VR场景视频。电子设备接收来自服务器的N个Tile流;其中,N个Tile流为M个Tile流中、与第一视场角对应的Tile流,N个Tile流中的每个Tile流包括一路视频流。电子设备根据N个Tile流,以第一视场角播放VR场景视频。
第二方面另一种可能的设计方式中,上述方法还可以包括:确定电子设备正在播放N个Tile流中的第一视频帧的时间戳;其中,第一视频帧为关键帧或预测帧。
其中,上述电子设备根据K个Tile流,播放第二视场角对应的VR场景视频,包括:电子设备根据时间戳和预设切换时长,确定播放K个Tile流中第二视频帧,第二视频帧为关键帧或预测帧。电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第二方面另一种可能的设计方式中,如果第二视频帧为预测帧。那么,上述电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第二方面另一种可能的设计方式中,上述方法还可以包括:确定电子设备正在播放N个Tile流中的第一视频帧的时间戳。其中,第一视频帧为关键帧或预测帧。电子设备向服务器发送时间戳。其中,时间戳用于结合预设切换时长确定服务器开始向电子设备发送K个Tile流的第二视频帧,第二视频帧为关键帧或预测帧。
其中,电子设备根据K个Tile流,播放第二视场角对应的VR场景视频,包括:电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第二方面另一种可能的设计方式中,第二视频帧是预测帧,上述方法还可以包括:电子设备从服务器获取第二视频帧所在GOP中的关键帧。
其中,电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频,包括:电子设备根据第二视频帧所在GOP中的关键帧解码第二视频帧,从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第二方面另一种可能的设计方式中,视场角切换请求中包括第二视场角,第二视场角用于确定与第二视场角对应的K个Tile流;或者,视场角切换请求中包括K个Tile流的标识和K个Tile流对应的第二视频帧的帧序号。
第二方面另一种可能的设计方式中,上述方法还包括:向电子设备接收来自服务器的VR场景视频的低分辨率全视场角背景流。
第三方面,本申请还提供一种VR场景的视频处理方法,该方法可以应用于包括内容分发网络(Content Delivery Network,CDN)和电子设备的系统。需要说明的,CDN可以获取到服务器根据该VR场景素材创建的VR场景视频,VR场景视频包括M个Tile流,M为正整数,M个Tile流中每个Tile流包括一路视频流。其中,M个Tile流可以构建出全视场角的VR场景视频。
VR场景的视频处理方法可以包括:电子设备的视场角发生变化时,向CDN发送视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。CDN可以接收来自电子设备的切换至第二视场角的视场角切换请求,CDN响应于上述的视场角切换请求,可以向电子设备发送K个Tile流。其中,K个Tile流是CDN中VR场景视频中M个Tile流中与第二视场角对应的Tile流。电子设备可以接收到来自CDN的K个Tile流,电子设备根据K个Tile流,播放第二视场角对应的VR场景视频。
可以理解的,CDN从服务器获取到的M个Tile流中每个Tile流均为一路视频流,则CDN向电子设备发送的K个Tile流中每个Tile流都是一路视频流。
第三方面的一种可能的设计方式中,上述方法还可以包括:电子设备确定正在播放N个Tile流中的第一视频帧的时间戳。其中,第一视频帧为关键帧或预测帧。
其中,上述电子设备根据K个Tile流,播放第二视场角对应的VR场景视频,包括:电子设备根据时间戳和预设切换时长,确定播放K个Tile流中第二视频帧,第二视频帧为关键帧或预测帧。电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第三方面另一种可能的设计方式中,如果第二视频帧为预测帧。那么,上述电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第三方面另一种可能的设计方式中,上述方法还可以包括:确定电子设备正在播放N个Tile流中的第一视频帧的时间戳。其中,第一视频帧为关键帧或预测帧。电子设备向CDN发送第一视频帧的时间戳。其中,时间戳用于结合预设切换时长确定CDN开始向电子设备发送K个Tile流的第二视频帧,第二视频帧为关键帧或预测帧。
其中,电子设备根据K个Tile流,播放第二视场角对应的VR场景视频,包括:电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第三方面另一种可能的设计方式中,第二视频帧是预测帧,上述方法还可以包括:电子设备从CDN获取第二视频帧所在GOP中的关键帧。
其中,电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频,包括:电子设备根据第二视频帧所在GOP中的关键帧解码第二视频帧,从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第三方面另一种可能的设计方式中,视场角切换请求中包括第二视场角,第二视场角用于确定与第二视场角对应的K个Tile流;或者,视场角切换请求中包括K个Tile流的标识和K个Tile流对应的第二视频帧的帧序号,若第二视频帧为预测帧,视场角切换请求中还包括第二视频帧所在GOP中的关键帧的帧序号。
其中,第二视频帧的帧序号用于指示第二视频帧在GOP中的标识,关键帧的帧序号用于指示关键帧在GOP中的标识。
第三方面另一种可能的设计方式中,上述方法还可以包括:服务器响应于VR视频请求,向电子设备发送VR场景视频的低分辨率全视场角背景流。
第四方面,本申请还提供一种服务器,该服务器可以包括:接收模块和发送模块。接收模块可以接收来自电子设备切换至第二视场角的视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。发送模块用于响应于视场角切换请求,向电子设备发送K个Tile流。其中,K个Tile流中的每个Tile流包括一路视频流,K为正整数。
可以理解的,服务器还可以包括创建模块,其中,创建模块可以用于创建出VR场景视频中包括的M个Tile流。具体的,M个Tile流可以形成全视场角的VR场景视频。VR场景视频中的M个Tile流中,K个Tile流是与第二视场角对应的Tile流。因此,服务器响应于视场角切换请求,向电子设备发送K个Tile流。电子设备可以根据接收到的K个Tile流创建出全视场角的VR场景视频。
第四方面的一种可能的设计方式中,服务器创建的VR场景视频中的每个Tile流包括多个分片流(Slices),每个分片流可以包括多个图像组(Group Of Pictures,GOP),每个GOP中可以包括一个关键帧和关键帧之后的X个预测帧,X≥2,X为正整数。
第四方面另一种可能的设计方式中,接收模块还可以用于接收来自电子设备的VR视频请求,VR视频请求可以用于请求以第一视场角播放所述VR场景视频。发送模块还可以用于响应于VR视频请求,可以向电子设备发送N个Tile流。其中,所述N个Tile流为服务器中的M个Tile流中、与第一视场角对应的Tile流,且N个Tile流中的每个Tile流包括一路视频流。
第四方面另一种可能的设计方式中,服务器还可以包括获取模块和确定模块。服务器响应于视场角切换请求时,获取模块可以用于获取电子设备播放N个Tile流的时间戳。其中,时间戳用于指示电子设备正在播放N个Tile流中的第一视频帧,第一视频帧为关键帧或预测帧。确定模块可以用于根据上述时间戳和服务器中预设的切换时长,确定K个Tile流中的第二视频帧。其中,第二视频帧为关键帧或预测帧。发送模块可以从第二视频帧开始,向电子设备发送K个Tile流。
第四方面另一种可能的设计方式中,若上述的第二视频帧是预测帧,则发送模块还可以向电子设备发送第二视频帧在GOP中的关键帧。
第四方面另一种可能的设计方式中,视频帧请求包括第二视频帧所在GOP中的关键帧的帧序号,其中,帧序号用于指示第二视频帧所在GOP中的关键帧的标识。发送模块可以向电子设备发送第二视频帧在GOP中的关键帧。
第四方面的另一种可能的设计方式中,发送模块还可以用于向电子设备发送VR场景视频的低分辨率全视场角背景流。
第五方面,本申请还提供一种服务器,服务器包括:存储器和一个或多个处理器;存储器和处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使服务器执行如第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中服务器对应的步骤。
第六方面,本申请还提供一种电子设备,该电子设备可以包括:发送模块和接收模块。当电子设备的视场角发生变化时,发送模块可以向服务器发送视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。服务器创建的VR场景视频中包括M个Tile流,M为正整数。接收模块可以用于接收来自服务器的K个Tile流。其中,K个Tile流为M个Tile流中、与第二视场角对应的Tile流,K个Tile流中的每个Tile流包括一路视频流。可以理解的,电子设备可以根据接收到的K个Tile流,播放第二视场角对应的VR场景视频。
第六方面的一种可能的设计方式中,发送模块还可以向服务器发送VR视频请求;其中,VR视频请求用于请求以第一视场角播放VR场景视频。接收模块还可以用于接收来自服务器的N个Tile流;其中,N个Tile流为M个Tile流中、与第一视场角对应的Tile流,N个Tile流中的每个Tile流包括一路视频流。使得电子设备可以根据N个Tile流,以第一视场角播放VR场景视频。
第六方面另一种可能的设计方式中,电子设备中还可以包括确定模块和播放模块。当电子设备的视场角发生变化时,确定模块可以用于确定电子设备正在播放N个Tile流中的第一视频帧的时间戳;其中,第一视频帧为关键帧或预测帧。
其中,上述播放模块可以具体用于:根据时间戳和预设切换时长,确定播放K个Tile流中第二视频帧,第二视频帧为关键帧或预测帧。使得电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
第六方面另一种可能的设计方式中,确定模块用于确定电子设备正在播放N个Tile流中的第一视频帧的时间戳。其中,第一视频帧为关键帧或预测帧。发送模块可以用于向服务器发送时间戳。其中,时间戳用于结合预设切换时长确定服务器开始向电子设备发送K个Tile流的第二视频帧,第二视频帧为关键帧或预测帧。
第六方面另一种可能的设计方式中,电子设备中还可以包括获取模块。上述第二视频帧是预测帧,获取模块可以用于从服务器获取第二视频帧所在GOP中的关键帧。
第六方面另一种可能的设计方式中,接收模块还可以用于接收来自服务器的VR场景视频的低分辨率全视场角背景流。
第七方面,本申请还提供一种电子设备,电子设备包括:存储器、显示装置和一个或多个处理器;存储器、显示装置和处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使电子设备执行如第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中电子设备对应的步骤。
第八方面,本申请还提供一种内容分发网络CDN,CDN中可以包括多个服务器。该服务器可以包括:存储器、显示装置和一个或多个处理器;存储器、显示装置和处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使服务器执行如第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中CDN对应的步骤。
第九方面,本申请还提供一种芯片系统,芯片系统应用于包括存储器的电子设备;芯片系统包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;接口电路用于从存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,电子设备执行如第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中的方法。
第十方面,本申请还提供一种计算机可读存储介质,包括计算机指令,当计算机指令在控制设备上运行时,使得控制设备执行如第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中的方法。
第十一方面,本申请还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机可以执行上述第一方面及其任一种可能的设计方式、第二方面及其任一种可能的设计方式和第三方面及其任一种可能的设计方式中的方法。
可以理解的是,上述本申请提供的第二方面、第三方面及其任一种可能的设计方式中的方法,第四方面及其任一种可能的设计方式,第五方面的服务器,第六方面及其任一种可能的设计方式,第七方面的电子设备,第八方面的内容分发网络,第九方面的芯片系统,第十方面的计算机可读存储介质和第十一方面的计算机程序产品所能达到的有益效果,可参考如第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请提供的一种TWS方案中源站创建VR直播视频的示意图;
图2为本申请实施例提供的一种VR视频流的帧结构示意图;
图3为本申请实施例提供的一种VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图4为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图5为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图6为本申请实施例提供的一种电子设备的硬件结构示意图;
图7为本申请实施例提供的一种应用场景示意图;
图8为本申请实施例提供的一种VR场景的视频处理方法的流程图;
图9为本申请实施例提供的一种VR视频流中Tile流的帧结构示意图;
图10为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图11为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图12为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图13为本申请实施例提供的另一VR头戴式显示设备切换视场角时,下载和播放的视频流的示意图;
图14为本申请实施例提供的一种显示VR直播视频的系统的结构示意图;
图15为本申请实施例提供的一种服务器的模块结构示意图;
图16A为本申请实施例提供的一种电子设备的模块结构示意图;
图16B为本申请实施例提供的一种电子设备的结构示意图;
图17为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
以下将对本申请实施例涉及的术语进行解释。
关键帧(或称为I帧):是采用帧内编码方式生成的图像。也就是说,关键帧在编码的过程中仅利用了单帧图像内的空间相关性,并未利用该帧图像与其他图像的时间相关性。
其中,关键帧的特点是使用帧内压缩,图像压缩中不使用运动补偿。由于关键帧的编码方式是帧内编码,则关键帧的解码也是不依赖图像组中的其他帧。因此,关键帧可以作为随机读取和存储的图像帧,即解码时可以随时从关键帧开始解码,或者,以关键帧为起始存储图像进行图像存储。另外,由于关键帧的压缩倍数较低,关键帧图像可以是周期性的出现在图像序列中,其中,关键帧出现的频率可以由编码器选择的。
需要说明的,由于I帧的编码是帧内编码,即不依赖图像组中的其他帧进行编码。I帧可以用于接收机的初始化或者是接收机的信道的获取,当视频播放的过程中,视频切换或插入也可以通过I帧进行处理。
即时解码刷新(Instantaneous Decoding Refresh,IDR)帧:多个图像组形成的图像组中会包括多个I帧,在编码和解码的过程中,为了区分视频或图像组中的多个I帧,将第一个I帧称为IDR帧。这样,可以方便的控制图像的编码和解码流程。也就是说,IDR帧也是I帧。
其中,IDR帧的作用是立刻刷新解码,使得视频图像中的错误不至传播。例如,在视频帧的设置中可以在预设的帧数内设置一个IDR帧,如在视频编码中每隔250帧设置一个IDR帧。具体地说,当接收机接收到IDR帧,接收机可以将参考帧列表(decoded picturebuffer,DPB)清空。因此,在IDR帧之后的所有I帧都不能引用其之前的帧的内容。
预测帧(P帧):利用该P帧之前的I帧或其他P帧,采用运动预测的方式进行帧间预测编码。也就是说,P帧的解码需要依靠之前的I帧。或可以理解为,P帧是采用前向时间预测编码。这种编码方式可以提高图像帧高压缩放和图像质量。
其中,P帧中可以包括帧内编码的部分,即一个P帧中的编码块可以是前向预测也可以是帧内编码。也就是说,P帧的解码可以依靠前向的I帧、也可以依靠前向的P帧。
前后预测图像(Bi-predictive pictures,B帧):既需要之前的图像帧,可以是I帧也可以是P帧,也需要之后的图像帧,如P帧,采用双向时间预测的方式进行编码。即B帧图像采用双向时间预测。这种压缩方式,可以极大的提高B帧图像的压缩倍数。
在一些可能的应用中,由于B帧图像是采用未来帧(即B帧之后的图像帧)作为解码参考,因此,需要先获取到B帧的未来帧图像,才能准确对B帧图像进行解码。例如,在包括B帧的图像序列中,图像帧的传输顺序和显示顺序可以是不同的。
图像组GOP:一组连续的图像,由一个I帧,以及多个P帧和/或多个B帧图像组成。其中,一个GOP中的图像的数量越多,该GOP对应的视频的图像画面就约好。GOP可以包括公开GOP和闭合GOP,即open GOP和close GOP。
open GOP:表示该GOP中的图像帧在解码时会依赖上一个GOP中的I帧或P帧。
close GOP:表示该GOP中的图像帧在本GOP内可以完全自己解码,不需要依赖之前的GOP中的图像帧。
内容分发网络(Content Delivery Network,CDN):是构建在现有网络基础之上的智能虚拟网络。CDN是依靠部署在各地的边缘服务器(即位于靠近用户设备的服务器),该服务器可以通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容。从而降低网络拥塞,提高用户访问响应速度和命中率。
相比于传统的电视节目或直播视频,VR直播可以让观看者有身临其境的感觉。在进行VR场景视频展示的过程中,源站(或称为源站服务器或源站计算机)可以根据获取到的VR拍摄素材创建全视场角的VR场景视频,源站可以向CDN发送全视场角的VR场景视频。当电子设备(即VR头戴式显示设备)向CDN发送VR直播请求,CDN响应于VR头戴式显示设备的VR直播请求,向VR头戴式显示设备发送该视场角(或称为视角)对应的VR直播视频。VR头戴式显示设备可以展示出接收到的VR场景视频,使得穿戴VR头戴式显示设备的用户可以观看到进行直播的VR场景视频。
需要说明的,虽然VR头戴式显示设备可以展示全视场角的VR场景视频,但是,VR头戴式显示设备被用户穿戴,VR头戴式显示设备仅为用户展示出视场角对应范围内的VR场景视频。当用户转头,VR头戴式显示设备可以检测到视场角发生切换,并得到切换后的视场角(如,第二视场角),VR头戴式显示设备显示第二视场角对应的VR场景视频。
当VR头戴式显示设备的视场角从第一视场角切换至第二视场角,VR头戴式显示设备展示的VR场景视频,需要从第一视场角对应的VR场景视频切换为第二视场角对应的VR场景视频。其中,VR头戴式显示设备在展示VR场景视频时,会展示出全视场角的低分辨率背景视频,以及VR头戴式显示设备的视场角对应的高清的VR场景视频。因此,穿戴VR头戴式显示设备的用户发生转头的动作,使得VR头戴式显示设备检测到视场角切换,并切换视场角切换之后的VR场景视频。也就是说,从用户转头动作开始,用户可以看到视场角切换后的低分辨率背景视频,进一步,当用户停止转头,用户可以看到视场角切换之后的高清的VR场景视频。
其中,VR头戴式显示设备检测到用户转头开始,VR头戴式显示设备从展示低分辨率背景视频到切换为高清VR场景视频的时间间隔(Motion To High Resolution,MTHR)是指VR检测到用户转头,到用户停止转头,VR头戴式显示设备展示低质量画面到展示高质量画面呈现出来为止,之间经历的耗时。为保证VR头戴式显示设备展示的VR场景视频切换之后不会使用户产生晕眩的感觉,MTHR必须小于200ms(毫秒)。如果在MTHR小于200ms时,VR头戴式显示设备完成VR场景视频的切换,可能会引起VR头戴式显示设备和CDN之间的网络传输出现瞬间峰值码率的现象。在这种情况下,即使VR头戴式显示设备和CDN之间是通过5G网络通信,也可能出现5G网络难以规模承载VR头戴式显示设备和CDN之间的峰值码率的现象。需要说明的,人眼感知的极限约80ms,当MTHR为80ms,MTHR的时间就更低了,也就是说,VR头戴式显示设备在80ms的时间内完成VR场景视频的切换。这样,会引起VR头戴式显示设备和CDN之间更高的传输码率。
因此,对于VR头戴式设备的应用而言,VR头戴式显示设备被用户穿戴,在检测到视场角切换之后,如何在保证MTHR的时延较低(如,小于200ms)的情况下,降低VR头戴式显示设备和CDN的传输码率。
在第一种实现方式中,源站根据获取到的VR拍摄素材创建全视场角的VR场景视频时,可以对创建出的全视场角的VR场景视频进行分割,将全视场角的VR场景视频分割为预设的多个视场角的VR场景视频。例如,源站创建出全视场角的VR场景视频,源站可以将全视场角的VR场景视频分割为100个视场角的VR场景视频。其中,每个视场角具有对应的VR视频流。如,VR头戴式显示设备的视场角为第一视场角,则VR头戴式显示设备可以展示第一视场角对应的第一VR视频流,以播放第一视场角对应的VR场景视频。
需要说明的,每个VR视频流均包括两路视频序列。请参考图2,为本申请实施例提供的一种VR视频流的结构示意图。如图2所示,VR视频流包括两路视频序列,一路为全I帧的关键帧序列,另一路为包括关键帧和预测帧的混合视频帧序列。其中,相同的时间节点可以对应关键帧序列中的关键帧以及,对应混合视频帧序列中的预测帧或关键帧。也就是说,在一个播放时间,VR头戴式显示设备可以展示关键帧序列中的关键帧,或者,展示混合视频帧中的预测帧或关键帧。如图2所示,T1时刻,VR头戴式显示设备展示关键帧中的I3帧和混合视频帧中的P2帧;T2时刻,VR头戴式显示设备展示关键帧中的I4帧和混合视频帧中的P3帧。
示例性的,以包括VR头戴式显示设备、CDN、流媒体管理服务器和推流服务器的应用场景为例。使用VR头戴式显示设备的具体过程包括S1-S17,具体如:
S1:推流服务器获取全视场角的VR场景视频和预设的视场角数,按照视视场角数将全视场角的VR场景视频划分为不同的视角对应的VR场景视频。
S2:推流服务器对应每个视场角,根据每个视场角的VR场景视频生成相应的VR视频流。
其中,这个VR视频流的结构为如图2所示的视频流的结构,即一路的VR视频流对应两路视频序列,一路为全I帧的关键帧序列,另一路为包括关键帧和预测帧的混合视频帧序列。如图2所示,相同位置的关键帧序列中的图像帧和混合视频帧序列中的图像帧时间戳相同。如t1时刻对应的I3帧和P2帧的时间戳相同,t2时刻对应的I4帧和P3帧的时间戳相同。
S3:推流服务器可以逐帧向流媒体接收管理服务器发送每个视场角对应的VR视频流。
也就是说,推流服务器可以逐帧向流媒体接收管理服务器发送VR视频流中的两路视频序列,并将每个视场角对应的VR视频流都发送给流媒体接收管理器。
S4:流媒体接收管理服务器向CDN逐帧发送每个视场角对应的VR视频流。
S5:流媒体接收管理服务器还可以管理每个视场角对应的VR视频流中的关键帧和混合视频帧的发送状态。也就是说,流媒体管理服务器可以记录向CDN发送的视频帧。
S6:VR头戴式显示设备可以获取待展示的VR场景视频的原始视场角(即第一视场角),并向CDN发送访问请求。其中,访问请求中可以包括第一视场角。
S7:CDN接收到VR头戴式显示设备发送的访问请求,响应于该访问请求,CDN可以向VR头戴式显示设备发送第一视场角对应的混合帧视频帧序列。
S8:VR头戴式显示设备播放第一视场角对应的混合视频帧序列,为用户展示第一视场角对应的VR场景视频。
S9:当VR头戴式显示设备检测到用户的头部姿态产生变化,可以确定出VR头戴式显示设备的视场角发生切换。例如,VR头戴式显示设备的由第一视场角切换至第二视场角。
S10:VR头戴式显示设备可以根据当前的视场角(即切换后的第二视场角),生成切换至第二视场角的视场角切换请求,并向CDN发送视场角切换请求。其中,视场角切换请求中可以包括第二视场角。
S11:CDN接收到来自VR头戴式显示设备的视场角切换请求,并响应于视场角切换请求,根据视场角切换请求中的第二视场角确定对应的VR视频流。
S12:CDN获取第一视场角切换至第二视场角的切换时间点,在于第二视场角对应的VR视频流中对应的关键帧序列和混合视频帧序列。查找与切换时间点对应的第二视场角中的时间点,得到第二视场角的播放时间点。
S13:按照第二视场角的播放时间点从第二视场角对应的关键帧序列中的关键帧,得到播放第二视场角的VR视频流的关键帧。
S14:CDN向VR头戴式显示设备发送第二视场角的VR视频流的关键帧。
S15:VR头戴式显示设备可以将关键帧替代第一视场角所对应的混合帧序列进行播放。
S16:CDN在第二视场角对应的混合帧视频序列中,从与关键帧的时间节点相同的视频帧的下一视频帧起,依次查找VR视频流中的视频帧,并向VR头戴式显示设备依次发送这些查找到的VR视频流中的视频帧。
S17:VR头戴式显示设备在播放关键帧之后依次播放接收到的VR视频流中的视频帧。
需要说明的,CDN可以向VR头戴式显示设备发送其视场角对应的VR视频流,VR头戴式显示设备在播放第一视场角对应的VR场景视频时,可以通过播放VR视频流中的混合帧视频序列,以实现播放第一视场角对应的VR场景视频的效果。当VR头戴式显示设备的视场角由第一视场角切换为第二视场角,VR头戴式显示可以通过播放第二视场角对应的VR视频流中的关键帧序列,切换至第二视场角对应的VR视频流,在切换完成之后播放第二视场角对应的VR视频流中的混合帧序列。
示例性的,以VR头戴式显示设备的视场角从第一视场角FOV1切换至第二视场角FOV2为例。请参考图3,为VR头戴式显示设备切换视场角的过程中,VR头戴式显示设备下载和播放的VR视频流。如图3中(a)所示,表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的VR视频流中混合帧序列的行为。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放p1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。
需要说明的,由于VR头戴式显示设备检测到用户的转头动作开始,用户转头的动作可能还未结束,此时,VR头戴式显示设备可以继续播放FOV1对应的VR视频流中混合帧序列。
如图3中(b)所示,表示VR头戴式显示设备待播放的FOV2对应的VR视频流的结构。其中,VR视频流包括一路关键帧序列和一路混合帧序列。如图3中(c)所示,表示VR头戴式显示设备从FOV1切换至FOV2切换过程中下载的视频帧。其中,VR头戴式显示设备当前播放p1帧,为了保证VR头戴式显示设备展示的画面是连续的,VR头戴式显示设备可以继续下载FOV1中的p2帧、p3帧和i2帧。VR头戴式显示设备可以在下载i2帧之后下载FOV2对应的VR视频流中的关键帧序列,其中,需要根据最后下载的FOV1的对应的VR视频流中混合帧序列中最后一帧(即i2帧)的时间戳,下载FOV2对应的VR视频流中的关键帧序列。如图3中(c)所示,i2帧的时间戳对应的是FOV2对应的VR视频流中i5’帧的时间戳,因此,VR头戴式显示设备下载i5’帧之后的关键帧,如,i6’帧、i7’帧和i8’帧。当VR头戴式显示设备下载i6’帧、i7’帧和i8’帧之后,VR头戴式显示设备完成了视场角的切换,即从FOV1对应的VR场景视频切换至FOV2对应的VR场景视频。因此,在i8’帧之后,VR头戴式显示设备可以下载FOV2对应的VR视频流中混合帧序列中的i3”帧,以及i3”帧之后的图像帧。如图3中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
在这种实现方式中,推流服务器已经预先将全视场角的VR场景视频按照视场角数分为多个视场角对应的VR场景视频,VR头戴式显示设备在展示VR场景视频的过程中,请求播放视场角对应的VR场景视频。当VR头戴式显示设备的视场角发生切换时,CDN将切换后的视场角的关键帧传输给VR头戴式显示设备。其中,VR头戴式显示设备可以先接收到切换后的视场角连续多张关键帧,这样,可能会导致VR头戴式显示设备的切换不流畅的现象。
其中,VR头戴式显示设备的视场角切换的过程中,视频帧在切换的过程中下载了第二视场角对应的多个I帧。这样会导致CDN向VR头戴式显示设备发送的码率过大,增大了CDN和VR头戴式显示设备之间的网络的传输码率。而且,上述实现中由于每个视场角具有对应视频流,当VR头戴式显示设备从原视场角切换至第二视场角之后,VR头戴式小显示设备展示第二视场角对应的VR场景视频,可能出现显示的VR场景视频的画面不连续的现象。
为了避免VR头戴式显示设备切换视场角出现VR场景视频不连续的现象,可以采用TWS方案。其中,源站(或称为源站服务器、源站计算机)可以创建出全视场角的VR场景视频。全视场角的VR场景视频包括低分辨率背景流,以及M个Tile流,其中,M为正整数。多个Tile流可以形成全视场角的VR场景视频。VR头戴式显示设备在播放VR场景视频时,可以获取到视场角对应的N个Tile流,其中,N<M,通过多个Tile流拼接以形成该视场角对应的VR场景视频。
具体地说,Tile流由多个分片组成,每个分片的时长是固定的,且分片中包括多个GOP。其中,每个GOP中包括一个I帧和多个P帧。
在第二种实现方式中,源站采用TWS方案生成VR场景视频。源站可以根据获取到的VR素材生成全视场角的VR场景视频,全视场角的VR场景视频包括低分辨率背景流,以及M个Tile流。源站可以向CDN网络发送全视场角的VR场景视频,VR头戴式显示设备可以向CDN发送VR场景视频请求,CDN响应于VR头戴式显示设备的VR场景视频请求,向VR头戴式显示设备发送N个Tile流。使得VR头戴式显示设备可以通过N个Tile流形成当前视场角对应的VR场景视频。
其中,源站创建的M个Tile流中,每个Tile流包括两路视频序列,一路为长GOP视频序列(分片内的GOP数较少,如1个分片仅包含1个GOP),另一路为短GOP视频序列(分片内的GOP数较多,如1个分片包含8个GOP)。
示例性的,以VR头戴式显示设备的视场角从第一视场角FOV1切换至第二视场角FOV2为例。请参考图4,为VR头戴式显示设备切换视场角的过程中,VR头戴式显示设备下载和播放的VR视频流。如图4中(a),表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的VR视频流中长GOP视频序列的行为。其中,VR头戴式显示设备可以从i1帧开始依次播放该长GOP视频序列。假设VR头戴式显示设备播放p1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。由于VR头戴式显示设备已经开始显示i1所在GOP中的画面,VR头戴式显示设备可以在该GOP中的显示预设帧数的P帧之后进行切换。例如,从p1帧开始,到VR头戴式显示设备播放p8帧图像之后,VR头戴式显示设备播放FOV2对应的VR视频流。
如图4中(b)所示,表示VR头戴式显示设备待播放的FOV2对应的VR视频流的结构。其中,VR视频流包括一路长GOP视频序列和一路短GOP视频序列。如图4中(c)所示,表示VR头戴式显示设备从FOV1切换至FOV2切换过程中下载的视频帧。其中,VR头戴式显示设备当前播放p1帧,为了保证VR头戴式显示设备展示的画面是连续的,VR头戴式显示设备可以继续下载FOV1中的p2帧、p3帧……和p7帧。VR头戴式显示设备可以在下载p7帧之后下载FOV2对应的VR视频流中的短GOP视频序列,其中,需要根据最后下载的FOV1的对应的VR视频流中混合帧序列中最后一帧(即p7帧)的时间戳,下载FOV2对应的VR视频流中的短GOP视频序列。如图4中(c)所示,p7帧的时间戳对应的是FOV2对应的VR视频流中i3”帧的时间戳,因此,VR头戴式显示设备下载i3”帧以及i3”帧之后的P帧。当VR头戴式显示设备下载i3”帧之后的多个P帧直到i4”帧,VR头戴式显示设备可以下载FOV2对应的VR视频流长GOP视频序列。即从i4”帧的时间戳对应的i2’帧开始下载i2’帧以及i2’帧之后的P帧。至此,VR头戴式显示设备完成了视场角的切换,即从FOV1对应的VR场景视频切换至FOV2对应的VR场景视频。如图4中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
需要说明的,上述仅通过一个Tile流为示意,说明VR头戴式显示设备切换视场角的过程。其中,VR头戴式显示设备需要接收多个Tile流,以形成FOV2对应的VR场景视频。对于FOV2中的每个Tile流都可以执行如图4所示的过程,因此,此处不再对其他的Tile流的切换过程进行示意。需要明白的,如果FOV1和FOV2中均包括相同的Tile流,则相同的Tile流不需要执行如图4中的切换过程。
其中,通过上述示意,由图4可知,VR头戴式显示设备从FOV1对应的VR场景视频切换至FOV2对应的VR场景视频,在MTHR期间VR头戴式显示设备下载了p1帧~p7帧的图像。也就是说,VR头戴式显示设备从i3”帧开始播放的是FOV2对应的VR场景视频。MTHR期间,VR头戴式显示设备下载了7帧。根据实地测试,当MTHR超过5个帧时,可能会使穿戴VR头戴式显示设备的用户产生眩晕感。因此,这种实现方式虽然可以避免视场角的改变导致的画面不连续的问题,但是,这种实现方式会使得穿戴VR头戴式显示设备的用户产生晕眩感,降低用户体验。
当VR头戴式显示设备检测到用户转头的动作,为了避免穿戴VR头戴式显示设备在切换视场角对应的VR场景视频的过程中,VR头戴式显示设备给用户造成晕眩感,可以降低MTHR期间VR头戴式显示设备播放的FOV1的视频帧的数量。
在第三种实现方式中,源站采用TWS方案生成VR场景视频。其中,源站创建的M个Tile流中,每个Tile流包括两路视频序列,一路为短GOP视频序列(分片内的GOP数较多,如1个分片包含8个GOP),另一路为全I帧视频序列。
其中,源站可以将M个Tile流发送给CDN,当VR头戴式显示设备向CDN发送VR视频请求,VR视频请求中包括VR头戴式显示设备当前的视场角(第一视场角)。CDN可以将第一视场角对应的多个Tile流发送给VR头戴式显示设备。其中,VR头戴式显示设备接收到多个Tile流,根据多个Tile流中的短GOP视频序列形成当前视场角对应的VR场景视频。档VR头戴式显示设备的视场角切换时,VR头戴式显示设备可以请求CDN发送切换后的视场角的Tile流中的全I帧视频序列作为切换过程的播放视频帧,待VR头戴式显示设备播放的视频帧的时间戳到一个IDR帧时,切换为切换后的视场角的多个Tile流中的短GOP视频序列以形成视场角对应的VR场景视频。
示例性的,以VR头戴式显示设备的视场角从第一视场角FOV1切换至第二视场角FOV2为例。请参考图5,为VR头戴式显示设备切换视场角的过程中,VR头戴式显示设备下载和播放的VR视频帧。如图5中(a),表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的VR视频流中短GOP视频序列的行为。其中,VR头戴式显示设备可以从i1帧开始依次播放短GOP视频序列。假设VR头戴式显示设备播放p1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。由于VR头戴式显示设备已经开始显示i1所在GOP中的画面,Tile流的GOP为短GOP视频序列。VR头戴式显示设备可以在该GOP中的显示预设帧数的GOP之后的IDR帧进行切换,例如,从p1帧开始,到VR头戴式显示设备播放i2帧图像之后,VR头戴式显示设备播放FOV2对应的VR视频流。
如图5中(b)所示,表示VR头戴式显示设备待播放的FOV2对应的VR视频流的结构。其中,VR视频流包括一路短GOP视频序列和一路全I帧视频序列。如图5中(c)所示,表示VR头戴式显示设备从FOV1切换至FOV2切换过程中下载的视频帧。其中,VR头戴式显示设备当前播放p1帧,为了保证VR头戴式显示设备展示的画面是连续的,VR头戴式显示设备可以继续下载FOV1中的p2帧、p3帧和i2帧。VR头戴式显示设备可以在下载i2帧之后下载FOV2对应的VR视频流中的全I帧视频序列,作为播放FOV2中断GOP视频序列的过渡视频帧。其中,需要根据最后下载的FOV1的对应的VR视频流中混合帧序列中最后一帧(即i2帧)的时间戳,下载FOV2对应的VR视频流中的全I帧视频序列。如图5中(c)所示,i2帧的时间戳对应的是FOV2对应的VR视频流中i5’帧的时间戳,因此,VR头戴式显示设备下载i2帧之后的i6’帧、i7’帧和i8’帧,i8’帧之后可以下载Tile流中短GOP视频序列中的IDR帧,即i3”帧。VR头戴式显示设备从i3”帧开始下载i3”帧之后的图像帧。至此,VR头戴式显示设备完成了视场角的切换,即从FOV1对应的VR场景视频切换至FOV2对应的VR场景视频。如图5中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
需要说明的,本方案采用TWS,VR头戴式显示并未固定视场角对应的VR场景视频。这样,VR头戴式显示设备检测到用户的转头动作,VR头戴式显示设备展示的视角所对应的画面自然连续,使得用户体验更好。但是,这种实现方式中,视场角切换的过程中,从FOV2切换为FOV2时,VR头戴式显示设备下载的FOV2的前4帧均为关键帧。并且,I帧的数据量较大,会导致VR头戴式显示设备和CDN之间的网络传输码率较大。同理,源站向CDN传输的也是包括两路流的Tile流,使得源站和CDN之间的传输码率增大。
本申请实施例提供一种VR场景的视频的处理方法,该方法可以应用于电子设备(例如,VR头戴式显示设备)播放VR场景视频的场景。可以采用TWS方案,源站编码VR场景视频时降低VR场景视频中的Tile流的码率,从而降低源站和CDN之间传输网络的传输码率,进而降低CDN和电子设备之间传输网络的传输码率。其中,采用TWS方案源站可以编码出全视场角对应的多个Tile流,当电子设备的视场角切换时,CDN可以向VR头戴式显示设备视场角对应的多个Tile流,使得电子设备展示的VR场景视频中的画面自然连续,从而提高用户体验。
示例性的,本申请实施例中的电子设备可以是VR头戴式显示设备,电子设备还可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话等。当电子设备是手机的时候,电子设备需要和VR眼镜配合使用。其中,手机可以接收VR场景视频流,VR眼镜用于展示VR场景视频。另外,电子设备还可以是个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等,本申请实施例对该电子设备的具体形态不作特殊限制。
可以理解的,VR场景的视频的处理方法可以应用于,自由视点视频(freeviewpoint video,FVV)、虚拟现实(Virtual Reality,VR)和增强现实(augmentedreality,AR)等环境模拟技术。
示例性的,电子设备展示VR直播视频,或者,电子设备展示VR视频。由于电子设备是实时获取到VR场景的视频流,并实时为用户展示对应的VR场景视频。在这种情况下,如果电子设备检测到用户转头的动作,电子设备可以在用户转头的过程中,为用户提供自然连续的VR场景视频画面,且降低电子设备和CDN之间的传输网络上的传输码率。
为了清楚的说明本申请的技术方案以及该技术方案的效果,以下将结合附图以及实施例对本申请进行进一步说明。应当理解的,此处所描述的具体实施例仅用于解释本申请,并不用于限定本申请。
请参考图6,为本申请实施例提供的一种电子设备200的结构示意图。如图6所示,该电子设备200可以包括处理器210,外部存储器接口220,内部存储器230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,传感器模块280,展示镜片291,微投影系统292以及显示屏293等。其中,传感器模块可以包括:压力传感器280A,陀螺仪传感器280B,振动传感器280C,方向传感器280D,加速度传感器280E,距离传感器280F,接近光传感器280G,温度传感器280J,触摸传感器280K,环境光传感器280L等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备200的结构限定。在本申请另一些实施例中,电子设备200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备200的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器230可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器230的指令,从而执行电子设备200的各种功能应用以及数据处理。内部存储器230可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器230可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器230,外部存储器,显示屏294,无线通信模块260等供电。
电子设备200的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
电子设备200可以通过音频模块270,以及应用处理器等实现音频功能。例如音乐播放,录音等。
移动通信模块250可以提供应用在电子设备200上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块260可以提供应用在电子设备200上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
电子设备200通过GPU,显示屏294,以及应用处理器等实现显示功能。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode 的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备200可以包括1个或N个显示屏294,N为大于1的正整数。
展示镜片291可以包括左眼展示镜片和右眼展示镜片。其中,展示镜片可以包括两片透镜,透镜可以是凸透镜。例如,透镜表面可以设计为平凸结构、双凸结构或凹凸结构等。可以理解的,凸透镜能修正晶状体的光源角度,导致人眼重新读取,达到增大视角、放大画面、增强立体感的作用,从而让人感觉身临其境。
微投影系统292用于获取VR场景视频,并将VR场景视频投射在显示屏293,实现为用户展示VR场景视频的目的。
压力传感器280A用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器280B可以用于确定电子设备200的运动姿态。振动传感器280C可以用于确定电子设备200的运动状态。方向传感器280D可以用于感应电子设备200在某个方向上惯性力大小和衡量电子设备200在该方向上的加速度与重力。
加速度传感器280E可检测电子设备200在各个方向上(一般为三轴)加速度的大小。当电子设备200静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器280F,用于测量距离。电子设备200可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备200可以利用距离传感器280F测距以实现快速对焦。
接近光传感器280G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备200通过发光二极管向外发射红外光。电子设备200使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备200附近有物体。当检测到不充分的反射光时,电子设备200可以确定电子设备200附近没有物体。
温度传感器280J,用于检测温度。在一些实施例中,电子设备200利用温度传感器280J检测的温度,执行温度处理策略。
触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。
环境光传感器280L用于感知环境光亮度。电子设备200可以根据感知的环境光亮度自适应调节显示屏294亮度。
以下实施例中的均可以在具备上述硬件结构的电子设备中实现。本申请实施例以电子设备是VR头戴式显示设备,且使用VR头戴式显示设备播放VR直播视频为例,对本申请提供的VR场景的视频的处理方法进行说明。
请参考图7,为本申请实施例提供的VR场景的视频处理方法的应用场景示意图。如图7所示,该应用场景中包括VR头戴式显示设备71、CDN 72和源站73。其中,VR头戴式显示设备71可以称为VR端设备,源站73可以为源站计算机或编码装置,CDN 72是由多个服务器构成的内容分发网络,CDN 72还可以称为分发装置。
VR头戴式显示设备71展示VR直播视频的过程中,源站73可以获取VR直播的素材,并根据获取到的VR直播的素材创建全视场角的VR场景视频。CDN 72可以接收到VR头戴式显示设备71的VR视频请求,使得CDN 72向源站73请求获取VR视频请求中的VR场景视频。源站73可以向CDN 72发送全视场角的VR场景视频,CDN 72可以根据VR视频请求中的视场角向VR头戴式显示设备发送其视场角对应的VR场景视频。
具体的,如图8所示,为本申请实施例提供的VR场景视频的处理方法的流程图,包括步骤801-步骤809。其中,本申请实施例的方法可以应用于图7所示的应用场景。
步骤801:源站服务器可以接收VR直播视频的素材,根据VR直播视频的素材创建出全视场角的VR直播视频。
其中,VR场景视频包括全视场角的低分辨率背景流和M个Tile流,M个Tile流可以形成全视场角的VR直播视频。
需要说明的,M个Tile流中每个Tile流包括一路视频流,M为正整数。其中,一路视频流可以由时长固定的分片流(Slices)组成,每个分片流可以包括多个GOP,每个GOP中可以包括一个关键帧和该关键帧之后的X个预测帧,X≥2,X为正整数。
示例性的,如图9所示,为本申请实施例提供的分片流的结构示意图。多个Slices可以形成一路的视频流(即一路Tile流),因此,多个分片流组合在一起可以称为Tile流。如图9所示,关键帧i1和i1之后的预测帧p1、p2和p3为一组GOP。i1可以帧内解码,p1、p2和p3的解码均需要参考i1帧。在一些实施例中,p1、p2和p3的解码只参考i1帧。在另一些实施例中,p1、p2和p3的解码可以参考i1帧和P帧,例如,p3帧的解码需要参考i1帧和P2帧。如果p3帧的解码需要参考i1帧和P2帧,那么,当确定以p3帧作为起始帧播放Tile流,则可以向VR头戴式显示设备发送p3帧、i1帧和P2帧。以便VR头戴式显示设备可以根据i1帧和P2帧解码p3帧,并以p3帧为起始帧播放Tile流对应的图像。
可以理解的,如图9所示,一个GOP中包括3个预测帧,实际应用中,GOP中可以包括其他数量的预测帧。例如,一个GOP中关键帧之后可以包括3个预测帧、6个预测帧或8个预测帧等。
在一种可能的实现方式中,在对Slices中的GOP进行编码时,可以将Slices中的GOP全部编码为close GOP。
当用户穿戴VR头戴式显示设备观看VR直播视频,由于人眼的视线范围有限,VR头戴式显示设备展示用户当前视线范围中的VR直播视频即可满足用户需求。VR头戴式显示设备可以根据传感器的数据,确定出展示的视场角,并请求视场角范围中的VR场景视频。其中,VR头戴式显示设备可以根据陀螺仪传感器、方向传感器的数据确定出当前的视场角。可以理解的,当穿戴VR头戴式显示设备的用户发生转头动作,VR头戴式显示设备的传感器可以检测到用户转头的动作。例如,VR头戴式显示设备可以根据陀螺仪传感器和方向传感器的数据检测到用户转头的动作。
需要说明的,源站服务器根据VR直播的素材生成低分辨率背景流和M个Tile流。假设VR头戴式显示设备可以从源站获取第一视场角对应的多个Tile流,则VR头戴式显示设备可以根据多个Tile流中的视频帧拼接以形成第一视场角对应的VR直播视频。其中,上述源站服务器创建VR直播视频的方式为TWS,当VR头戴式显示设备检测到用户转头的动作,则VR头戴式显示设备可以向服务器请求获取VR头戴式显示设备切换视场角之后的VR直播视频对应的多个Tile流。VR头戴式显示设备采用Tile流形成视场角对应的VR直播视频,在检测到用户发生转头动作,从第一视场角切换至第二视场角的过程中,使得画面流畅,从而提高用户体验。
示例性的,源站服务器可以将全视场角高分辨率VR直播视频均匀分割为M个Tile流,或者,源站服务器可以将全视场角高分辨率VR直播视频非均匀分割为M个Tile流。也就是说,本申请实施例并不具体限定源站服务器对全视场角高分辨率VR直播视频的分割方式。
步骤802:VR头戴式显示设备向CDN发送VR视频请求,VR视频请求用于请求以第一视场角播放VR直播视频。
可以理解的,源站服务器接收到CDN的VR视频请求,源站服务器可以将编码的VR直播视频对应的M个Tile流中的视频流一帧一帧的发送给CDN。由于源站服务器在对VR直播视频进行编码时,每个Tile流对应一路视频流,相比于每个Tile流对应两路视频流的方案,降低了源站服务器和CDN网络之间的传输压力。
其中,CDN可以由多个服务器组成,CDN用于向VR头戴式显示设备发送VR直播视频。CDN使得用户可以就近获取所需的内容,即VR头戴式显示设备可以向最近的CDN中的服务器发送VR视频请求。这样,可以降低网络拥塞,提高用户访问响应速度和命中率。
VR头戴式显示设备向CDN发送VR视频请求,VR视频请求中包括VR头戴式显示设备当前的视场角(即第一视场角)。使得CDN可以向VR头戴式显示设备发送第一视场角对应的VR场景视频。
需要说明的,第一视场角是VR头戴式显示设备可以为用户提供的视场的范围对应的角度值,第一视场角并不是用户的眼睛所能够看到的视场的范围对应的角度值。不同的VR头戴式显示设备可以提供的视场的范围可以是不同的,例如,VR头戴式显示设备的视场角可以是120°、100°或90°等。
步骤803:CDN响应于接收到VR视频请求,向源站服务器发送VR直播视频请求。
其中,CDN可以服务于多个VR头戴式显示设备,当存在VR头戴式显示设备请求获取VR直播视频,则CDN响应于VR头戴式显示设备的VR视频请求,向源站服务器发送VR视频请求。由此一来,CDN可以从源站服务器获取VR直播视频,CDN可以响应于VR头戴式显示设备的VR视频请求,向VR头戴式显示设备发送VR场景视频。
可以理解的,在VR头戴式显示设备向CDN发送VR视频请求之前,已经有CDN服务的其他的电子设备请求获取VR直播视频,则CDN直接将获取到的VR直播视频向VR头戴式显示设备发送即可。也就是说,如果CDN已经向源站服务器请求获取VR场景视频,CDN获取到VR头戴式显示设备的VR视频请求,直接向VR头戴式显示设备发送其视场角对应的VR直播视频即可。在这种情况下,可以不执行步骤803。
步骤804:源站服务器接收到来自CDN的VR直播视频请求,向CDN发送全视场角的VR直播视频。
可以理解的,源站向CDN发送全视场角的VR直播视频,全视场角VR直播视频包括低分辨率背景流和M个Tile流。其中,M个Tile流可以形成高分辨率全视场角的VR视频图像。由于CDN可以服务于多个VR头戴式显示设备,多个VR头戴式显示设备发送的VR视频请求中的视场角可以不同。源站服务器向CDN发送全视场角的VR直播视频,这样,当VR头戴式显示设备向CDN发送VR视频请求,使得CDN可以根据VR视频请求的视场角向对应的VR头戴式显示设备发送视场角对应的VR直播视频。
其中,CDN可以向源站服务器发送VR直播视频请求,VR直播视频请求用于请求获取全视场角的VR直播视频。使得CDN响应于VR头戴式显示设备的VR视频请求,可以向VR头戴式显示设备发送视场角对应的VR直播视频。
步骤805:CDN向VR头戴式显示设备发送第一视场角对应的N个Tile流。
其中,N个Tile流为服务器中的M个Tile流中、与第一视场角对应的Tile流,N为正整数。
VR头戴式显示设备可以根据N个Tile流生成第一视场角对应的VR直播视频。可以理解的,CDN还可以向VR头戴式显示设备发送低分辨率背景流,VR头戴式显示设备可以在低分辨率背景流上显示N个Tile流生成的高分辨率视频,以形成高分辨率VR直播视频。
步骤806:VR头戴式显示设备接收到N个Tile流,根据N个Tile流播放第一视场角对应的VR直播视频。
其中,VR头戴式显示设备在展示第一视场角对应的VR直播视频时,可以展示出全视场角的低分辨率背景流,在低分辨率背景流上叠加显示N个高质量画面Tile流形成的直播视频。使得穿戴VR头戴式显示设备的用户观看到第一视场角对应的VR直播视频。
步骤807:VR头戴式显示设备检测到视场角发生变化,向CDN发送切换视场角请求,切换视场角请求用于请求以第二视场角播放VR场景视频。
示例性的,VR头戴式显示设备可以根据陀螺仪传感器和方向传感器的数据检测到用户转头的动作,以确定VR头戴式显示设备的视场角发生变化。VR头戴式显示设备可以根据视场角的变化程度,向CDN发送切换视场角请求。其中,切换视场角请求中可以包括第二视场角。使得CDN可以向VR头戴式显示设备发送第二视场角对应的VR直播视频。
需要说明的,由于第二视场角对应的VR场景视频与第一视场角对应的VR场景视频不同,视场角切换请求中包括第二视场角,使得CDN可以根据第二视场角确定VR场景视频中的多个Tile流。或者,切换视场角请求中的第二视场角为第二视场角的VR场景视频对应的多个Tile流。也就是说,切换视场角请求包括第二视场角的VR场景视频对应的多个Tile流的标识和K个Tile流对应的第二视频帧的帧序号。
步骤808:CDN响应于视场角切换请求,向VR头戴式显示设备发送K个Tile流。
其中,K个Tile流为服务器中的M个Tile流中、与第一视场角对应的Tile流,并且,K个Tile流中的每个Tile流包括一路视频流,K为正整数。
可以理解的,在接收到K个Tile流之前,VR头戴式显示设备在播放第一视场角对应的N个Tile流形成的VR直播视频。当CDN接收到视场角切换请求,CDN可以向VR头戴式显示设备发送第二视场角对应的K个Tile流,或者,CDN可以预设VR头戴式显示设备切换时长,并根据预设的切换时长向VR头戴式显示设备发送K个Tile流。
示例性的,CDN可以获取VR头戴式显示设备正在播放的N个Tile流中第一视频帧的时间戳,CDN根据该时间戳和预设的切换时长,确定K个Tile流中的第二视频帧。CDN可以从第二视频帧开始,向电子设备发送K个Tile流。其中,第一视频帧是VR头戴式显示设备正在播放的N个Tile流的视频帧。例如,图9所示的分片流是VR头戴式显示设备正在播放的分片流,当前VR头戴式显示设备正在展示p1。因此,p1就是第一视频帧,p1的时间戳为VR头戴式显示设备正在播放的VR直播视频的时间戳。可以理解的,上述K个Tile流中的第二视频帧中,第二视频帧可能是I帧也可能是P帧。
上述示例中,CDN接收到来自VR头戴式显示设备的视场角切换请求之后,在预设切换时间之前,获取VR头戴式显示设备正在播放的N个Tile流中第一视频帧的时间戳。CDN根据该时间戳和预设的切换时长,确定VR头戴式显示设备播放第二视场角对应的K个Tile流中第二视频帧的时间戳。进一步的,CDN向VR头戴式显示设备发送第二视场角对应的K个Tile流。
示例性的,请参考图10,以CDN发送一个Tile流的过程为例,为VR头戴式显示设备向CDN发送切换视场角请求之后,CDN向VR头戴式显示设备发送的视频帧的示意图。如图10中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放i1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图10中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。CDN可以获取VR头戴式显示设备当前播放的i1的时间戳,假设预设的切换时长对应VR头戴式显示设备播放4个图像帧的时间,即K个Tile流中的第二视频帧为i2’帧。CDN可以继续向VR头戴式显示设备发送p1帧、p2帧和p3帧,在p3帧之后VR头戴式显示设备可以播放第二视场角对应的VR直播视频,CDN向VR头戴式显示设备发送i2’帧。如图10中(c)表示VR头戴式显示设备从FOV1切换至FOV2,CDN向VR头戴式显示设备发送的视频帧。如图10中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
又示例性的,请参考图11,以CDN发送一个Tile流的过程为例,为VR头戴式显示设备向CDN发送切换视场角请求之后,CDN向VR头戴式显示设备发送的视频帧的示意图。如图11中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放p1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图11中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。CDN可以获取VR头戴式显示设备当前播放的p1的时间戳,假设预设的切换时长对应VR头戴式显示设备播放4个图像帧的时间,即K个Tile流中的第二视频帧为p4帧。CDN可以继续向VR头戴式显示设备发送p3帧和i2帧,在i2帧之后VR头戴式显示设备可以播放第二视场角对应的VR直播视频,CDN向VR头戴式显示设备发送p5’帧。由于p5’帧的解码依赖i2’帧,因此,CDN向VR头戴式显示设备发送i2’帧。如图11中(c)表示VR头戴式显示设备从FOV1切换至FOV2,CDN向VR头戴式显示设备发送的视频帧。如图11中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
其中,由于GOP中的P帧是采用前向编码的方式得到的,也就是说,GOP中的P帧在解码时需要依赖GOP中的I帧。因此,如果第二视频帧是P帧,则CDN需要将P帧所在GOP中的I帧发送给VR头戴式显示设备。如果第二视频帧是I帧,则CDN以I帧为起始帧向VR头戴式显示设备发送第二视场角对应的K个Tile流。
需要说明的,在如图10中(b)所示的一路Tile流的视频流中,p5’帧和i2’帧之间还存在p4’帧。由于VR头戴式显示设备可以从p5’帧开始播放,CDN可以在向VR头戴式显示设备发送i2’帧之后,发送p5’帧。
其中,预设的切换时长与VR头戴式显示设备播放VR直播视频时的执行传输、解数据封装、数据解码和图像帧渲染的执行时间相关。示例性的,假设VR头戴式显示设备播放VR直播视频时的执行传输、解数据封装、数据解码和图像帧渲染的执行时间为t,将VR头戴式显示设备当前播放的第一视频帧的时间戳加上t,可以确定VR头戴式显示设备播放第二视场角对应的VR直播视频的时间。
其中,t可以为经验值。t也可以与Tile流中的编码参数相关,例如,Tile流编码中的帧率等。此处仅为示例,不具体限定t的数值。
步骤809:接收来自服务器的K个Tile流,根据K个Tile流,播放第二视场角对应的VR场景视频。
其中,VR头戴式显示设备在展示第二视场角对应的VR直播视频时,可以展示出全视场角的低分辨率背景流,在低分辨率背景流上叠加显示K个高质量画面Tile流形成的直播视频。使得穿戴VR头戴式显示设备的用户观看到第二视场角对应的VR直播视频。
需要理解的,上述示例中说明了CDN可以控制向VR头戴式显示设备发送切换后的视频帧。另一种实现方式中,CDN可以响应于切换视场角的请求,及时向VR头戴式显示设备发送第二视场角对应的Tile流。VR头戴式显示设备可以根据接收到的第二视场角的K个Tile流进行切换,从而实现VR头戴式显示设备切换播放的VR直播视频的目的。
具体地说,假设CDN发送的Tile流的结构如图9所示,一个GOP中包括一个I帧,三个P帧为例。其中,VR头戴式显示设备检测到切换视场角的时刻不同,则VR头戴式显示设备下载的视频帧可能出现跳帧下载的现象,请参考如下示例,分别表示VR头戴式显示设备检测到切换视场角的分别为GOP中I帧和P帧是,VR头戴式显示设备下载的视频帧。
第一示例,继续以图10所示的CDN向VR头戴式显示设备发送的视频帧的示意图为例。如图10中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放i1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图10中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV2对应的一个Tile流的视频流的示意。当CDN接收到VR头戴式显示设备发送的视场角切换请求,因为i1帧的时间戳与i1’帧的时间戳相同,CDN向VR头戴式显示设备发送i1帧。VR头戴式显示设备根据i1帧时间戳和预设切换时长,确定将i2’帧作为第二视场角的起始播放帧。如图10中(c)表示VR头戴式显示设备从FOV1切换至FOV2,VR头戴式显示设备从CDN下载的视频帧。VR头戴式显示设备可以下载i2’帧、p4’帧和p5’帧。如图10中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
第二示例,继续以图11所示的CDN向VR头戴式显示设备发送的视频帧的示意图为例。如图11中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放p1帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图11中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV2对应的一个Tile流的视频流的示意。当CDN接收到VR头戴式显示设备发送的视场角切换请求,CDN以p1帧所在的IDR帧为起始帧向VR头戴式显示设备发送FOV2对应Tile流的视频流。VR头戴式显示设备根据p1帧时间戳和预设切换时长,确定将p4’帧作为第二视场角的起始播放帧。如图11中(c)表示VR头戴式显示设备从FOV1切换至FOV2,VR头戴式显示设备从CDN下载的视频帧。VR头戴式显示设备可以下载i2’帧、p4’帧和p5’帧。如图11中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
第三示例,请参考图12,以CDN发送一个Tile流的过程为例,为VR头戴式显示设备向CDN发送切换视场角请求之后,CDN向VR头戴式显示设备发送的视频帧的示意图。如图12中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放p2帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图12中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV2对应的一个Tile流的视频流的示意。当CDN接收到VR头戴式显示设备发送的视场角切换请求,CDN以p5’帧所在GOP中的IDR帧为起始帧向VR头戴式显示设备发送FOV2对应Tile流的视频流。VR头戴式显示设备根据p2帧时间戳和预设切换时长,确定将p5’帧作为第二视场角的起始播放帧。如图12中(c)表示VR头戴式显示设备从FOV1切换至FOV2,VR头戴式显示设备从CDN下载的视频帧。VR头戴式显示设备可以下载i2’帧和p5’帧。跳过p4’帧,即VR头戴式显示设备不请求下载p4’帧。如图12中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
其中,由于GOP中的P帧是采用前向编码的方式得到的,也就是说,GOP中的P帧在解码时需要依赖GOP中的I帧。因此,如果第二视频帧是P帧,则CDN需要将P帧所在GOP中的I帧发送给VR头戴式显示设备。如果第二视频帧是I帧,则CDN以I帧为起始帧向VR头戴式显示设备发送第二视场角对应的K个Tile流。
第四示例,请参考图13,以CDN发送一个Tile流的过程为例,为VR头戴式显示设备向CDN发送切换视场角请求之后,CDN向VR头戴式显示设备发送的视频帧的示意图。如图13中(a)表示VR头戴式显示设备播放FOV1对应的VR场景视频,VR头戴式显示设备播放FOV1对应的一个Tile流的视频流的示意。其中,VR头戴式显示设备可以从i1帧开始依次播放该混合帧序列。假设VR头戴式显示设备播放p3帧是检测到用户的转头动作,VR头戴式显示设备确定视场角从FOV1切换至FOV2。其中,如图13中(b)表示VR头戴式显示设备播放FOV2对应的VR场景视频,VR头戴式显示设备播放FOV2对应的一个Tile流的视频流的示意。当CDN接收到VR头戴式显示设备发送的视场角切换请求,CDN以p5’帧所在GOP中的IDR帧为起始帧向VR头戴式显示设备发送FOV2对应Tile流的视频流。VR头戴式显示设备根据p3帧时间戳和预设切换时长,确定将p6’帧作为第二视场角的起始播放帧。如图13中(c)表示VR头戴式显示设备从FOV1切换至FOV2,VR头戴式显示设备从CDN下载的视频帧。VR头戴式显示设备可以下载i2’帧和p6’帧。跳过p4’帧和p5’帧,即VR头戴式显示设备不请求下载p4’帧和p5’帧。如图13中(d)所示,表示VR头戴式显示设备从FOV1切换至FOV2过程中播放的视频帧序列。
其中,由于GOP中的P帧是采用前向编码的方式得到的,也就是说,GOP中的P帧在解码时需要依赖GOP中的I帧。因此,如果第二视频帧是P帧,则CDN需要将P帧所在GOP中的I帧发送给VR头戴式显示设备。如果第二视频帧是I帧,则CDN以I帧为起始帧向VR头戴式显示设备发送第二视场角对应的K个Tile流。
需要说明的,在VR头戴式显示设备视场角切换过程中,以GOP中包括一个关键帧和三个预测帧为例。在上述四种示例中,VR头戴式显示设备在切换视场角之后,VR头戴式显示设备播放的第二视场角的Tile流中,前4帧视频帧中平均包括1.5个IDR帧,2.5个P帧。也就是说,本申请实施例提供的VR场景的视频处理方法中,当VR头戴式显示设备切换视场角时,CDN向VR头戴式显示设备传输的视频流是传输网络可以承载的。
另外,本申请实施例提供的方法中,当CDN接收到切换视场角的请求,在MTHR时间内通过4帧切换至第二视场角对应的VR场景视频。第二视场角的多个Tile流形成高分辨率的VR场景视频,降低了第二视场角的高清画面的显示时延。
在一种可能的实现方式中,VR头戴式显示设备可以向CDN发送跳帧请求,CDN响应于跳帧请求,向VR头戴式显示设备发送跳帧请求中的视频帧。
示例性的,VR头戴式显示设备可以确定当前播放的第一视场角的Tile流的第一视频帧的时间戳,根据时间戳确定出待播放的第二视场角中的第二视频帧。如果VR头戴式显示设备确定第二视频帧是需要跳帧播放的预测帧,VR头戴式显示设备可以向CDN发送跳帧请求,以获取第二视频帧所在GOP中的I帧和第二视频帧。
可以理解的,当CDN接收到VR头戴式显示设备的跳帧请求,CDN可以向VR头戴式显示设备发送第二视频帧所在GOP中的I帧,以及从第二视频帧开始向VR头戴式显示设备发送第二视频帧所在Tile流。
在第一种实施方式中,VR头戴式显示设备向CDN发送第一请求,第一请求的超文本传输协议(HyperText Transfer Protocol,HTTP协议)的头部包括:Tile流的标识、第二视频帧的帧序号和第二视频帧所在GOP的IDR帧的帧序号。例如,上述第二示例中,第一请求可以为:x-frame-index:i2’,p5’。其中,x-frame-index为HTTP自定义头域的名称,其中可以包括Tile流的标识。i2’为IDR帧的帧序号,p5’为第二视频帧的帧序号。其表示,VR头戴式显示设备请求获取Tile流中i2’帧、p5’帧,以及p5’帧之后的帧。
在第二种实施方式中,VR头戴式显示设备向CDN发送第二请求,第二请求用于请求获取Tile流中的Tile分片的头信息,VR头戴式显示设备可以根据Tile分片的头信息确定要请求的IDR帧和第二视频帧。进一步的,VR头戴式显示设备向CDN发送第三请求,第三请求中http range头域,例如,http range头域为Range:bytes=x-y,z-。其中,x与y对应IDR帧在Tile分片中的字节范围,z为起播帧的起始字节。根据x-y得到IDR帧为i2’,第二视频帧为p5’。
当CDN接收到上述请求(如,第一请求、第二请求或第三请求),CDN可以解析请求,并查找缓存的Tile流,向VR头戴式显示设备发送对应的视频帧。
示例性的,CDN向VR头戴式显示设备发送的视频帧响应数据。
例如,HTTP/2 206Patial Content
Date:Wed,15Nov 1995 06:25:24GMT
Last-Modified:Wed,15Nov 1995 04:58:08GMT
Content-Type:multipart/byteranges;boundary=THIS_STR_SEPARATES
--THIS_STR_SEPARATES
Content-Type:video/mpeg4
Content-Range:600000-710000/1500000
新FOV起始帧临近的IDR数据:--THIS_STR_SEPARATES;Content-Type:video/mpeg4;Content-Range:750000-1499999/1500000。
新FOV起始帧及后续帧的数据:--THIS_STR_SEPARATES--
本实施例还提供一种显示VR直播视频的系统。如图14所示,显示VR直播视频的系统可以包括编码装置901、分发装置902和VR显示设备903。
其中,编码装置901用于获取VR直播的素材,根据VR直播的素材生成低分辨率背景流和M个Tile流。M个Tile流中每个Tile流包括一路视频流,M为正整数。
分发装置902用于接收编码装置901生成低分辨率背景流和M个Tile流,并且,可以接收VR显示设备903的VR视频请求,向VR显示设备903发送对应视场角对应的多个Tile流。
VR显示设备903用于向分发装置902发送VR视频请求,以请求获取第一视场角对应的VR直播视频。以及,接收分发装置902发送的视场角对应的多个Tile流,展示多个Tile流形成的视场角的VR直播视频。
可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供一种服务器,如图15所示,该服务器可以包括:接收模块401、发送模块402、获取模块403、确定模块404和创建模块405。
其中,创建模块405可以用于创建出VR场景视频中包括的M个Tile流。具体的,M个Tile流可以形成全视场角的VR场景视频。VR场景视频中的M个Tile流中,K个Tile流是与第二视场角对应的Tile流。也就是说,服务器可以接收到用于创建VR场景视频的素材,使得服务器中的创建模块405可以创建出VR场景视频。
接收模块401可以接收来自电子设备切换至第二视场角的视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。
发送模块402用于响应于视场角切换请求,向电子设备发送K个Tile流。其中,K个Tile流中的每个Tile流包括一路视频流,K为正整数。
可以理解的,服务器接收到来自电子设备的视场角切换请求,可以响应于视场角切换请求,向电子设备发送K个Tile流。使得电子设备可以根据接收到的K个Tile流创建出全视场角的VR场景视频。
示例性的,服务器响应于视场角切换请求时,获取模块403可以用于获取电子设备播放N个Tile流的时间戳。其中,时间戳用于指示电子设备正在播放N个Tile流中的第一视频帧,第一视频帧为关键帧或预测帧。
确定模块404可以用于根据上述时间戳和服务器中预设的切换时长,确定K个Tile流中的第二视频帧。其中,第二视频帧为关键帧或预测帧。发送模块可以从第二视频帧开始,向电子设备发送K个Tile流。
示例性的,若上述的第二视频帧是预测帧,则发送模块402还可以向电子设备发送第二视频帧在GOP中的关键帧。
在一种实现方式中,服务器接收到切换视场角请求,则向电子设备发送第二视场角对应的多个Tile流。
另一种可能的实现方式中,服务器接收到切换视场角请求之后,获取第二视频帧的时间戳。服务器可以根据第一视频帧的时间戳和服务器中预设的切换时长,确定K个Tile流中的第二视频帧。发送模块可以从第二视频帧开始,向电子设备发送K个Tile流。
可以理解的,服务器创建的VR场景视频中的每个Tile流包括多个分片流(Slices),每个分片流可以包括多个图像组(Group Of Pictures,GOP),每个GOP中可以包括一个关键帧和关键帧之后的X个预测帧,X≥2,X为正整数。其中,第二视频帧可以是预测帧或关键帧。如果第二视频帧是预测帧,则服务器的发送模块还可以向电子设备发送第二视频帧所在GOP中的关键帧。
本申请实施例还提供一种电子设备,如图16A所示。如图16A所示,该电子设备包括发送模块501、接收模块502、确定模块503和播放模块504。
其中,当电子设备的视场角发生变化时,发送模块501可以向服务器发送视场角切换请求,视场角切换请求用于请求以第二视场角播放VR场景视频。
接收模块502可以用于接收来自服务器的K个Tile流。其中,K个Tile流为M个Tile流中、与第二视场角对应的Tile流,K个Tile流中的每个Tile流包括一路视频流。
确定模块503可以用于确定电子设备正在播放N个Tile流中的第一视频帧的时间戳;其中,第一视频帧为关键帧或预测帧。
播放模块可以用于:根据时间戳和预设切换时长,确定播放K个Tile流中第二视频帧,第二视频帧为关键帧或预测帧。使得电子设备从第二视频帧开始,根据K个Tile流以第二视场角播放VR场景视频。
示例性的,电子设备可以根据时间戳和预设切换时长,确定播放K个Tile流中第二视频帧,第二视频帧为关键帧或预测帧。
又示例性的,电子设备可以向服务器发送第一视频帧的时间戳。使得服务器可以根据时间戳,以及结合预设切换时长确定向电子设备发送K个Tile流的第二视频帧。其中,第二视频帧为关键帧或预测帧。
需要说明的,如果第二视频帧是预测帧,电子设备还可以用于从服务器获取第二视频帧所在GOP中的关键帧。
在采用集成的单元的情况下,图16B示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备200可以包括:处理单元1001、播放单元1002和存储单元1003。
其中,处理单元1001,用于对电子设备200的动作进行控制管理。例如,可以用于执行如图8中步骤803,和/或用于本文所描述的技术的其它过程。
播放单元1002,用于展示视场角对应的VR直播视频。例如,可以用于执行如图8中步骤806,和/或用于本文所描述的技术的其它过程。
存储单元1003用于保存电子设备200的程序代码和数据。例如,可以用于储存待播放的Tile流中的视频帧等。
当然,上述电子设备200中的单元模块包括但不限于上述处理单元1001、播放单元1002和存储单元1003。例如,电子设备200中还可以包括音频单元、通信单元等。音频单元用于采集用户发出的语音,以及播放语音。通信单元用于支持电子设备200与其他装置的通信。
其中,处理单元1001可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。处理器可以包括应用处理器和基带处理器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。存储单元1003可以是存储器。音频单元可以包括麦克风、扬声器、受话器等。通信单元可以是收发器、收发电路或通信接口等。
例如,处理单元1001为处理器(如图6所示的处理器210),播放单元1002可以为微投影系统和展示镜片共同配合实现播放VR直播视频的目的(如图6所示的展示镜片291和微投影系统292),存储单元1003可以为存储器(如图6所示的内部存储器230)。本申请实施例所提供的电子设备200可以为图6所示的电子设备200。其中,上述处理器、存储器展示镜片和微投影系统等可以耦合在一起,例如通过总线连接。
本申请实施例还提供一种芯片系统,如图17所示,该芯片系统包括至少一个处理器1101和至少一个接口电路1102。处理器1101和接口电路1102可通过线路互联。例如,接口电路1102可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1102可用于向其它装置(例如处理器1101)发送信号。示例性的,接口电路1102可读取存储器中存储的指令,并将该指令发送给处理器1101。当所述指令被处理器1101执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种虚拟现实VR场景的视频处理方法,其特征在于,所述方法包括:
服务器接收来自电子设备切换至第二视场角的视场角切换请求;其中,所述视场角切换请求用于请求以所述第二视场角播放VR场景视频,所述VR场景视频包括M个切片Tile流,M为正整数;
所述服务器响应于所述视场角切换请求,向所述电子设备发送K个Tile流;其中,所述K个Tile流为所述M个Tile流中、与所述第二视场角对应的Tile流,所述K个Tile流中的每个Tile流包括一路视频流,K为正整数。
2.根据权利要求1所述的方法,其特征在于,每个Tile流包括多个分片流,每个分片流包括多个图像组GOP,每个GOP中包括一个关键帧和所述关键帧之后的X个预测帧,X≥2,X为正整数。
3.根据权利要求1或2所述的方法,其特征在于,在所述服务器接收来自电子设备的视场角切换请求之前,所述方法还包括:
所述服务器接收来自电子设备的VR视频请求,所述VR视频请求用于请求以第一视场角播放所述VR场景视频;
所述服务器响应于所述VR视频请求,向所述电子设备发送N个Tile流;其中,所述N个Tile流为所述M个Tile流中、与所述第一视场角对应的Tile流,所述N个Tile流中的每个Tile流包括一路视频流。
4.根据权利要求2或3所述的方法,其特征在于,所述响应于所述视场角切换请求,所述服务器向所述电子设备发送K个Tile流,包括:
响应于所述视场角切换请求,所述服务器获取所述电子设备播放所述N个Tile流的时间戳;其中,所述时间戳用于指示所述电子设备正在播放所述N个Tile流中的第一视频帧,所述第一视频帧为关键帧或预测帧;
所述服务器根据所述时间戳和预设切换时长,确定所述K个Tile流中的第二视频帧;其中,所述第二视频帧为关键帧或预测帧;
所述服务器从所述第二视频帧开始,向所述电子设备发送所述K个Tile流。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第二视频帧是所述预测帧,所述服务器向所述电子设备发送所述第二视频帧所在GOP中的关键帧。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述服务器接收来自所述电子设备的视频帧请求,所述视频帧请求包括所述第二视频帧的帧序号和所述第二视频帧所在GOP中的关键帧的帧序号,其中,所述第二视频帧的帧序号用于指示所述第二视频帧在GOP中的标识,所述关键帧的帧序号用于指示所述关键帧所在GOP中的标识;
响应于所述视频帧请求,所述服务器向所述电子设备发送所述第二视频帧所在GOP中的所述关键帧和所述第二视频帧。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第二视频帧是所述关键帧,所述服务器接收来自所述电子设备的视频帧请求,其中,所述视频帧请求包括所述关键帧在GOP中的帧序号,所述关键帧的帧序号用于指示所述关键帧在GOP中的标识;
响应于所述视频帧请求,所述服务器向所述电子设备发送所述关键帧。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述视场角切换请求中包括所述第二视场角,所述第二视场角用于确定与所述第二视场角对应的所述K个Tile流;
或者,所述视场角切换请求中包括所述K个Tile流的标识和所述K个Tile流对应的第二视频帧的帧序号,若所述第二视频帧为预测帧,所述视场角切换请求中还包括所述第二视频帧所在GOP中的关键帧的帧序号;
其中,所述第二视频帧的帧序号用于指示所述第二视频帧在GOP中的标识,所述关键帧的帧序号用于指示所述关键帧在GOP中的标识。
9.一种虚拟现实VR场景的视频处理方法,其特征在于,所述方法包括:
电子设备的视场角发生变化时,向服务器发送视场角切换请求,所述视场角切换请求用于请求以第二视场角播放VR场景视频,所述VR场景视频包括M个Tile流,M为正整数;
接收来自所述服务器的K个Tile流;其中,所述K个Tile流为所述M个Tile流中、与所述第二视场角对应的Tile流,所述K个Tile流中的每个Tile流包括一路视频流;
所述电子设备根据所述K个Tile流,播放所述第二视场角对应的VR场景视频。
10.根据权利要求9所述的方法,其特征在于,所述Tile流包括多个分片流,每个分片流包括多个图像组GOP,每个GOP中包括一个关键帧和所述关键帧之后的X个预测帧,X≥2,X为正整数。
11.根据权利要求9或10所述的方法,其特征在于,在电子设备的视场角发生变化时,向服务器发送视场角切换请求之前,所述方法还包括:
向所述服务器发送VR视频请求;其中,所述VR视频请求用于请求以第一视场角播放所述VR场景视频;
所述电子设备接收来自所述服务器的N个Tile流;其中,所述N个Tile流为所述M个Tile流中、与所述第一视场角对应的Tile流,所述N个Tile流中的每个Tile流包括一路视频流;
所述电子设备根据所述N个Tile流,以所述第一视场角播放所述VR场景视频。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
确定所述电子设备正在播放所述N个Tile流中的第一视频帧的时间戳;其中,所述第一视频帧为关键帧或预测帧;
其中,所述电子设备根据所述K个Tile流,播放所述第二视场角对应的VR场景视频,包括:
所述电子设备根据所述时间戳和预设切换时长,确定播放所述K个Tile流中第二视频帧,所述第二视频帧为关键帧或预测帧;
所述电子设备从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频。
13.根据权利要求12所述的方法,其特征在于,所述第二视频帧为预测帧;
所述电子设备从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频之前,所述方法还包括:
所述电子设备从所述服务器获取所述第二视频帧,以及所述第二视频帧所在GOP中的关键帧;
所述电子设备从所述第二视频开始获取所述K个Tile流;
其中,所述电子设备从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频,包括:
所述电子设备根据所述第二视频帧所在GOP中的关键帧解码所述第二视频帧,从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
确定所述电子设备正在播放所述N个Tile流中的第一视频帧的时间戳;其中,所述第一视频帧为关键帧或预测帧;
所述电子设备向所述服务器发送所述时间戳;其中,所述时间戳用于结合预设切换时长确定所述服务器开始向所述电子设备发送所述K个Tile流的第二视频帧,所述第二视频帧为关键帧或预测帧;
其中,所述电子设备根据所述K个Tile流,播放所述第二视场角对应的VR场景视频,包括:
所述电子设备从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频。
15.根据权利要求14所述的方法,其特征在于,所述第二视频帧是所述预测帧,所述方法还包括:
所述电子设备从所述服务器获取所述第二视频帧所在GOP中的关键帧;
其中,所述电子设备从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频,包括:
所述电子设备根据所述第二视频帧所在GOP中的关键帧解码所述第二视频帧,从所述第二视频帧开始,根据所述K个Tile流以所述第二视场角播放所述VR场景视频。
16.根据权利要求9-15中任一项所述的方法,其特征在于,
所述视场角切换请求中包括所述第二视场角,所述第二视场角用于确定与所述第二视场角对应的所述K个Tile流;
或者,所述视场角切换请求中包括所述K个Tile流的标识和所述K个Tile流对应的第二视频帧的帧序号;若所述第二视频帧为预测帧,所述视场角切换请求中还包括所述第二视频帧所在GOP中的关键帧的帧序号;
其中,所述第二视频帧的帧序号用于指示所述第二视频帧在GOP中的标识,所述关键帧的帧序号用于指示所述关键帧在GOP中的标识。
17.一种服务器,其特征在于,所述服务器包括:存储器和一个或多个处理器;所述存储器和所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述服务器执行如权利要求1-8中任一项所述的操作。
18.一种电子设备,其特征在于,所述电子设备包括:存储器、显示装置和一个或多个处理器;所述存储器、所述显示装置和所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,使所述电子设备执行如权利要求9-16中任一项所述的操作。
19.一种芯片系统,其特征在于,所述芯片系统应用于包括存储器的电子设备;所述芯片系统包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1-16中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在控制设备上运行时,使得所述控制设备执行如权利要求1-16中任一项所述的方法。
21.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-16中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701982.2A CN114035672A (zh) | 2020-07-20 | 2020-07-20 | 一种虚拟现实vr场景的视频处理方法及相关设备 |
PCT/CN2021/103876 WO2022017149A1 (zh) | 2020-07-20 | 2021-06-30 | 一种虚拟现实vr场景的视频处理方法及相关设备 |
EP21845560.8A EP4184291A4 (en) | 2020-07-20 | 2021-06-30 | VIRTUAL REALITY (VR) SCENE VIDEO PROCESSING METHOD, AND ASSOCIATED DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701982.2A CN114035672A (zh) | 2020-07-20 | 2020-07-20 | 一种虚拟现实vr场景的视频处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114035672A true CN114035672A (zh) | 2022-02-11 |
Family
ID=79729873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010701982.2A Pending CN114035672A (zh) | 2020-07-20 | 2020-07-20 | 一种虚拟现实vr场景的视频处理方法及相关设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4184291A4 (zh) |
CN (1) | CN114035672A (zh) |
WO (1) | WO2022017149A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114727126A (zh) * | 2022-04-12 | 2022-07-08 | 杭州当虹科技股份有限公司 | 一种将图像缝合应用于多机位vr导播台的实现方法 |
CN115174942A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种自由视角切换方法及交互式自由视角播放系统 |
CN115174943A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种边云协同及客户端自适应的自由视角播放方法及系统 |
CN115314730A (zh) * | 2022-08-10 | 2022-11-08 | 中国电信股份有限公司 | 应用于虚拟现实vr场景的视频流传输方法及装置 |
WO2022268008A1 (zh) * | 2021-06-26 | 2022-12-29 | 华为技术有限公司 | 虚拟现实视频传输方法及装置 |
CN115942049A (zh) * | 2022-08-26 | 2023-04-07 | 北京博雅睿视科技有限公司 | 一种面向vr视频的视角切换方法、装置、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979799B (zh) * | 2022-05-20 | 2024-07-26 | 北京字节跳动网络技术有限公司 | 一种全景视频处理方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534912A (zh) * | 2015-09-11 | 2017-03-22 | 百度在线网络技术(北京)有限公司 | 音/视频流发布方法、流媒体服务器、发布端及流媒体系统 |
CN110392269A (zh) * | 2018-04-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法和装置、媒体数据播放方法和装置 |
CN110419224A (zh) * | 2017-03-17 | 2019-11-05 | 三星电子株式会社 | 用于封装和流传输虚拟现实媒体内容的方法和装置 |
CN110519652A (zh) * | 2018-05-22 | 2019-11-29 | 华为软件技术有限公司 | Vr视频播放方法、终端及服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112313712A (zh) * | 2018-04-19 | 2021-02-02 | Pcms控股公司 | 采用用于虚拟现实的预测过满填充的系统和方法 |
US10841662B2 (en) * | 2018-07-27 | 2020-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for inserting advertisement content in 360° immersive video |
CN111193936B (zh) * | 2019-12-27 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 视频流传输方法、装置、电子设备及计算机可读存储介质 |
CN111372145B (zh) * | 2020-04-15 | 2021-07-27 | 烽火通信科技股份有限公司 | 一种多视点视频的视点切换方法和系统 |
-
2020
- 2020-07-20 CN CN202010701982.2A patent/CN114035672A/zh active Pending
-
2021
- 2021-06-30 EP EP21845560.8A patent/EP4184291A4/en active Pending
- 2021-06-30 WO PCT/CN2021/103876 patent/WO2022017149A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534912A (zh) * | 2015-09-11 | 2017-03-22 | 百度在线网络技术(北京)有限公司 | 音/视频流发布方法、流媒体服务器、发布端及流媒体系统 |
CN110419224A (zh) * | 2017-03-17 | 2019-11-05 | 三星电子株式会社 | 用于封装和流传输虚拟现实媒体内容的方法和装置 |
CN110392269A (zh) * | 2018-04-17 | 2019-10-29 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法和装置、媒体数据播放方法和装置 |
CN110519652A (zh) * | 2018-05-22 | 2019-11-29 | 华为软件技术有限公司 | Vr视频播放方法、终端及服务器 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022268008A1 (zh) * | 2021-06-26 | 2022-12-29 | 华为技术有限公司 | 虚拟现实视频传输方法及装置 |
CN114727126A (zh) * | 2022-04-12 | 2022-07-08 | 杭州当虹科技股份有限公司 | 一种将图像缝合应用于多机位vr导播台的实现方法 |
CN114727126B (zh) * | 2022-04-12 | 2023-09-19 | 杭州当虹科技股份有限公司 | 一种将图像缝合应用于多机位vr导播台的实现方法 |
CN115174942A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种自由视角切换方法及交互式自由视角播放系统 |
CN115174943A (zh) * | 2022-07-08 | 2022-10-11 | 叠境数字科技(上海)有限公司 | 一种边云协同及客户端自适应的自由视角播放方法及系统 |
CN115174943B (zh) * | 2022-07-08 | 2023-10-31 | 叠境数字科技(上海)有限公司 | 一种边云协同及客户端自适应的自由视角播放方法及系统 |
CN115314730A (zh) * | 2022-08-10 | 2022-11-08 | 中国电信股份有限公司 | 应用于虚拟现实vr场景的视频流传输方法及装置 |
CN115942049A (zh) * | 2022-08-26 | 2023-04-07 | 北京博雅睿视科技有限公司 | 一种面向vr视频的视角切换方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022017149A1 (zh) | 2022-01-27 |
EP4184291A4 (en) | 2023-12-06 |
EP4184291A1 (en) | 2023-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022017149A1 (zh) | 一种虚拟现实vr场景的视频处理方法及相关设备 | |
CN105915937B (zh) | 一种全景视频播放方法及设备 | |
JP6460105B2 (ja) | 撮影方法、撮影システムおよび端末装置 | |
CA2875221C (en) | Method for wirelessly transmitting content from a source device to a sink device | |
US20220095002A1 (en) | Method for transmitting media stream, and electronic device | |
WO2018030206A1 (ja) | カメラワーク生成方法及び映像処理装置 | |
US8661152B2 (en) | Method and apparatus for reducing deterioration of a quality of experience of a multimedia service in a multimedia system | |
US10999583B2 (en) | Scalability of multi-directional video streaming | |
WO2018064331A1 (en) | Streaming volumetric video for six degrees of freedom virtual reality | |
JP2019521388A (ja) | コンテンツを提供及び表示するための装置及び方法 | |
US20190173929A1 (en) | Method and apparatus for an adaptive video-aware streaming architecture with cloud-based prediction and elastic rate control | |
US11528311B2 (en) | Method for transmitting multimedia resource and terminal | |
CN110582012B (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
US10412412B1 (en) | Using reference-only decoding of non-viewed sections of a projected video | |
WO2022111554A1 (zh) | 一种视角切换方法及装置 | |
JP7553679B2 (ja) | タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法 | |
WO2021143388A1 (zh) | 码率切换方法及设备 | |
WO2015194082A1 (ja) | 画像処理方法および画像処理システム | |
CN205812229U (zh) | 一种头戴显示器、视频输出设备和视频处理系统 | |
KR102220091B1 (ko) | 시선 기반의 360도 영상 스트리밍 | |
US11134236B2 (en) | Image processing device and system | |
CN116264619A (zh) | 资源处理方法、装置、服务器、终端、系统及存储介质 | |
US10609356B1 (en) | Using a temporal enhancement layer to encode and decode stereoscopic video content | |
CN102595111A (zh) | 一种多视角编码码流的传输方法、装置和系统 | |
WO2018178510A2 (en) | Video streaming |
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 |