CN108702454A - 选择运载工具捕获的视频的部分以用于显示 - Google Patents

选择运载工具捕获的视频的部分以用于显示 Download PDF

Info

Publication number
CN108702454A
CN108702454A CN201780012372.8A CN201780012372A CN108702454A CN 108702454 A CN108702454 A CN 108702454A CN 201780012372 A CN201780012372 A CN 201780012372A CN 108702454 A CN108702454 A CN 108702454A
Authority
CN
China
Prior art keywords
video frame
frame
video
equipment
texture
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
Application number
CN201780012372.8A
Other languages
English (en)
Other versions
CN108702454B (zh
Inventor
N·斯莫尔扬斯基
张正友
S·E·安德森
M·霍尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108702454A publication Critical patent/CN108702454A/zh
Application granted granted Critical
Publication of CN108702454B publication Critical patent/CN108702454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R11/00Arrangements for holding or mounting articles, not otherwise provided for
    • B60R11/04Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G06T3/08
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras

Abstract

运载工具相机系统捕获视频并将视频传送到用户设备,该用户设备包括用于重放所捕获的视频的观看设备,诸如虚拟现实眼镜或增强现实眼镜。渲染映射被生成,其指示视频帧的哪些像素(由视频帧的特定坐标标识)对应于虚拟球体的哪些坐标,在该虚拟球体中,视频帧的一部分被渲染以用于显示。当视频帧被接收时,渲染映射被用来确定用于虚拟球体中的坐标的纹理值(例如,颜色),其被用来为用户生成显示。当用户转动他或她的头部时(例如,在虚拟现实中),该技术减少了渲染时间,因此减少了由渲染延迟引起的晕动症状和/或虚拟现实症状。

Description

选择运载工具捕获的视频的部分以用于显示
背景技术
遥控运载工具已变得越来越流行。尤其是对于无人驾驶飞行器(UAV)这种情况,UAV通常包括允许UAV更容易被驾驶的稳定技术,特别是由新手用户。这些遥控运载工具中的一些还包括相机,该相机允许视频被捕获并被传送回至用户以用于在用户所在位置的屏幕上显示,从而向用户提供运载工具“看到”的内容的第一人称视图(FPV)(例如,如果用户在运载工具的位置,他或她将看到什么)。虽然来自这些运载工具的第一人称视图视频是有益的,但是它并非没有问题。一个这样的问题是,由于响应于用户对运载工具的控制的视图变化的等待时间,视频的回放可能导致一些用户的晕动症状。
发明内容
本发明内容被提供以简化的形式引入一些概念的选择,这些概念将在下面的具体实施方式中进一步被描述。本发明内容不旨在标识所要求保护的技术主题的关键特征或必要特征,也不旨在被用来限制所要求保护的技术主题的范围。
根据一个或多个方面,用于观看设备的、纹理帧坐标到虚拟球体坐标的渲染映射被获得,该渲染映射已经在观看设备的初始化过程期间被生成。多个视频帧的第一视频帧从运载工具的相机系统被接收并且被保存到第一纹理帧缓冲器中。用于虚拟球体的纹理值使用渲染映射和第一纹理帧缓冲器中的第一视频帧来确定,并且该虚拟球体由观看设备使用所确定的纹理值来显示。
根据一个或多个方面,用于观看设备的、纹理帧坐标到虚拟球体坐标的渲染映射被获得。多个视频帧的第一视频帧从运载工具的相机系统被接收并且被保存到第一纹理帧缓冲器中。用于虚拟半球体或虚拟球体的纹理值使用渲染映射和第一纹理帧缓冲器中的第一视频帧来确定。用于观看设备的、用于显示第一视频帧的像素值的指示被提供给观看设备。观看设备沿着一个或多个轴到新位置的移动被检测。无需等待运载工具的相机系统响应于观看设备的移动而移动,渲染映射和多个视频帧的第二帧被用来确定用于虚拟半球体或虚拟球体的新纹理值,第二帧反映观看设备的移动,并且用于观看设备的、用于显示第二视频帧的像素值的指示被提供给观看设备。
附图说明
参考附图来描述具体实施方式。在附图中,附图标记的最左边的数字标识附图标记首次出现的图。在说明书和附图中在不同实例中使用相同的附图标记可以指示相似或相同的项目。图中表示的实体可以指示一个或多个实体,并且因此可以在讨论中互换地参考单数或复数形式的实体。
图1示出了可以在其中实现选择运载工具捕获的视频的部分的示例环境。
图2示出了用于相机系统的视频捕获设备的若干示例布置。
图3示出了实现本文所更详细地讨论的技术的示例系统。
图4和图5示出了根据一个或多个实施例的视频帧的坐标到虚拟球体的坐标的示例映射。
图6示出了根据一个或多个实施例的纹理帧缓冲器中的视频帧到虚拟球体的映射的示例。
图7示出了根据一个或多个实施例的上采样的示例。
图8是示出根据一个或多个实施例的用于选择运载工具捕获的视频的部分以用于显示的示例过程的流程图。
图9示出了包括示例计算设备的示例系统,该示例计算设备表示可以实现本文描述的各种技术的一个或多个系统和/或设备。
具体实施方式
本文讨论选择运载工具捕获的视频的部分以用于显示。运载工具包括或附接有相机系统,该相机系统捕获视频并将捕获的视频发送到远程用户设备,并且因此运载工具也可以称为相机载体。本文所使用的运载工具是指由遥控器控制的运载工具(例如,无人驾驶运载工具)。运载工具可包括无人驾驶飞行器(UAV)或无人机、无人驾驶地面运载工具(例如,沿着轨道或车轮移动)、无人驾驶浮动和/或潜水运载工具等。运载工具还可以包括被用作遥控相机系统载体的人类,例如通过将控制命令转换成声音或振动以告知人类载体去哪里。相机系统将捕获的视频无线传送到远程用户设备。远程用户设备经由无线通信与运载工具通信,从而无线地接收所发送的视频并且无线地向运载工具发送命令(例如,操纵命令)。
远程用户设备包括用于回放捕获的视频的至少一部分的观看设备。观看设备例如是虚拟现实(VR)眼镜或VR耳机,或增强现实(AR)眼镜或AR耳机。作为用于观看设备的初始化过程的一部分,用于观看设备的视频帧(本文中也被称为纹理帧)坐标到虚拟球体坐标的渲染映射被生成。渲染映射指示视频帧的哪些像素(由视频帧的特定坐标标识)对应于虚拟球体的哪些坐标,其中视频帧的一部分被渲染用于显示。对于任何给定视频帧并且基于用户正在观看的方向,该渲染映射允许虚拟球体的像素的纹理(例如,颜色)容易地被确定和渲染。当视频帧被接收时,渲染映射被用来确定用于虚拟球体的像素的纹理值,其又被用来为用户生成显示(例如,在VR或AR眼镜或耳机中)。
运载工具的相机系统捕获具有广视角的视频,该视角可以比由观看设备(例如,VR或AR眼镜或耳机)提供的视场宽。当用户移动他或她的头部以在不同方向上观看时,用于虚拟球体的像素的视频帧的坐标可以使用渲染映射来容易地识别。这可以相对快速地被完成(例如,在小于10毫秒内),以便减少或消除由于改变相机视图的时延或滞后而引起的在用户方面的晕动症状和/或VR症状。因为观看设备已经具有由运载工具的相机系统捕获的完整视频帧,所以作为头部移动的结果的更新视图可以由已经在观看设备处的数据(视频帧)生成。这与以下设计形成对比:在所述设计中,遥控设备向运载工具发送命令以使相机系统在与头部运动相同的方向上移动,然后等待运载工具从该新方向向观看设备发送视频。发送命令、移动相机系统以及在新(移动到)方向上接收视频所花费的时间可以是200至500毫秒或更长。这种时延在用户移动他或她的头部与用户观看的视频反映该移动之间导致了至少200至500毫秒的延迟,这可能导致一些用户的晕动症状和/或VR症状。
图1示出了示例环境100,其中选择运载工具捕获的视频的部分以用于显示可以被实现。环境100包括运载工具102、控制器104、用户设备106、观看设备108和网络110。网络110可以是各种不同网络中的任何一种,包括因特网、局域网(LAN)、公共电话网、内联网、其他公共和/或专有网络、其组合等等。
尽管被示为UAV,但运载工具102可以是由如上所述的遥控器控制的任何运载工具(包括地面运载工具、浮动和/或潜水运载工具、人类相机系统载体等)。控制器104是遥控单元,其无线地向运载工具102发送命令以控制运载工具102。在图1所示的示例中,用户112使用控制器104来控制运载工具102。可以为不同类型的运载工具提供不同的控制命令,诸如指示移动的方向的命令、指示是上升还是下降的命令、指示移动的速度的命令等等。附加的不基于运动的控制还可以被提供给运载工具102,诸如指示打开或关闭灯的命令、指示开始或停止捕获视频的命令,等等。在一个或多个实施例中,控制器104经由网络110将命令无线地发送到运载工具102。附加地或备选地,控制器104直接而不是经由网络110将命令无线地发送到运载工具102。虽然控制器104被示为与用户设备106和观看设备108分开,但是控制器104可以备选地被实现为用户设备106和/或观看设备108的一部分。
运载工具102包括捕获视频并将视频发送到用户设备106的相机系统。相机系统可以被结合到运载工具102中并因此是运载工具102的一部分,或者备选地可以被耦合或附接到运载工具102。视频是由相机系统以某种速率捕获的一组多个视频帧,诸如每秒30帧(fps)。由相机系统发送给用户设备106的视频也被称为流视频(或流视频内容,或视频流),从而允许视频内容在用户设备处被接收并在视频内容被接收时被显示在观看设备108上,而不是在视频内容的重放之前等待视频内容的整个文件被用户设备106接收。
在一个或多个实施例中,运载工具102的相机系统经由网络110将视频发送到用户设备106。附加地或备选地,运载工具102的相机系统直接而不是经由网络110将视频无线地发送到运载工具102。用户设备106是相对于运载工具102的远程设备,其指的是无线地与运载工具102通信的用户设备106。
由运载工具102的相机系统发送的视频由用户设备106接收和处理。该处理包括解码视频并确定如何经由观看设备108向用户112显示解码的视频。视频的这种处理包括使用渲染映射来确定使用视频的帧的哪些像素来确定虚拟球体的不同坐标的纹理(例如,颜色),以用于在观看设备108上渲染视频帧。
在一个或多个实施例中,观看设备108是虚拟现实(VR)眼镜或耳机,或增强现实(AR)眼镜或耳机。这种观看设备向用户112提供由运载工具102的相机系统捕获的视频的第一人称视图。尽管被示出为眼镜,但是观看设备108可以备选地是视频可以在其上显示的其他类型的设备。例如,观看设备108可以是三维(3D)显示器、弯曲的或平面的显示屏(例如,计算机显示屏,膝上型屏幕,移动设备屏幕)等。
在一个或多个实施例中,观看设备108是立体设备,用于同时显示视频的两个不同帧(或同一个帧的两个不同版本)(例如,一个用于VR或AR眼镜(或耳机)的左眼,一个用于VR或AR眼镜(或耳机)的右眼)。立体视频可以以各种方式被生成,例如通过从运载工具102捕获和流传输两个不同的视频流、处理视频以从一个或多个视频捕获设备生成立体视图的外观,等等。备选地,观看设备108可以是单个显示器(例如,单声道),或三个或更多个显示器。
在所示示例中,用户设备106和观看设备108是两个不同的设备。备选地,用户设备106和观看设备108可以被实现为同一设备的一部分。例如,用户设备106可以被实现为观看设备108的一部分。
观看设备108和/或用户设备106还无线地向运载工具102的相机系统发送命令以控制运载工具102的相机系统。这些命令可以被直接发送到相机系统,或者可以经由运载工具102被发送到相机系统。被发送到相机系统的这些命令是指示视频要被捕获的方向的命令(例如,作为用户112正在观看的方向的结果(例如,围绕用户112的头部的一个或多个轴的角度或旋转))。例如,用户112可以将他或她的头部向左转90度,从而向运载工具102的相机系统指示以与其先前捕获视频(紧接在从观看设备108接收到命令之前)的位置的左侧成90度的角度捕获视频。以不同角度执行对视频的捕获的方式可以基于相机系统被实现的方式而变化,并且可以包括运载工具102的旋转或移动,可以包括相机系统的独立于运载工具102的任何旋转或移动的旋转或移动,可以包括对特定视频捕获设备的选择等。应该注意,由观看设备108发送的命令与由控制器104发送的命令的不同之处在于由观看设备108发送的命令控制哪个方向的视频被运载工具102捕获(其可能涉及或可能不涉及运载工具的移动),而由控制器104发送的命令控制运载工具102的移动(其可能涉及或可能不涉及视频被运载工具102捕获的方向的改变)。
尽管指示视频要被捕获的方向的命令可以被发送到运载工具102,如下面更详细地讨论的,用户设备106已经具有足够的数据以允许观看设备108上的显示被改变,以反映用户的移动(例如,他或她的头部的转动),而无需等待命令被运载工具102执行。
在一个或多个实施例中,观看设备108经由网络110将命令无线地发送到运载工具102的相机系统。附加地或备选地,观看设备108直接地而不是经由网络110将命令无线地发送到运载工具102的相机系统。附加地,观看设备108无线地将命令发送到相机系统可以是观看设备108自身发送命令,和/或用户设备106代表观看设备108发送命令。
运载工具102上的相机系统可以以各种不同的方式被实现。在一个或多个实施例中,运载工具102的相机系统被实现为具有大约(例如,在10%内)的180度视场。这可以使用单个视频捕获设备或者备选地以各种不同布置配置的多个视频捕获设备来实现。每个视频捕获设备包括能够感测图像的图像传感器,并且可以使用各种不同技术中的任何技术来实现,各种不同技术例如为电荷耦合器件(CCD)、互补金属氧化物半导体(CMOS)、N型金属氧化物半导体(NMOS)等。备选地,尽管相机系统的视场小于由观看设备108提供的视场,但是运载工具102的相机系统被实现为具有不同的(例如,更大的)视场。
图2示出了用于相机系统200的视频捕获设备的若干示例布置。相机系统200可以作为图1的运载工具102的一部分而被包括或被附接到图1的运载工具102。相机系统200可以是具有图像传感器204和镜头206的单个视频捕获设备202。备选地,相机系统200可以是两个视频捕获设备202,其具有近似平行(例如,在平行的3度至5度内)的视线,诸如布置208中所示。备选地,相机系统200可以是三个或更多个视频捕获设备202,其具有近似平行(例如,在平行的3度至5度内)的视线,诸如布置210中所示。
备选地,相机系统200可以是以网格布置的三个或更多个视频捕获设备202,其具有近似平行(例如,在平行的3度至5度内)的视线。这种相机系统的前视图在布置212中被示出。备选地,相机系统200可以是以半圆形来布置的多个(例如,四个)视频捕获设备202,诸如布置214中所示。备选地,相机系统200可以是以圆形来布置的多个(例如,八个)视频捕获设备202,诸如布置216中所示。
尽管视频捕获设备的示例布置在图2中被示出,应该注意,视频捕获设备的各种不同布置中的任何一种可以被使用。例如,视频捕获设备可以以半球、球体等来布置。
图3示出了实现本文所更详细地讨论的技术的示例系统300。系统300包括运载工具102和用户设备106。运载工具102包括相机系统302、移动控制系统304和通信组件306。相机系统302包括一个或多个视频捕获设备,诸如以上关于图2讨论的任何布置中的一个或多个视频捕获设备202。相机系统302还包括附加软件、固件和/或硬件,用以便于捕获视频的帧并将捕获的帧提供给通信组件306。
移动控制系统304包括各种软件、固件和/或硬件,用于管理运载工具102的移动,诸如各种电动机、伺服系统等。用于运载工具102的移动命令是经由通信组件306从用户设备106接收的,并且移动控制系统304执行这些命令。这些命令被执行的方式基于特定命令而变化。例如,可以通过增加或减小特定电动机(例如,转动螺旋桨的电动机)的速度、激活或停用特定伺服系统等来执行这些命令。
通信组件306管理与用户设备106的通信。通信组件306从图1的控制器104接收移动命令,并将这些移动命令提供给移动控制系统304。通信组件306还接收被指向相机系统302的命令,并将那些命令提供给相机系统302。如上所述,被指向相机系统302的命令可以从图1的用户设备106或观看设备108来接收。
通信组件306还从相机系统302接收视频帧,并将视频帧发送到用户设备106。通信组件306(和/或相机系统302)可以在将视频发送到用户设备之前可选地对视频执行各种处理,诸如,使用各种公共和/或专有协议(例如,ITU-T H.264建议书(02/2014)中讨论的H.264协议、ITU-T H.265建议书(04/2015)中讨论的H.265协议、可从www.webmproject.org上的WebM项目获得的VP9视频编码格式)中的任何一种对视频进行编码、使用各种公共和/或专有协议中的任何一种(例如,使用对称密钥加密、使用公钥加密)来对视频进行加密,等等。
用户设备106包括通信组件312和视频显示系统314。通信组件312从运载工具102的通信组件306接收视频。通信组件312可选地对视频执行各种处理,这取决于在通信组件306发送视频之前什么样的处理(如果有的话)被执行。例如,通信组件312可以使用各种公共和/或专有协议中的任何协议来解码视频,使用各种公共和/或专有协议中的任何协议来解密视频,等等。通信组件312将经处理(例如,被解码和/或解密)的视频提供给视频显示系统314。
在命令由用户设备发送到相机系统302的情况下,那些命令经由通信组件312来发送。
视频显示系统314包括渲染映射316、纹理帧缓冲器318、映射模块320和显示模块322。视频显示系统314还可选地包括上采样模块324。
渲染映射316将视频帧的坐标映射到虚拟球体的坐标。视频帧是二维(2D)坐标空间,而虚拟球体是三维(3D)坐标空间。渲染映射316考虑了这些不同的坐标空间,并且对于虚拟球体中的给定坐标,允许视频帧中的适当像素(在特定坐标处)的纹理值被识别,并且被用作虚拟球体中在该给定坐标处的值。渲染映射316还考虑了视频帧中的失真,诸如由于在相机系统中鱼眼镜头的使用而导致的失真。虚拟球体被显示模块322使用以在观看设备上生成显示,如下面更详细地讨论的。
图4和图5示出了根据一个或多个实施例的视频帧的坐标到虚拟球体的坐标的示例映射。在图4的示例中,视频帧402和虚拟球体404被图示。从视频帧402中的坐标到虚拟球体404的映射用虚线示出。例如,视频帧的坐标406映射到虚拟球体404的坐标408,如虚线410所示。
应该注意,对于任何给定的视频帧402,视频帧402包括未被映射到虚拟球体404的任何坐标的附加坐标处的纹理值。这是运载工具102的相机系统捕获比在观看设备108处用于生成显示所需的数据更多的数据(例如,更宽的视场)的结果。例如,视频帧402的部分420(虚线圆圈内的区域)包括被映射到虚拟球体404的坐标。位于部分420外部的视频帧的其他坐标未被映射到虚拟球体404(对于当前视频帧402)。
然而,视频帧402的包括被映射到虚拟球体404的坐标的部分随着观看设备108而改变(例如,当用户转动他或她的头部时)。例如,在图4中,假设用户的头部朝向或被指向特定方向。如果用户的头部反而朝向或被指向不同的方向(例如,进一步向左),则该部分将被向左移动,如图5所示。在图5的示例中,视频帧402的部分502(虚线圆圈内的区域)包括被映射到虚拟球体404的坐标。位于部分502外部的视频帧的其他坐标未被映射到虚拟球体404。
尽管在本文中被讨论为虚拟球体,但是应该注意,基于运载工具102的相机系统的视场,备选地可以使用其他几何形状。例如,如果运载工具102的相机系统的视场是360度,则可以使用球体。然而,如果运载工具102的相机系统的视场仅是180度,则可以使用半球体。该球体也被称为“虚拟的”,这是因为球体是数学结构或数据结构,而不是物理组件或设备。
返回图3,从相机系统302接收的每个视频帧被存储在纹理帧缓冲器318之一中。在适当的时间(例如,以规则的间隔,在新帧将被显示在观看设备108上之前的特定数目的毫秒等),映射模块320使用渲染映射316将纹理值(例如,颜色)分配给虚拟球体中的坐标。该纹理映射或分配是3D虚拟球体坐标和纹理上(在显示设备或屏幕上)的2D UV坐标之间的映射。对于虚拟球体中的每个坐标,映射模块320确定纹理帧缓冲器318中的视频帧的被映射到的坐标、获取视频帧的该被映射到的坐标处的像素的纹理值、并且将虚拟球体中的坐标设置为或以其他方式分配给该被映射到的坐标处的像素的纹理值。
图6示出了根据一个或多个实施例的纹理帧缓冲器中的视频帧到虚拟球体的映射的示例。在图6的示例中,四个纹理帧缓冲器602、604、606和608被图示。两个虚拟球体612和614也被图示。每个虚拟球612、614与观看设备108的特定部分相关联,被图示为左侧部分612(例如,VR或AR眼镜(或耳机)的左侧显示屏或镜头)和右侧部分614(例如,VR或AR眼镜(或耳机)的右侧显示屏或镜头)。对于要被显示的第一视频帧,对应于第一视频帧的视频帧对被接收和/或生成,并在被显示在VR或AR眼镜(或耳机)中时提供立体效果。针对第一视频帧的视频帧对被存储在纹理帧缓冲器602和604中。纹理帧缓冲器602和604中的那些视频帧被用来针对第一视频帧将值分配给虚拟球体612和614的坐标。然后,虚拟球体612和614由观看设备108同时显示。
对于要被显示的下一个视频帧(在该示例中被称为要被显示的第二视频帧),对应于第二视频帧的视频帧对被接收和/或生成,并在被显示在VR或AR眼镜(或耳机)中时提供立体效果。针对第二视频帧的视频帧对被存储在纹理帧缓冲器606和608中。纹理帧缓冲器606和608中的那些视频帧被用来针对第二视频帧将值分配给虚拟球体612和614的坐标。然后,虚拟球体612和614由观看设备108同时显示。
对于要被显示的下一个视频帧(在该示例中被称为要被显示的第三视频帧),对应于第二视频帧的视频帧对被接收和/或生成,并在被显示在VR或AR眼镜(或耳机)中时提供立体效果。针对第三视频帧的视频帧对被存储在纹理帧缓冲器602和604中,替换先前被存储在纹理帧缓冲器602和604中的针对第一视频帧的视频帧对。对于要被显示的下一个视频帧,对应于该下一个视频帧的视频帧对被接收和/或生成,被存储在纹理帧缓冲器606和608中,替换先前被存储在纹理帧缓冲器606和608中的针对第二视频帧的视频帧对。然后该过程重复,其中交替的视频帧对被存储在缓冲器602、604中,然后被存储在缓冲器606、608中。
当观看设备的方向改变时(例如,用户转动他或她的头部),通过改变视频帧在当前的一对纹理帧缓冲器中的、基于移动所使用的部分,移动可以容易地被反映在为虚拟球体生成的数据中,并且因此被反映在针对用于的显示中。例如,再次参考图4和图5,假设对于第一视频帧对,用户的头部正朝向或指向与图4的被映射到虚拟球体的部分420相对应的特定方向。对于纹理帧缓冲器中的第一视频帧对,用于部分420中的坐标的纹理值被用来确定虚拟球体612和614的被映射到的坐标处的值。进一步假设用户将他或她的头部向左转,并且对于第二视频帧对,用户的头部正朝向或指向与图5的被映射到虚拟球体的部分502相对应的特定方向。对于纹理帧缓冲器中的第二视频帧对,用于部分502中的坐标的纹理值被用来确定虚拟球体612和614的被映射到的坐标处的值。
因此,用于当用户移动他或她的头部时确定纹理值的所使用的数据(纹理帧缓冲器中的视频帧的像素的纹理值)已经在用户设备106处可用。该数据可以立即被使用,并且被显示给用户的下一帧可以反映该移动。视频显示系统314不需要等待命令被发送到相机系统302,不需要等待相机系统302被移动或以其他方式被改变以由于用户头部的移动而在不同方向上捕获视频,并且不需要等待新捕获的视频被发送到用户设备106。这样的延迟可能至少为200至500毫秒,并且将导致某些用户的晕动症状和/或VR症状。然而,因为当用户移动他或她的头部时用来确定纹理值的数据已经在用户设备106处可用,所以不会引起这样的延迟。
应该注意,纹理帧缓冲器602、604、606和608中的数据是用于完整视频帧的数据。换言之,纹理帧缓冲器602、604、606和608中的数据指的是图4或图5的完整视频帧402,而不仅仅是视频帧402的部分420或502。不需要执行视频帧的裁剪或剪切-要使用的视频帧的部分是使用渲染映射来确定的,如上面所讨论的。
返回图3,渲染映射316可以使用各种不同的公共和/或专有技术中的任何一种来生成。在一个或多个实施例中,渲染映射316基于相机系统302的内参和相机系统302的外参(在相机系统302包括多个视频捕获设备的情况下)被生成。相机系统302的内参是指针对每个视频捕获设备描述图像(每个视频帧)如何在相机的传感器上形成的参数。视频捕获设备可以使用具有各种不同失真的镜头,特别是沿着镜头的边缘的失真,或者是有意地或者是无意地。例如,镜头可以是鱼眼镜头,以使所捕获到的看起来更像是沿着边缘的圆圈。内参描述了这种失真,并允许被捕获的视频帧不失真并且使其形成直线,使得直线看起来笔直而不是弯曲。
相机系统302的外参指的是描述不同视频捕获设备如何在3D中几何地相互关联的参数。在相机系统302包括多个视频捕获设备的情况下,这些视频捕获设备的光轴可以近似平行(例如,在平行的阈值数目的度数之内),但可以略微偏离平行(例如,相差2到3度)。外参标识视频捕获设备的光轴之间的距离以及它们的光轴之间的差异。外参允许由多个视频捕获设备捕获的视频帧被对准和组合,使得它们看起来是由单个视频捕获设备捕获的。
这些内参和外参可以由视频显示系统314使用,或者可选地由与用户设备106分离的另一设备使用,以生成渲染映射316。内参和外参可以被存储在各种位置中,诸如存储在相机系统302处、在用户设备106处、在一些其他位置处(例如,经由图1的网络110来访问),等等。给定内参和外参,通过将来自虚拟球体的坐标投影到视频帧上,以及在渲染映射316中记录虚拟球体中的每个坐标与视频帧的每个被映射到的坐标的关联,渲染映射316可以容易地被生成。
如上所述,在任何给定时间,并非视频帧的所有坐标都映射到虚拟球体。在任何给定时间视频帧的哪些坐标映射到虚拟球体取决于观看设备在那时指向的方向(例如,用户沿一个或多个轴转动他或她的头部的方向,例如水平地和/或垂直地),并且可以以各种不同方式中的任何一种来生成。在一个或多个实施例中,对于从被定义为原点的某个方向(例如,观看设备被指向北方并平行于地面)沿轴的每次移动增量(例如,每个度),不同的渲染映射316可以被创建或者要使用的渲染映射316的特定部分可以被指定(例如,并且被包括为渲染映射316的一部分)。附加地或备选地,假设方向是原点,渲染映射316可以被生成,并且偏移值或算法可以被计算,以在给定从原点的移动增量的情况下,确定如何将渲染映射316中的每个视频帧坐标转换为用于当前方向的新坐标。
显示模块322可以使用虚拟球体(以及映射到虚拟球体的纹理值)来使用各种不同的公共和/或专有技术中的任何一种来生成用于观看设备108的显示。在一个或多个实施例中,显示模块322使用用于虚拟球体的坐标的纹理值,来向观看设备提供要由观看设备显示以显示视频帧的像素值的指示。
可能出现这样的情况,其中观看设备的显示器的分辨率大于虚拟球体的分辨率,在这种情况下,给定来自虚拟球体的已知像素值,显示模块322使用各种不同的公共和/或专有技术中的任何一种来填充像素值。通过示例,在给定来自虚拟球体的已知像素值的情况下,各种不同插值技术中的任何一种可以被用来生成填充像素值。
在一个或多个实施例中,视频显示系统314还包括上采样模块324。上采样模块324将视频帧上采样到更高的帧速率。这可以以各种方式来完成,诸如通过使用视频中的两个连续帧来在它们之间创建新的人造帧、通过使用当前帧和先前帧来预测下一帧,等等。当运载工具快速飞行时,这种上采样产生了更平滑视频的错觉,并因此减少了由低帧速率和/或滞后视频引起的晕动症状和/或VR症状。
图7示出了根据一个或多个实施例的上采样的示例。视频帧系列700被图示。该视频帧系列包括用实线示出的接收视频帧702、704和706。该视频帧系列还包括用虚线示出的人造帧708和710。各种不同的公共和/或专有技术中的任何一种可以被用来生成人造帧708和710。例如,用于人造帧708中的像素的纹理值可以通过在用于视频帧702和704中的像素的纹理值之间进行插值来生成。通过另一示例,用于人造帧710中的像素的纹理值可以通过使用用于视频帧702和704中的像素的纹理值预测用于人造帧710中的像素的纹理值来生成。
在一个或多个实施例中,从运载工具102接收的视频是以某种速率捕获的一系列顺序帧,诸如每秒30帧。当用户移动他或她的头部时,使用用于生成先前显示的视频帧之后的紧接着的下一个视频帧来生成显示。例如,如果视频帧704用于生成在用户移动他或她的头部之前显示的帧,则在用户移动他或她的头部之后,视频帧706(或者备选地,人造帧710)被用来生成被显示的帧。视频帧的显示(无论是从运载工具102接收的还是人造的)被保持为近似(例如,在阈值量内)恒定的速率,诸如每秒60帧。当用户移动他或她的头部时,适当的视频帧的适当部分被用来生成显示,如上所述。
单个系列的视频帧700在图7中被示出。视频帧702、704、706、708等中的每一个可以被用来生成视频帧对以创建立体效果,如上所述的。备选地,类似于视频帧系列700的第二视频帧系列可以被接收(以及类似地被生成的人造帧),在这种情况下,视频帧系列700可以被用作该视频帧对的一半(例如,用于VR或AR眼镜或耳机的左显示屏),并且第二视频帧系列可以被用作该视频帧对的另一半(例如,用于VR或AR眼镜或耳机的右侧显示屏)。
因此,由于从运载工具102向用户设备106传送视频(无论是经由网络110还是直接)的延迟,用户112实际上具有世界的延迟视图(从运载工具的角度来看)。例如,如果从运载工具102向用户设备106发送视频的延迟是200毫秒,则被显示给用户的视频实际上是老了200毫秒(过去200毫秒)。然而,因为用户设备106不需要等待运载工具102处的相机系统的移动以反映观看设备的移动(例如,转动用户的头部),尽管使用老了200毫秒的视频,但运动很快发生(例如,在不到10毫秒内)。
图8是示出根据一个或多个实施例的用于选择要用于显示的运载工具捕获的视频的部分的示例过程800的流程图。过程800由用户设备和/或观看设备(例如图1的用户设备106和/或观看设备108)执行,并且可以用软件、固件、硬件或其组合来实现。过程800被示为一组动作,并且不限于所示的用于执行各种动作的操作的顺序。过程800是用于选择用于显示的运载工具捕获的视频的部分的示例过程;参考不同附图,选择用于显示的运载工具捕获的视频的部分的附加讨论被包括在本文中。
在过程800中,纹理帧坐标到虚拟球体坐标的渲染映射被获得(动作802)。渲染映射在用户设备和/或观看设备的初始化时间处被获得,并且在一个或多个实施例中,由用户设备和/或观看设备生成渲染映射。用户设备和/或观看设备的初始化是指用户设备和/或观看设备的启动或配置,并且该初始化可以发生在用户设备和/或观看设备通电时、用户设备和/或观看设备连接到或被设置为与运载工具102通信时,等等。备选地,渲染映射可以先前已经被生成(例如,在运载工具、用户设备和观看设备的先前使用期间)并且被存储,并且可以通过从存储中被检索而在动作802中被获得。
多个视频帧中的一个视频帧从运载工具被接收(动作804)。如上所述,视频可以由运载工具使用各种不同的相机系统来捕获。视频帧从运载工具顺序地被接收,通常一次一帧。
所接收的视频帧被保存在纹理帧缓冲器中(动作806)。所接收的视频帧可选地被处理以生成与所接收的视频帧相对应的视频帧对,当由观看设备(例如,VR或AR眼镜或耳机)显示时,该视频帧对提供立体效果。
渲染映射和所接收的视频帧被用来确定用于虚拟球体的纹理值(动作808)。这可以帧对视频帧对来执行,因此用于两个虚拟球体的纹理值被确定。
虚拟球体使用所确定的纹理值来显示(动作810)。虚拟球体可以使用如上所述的各种不同的公共和/或专有技术中的任何一种来显示。
观看设备沿一个或多个轴的移动被检测(动作812)。这些一个或多个轴指的是例如用户旋转他或她的头部、用户向上或向下移动他或她的头部等等。该移动可以以各种方式来检测,诸如使用观看设备中的传感器。
响应于被检测到的移动,在不等待运载工具的相机系统响应于观看设备的移动而移动的情况下,渲染映射和多个视频帧的第二帧被用来确定虚拟球体的新纹理值,并且虚拟球体使用新纹理值来显示(动作814)。第二帧反映了观看设备的移动,因此,观看设备中向用户显示的视频响应于观看设备的移动而被改变,而无需等待运载工具的相机系统响应于观看设备的移动而移动。
应该注意,如上所述,渲染映射在观看设备的初始化过程期间被生成。所生成的渲染映射被用于从运载工具接收的多个视频帧中的每一个帧。渲染映射不需要针对从运载工具接收的每个视频帧而重新生成。
尽管在本文中参考特定模块、组件或系统讨论了特定功能,但是应该注意,本文所讨论的各个模块、组件或系统的功能可以被分为多个模块、组件或系统,和/或多个模块、组件或系统的至少一些功能可以被组合成单个模块、组件或系统。
图9示出了一般上在900处的示例系统,其包括示例计算设备902,示例计算设备902表示可以实现本文描述的各种技术的一个或多个系统和/或设备。计算设备902可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。计算设备902可以实现例如图1的用户设备106。
如图所示的示例计算设备902包括彼此通信地耦合的处理系统904、一个或多个计算机可读介质906以及一个或多个I/O接口908。虽然未被示出,但是计算设备902还可以包括系统总线或其他数据和命令传输系统,其将各种组件彼此耦合。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何总线架构的处理器或本地总线。各种其他示例也被预期,诸如控制线和数据线。
处理系统904表示使用硬件来执行一个或多个操作的功能。相应地,处理系统904被示为包括可被配置为处理器、功能块等的硬件元件910。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其他逻辑器件。硬件元件910不受它们被形成的材料或其中被采用的处理机制的限制。例如,处理器可以包括半导体和/或晶体管(例如,电子集成电路(IC))。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质906被示为包括存储器/存储设备912。存储器/存储设备912表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储设备912可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储设备912可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。计算机可读介质906可以以下面进一步描述的各种其他方式配置。
一个或多个输入/输出接口908表示允许用户向计算设备902输入命令和信息并且还允许使用各种输入/输出设备使信息被呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容或其他传感器)、相机(例如,其可以采用诸如红外频率的可见或不可见波长来检测不涉及作为手势的触摸的移动),等等。输出设备的示例包括显示设备(例如,监测器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备902可以以各种方式被配置,如下面进一步描述的,以支持用户交互。
计算设备902还包括视频显示系统914。视频显示系统914提供如上所述的各种视频显示功能。视频显示系统可以实现例如图1的视频显示系统314。
在本文中,各种技术可以在软件、硬件元件或程序模块的一般上下文中被描述。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。本文描述的技术的特征是平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上被实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或在该计算机可读介质上被传送。计算机可读介质可以包括可以由计算设备902访问的各种介质。通过示例,而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”是指能够持久存储有形的信息的介质和/或设备和/或有形的存储设备,与仅仅信号传送、载波或信号本身相反。因此,计算机可读存储介质指的是非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性介质、可移动和不可移动介质的硬件,和/或以适于信息存储的方法或技术实现的存储设备,诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储、硬盘、磁盒、磁带、磁盘存储器或其他磁存储设备、或适于存储所需信息并且可由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”指的是信号承载介质,其被配置为诸如经由网络将指令传送到计算设备902的硬件。信号介质通常可以体现计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,例如载波、数据信号或其他传输机制。信号介质还包括任何信息传递介质。术语“调制数据信号”是指以对信号中的信息进行编码的方式设置或改变其一个或多个特性的信号。通过示例,而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。
如前所述,硬件元件910和计算机可读介质906表示以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑,其在一些实施例中可以被采用来实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其他硬件设备中的其他实现。在此上下文中,硬件元件可以作为处理设备操作,该处理设备执行由硬件元件实现的指令,模块和/或逻辑定义的程序任务,以及被用于存储执行指令的硬件设备(例如,前面描述的计算机可读存储介质)。
前述的组合也可以被采用,以实现本文描述的各种技术和模块。相应地,软件、硬件或程序模块和其他程序模块可以被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件910实现的一个或多个指令和/或逻辑。计算设备902可以被配置为实现与软件和/或硬件模块对应的特定指令和/或功能。相应地,作为可由计算设备902作为软件执行的模块的模块的实现可以至少部分地以硬件实现,例如,通过使用处理系统的计算机可读存储介质和/或硬件元件910。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备902和/或处理系统904)执行/操作,以实现本文描述的技术、模块和示例。
如图9中进一步所示,当在个人计算机(PC)、电视设备和/或移动设备上运行应用程序时,示例系统900使得普遍存在的环境能够实现无缝的用户体验。在使用应用程序、玩视频游戏、观看视频等的同时从一个设备转换到下一个设备时,服务和应用程序在所有三种环境中运行基本相似,以得到共同的用户体验。
在示例系统900中,多个设备通过中央计算设备互连。中央计算设备可以是多个设备的本地设备,或者可以远离多个设备。在一个或多个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路被连接到多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,该互连架构使得功能能够跨多个设备被递送,以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来实现向该设备递送体验,该体验既适合于该设备又对所有设备是共同的。在一个或多个实施例中,一类目标设备被创建,并且体验被调整为适合通用类设备。一类设备可以通过物理特征、使用类型或设备的其他共同特性来定义。
在各种实现中,计算设备902可以采用各种不同的配置,诸如用于计算机916、移动设备918和电视920的使用。这些配置中的每一种配置包括通常可以具有不同的构造和能力的设备,并且因此计算设备902可以根据一个或多个不同的设备类来配置。例如,计算设备902可以被实现为设备的计算机916,其是包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的设备类。
计算设备902还可以被实现为移动设备918,其是包括移动设备的设备类,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备902还可以被实现为电视920,其是包括在休闲观看环境中具有或被连接到通常更大的屏幕的设备类。这些设备包括电视、机顶盒、游戏机等。
本文描述的技术可以由计算设备902的这些各种配置支持,并且不限于本文描述的技术的特定示例。该功能还可以全部或部分地通过使用分布式系统来实现,诸如经由如下所述的平台924在“云”922上实现。
云922包括和/或代表用于资源926的平台924。平台924抽象出云922的硬件(例如,服务器)和软件资源的底层功能。资源926可以包括在远离计算设备902的服务器上执行计算机处理的同时可以被使用的应用程序和/或数据。资源926还可以包括通过因特网和/或通过用户网络(诸如蜂窝或Wi-Fi网络)提供的服务。
平台924可以抽象资源和功能以将计算设备902与其他计算设备连接。平台924还可以用于抽象资源调整以提供与用于经由平台924来实现的资源926出现的需求相对应的调整的等级。相应地,在互连设备实施例中,本文描述的功能的实现可以分布在整个系统900中。例如,该功能可以部分地在计算设备902上以及经由抽象云922的功能的平台924来实现。
在本文的讨论中,各种不同的实施例被描述。应该理解和了解的是,本文描述的每个实施例可以单独被使用或与本文描述的一个或多个其他实施例结合被使用。本文讨论的技术的其他方面涉及以下实施例中的一个或多个。
一种方法包括:获取用于观看设备的、纹理帧坐标到虚拟球体坐标的渲染映射,渲染映射已经在观看设备的初始化过程期间被生成;从运载工具的相机系统接收多个视频帧的第一视频帧;将多个帧的第一视频帧保存到第一纹理帧缓冲器中;使用渲染映射和第一纹理帧缓冲器中的第一视频帧来确定用于虚拟球体的纹理值;以及使用所确定的纹理值通过观看设备显示虚拟球体。
备选地或除了任何上述方法,任何一个或组合:观看设备包括虚拟现实耳机或眼镜;观看设备包括增强现实耳机或眼镜;显示包括提供运载工具的第一人称视图;该方法进一步包括针对第一视频帧的帧对和虚拟球体对,重复保存、使用和显示,并同时显示该虚拟球体对;该方法进一步包括从运载工具接收多个视频帧的第二视频帧,将多个帧的第二视频帧保存到第二纹理帧缓冲器中,通过使用第一视频帧和第二视频帧来生成第三视频帧以对多个视频帧进行上采样,使用渲染映射和第三视频帧来确定用于虚拟球体的附加纹理值,以及使用所确定的纹理值通过观看设备显示虚拟球体;该方法进一步包括检测观看设备沿一个或多个轴到新位置的移动,从运载工具接收多个视频帧的第二视频帧,第二视频帧是顺序地在第一视频帧之后的紧接的下一视频帧,将多个帧的第二视频帧保存到第二纹理帧缓冲器中,使用渲染映射和纹理缓冲器中的第二视频帧来确定用于虚拟球体的新纹理值,以及使用新纹理值通过观看设备显示虚拟球体;该方法进一步包括检测观看设备沿一个或多个轴到新位置的移动,以及无需等待运载工具的相机系统响应于观看设备的移动而移动,使用渲染映射和多个视频帧的第二帧来确定用于虚拟球体的新纹理值,以及通过观看设备显示反映观看设备的移动的第二帧;该方法减少由从相机系统接收多个视频帧的滞后引起的晕动症状和/或虚拟现实症状。
一种视频显示系统,包括:渲染映射,包括用于观看设备的、纹理帧坐标到虚拟半球或球体坐标的映射,渲染映射已经在观看设备的初始化过程期间被生成;通信组件,被配置为从运载工具的相机系统接收包括第一视频帧的多个视频帧;第一纹理帧缓冲器,其在从运载工具接收到视频帧之后存储第一视频帧;映射模块,被配置为基于渲染映射和第一纹理帧缓冲器中的第一视频帧确定用于虚拟半球或球体的纹理值;以及显示模块,被配置为向观看设备提供用于观看设备的像素值以显示视频帧。
备选地或除了任何上述视频显示系统,任何一个或组合:视频显示系统被实现在观看设备中;视频显示系统被实现在被耦合到观看设备的用户设备中;多个视频帧包括第二视频帧,该视频显示系统进一步包括上采样模块,其被配置为通过使用第一视频帧和第二视频帧来生成第三帧以对多个视频帧进行上采样;该映射模块进一步被配置为,使用渲染映射并响应于观看设备沿一个或多个轴到新位置的移动,为被存储在第二纹理帧缓冲器中的多个视频帧的第二视频帧确定用于虚拟半球或球体的纹理值;第二视频帧是顺序地在第一视频帧之后的紧接的下一视频帧;该映射模块进一步被配置为,为第二视频帧确定用于虚拟半球或球体的纹理值,而无需等待运载工具的相机系统响应于观看设备的移动而移动。
一种计算设备,包括:一个或多个处理器;计算机可读存储介质,其上存储有多个指令,响应于通过一个或多个处理器的执行,使得一个或多个处理器执行动作,这些动作包括:获得用于观看设备的、纹理帧坐标到虚拟球坐标的渲染映射;从运载工具接收多个视频帧的第一视频帧;将多个帧的第一视频帧保存到第一纹理帧缓冲器中;使用渲染映射和第一纹理帧缓冲器中的第一视频帧来确定用于虚拟球体的纹理值;向观看设备提供用于观看设备的像素值的指示以显示第一视频帧;检测观看设备沿一个或多个轴到新位置的移动;以及无需等待运载工具的相机系统响应于观看设备的移动而移动:使用渲染映射和多个视频帧的第二帧来确定用于虚拟球体的新纹理值,第二帧反映观看设备的移动,以及向观看设备提供用于观看设备的像素值的指示以显示第二视频帧。
备选地或除了任何上述计算设备,任何一个或组合:观看设备包括虚拟现实耳机、虚拟现实眼镜、增强现实耳机或增强现实眼镜;动作进一步包括通过使用第一视频帧和第二视频帧来生成第三视频帧以对多个视频帧进行上采样,使用渲染映射和第三视频帧来确定用于虚拟球体的附加纹理值,以及向观看设备提供用于观看设备的像素值的指示以显示第三视频帧;渲染映射已经在观看设备的初始化过程期间被生成。
尽管本技术主题已经用结构特征和/或方法行为专用的语言来描述了,但应该理解的是,所附权利要求书中所定义的技术主题不必限于上述具体特征或动作。相反,上述具体特征或动作被作为实现权利要求的示例形式而被公开。

