CN108702522A - 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 - Google Patents
用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 Download PDFInfo
- Publication number
- CN108702522A CN108702522A CN201780013448.9A CN201780013448A CN108702522A CN 108702522 A CN108702522 A CN 108702522A CN 201780013448 A CN201780013448 A CN 201780013448A CN 108702522 A CN108702522 A CN 108702522A
- Authority
- CN
- China
- Prior art keywords
- video
- image frame
- spherical surface
- frame data
- gpu
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000000872 buffer Substances 0.000 claims abstract description 72
- 241001269238 Data Species 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 28
- 230000009466 transformation Effects 0.000 claims description 24
- 238000009877 rendering Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 claims description 15
- 230000000007 visual effect Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 description 36
- 230000005540 biological transmission Effects 0.000 description 29
- 238000012805 post-processing Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013501 data transformation Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 206010048669 Terminal state Diseases 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- BQSJTQLCZDPROO-UHFFFAOYSA-N febuxostat Chemical compound C1=C(C#N)C(OCC(C)C)=CC=C1C1=NC(C)=C(C(O)=O)S1 BQSJTQLCZDPROO-UHFFFAOYSA-N 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- 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/70—Media network packetisation
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/391—Resolution modifying circuits, e.g. variable screen formats
-
- 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
-
- 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/752—Media network packet handling adapting media to network capabilities
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/04—Partial updating of the display screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/045—Zooming at least part of an image, i.e. enlarging it or shrinking it
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/022—Centralised management of display operation, e.g. in a server instead of locally
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种利用GPU(Graphic Processing Unit,图像处理器)来处理和流式传输虚拟现实视频的系统及方法。视频服务器被配置为,其使得处理器从视频数据源读取包括多个球面图像帧数据的源视频数据,并将所述源视频数据存储于第一存储器中。响应于将第一球面图像帧数据存储于第二存储器的第一帧缓存中,所述视频服务器使得所述GPU将所述第一球面图像帧数据变换为第一等长方体图像帧,其中,所述第一等长方体图像帧对应于借助所述第一球面图像帧数据所表现的球面图像的一部分,然后对所述被变换的第一等长方体图像帧数据进行编码,并将被编码的所述第一等长方体图像帧数据存储于所述第二存储器的被编码的帧缓存中。
Description
技术领域
本发明涉及一种用于虚拟现实视频流式传输的系统及方法。更具体地,本发明涉及一种通过利用GPU(Graphic Processing Unit,图像处理器),来对虚拟现实视频进行流式传输的方法及系统。
背景技术
虚拟现实(Virtual Reality;VR)视频内容通常为了提供360度全景视频数据而具有非常高的清晰度。例如,360度全景视频数据的每秒显示帧数(Frame Per Second;FPS)为30~60,并且可包括具有4K(3840x1920)以上的清晰度的UHD(Ultra High Definition)视频数据。
GPU(Graphic Processing Unit)作为一种特殊的电路,其涉及目的是讯速递读写存储器,从而加速显示输出用帧缓冲存储器中加速图像生成。相比于CPU(CentralProcessing Unit,中央处理器),GPU以低功耗(比如,CPU25%)及低费用(比如,2016年准,768核的GPU为160美元),能够提供高速的实时图像处理。另外,GPU通过利用多核,而能够并行处理计算功能。
发明内容
本发明所要解决的技术问题在于,提供一种利用GPU来处理和流式传输虚拟现实视频的方法及系统。
本发明所要解决的另一技术问题在于,提供一种用于将虚拟现实视频的编码延迟予以最小化的处理方法。
本发明所要解决的又另一技术问题在于,提供一种将虚拟现实视频有效地显示于客户终端的方法。
本发明的技术问题并不限于以上所述的技术问题,对于在此并未予以提及的其他技术问题而言,本领域技术人员可通过以下记载内容,能够明确地理解。
根据本发明的一样态的虚拟现实视频流式传输系统,包括:第一处理器;第一存储器;GPU(Graphic Processing Unit,图像处理器);第二存储器,其包括多个帧缓存;视频服务器,其借助所述第一处理器或所述GPU当中的至少一个执行;其中,所述视频服务器被配置为,借助所述第一处理器,从视频数据源获取包括多个球面图像帧数据的源视频数据,并将所述源视频数据存储于所述第一存储器,所述视频服务器可被配置为,通过响应于所述第二存储器的第一帧缓存上存储图像帧数据,并通过所述GPU,将所述第一球面图像帧数据变换为,对应于所述第一球面图像帧数据所表示的球面图像的一部分的第一等长方体(equirectangular)图像帧数据,并对所述被变换的第一等长方体图像帧数据进行编码,并将所述被编码的第一等长方体图像帧数据存储于所述第一存储器的被编码的帧缓存。一实施例中,还包括:流式传输服务器,其借助所述第一处理器或者所述GPU当中的至少一个执行,其中,所述流式传输服务器可被配置为,借助所述第一处理器,设定与客户终端的第一连接,并从所述第二存储器的所述被编码的帧缓存中获取所述被编码的第一等长方体图像帧数据,并通过所述第一连接,将所述被编码的第一等长方体图像帧数据流式传输到所述客户终端。一实施例中,所述视频服务器和所述流式传输服务器可由单独的处理器执行。一实施例中,还包括:通讯服务器,其借助所述第一处理器或者所述GPU当中的至少一个执行,其中,所述通讯服务器被配置为,借助所述第一处理器,设定与所述客户终端的第二连接,并将对应于所述第一等长方体图像帧数据的关于FOV(Field of View)的第一信息传送到所述客户终端,并从所述客户终端接收关于第二FOV的第二信息,所述视频服务器可被配置为,借助所述GPU,将第二球面图像帧数据变换为对应于所述第二球面图像帧数据所表示的球面图像的所述第二FOV的第二等长方体图像帧数据。一实施例中,所述通讯服务器和所述流式传输服务器可由单一处理器执行。一实施例中,关于所述第一FOV的所述第一信息和关于所述第二FOV的所述第二信息可包括:指方位角和俯仰角的视场角数据。
根据本发明的另一样态的视频处理方法,可包括:视频服务器的GPU将表示视频的第一球面图像帧的第一球面图像帧数据,存储于第一帧缓存存储器的存储步骤;所述视频服务器的第一处理器从客户终端接收关于第一FOV的第一信息的接收步骤;所述视频服务器的所述GPU将存储于所述第一缓存存储器中的所述第一球面图像帧数据,变换为对应于所述球面图像帧数据所表示的所述第一球面图像帧的所述第一FOV的第一等长方体图像帧数据的变换步骤;及所述视频服务器的所述GPU为了生成第一被编码的图像帧数据,而对所述被变换的第一等长方体图像帧数据进行编码的编码步骤。一实施例中,还可包括:所述视频服务器的所述GPU为了生成所述第一球面图像帧数据,而对所述视频进行分析和解码的步骤。一实施例中,关于所述第一FOV的所述第一信息可包括:指方位角和俯仰角的视场角数据。一实施例中,变换为所述第一等长方体图像帧数据的的变换步骤还可包括:所述GPU在所述第一球面图像帧数据变换为所述第一等长方体图像帧数据的动作开始之前,判定接收到所述第一信息的判定步骤。一实施例中,可包括:所述视频服务器的所述第一处理器从所述客户终端接收关于第二FOV的第二信息的接收步骤;所述视频服务器的所述GPU将表示所述视频服务器的后续于所述第一球面图像帧的第二球面图像帧的第二球面图像帧数据,存储于所述第一帧缓存存储器的存储步骤;及所述视频服务器的所述GPU响应于,将所述第一球面图像帧数据被变换为所述第一等长方体图像帧数据之后的时点和将所述第二球面图像帧数据存储于所述第一帧缓存存储器之间的时点之间,接收到所述第二信息的判定,(ⅰ)所述视频服务器的所述GPU将存储于所述第一帧缓存存储器中的所述第一球面图像帧数据,变换为对应于所述第一球面图像帧数据所表示的所述第一球面图像帧的所述第二FOV的第二等长方体图像帧数据,(ⅱ)所述视频服务器的所述GPU将所述被变换的第二等长方体图像帧数据编码为第二被编码的图像帧数据,(ⅲ)对于存储于所述第一帧缓存存储器中的所述第二球面图像帧数据的变换及编码予以省略的步骤。
根据本发明又一样态的计算机系统,其借助视频服务器的GPU执行,且可包括:视频服务器的GPU将表示视频的第一球面图像帧的第一球面图像帧数据,存储于第一帧缓存存储器的存储步骤;所述视频服务器的第一处理器从客户终端接收关于第一FOV的第一信息的接收步骤;所述视频服务器的所述GPU将存储于所述第一缓存存储器中的所述第一球面图像帧数据,变换为对应于所述球面图像帧数据所表示的所述第一球面图像帧的所述第一FOV的第一等长方体图像帧数据的变换步骤;及所述视频服务器的所述GPU为了生成第一被编码的图像帧数据,而对所述被变换的第一等长方体图像帧数据进行编码的编码步骤。一实施例中,所述视频服务器的所述GPU为了生成所述第一球面图像帧数据,而为了执行对所述视频进行分析和解码的步骤,可存储于可供电脑读取的记录媒介上。一实施例中,关于所述第一FOV的所述第一信息可包括:指方位角和俯仰角的视场角数据。一实施例中,变换为所述第一等长方体图像帧数据的的变换步骤还可包括:所述GPU在所述第一球面图像帧数据变换为所述第一等长方体图像帧数据的动作开始之前,判定接收到所述第一信息的判定步骤。一实施例中,可包括:所述视频服务器的所述第一处理器从所述客户终端接收关于第二FOV的第二信息的接收步骤;所述视频服务器的所述GPU将表示所述视频服务器的后续于所述第一球面图像帧的第二球面图像帧的第二球面图像帧数据,存储于所述第一帧缓存存储器的存储步骤;及所述视频服务器的所述GPU响应于,将所述第一球面图像帧数据被变换为所述第一等长方体图像帧数据之后的时点和将所述第二球面图像帧数据存储于所述第一帧缓存存储器之间的时点之间,接收到所述第二信息的判定,(ⅰ)所述视频服务器的所述GPU将存储于所述第一帧缓存存储器中的所述第一球面图像帧数据,变换为对应于所述第一球面图像帧数据所表示的所述第一球面图像帧的所述第二FOV的第二等长方体图像帧数据,(ⅱ)所述视频服务器的所述GPU将所述被变换的第二等长方体图像帧数据编码为第二被编码的图像帧数据,(ⅲ)对于存储于所述第一帧缓存存储器中的所述第二球面图像帧数据的变换及编码予以省略的步骤。
根据本发明的又另一样态的视频显示方法,可包括:客户终端的第一处理器从视频流式传输服务器接收表示视频的第一图像帧的第一图像帧数据;所述客户终端的GPU在具有比起所述第一图像帧的更小或者等同的大小的所述客户终端的显示器上,在所述显示器的第一显示区域渲染所述第一图像帧的第一区域,在所述显示器的第二显示区域以隐藏所述第一图像帧的剩余区域的状态进行渲染的步骤;及所述客户终端的所述第一处理器响应于指第一FOV的用户输入的接收,以使所述客户终端的GPU将位于所述第一FOV内的之前被隐藏于所述第二显示区域的所述第一图像帧的第二区域进行渲染的步骤。一实施例中,关于所述第一FOV的所述用户输入可包括:至方位角和俯仰角的视场角数据。一实施例中,对所述第一图像帧的所述第二区域进行渲染的步骤,可包括:所述客户终端的所述GPU将所述显示器的渲染区域从所述第一显示区域重新布置到第三显示区域的步骤,其中,所述第三显示区域呈与所述第一显示区域等同的形状,并包括所述第一图像帧的所述第二区域。一实施例中,还可包括:所述客户终端的所述第一处理器将指所述第一FOV的信息传送至所述视频流式传输服务器的的传送步骤;所述客户终端的所述第一处理器从所述视频流式传输服务器接收表示对应于所述第一FOV的所述视频的第二图像帧的第二图像帧数据的接收步骤;及所述客户终端的所述GPU在所述客户终端的所述显示器上,将所述第二图像帧的一部分渲染于所述显示器的所述第一显示区域,将所述第一图像帧的所述第二区域渲染于所述显示器的所述第二显示区域的渲染步骤。一实施例中,所述显示器呈矩形形状,所述显示器的所述第一显示区域呈矩形形状,且位于所述显示器的中央,所述显示器的所述第二显示区域可包括:所述显示器的左侧空白、右侧空白、上侧空白及下侧空白当中的至少一个。一实施例中,还可包括:所述客户终端的所述第一处理器将指所述第一FOV的信息,传送至所述视频流式传输服务器的传送步骤;所述客户终端的所述第一处理器从所述视频流式传输服务器,接收对应于所述第一FOV且表示所述视频的第二图像帧的第二图像帧数据的接收步骤;及所述客户终端的所述GPU将所述显示器的所述渲染区域从所述第三显示区域重新布置到所述第一显示区域的步骤。
根据本发明又一样态的计算机系统,其借助客户终端的第一处理器或者GPU执行,且可包括:客户终端的第一处理器从视频流式传输服务器接收表示视频的第一图像帧的第一图像帧数据;所述客户终端的GPU在具有比起所述第一图像帧的更小或者等同的大小的所述客户终端的显示器上,在所述显示器的第一显示区域渲染所述第一图像帧的第一区域,在所述显示器的第二显示区域以隐藏所述第一图像帧的剩余区域的状态进行渲染的步骤;及所述客户终端的所述第一处理器响应于指第一FOV的用户输入的接收,以使所述客户终端的GPU将位于所述第一FOV内的之前被隐藏于所述第二显示区域的所述第一图像帧的第二区域进行渲染的步骤。一实施例中,关于所述第一FOV的所述用户输入可包括:至方位角和俯仰角的视场角数据。一实施例中,对所述第一图像帧的所述第二区域进行渲染的步骤,可包括:所述客户终端的所述GPU将所述显示器的渲染区域从所述第一显示区域重新布置到第三显示区域的步骤,其中,所述第三显示区域呈与所述第一显示区域等同的形状,并包括所述第一图像帧的所述第二区域。一实施例中,还可包括:所述客户终端的所述第一处理器将指所述第一FOV的信息传送至所述视频流式传输服务器的的传送步骤;所述客户终端的所述第一处理器从所述视频流式传输服务器接收表示对应于所述第一FOV的所述视频的第二图像帧的第二图像帧数据的接收步骤;及所述客户终端的所述GPU在所述客户终端的所述显示器上,将所述第二图像帧的一部分渲染于所述显示器的所述第一显示区域,将所述第一图像帧的所述第二区域渲染于所述显示器的所述第二显示区域的渲染步骤。一实施例中,所述显示器呈矩形形状,所述显示器的所述第一显示区域呈矩形形状,且位于所述显示器的中央,所述显示器的所述第二显示区域可包括:所述显示器的左侧空白、右侧空白、上侧空白及下侧空白当中的至少一个。一实施例中,还可包括:所述客户终端的所述第一处理器将指所述第一FOV的信息,传送至所述视频流式传输服务器的传送步骤;所述客户终端的所述第一处理器从所述视频流式传输服务器,接收对应于所述第一FOV且表示所述视频的第二图像帧的第二图像帧数据的接收步骤;及所述客户终端的所述GPU将所述显示器的所述渲染区域从所述第三显示区域重新布置到所述第一显示区域的步骤。
根据上述所述的本发明,所述VR视频流式传输系统当用于处理高清晰度VR视频数据时,能够有效地应用GPU的计算功能(比如,利用多核的并行处理计算功能)。
另外,通过仅传送反映有当前视场角范围(Field of View;FOV)的视频部分,从而能够降低相当的网络带宽需求量(比如,FOV视频数据传送只需要1~2Mbps的带宽,而与此相比,4K UHD视频数据传送只需要16~20Mbps)。
另外,通过仅传送反映有FOV的视频部分,从而利用较低数据传送速度也能够提供流式传输服务。从而,能够清理缓存数据,并能够降低客户终端的电池消耗。
另外,通过仅传送反映有FOV的视频部分,从而还能够降低流式传输服务的费用。其缘由在于,所述流式传输服务的提供者并不需要按照自身所使用的网络服务使用量来支付费用。
另外,通过仅传送反映有FOV的视频部分,还能够防止非法复制内容。根据反映有FOV的视频部分的传送而接收部分被流式传输的视频数据,而该部分被流式传输的视频数据只能包括反映有动态变更的FOV的视频的一部分,因此,能够防止所述视频内容的非法复制。
另外,基于当前FOV来变更包括于客户终端的显示器的渲染区域,从而,所述客户终端在无延迟的情况下,可将被变更的视场角的视频部分即刻提供给用户。
本发明的发明效果并不限于此,对于在此并未提及的其他效果而言,本领域技术人员可通过以下记载明确理解。
附图说明
上述本发明或者关于上述本发明的目的、特征及/或有点,可通过以下附图和后续详细说明,能够进一步明确了解。
图1图示了根据本发明几个实施例的包括客户终端和VR视频流式传输系统的网络环境方框图;
图2图示了根据本发明实施例的计算系统的例示方框图;
图3图示了根据本发明实施例的VR视频流式传输系统的例示方框图;
图4图示了帧图像的例示图;
图5及图6图示了根据本发明几个实施例的借助VR视频流式传输系统而执行的基于FOV的后处理方法的动作流程图;
图7、图8及图9图示了根据本发明实施例的VR视频流式传输系统所执行的基于FOV的后处理方法的例示方框图;
图10、图11及图12图示了根据本发明实施例的VR视频流式传输系统中用于降低编码延迟时间而使用的基于FOV的后处理方法的例示方框图;
图13图示了根据本发明的几个实施例的客户终端的视频显示方法的动作流程图;
图14、图15及图16图示了本发明的几个实施例中的通过视频显示方法而显示于客户终端的显示画面的例示图。
具体实施方式
本发明提供一种涉及用于流式传输虚拟现实(Virtual Reality;VR)视频的方法及系统。更具体地,提供一种涉及通过利用GPU(Graphic Processing Unit;图像处理器)来播送流式传输和处理虚拟现实视频的方法及系统。几个实施例中,VR视频流式传输系统包括视频服务器的GPU,该包括于VR视频流式传输系统的视频服务器的GPU可将球面图像(spherical image)帧数据变换为对应于部分第一球面图像帧数据的等长方体(equirectangular)图像帧数据。从而,所述VR视频流式传输系统当处理高清晰度的VR视频数据时,能够有效地利用GPU的计算功能(比如,通过多核的并行计算功能)。
几个实施例中,视频服务器的处理器可接收来自客户终端的第一视场角范围(Field of View;FOV)的相关信息,视频服务器的GPU可将第一球面图像帧数据变换为对应于第一球面图像帧的第一FOV的第一等长方体图像帧数据。其中,第一球面图像帧是指第一球面图像帧数据所表示的图像帧。通过如上所述的构成,每当用户从客户终端输入,VR视频流式传输系统能够仅将所述用户当前所想看到的视频数据部分提供给所述客户终端。例如,所述VR视频流式传输系统能够仅将所述用户所输入的当前FOV相关的视频部分提供给所述客户终端。通过仅传送关于当前FOV的视频部分,而所能够获得的优点非常之多。第一,能够降低相当部分的网络带宽需求(比如,FOV视频数据传送需求1~2Mbps的带宽,与此相比,4KUHD视频数据传送需求16~20Mbps的带宽)。第二,通过仅发送FOV视频数据,能够改善用户经验及流式传输服务的费用。通过仅发送FOV视频数据,能够以较低的数据传送速度提供流式传输服务,从而能够清理缓存数据,并且能够降低用户终端的电池消耗。另外,通过仅传送所述FOV视频数据,还能够降低流式传输服务费用。这是因为流式传输服务提供者按照网络服务使用量,而需支付费用。第三,通过仅发送FOV视频数据,能够防止内容的非法复制。例如,4K UHD视频内容被暴露于非法复制的可能性较大。通过传送FOV视频数据所接收到的、被部分性地流式传输的视频数据,因为可以包括动态性地变更的视场角相关的视频数据部分,从而,防止视频内容被非法复制。
几个实施例中,客户终端的GPU将从视频流式传输服务器所接收的图像帧的第一区域渲染(rendering)于显示器的第一显示区域(比如,显示器的中央区域)的同时,将所述图像帧的剩余区域隐藏于所述显示器的第二显示区域(比如,矩形显示器的四个方向的空白处)。响应于指特定FOV(比如,朝向显示器的左上角的视场角)的用户的输入接收,所述GPU隐藏于之前的第二显示区域,并可渲染位于所述第一FOV(比如,之前被隐藏于所述显示器左侧上端附近的区域)的第一图像帧的第二区域。借助如上所述的构成,例如,当客户终端的用户一边看图像帧一边朝向显示器的左上角变化视场角时,所述客户终端能够立即展现之前隐藏的所述图像帧的一部分。从而,客户终端能够在没有延迟的情况下-客户终端当从视频流式传输服务器接收新的视频部分之后,提供其所变更的视场角的新的视频部分时,会出现延迟现象-将变更的视场角的视频部分立即提供给所述用户。
图1图示了包括VR视频流式传输系统100、客户终端200A,200B及VR内容服务器750的网络环境1000的例示方框图。大致而言,图1所示的网络环境包括:对于相互连接的网络节点(比如,VR视频系统和VR内容服务器)的网络650和对于相互连接的网络节点(比如,客户终端和VR视频系统)的网络650’。参照图1,具体而言,网络650或650’用于易于实现参与到网络环境1000中的装置之间的互动(interaction)。作为实例的例示中的网络650或650’为互联网。但是,根据其他实施例,网络650可以是数据中心内的局部网络(localnetwork)、网络区块(network febric),或者其他局域或广域网等多样种类的网络。网络650或650’可由多个被连接的子网络或者自治网络构成。另外,网络650或650’也可以是如LAN(Local Area Network)、MAN(Metropolitan Area Network)、WAN(Wide Area Network)的企业内联网(intranet)、如互联网等的联网,或者P2P(Peer-to-Peer)网络(比如,点对点(ad hoc)WiFi P2P网络)。任意类型及/或形态的数据网络及/或通讯网络可利用于网络650或650’。网络650或650’可以是公用网(public network)、专用网(private network)或者公用网及专用网的组合。一般而言,网络650或650’用于在计算装置之间传递信息。例如,可利用于传递客户终端200A,200B、VR视频流式传输系统100及VR内容服务器750之间的信息。
参照图1,VR视频流式传输系统100包括:视频服务器120和流式传输机180(streamer)。几个实施例中,视频服务器120被配置为,用于将VR视频数据存储(比如,作为视频文件)于局部网,或者用于接收从VR内容服务器750中流式传输的视频数据。几个实施例中,流式传输机180包括通讯服务器130和流式传输服务器140。几个实施例中,通讯服务器130被配置为,用于通讯各个客户终端200A,200B和VR视频流式传输系统100的服务相关的信息(比如,用户登录、VR视频内容选择、低延迟视频流式传输等)。几个实施例中,流式传输服务器140将VR视频帧数据分别流式传输至各个客户终端200A,200B。几个实施例中,VR视频流式传输系统100被配置为,如图2所示,其具有与计算系统300类似的构成结构。关于计算系统300的说明,将参照图2,在以下进行更详细的说明。图1所示的VR视频流式传输系统100的几个实施例中,可省略图2所示的计算系统300的部分构成要素。
再次参照图1,各个客户终端200A,200B分别从VR视频流式传输系统100接收视频流式传输数据。更具体地,可从流式传输机180的流式传输服务器140接收所述视频流式传输数据。几个实施例中,各个客户终端200A,200B可被配置为是,具有显示器(比如,HMD(Head Mounted Display)、光学HMD)、输入装置(比如,摄像机、耳麦)及传感器(比如,动作传感器、位置/方向传感器、动作模拟器、动作跟踪系统等)的虚拟现实客户终端。几个实施例中,各个客户终端200A,200B还能够分别与通讯服务器130进行通讯,以交换关于VR视频流式传输系统的服务相关信息。例如,各个客户终端200A,200B能够将用户的当前FOV以指方位角及俯仰角的视场角数据的形态,分别提供给通讯服务器130。几个实施例中,客户终端200A,200B被配置为,具有如图2所示的与计算系统300类似的构成。图1所示的客户终端200A,200B的几个实施例中,可以省略图2所示的计算系统300的部分构成要素。
图2图示了计算系统300的例示方框图。例示的实施例中,所例示的计算系统300适合实施本说明书中所记载的计算化的构成要素。大致而言,计算系统300包括:用于按照指令(instruction)实施动作的至少一个处理器310;和用于存储指令及数据的一个以上的存储装置360或320。计算系统300还被配置为,如下一段所述般,其还包括:至少一个GPU(Graphic Processing Unit)370和视频存储器380。
参照图2,所例示的计算系统300包括:通过通讯系统340(比如,母线)与存储器350进行通讯的一个以上的处理器310、具有用于连接网络(未图示)的网络接口的至少一个网路接口控制器330及如同输入输出(I/O)器件350的其他器件。一般而言,处理器(们)310会实施从存储器360接收的指令(或电脑程序)。所图示的处理器310被配置为,其包括缓存内存320或者直接连接。根据情况而言,缓存内存320从存储器360读取指令,处理器310从缓存内存320读取所述指令并予以实施。
更具体地,处理器(们)310可被配置为,可以是例如用于处理从存储器360或缓存内存320所引取(fetch)的指令的任意的逻辑电路。诸多实施例中,处理器310为微软单元(microprocessor unit)或者用于特殊目的的处理器。计算系统300被配置为,如在此所述说明般,其可基于可动作的任意的处理器或者处理器的集合。处理器(们)310可以是单核处理器或者多核处理器。处理器(们)310可以是多个单独的处理器。
存储器360可以是适合电脑用于存储可读取数据的任意的装置。存储器360可以是固定式存储装置或者是用于读取移动式存储媒介的装置。作为存储器360例示,可包括:所有形态的非挥发性存储器、媒介及存储器装置、半导体存储器装置(比如,EPROM、EEPROM、SDRAM及闪存装置)、磁盘、光磁盘及光盘(比如,CD ROM、DVD-ROM或蓝光光盘)。计算系统300可具备任意数量的存储装置360。
缓存内存320被配置为,为了提供快速的存取时间,其呈临近处理器(们)310布置的电脑存储器的形态。几个实施例中,缓存内存320可以是处理器(们)310的一部分或者可与处理器310置于同一个芯片上。几个实施例中,可配置有如L2及L3缓存层的多重等级的缓存内存320。
网络接口控制器330通过网络接口(时而被称之为网络界面接口)来管理数据交换。网路接口控制器330被配置为,为了网络通讯,而处理OSI模式的物理层及数据链接层。几个实施例中,网络接口控制器330的任务中的一部分会借助一个以上的处理器310处理。几个实施例中,网络接口控制器330可以是处理器310的一部分。几个实施例中,计算系统300具备借助单一控制器330而被控制的多个网络接口。几个实施例中,计算系统300具有多个网络接口控制器330。几个实施例中,各个网络接口分别是对于物理网络链接(比如,cat-5以太网链接)的链接点。几个实施例中,网络接口控制器330支持无线网络连接,网络接口是无线(比如,收音机)接/收机(比如,IEEE802.11协议、NFC(Near Field Communication)、蓝牙(Bluetooth)、ANT或其他无线协议中的任意个)。几个实施例中,网络接口控制器330实施如以太网(Ethernet)等的一个以上的网络协议。一般而言,计算系统300通过利用网络接口,并通过物理或无线链接,与其他计算装置交换数据。网络接口可将计算系统300直接连接于其他装置,或者通过中继装置将计算系统300连接于其他装置上。在此,所述中继装置可以是指,可将如集线器、网桥、开关或路由器等的计算系统300连接于如互联网等的数据网络上的网络装置。
计算系统300可包括一个以上的输入或者输出(I/O)装置,或者可提供对于其的接口。输入装置可包括:键盘、麦克风、点触屏、脚踏开关、传感器、MIDI装置及鼠标或者如轨迹球等的定点装置,但并不限于此。输出装置可包括:视频显示器、扬声器、可显示的盲文点字终端,照明、MIDI装置及2-D打印机或3-D打印机,但并不限于此。
作为其他构成要素可包括:I/O接口、外部串联装置接口及额外的辅助处理器(co-processor)。例如,计算系统300为了连接输入装置、输出装置或者额外的存储装置(比如,携带式闪存驱动器或外部媒体驱动器)的接口(比如,USB(Universal Serial Bus)接口)。几个实施例中,计算系统300可包括如辅助处理器等的附加装置。例如,计算系统300可包括数值动作辅助处理器,所述数值动作辅助处理器通过实施高精确度或者复杂的计算,以能够辅助处理器310。
GPU370可以是图形加速器芯片、处理器、ASIC(Application SpecificIntegrated Circuit)、模拟电路、数码电路、加速器卡或者这些的组合。一实施例中,GPU370可以是如借助nVidia、ATI或Matrox所制造的个人电脑图形加速器卡或者器件。GPU370提供硬件装置,以用于加速体绘制(volume rendering)处理器,其比如为了三维纹理映射(3D texture mapping)而利用API(Application Programming Interface)。例如,所述API虽然包括OpenGL及DirectX,但是其他API可与GPU370单独利用,或者可与GPU370一同利用。关于nVidia GPU的例示API的说明记载于可在http://docs.nvidia.com/cuda/#axzz40TIGVdNL可利用的题目为“CUDA Toolkit Documentation v.7.5”的网页上,关于用于实施本专利申请中所说明的功能而构成GPU的方法的具体内容,作为参照内容,包括于本说明书中。几个实施例中,基于API或者用于控制所述API的应用程序(application),GPU370可实施对于电脑图形的变换(transformation)、投影(projection)及测绘(比如,球面投影(spherical projection)及坐标系变换)的动作。
视频存储器380可包括:VRAM(Video Random Access Memory)、RAM(RandomAccess Memory)、RAM驱动器或RAM盘,或者用于存储数据或视频信息的其他存储装置。一实施例中,视频存储器380为对于GPU370的VRAM。GPU370用驱动器或者存储驱动器用于控制通过视频存储器380的数据存储。视频存储器380为了存储、传送及引取数据而响应于驱动器。视频存储器380可实施存储数据子集或区块的动作。
图3图示了VR视频流式传输系统的例示方框图。参照图3,几个实施例中,VR视频流式传输系统100包括:第一处理器101、第一存储器110、GPU102及第二存储器150。另外,第二存储器150例如包括:被解码的帧缓存160、第一帧缓存161、第二帧缓存162及被编码的帧缓存164等的多个帧缓存。几个实施例中,第一处理器101具备与如图2所示的处理器310类似的构成。几个实施例中,第一存储器110具备与如图2所示的存储器360类似的构成。几个实施例中,第二存储器150具备与如图2所示的视频存储器380类似的构成。几个实施例中,VR视频流式传输系统100包括:可常驻于第一存储器110或第二存储器150的源视频存储器115(source video memory)。
参照图3,几个实施例中,视频服务器120可通过第一处理器101或者GPU102而实施或者驱动。例如,视频服务器120可被配置为,其通过第一处理器101来获取源视频数据(比如,存储于视频服务器120的局域的视频文件,或者从VR内容服务器750流式传输的视频数据)。几个实施例中,所述源视频数据包括:多个球面图像帧数据(比如,360度4K UHD帧数据)。几个实施例中,视频服务器120可将所述源视频数据存储于源视频服务器115中。
几个实施例中,视频服务器120可包括:可借助GPU102实施或驱动的分析器121(parser)、解码器122(decoder)、后处理器123(post-processor)及编码器124(encoder)。几个实施例中,分析器121通过GPU102分析存储于源视频存储器115的源视频数据,并从所述源视频数据识别不同的球面图像帧。几个实施例中,解码器122通过GPU102来解码被分析的球面图像帧,并将被解码的球面图像帧存储于被解码的帧缓存160。几个实施例中,解码器122及编码器124可利用如H.264,H.265/HEVC(High Efficiency Video Coding)的工业标准(industrial standard)的压缩/解压缩技术。几个实施例中,解码器122用于解码第一球面图像帧数据,并将被解码的数据存储于被解码的帧缓存160。例示的解码器的说明记载于2015年11月的题目为“NVIDIA VIDEO DECODER(NVCUVID)INTERFACE ProgrammingGuide”的文件中,有关用于实现本专利申请中所说明的解码功能而构成解码器的方法,其具体内容以参照的方式包括于本说明书中。几个实施例中,后处理器123执行彩色格式转换(color formatconversion)。例如,后处理器123可将存储于被解码的帧缓存160中的帧数据,在亮度(luminance)/色度(chrominance)格式中,变换为ARGB(Alpha Red Green Blue)彩色格式。几个实施例中,后处理器123将被变换为彩色格式的帧数据存储于第一帧缓存161中。几个实施例中,后处理器123通过GPU102,执行球面-等长方体变换(比如,利用球面/等长方体投影或者测绘方法)。例示的球面/等长方体投影的说明记载于由Paul Bourke编制的题目为“Transformations and projections”的文件中,有关本专利申请中所说明的投影、变换及测绘方法,其具体内容以参照的方式包括于本说明书中。几个实施例中,通过响应第一球面图像帧数据被存储于第一帧缓存161中,后处理器123通过GPU102将第一球面图像帧数据变换为第一等长方体图像帧数据。例如,后处理器123通过GPU102将360度4KUHD图像帧数据变换为并未被校正(corrected)或失真(undistorted)的等长方体图像帧数据。几个实施例中,后处理器123被配置为,通过GPU102,将第一球面图像帧数据(比如,360度4K UHD图像帧数据),变换为对应于第一球面图像帧数据表示的部分球面图像的第一等长方体图像帧数据(比如,客户终端中对应于用于当前FOV的360度4K UHD图像帧数据的一部分)。图4图示了球面帧图像301和对应于当前FOV的球面帧图像301的一部分302的例示图。
另外,几个实施例中,后处理器123通过GPU102执行用于增强现实(AugmentedReality;AR)的图像处理。例如,后处理器123可将被变换的第一等长方体图像帧与图形内容(比如,将道路图像与车辆图像融合)或者与文件/图形信息(比如,将街道图像与商店图像融合)一起融合(blending)。几个实施例中,通过响应于后处理动作(比如,球面等长方体变换)的完毕,后处理器123将被后处理的帧数据存储于第二帧缓存162中。几个实施例中,编码器124通过GPU102,将存储于第二帧缓存162的所述被后处理的帧数据进行编码,并将被编码的帧数据存储于被编码的帧缓存164中。例示的编码器的说明记载于“NVIDIA VIDEOENCODER(NVENC)INTERFACE Programming Guide”的文件中,有关用于实现本专利申请中所说明的编码功能而构成解码器的方法,其具体内容以参照的方式包括于本说明书中。几个实施例中,分析器121、解码器122、后处理器123及编码器124通过VR视频流式传输系统100的GPU102而实施。几个实施例中,分析器121、解码器122、后处理器123及编码器124的部分动作通过第一处理器101而实施,其他动作则通过GPU102而实施。
参照图3,几个实施例中,VR视频流式传输系统100包括通讯服务器130。另外,通讯服务器130可借助第一处理器101或者GPU102当中的至少一个实施或执行。几个实施例中,通讯服务器130通过第一处理器101来设定与客户终端(比如,客户终端200A)的连接。几个实施例中,所述被设定的连接,例如,如Websocket协议一样,利用全双工信道协议(full-duplex channel protocol)。从而,无需通讯大量的协议标头(比如,http标头),只需利用若干帧(比如,Websocket帧)就能够设定其连接,从而能够降低延迟。几个实施例中,通讯服务器130可借助后处理器123,将对应于被变换的第一等长方体图像帧数据的第一信息传送给客户终端。几个实施例中,通讯服务器130可从所述客户终端接收关于第二FOV(比如,所述客户终端的用户的当前FOV)的第二信息。几个实施例中,可在客户终端200A及VR视频流式传输系统100两侧,均可将初期FOV默认设定为由用户当前所看的图像帧的中心朝向直线方向的右侧的角度。几个实施例中,关于FOV的信息包括:指俯仰角及方位角的视场角的信息。几个实施例中,按照客户终端的请求(比如,通过websocket协议),通讯服务器130可通过第一处理器101将所述用户的当前FOV非同步化地进行更新。另外,所述更新为,可在GPU102处理视频服务器120的动作(比如,借助分析器121、解码器122、后处理器123及编码器124而执行的动作)的处理过程中执行。几个实施例中,非同步地更新的FOV为,参照图4至图6,如后续所述般,可应用于用于降低编码延迟时间。比如,视频服务器120被配置为,其可通过GPU102,通过将球面图像帧数据立即变换为对应于所述球面图像帧数据所表现的从球面图像非同步地被更新的FOV的等长方体球面图像帧数据,而能够降低编码延迟施加。几个实施例中,客户终端可利用于通信服务器130的稳定连接方法(比如,基于jetty的websocket协议),可对用户当前的视场角更新其通讯服务器。从而,能够提供稳定的连接状态,并能够降低保安间接费用及延迟时间。
几个实施例中,客户终端可向通讯服务器130请求特定的VR图像/视频数据。比如,客户终端可通过websockiet协议向通讯服务器130传送VR视频请求。几个实施例中,根据这种客户终端的请求,通讯服务器130被配置为,通过第一处理器101来引取对应于所述请求的源视频数据(比如,存储于局域文件中的源视频数据或者通过VR内容服务器750流式传输的源视频数据),并向GPU102提供所述对应的源视频数据。GPU102可针对所述对应的源视频数据执行所述的解码/后处理/编码动作。几个实施例中,通讯服务器130以管理VR视频流式传输系统100的服务为用途,能够提供万维网服务(比如,对于所述服务的用户登录及认证(credential)检查管理、用户账户/预置文件管理及供用户选择观看的食品内容的VR视频内容交易)。
参照图3,VR视频流式传输系统100可包括流式传输服务器140。另外,流式传输服务器140可借助第一处理器101或者GPU102当中的至少一个实施或执行。几个实施例中,流式传输服务器140通过第一处理器101来设定与客户终端(比如,客户终端200A)的第一连接。几个实施例中,流式传输服务器140为了将所述客户终端的用户及时传递视频数据而利用RTSP(Real Time Streaming Protocol)。几个实施例中,流式传输服务器140从被编码的帧缓存164读取被编码的第一等长方体图像帧数据,并将所述被编码的第一等长方体图像帧数据通过第一连接流式传输至客户终端200A。几个实施例中,视频服务器120和流式传输服务器14以单独的处理器执行。几个实施例中,通讯服务器130、流式传输服务器140能够以单一的处理器执行。几个实施例中,通讯服务器130通过websocket协议直接与客户终端交互,并且与视频服务器120等同的物理服务器上执行。从而,能够降低反馈及通讯延迟时间。几个实施例中,流式传输服务器140和通讯服务器130(统称为"流式传输机"180)以同样的单一处理器执行,而与此相反,视频服务器120则利用能够借助流式传输机180开启和管理的单独的处理器执行。这种双重处理器的构成能够提高网络响应度(通过降低延迟)及系统稳定性。几个实施例中,流式传输服务器140和视频服务器120可通过RAM驱动器或者RAM盘,而能够共享视频流数据(最终提供给客户终端)。这种RAM驱动器或者RAM盘被配置为,当实际数据存在于系统RAM时,能够以文件的形式访问,从而,清理硬件I/O间接费用及延迟时间。
图5图示了根据本发明几个实施例的VR视频流式传输系统100的基于FOV的后处理方法400的动作流程图。大致而言,基于FOV的后处理方法400为,始于步骤410,在此,视频服务器的GPU(比如,图3的GPU102)为了生成第一球面图像帧数据,而能够对源视频进行分析和解码。步骤420中,GPU102被配置为,可将所述视频的表现第一球面图像帧的第一球面图像帧数据存储于第一帧缓存存储器(比如,第一帧缓存161)。步骤440中,视频服务器的第一处理器(比如,图3的处理器101)可从客户终端接收有关第一FOV的第一信息。步骤450中,视频服务器的GPU102可将存储于第一帧缓存存储器的球面图像帧数据变换为对应于第一球面图像帧的第一FOV的等长方体图像帧数据。步骤460中,视频服务器的GPU102可对所述被变换的等长方体图像帧数据进行编码,以供流式传输服务器(比如,图3的流式传输服务器140)仅将对应于第一FOV的被编码的等长方体图像帧数据流式传输到客户终端。另外,根据所述编码生成被编码的图像帧数据。对于图5所示的流程图将参照图7至图9进一步进行详细说明。
图7、图8及图9图示了于例示VR视频流式传输系统中所执行的基于FOV的后处理方法的例示方框图。图7图示了对于连续的视频帧(比如,帧#N、帧#N+1及帧#N+2)的GPU处理的时机。普通的视频文件的FPS为大致为每秒24、25、29或者30。例如,如图7所示,就30FPS的视频文件而言,各个帧的编码完成之间的时间间隔可以是33ms,从解码器的帧#N的时间戳(time stamp)可以是N*33ms,帧#N+1的时间戳可以是(N+1)*33ms等。也就是说,参照图7,帧#N(501)与帧#N+1(502)的解码/后处理/编码的完成之间的时间间隔为33ms,而帧#N+1(502)与帧#N+2(503)的解码/后处理/编码的完成之间的时间间隔也是33ms。因此,本例中,为了使得各个帧每秒生成30帧(及流),为此每33ms进行一次编码。
图8图示了对帧#N进行后处理之前从客户终端接收变更输入(比如,方位角及俯仰角)时,执行基于FOV的后处理方法的例示图。参照图8,例如,由GPU对帧#N进行解码511/后处理513/编码514,继而,对帧#N+1进行解码515/后处理516/编码518。几个实施例中,当VR视频流式传输系统100的处理器(比如,图3的处理器101)在对帧#N进行后处理513之前,从所述客户终端(关于第一FOV)接收512第一FOV变更输入V1时,所述GPU可在对帧#N+1进行后处理516时,能够反映517第一FOV变更输入V1。几个实施例中,所述GPU被配置为,通过将与帧#N+1相关的球面图像帧变换为对应于所述帧#N+1的球面图像帧数据所表现的球面图像帧的第一FOV的等长方体图像帧数据,从而能够反映第一FOV变更输入V1。本例中,帧#N的编码完成和帧#N+1的编码完成之间的时间间隔可保持33ms。
图9图示了当对帧#N进行后处理时,接收来自客户终端的FOV变更输入(比如,变更的方位角及俯仰角)时所执行的基于FOV的后处理方法的其他示例。参照图9,例如,由GPU对帧#N进行解码521/后处理523/编码524,继而,对帧#N+1进行解码525/后处理526/编码528。几个实施例中,当VR视频流式传输系统100的处理器在对所述帧#N进行后处理523之后,从客户终端(关于第二FOV)接收522第二FOV变更输入V2时,所述GPU可在对帧#N+1进行后处理526时,能够反映527第二FOV变更输入V2。几个实施例中,所述GPU被配置为,通过将与帧#N+1相关的球面图像帧变换为对应于所述帧#N+1的球面图像帧数据所表现的球面图像帧的第二FOV的等长方体图像帧数据,从而能够反映第二FOV变更输入V2。本例中,帧#N的编码完成和帧#N+1的编码完成之间的时间间隔可保持33ms。
接下来,参照图7至图9,对于图5所示的流程图进行进一步的详细说明。步骤410中,视频服务器(比如,图3所示的视频服务器120)的GPU(比如,图3所示的GPU102)为了生成第一球面图像帧数据,能够对源视频进行分析和解码。例如,参照图8,所述GPU为了生成对于帧#N的球面图像帧数据,而对帧#N进行分析及解码511。
步骤420中,视频服务器的所述GPU被配置为,可将表现所述源视频的第一球面图像帧的第一球面图像帧数据存储于第一帧缓存存储器(比如,图3所示的第一帧缓存161)中。几个实施例中,其次,所述GPU从第一帧缓存161读取第一球面图像帧数据,并对第一球面图像帧数据进行后处理。例如,参照图8,所述GPU从所述第一帧缓存161读取对于帧#N的球面图像帧数据,并对帧#N的第一球面图像帧数据进行后处理513。类似地,参照图9,所述GPU从第一帧缓存161读取对于帧#N的球面图像帧数据,并对于帧#N的第一球面图像帧数据进行后处理523。
步骤440中,视频服务器的第一处理器101可从客户终端(比如,图1及图3所示的客户终端200A)接收关于第一FOV的第一信息。例如,参照图8,第一处理器被配置为,在对帧#N进行后处理513之前,从客户终端接收第一FOV变更输入V1512。类似地,参照图9,第一处理器101被配置为,在对帧#N进行后处理523时或者对帧#N进行后处理523完毕之后,从所述客户终端接收第二FOV变更输入V2522。几个实施例中,所述客户终端被配置为,将包括指方位角及俯仰角的视场角数据的FOV变更输入传送至VR视频流式传输系统(比如,图1及图3所示的VR视频流式传输系统100)。
步骤450中,视频服务器的GPU102被配置为,可将存储于第一帧缓存存储器中的球面图像帧数据变换为对应于所述球面图像帧数据所表示的第一球面图像帧的第一FOV的等长方体图像帧数据。例如,视频服务器的所述GPU被配置为,将(当进行后处理516的期间)帧#N+1的球面图像帧数据变换为对应于第一变更输入FOV V1的帧#N+1的等长方体图像帧数据(这是为了使第一FOV变更输入V1反映对帧#N+1的球面图像帧数据)。类似地,参照图9,视频服务器的所述GPU被配置为,将(当进行后处理526的期间)帧#N+1的所述球面图像帧数据变换为对应于第二FOV V2的帧#N+1的等长方体图像帧数据(这是为了使第二FOV变更输入V2反映对帧#N+1的球面图像帧数据)。关于用于降低编码延迟时间的步骤450的变形的动作,参照图6至图12,将在后面进行详述。
步骤460中,视频服务器的GPU102被配置为,可通过对被变换的等长方体图像帧数据进行编码,而生成被编码的图像帧数据,以使得流式传输服务器能够将仅对应于第一FOV的被编码的等长方体图像帧数据流式传输到客户终端。例如,参照图8,视频服务器的所述GPU被配置为,通过对帧#N+1的被变换的等长方体图像帧数据进行编码(518),以生成对帧#N+1的被编码的图像帧数据。类似地,参照图9,视频服务器的所述GPU被配置为,通过对帧#N+1的被变换的等长方体图像帧数据进行编码(528),以生成对帧#N+1的被编码的图像帧数据。
图6图示了根据本发明几个实施例的由VR视频流式传输系统100所执行的基于FOV的后处理方法(比如,用于延迟编码时间而在图6中图示的步骤450的变形的动作)的动作流程图。大致而言,方法450始于步骤451,在此,视频服务器120被配置为,当GPU102将第一球面图像帧数据变换为第一等长方体图像帧数据动作开始之前,能够判断是否从客户终端接收有关第一FOV的第一信息。步骤452中,当GPU102将第一球面图像帧数据变换为第一等长方体图像帧数据动作开始之前,响应于其是否从客户终端接收有关第一FOV的第一信息的判定,从而所述GPU能够将第一球面图像帧数据变换为对应于第一球面图像帧数据表示的第一球面图像帧的第一FOV的第一等长方体图像帧数据。步骤453中,当所述GPU将第一球面图像帧数据变换为第一等长方体图像帧数据的动作开始之后,响应于是否接收关于第一FOV的第一信息的判定,从而所述视频服务器120能够进一步判定所述GPU将第二球面图像帧数据(比如,后续于第一球面图像帧数据的球面图像帧数据)存储于第一帧缓存存储器之前,是否接收第一FOV信息。步骤454中,响应于所述GPU将第二球面图像帧数据存储于第一帧缓存存储器之前,是否接收有关第一FOV信息的判定,所述GPU将存储于第一帧缓存存储器中的第一球面图像帧数据变换为对应于第一球面图像帧数据所表示的第一球面图像帧的第一FOV的等长方体图像帧数据,并通过对被变换的等长方体图像帧数据进行编码,从而生成第二等长方体图像帧数据。步骤455中,所述GPU可省略对于存储于第一帧缓存存储器中的第二球面图像帧数据的变换及编码。对于图6所示的流程图,将参照图10至图12进一步进行详细说明。
图10、图11及图12图示了例示的VR视屏流式传输系统用于降低编码延迟时间而执行的基于FOV的后处理方法的例示方框图。参照图10,例如,GPU执行对帧#N的解码(601)/将对帧#N的球面图像帧数据变换为等长方体图像帧数据(604)/对帧#N进行编码(606)的动作,继而对帧#N+1进行解码(607)等。几个实施例中,当视频流式传输系统100的处理器(比如,图3所示的处理器101)在帧#N的变换(604)之前从客户终端接收到第三FOV变更输入(602)时,所述GPU在变换帧#N(604)的期间,能够反映第三FOV变更输入V3。几个实施例中,所述GPU被配置为,通过将有关于帧#N的球面图像帧数据变换为对应于帧#N的球面图像帧数据所表示的球面图像帧的第三FOV的等长方体图像帧数据,从而能够反映第三FOV变更输入V3(605)。
参照图11,例如,GPU执行对帧#N的解码(610)/将对帧#N的球面图像帧数据变换为等长方体图像帧数据(612)/对帧#N进行编码(615)的动作,继而对帧#N+1进行解码(617)。几个实施例中,当视频流式传输系统100的处理器在帧#N进行变换(612)的期间或者其之后,从所述客户终端接收到(关于第四FOV的)第四FOV变更输入V4(613)时,所述GPU在对帧#N+1进行变换(614)及编码(616)的步骤中,能够反映第四FOV变更输入(614’)。几个实施例中,几个实施例中,与等待对帧#N+1的解码(617)结束为止不同的是,所述GPU被配置为,利用存储于第一帧缓存161的帧#N即刻将对帧#N的球面图像帧数据变换为对应于对所述帧#N的球面图像帧数据所表现的球面图像帧的第四FOV的等长方体帧数据(614)。继而,所述GPU能够对被编码的帧#N+1编码所述被变换的等长方体图像(616)。另外,当对帧#N+1的解码(617)完毕之后,所述GPU可以省略(比如,不予以执行)对帧#N+1的额外处理(比如,对帧#N+1的变换及编码)(619)。这是因为,所述被编码的帧#N+1已经可被利用于(预定可被利用于)其他的变换(614)及编码(616)动作。通过这种方式,帧#N的编码完成和帧#N+1的编码完成之间的时间间隔可以是不满33ms的随机时间,因此能够降低对帧进行编码的所需时间。
参照图12,例如,GPU对帧#N进行解码(620)/将帧#N的球面图像帧数据变换为等长方体帧数据(622)/对帧#N进行编码(623),继而,对帧#N+1进行解码(624)。几个实施例中,视频流式传输系统100的处理器在对帧#N+1进行解码(624)的期间或者其之后,当从所述客户终端接收(有关第五FOV)第五FOV变更输入V5(625)时,所述GPU在对帧#N+1的变换(626)及编码(628)步骤中,能够反映第五FOV变更输入(627)。几个实施例中,与等待对帧#N+1的解码(624)结束为止不同的是,所述GPU被配置为,利用存储于第一帧缓存161的帧#N即刻将对帧#N的球面图像帧数据变换为对应于对所述帧#N的球面图像帧数据所表现的球面图像帧的第五FOV的等长方体帧数据(626)。继而,所述GPU能够对被编码的帧#N+1编码所述被变换的等长方体图像(628)。另外,当对帧#N+1的解码(624)完毕之后,所述GPU可以省略(比如,不予以执行)对帧#N+1的额外处理(比如,对帧#N+1的变换及编码)(630)。这是因为,所述被编码的帧#N+1已经可被利用于(预定可被利用于)其他的变换(626)及编码(628)动作。通过这种方式,帧#N的编码完成和帧#N+1的编码完成之间的时间间隔可以是不满33ms的随机时间,因此能够降低对帧进行编码的所需时间。
接下来,参照图10至图12,对于图6所示的流程图进行详述。参照图6,步骤451中,第一处理器101或者GPU102被配置为,当所述GPU将第一球面图像帧数据变换为第一等长方体图像帧数据的动作之前,可判断是否从客户终端接收到关于第一FOV的第一信息。例如,参照图10,第一处理器101或者GPU102被配置为,当GPU102将对帧#N球面图像帧数据变换为对帧#N的等长方体图像帧数据(604)之前,判定为接收到第三FOV变更输入V3。另一方面,参照图11,第一处理器101或者GPU102被配置为,当GPU102将帧#N的球面图像帧数据变换为帧#N的等长方体图像帧数据的期间或者其之后,判定为接收到第四FOV变更输入V4。
步骤452中,响应于所述GPU将第一球面图像帧数据变换为第一等长方体图像帧数据之前,从客户终端接收到第一FOV的相关第一信息的判定,所述视频服务器的GPU可将存储于第一帧缓存存储器(比如,图3所示的帧缓存161)的第一球面图像帧数据变换为对应于由第一球面图像帧数据所表示的第一球面图像帧的第一FOV的第一等长方体图像帧数据。例如,参照图10,当所述GPU将对帧#N的球面图像帧数据变换为对帧#N的等长方体图像帧数据(604)之前,因为已经接收到第三FOV变更输入V3,因此,所述GPU将对帧#N的球面图像帧数据变换为对应于第三FOV变更输入V3的帧#N的等长方体图像帧数据(为了使第三FOV变更输入V3反应到对帧#N的球面图像帧数据(605))。
参照图6,所述视频服务器的GPU对表示后续于第一球面图像帧视频的第二球面图像帧的第二球面图像帧数据进行解码,并能够将被解码的第二球面图像帧数据存储于第一帧缓存(比如,图3的第一帧缓存161)。例如,参照图11,所述视频服务器的GPU对帧#N+1(帧#N的下一个帧)进行解码,并将表示所述被解码的帧#N+1的球面图像帧数据存储于第一帧缓存161中。步骤453中,第一处理器101或者所述视频服务器的GPU被配置为,当所述GPU将第二球面图像帧数据存储于第一帧缓存存储器之前,可判定为接收到第一FOV信息。例如,参照图11,当GPU将对帧#N+1的球面图像帧数据存储于第一帧缓存161之前,判定为接收到第四FOV变更输入V4(这是因为,存储动作发生于对帧#N+1的解码(617)结束以后)。类似地,参照图12,当GPU将对帧#N+1的球面图像帧数据存储于第一帧缓存161之前,确定为接收到第五FOV变更输入V5(这是因为存储动作发生于对帧#N+1的解码(624)结束以后)。
步骤454中,响应于所述视频服务器的GPU将第二球面图像帧数据存储于第一帧缓存存储器之前,接收到关于第一FOV的第一信息判定,所述视频服务器的GPU可将存储于第一帧缓存存储器的第一球面图像帧数据变换为对应于第一球面图像帧数据表示的第一球面图像帧的第二FOV的第二等长方体图像帧数据。例如,参照图11,响应于所述视频服务器的GPU将对帧#N+1的球面图像帧数据存储于第一帧缓存161之前,响应于接收到第四FOV变更输入V4的判定,所述GPU在变换(614)时点,将存储于第一帧缓存161的对帧#N的球面图像帧数据变换为对应于第四FOV变更输入V4的等长方体图像帧数据(614)(为了使第四FOV变更输入V4反映到对#N的球面图像帧数据(614’))。类似地,参照图12,响应于所述GPU将对帧#N+1的球面图像帧数据存储于第一帧缓存161之前,接收到第五FOV变更输入V5的判定,所述GPU在变换(626)时点,将存储于第一帧缓存161的对帧#N的所述球面图像帧数据变换为对应于第五FOV变更输入V5的等长方体图像帧数据(626)(为了使第五FOV变更输入V5反映对帧#N的球面图像帧数据(627))。几个实施例中,步骤454中,在第一球面图像帧数据的变换过程之后,为了使流式传输服务器(比如,图3所示的流式传输服务器140)仅将对应于当前FOV的所述被编码的第二等长方体图像帧数据流式传输到所述客户终端,为此,所述GPU能够将被变换的等长方体图像帧数据编码为第二被编码的图像帧数据。例如,参照图11,对帧#N的球面图像帧数据进行变换(614)之后,继而,所述GPU将对被变换的等长方体图像帧数据编码为对帧#N+1的被编码的图像帧数据(616)。类似地,参照图12,对帧#N的球面图像帧数据进行变换(626)之后,继而,所述GPU将被变换的等长方体图像帧数据编码为对帧#N+1的被编码的图像帧数据(628)。
步骤455中,所述GPU对第二球面图像帧数据进行解码之后,所述GPU可省略对于存储于第一帧缓存存储器的第二球面图像帧数据的变换及编码。例如,参照图11,对帧#N+1进行解码(617)之后,所述GPU不再对存储于第一帧缓存161的帧#N+1的球面图像帧数据进行变换及编码。这是因为,被编码的帧#N+1已经可被利用于(预定可被利用于)其他变换(614)及编码(616)的动作。类似地,参照图12,对帧#N+1进行解码(624)之后,所述GPU不再对存储于第一帧缓存161的帧#N+1的球面图像帧数据进行变换及编码。这是因为,被编码的帧#N+1已经可被利用于(预定可被利用于)其他变换626及编码(628)的动作。
图13图示了根据本发明几个实施例的由客户终端所执行的视频显示方法700的动作流程图。大致而言,视频显示方法700始于步骤710,在此,所述客户终端(比如,图1及图3所示的客户终端200A)的GPU(比如,图2所示的GPU(370))在显示器的第一显示区域上渲染第一图像帧的第一区域,并且能够在所述显示器的第二显示区域上,以隐藏第一图像帧的剩余区域的状态,即,以使其看不见的状态,进行渲染。步骤720中,响应于指第一FOV的用户输入借助客户终端的处理器(比如,图2所示的处理器310)而被接收,所述客户终端的GPU预先隐藏于第二显示区域,并能够渲染位于第一FOV内的第一图像帧的第二区域。步骤730中,所述客户终端的处理器可利用视频流式传输服务器(比如,图3所示的流式传输机180)来传送指第一FOV的信息。另外,所述客户终端的处理器可从所述视频流式传输服务器接收对应于第一FOV的第二图像帧数据。步骤740中,响应于从所述视频流式传输服务器接收表示视频的第二图像帧的第二图像帧数据,所述GPU在所述显示器的第一显示区域上渲染第二图像帧的部分区域,并能够渲染隐藏于所述显示器的第二显示区域的第一图像帧的第二区域。
接下来,参照图1至3及图14至16,进一步详细说明图13所图示的流程图。图14至图16为根据本发明几个实施例的通过视频显示方法所被显示的客户终端显示画面的例示图。
步骤710中,客户终端(比如,图1及图3所示的客户终端200A)的GPU(比如,图2所示的GPU370)可从视频流式传输服务器(比如,图3所示的流式传输机180)接收表示视频的第一图像帧的第一图像帧数据。参照图14,所述客户终端的GPU(比如,图2所示的GPU370)在所述客户终端的显示器800的第一显示区域810上渲染第一图像帧的第一区域,并且能够在所述显示器的第二显示区域820以隐藏第一图像帧的剩余区域的状态,进行渲染。几个实施例中,所述客户终端的显示器800至少与第一图像帧等同尺寸或者更小。几个实施例中,显示器800可呈矩形形状。几个实施例中,显示器800可呈例如圆形形状、多角形形状等的其他形状。第一显示区域810可以是位于矩形显示器800的中央的矩形形状的区域。所述显示器的第二显示区域820可包括:矩形显示器800的左侧空白处、右侧空白处、上侧空白及下侧空白处当中的至少一个。
步骤720中,参照图15,响应于指第一FOV(未图示)的用户输入借助客户终端的处理器(比如,图2所示的处理器310)而被接收,所述客户终端的GPU预先隐藏于第二显示区域820,并能够渲染位于第一FOV内的第一图像帧的第二区域825。参照图14,所述客户终端的用户将自身视场角朝向方向830变更,以此其变更的视场角将指向第一FOV。几个实施例中,所述客户终端能够感知这些视场角的变化,并能够将FOV变更输入提供给所述客户终端,以能够渲染所述GPU之前所隐藏的第二区域825。几个实施例中,对第一图像帧的的第二区域825进行渲染时,所述客户终端的GPU可将显示器800的渲染区域从第一显示区域810(参照图14)重新布置到第三显示器区域840(参照图15)。这时,第三显示器区域840呈与第一显示区域810等同的形状,并可包括第一图像帧的第二显示区域825。
步骤730中,所述客户终端的处理器可利用视频流式传输服务器(比如,图3所示的流式传输机180)来传送指第一FOV的信息。另外,所述客户终端的处理器可从所述视频流式传输服务器接收对应于第一FOV的第二图像帧数据。几个实施例中,所述客户终端的处理器从所述视频流式传输服务器表示视频的第二图像帧,并能够接收对应于第一FOV的第二图像帧数据。几个实施例中,所述客户终端的处理器另外还可从所述视频流式传输服务器接收第二图像帧数据的被校正的FOV信息。
步骤740中,参照图16,所述GPU在所述显示器800的第一显示区域810上渲染第二图像帧的部分区域,并能够渲染隐藏于所述显示器800的第二显示区域820的第一图像帧的第二区域。所述客户终端的GPU被配置为,可将所述显示器的渲染区域从第三显示区域840(参照图15)重新布置到位于所述显示器的中央的第一显示区域810。之所以对之前被隐藏的显示区域825(参照图15)的即刻渲染之后,马上将所述显示区域重新布置到所述显示器的中央,是为了使得所述客户终端的用户识别不了步骤720中的渲染于第三显示区域840的帧图像和步骤740中的渲染于第一显示区域810的帧图像之间的差异。
几个实施例中,所述VR视频流式传输系统可提供如下优点。第一,所述VR视频流式传输系统在处理高清晰度VR视频数据时,能够有效应用GPU的计算功能(比如,通过多核的并行计算功能)。第二,通过仅传送反映当前FOV的视频部分,能够降低相当的网络带宽需求量(比如,FOV视频数据传送仅需要1~2Mbps的带宽需求,而与此相比4K UHD视频数据传送则需要16~20Mbps的带宽需求)。第三,通过仅传送反映FOV的视频部分,从而不仅能够改善用户经验而且也能够改善流式传输费用。第四,通过仅传送反映FOV的视频部分,从而能够利用较低传送速度也能提供流式传输服务。从而能够清理缓存数据,并降低客户终端的电磁消耗。第五,通过仅传送反映FOV的视频部分,还能够减少流式传输服务的费用。这是因为,所述流式传输服务的提供者无需按照自身使用的网络服务使用量来支付费用。第六,通过仅传送反映FOV的视频部分,还能够防止内容的非法复制。随着传送反映FOV的视频部分而接收到的被部分流式传输的视频数据因只能够包括反映动态变更的FOV,从而能够防止所述视频内容的非法复制。第七,通过基于当前FOV来变更包括于客户终端的显示器的渲染区域,从而,所述客户终端能够在并无变更延迟的状态下,能够将对于变更的视场角的视频部分立即提供给用户。这时,所述延迟为,例如,当从视频流式传输服务器接收新的视频部分之后,提供对于变更的新的视场角的视频部分时,有可能发生所述延迟。
需要注意的是,为了说明多种实施例,本说明书中所使用的“例”或者“例示”的词语仅包括能够实施该些实施例的实施例的诸多的例子、表现及/或例示(而且这些词语并不是指这些实施例为必然是了不起的、最佳的或者最优的例子)。
本说明书中所使用的“结合”、“连接”等的词语是指两个构成要素或者器件相互直接或者间接地结合。这些结合可以是固定式(比如,永久式)或者移动式(比如,可去除、可拆卸等)。这些结合可以是,两个构成要素或者两个构成要素和任意的额外的中间构成要素相互以一个单体形成,或者两个构成要素或者两个构成要素及任意的额外的中间构成要素通过相互附着而实现。
本发明为了实现多种动作,而考虑任意的机械可读媒介方法系统及程序产品。本发明的实施例们可通过以往的电脑程序实施。或者,可借助为了本发明的目的或者其他目的而综合的适当系统的专用电脑程序或者硬件系统(hardwired system)而实施。本公开范围内的实施例,为了传递机械可执行指令集合或者数据结构,而包括包括有机械可读媒体的程序产品。这些机械可读媒体可以借助通用的或者用于特殊目的的电脑或者具有程序的其他机械而能够被访问的任意的可利用的媒体。例如,这些机械可读媒体可包括:RAM、ROM、EPROM、EEPROM、CD-ROM或者其他光盘存储装置、磁盘存储装置或者其他磁存储装置,或者任意的非挥发性媒体。上述所述的机械可读媒体可被利用于,用于存储或者传递需要以机械可执行指令集合或者数据结构的形态的程序编码。另外,所述机械可读媒体可被通用的或者特殊目的的电脑或者具有程序的其他机械而被访问。当信息通过网络或者其他通讯连接(有线、无线或者有线或无线的组合)传送或提供至任意的机械时,所述机械将默认该连接为电脑可读取的媒体。因此,该些连接将适当地被称为是机械可读媒体。上述所述的组合也包括于机械可读媒体的范畴之内。机械可执行指令的集合,举例而言,其包括:使得通用的电脑、特殊目的的电脑或者特殊目的的处理机械执行特定功能或者其功能组合的指令及数据。
重要的是,需要注意图示于例示实施例中的方法及系统的构成和所述方法及系统的构成要素的排列仅仅是用于例示的。虽然本发明中仅仅对于几个实施例进行了详细说明,但是,对于分析本公开的本领域技术人员而言,显而易见地,在实质上不脱离本说明书中所排列的发明主题的新的启示及优点的前提下,也能够进行多种修改。例如,图示为形成为一体的构成要素而言,可由多个部分或者构成要素来构成。因此,这些所有修改应被理解为是均属于本发明范围之内。在不脱离本发明范围或者所附的权利要求范围的思想的前提下,优选实施例或者其他代表实施例的设计、执行条件及排列可进行其他替换、修改、变形及省略。
Claims (17)
1.一种虚拟现实视频流式传输系统,其特征在于,
包括:
第一处理器;
第一存储器;
GPU(Graphic Processing Unit,图像处理器);
第二存储器,其包括多个帧缓存;
视频服务器,其借助所述第一处理器或所述GPU当中的至少一个执行;
所述视频服务器被配置为,借助所述第一处理器,从视频数据源获取包括多个球面图像帧数据的源视频数据,并将所述源视频数据存储于所述第一存储器,
所述视频服务器被配置为,通过响应于所述第二存储器的第一帧缓存上存储图像帧数据,并通过所述GPU,将所述第一球面图像帧数据变换为,对应于所述第一球面图像帧数据所表示的球面图像的一部分的第一等长方体(equirectangular)图像帧数据,并对所述被变换的第一等长方体图像帧数据进行编码,并将所述被编码的第一等长方体图像帧数据存储于所述第一存储器的被编码的帧缓存。
2.根据权利要求1所述的虚拟现实视频流式传输系统,其特征在于,
还包括:流式传输服务器,其借助所述第一处理器或者所述GP U当中的至少一个执行,
所述流式传输服务器被配置为,借助所述第一处理器,设定与客户终端的第一连接,并从所述第二存储器的所述被编码的帧缓存中获取所述被编码的第一等长方体图像帧数据,并通过所述第一连接,将所述被编码的第一等长方体图像帧数据流式传输到所述客户终端。
3.根据权利要求2所述的虚拟现实视频流式传输系统,其特征在于,
所述视频服务器和所述流式传输服务器由单独的处理器执行。
4.根据权利要求2所述的虚拟现实视频流式传输系统,其特征在于,
还包括:通讯服务器,其借助所述第一处理器或者所述GPU当中的至少一个执行,
所述通讯服务器被配置为,借助所述第一处理器,设定与所述客户终端的第二连接,并将对应于所述第一等长方体图像帧数据的关于FOV(Field of View,视场角)的第一信息传送到所述客户终端,并从所述客户终端接收关于第二FOV的第二信息,
所述视频服务器被配置为,借助所述GPU,将第二球面图像帧数据变换为对应于所述第二球面图像帧数据所表示的球面图像的所述第二FOV的第二等长方体图像帧数据。
5.根据权利要求4所述的虚拟现实视频流式传输系统,其特征在于,
所述通讯服务器和所述流式传输服务器由单一处理器执行。
6.根据权利要求4所述的虚拟现实视频流式传输系统,其特征在于,
关于所述第一FOV的所述第一信息和关于所述第二FOV的所述第二信息包括:指方位角和俯仰角的视场角数据。
7.一种视频处理方法,其特征在于,
包括:
视频服务器的GPU将表示视频的第一球面图像帧的第一球面图像帧数据,存储于第一帧缓存存储器的存储步骤;
所述视频服务器的第一处理器从客户终端接收关于第一FOV的第一信息的接收步骤;
所述视频服务器的所述GPU将存储于所述第一缓存存储器中的所述第一球面图像帧数据,变换为对应于所述球面图像帧数据所表示的所述第一球面图像帧的所述第一FOV的第一等长方体图像帧数据的变换步骤;及
所述视频服务器的所述GPU为了生成第一被编码的图像帧数据,而对所述被变换的第一等长方体图像帧数据进行编码的编码步骤。
8.根据权利要求7所述的视频处理方法,其特征在于,
还包括:
所述视频服务器的所述GPU为了生成所述第一球面图像帧数据,而对所述视频进行分析和解码的步骤。
9.根据权利要求7所述的视频处理方法,其特征在于,
关于所述第一FOV的所述第一信息包括:指方位角和俯仰角的视场角数据。
10.根据权利要求7所述的视频处理方法,其特征在于,
变换为所述第一等长方体图像帧数据的的变换步骤还包括:
所述GPU在所述第一球面图像帧数据变换为所述第一等长方体图像帧数据的动作开始之前,判定接收到所述第一信息的判定步骤。
11.根据权利要求7所述的视频处理方法,其特征在于,
包括:
所述视频服务器的所述第一处理器从所述客户终端接收关于第二FOV的第二信息的接收步骤;
所述视频服务器的所述GPU将表示所述视频服务器的后续于所述第一球面图像帧的第二球面图像帧的第二球面图像帧数据,存储于所述第一帧缓存存储器的存储步骤;及
所述视频服务器的所述GPU响应于,将所述第一球面图像帧数据被变换为所述第一等长方体图像帧数据之后的时点和将所述第二球面图像帧数据存储于所述第一帧缓存存储器之间的时点之间,接收到所述第二信息的判定,(ⅰ)所述视频服务器的所述GPU将存储于所述第一帧缓存存储器中的所述第一球面图像帧数据,变换为对应于所述第一球面图像帧数据所表示的所述第一球面图像帧的所述第二FOV的第二等长方体图像帧数据,(ⅱ)所述视频服务器的所述GPU将所述被变换的第二等长方体图像帧数据编码为第二被编码的图像帧数据,(ⅲ)对于存储于所述第一帧缓存存储器中的所述第二球面图像帧数据的变换及编码予以省略的步骤。
12.一种视频显示方法,其特征在于,
包括:
客户终端的第一处理器从视频流式传输服务器接收表示视频的第一图像帧的第一图像帧数据;
所述客户终端的GPU在具有比起所述第一图像帧的更小或者等同的大小的所述客户终端的显示器上,在所述显示器的第一显示区域渲染所述第一图像帧的第一区域,在所述显示器的第二显示区域以隐藏所述第一图像帧的剩余区域的状态进行渲染的步骤;及
所述客户终端的所述第一处理器响应于指第一FOV的用户输入的接收,以使所述客户终端的GPU将位于所述第一FOV内的之前被隐藏于所述第二显示区域的所述第一图像帧的第二区域进行渲染的步骤。
13.根据权利要求12所述的视频显示方法,其特征在于,
关于所述第一FOV的所述用户输入包括:指方位角和俯仰角的视场角数据。
14.根据权利要求12所述的视频显示方法,其特征在于,
对所述第一图像帧的所述第二区域进行渲染的步骤,包括:
所述客户终端的所述GPU将所述显示器的渲染区域从所述第一显示区域重新布置到第三显示区域的步骤,其中,所述第三显示区域呈与所述第一显示区域等同的形状,并包括所述第一图像帧的所述第二区域。
15.根据权利要求12所述的视频显示方法,其特征在于,
还包括:
所述客户终端的所述第一处理器将指所述第一FOV的信息传送至所述视频流式传输服务器的的传送步骤;
所述客户终端的所述第一处理器从所述视频流式传输服务器接收表示对应于所述第一FOV的所述视频的第二图像帧的第二图像帧数据的接收步骤;及
所述客户终端的所述GPU在所述客户终端的所述显示器上,将所述第二图像帧的一部分渲染于所述显示器的所述第一显示区域,将所述第一图像帧的所述第二区域渲染于所述显示器的所述第二显示区域的渲染步骤。
16.根据权利要求12所述的视频显示方法,其特征在于,
所述显示器呈矩形形状,
所述显示器的所述第一显示区域呈矩形形状,且位于所述显示器的中央,
所述显示器的所述第二显示区域包括:所述显示器的左侧空白、右侧空白、上侧空白及下侧空白当中的至少一个。
17.根据权利要求14所述的视频显示方法,其特征在于,
还包括:
所述客户终端的所述第一处理器将指所述第一FOV的信息,传送至所述视频流式传输服务器的传送步骤;
所述客户终端的所述第一处理器从所述视频流式传输服务器,接收对应于所述第一FOV且表示所述视频的第二图像帧的第二图像帧数据的接收步骤;及
所述客户终端的所述GPU将所述显示器的所述渲染区域从所述第三显示区域重新布置到所述第一显示区域的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110538794.7A CN113286168B (zh) | 2016-02-19 | 2017-02-17 | 用于处理视频的方法、系统以及存储介质 |
CN202110538787.7A CN113286167B (zh) | 2016-02-19 | 2017-02-17 | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662297394P | 2016-02-19 | 2016-02-19 | |
US62/297,394 | 2016-02-19 | ||
PCT/KR2017/001790 WO2017142354A1 (ko) | 2016-02-19 | 2017-02-17 | Gpu 기반의 가상 현실 비디오 스트리밍 서버를 위한 방법 및 시스템 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110538787.7A Division CN113286167B (zh) | 2016-02-19 | 2017-02-17 | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 |
CN202110538794.7A Division CN113286168B (zh) | 2016-02-19 | 2017-02-17 | 用于处理视频的方法、系统以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108702522A true CN108702522A (zh) | 2018-10-23 |
CN108702522B CN108702522B (zh) | 2021-06-08 |
Family
ID=59625327
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110538794.7A Active CN113286168B (zh) | 2016-02-19 | 2017-02-17 | 用于处理视频的方法、系统以及存储介质 |
CN201780013448.9A Active CN108702522B (zh) | 2016-02-19 | 2017-02-17 | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 |
CN202110538787.7A Active CN113286167B (zh) | 2016-02-19 | 2017-02-17 | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 |
CN201780071089.2A Active CN110226316B (zh) | 2016-02-19 | 2017-09-18 | 用于对虚拟现实视频执行转换及流传输的系统及方法 |
CN202210587265.0A Pending CN115225882A (zh) | 2016-02-19 | 2017-09-18 | 用于对虚拟现实视频执行转换及流传输的系统及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110538794.7A Active CN113286168B (zh) | 2016-02-19 | 2017-02-17 | 用于处理视频的方法、系统以及存储介质 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110538787.7A Active CN113286167B (zh) | 2016-02-19 | 2017-02-17 | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 |
CN201780071089.2A Active CN110226316B (zh) | 2016-02-19 | 2017-09-18 | 用于对虚拟现实视频执行转换及流传输的系统及方法 |
CN202210587265.0A Pending CN115225882A (zh) | 2016-02-19 | 2017-09-18 | 用于对虚拟现实视频执行转换及流传输的系统及方法 |
Country Status (6)
Country | Link |
---|---|
US (10) | US10334224B2 (zh) |
EP (1) | EP3419293B1 (zh) |
JP (3) | JP6663043B2 (zh) |
KR (7) | KR102272859B1 (zh) |
CN (5) | CN113286168B (zh) |
WO (2) | WO2017142354A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094019A (zh) * | 2021-04-30 | 2021-07-09 | 咪咕文化科技有限公司 | 交互方法、装置、电子设备及存储介质 |
CN113766272A (zh) * | 2020-06-04 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法 |
CN113839908A (zh) * | 2020-06-23 | 2021-12-24 | 华为技术有限公司 | 视频传输方法、装置及系统 |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170026659A1 (en) * | 2015-10-13 | 2017-01-26 | Mediatek Inc. | Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video |
WO2017068926A1 (ja) * | 2015-10-21 | 2017-04-27 | ソニー株式会社 | 情報処理装置及びその制御方法、並びにコンピュータ・プログラム |
US10334224B2 (en) | 2016-02-19 | 2019-06-25 | Alcacruz Inc. | Systems and method for GPU based virtual reality video streaming server |
EP3249928A1 (en) * | 2016-05-23 | 2017-11-29 | Thomson Licensing | Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices |
CN105915990B (zh) * | 2016-05-25 | 2022-11-15 | 歌尔光学科技有限公司 | 一种虚拟现实头盔及其使用方法 |
DE102016213494A1 (de) * | 2016-07-22 | 2018-01-25 | Conti Temic Microelectronic Gmbh | Kameravorrichtung sowie Verfahren zur Erfassung eines Umgebungsbereichs eines eigenen Fahrzeugs |
DE102016213493A1 (de) * | 2016-07-22 | 2018-01-25 | Conti Temic Microelectronic Gmbh | Kameravorrichtung zur Aufnahme eines Umgebungsbereichs eines eigenen Fahrzeugs sowie Verfahren zur Bereitstellung einer Fahrerassistenzfunktion |
US10410320B2 (en) | 2016-09-30 | 2019-09-10 | Sony Interactive Entertainment Inc. | Course profiling and sharing |
US10679511B2 (en) | 2016-09-30 | 2020-06-09 | Sony Interactive Entertainment Inc. | Collision detection and avoidance |
US11125561B2 (en) | 2016-09-30 | 2021-09-21 | Sony Interactive Entertainment Inc. | Steering assist |
US10850838B2 (en) | 2016-09-30 | 2020-12-01 | Sony Interactive Entertainment Inc. | UAV battery form factor and insertion/ejection methodologies |
CN109362242B (zh) | 2016-10-10 | 2021-05-14 | 华为技术有限公司 | 一种视频数据的处理方法及装置 |
KR102498598B1 (ko) * | 2016-10-18 | 2023-02-14 | 삼성전자주식회사 | 영상 처리 장치 및 그 영상 처리 방법 |
US10306180B2 (en) * | 2016-10-21 | 2019-05-28 | Liquidsky Software, Inc. | Predictive virtual reality content streaming techniques |
KR102598082B1 (ko) * | 2016-10-28 | 2023-11-03 | 삼성전자주식회사 | 영상 표시 장치, 모바일 장치 및 그 동작방법 |
US10631012B2 (en) * | 2016-12-02 | 2020-04-21 | Centurylink Intellectual Property Llc | Method and system for implementing detection and visual enhancement of video encoding artifacts |
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
CN108282449B (zh) * | 2017-01-06 | 2020-10-09 | 华为技术有限公司 | 一种应用于虚拟现实技术的流媒体的传输方法和客户端 |
WO2018131813A1 (en) * | 2017-01-10 | 2018-07-19 | Samsung Electronics Co., Ltd. | Method and apparatus for generating metadata for 3d images |
WO2018151977A1 (en) * | 2017-02-14 | 2018-08-23 | Axon Enterprise, Inc. | Systems and methods for determining a field of view |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
CN108513119A (zh) * | 2017-02-27 | 2018-09-07 | 阿里巴巴集团控股有限公司 | 图像的映射、处理方法、装置和机器可读介质 |
US10467775B1 (en) * | 2017-05-03 | 2019-11-05 | Amazon Technologies, Inc. | Identifying pixel locations using a transformation function |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
MX2019014416A (es) | 2017-06-02 | 2020-02-05 | Vid Scale Inc | Suministro de video en 360 grados a través de la red de próxima generación. |
US11107177B1 (en) * | 2017-06-16 | 2021-08-31 | Amazon Technologies, Inc. | Data/metadata synchronization using metadata queue statistics |
US10754242B2 (en) * | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
US11521349B2 (en) | 2017-09-21 | 2022-12-06 | Faro Technologies, Inc. | Virtual reality system for viewing point cloud volumes while maintaining a high point cloud graphical resolution |
US10623791B2 (en) | 2018-06-01 | 2020-04-14 | At&T Intellectual Property I, L.P. | Field of view prediction in live panoramic video streaming |
US10812774B2 (en) | 2018-06-06 | 2020-10-20 | At&T Intellectual Property I, L.P. | Methods and devices for adapting the rate of video content streaming |
US10636118B2 (en) * | 2018-06-25 | 2020-04-28 | Microsoft Technology Licensing, Llc | Input scaling to keep controller inside field of view |
US10616621B2 (en) | 2018-06-29 | 2020-04-07 | At&T Intellectual Property I, L.P. | Methods and devices for determining multipath routing for panoramic video content |
US20210183127A1 (en) * | 2018-06-29 | 2021-06-17 | Eifeninteractive Co., Ltd | System for performing real-time parallel rendering of motion capture image by using gpu |
US20200022632A1 (en) * | 2018-07-17 | 2020-01-23 | Limbix Health, Inc. | Digital content processing and generation for a virtual environment |
US10360713B1 (en) * | 2018-07-17 | 2019-07-23 | Disney Enterprises, Inc. | Event enhancement using augmented reality effects |
US11019361B2 (en) | 2018-08-13 | 2021-05-25 | At&T Intellectual Property I, L.P. | Methods, systems and devices for adjusting panoramic view of a camera for capturing video content |
US10708494B2 (en) | 2018-08-13 | 2020-07-07 | At&T Intellectual Property I, L.P. | Methods, systems and devices for adjusting panoramic video content |
US10735778B2 (en) | 2018-08-23 | 2020-08-04 | At&T Intellectual Property I, L.P. | Proxy assisted panoramic video streaming at mobile edge |
CN110876082B (zh) * | 2018-08-31 | 2020-12-29 | 网宿科技股份有限公司 | 一种视频帧的复杂度的确定方法及装置 |
US10560759B1 (en) | 2018-10-23 | 2020-02-11 | At&T Intellectual Property I, L.P. | Active network support on adaptive virtual reality video transmission |
US10536666B1 (en) * | 2019-01-22 | 2020-01-14 | Facebook Technologies, Llc | Systems and methods for transmitting aggregated video data |
US10742882B1 (en) * | 2019-05-17 | 2020-08-11 | Gopro, Inc. | Systems and methods for framing videos |
US11076158B2 (en) * | 2019-09-09 | 2021-07-27 | Facebook Technologies, Llc | Systems and methods for reducing WiFi latency using transmit opportunity and duration |
WO2021162446A1 (en) * | 2020-02-14 | 2021-08-19 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming vr image |
KR20210107409A (ko) | 2020-02-24 | 2021-09-01 | 삼성전자주식회사 | 엣지 컴퓨팅 서비스를 이용한 영상 컨텐츠 전송 방법 및 장치 |
WO2021194483A1 (en) * | 2020-03-25 | 2021-09-30 | Alcacruz Inc. | Generating a representation of a spherical image |
US20210349308A1 (en) * | 2020-05-05 | 2021-11-11 | Szu Wen FAN | System and method for video processing using a virtual reality device |
US11188902B1 (en) * | 2020-05-20 | 2021-11-30 | Louise Dorothy Saulog Sano | Live time connection application method and devices |
JP7470387B2 (ja) * | 2020-06-08 | 2024-04-18 | 株式会社大一商会 | 遊技機 |
US11494951B2 (en) | 2020-07-24 | 2022-11-08 | At&T Intellectual Property I, L.P. | Policy definition and enforcement for extended reality media sessions |
CN114071150B (zh) | 2020-07-31 | 2023-06-16 | 京东方科技集团股份有限公司 | 图像压缩方法及装置、图像显示方法及装置和介质 |
KR20220037617A (ko) * | 2020-09-18 | 2022-03-25 | 삼성전자주식회사 | 엣지 컴퓨팅 서비스를 이용한 동영상 처리 방법 및 장치 |
US11908364B2 (en) * | 2020-09-23 | 2024-02-20 | Samsung Electronics Co., Ltd. | Low-power display driving circuit performing internal encoding and decoding and operating method thereof |
CN112774193A (zh) * | 2021-01-14 | 2021-05-11 | 江苏卫健信息科技有限公司 | 一种云游戏的图像渲染方法 |
US11924393B2 (en) * | 2021-01-22 | 2024-03-05 | Valeo Comfort And Driving Assistance | Shared viewing of video among multiple users |
CN112954442B (zh) * | 2021-03-18 | 2023-07-18 | 北京字节跳动网络技术有限公司 | 视频播放方法、装置、设备和存储介质 |
GB2609013A (en) * | 2021-07-16 | 2023-01-25 | Sony Interactive Entertainment Inc | Video recording and playback systems and methods |
EP4120238A1 (en) * | 2021-07-16 | 2023-01-18 | Sony Interactive Entertainment Inc. | Video processing and playback systems and methods |
CN113676753B (zh) * | 2021-10-21 | 2022-02-15 | 北京拾音科技文化有限公司 | Vr场景中展示视频的方法、装置、电子设备和存储介质 |
US12112687B2 (en) * | 2021-12-07 | 2024-10-08 | Kyndryl, Inc. | Dynamic display for image-enabled clothing |
KR20230094587A (ko) | 2021-12-21 | 2023-06-28 | 서강대학교산학협력단 | 마이크로 배치 스트리밍 처리 시스템 및 상기 시스템에서의 동적 데이터 배치 및 쿼리 계획 방법 |
CN114938456A (zh) * | 2022-01-20 | 2022-08-23 | 上海瞳观智能科技有限公司 | Vr直播系统及方法 |
WO2023141313A2 (en) * | 2022-01-21 | 2023-07-27 | Arizona Board Of Regents On Behalf Of The University Of Arizona | Wavelength and diffractive multiplexed expansion of field of view for display devices |
US11983822B2 (en) | 2022-09-02 | 2024-05-14 | Valeo Comfort And Driving Assistance | Shared viewing of video with prevention of cyclical following among users |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185667A (en) * | 1991-05-13 | 1993-02-09 | Telerobotics International, Inc. | Omniview motionless camera orientation system |
US6043837A (en) * | 1997-05-08 | 2000-03-28 | Be Here Corporation | Method and apparatus for electronically distributing images from a panoptic camera system |
WO2000060869A1 (en) * | 1999-04-08 | 2000-10-12 | Internet Pictures Corporation | Perspective-corrected video presentations |
EP1162830A3 (en) * | 2000-06-07 | 2003-08-13 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
JP2005341093A (ja) * | 2004-05-26 | 2005-12-08 | Mitsubishi Electric Corp | コンテンツ適応化装置、コンテンツ適応化システム、コンテンツ適応化方法 |
CN101002479A (zh) * | 2004-08-13 | 2007-07-18 | 庆熙大学校产学协力团 | 用于全景图像的运动估计和补偿的方法和设备 |
CN101000461A (zh) * | 2006-12-14 | 2007-07-18 | 上海杰图软件技术有限公司 | 一种鱼眼图像生成立方体全景的方法 |
CN101828390A (zh) * | 2007-11-02 | 2010-09-08 | 索尼公司 | 信息呈现设备和信息呈现方法 |
US20120062444A1 (en) * | 2010-09-09 | 2012-03-15 | Cok Ronald S | Switchable head-mounted display transition |
US20120092348A1 (en) * | 2010-10-14 | 2012-04-19 | Immersive Media Company | Semi-automatic navigation with an immersive image |
WO2013068548A2 (en) * | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Efficient multi-view coding using depth-map estimate for a dependent view |
CN104365095A (zh) * | 2012-03-30 | 2015-02-18 | 阿尔卡特朗讯公司 | 用于对视频流的选定空间部分进行编码的方法和装置 |
WO2016010668A1 (en) * | 2014-07-14 | 2016-01-21 | Sony Computer Entertainment Inc. | System and method for use in playing back panorama video content |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62168102A (ja) | 1986-12-30 | 1987-07-24 | Furukawa Electric Co Ltd:The | 光フアイバ融着接続用スリツプホルダ |
US5880734A (en) | 1996-10-03 | 1999-03-09 | Intel Corporation | Peripheral vision simulator for immersive 3D virtual environments |
JPH10191355A (ja) * | 1996-12-26 | 1998-07-21 | Sony Corp | 映像信号切換装置およびその方法 |
US6778211B1 (en) * | 1999-04-08 | 2004-08-17 | Ipix Corp. | Method and apparatus for providing virtual processing effects for wide-angle video images |
JP2003101989A (ja) * | 2001-09-25 | 2003-04-04 | Matsushita Electric Ind Co Ltd | 仮想鑑賞方法、鑑賞サーバ装置、端末、プログラム |
GB0230328D0 (en) * | 2002-12-31 | 2003-02-05 | British Telecomm | Video streaming |
KR100613752B1 (ko) | 2004-03-11 | 2006-08-22 | 경북대학교 산학협력단 | 파노라마 영상의 스트리밍 방법 |
US20060055807A1 (en) * | 2004-09-14 | 2006-03-16 | Pemer Frederick A | Imaging methods, image sensors, imaging systems, and articles of manufacture |
US8747116B2 (en) | 2008-08-21 | 2014-06-10 | Lincoln Global, Inc. | System and method providing arc welding training in a real-time simulated virtual reality environment using real-time weld puddle feedback |
US8851896B2 (en) | 2008-08-21 | 2014-10-07 | Lincoln Global, Inc. | Virtual reality GTAW and pipe welding simulator and setup |
TW201044185A (en) | 2009-06-09 | 2010-12-16 | Zillians Inc | Virtual world simulation systems and methods utilizing parallel coprocessors, and computer program products thereof |
US8270473B2 (en) * | 2009-06-12 | 2012-09-18 | Microsoft Corporation | Motion based dynamic resolution multiple bit rate video encoding |
JP2012014676A (ja) | 2010-05-31 | 2012-01-19 | Sony Computer Entertainment Inc | 仮想現実空間提供システム、仮想現実空間提供方法およびそのプログラム |
US20120212491A1 (en) | 2011-02-22 | 2012-08-23 | Sony Computer Entertainment Inc. | Indirect lighting process for virtual environments |
WO2013038679A1 (ja) * | 2011-09-13 | 2013-03-21 | パナソニック株式会社 | 符号化装置、復号装置、再生装置、符号化方法、及び復号方法 |
CN202257030U (zh) * | 2011-10-19 | 2012-05-30 | 广东工业大学 | 大视场直接投影式激光光刻光学系统 |
US9516225B2 (en) * | 2011-12-02 | 2016-12-06 | Amazon Technologies, Inc. | Apparatus and method for panoramic video hosting |
JP5861499B2 (ja) * | 2012-03-01 | 2016-02-16 | 大日本印刷株式会社 | 動画提示装置 |
US10514541B2 (en) | 2012-12-27 | 2019-12-24 | Microsoft Technology Licensing, Llc | Display update time reduction for a near-eye display |
US20160205341A1 (en) * | 2013-08-20 | 2016-07-14 | Smarter Tv Ltd. | System and method for real-time processing of ultra-high resolution digital video |
US9774881B2 (en) * | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
JP6075889B2 (ja) * | 2014-06-10 | 2017-02-08 | 日本電信電話株式会社 | 映像配信装置及び映像再生装置 |
KR101953679B1 (ko) * | 2014-06-27 | 2019-03-04 | 코닌클리즈케 케이피엔 엔.브이. | Hevc-타일드 비디오 스트림을 기초로 한 관심영역 결정 |
US9917877B2 (en) * | 2014-10-20 | 2018-03-13 | Google Llc | Streaming the visible parts of a spherical video |
US10104361B2 (en) | 2014-11-14 | 2018-10-16 | Samsung Electronics Co., Ltd. | Coding of 360 degree videos using region adaptive smoothing |
GB2536025B (en) * | 2015-03-05 | 2021-03-03 | Nokia Technologies Oy | Video streaming method |
US9848212B2 (en) * | 2015-07-10 | 2017-12-19 | Futurewei Technologies, Inc. | Multi-view video streaming with fast and smooth view switch |
US10674205B2 (en) * | 2015-11-17 | 2020-06-02 | Rovi Guides, Inc. | Methods and systems for selecting a preferred viewpoint for media assets |
US20170147830A1 (en) * | 2015-11-24 | 2017-05-25 | Comcast Cable Communications, Llc | Adaptive Rights Management System |
US10334224B2 (en) | 2016-02-19 | 2019-06-25 | Alcacruz Inc. | Systems and method for GPU based virtual reality video streaming server |
-
2016
- 2016-04-08 US US15/094,336 patent/US10334224B2/en active Active
- 2016-09-16 US US15/268,111 patent/US9912717B2/en active Active
-
2017
- 2017-02-17 KR KR1020207027413A patent/KR102272859B1/ko active IP Right Grant
- 2017-02-17 WO PCT/KR2017/001790 patent/WO2017142354A1/ko active Application Filing
- 2017-02-17 JP JP2018562485A patent/JP6663043B2/ja active Active
- 2017-02-17 CN CN202110538794.7A patent/CN113286168B/zh active Active
- 2017-02-17 KR KR1020187023908A patent/KR102160992B1/ko active IP Right Grant
- 2017-02-17 CN CN201780013448.9A patent/CN108702522B/zh active Active
- 2017-02-17 KR KR1020217013537A patent/KR102358205B1/ko active IP Right Grant
- 2017-02-17 CN CN202110538787.7A patent/CN113286167B/zh active Active
- 2017-02-17 EP EP17753515.0A patent/EP3419293B1/en active Active
- 2017-02-17 KR KR1020227003157A patent/KR102502546B1/ko active IP Right Grant
- 2017-09-18 WO PCT/KR2017/010197 patent/WO2018052259A1/ko active Application Filing
- 2017-09-18 KR KR1020197013504A patent/KR102155681B1/ko active IP Right Grant
- 2017-09-18 KR KR1020217038744A patent/KR102506000B1/ko active IP Right Grant
- 2017-09-18 KR KR1020207025921A patent/KR102333398B1/ko active IP Right Grant
- 2017-09-18 CN CN201780071089.2A patent/CN110226316B/zh active Active
- 2017-09-18 CN CN202210587265.0A patent/CN115225882A/zh active Pending
-
2018
- 2018-01-23 US US15/877,799 patent/US20180152690A1/en not_active Abandoned
-
2019
- 2019-04-23 US US16/391,486 patent/US10904511B2/en active Active
- 2019-11-20 US US16/689,520 patent/US10939087B2/en active Active
-
2020
- 2020-02-13 JP JP2020022170A patent/JP7041440B2/ja active Active
- 2020-05-07 US US16/868,974 patent/US11050996B2/en active Active
-
2021
- 2021-01-26 US US17/158,654 patent/US11470301B2/en active Active
- 2021-05-10 US US17/315,995 patent/US11375172B2/en active Active
-
2022
- 2022-03-03 JP JP2022032850A patent/JP2022091767A/ja active Pending
- 2022-04-26 US US17/729,225 patent/US20220264069A1/en not_active Abandoned
- 2022-08-31 US US17/899,756 patent/US11843759B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5185667A (en) * | 1991-05-13 | 1993-02-09 | Telerobotics International, Inc. | Omniview motionless camera orientation system |
US6043837A (en) * | 1997-05-08 | 2000-03-28 | Be Here Corporation | Method and apparatus for electronically distributing images from a panoptic camera system |
US20160006933A1 (en) * | 1999-04-08 | 2016-01-07 | Sony Corporation | Method and apparatus for providing virtural processing effects for wide-angle video images |
WO2000060869A1 (en) * | 1999-04-08 | 2000-10-12 | Internet Pictures Corporation | Perspective-corrected video presentations |
EP1162830A3 (en) * | 2000-06-07 | 2003-08-13 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
JP2005341093A (ja) * | 2004-05-26 | 2005-12-08 | Mitsubishi Electric Corp | コンテンツ適応化装置、コンテンツ適応化システム、コンテンツ適応化方法 |
CN101002479A (zh) * | 2004-08-13 | 2007-07-18 | 庆熙大学校产学协力团 | 用于全景图像的运动估计和补偿的方法和设备 |
CN101000461A (zh) * | 2006-12-14 | 2007-07-18 | 上海杰图软件技术有限公司 | 一种鱼眼图像生成立方体全景的方法 |
CN101828390A (zh) * | 2007-11-02 | 2010-09-08 | 索尼公司 | 信息呈现设备和信息呈现方法 |
US20120062444A1 (en) * | 2010-09-09 | 2012-03-15 | Cok Ronald S | Switchable head-mounted display transition |
US20120092348A1 (en) * | 2010-10-14 | 2012-04-19 | Immersive Media Company | Semi-automatic navigation with an immersive image |
WO2013068548A2 (en) * | 2011-11-11 | 2013-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Efficient multi-view coding using depth-map estimate for a dependent view |
CN104365095A (zh) * | 2012-03-30 | 2015-02-18 | 阿尔卡特朗讯公司 | 用于对视频流的选定空间部分进行编码的方法和装置 |
WO2016010668A1 (en) * | 2014-07-14 | 2016-01-21 | Sony Computer Entertainment Inc. | System and method for use in playing back panorama video content |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766272A (zh) * | 2020-06-04 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 一种沉浸媒体的数据处理方法 |
CN113839908A (zh) * | 2020-06-23 | 2021-12-24 | 华为技术有限公司 | 视频传输方法、装置及系统 |
CN113839908B (zh) * | 2020-06-23 | 2023-07-11 | 华为技术有限公司 | 视频传输方法、装置、系统及计算机可读存储介质 |
CN113094019A (zh) * | 2021-04-30 | 2021-07-09 | 咪咕文化科技有限公司 | 交互方法、装置、电子设备及存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108702522A (zh) | 用于基于gpu的虚拟现实视频流式传输服务器的方法及系统 | |
CN111033570B (zh) | 使用两个渲染计算装置从计算机图形渲染图像 | |
JP2020515937A (ja) | 没入型ビデオフォーマットのための方法、装置、及びストリーム | |
CN107274338A (zh) | 用于深度图的低等待时间变形的系统、方法和装置 | |
US9565414B2 (en) | Efficient stereo to multiview rendering using interleaved rendering | |
US20210125413A1 (en) | Edge detection and smoothing for virtual object presentation | |
Hladky et al. | Tessellated shading streaming | |
US20240062467A1 (en) | Distributed generation of virtual content | |
US20240259529A1 (en) | Communication framework for virtual representation calls | |
WO2024040054A1 (en) | Distributed generation of virtual content | |
Long et al. | SRSSIS: Super-Resolution Screen Space Irradiance Sampling for Lightweight Collaborative Web3D Rendering Architecture | |
TW202433242A (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 |