CN107439010B - 流传输球形视频 - Google Patents
流传输球形视频 Download PDFInfo
- Publication number
- CN107439010B CN107439010B CN201680020051.8A CN201680020051A CN107439010B CN 107439010 B CN107439010 B CN 107439010B CN 201680020051 A CN201680020051 A CN 201680020051A CN 107439010 B CN107439010 B CN 107439010B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- quality
- portions
- playback device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- 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
- 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
-
- 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/764—Media network packet handling at the destination
-
- 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
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
一种方法包括:在回放设备接收第一视频流,所述第一视频流具有第一质量;在所述回放设备接收至少两个第二视频流,所述至少两个第二视频流各自与所述第一视频流的一部分相对应,所述至少两个第二视频流具有第二质量,所述第二质量与所述第一质量相比是更高的质量;在所述回放设备回放所述第一视频流;基于所述回放设备的用户的观看视角从所述至少两个第二视频流中选择第三视频流;以及在所述回放设备回放所述第三视频流连同所述第一视频流。
Description
相关申请的交叉引用
本申请要求于2015年5月27日提交的题为“SPHERICAL VIDEO STREAMING ANDPLAYBACK(球形视频流传输和回放)”的美国专利申请号62/167,260的优先权,所述申请通过引用以其全文结合在此。
技术领域
本发明涉及流传输球形视频。
背景技术
流传输球形视频(或其他三维视频)会消耗大量的系统资源。例如,被编码的球形视频可以包括会消耗大量带宽以及与编码器和解码器相关联的处理器和存储器的用于传输的大量比特。
发明内容
示例实施例描述了用于优化流传输视频、流传输3D视频和/或流传输球形视频的系统和方法。示例实施例描述了用于优化视频的回放、3D视频的回放和/或球形视频的回放的系统和方法。
在总体方面,一种方法包括:在回放设备接收第一视频流,所述第一视频流具有第一质量;在所述回放设备接收至少两个第二视频流,所述至少两个第二视频流各自与所述第一视频流的一部分相对应,所述至少两个第二视频流具有第二质量,所述第二质量与所述第一质量相比是更高的质量;在所述回放设备回放所述第一视频流;基于所述回放设备的用户的观看视角从所述至少两个第二视频流中选择第三视频流;以及在所述回放设备回放所述第三视频流连同所述第一视频流。
实施方式可以包括以下特征中的一个或多个特征。例如,所述方法可以进一步包括:确定所述回放设备的所述用户的观看视角已经改变;基于改变的观看视角从所述至少两个第二视频流中选择第四视频流;以及在所述回放设备回放所述第四视频流连同所述第一视频流。所述第一质量是基于比特率和分辨率,所述比特率是基于最小通信信道能力,并且所述分辨率是基于与所述回放设备相关联的最小像素密度。例如,所述方法可以进一步包括:缓冲所述第一视频流,其中,在所述回放设备回放所述第三视频流连同所述第一视频流包括用所述第三视频流替代所述第一视频流的相应部分,在所述回放设备上渲染所述结果,确定所述第三视频流存在问题,以及在确定所述第三视频流存在问题时,在所述回放设备上渲染被缓冲的第一视频流。
所述回放设备是头戴显示器(HMD),并且在所述回放设备回放所述第三视频流连同所述第一视频流包括:在所述HMD的左眼显示器或右眼显示器中的一个显示器上渲染所述第一视频流,以及在所述HMD的所述左眼显示器或所述右眼显示器中的另一个显示器上渲染所述第三视频流。所述至少两个第二视频流具有在不同时间戳被编码的相关联的关键帧。
例如,所述方法可以进一步包括:判定所述至少两个第二视频流中的每个视频流是否在所述回放设备的可视阈值内;在确定所述至少两个第二视频流在所述回放设备的所述可视阈值内时,对所述至少两个第二视频流进行解码;以及在确定所述至少两个第二视频流不在所述回放设备的所述可视阈值内时,跳过对所述至少两个第二视频流的解码。
在另一个总体方面,一种方法包括:以第一质量对视频的帧进行编码;以第二质量对所述视频的所述帧的至少两部分进行编码,所述第二质量与所述第一质量相比是更高的质量;存储所述视频的所述帧;以及存储所述视频的所述帧的所述至少两部分。
实施方式可以包括以下特征中的一个或多个特征。例如,所述方法可以进一步包括流传输所述视频的所述帧以及流传输所述视频的所述帧的所述至少两部分。以所述第二质量对所述视频的所述帧的所述至少两部分进行编码包括使用具有不同时间戳的关键帧对所述视频的所述帧的所述至少两部分中的每个部分进行编码。例如,所述方法可以进一步包括:接收与回放设备相关联的运动的量的指示,以及基于所述运动适配与所述视频的所述帧的所述至少两部分相关联的大小。接收流传输视频的请求;使用所述视频的所述帧和所述视频的所述帧的所述至少两部分中的一部分来构建帧;以及流传输所构建的帧。所述视频的所述帧与球形视频相关联,对所述视频的所述帧进行编码包括:将所述视频的所述帧投射成立方体图,以及使用等角采样算法对所述立方体图进行编码。
所述视频的所述帧与球形视频相关联,所述方法进一步包括将所述视频的所述帧投射成立方体图,以及选择所述立方体图的立方体面。对所述视频的所述帧进行编码包括以所述第一质量对所述立方体面进行编码,并且对所述视频的所述帧的所述至少两部分进行编码包括以所述第二质量对所述立方体面的至少两部分进行编码。例如,所述方法可以进一步包括:流传输所述视频的所述帧;流传输所述视频的所述帧的所述至少两部分;接收在回放设备上的回放已暂停的指示;以所述第二质量对所述视频的所述帧进行编码;以及流传输以所述第二质量被编码的所述视频的所述帧。所述第一质量基于以下各项中的至少一项:低帧速率高分辨率流、单声道流、减少的颜色流、以及黑白流。例如,所述方法可以进一步包括:将所述视频的所述帧流传输成多个被编码的帧;以及在流传输所述视频期间丢弃多个被编码的帧中的至少一个帧以实现第三质量。
在又另一个总体方面,一种服务器和/或流传输式服务器包括编码器、存储器和控制器。所述编码器被配置为以第一质量对视频的帧进行编码,以及以第二质量对所述视频的所述帧的至少两部分进行编码,所述第二质量与所述第一质量相比是更高的质量。所述存储器被配置为存储所述视频的所述帧,以及存储所述视频的所述帧的所述至少两部分。所述控制器被配置为流传输包括所述被编码的帧以及所述视频的所述帧的被编码的至少两部分中的一个或多个部分的视频。
实施方式可以包括以下特征中的一个或多个特征。例如,以所述第二质量对所述视频的所述帧的所述至少两部分进行编码包括使用具有不同时间戳的关键帧对所述视频的所述帧的所述至少两部分中的每个部分进行编码。所述视频的所述帧与球形视频相关联,所述编码器进一步被配置为将所述视频的所述帧投射成立方体图,以及选择所述立方体图的立方体面。对所述视频的所述帧进行编码包括以所述第一质量对所述立方体面进行编码,并且对所述视频的所述帧的所述至少两部分进行编码包括以所述第二质量对所述立方体面的至少两部分进行编码。
附图说明
从下文中在此给出的详细描述以及附图将更充分地理解示例实施例,在附图中,相同的元件用相同的参考标号来表示,附图仅以说明的方式给出并且因此不限制示例实施例,并且在附图中:
图1至图4展示了根据至少一个示例实施例的各种方法。
图5展示了根据至少一个示例实施例的时序图。
图6至图14展示了根据至少一个示例实施例的各种方法。
图15是用于捕获和渲染3D虚拟现实(VR)环境中的立体图像和/或视频的示例系统的框图。
图16A展示了根据至少一个示例实施例的视频编码器系统。
图16B展示了根据至少一个示例实施例的视频解码器系统。
图17A展示了根据至少一个示例实施例的视频编码器系统的流程图。
图17B展示了根据至少一个示例实施例的视频解码器系统的流程图。
图18展示了根据至少一个示例实施例的球体的二维(2D)表示。
图19展示了根据至少一个示例实施例的系统。
图20是可以用于实现在此描述的技术的计算机设备和移动计算机设备的示意性框图。
应注意的是,这些附图旨在展示在某些示例实施例中所使用的方法、结构和/或材料的一般特性并且旨在补充下文中所提供的书面描述。然而,这些附图并未按比例绘制并且可能并未精确地反映任何给出的实施例的精确结构或性能特性,并且不应当被解释为限定或限制示例实施例所包含的数值或性质的范围。例如,为清楚起见,可以减小或夸大结构元件的相对厚度和定位。在各个附图中类似或相同的参考号的使用旨在指示类似或相同的元件或特征的存在。
具体实施方式
尽管示例实施例可以包括各种修改和替代性形式,但其实施例在附图中通过示例的方式示出并且将在此进行详细描述。然而,应理解的是,不意图将示例实施例限制为所公开的特定形式,而是相反地,示例实施例将覆盖落在权利要求书的范围内的所有修改、等效物和替代方案。遍及附图的描述,相同的参考号指代相同的元件。
图1至图4以及图6至图14是根据示例实施例的方法的流程图。关于图1至图4以及图6至图14所描述的步骤可以由于执行存储在与装置(例如,如在图16中所示出的)相关联的存储器(例如,至少一个存储器1610)中的软件代码而被执行并且由与所述装置相关联的至少一个处理器(例如,至少一个处理器1605)来执行。然而,设想替代性实施例,比如被具体化为专用处理器的系统。尽管下文中所描述的步骤被描述成由处理器来执行,但是所述步骤不一定由同一处理器来执行。换句话说,至少一个处理器可以执行关于图1至图4以及图6至图14在下文中所描述的步骤。
根据示例实施方式,关于球形视频和/或球形视频的帧,可以对覆盖球体的不同部分的多个不同的观看视角进行编码。在某个间隔,可以选择或切换到(例如,在用户移动时)用户正在观看的最佳聚焦质量的(球形视频的)流。根据示例实施方式,可以流传输球形视频的整个球体的低分辨率视频层并且可以流传输动态切换的高分辨率视点视频并在低分辨率视频的顶部合成所述高分辨率视点视频。可以基于用户的观看视角在各自覆盖球体的一部分的高质量流与低质量流之间动态切换。可以混合高分辨率视频与低分辨率视频之间的界线(例如,像素可以在此之间交替)以掩饰分辨率的变化。视频瓦片的完整的类四叉树结构可以用于填写详细信息以便提高分辨率以及因此被渲染的视频的质量。另外,可以利用将球体的被观看部分的高分辨率以及同样地所述球体的剩余部分的低分辨率表示打包到同一个帧中的单个动态切换的流。示例实施方式可以具有针对整个球体示出但在用户快速转动时仅用作用户正在观看的(多个)高分辨率图像的图像。示例实施方式可以考虑客户端复杂度(同步/解码多个流)、服务器存储成本等等的折衷。
图1展示了根据至少一个示例实施例的用于在流传输式球形视频的流之间切换的方法。如在图1中所示出的,在步骤S105中,以第一质量对球形视频的帧进行编码。例如,可以以被配置用于当球形视频在显示器(例如,头戴显示器(HMD))上回放时提供最小用户体验度的质量(例如,比特率和分辨率)对所述帧进行编码。因此,所述比特率可以是基于最小通信信道能力并且所述分辨率可以是基于最小像素密度。
在步骤S110中,将被编码的帧存储在服务器设备作为第一视频流的帧。例如,可以存储被编码的帧以用于基于用户设备的请求进行未来的回放。
在步骤S115中,以第二质量基于观看视角对所述帧的多个部分进行编码。例如,第二质量可以是高于第一质量的质量。第二质量可以是基于在回放时具有更高像素密度的分辨率和/或被配置为比与第一质量相关联的比特率更高(例如,更多数据)的比特率。所述帧的所述多个部分可以是预期由例如HMD的用户观看的部分。在一个示例实施方式中,整个帧被分成多个部分并且被编码成帧的多个部分。
在步骤S120中,将帧的多个部分存储在服务器设备作为多个第二视频流。例如,可以存储帧的被编码的多个部分以用于基于用户设备的请求进行未来的回放。
在步骤S125中,将第一视频流流传输到回放设备。例如,可以将第一视频流流传输成基础或最小体验度视频用于在HMD上进行回放。
在步骤S130中,将多个第二视频流中的至少一个第二视频流流传输到回放设备。例如,可以基于观看视角(或球形视频的观看者当前所关注的方面)从多个第二视频流中选择第二流。
在步骤S135中,在回放设备回放第一视频流或在回放设备上渲染所述第一视频流(以用于显示)。例如,可以在HMD上渲染并显示第一视频流。在步骤S140中,在回放设备基于确定的观看视角在多个第二视频流的两个(或更多个)第二视频流的回放之间切换。例如,由于HMD的用户改变了观看视角(例如,移动其手和/或眼睛),因此可以选择不同的第二视频流用于在HMD上进行回放。换句话说,在HMD上的回放基于(确定的)改变的观看视角在第二视频流中的至少两个第二视频流之间切换。
图2展示了用于缓冲整个球体的低/中等质量流的方法。如在图2中所示出的,在步骤S205中,以第一质量对球形视频的帧进行编码。例如,可以以被配置用于当球形视频在显示器(例如,头戴显示器(HMD))上回放时提供最小用户体验度的质量(例如,比特率和分辨率)对所述帧进行编码。因此,所述比特率可以是基于最小通信信道能力并且所述分辨率可以是基于最小像素密度。然后,将被编码的帧流传输到回放设备(S210)。然后,在回放设备缓冲被编码的帧(S215)。例如,在回放设备的存储器(或与所述回放设备相关联的存储器)中缓冲被编码的进行流传输的帧。
在步骤S220中,以第二质量基于观看视角对帧的多个部分进行编码。例如,第二质量可以是高于第一质量的质量。第二质量可以是基于在回放时具有更高像素密度的分辨率和/或被配置为比与第一质量相关联的比特率更高(例如,更多数据)的比特率。所述帧的所述多个部分可以是预期由例如HMD的用户观看的部分。在一个示例实施方式中,整个帧被分成多个部分并且被编码成帧的多个部分。然后,将帧的被编码的多个部分流传输到回放设备(S225)。回放设备可以将以最小或第一质量进行编码的帧和以第二质量进行编码的帧的多个部分(的一个或多个部分)组合。然后,可以在回放设备上渲染结果。
在步骤S230中,判定在回放设备帧被编码的部分是否存在问题。例如,可能存在延时(例如,在下载流时),在流追上播放位置的同时使视频意外暂停。如果帧的被编码部分存在(S230)问题,则将球形视频的回放切换到相应的缓冲的视频。换句话说,如果问题存在,则在回放设备上渲染缓冲的视频流。例如,回放设备可以读取、解码、渲染并且显示存储在缓冲器(或队列)中的缓冲的(较低质量的)球形视频。
如果用户最近一直在相对缓慢地移动或注视着一个区域,则示例实施方式可以以相对较高的质量流传输球体的相对较小的区。如果用户一直经常转动其头部,则示例实施方式可以以中等质量流传输球体的较大部分。根据示例实施方式,可以在某个时段内确定(或测量)头部运动的平均水平(速度、所覆盖的球体的量等等),并且可以选择适当的高质量区的大小。
图3展示了用于基于头部运动量来适配高质量区的大小的方法。如在图3中所示出的,在步骤S305中,确定头部和/或眼睛运动的量。例如,取向传感器可以被配置为检测观看者的眼睛(或头部)的取向(或取向变化)。例如,取向传感器可以包括用于检测移动的加速计以及用于检测取向的陀螺仪。可替代地或除此之外,取向传感器可以包括聚焦观看者的眼睛或头部的相机或红外传感器以用于确定观看者的眼睛或头部的取向。移动量可以是基于阈值或阈值范围。
如果移动量在阈值以上或在阈值范围内(步骤S310),则基于运动来适配球形视频的一部分的大小。例如,如果用户正在相对缓慢地移动其头部或注视着一个区域,则示例实施方式可以以相对较高的质量流传输球体的相对较小的区。如果用户一直经常转动其头部,则示例实施方式可以以中等质量流传输球体的较大部分。
如果以质量对表示球形视频的球体的被预编码部分的集合进行编码,则可以基于例如当前观看视角通过将预编码部分拼接在一起形成单个视频比特流使用预编码部分来重新构建球形视频(或其一部分)。球形视频的重新构建可以是按需的并且在服务器上进行。
图4展示了用于按需构建视频比特流的方法。如在图4中所示出的,在步骤S405中,基于帧中的图像生成球形视频的帧的多个部分。例如,可以生成具有相同或类似的相邻界线的多个部分。对球形视频的帧的多个部分进行编码(S410)。例如,可以基于相同的期望质量对每个部分进行编码。
在步骤S415中,将球形视频的帧的被编码的多个部分存储为多个瓦片。例如,所述多个瓦片具有表示相同像素数量的相同大小。在步骤S420中,接收流传输球形视频的请求。例如,用户设备(例如,HMD)请求球形视频用于回放。服务器可以基于多个瓦片构建(S425)视频帧。例如,可以使用在被解码时产生了可以在用户设备上渲染和显示的重新构建的帧的技术,将表示相邻瓦片的像素的比特存储在数据包中。将构建的帧流传输(S430)成球形视频的多个帧中的一个帧。
图5A展示了在相应时间(T)505、510、515、520生成的n个关键帧525、530、535、540。关键帧的时序可以跨观看视角交错以减少切换延时。例如,第一观看视角可以在时间戳0、2、4等(例如,秒、毫秒等等)处具有关键帧,并且第二观看视角可以在1、3、5、7等(例如,秒、毫秒等等)处具有关键帧。在时间戳2处可以选择第一观看视角,在时间戳3处可以选择第二观看视角并且在时间戳4处可以选择第一观看视角。相比于利用以相同时间戳间隔生成的关键帧对观看视角进行编码,交错的(可变的或不同的)(多个)时间戳可以允许在观看视角之间更快切换。
某项研究已经表明,如果一只眼睛被示出以高分辨率图像并且另一只眼睛被示出以低分辨率图像,则大脑可以在某种程度上“填写空白”并且图像看起来还不错。因此,关键帧跨眼睛交错(例如,左眼每偶数秒具有流并且右眼每奇数秒具有流),在从低质量视频切换到高质量视频时可以时感知到的流切换时间可以被加倍。
也可以使用可变的关键帧间隔。如果场景的最有趣部分正在进行大的移动,则在所述移动周围运动期间可以减小关键帧间隔。进一步地,可以从记录回放期间的用户行为来了解焦点和平均移动。或者使用对显著移动的计算机视觉分析可以给出初始移动热点。
如果关键帧应当以固定间隔(例如,每4秒)生成,则可以利用被放置在时间线的不同点处的关键帧对交替的流进行编码以使得切换能够更快。例如,对于与单个观看视角相关联的四个流,流A可以在0秒、4秒、8秒处具有关键帧,流B可以在1秒、5秒、9秒处具有关键帧,流C可以在2秒、6秒、10秒处具有关键帧,并且流D可以在3秒、7秒、11秒处具有关键帧。因此,在不需要单个I帧重质(例如,降低的压缩效率)流的情况下可以完成在0秒、1秒、2秒或3秒处观看视角的切换。
在示例实施方式中,可以以不同长度(例如,每4秒具有始于关键帧的完整的4秒流,然后,抵消掉1秒后具有3秒流,其中1秒的关键帧进入所述时间线,然后,抵消掉2秒具有2秒流,并且抵消掉3秒后具有1秒流)对这些剪辑进行编码以减少存储开销。例如,流A可以在0处开始并且时长为4,流B可以在1处开始并且时长为3,流C可以在2处开始并且时长为2,并且流B可以在3处开始并且时长为1。
图5B展示了用于使用多个加上时间戳的关键帧对球形视频进行编码的方法。如在图5B中所示出的,在步骤S505中,在球形视频内在多个时间(或时间戳)对多个关键帧进行编码。例如,如在上文中所讨论的,关键帧可以跨观看视角和/或立体(左眼/右眼)视图或图像进行交错。关键帧可以以固定间隔生成。
在步骤S510中,将待编码的帧与多个关键帧中的一个帧相关联。例如,可以将第一观看视角与第一关键帧相关联并且可以将第二观看视角与第二关键帧相关联。可以将左眼帧与第一关键帧相关联并且可以将右眼帧与第二关键帧相关联。然后,基于相关联的关键帧对待编码的帧进行编码(S515)。
在不期望用户看到球形视频的低质量部分的使用情况下,可以跳过对一些帧或帧的一部分的解码。图6展示了用于跳过对球形视频的低质量部分进行解码的方法。如在图6中所示出的,在步骤S605中,接收流传输式球形视频的帧。所述帧包括多个被编码的部分。
在步骤S610中,判定被编码部分是否在可视阈值内。如果被编码部分不在可视部分内,则处理继续到步骤S620并且不执行解码或跳过解码。否则,处理继续到对所述部分进行解码的步骤S615。
等矩形投射对一些球形视频和/或图像而言可能是低效的。例如,极点的像素密度被分配了比期望像素更多的像素,而观看者通常对赤道更感兴趣。进一步地,等矩形投射可以使直线弯曲,这使得编码更加困难。使用立方体图对球形图像进行编码可能更加困难,因为每个面都看起来像是普通视频。因此,可以在不对变化的像素密度进行补偿的情况下对每个面进行编码。然而,立方体图可以产生对球体非常不均匀的采样(更多像素朝向所述面的边缘/角)。在示例实施例中,可以针对每个面在90×90度的角度内对立方体图进行采样。这产生了提供对球体的均匀(或稍微均匀的)采样或等角采样的投影。这样,可以利用常规编解码器很合理地压缩每个面。例如,每个立方体面可以显得像具有轻微的鱼眼效果的正规视频投影。
图7展示了用于对球形视频进行编码的方法。如在图7中所示出的,在步骤S705中,将球形图像或帧投射成立方体图。在步骤S710中,使用等角采样算法对立方体图进行编码。例如,利用比在面的边缘或界线处更高的在面的中心处的采样率对立方体图的每个面进行采样。
图8展示了用于流传输球形视频的方法。如在图8中所示出的,在步骤S805中,选择球形图像或帧的立方体图投影的立方体面以用于编码。
在步骤S810中,以第一质量对立方体面进行编码。例如,可以以被配置为当球形视频在显示器(例如,头戴显示器(HMD))上回放时提供最小用户体验度的质量(例如,比特率和分辨率)对帧进行编码。因此,所述比特率可以是基于最小通信信道能力并且所述分辨率可以是基于最小像素密度。进一步地,可以使用等角采样算法对立方体面进行采样。
在步骤S815中,将被编码的立方体面存储在服务器设备作为第一视频流的帧的一部分。例如,可以存储被编码的立方体面以用于基于用户设备的请求进行未来的回放。
在步骤S820中,以第二质量基于观看视角对立方体面的多个部分进行编码。例如,第二质量可以是高于第一质量的质量。第二质量可以是基于在回放时具有更高像素密度的分辨率和/或被配置用于比与第一质量相关联的比特率更高(例如,更多数据)的比特率。立方体面的多个部分可以是预期由例如HMD的用户观看的部分。在一个示例实施方式中,整个立方体面被分成多个部分并且被编码成帧的多个部分。
在步骤S825中,将立方体面的多个部分存储在服务器设备作为多个第二视频流。例如,可以存储立方体面的被编码的多个部分以用于基于用户设备的请求进行未来的回放。
在步骤S830中,将第一视频流流传输到回放设备。例如,可以将第一视频流流传输成基础或最小体验度视频以用于在HMD上进行回放。
在步骤S835中,将多个第二视频流中的至少一个第二视频流流传输到回放设备。例如,可以基于观看视角(或球形视频的观看者当前所关注的方面)从多个第二视频流中选择第二流。
在步骤S840中,在回放设备回放第一视频流。例如,可以在HMD上渲染并显示第一视频流。在步骤S845中,在回放设备基于确定的观看视角在多个第二视频流的两个(或更多个)第二视频流的回放之间切换。例如,由于HMD的用户改变了观看视角(例如,移动其手和/或眼睛),因此可以选择不同的第二视频流以用于在HMD上进行回放。
在示例实施方式中,视频可以在不具有均匀质量的情况下在帧内或在帧之间进行流传输。如果用户暂停并环顾,则可以针对球形图像的整个球体流传输高质量(例如,高分辨率)内容。这一技术可以使用现有的流来实现:仔细检查并对从所有必要的观看视角的帧进行解码并且将其合成为高分辨率静态图像。可替代地或除此之外,可以选择并下载附加的流。在示例实施方式中,可以使用比最高视频质量更高的质量(例如,作为静态图像),由此暂停以便检查更好的体验的细小细节。
图9展示了用于流传输球形视频的方法。如在图9中所示出的,在步骤S905中,判定流传输式球形视频是否已暂停。所述流传输式视频以第一质量进行流传输。所述暂停可以是基于与回放设备的用户交互和/或所述流传输式球形视频可以被配置用于在某个(某些)时间戳暂停。回放设备可以将暂停传送到流传输式服务器。
在步骤S910中,触发以第二质量对球形视频的流传输。所述流传输可以包括球形视频的整个球体或其一部分。
在步骤S915中,将以第一质量流传输的视频与以第二质量流传输的视频合成。例如,以第二质量流传输的视频可以填充以第一质量流传输的视频中缺少的像素。例如,以第二质量流传输的视频可以取代以第一质量流传输的视频中的像素。例如,以第二质量流传输的视频可以覆盖以第一质量流传输的视频中的像素。
在包括HMD的使用情况下,显示器的中间部分应当显示高质量图像。因此,示例实施方式应当流传输显示器中间的高分辨率内容。进一步地,在添加了眼睛跟踪的情况下,可以在眼睛正在观看时递送高分辨率内容。在流传输层面,可以流传输观看视角下的窄带高质量视频。在解码层面,编码解码器可以被适配用于仅对中心区域进行完全解码(例如,使用SVC)。在渲染层面,仅可以以高质量将中心区上传到GPU(也有可能节省一些GPU带宽)。
图10展示了用于流传输球形视频的方法。如在图10中所示出的,在步骤S1005中,基于头戴显示器(HMD)的位置和/或眼睛跟踪确定流传输式球形视频的观看视角。例如,取向传感器可以被配置用于检测观看者的眼睛(或头部)的取向(或取向变化)。例如,取向传感器可以包括用于检测移动的加速计以及用于检测取向的陀螺仪。可替代地或除此之外,取向传感器可以包括聚焦在观看者的眼睛或头部的相机或红外传感器以用于确定观看者的眼睛或头部的取向。
在步骤S1010中,基于观看视角确定对人眼的中央凹结构和中央凹位置的参考的中央凹参考。例如,中央凹参考可以将使用眼睛跟踪确定的观看视角和观看深度考虑在内。在示例实施方式中,可以基于各个眼睛之间的中央凹距离来确定观看深度。换句话说,由于人眼聚焦到变化的深度,因此各个眼睛的中央凹(例如,瞳孔)之间的距离可以改变。然后,流传输(S1015)球形视频,使得在中央凹参考处在HMD上显示高质量图像。
图11展示了用于流传输球形视频的方法。如在图11中所示出的,在步骤S1105中,确定流传输式球形视频的第一部分将以低于与流传输式球形视频的第二部分相关联的第二质量的第一质量进行流传输。例如,流传输式球形视频的第一部分可以被确定为在观看者的观看视角之外。因此,高质量视频可能对用户体验度而言并不重要。
在步骤S1110中,触发对球形视频的流传输,使得流传输式球形视频的第一部分是以下各项中的至少一项:(1)低帧速率高分辨率流、(2)单声道流和/或(3)减少的颜色(或黑白)流。例如,尽管图像改变得可能更不平滑,但是因为图像本身更加清楚,因此可以优选低帧速率高分辨率流。对低质量3D流而言可以优选单声道流。减少的颜色可能不如图像那样锐利,但是图像可能会更加清楚。
可以基于观察者的预期行为来切换流。例如,示例实施方式可以能够预测回放设备的用户接下来要观看哪里。监测用户的头部运动,在探测场景时它们将趋向于向左/向右转动。通过确定方向和相对运动,可以通过预测在下一关键帧用户的头将在哪里来改变流。这可以用于确保高分辨率内容尽可能经常地可视。
图12展示了用于流传输球形视频的方法。如在图12中所示出的,在步骤S1205中,确定头戴显示器(HMD)的用户的行为。例如,取向传感器可以被配置用于检测观看者的眼睛(或头部)的取向(或取向的变化)。例如,取向传感器可以包括用于检测移动的加速计以及用于检测取向的陀螺仪。可替代地或除此之外,取向传感器可以包括聚焦在观看者的眼睛或头部的相机或红外传感器以用于确定观看者的眼睛或头部的取向。历史的(例如,最后移动)取向变化可以用于确定行为或下一次移动。
在步骤S1210中,基于确定的行为预测将被流传输到HMD的球形视频流。例如,可以确定从左到右的运动(或行为)。从左到右的运动可以用于预测待被流传输的下一个(例如,高质量)流。可以在下一个关键帧间隔对将被流传输的下一个流进行编码。然后,在步骤S1215中,将预测的球形视频流流传输到HMD(或与HMD相关联的计算设备)。
可放缩视频编码(SVC)可以被配置为允许比流切换更快的质量适配。也可以优选流切换和可放缩流的某种混合。
图13展示了用于流传输球形视频的方法。如在图13中所示出的,在步骤S1305中,以第一质量对球形视频进行编码。在步骤S1310中,触发对球形视频的流传输。例如,回放设备可以请求通过通信链路流传输视频。在步骤S1315中,在流传输球形视频期间丢弃球形视频的至少一个帧以实现球形视频的第二质量。球形视频的第二质量低于球形视频的第一质量。例如,在将所述流指定为低质量流的使用情况下可以每隔一个来丢弃帧。在示例实施方式中,所述流可以改变从低质量到高质量的指定。因此,可以结束帧的丢弃和/或可以丢弃更少帧,从而产生具有更高质量的流。
使用棋盘形网格并且在顶点层面进行畸变校正可以给出畸变校正的逐段近似值。例如,假设相等的三角形大小,则这相当于对完成的网格执行畸变校正后渲染。然而,可能不需要附加的渲染通道。使用棋盘形网格可以具有以下优点:(1)后畸形需要对更大尺寸的纹理网格进行渲染,(2)可以针对每屏幕像素进行采样,(3)移除一个渲染通道,(3)可以在渲染时间之前移除非可视图片,以及(4)可以以被处理的几何量变成三倍为代价来校正色差。
图14展示了用于流传输球形视频的方法。如在图14中所示出的,在步骤S1405中,将被解码的像素分组成多个顶点集合。例如,相邻像素可以被分组成多边形(例如,三角形)形状。
在步骤S1410中,将多个顶点集合分组成棋盘形网格。例如,棋盘形网格可以是立方体的形状。
在步骤S1415中,将畸变校正应用到棋盘形网格。例如,回放设备(例如,HMD)可以具有与例如镜头和/或显示器相关联的已知的或确定的畸变。这一畸变可以通过将校正应用到棋盘形网格来校正。然后,在步骤S1420中,对校正了畸变的棋盘形网格进行渲染以用于在HMD上显示。
图15是用于捕获和渲染3D虚拟现实(VR)环境中的立体全景的示例系统1500的框图。在示例1500中,相机装备1502可以通过网络1504捕获并提供图像,或者可替代地可以直接为图像处理系统1506提供图像以用于分析和处理。在系统1500的一些实施方式中,移动设备1508可以充当相机装备1502以贯穿网络1504提供图像。例如,一旦捕获了图像,图像处理系统1506可以对图像执行多个计算和处理并且为头戴显示器(HMD)设备1510提供处理过的图像以用于通过网络1504进行渲染。在一些实施方式中,图像处理系统1506还可以为移动设备1508和/或为计算设备1512提供处理过的图像以用于渲染、存储或进一步处理。
HMD设备1510可以表示虚拟现实头戴耳机、眼睛、目镜、或能够显示虚拟现实内容的其他可穿戴设备。在操作中,HMD设备1510可以执行可为用户回放接收到的和/或处理过的图像的VR应用(未示出)。在一些实施方式中,VR应用可以由图15中所示出的设备1506、1508或1512中的一个或多个设备来托管。在一个示例中,HMD设备1510可以提供对相机装备1502所捕获的场景的视频回放。在另一个示例中,HMD设备1510可以提供对被拼接成单个全景场景的静态图像的回放。
相机装备1502可以被配置用作相机(还可以被称为捕获设备)和/或处理设备以便收集图像数据从而用于渲染VR环境中的内容。尽管相机装备1502被示出为具有本文的特定功能的框图,但是装备1502可以采取其他形式并且另外可以具有附加功能。例如,在描述系统1500的功能时为简单起见,图15示出了相机装备1502,其中,并未在所述装备周围布置相机以用于捕获图像。相机装备1502的其他实施方式可以包括可被布置在圆形相机装备(比如装备1502)的圆周周围的任何数量的相机。
如在图15中所示出的,相机装备1502包括多个相机1530和通信系统1532。相机1530可以包括单个静态相机或单个摄像机。在一些实施方式中,相机1530可以包括沿装备1502的外周(例如,圆圈)并排布置(例如,座放)的多个静态相机或多个摄像机。相机1530可以是摄像机、图像传感器、立体相机、红外相机和/或移动设备。通信系统1532可以用于上传和下载图像、指令和/或其他相机相关的内容。所述通信可以是有线的或无线的并且可以通过专用网络或公共网络进行接口连接。
相机装备1502可以被配置为充当固定装备或旋转装备。从装备的旋转中心偏移来布置(例如,放置)装备上的每个相机。例如,相机装备1502可以被配置为旋转大约360度以扫掠和捕获场景的360度视图的全部或一部分。在一些实施方式中,装备1502可以被配置用于在固定位置处进行操作,并且在这种配置中,可以添加附加相机到所述装备中以捕获场景的视图的附加的向外角度。
在一些实施方式中,相机装备1502包括被并排或背靠背布置使得其镜头各自指向径向向外方向以便观看周围场景或环境的不同部分的多个数字摄像机。在一些实施方式中,多个数字摄像机被布置成切向配置,其中,观看方向与圆形相机装备1502相切。例如,相机装备1502可以包括在与装备的基底相切地安排的同时被布置成使得其镜头各自指向径向向外方向的多个数字摄像机。数字摄像机可以是有指向性的以用于在不同方向上捕获内容从而观看周围场景的成不同角度的部分。
在一些实施方式中,相机在相机装备1502上被布置成立体像对。在这种配置中,每个立体像对中的每个第一相机与相机装备基底的圆形路径相切地布置(例如,放置)并且在向左方向上对准(例如,相机镜头指向向左方向)。每个立体像对中的每个第二相机与相机装备基底的圆形路径相切地布置(例如,放置)并且在向右方向上对准(例如,相机镜头指向向右方向)。
在相机装备1502上使用的相机的示例设置可以包括每秒约60帧的逐行扫描模式(即,对每条光栅线(而非如大多数摄像机的标准记录模式的每隔一条线)进行采样以产生视频的每个帧的模式)。另外,可以用相同的(或类似的)设置来配置所述相机中的每个相机。将每个相机配置成完全相同的(或类似的)设置可以提供在捕获之后可以以期望的方式将图像拼接起来的优点。示例设置可以包括将所述相机中的一个或多个相机设置成相同的缩放、焦点、曝光和快门速度,以及将所述相机设置成白平衡,其中关联了或关闭了稳定特征。
在一些实施方式中,相机装备1502可以在用于捕获一个或多个图像或视频之前被校准。例如,相机装备1502上的每个相机可以被校准和/或配置用于拍摄全景视频。例如,所述设置可以包括利用宽视场将装备配置成以大约360度的扫掠以特定旋转速度且在顺时针或逆时针方向上进行操作。在一些实施方式中,装备1502上的相机可以被配置为捕获例如场景周围的捕获路径的360度扫掠中的每度一个帧。在一些实施方式中,装备1502上的相机可以被配置为捕获例如场景周围的捕获路径的360度(或更小)扫掠中的每度多个帧。在一些实施方式中,装备1502上的相机可以被配置为在不必捕获针对每度特别测得的帧的情况下捕获例如围绕场景周围的捕获路径的扫掠的多个帧。
在一些实施方式中,相机可以被配置(例如,设置)为同时起作用以便在特定时间点捕获相机装备上的相机的视频。在一些实施方式中,相机可以被配置为同时起作用以便在时间段内捕获所述相机中的一个或多个相机的视频的特定部分。校准相机装备的另一个示例可以包括配置如何存储进入图像。例如,可以将进入图像存储为单独的帧或视频(例如,.avi文件、.mpg文件)并且可以将这些被存储的图像上传到互联网、另一个服务器或设备,或利用相机装备1502上的每个相机进行本地存储。在一些实施方式中,可以将进入图像存储为被编码的视频。
图像处理系统1506包括插值模块1514、捕获校正模块1516和拼接模块1518。例如,插值模块1514表示可以用于对数字图像和视频的一部分进行采样并且确定可能发生在从相机装备1502中捕获的相邻图像之间的多个插值的图像的算法。在一些实施方式中,插值模块1514可以被配置为确定相邻图像之间的插值的图像片段、图像部分、和/或竖直或水平图像条。在一些实施方式中,插值模块1514可以被配置为确定相邻图像的相关像素之间的流场(和/或流动矢量)。流场可以用于补偿图像经历的变换以及处理已经历变换的图像两者。例如,流场可以用于补偿所获得的图像的特定像素网格的变换。在一些实施方式中,插值模块1514可以通过对周围图像进行插值来生成不属于所捕获的图像的一部分的一个或多个图像,并且可以将生成的图像交织成捕获的图像从而生成场景的附加的虚拟现实内容。
捕获校正模块1516可以被配置为通过补偿非理想捕获设置来校正捕获的图像。通过非限制性示例的方式,示例捕获设置可以包括圆形相机轨迹、并行主(相机)轴线、垂直于相机轨迹的观看方向、与相机轨迹相切的观看方向和/或其他捕获条件。在一些实施方式中,捕获校正模块1516可以被配置为补偿图像捕获期间的非圆形相机轨迹和/或图像捕获期间的非并行主轴线中的一项或两项。
捕获校正模块1516可以被配置为调整特定的图像集合以补偿使用多个相机捕获的内容,其中,相机相隔大于约30度。例如,如果相机之间的距离为40度,则捕获校正模块1516可以通过收集来自附加相机的内容或通过对缺少的内容进行插值,基于过少的相机覆盖范围将特定场景中的任何缺少的内容考虑在内。
在一些实施方式中,捕获校正模块1516还可以被配置为调整图像集合以补偿由于相机姿态误差等等造成的相机失准。例如,如果相机姿态误差(例如,由于相机的取向和位置造成的误差)发生在图像捕获期间,则模块1516可以将来自多个图像帧的两行或更多行像素混合以便移除包括由于差的曝光(或从图像帧到图像帧的曝光变化)和/或由于一个或多个相机的失准而造成的虚像的虚像。拼接模块1518可以被配置为基于限定的、获得的和/或插值的图像生成3D立体图像。拼接模块1518可以被配置为混合/拼接来自多个图像部分的像素和/或图像条。例如,拼接可以是基于如由插值模块1514确定的流场。例如,拼接模块1518可以接收(从插值模块1514)不属于图像集合的一部分的插值的图像帧并且将所述图像帧交织到所述图像集合中。所述交织可以包括模块1518至少部分地基于插值模块1514所生成的光流将图像帧和图像集合拼接在一起。拼接组合可以用于生成全立体全景以用于在VR头戴显示器中显示。图像帧可以是基于从被布置在特定装备上的相机的多个立体像对收集到的捕获的视频流。这种装备可以包括具有约6个到约8个立体像对的相机。这种装备的其他组合可以包括例如12到16个非成对的相机。在一些实施方式中,所述装备可以包括一个或两个立体像对的相机。在一些实施方式中,所述装备可以包括如可以被并排座放在所述装备上那么多个立体像对的相机。在一些实施方式中,拼接模块1518可以使用与至少一个立体像对相关联的姿态信息以便在执行交织之前预先拼接图像集合的一部分。
在图像处理系统1506的一些实施方式中,拼接模块1518可以是可选部件。例如,当图像正无误地在360度内以准确的扫掠运动进行捕获时,可能不必将图像拼接在一起来获得场景的3D立体全景。
图像处理系统1506还包括投射模块1520和图像校正模块1522。投射模块1520可以被配置为通过将图像投射到平面的透视平面(planar perspective plane)中来生成3D立体图像。例如,投射模块1520可以获得特定图像集合的投影并且可以通过将所述图像中的一些图像从平面透视投影转换成球形(即,等矩形)透视投影对所述图像集合的一部分的再投影进行配置。所述转换包括投影建模技术。
投影建模可以包括限定投影中心和投影平面。在本公开中所描述的示例中,投影中心可以表示在预定义的xyz坐标系的原点(0,0,0)处的光学中心。可以将投影平面放置在投影中心前面,其中,相机正对着以便沿xyz坐标系中的z轴捕获图像。通常,投影可以使用从坐标(x,y,z)到投影中心的特定图像射线的平面的透视平面的交集计算得到。例如,投影的转换可以通过操纵使用矩阵计算的坐标系来进行。
对立体全景的投影建模通常包括使用并不具有单个投影中心的多视角图像。所述多视角通常被示出为圆形形状(例如,球形)(参见图13B)。当从一个坐标系转换到另一个坐标系时,渲染可以将球体用作近似表示。
通常,球形(即,等矩形)投影提供球体形状的平面,其中,球体的中心均等地围绕投影中心。透视投影提供了3D物体在平面的(例如,2D表面)透视平面上的图像的视图来接近用户的真实视觉感知。通常,可以在平坦的图像平面(例如,计算机监视器、移动设备LCD屏幕)上渲染图像,所以所述投影以平面视角示出以用于提供未畸变视图。然而,平面投影并不允许360度视场,所以捕获的图像(例如,视频)可以以等矩形(即,球形)视角存储并且可以在渲染时间被再投射到平面视角。
在特定的再投射完成之后,投射模块1520可以传输图像经过再投射的部分以用于在HMD中进行渲染。例如,投射模块1520可以提供再投射的一部分到HMD 1510中的左眼显示器以及再投射的一部分到HMD 1510中的右眼显示器。在一些实施方式中,投射模块1520可以被配置为通过从平面透视投影再投射成球形透视投影来计算和减少纵视差。
图像校正模块1522可以被配置为通过补偿包括但不限于透视畸变的畸变来生成3D立体图像。在一些实施方式中,图像校正模块1522可以确定维持3D立体图像的光流的特定距离,并且可以分割图像以示出维持这种流的场景的仅一部分。例如,图像校正模块1522可以确定3D立体图像的光流维持在距圆形相机装备1502的向外边缘在径向上约一米到例如距相机装备1502的向外边缘在径向上约五米之间。因此,图像校正模块1522可以确保选择一米与五米之间的样本在为HMD 1510的用户提供属于适当视差的适当3D立体效果的同时免于畸变的投影中用于在HMD 1510中进行渲染。
在一些实施方式中,图像校正模块1522可以通过调整特定图像来估算光流。所述调整可以包括例如纠正图像的一部分,确定与图像的所述部分相关联的估算出的相机姿态,以及确定在所述部分中图像之间的流。在非限制性示例中,图像校正模块1522可以补偿计算出流的两个特定图像之间的旋转差异。这一校正可以用于移除由于旋转差异造成的流动分量(即,旋转流)。这种校正产生了由于转化造成的流(例如,视差流),这在使所产生的图像准确且健壮的同时可以降低流估算计算的复杂度。在一些实施方式中,在渲染之前可以在图像上执行除图像校正以外的过程。例如,在实施渲染之前可以在图像上执行拼接、混合或附加的校正性过程。
在一些实施方式中,图像校正模块1522可以对由于利用并非是基于平面透视投影的相机几何结构所捕获的图像内容造成的投影畸变进行校正。例如,校正可以通过从多个不同的观看角度对图像进行插值并且通过调节与所述图像相关联的如源于公共原点的观看射线被应用到所述图像。插值的图像可以被交织成捕获的图像以产生以对人眼舒适的旋转视差水平准确显现到人眼的虚拟内容。
在示例系统1500中,设备1506、1508和1512可以是膝上型计算机、台式计算机、移动计算设备、或者游戏控制台。在一些实施方式中,设备1506、1508和1512可以是可被布置(例如,放置/处于)在HMD设备1510内的移动计算设备。移动计算设备可以包括例如可用作HMD设备1510的屏幕的显示设备。设备1506、1508和1512可以包括用于执行VR应用的硬件和/或软件。另外,设备1506、1508和1512可以包括当这些设备被放置在HMD设备1510前面或保持在相对于所述HMD设备的位置范围内时可以识别、监视和跟踪HMD设备1510的3D移动的硬件和/或软件。在一些实施方式中,设备1506、1508和1512可以通过网络1504为HMD设备1510提供附加内容。在一些实施方式中,设备1502、1506、1508、1510和1512可以被连接到通过网络1504连接的或彼此成对的设备中的一个或多个设备/与所述一个或多个设备接口连接。所述连接可以是有线的或无线的。网络1504可以是公共通信网络或专用通信网络。
系统1500可以包括电子存储设备。所述电子存储设备可以包括电子存储信息的非暂态存储介质。所述电子存储设备可以被配置为存储捕获的图像、获得的图像、经过预处理的图像、经过后处理的图像等。利用公开的相机装备中的任何装备捕获的图像可以被处理并被存储为一个或多个视频流,或被存储为单独的帧。在一些实施方式中,存储可以在捕获期间发生并且渲染可以直接在捕获的部分之后发生,以使得与捕获和处理不同时发生相比,能够更早更快地访问全景立体内容。
在图16A的示例中,视频编码器系统1600可以是或包括至少一个计算设备并且应当被理解为表示被配置为执行在此描述的方法的几乎任何计算设备。这样,视频编码器系统1600可以被理解为包括可以被用来实现在此描述的技术或其不同版本或未来版本的各个部件。通过示例的方式,视频编码器系统1600被展示为包括至少一个处理器1605以及至少一个存储器1610(例如,非暂态计算机可读存储介质)。
图16A展示了根据至少一个示例实施例的视频编码器系统。如在图16A中所示出的,视频编码器系统1600包括至少一个处理器1605、至少一个存储器1610、控制器1620以及视频编码器1625。所述至少一个处理器1605、所述至少一个存储器1610、所述控制器1620以及所述视频编码器1625经由总线1615通信地耦合。
如可以理解的,至少一个处理器1605可以被用来执行存储在至少一个存储器1610上的指令,以便由此实现在此描述的各个特征和功能或附加的或替代性特征和功能。当然,至少一个处理器1605和至少一个存储器1610可以用于各种其他目的。具体地,可以理解的是,至少一个处理器1610可以被理解为表示可以用于实现在此描述的模块中的任何一个模块的各种类型的存储器的示例以及相关硬件和软件。
至少一个存储器1610可以被配置为存储与视频编码器系统1600相关联的数据和/或信息。至少一个存储器1610可以是共享资源。例如,视频编码器系统1600可以是更大的系统(例如,服务器、个人计算机、移动设备等等)的元件。因此,至少一个存储器1610可以被配置为存储与所述更大的系统内的其他元件(例如,图像/视频服务、网络浏览或有线/无线通信)相关联的数据和/或信息。
控制器1620可以被配置为生成各种控制信号并且将所述控制信号传送到视频编码器系统1600中的各个块。控制器1620可以被配置为生成控制信号以实现下文中所描述的技术。根据示例实施例,控制器1620可以被配置为控制视频编码器1625对图像、图像序列、视频帧、视频序列等等进行编码。例如,控制器1620可以生成与视频质量相对应的控制信号。
视频编码器1625可以被配置为接收视频流输入5并且输出被压缩的(例如,被编码的)视频比特10。视频编码器1625可以将视频流输入5转换成离散的视频帧。视频流输入5还可以是图像,因此,被压缩的(例如,被编码的)视频比特10还可以是被压缩的图像比特。视频编码器1625可以进一步将每个离散的视频帧(或图像)转换成块的矩阵(以下称为块)。例如,视频帧(或图像)可以被转换成各自具有多个像素的块的16×16矩阵、16×8矩阵、8×8矩阵、4×4矩阵或2×2矩阵。尽管列出了五个示例矩阵,但是示例实施例并不局限于此。
被压缩的视频比特10可以表示视频编码器系统1600的输出。例如,被压缩的视频比特10可以表示被编码的视频帧(或被编码的图像)。例如,被压缩的视频比特10可以准备用于传输到接收设备(未示出)。例如,视频比特可以被传输到系统收发器(未示出)以用于传输到接收设备。
至少一个处理器1605可以被配置为执行与控制器1620和/或视频编码器1625相关联的计算机指令。至少一个处理器1605可以是共享资源。例如,视频编码器系统1600可以是更大的系统(例如,移动设备)的元件。因此,至少一个处理器1605可以被配置为执行与所述更大的系统的其他元件(例如,图像/视频服务、网络浏览或有线/无线通信)相关联的计算机指令。
在图16B的示例中,视频解码器系统1650可以是至少一个计算设备并且应当被理解为表示被配置为执行在此描述的方法的几乎任何计算设备。这样,视频解码器系统1650可以被理解为包括可以被用来实现在此描述的技术或其不同版本或未来版本的各个部件。通过示例的方式,视频解码器系统1650被展示为包括至少一个处理器1655以及至少一个存储器1660(例如,计算机可读存储介质)。
因此,如可以理解的,至少一个处理器1655可以被用来执行存储在至少一个存储器1660上的指令,以便由此实现在此描述的各个特征和功能或附加的或替代性特征和功能。当然,至少一个处理器1655和至少一个存储器1660可以用于各种其他目的。具体地,可以理解的是,至少一个处理器1660可以被理解为表示可以用于实现在此描述的模块中的任何一个模块的各种类型的存储器的示例以及相关硬件和软件。根据示例实施例,视频编码器系统1600和视频解码器1650可以包括在同一个更大的系统(例如,个人计算机、移动设备等等)中。
至少一个存储器1660可以被配置为存储与视频解码器系统1650相关联的数据和/或信息。至少一个存储器1660可以是共享资源。例如,视频解码器系统1650可以是更大的系统(例如,服务器、个人计算机、移动设备等等)的元件。因此,至少一个存储器1660可以被配置为存储与所述更大的系统内的其他元件(例如,网络浏览或无线通信)相关联的数据和/或信息。
控制器1670可以被配置为生成各种控制信号并且将所述控制信号传送到视频解码器系统1650中的各个块。控制器1670可以被配置为生成控制信号以实现下文中所描述的视频编码/解码技术。根据示例实施例,控制器1670可以被配置为控制视频解码器1675对视频帧进行解码。
视频解码器1675可以被配置为接收被压缩的(例如,被编码的)视频比特10输入并且输出视频流5。视频解码器1675可以将被压缩的视频比特10的离散的视频帧转换成视频流5。被压缩的(例如,被编码的)视频比特10还可以是被压缩的图像比特,因此,视频流5还可以是图像。
至少一个处理器1655可以被配置为执行与控制器1670和/或视频解码器1675相关联的计算机指令。至少一个处理器1655可以是共享资源。例如,视频解码器系统1650可以是更大的系统(例如,服务器、个人计算机、移动设备等等)的元件。因此,至少一个处理器1655可以被配置为执行与所述更大的系统的其他元件(例如,网络浏览或无线通信)相关联的计算机指令。
图17A和图17B分别展示了根据至少一个示例实施例的图16A中所示出的视频编码器1625的流程图以及图16B中所示出的视频解码器1675的流程图。视频编码器1625(下文中所描述的)包括球形到2D表示块1705、预测块1710、变换块1715、量化块1720、熵编码块1725、逆量化块1730、逆变换块1735、重新构建块1740、以及回路滤波器块1745。视频编码器1625的其他结构变化可以用于对输入的视频流5进行编码。如在图17A中所示出的,虚线表示多个块之间的重构路径并且实线表示多个块之间的正向路径。
上述块中的每个块可以作为存储在与视频编码器系统(例如,如在图16A中所示出的)相关联的存储器(例如,至少一个存储器1610)中的软件代码来执行,并且由与所述视频编码器系统相关联的至少一个处理器(例如,至少一个处理器1605)来执行。然而,设想替代性实施例,比如被具体化为专用处理器的视频编码器。例如,上述块中的每个块(单独地和/或组合地)可以是专用集成电路(或ASIC)。例如,ASIC可以被配置为变换块1715和/或量化块1720。
球形到2D表示块1705可以被配置为将球形帧或图像映射成球形帧或图像的2D表示。例如,图18展示了球体1800(例如,作为帧或图像)。球体1800(或其一部分)可以被映射到2D表面上。所述投影可以是例如等矩形的、半等矩形的或立方体的。
预测块1710可以被配置为利用视频帧相干性(例如,当与之前编码的像素相比时还未变化的像素)。预测可以包括两种类型。例如,预测可以包括帧内预测和帧间预测。帧内预测涉及预测图片的块与同一图片的相邻的之前被编码的块中的参考样本相关的像素值。在帧内预测中,根据同一帧内重新构建的像素来预测样本以用于减少由预测变换编解码器的变换(例如,变换块1715)和熵编码(例如,熵编码块1725)部分进行编码的残余误差。帧间预测涉及预测图片的块与之前被编码的图片的数据相关的像素值。
变换块1715可以被配置为将像素值从空间域转换到变换域中的变换系数。变换系数可以与通常与原始块的大小相同的系数的二维矩阵相对应。换句话说,可以存在与原始块中的像素一样多的变换系数。然而,由于变换,变换系数的一部分可以具有等于零的值。
变换块1715可以被配置为将残余系数(来自预测块1710)变换成在例如频率域中的变换系数。通常,变换包括卡南-洛维变换(Karhunen-Loève Transform)(KLT)、离散余弦变换(DCT)、奇异值分解变换(SVD)以及非对称离散正弦变换(ADST)。
量化块1720可以被配置为减少每个变换系数中的数据。量化可以涉及将相对较大范围内的值映射到相对较小范围内的值,由此减少表示量化的变换系数所需要的数据量。量化块1720可以将变换系数转换成被称为量化的变换系数或量化电平的离散的量化值。例如,量化块1720可以被配置用于将零点添加到与变换系数相关联的数据。例如,编码标准可以限定标量量化过程中的128个量化电平。
然后,量化的变换系数由熵编码块1725进行熵编码。然后,熵编码的系数连同对块进行解码所需要的信息(比如所使用的预测类型、运动矢量和量化器值)一起作为被压缩的视频比特10输出。被压缩的视频比特10可以使用各种技术(比如行程长度编码(RLE)技术以及零行程编码技术)进行格式化。
呈现图17A中的重构路径用于确保视频编码器1625和视频解码器1675(关于图17B在下文中所描述的)两者使用相同的参考帧对被压缩的视频比特10(或被压缩的图像比特)进行解码。重构路径执行在下文中更加详细地讨论的与在解码过程中发生的功能类似的功能,包括在逆量化块1730处对量化的变换系数进行逆量化以及在逆变换块1735处对逆量化的变换系数进行逆变换,从而产生衍生残余块(衍生残余)。在重新构建块1740处,在预测块1710处预测到的预测块可以添加到衍生残余以创建重新构建的块。然后,回路滤波器1745可以被应用到重新构建的块以减少畸变(比如块效应)。
关于图17A在上文中所描述的视频编码器1625包括所示出的块。然而,示例实施例并不局限于此。可以基于所使用的不同视频编码配置和/或技术来添加附加块。进一步地,关于图17A在上文中所描述的视频编码器1625中所示出的块中的每个块可以是基于所使用的不同视频编码配置和/或技术的可选块。
图17B是被配置用于对被压缩的视频比特10(或被压缩的图像比特)进行解码的解码器1675的示意性框图。与之前讨论的编码器1625的重构路径类似,解码器1675包括熵解码块1750、逆量化块1755、逆变换块1760、重新构建块1765、回路滤波器块1770、预测块1775、去块滤波器块1780以及2D表示到球形块1785。
被压缩的视频比特10内的数据元素可以由熵解码块1750进行解码(使用例如上下文自适应二进制算术解码)以产生量化的变换系数集。逆量化块1755对量化的变换系数进行去量化,并且逆变换块1760对去量化的变换系数进行逆变换(使用ADST)以产生可以与通过编码器1625中的重新构建阶段创建的衍生残余完全相同的衍生残余。
使用从被压缩的视频比特10解码的头部信息,解码器1675可以使用预测块1775来创建与编码器1625中创建的预测块相同的预测块。预测块可以被添加到衍生残余以通过重新构建块1765来创建重新构建的块。回路滤波器块1770可以被应用到重新构建的块以减少块效应。去块滤波器块1780可以被应用到重新构建的块以减少块畸变,并且所述结果可以作为视频流5输出。
2D表示到球形块1785可以被配置为将球形帧或图像的2D表示映射到球形帧或图像。例如,图18展示了球体1800(例如,作为帧或图像)。球体1800可能之前已经被投射到2D表面上。所述投影可以是例如等矩形的、半等矩形的或立方体的。将球形帧或图像的2D表示映射到球形帧或图像可以是之前的映射的逆映射。
关于图17B在上文中所描述的视频解码器1675包括所示出的块。然而,示例实施例并不局限于此。可以基于所使用的不同视频编码配置和/或技术来添加附加块。进一步地,关于图17B在上文中所描述的视频解码器1675中所示出的块中的每个块可以是基于所使用的不同视频编码配置和/或技术的可选块。
编码器1625和解码器可以分别被配置为对球形视频和/或图像进行编码和对球形视频和/或图像进行解码。球形图像是包括以球形组织的多个像素的图像。换句话说,球形图像是在所有方向上连续的图像。因此,球形图像的观看者可以在任何方向(例如,上、下、左、右或其任何组合)上进行重新定位(例如,移动其头部或眼睛)并且连续观看所述图像的一部分。
球形图像可以有视角。例如,球形图像可以是地球仪的图像。内部视角可以是从地球仪的中心向外观看。或者,内部视角可以是在地球仪上远望太空。外部视角可以是从太空向下观看地球仪。作为另一个示例,视角可以是基于可视的视角。换句话说,可视视角可以是可被观看者看见的视角。可视视角可以是在观看者前面的球形图像的一部分。例如,在从内部视角观看时,观看者可以躺在地(例如,地球)上并远望太空。观看者在图像中可以看见月亮、太阳或具体的星星。然而,尽管观看者躺着的地面包括在球形图像中,但是该地面是在当前可视视图外面。在此示例中,观看者可以转动其头部并且地面将会包括在外围可视视角中。观看者可以翻身并且地面将会在可视视角中,而月亮、太阳或星星将不在所述可视视角中。
从外部视角的可视视角可以是未被阻挡(例如,通过图像的另一部分)的球形图像的一部分和/或还未弯曲到视图之外的球形图像的一部分。球形图像的另一部分可以通过移动(例如,旋转)球形图像和/或通过球形图像的移动而从外部视角被纳入可视视角。因此,所述可视视角是在球形图像的观看者的可视范围内的球形图像的一部分。
球形图像是并不随时间变化的图像。例如,如涉及地球的从内部视角的球形图像可以在一个位置示出月亮和星星。但是,球形视频(或图像序列)可以随时间变化。例如,如涉及地球的从内部视角的球形视频可以示出月亮和星星的移动(例如,由于地球的旋转造成的)和/或飞机疾驰穿过图像(例如,天空)。
图18是球体的二维(2D)表示。如在图18中所示出的,球体1800(例如,作为球形图像)展示了内部视角1805、1810、外部视角1815以及可视视角1820、1825、1830的方向。可视视角1820可以是如从内部视角1810观看到的球形图像1835的一部分。可视视角1820可以是如从内部视角1805观看到的球体1800的一部分。可视视角1825可以是如从外部视角1815观看到的球体1800的一部分。
图19展示了根据至少一个示例实施例的系统1900。如在图19中所示出的,系统1900包括控制器1620、控制器1670、编码器1625、观看帧存储设备1930以及取向传感器1925。控制器1620进一步包括观看位置控制模块1905和瓦片选择模块1910。控制器1670进一步包括观看位置确定模块1915和瓦片请求模块1920。
根据示例实施方式,取向传感器1925检测观看者的眼睛(或头部)的取向(或取向变化),观看位置确定模块1915基于检测到的取向来确定视图、视角或观看视角,并且瓦片请求模块1920传送所述视图、视角或观看视角作为对瓦片或多个瓦片或视频流的请求的一部分。根据另一个示例实施方式,取向传感器1925基于如在显示器上被渲染的图像转动取向对取向(或取向变化)进行检测。例如,用户可以使用鼠标、跟踪板或手势(例如,在触敏显示器上)来选择、移动、拖拽、扩展等等如在显示器上被渲染的球形视频或图像的一部分。
对瓦片的请求可以与对球形视频的帧的请求一起或分开传送。对瓦片的请求可以一起传送或者与对球形视频的帧的请求分开传送。例如,对瓦片的请求可以是响应于改变的视图、视角或观看视角,从而产生了替代之前所请求的和/或所排队的瓦片的需求。
观看位置控制模块1905接收并处理对瓦片、多个瓦片和/或流的请求。例如,观看位置控制模块1905可以基于所述视图来确定帧以及所述瓦片或所述多个瓦片在所述帧中的位置。然后,观看位置控制模块1905可以指示瓦片选择模块1910选择瓦片、多个瓦片或流。选择瓦片、多个瓦片或流可以包括将参数传递到编码器1625。在对球形视频、流和/或瓦片进行编码期间可以使用所述参数。可替代地,选择瓦片或多个瓦片可以包括选择来自观看帧存储设备1930的瓦片或多个瓦片。然后,所选择的瓦片或多个瓦片可以被传递到编码器1625。在另一个示例实施方式中,选择瓦片或多个瓦片可以包括选择来自观看帧存储设备1930的瓦片、多个瓦片或流作为被预编码的(或经过预处理的)瓦片、多个瓦片或流。
因此,取向传感器1925可以被配置为检测观看者的眼睛(或头部)的取向(或取向变化)。例如,取向传感器1925可以包括用于检测移动的加速计以及用于检测取向的陀螺仪。可替代地或除此之外,取向传感器1925可以包括聚焦在观看者的眼睛或头部的相机或红外传感器以用于确定观看者的眼睛或头部的取向。可替代地或除此之外,取向传感器1925可以确定如在显示器上被渲染的球形视频或图像的一部分以便检测球形视频或图像的取向。取向传感器1925可以被配置为将取向和取向变化信息传送到观看位置确定模块1915。
观看位置确定模块1915可以被配置为确定关于球形视频的视图或透视图(例如,观看者当前正在看的球形视频的一部分)。视图、视角或观看视角可以被确定为球形视频上的位置、点或焦点。例如,所述视图可以是球形视频上的纬度和经度位置。视图、视角或观看视角可以基于球形视频被确定为立方体的侧面。所述视图(例如,纬度和经度位置或侧面)可以使用例如超文本传输协议(HTTP)传送到观看位置控制模块1905。
观看位置控制模块1905可以被配置为确定瓦片或多个瓦片在球形视频内的观看位置(例如,帧以及在所述帧内的位置)。例如,观看位置控制模块1905可以选择在观看位置、点或焦点(例如,纬度和经度位置或侧面)上居中的矩形。瓦片选择模块1910可以被配置为选择所述矩形作为瓦片或多个瓦片。瓦片选择模块1910可以被配置为指示(例如,经由参数或配置设置)编码器1625对选择的瓦片或多个瓦片进行编码和/或瓦片选择模块1910可以被配置为选择来自观看帧存储设备1930的瓦片或多个瓦片。
如将理解的,在图16A和图16B中所展示的系统1600和1650可以被实现为关于图20在下文中所描述的通用计算机设备2000和/或通用移动计算机设备2050的元素和/或延伸。可替代地或除此之外,在图16A和图16B中所展示的系统1600和1650可以在来自具有关于通用计算机设备2000和/或通用移动计算机设备2050在下文中所描述的特征中的一些或全部特征的通用计算机设备2000和/或通用移动计算机设备2050的单独系统中实现。
图20是可以用于实现在此描述的技术的计算机设备和移动计算机设备的示意性框图。图20是可以与在此描述的技术一起使用的通用计算机设备2000和通用移动计算机设备2050的示例。计算设备2000旨在表示各种形式的数字计算机,比如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其他适当的计算机。计算设备2050旨在表示各种形式的移动设备,比如个人数字助理、蜂窝电话、智能电话以及其他类似的计算设备。在此示出的部件、其连接和关系及其功能意图仅为示例性的,而并非意图限制本文献中所描述和/或所要求保护的本发明的实施方式。
计算设备2000包括处理器2002、存储器2004、存储设备2006、连接到存储器2004和高速扩展端口2010的高速接口2008、以及连接到低速总线2014和存储设备2006的低速接口2012。部件2002、2004、2006、2008、2010和2012中的每个部件使用各种总线进行互连,并且可以被安装在公共母板上或在适当时通过其他方式安装。处理器2002可以处理用于在计算设备2000内执行的指令,包括存储在存储器2004中或存储设备2006上、用于在外部输入/输出设备(比如耦接到高速接口2008的显示器2016)上显示关于GUI的图形信息的指令。在其他实施方式中,多个处理器和/或多条总线在适当时可以连同多个存储器和多种存储器一起使用。同样地,可以连接多个计算设备2000,其中,每个设备提供必需的操作的一部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器2004存储在计算设备2000内的信息。在一个实施方式中,存储器2004是一个或多个易失性存储器单元。在另一个实施方式中,存储器2004是一个或者多个非易失性存储器单元。存储器2004还可以是另一种形式的计算机可读介质,比如磁盘或光盘。
存储设备2006能够提供为计算设备2000的大容量存储。在一个实施方式中,存储设备2006可以是或者包含计算机可读介质,比如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备、或者包括在存储区域网络或其他配置中的设备的设备阵列。计算机程序产品可以有形地被具体化在信息载体中。计算机程序产品还可以包含当被执行时执行一种或多种方法(比如上文中所描述的那些方法)的指令。信息载体是计算机或机器可读介质,比如存储器2004、存储设备2006或在处理器2002上的存储器。
高速控制器2008管理计算设备2000的带宽密集型操作,而低速控制器2012管理更低的带宽密集型操作。这种功能分配仅仅是示例性的。在一个实施方式中,高速控制器2008(例如,通过图形处理器或加速器)被耦合到存储器2004、显示器2016,以及到可以接受各种扩展卡(未示出)的高速扩展端口2010。在所述实施方式中,低速控制器2012被耦合到存储设备2006和低速扩展端口2014。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器被耦合到一个或多个输入/输出设备(比如键盘、指向设备、扫描仪)或联网设备(比如交换机或路由器)。
计算设备2000可以用如在附图中所示出的多种不同形式来实现。例如,其可以被实现为标准服务器2020,或多次被实现在一组这样的服务器中。其还可以被实现为机架服务器系统2024的一部分。另外,其可以被实现在个人计算机(比如膝上型计算机2022)中。可替代地,来自计算设备2000的部件可以与移动设备(未示出)(比如设备2050)中的其他部件组合。这种设备中的每个设备可以包含计算设备2000、2050中的一个或者多个计算设备,并且整个系统可以由与彼此通信的多个计算设备2000、2050组成。
除其他部件之外,计算设备2050包括处理器2052、存储器2064、输入/输出设备(比如显示器2054)、通信接口2066、以及收发器2068。设备2050还可以配备有用于提供附加存储的存储设备,比如微型驱动器或其他设备。部件2050、2052、2064、2054、2066和2068中的每个部件使用各种总线进行互连,并且所述部件中的多个部件可以被安装在共同母板上或在适当时通过其他方式安装。
处理器2052可以执行计算设备2050内的指令,所述指令包括存储在存储器2064中的指令。所述处理器可以被实现为包括单独的以及多个模拟和数字处理器的芯片的芯片组。所述处理器可以提供例如设备2050的其他部件的协调,比如用户接口的控制、由设备2050运行的应用、以及设备2050进行的无线通信。
处理器2052可以通过控制接口2058和耦合到显示器2054的显示接口2058来与用户通信。显示器2054可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示器接口2056可以包括用于驱动显示器2054向用户呈现图形和其他信息的适当的电路系统。控制接口2058可以接收来自用户的命令并且转换所述命令以提交给处理器2052。另外,可以提供与处理器2052通信的外部接口2062,以便使能设备2050与其他设备的近区域通信。外部接口2062可以例如在一些实现方式中提供有线通信或者在其他实现方式中提供无线通信,并且也可以使用多个接口。
存储器2064存储计算设备2050内的信息。存储器2064可以被实现为一个或多个计算机可读介质、一个或者多个易失性存储器单元、或者一个或者多个非易失性存储器单元中的一项或者多项。还可以提供扩展存储器2074并且通过可以包括例如SIMM(单列直插式存储器模块)卡接口的扩展接口2072将所述扩展存储器连接到设备2050。这种扩展存储器2074可以为设备2050提供额外的存储空间,或者还可以为设备2050存储应用或其他信息。具体地,扩展存储器2074可以包括用于实施或补充上文中所描述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器2074可以被提供作为设备2050的安全模块,并且可以利用允许安全使用设备2050的指令进行编程。另外,安全应用可以与附加信息一起经由SIMM卡提供,比如通过不可破解的方式将标识信息置于SIMM卡中。
存储器可以包括闪速存储器和/或NVRAM存储器,如下文中所讨论的。在一个实施方式中,计算机程序产品被有形地具体化在信息载体中。计算机程序产品包含当被执行时执行一种或多种方法(例如以上所述的那些方法)的指令。信息载体是计算机或机器可读介质,比如存储器2064、扩展存储器2074、或者可以例如通过收发器2068或外部接口2062接收的在处理器2052上的存储器。
设备2050可以通过在必要时可以包括数字信号处理电路系统的通信接口2066无线地通信。通信接口2066可以在除其他模式或协议之外的各种模式或协议(比如GSM语音呼叫、SMS、EMS或MMS消息传送、CDMA、TDMA、PDC、WCDMA、CDMA2000、或者GPRS)下提供通信。这种通信可以例如通过射频收发器2068发生。另外,短程通信可以比如使用蓝牙、WiFi或其他此类收发器(未示出)发生。另外,GPS(全球定位系统)接收器模块2070可以为设备2050提供附加的与导航及定位相关的无线数据,所述无线数据可以在适当时由在设备2050上运行的应用来使用。
设备2050还可以使用音频编码解码器2060来可听地通信,所述音频编码解码器可以接收来自用户的口头信息并且将其转换成可用的数字信息。音频编码解码器2060同样可以比如通过例如在设备2050的听筒中的扬声器为用户生成可听声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括在设备2050上运行的应用所生成的声音。
计算设备2050可以用如在附图中所示出的多种不同形式来实现。例如,其可以被实现为蜂窝电话2080。其还可以被实现为智能电话2082、个人数字助理或其他类似移动设备的一部分。
以上示例实施例中的一些示例实施例被描述为如流程图所描绘的过程或方法。尽管流程图将操作描述为顺序过程,但是所述操作中的多个操作可以并行地、并发地或同时执行。另外,可以重新安排操作的顺序。当所述过程的操作完成时,所述过程被终止,但还可以具有未包括在附图中的附加步骤。所述过程可以与方法、功能、程序、子例程、子程序等相对应。
上文中所讨论的方法可以由硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实施,所述方法中的一些方法通过流程图来展示。当在软件、固件、中间件或微码中实施时,用于执行必要任务的程序代码或代码段可以存储在机器或计算机可读介质(比如存储介质)中。(多个)处理器可以执行必要任务。
在此公开的具体的结构和功能细节仅为代表性的以用于描述示例实施例。然而,示例实施例可以被具体化为多个交替形式并且不应当被解释为仅局限于在此阐述的实施例。
将理解的是,尽管在此使用术语第一、第二等来描述各个元件,但是这些元件不应被这些术语限制。这些术语仅用于区分一个元件与另一个元件。例如,在不偏离示例实施例的范围的情况下,第一元件可以被称作第二元件,并且类似地,第二元件可以被称作第一元件。如在此使用的,术语“和/或”包括相关联的所列项目中的一项或多项的任意和所有组合。
将理解的是,当元件被称为“连接”或“耦合”到另一个元件时,其可以直接连接或耦合到另一个元件或者可以存在中介元件。相比之下,当元件被称为“直接连接”或“直接耦合”到另一个元件时,不存在中介元件。用于描述元件之间的关系的其他词语应该以类似的方式进行解释(例如,“之间”与“直接之间”,“相邻”与“直接相邻”等)。
在此使用的术语只是出于描述特定实施例的目的并且不旨在限制示例实施例。如在此使用的,除非上下文另外明确指示,否则单数形式“一个(a)”、“一个(an)”和“所述(the)”旨在同样包括复数形式。将进一步理解的是,当在此使用时,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(includes)”规定存在声明的特征、整数、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组。
还应当注意的是,在某些替代性实施方式中,所指出的功能/行为可以不按照附图中所指出的顺序发生。例如,根据所涉及的功能/行为,连续示出的两个附图实际上可以并发地执行或者有时可以以相反的顺序执行。
除非另有限定,否则在此使用的所有术语(包括技术和科学术语)具有与示例实施例所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解的是,术语(例如,在常用词典中定义的那些术语)应该被解释为具有与其在相关技术的上下文中一致的含义,并且将不会在理想化或过于正式的意义下被解释,除非在此明确地这样限定。
以上示例实施例的一部分以及相应的详细描述按照软件或计算机存储器内对数据比特上的运算的算法和符号表示来呈现。这些描述和表示是本领域普通技术人员将其工作实质有效地转达给本领域其他普通技术人员所使用的方式。如术语在此被使用的且如其通常被使用的,算法被设想为是导致了期望的结果的前后一致的步骤序列。所述步骤是需要对物理量进行物理操纵的那些步骤。通常,虽然不是必需的,但是这些量采取能够被存储、传输、组合、比较并以其他方式被操纵的光学信号、电信号或磁信号的形式。已经证明有时(主要出于通用的原因)将这些信号称作比特、数值、元素、符号、字符、术语、数字等等是便利的。
在以上说明性实施例中,对可以被实现为程序模块或功能程序的操作(例如,以流程图的形式)的动作和符号表示的引用包括执行特定任务或实现特定抽象数据类型并且可使用现有结构元件处的现有硬件来描述和/或实现的例程、程序、对象、部件、数据结构等。这种现有硬件可以包括一个或多个中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路、现场可编程门阵列(FPGA)、计算机等等。
然而,应当记住的是,所有这些以及类似术语将与适当的物理量相关联并且只是应用于这些量的方便标签。除非具体另外声明,否则,如根据此讨论可明白的,比如“处理”或“计算”或“算出”或“确定”或“显示”等等的术语指代计算机系统(或类似电子计算设备)的动作和过程,所述计算机系统操纵在计算机系统的寄存器和存储器内被表示为物理量、电子量的数据并且将所述数据变换成在计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内类似地被表示为物理量的其他数据。
还应当注意的是,示例实施例的软件实现的方面通常在某种形式的非暂态程序存储介质上被编码或通过某种类型的传输介质来实现。程序存储介质可以是磁性的(例如,软盘或硬盘驱动器)或光学的(例如,压缩盘只读存储器或CD ROM),并且可以是只读的或随机存取的。类似地,传输介质可以是双绞线、同轴电缆、光纤或本领域已知的某种其它合适的传输介质。示例实施例并不被任何给出的实施方式的这些方面所限制。
最后,还应当注意的是,在所附权利要求书陈述在此描述的特征的特定组合的同时,本公开的范围并不限于此后所要求保护的特定组合,而是相反地延伸至包含在此公开的特征或实施例的任何组合,而不管所述特定组合此时是否已被具体地列举在所附权利要求书中。
Claims (19)
1.一种流传输方法,包括:
在回放设备接收第一视频流,所述第一视频流具有第一质量;
在所述回放设备接收至少两个第二视频流,所述至少两个第二视频流各自与所述第一视频流的一部分相对应,所述至少两个第二视频流具有第二质量,所述第二质量与所述第一质量相比是更高的质量,其中所述第一视频流的该部分的大小基于回放设备的用户的头部和/或眼睛的运动的量来调整,其中所述运动的量包括取向、取向变化、速度和频率中的至少之一;
在所述回放设备回放所述第一视频流;
基于所述回放设备的用户的观看视角从所述至少两个第二视频流中选择第三视频流;以及
在所述回放设备回放所述第三视频流连同所述第一视频流。
2.如权利要求1所述的方法,进一步包括:
确定所述回放设备的所述用户的观看视角已经改变;
基于改变的观看视角从所述至少两个第二视频流中选择第四视频流;以及
在所述回放设备回放所述第四视频流连同所述第一视频流。
3.如权利要求1所述的方法,其中:
所述第一质量是基于比特率和分辨率,
所述比特率是基于最小通信信道能力,并且
所述分辨率是基于与所述回放设备相关联的最小像素密度。
4.如权利要求1所述的方法,进一步包括:
缓冲所述第一视频流,其中,在所述回放设备回放所述第三视频流连同所述第一视频流包括:
用所述第三视频流替代所述第一视频流的相应部分,
在所述回放设备上渲染所述替代的结果,
确定所述第三视频流存在问题,以及
在确定所述第三视频流存在问题时,在所述回放设备上渲染被缓冲的第一视频流。
5.如权利要求1所述的方法,其中:
所述回放设备是头戴显示器HMD,并且
在所述回放设备回放所述第三视频流连同所述第一视频流包括:
在HMD的左眼显示器或右眼显示器中的一个显示器上渲染所述第一视频流,以及
在所述HMD的所述左眼显示器或所述右眼显示器中的另一个显示器上渲染所述第三视频流。
6.如权利要求1所述的方法,其中,所述至少两个第二视频流具有在不同时间戳被编码的相关联的关键帧。
7.如权利要求1所述的方法,进一步包括:
确定所述至少两个第二视频流中的每个视频流是否在所述回放设备的可视阈值内;
在确定所述至少两个第二视频流在所述回放设备的所述可视阈值内时,对所述至少两个第二视频流进行解码;以及
在确定所述至少两个第二视频流不在所述回放设备的所述可视阈值内时,跳过对所述至少两个第二视频流进行解码。
8.一种流传输方法,包括:
接收与回放设备相关联的用户的头部和/或眼睛的运动的量的指示,其中所述运动的量包括取向、取向变化、速度和频率中的至少之一;
以第一质量对视频的帧进行编码;
以第二质量对所述视频的所述帧的至少两部分进行编码,所述第二质量与所述第一质量相比是更高的质量,其中与所述视频的所述帧的所述至少两部分相关联的大小基于所述运动的量来调整;
存储所述视频的所述帧;以及
存储所述视频的所述帧的所述至少两部分。
9.如权利要求8所述的方法,进一步包括:
流传输所述视频的所述帧;以及
流传输所述视频的所述帧的所述至少两部分。
10.如权利要求8所述的方法,其中,以所述第二质量对所述视频的所述帧的所述至少两部分进行编码包括使用具有不同时间戳的关键帧对所述视频的所述帧的所述至少两部分中的每个部分进行编码。
11.如权利要求8所述的方法,进一步包括:
接收流传输视频的请求;
使用所述视频的所述帧和所述视频的所述帧的所述至少两部分中的一个部分来构建帧;以及
流传输所构建的帧。
12.如权利要求8所述的方法,其中:
所述视频的所述帧与球形视频相关联,
对所述视频的所述帧进行编码包括:
将所述视频的所述帧投射成立方体图,以及
使用等角采样算法对所述立方体图进行编码。
13.如权利要求8所述的方法,其中,所述视频的所述帧与球形视频相关联,所述方法进一步包括:
将所述视频的所述帧投射成立方体图,以及
选择所述立方体图的立方体面,其中
对所述视频的所述帧进行编码包括以所述第一质量对所述立方体面进行编码,并且
对所述视频的所述帧的所述至少两部分进行编码包括以所述第二质量对所述立方体面的至少两部分进行编码。
14.如权利要求8所述的方法,进一步包括:
流传输所述视频的所述帧;
流传输所述视频的所述帧的所述至少两部分;
接收在回放设备上的回放已暂停的指示;
以所述第二质量对所述视频的所述帧进行编码;以及
流传输以所述第二质量被编码的所述视频的所述帧。
15.如权利要求8所述的方法,其中,所述第一质量是基于以下各项中的至少一项:低帧速率高分辨率流、单声道流、减少颜色的流、以及黑白流。
16.如权利要求8所述的方法,进一步包括:
将所述视频的所述帧流传输成多个被编码的帧;以及
在流传输所述视频期间丢弃所述多个被编码的帧中的至少一个帧以实现第三质量。
17.一种流传输式服务器,包括:
编码器,所述编码器被配置为:
以第一质量对视频的帧进行编码,以及
以第二质量对所述视频的所述帧的至少两部分进行编码,所述第二质量与所述第一质量相比是更高的质量,其中与所述视频的所述帧的所述至少两部分相关联的大小基于与所述流传输式服务器要将视频流传输到的回放设备相关联的用户的头部和/或眼睛的运动的量的指示来调整,其中所述运动的量包括取向、取向变化、速度和频率中的至少之一;
存储器,所述存储器被配置为:
存储所述视频的所述帧,以及
存储所述视频的所述帧的所述至少两部分;以及
控制器,所述控制器被配置为:
流传输包括所述被编码的帧以及所述视频的所述帧的被编码的至少两部分中的一个或多个部分的视频。
18.如权利要求17所述的流传输式服务器,其中,以所述第二质量对所述视频的所述帧的所述至少两部分进行编码包括使用具有不同时间戳的关键帧对所述视频的所述帧的所述至少两部分中的每个部分进行编码。
19.如权利要求17所述的流传输式服务器,其中,所述视频的所述帧与球形视频相关联,所述编码器进一步被配置为:
将所述视频的所述帧投射成立方体图,以及
选择所述立方体图的立方体面,其中
对所述视频的所述帧进行编码包括以所述第一质量对所述立方体面进行编码,并且
对所述视频的所述帧的所述至少两部分进行编码包括以所述第二质量对所述立方体面的至少两部分进行编码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562167260P | 2015-05-27 | 2015-05-27 | |
US62/167,260 | 2015-05-27 | ||
PCT/US2016/034684 WO2016191694A1 (en) | 2015-05-27 | 2016-05-27 | Streaming spherical video |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107439010A CN107439010A (zh) | 2017-12-05 |
CN107439010B true CN107439010B (zh) | 2022-01-04 |
Family
ID=56121202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680020051.8A Active CN107439010B (zh) | 2015-05-27 | 2016-05-27 | 流传输球形视频 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10880346B2 (zh) |
EP (1) | EP3304487A1 (zh) |
JP (1) | JP6501904B2 (zh) |
KR (1) | KR102013403B1 (zh) |
CN (1) | CN107439010B (zh) |
DE (1) | DE112016002377T5 (zh) |
WO (1) | WO2016191694A1 (zh) |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204658B2 (en) | 2014-07-14 | 2019-02-12 | Sony Interactive Entertainment Inc. | System and method for use in playing back panorama video content |
US10652603B2 (en) | 2015-07-09 | 2020-05-12 | Triton Us Vp Acquision Co. | Transitioning between broadcast and unicast streams |
US10096130B2 (en) * | 2015-09-22 | 2018-10-09 | Facebook, Inc. | Systems and methods for content streaming |
US9858706B2 (en) * | 2015-09-22 | 2018-01-02 | Facebook, Inc. | Systems and methods for content streaming |
US9652896B1 (en) | 2015-10-30 | 2017-05-16 | Snap Inc. | Image based tracking in augmented reality systems |
US9767363B2 (en) | 2015-10-30 | 2017-09-19 | Google Inc. | System and method for automatic detection of spherical video content |
US9984499B1 (en) | 2015-11-30 | 2018-05-29 | Snap Inc. | Image and point cloud based tracking and in augmented reality systems |
US10593028B2 (en) * | 2015-12-03 | 2020-03-17 | Samsung Electronics Co., Ltd. | Method and apparatus for view-dependent tone mapping of virtual reality images |
EP3440843A4 (en) | 2016-04-08 | 2019-08-28 | Visbit Inc. | VIEWED 360 Degree VIDEO STREAMING |
US10602191B2 (en) | 2016-05-13 | 2020-03-24 | Gopro, Inc. | Apparatus and methods for video compression |
US10848668B2 (en) | 2016-05-19 | 2020-11-24 | Avago Technologies International Sales Pte. Limited | 360 degree video recording and playback with object tracking |
US11019257B2 (en) | 2016-05-19 | 2021-05-25 | Avago Technologies International Sales Pte. Limited | 360 degree video capture and playback |
US10681326B2 (en) * | 2016-05-19 | 2020-06-09 | AVAGO TECHNOLOGlES INTERNATIONAL SALES PTE. LIMITED | 360 degree video system with coordinate compression |
US10432855B1 (en) * | 2016-05-20 | 2019-10-01 | Gopro, Inc. | Systems and methods for determining key frame moments to construct spherical images |
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 |
US11089280B2 (en) | 2016-06-30 | 2021-08-10 | Sony Interactive Entertainment Inc. | Apparatus and method for capturing and displaying segmented content |
US11006135B2 (en) * | 2016-08-05 | 2021-05-11 | Sony Corporation | Image processing apparatus and image processing method |
EP3510744B1 (en) | 2016-09-09 | 2022-05-04 | Vid Scale, Inc. | Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming |
KR102545195B1 (ko) * | 2016-09-12 | 2023-06-19 | 삼성전자주식회사 | 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치 |
KR102598082B1 (ko) * | 2016-10-28 | 2023-11-03 | 삼성전자주식회사 | 영상 표시 장치, 모바일 장치 및 그 동작방법 |
CN108156363A (zh) * | 2016-12-05 | 2018-06-12 | 贝马体育科技有限公司 | 360度视频播放器及方法 |
US10509965B2 (en) * | 2016-12-15 | 2019-12-17 | Google Llc | Methods, systems, and media for detecting two-dimensional videos placed on a sphere in abusive spherical video content by tiling the sphere |
US10999602B2 (en) * | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
EP3571845B1 (en) | 2017-01-20 | 2021-06-30 | PCMS Holdings, Inc. | Field-of-view prediction method based on contextual information for 360-degree vr video |
US10623735B2 (en) | 2017-01-21 | 2020-04-14 | OrbViu Inc. | Method and system for layer based view optimization encoding of 360-degree video |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10319149B1 (en) | 2017-02-17 | 2019-06-11 | Snap Inc. | Augmented reality anamorphosis system |
US10074381B1 (en) | 2017-02-20 | 2018-09-11 | Snap Inc. | Augmented reality speech balloon system |
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 | 阿里巴巴集团控股有限公司 | 图像的映射、处理方法、装置和机器可读介质 |
US10671852B1 (en) | 2017-03-01 | 2020-06-02 | Matroid, Inc. | Machine learning in video classification |
US11004173B2 (en) * | 2017-03-13 | 2021-05-11 | Mediatek Inc. | Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout |
US11057643B2 (en) | 2017-03-13 | 2021-07-06 | Mediatek Inc. | Method and apparatus for generating and encoding projection-based frame that includes at least one padding region and at least one projection face packed in 360-degree virtual reality projection layout |
US11184599B2 (en) | 2017-03-15 | 2021-11-23 | Pcms Holdings, Inc. | Enabling motion parallax with multilayer 360-degree video |
US10887600B2 (en) * | 2017-03-17 | 2021-01-05 | Samsung Electronics Co., Ltd. | Method and apparatus for packaging and streaming of virtual reality (VR) media content |
US11166072B2 (en) * | 2017-03-23 | 2021-11-02 | Vid Scale, Inc. | Metrics and messages to improve experience for 360-degree adaptive streaming |
CN110520903B (zh) * | 2017-03-28 | 2023-11-28 | 三星电子株式会社 | 基于用户移动信息显示图像的方法和装置 |
US10979663B2 (en) | 2017-03-30 | 2021-04-13 | Yerba Buena Vr, Inc. | Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos |
US10819907B2 (en) | 2017-03-30 | 2020-10-27 | Mediatek Inc. | Method and apparatus for signaling spherical region information in ISOBMFF |
CN110506291B (zh) | 2017-04-05 | 2021-05-14 | 联发科技股份有限公司 | 一种视频处理方法和装置 |
US10387730B1 (en) | 2017-04-20 | 2019-08-20 | Snap Inc. | Augmented reality typography personalization system |
CN108810636B (zh) * | 2017-04-28 | 2020-04-14 | 华为技术有限公司 | 视频播放方法、虚拟现实设备、服务器、系统及存储介质 |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
US10873775B2 (en) * | 2017-06-12 | 2020-12-22 | Netflix, Inc. | Staggered key frame video encoding |
US10754242B2 (en) | 2017-06-30 | 2020-08-25 | Apple Inc. | Adaptive resolution and projection format in multi-direction video |
DE112018002432T5 (de) | 2017-08-18 | 2020-01-23 | Mediatek Inc. | Verfahren und Vorrichtung zum Reduzieren von Artefakten in einem projektionsbasierten Rahmen |
US10740974B1 (en) | 2017-09-15 | 2020-08-11 | Snap Inc. | Augmented reality system |
WO2019073113A1 (en) * | 2017-10-09 | 2019-04-18 | Nokia Technologies Oy | APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING |
EP3470974A1 (en) * | 2017-10-10 | 2019-04-17 | Thomson Licensing | Selection of animated viewing angle in an immersive virtual environment |
CN109698949B (zh) * | 2017-10-20 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 基于虚拟现实场景的视频处理方法、装置和系统 |
EP3493552A1 (en) * | 2017-11-30 | 2019-06-05 | Thomson Licensing | Method for managing a streaming processing of a multimedia video spatially tiled stored on a network equipment, and corresponding terminal |
KR101981868B1 (ko) * | 2017-12-12 | 2019-08-28 | 가천대학교 산학협력단 | 가상 현실 비디오 품질 제어 |
US10554953B2 (en) * | 2017-12-17 | 2020-02-04 | Google Llc | Distortion of video for seek in 360 degree video |
CN108366249A (zh) * | 2018-01-17 | 2018-08-03 | 安徽中骄智能科技有限公司 | 一种基于wifi模块的虚拟现实vr数据快速处理系统 |
CN111742530B (zh) | 2018-02-22 | 2022-07-19 | 索尼公司 | 流传输数据的方法、提供网络辅助的方法以及用户设备 |
CN108520492B (zh) * | 2018-03-16 | 2022-04-26 | 中国传媒大学 | 全景视频映射方法及系统 |
EP3769539A1 (en) | 2018-03-22 | 2021-01-27 | Vid Scale, Inc. | Viewport dependent video streaming events |
US10812828B2 (en) | 2018-04-10 | 2020-10-20 | At&T Intellectual Property I, L.P. | System and method for segmenting immersive video |
US11153482B2 (en) * | 2018-04-27 | 2021-10-19 | Cubic Corporation | Optimizing the content of a digital omnidirectional image |
WO2019226632A1 (en) | 2018-05-21 | 2019-11-28 | Google Llc | Methods, systems, and media for detecting two-dimensional videos placed on a sphere in abusive spherical video content |
US10666863B2 (en) * | 2018-05-25 | 2020-05-26 | Microsoft Technology Licensing, Llc | Adaptive panoramic video streaming using overlapping partitioned sections |
US10764494B2 (en) | 2018-05-25 | 2020-09-01 | Microsoft Technology Licensing, Llc | Adaptive panoramic video streaming using composite pictures |
US11917127B2 (en) | 2018-05-25 | 2024-02-27 | Interdigital Madison Patent Holdings, Sas | Monitoring of video streaming events |
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 |
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 |
US11695978B2 (en) * | 2018-07-05 | 2023-07-04 | Mux, Inc. | Methods for generating video-and audience-specific encoding ladders with audio and video just-in-time transcoding |
US10708494B2 (en) | 2018-08-13 | 2020-07-07 | At&T Intellectual Property I, L.P. | Methods, systems and devices for adjusting panoramic video content |
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 |
CN109089097A (zh) * | 2018-08-28 | 2018-12-25 | 恒信东方文化股份有限公司 | 一种基于vr图像处理的焦点对象选取方法 |
US11032590B2 (en) | 2018-08-31 | 2021-06-08 | At&T Intellectual Property I, L.P. | Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server |
US10997760B2 (en) | 2018-08-31 | 2021-05-04 | Snap Inc. | Augmented reality anthropomorphization system |
US10999583B2 (en) * | 2018-09-14 | 2021-05-04 | Apple Inc. | Scalability of multi-directional video streaming |
CN110956583B (zh) * | 2018-09-26 | 2022-05-10 | 华为技术有限公司 | 球面图像处理方法、装置及服务器 |
US11184461B2 (en) | 2018-10-23 | 2021-11-23 | At&T Intellectual Property I, L.P. | VR video transmission with layered video by re-using existing network infrastructures |
CN109413448A (zh) * | 2018-11-05 | 2019-03-01 | 中山大学 | 基于深度强化学习的移动设备全景视频播放系统 |
US10638165B1 (en) * | 2018-11-08 | 2020-04-28 | At&T Intellectual Property I, L.P. | Adaptive field of view prediction |
JP6688367B1 (ja) * | 2018-11-12 | 2020-04-28 | Nttテクノクロス株式会社 | 動画配信装置、端末、動画配信システム、動画配信方法、及びプログラム |
US10939139B2 (en) | 2018-11-29 | 2021-03-02 | Apple Inc. | Adaptive coding and streaming of multi-directional video |
CN109712222B (zh) * | 2018-12-29 | 2023-12-19 | 超级魔方(北京)科技有限公司 | 一种图像处理方法及装置 |
KR102174795B1 (ko) * | 2019-01-31 | 2020-11-05 | 주식회사 알파서클 | 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치 |
KR102174794B1 (ko) * | 2019-01-31 | 2020-11-05 | 주식회사 알파서클 | 복수의 분할영상 중 재생되는 영상의 전환시점을 제어하는 가상현실 분할영상 전환방법 및 가상현실 영상재생장치 |
US11972529B2 (en) | 2019-02-01 | 2024-04-30 | Snap Inc. | Augmented reality system |
CN111935557B (zh) * | 2019-05-13 | 2022-06-28 | 华为技术有限公司 | 视频处理方法、装置及系统 |
US11956295B2 (en) | 2019-09-27 | 2024-04-09 | Apple Inc. | Client-end enhanced view prediction for multi-view video streaming exploiting pre-fetched data and side information |
WO2021107934A1 (en) * | 2019-11-26 | 2021-06-03 | Hewlett-Packard Development Company, L.P. | Increase image quality in video streaming sessions |
KR102295264B1 (ko) * | 2019-11-28 | 2021-08-30 | 주식회사 알파서클 | 하나의 스트리밍영상을 이용하여 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 방법 |
US11284141B2 (en) | 2019-12-18 | 2022-03-22 | Yerba Buena Vr, Inc. | Methods and apparatuses for producing and consuming synchronized, immersive interactive video-centric experiences |
KR20210107409A (ko) | 2020-02-24 | 2021-09-01 | 삼성전자주식회사 | 엣지 컴퓨팅 서비스를 이용한 영상 컨텐츠 전송 방법 및 장치 |
US11736455B1 (en) * | 2020-07-01 | 2023-08-22 | Amazon Technologies, Inc. | Techniques for performing video-based verification |
CN112804511B (zh) * | 2021-01-04 | 2022-04-01 | 烽火通信科技股份有限公司 | 一种动态渲染全景视频的方法和装置 |
CN115955580B (zh) * | 2023-03-14 | 2023-06-06 | 江西财经大学 | 基于可伸缩编码的全景视频边缘缓存方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020130875A1 (en) * | 1999-11-29 | 2002-09-19 | Blackham Geoffrey Howard | Image display apparatus |
US7330875B1 (en) * | 1999-06-15 | 2008-02-12 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
US20080201748A1 (en) * | 2006-02-27 | 2008-08-21 | Hasek Charles A | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
US20090232202A1 (en) * | 2004-12-10 | 2009-09-17 | Koninklijke Philips Electronics, N.V. | Wireless video streaming using single layer coding and prioritized streaming |
CN101682738A (zh) * | 2007-05-23 | 2010-03-24 | 日本电气株式会社 | 视频流送系统、代码转换装置和视频流送方法 |
CN103487937A (zh) * | 2012-06-13 | 2014-01-01 | 索尼公司 | 头戴式视频显示装置 |
CN103608716A (zh) * | 2011-06-17 | 2014-02-26 | 微软公司 | 体视频呈现 |
US20140204087A1 (en) * | 2013-01-18 | 2014-07-24 | Pixar | Photon beam diffusion |
US20140232814A1 (en) * | 2013-02-21 | 2014-08-21 | Avaya Inc. | System and method for managing a presentation |
CN104125501A (zh) * | 2013-04-25 | 2014-10-29 | 美国博通公司 | 用于处理视频数据的系统和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577981A (en) * | 1994-01-19 | 1996-11-26 | Jarvik; Robert | Virtual reality exercise machine and computer controlled video system |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US7428000B2 (en) * | 2003-06-26 | 2008-09-23 | Microsoft Corp. | System and method for distributed meetings |
KR100596705B1 (ko) * | 2004-03-04 | 2006-07-04 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 |
US20060095398A1 (en) * | 2004-11-04 | 2006-05-04 | Vasudev Bhaskaran | Automatic defocussing of displayed multimedia information on client by monitoring static and dynamic properties of the client |
US8238420B1 (en) * | 2008-01-24 | 2012-08-07 | Adobe Systems Incorporated | Video content transcoding for mobile devices |
US8319825B1 (en) * | 2008-06-16 | 2012-11-27 | Julian Urbach | Re-utilization of render assets for video compression |
US9294789B2 (en) * | 2008-12-09 | 2016-03-22 | Adobe Systems Incorporated | Enhanced live multibitrate video encoding |
US8380790B2 (en) * | 2008-12-15 | 2013-02-19 | Microsoft Corporation | Video conference rate matching |
JP5941000B2 (ja) * | 2013-03-12 | 2016-06-29 | 日本電信電話株式会社 | 映像配信装置及び映像配信方法 |
US10137361B2 (en) * | 2013-06-07 | 2018-11-27 | Sony Interactive Entertainment America Llc | Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system |
JP6178705B2 (ja) * | 2013-11-15 | 2017-08-09 | 日本電信電話株式会社 | 映像配信システム、映像配信装置及び映像配信プログラム |
KR102257621B1 (ko) * | 2014-05-19 | 2021-05-28 | 엘지전자 주식회사 | 썸네일 이미지를 디스플레이 하는 헤드 마운티드 디스플레이 디바이스 및 그 제어 방법 |
US9661312B2 (en) * | 2015-01-22 | 2017-05-23 | Microsoft Technology Licensing, Llc | Synthesizing second eye viewport using interleaving |
US9955147B2 (en) * | 2015-01-28 | 2018-04-24 | Nextvr Inc. | Zoom related methods and apparatus |
-
2016
- 2016-05-27 WO PCT/US2016/034684 patent/WO2016191694A1/en active Application Filing
- 2016-05-27 DE DE112016002377.4T patent/DE112016002377T5/de active Pending
- 2016-05-27 EP EP16729138.4A patent/EP3304487A1/en active Pending
- 2016-05-27 KR KR1020177027064A patent/KR102013403B1/ko active IP Right Grant
- 2016-05-27 CN CN201680020051.8A patent/CN107439010B/zh active Active
- 2016-05-27 JP JP2017550744A patent/JP6501904B2/ja active Active
- 2016-05-27 US US15/167,134 patent/US10880346B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330875B1 (en) * | 1999-06-15 | 2008-02-12 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
US20020130875A1 (en) * | 1999-11-29 | 2002-09-19 | Blackham Geoffrey Howard | Image display apparatus |
US20090232202A1 (en) * | 2004-12-10 | 2009-09-17 | Koninklijke Philips Electronics, N.V. | Wireless video streaming using single layer coding and prioritized streaming |
US20080201748A1 (en) * | 2006-02-27 | 2008-08-21 | Hasek Charles A | Methods and apparatus for device capabilities discovery and utilization within a content-based network |
CN101682738A (zh) * | 2007-05-23 | 2010-03-24 | 日本电气株式会社 | 视频流送系统、代码转换装置和视频流送方法 |
CN103608716A (zh) * | 2011-06-17 | 2014-02-26 | 微软公司 | 体视频呈现 |
CN103487937A (zh) * | 2012-06-13 | 2014-01-01 | 索尼公司 | 头戴式视频显示装置 |
US20140204087A1 (en) * | 2013-01-18 | 2014-07-24 | Pixar | Photon beam diffusion |
US20140232814A1 (en) * | 2013-02-21 | 2014-08-21 | Avaya Inc. | System and method for managing a presentation |
CN104125501A (zh) * | 2013-04-25 | 2014-10-29 | 美国博通公司 | 用于处理视频数据的系统和方法 |
Non-Patent Citations (2)
Title |
---|
Daisuke Ochi,et al.Live Streaming System for Omnidirectional Video.《IEEE Virtual Reality Conference 2015》.2015, * |
Live Streaming System for Omnidirectional Video;Daisuke Ochi,et al;《IEEE Virtual Reality Conference 2015》;20150327;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107439010A (zh) | 2017-12-05 |
JP6501904B2 (ja) | 2019-04-17 |
DE112016002377T5 (de) | 2018-02-08 |
US10880346B2 (en) | 2020-12-29 |
US20160352791A1 (en) | 2016-12-01 |
KR102013403B1 (ko) | 2019-08-22 |
EP3304487A1 (en) | 2018-04-11 |
KR20170123656A (ko) | 2017-11-08 |
WO2016191694A1 (en) | 2016-12-01 |
JP2018525852A (ja) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107439010B (zh) | 流传输球形视频 | |
US10567464B2 (en) | Video compression with adaptive view-dependent lighting removal | |
US10469873B2 (en) | Encoding and decoding virtual reality video | |
US10546424B2 (en) | Layered content delivery for virtual and augmented reality experiences | |
US10341632B2 (en) | Spatial random access enabled video system with a three-dimensional viewing volume | |
US10419737B2 (en) | Data structures and delivery methods for expediting virtual reality playback | |
US10277914B2 (en) | Measuring spherical image quality metrics based on user field of view | |
US20210006770A1 (en) | Methods and apparatus for receiving and/or using reduced resolution images | |
JP6410918B2 (ja) | パノラマ映像コンテンツの再生に使用するシステム及び方法 | |
US20160353146A1 (en) | Method and apparatus to reduce spherical video bandwidth to user headset | |
CN112204993B (zh) | 使用重叠的被分区的分段的自适应全景视频流式传输 | |
US20170075416A1 (en) | Playing spherical video on a limited bandwidth connection | |
TW201840181A (zh) | 用於360度視訊之有效壓縮之球極投影 | |
JP7177034B2 (ja) | レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム | |
US11270413B2 (en) | Playback apparatus and method, and generation apparatus and method | |
JP2018522430A (ja) | ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置 | |
EP3540696A1 (en) | A method and an apparatus for volumetric video rendering | |
US11010923B2 (en) | Image encoding method and technical equipment for the same |
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 |