Claims (15)

1.一种方法,包括:
获取用于观看设备的、纹理帧坐标到虚拟球体坐标的渲染映射,所述渲染映射已经在所述观看设备的初始化过程期间被生成;
从运载工具的相机系统接收多个视频帧中的第一视频帧;
将所述多个帧中的所述第一视频帧保存到第一纹理帧缓冲器中;
使用所述渲染映射和所述第一纹理帧缓冲器中的所述第一视频帧来确定用于虚拟球体的纹理值;以及
使用所确定的所述纹理值通过所述观看设备显示所述虚拟球体。
2.根据权利要求1所述的方法,所述观看设备包括虚拟现实耳机或眼镜。
3.根据权利要求1所述的方法,所述观看设备包括增强现实耳机或眼镜。
4.根据权利要求1至权利要求3中任一项所述的方法,所述显示包括提供所述运载工具的第一人称视图。
5.根据权利要求1至权利要求4中任一项所述的方法,进一步包括:针对虚拟球体对和用于所述第一视频帧的帧对,重复所述保存、所述使用和所述显示,以及同时显示所述虚拟球体对。
6.根据权利要求1至权利要求5中任一项所述的方法,进一步包括:
从所述运载工具接收所述多个视频帧中的第二视频帧;
将所述多个帧中的所述第二视频帧保存到第二纹理帧缓冲器中;
通过使用所述第一视频帧和所述第二视频帧来生成第三视频帧以对所述多个视频帧进行上采样;
使用所述渲染映射和所述第三视频帧来确定用于所述虚拟球体的附加纹理值;以及
使用所确定的所述纹理值通过所述观看设备显示所述虚拟球体。
7.根据权利要求1至权利要求6中任一项所述的方法,进一步包括:
检测所述观看设备沿一个或多个轴到新位置的移动;
从所述运载工具接收所述多个视频帧中的第二视频帧,所述第二视频帧是在顺序上位于所述第一视频帧之后的紧接的下一视频帧;
将所述多个帧中的所述第二视频帧保存到第二纹理帧缓冲器中;
使用所述渲染映射和所述纹理缓冲器中的所述第二视频帧来确定用于所述虚拟球体的新纹理值;以及
使用所述新纹理值通过所述观看设备显示所述虚拟球体。
8.根据权利要求1至权利要求7中任一项所述的方法,进一步包括:
检测所述观看设备沿一个或多个轴到新位置的移动,以及
无需等待所述运载工具的相机系统响应于所述观看设备的所述移动而移动:
使用所述渲染映射和所述多个视频帧中的第二帧来确定用于所述虚拟球体的新纹理值;以及
通过所述观看设备显示反映所述观看设备的所述移动的所述第二帧。
9.根据权利要求1至权利要求8中任一项所述的方法,所述方法减少由从所述相机系统接收所述多个视频帧的滞后引起的晕动症状和/或虚拟现实症状。
10.一种视频显示系统,包括:
渲染映射,包括用于观看设备的、纹理帧坐标到虚拟半球或球体坐标的映射,所述渲染映射已经在所述观看设备的初始化过程期间被生成;
通信组件,被配置为从运载工具的相机系统接收包括第一视频帧的多个视频帧;
第一纹理帧缓冲器,所述第一纹理帧缓冲器在从所述运载工具接收到所述第一视频帧之后存储所述视频帧;
映射模块,被配置为基于所述渲染映射和所述第一纹理帧缓冲器中的所述第一视频帧来确定用于虚拟半球或球体的纹理值;以及
显示模块,被配置为向所述观看设备提供用于所述观看设备的像素值以显示所述视频帧。
11.根据权利要求10所述的视频显示系统,所述视频显示系统被实现在所述观看设备中或者在被耦合到所述观看设备的用户设备中。
12.根据权利要求10或权利要求11所述的视频显示系统,所述多个视频帧包括第二视频帧,所述视频显示系统进一步包括上采样模块,所述上采样模块被配置为通过使用所述第一视频帧和所述第二视频帧生成第三帧以对所述多个视频帧进行上采样。
13.根据权利要求10至权利要求12中任一项所述的视频显示系统,所述映射模块进一步被配置为,使用所述渲染映射并响应于所述观看设备沿一个或多个轴到新位置的移动,为所述多个视频帧中的被存储在第二纹理帧缓冲器中的第二视频帧确定用于所述虚拟半球或球体的纹理值。
14.根据权利要求13所述的视频显示系统,所述第二视频帧是在顺序上位于所述第一视频帧之后的紧接的下一视频帧。
15.根据权利要求13或权利要求14所述的视频显示系统,所述映射模块进一步被配置为,为所述第二视频帧确定用于所述虚拟半球或球体的纹理值,而无需等待所述运载工具的相机系统响应于所述观看设备的所述移动而移动。
CN201780012372.8A 2016-02-29 2017-02-24 用于视频显示的方法、系统和计算设备 Active CN108702454B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/056,804 2016-02-29
US15/056,804 US10274737B2 (en) 2016-02-29 2016-02-29 Selecting portions of vehicle-captured video to use for display
PCT/US2017/019227 WO2017184251A2 (en) 2016-02-29 2017-02-24 Selecting portions of vehicle-captured video to use for display

Publications (2)

Publication Number Publication Date
CN108702454A true CN108702454A (zh) 2018-10-23
CN108702454B CN108702454B (zh) 2020-09-18

Family

ID=59680062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780012372.8A Active CN108702454B (zh) 2016-02-29 2017-02-24 用于视频显示的方法、系统和计算设备

Country Status (4)

Country Link
US (1) US10274737B2 (zh)
EP (1) EP3424209A2 (zh)
CN (1) CN108702454B (zh)
WO (1) WO2017184251A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147743A (zh) * 2019-12-30 2020-05-12 维沃移动通信有限公司 摄像头控制方法及电子设备
CN112465939A (zh) * 2020-11-25 2021-03-09 上海哔哩哔哩科技有限公司 全景视频渲染方法及系统
CN112912823A (zh) * 2018-10-30 2021-06-04 脸谱科技有限责任公司 生成和修改增强现实或虚拟现实场景中对象的表示

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10687050B2 (en) * 2017-03-10 2020-06-16 Qualcomm Incorporated Methods and systems of reducing latency in communication of image data between devices
US10939038B2 (en) * 2017-04-24 2021-03-02 Intel Corporation Object pre-encoding for 360-degree view for optimal quality and latency
WO2019051649A1 (zh) * 2017-09-12 2019-03-21 深圳市大疆创新科技有限公司 图像传输方法、设备、可移动平台、监控设备及系统
DE102017217592A1 (de) * 2017-10-04 2019-04-04 Audi Ag Kinetosefreies Betrachten eines digitalen Inhalts in einem Fahrzeug
US10390063B2 (en) 2017-12-22 2019-08-20 Comcast Cable Communications, Llc Predictive content delivery for video streaming services
US10798455B2 (en) * 2017-12-22 2020-10-06 Comcast Cable Communications, Llc Video delivery
JP2019152980A (ja) * 2018-03-01 2019-09-12 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
KR102103418B1 (ko) * 2018-04-06 2020-04-23 주식회사 와이즈오토모티브 조감도 이미지 생성 장치 및 방법
US11425412B1 (en) * 2020-11-10 2022-08-23 Amazon Technologies, Inc. Motion cues for video encoding
DE102021117453B3 (de) 2021-07-06 2022-10-20 Holoride Gmbh Verfahren zum Betreiben einer Datenbrille in einem Kraftfahrzeug während einer Fahrt, entsprechend betreibbare Datenbrille, Prozessorschaltung sowie Kraftfahrzeug
DE102021117904A1 (de) * 2021-07-12 2023-01-12 Valeo Comfort And Driving Assistance Videostreamen von einem Fahrzeug zu einem entfernten Virtuelle-Realität-System
CN117014651A (zh) * 2022-04-29 2023-11-07 北京字跳网络技术有限公司 一种视频生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103096134A (zh) * 2013-02-08 2013-05-08 广州博冠信息科技有限公司 一种基于视频直播和游戏的数据处理方法和设备
US20140063037A1 (en) * 2011-02-17 2014-03-06 Saab Ab Flight data display
CN104350498A (zh) * 2012-06-05 2015-02-11 谷歌公司 用于存储和检索地理空间数据的系统和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495576A (en) * 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US6133944A (en) 1995-12-18 2000-10-17 Telcordia Technologies, Inc. Head mounted displays linked to networked electronic panning cameras
US7154504B2 (en) 2001-01-26 2006-12-26 Microsoft Corporation System and method for fast, smooth rendering of lit, textured spheres
US7336299B2 (en) * 2003-07-03 2008-02-26 Physical Optics Corporation Panoramic video system with real-time distortion-free imaging
US8194002B2 (en) 2004-09-14 2012-06-05 The Boeing Company Situational awareness components of an enhanced vision system
US7656403B2 (en) 2005-05-13 2010-02-02 Micoy Corporation Image processing and display
TW200734965A (en) 2006-03-10 2007-09-16 Sony Taiwan Ltd A perspective correction panning method for wide-angle image
US9111498B2 (en) 2010-08-25 2015-08-18 Eastman Kodak Company Head-mounted display with environmental state detection
US8831278B2 (en) 2010-11-30 2014-09-09 Eastman Kodak Company Method of identifying motion sickness
US20140063061A1 (en) * 2011-08-26 2014-03-06 Reincloud Corporation Determining a position of an item in a virtual augmented space
US9524585B2 (en) 2012-11-05 2016-12-20 Microsoft Technology Licensing, Llc Constructing augmented reality environment with pre-computed lighting
CN105094310B (zh) 2014-05-09 2019-08-16 梦工厂动画公司 虚拟现实驾乘系统中减少晕车的方法和系统
US9143693B1 (en) 2014-06-10 2015-09-22 Google Inc. Systems and methods for push-button slow motion
EP3347789B1 (en) * 2015-09-11 2021-08-04 SZ DJI Technology Co., Ltd. Systems and methods for detecting and tracking movable objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140063037A1 (en) * 2011-02-17 2014-03-06 Saab Ab Flight data display
CN104350498A (zh) * 2012-06-05 2015-02-11 谷歌公司 用于存储和检索地理空间数据的系统和方法
CN103096134A (zh) * 2013-02-08 2013-05-08 广州博冠信息科技有限公司 一种基于视频直播和游戏的数据处理方法和设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112912823A (zh) * 2018-10-30 2021-06-04 脸谱科技有限责任公司 生成和修改增强现实或虚拟现实场景中对象的表示
CN111147743A (zh) * 2019-12-30 2020-05-12 维沃移动通信有限公司 摄像头控制方法及电子设备
CN111147743B (zh) * 2019-12-30 2021-08-24 维沃移动通信有限公司 摄像头控制方法及电子设备
CN112465939A (zh) * 2020-11-25 2021-03-09 上海哔哩哔哩科技有限公司 全景视频渲染方法及系统
CN112465939B (zh) * 2020-11-25 2023-01-24 上海哔哩哔哩科技有限公司 全景视频渲染方法及系统

Also Published As

Publication number Publication date
CN108702454B (zh) 2020-09-18
US20170251176A1 (en) 2017-08-31
US10274737B2 (en) 2019-04-30
EP3424209A2 (en) 2019-01-09
WO2017184251A3 (en) 2017-12-14
WO2017184251A2 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
CN108702454A (zh) 选择运载工具捕获的视频的部分以用于显示
US11228622B2 (en) Multiuser asymmetric immersive teleconferencing
EP3350653B1 (en) General spherical capture methods
JP7042286B2 (ja) 滑らかに変化するフォービエイテッドレンダリング
CN112385241B (zh) 以基于景深的多层结构的vr媒体内容生成的装置及方法
WO2017110632A1 (ja) 情報処理装置および操作受付方法
CN108693970B (zh) 用于调适可穿戴装置的视频图像的方法和设备
JP2023513980A (ja) 画面上の話者のフューショット合成
KR102204212B1 (ko) 실감형 콘텐츠 제공 장치 및 방법
JP2023524326A (ja) 新規ビュー合成のためのニューラルブレンド
US20210058611A1 (en) Multiviewing virtual reality user interface
US11187914B2 (en) Mirror-based scene cameras
US20210349310A1 (en) Highly interactive display environment for gaming
US20230224431A1 (en) Techniques for enabling high fidelity magnification of video
US20240001239A1 (en) Use of machine learning to transform screen renders from the player viewpoint
US10572761B1 (en) Virtual reality system using super-resolution
Wetzstein Augmented and virtual reality
CN115834908A (zh) 多视图视频编解码器
CN115039410A (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