CN106973569A - 生成和回放虚拟现实多媒体的方法、系统和装置 - Google Patents
生成和回放虚拟现实多媒体的方法、系统和装置 Download PDFInfo
- Publication number
- CN106973569A CN106973569A CN201580038052.0A CN201580038052A CN106973569A CN 106973569 A CN106973569 A CN 106973569A CN 201580038052 A CN201580038052 A CN 201580038052A CN 106973569 A CN106973569 A CN 106973569A
- Authority
- CN
- China
- Prior art keywords
- cloud
- point
- data
- projection
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- 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
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/16—Using real world measurements to influence rendering
-
- 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/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种在具有和存储器互连的处理器的开发计算装置上生成虚拟现实多媒体的方法。该方法包括:在该处理器中采集一个表示一个场景的点云,点云数据包括对应于采集范围中的位置的多个点的颜色和深度数据;在处理器中生成一个点云选定部分的二维投影,该投影包括选定部分的颜色和深度数据;将二维投影存储至存储器。
Description
本申请要求2014年5月13日递交的申请号为NO.61/992488的题为“虚拟现实系统和方法”的美国临时专利申请的优先权,其内容以引用方式被包含于此。
本说明书涉及基于计算机的视频,尤其涉及一种虚拟现实系统和方法。所述术语“虚拟现实”在此处具有一般意义上的含义并可以用于,例如,传统虚拟现实系统、增强现实系统或混合现实系统。
得益于运动图像专家组(Motion Pictures Expert Group,MPEG)标准和相关标准,数字二维视频已被广泛接受并具备一定的商业规模。同样的,数字三维视频的进步正在使成本降低并使其更易获取。
同样地,视频游戏中的虚拟现实越来越多地被接受,并且类似于美国加利福尼亚州Oculus VR公司Oculus Rift的产品正在增加用户对虚拟现实体验的机会。然而,虚拟现实计算系统和方法仍然面临许多挑战。对于整合视频到虚拟现实并成功集成360度立体图像的早期尝试集中在要求每只眼睛对应一个视频流时,解决固定瞳孔间距问题的方案。一种可以提供从多个用户高度进行观看,对应多个瞳孔间距,且在位置跟踪时能保持合适的视差同时确保场景连续性(没有因阻挡丢失的像素)的视频信息流的解决方案仍然很难找到。
根据本说明书的一个方面,提供了一种在一个开发计算设备上生成虚拟现实多媒体的方法。该开发计算设备包括一个处理器,和一个与该处理器相连的存储器。该方法包括:在该处理器中采集一个用于表示一个场景的点云,该点云数据包括多个点中每个点的颜色和深度数据,该多个点对应于采集范围内的某些位置;在该处理器中生成一个点云中选定部分的二维投影,该投影包括该选定部分的颜色和深度数据;和将二维投影存储在该存储器中。
根据本说明书的另一方面,提供了一种开发计算设备。该设备包括:一个存储器;和一个与该存储器互连的处理器,该处理器被配置为执行上述方法。
根据本说明书的又一方面,提供了一种在用户计算设备上回放虚拟现实多媒体的方法。该计算设备包括一个处理器,该处理器与一个存储器和一个显示器互连。该方法包括:接收一个点云的二维投影,该投影包括该点云的颜色和深度数据;从二维投影再生该点云;和在该显示器上渲染该点云。
根据本说明书的又一方面,提供了一种用户计算设备。该设备包括:一个存储器;一个显示器;和一个与该存储器和该显示器互连的处理器,该处理器被配置为执行上述方法。
根据本说明书的又一方面,提供了一种生成和回放虚拟现实多媒体的系统。该系统包括上述开发计算设备,上述用户计算设备和一个连接到上述开发计算设备的用于采集点云的采集装置。
参考以下附图对实施例进行描述,其中:
图1是根据一个非限制性实施例所示的一个生成和回放虚拟现实多媒体数据的系统的示意图;
图2是根据一个非限制性实施例所示的球面坐标和使用球面坐标放置的点云的参考图;
图3是根据一个非限制性实施例所示的一个生成和回放虚拟现实多媒体数据的流程;
图4是根据一个非限制性实施例所示的在图3所述流程中运行的软件组件;
图5是根据一个非限制性实施例所示的图1所述系统的示例性的采集装置;
图6是根据一个非限制性实施例所示的图5所述采集装置的三视图;
图7是根据一个非限制性实施例所示的图5所述采集装置的变体的三视图;
图8是根据一个非限制性实施例所示的生成和回放虚拟现实多媒体数据的一种方法;
图9是根据一个非限制性实施例所示的执行图8中步骤805的一种方法;
图10是根据一个非限制性实施例所示的执行图8中步骤810的一种方法;
图11是根据一个非限制性实施例所示的一个示例性的点云;
图12是根据一个非限制性实施例所示的使用图8所述的方法生成的一个示例性的二维投影;
图13A-13B是根据一个非限制性实施例所示的图12所述投影的示例性的数据结构;
图14A-14C是根据一个非限制性实施例所示的图12所述投影的其他的数据结构;
图15是根据一个非限制性实施例所示的一种执行图8中步骤805和810的示例性操作流程;
图16是根据一个非限制性实施例所示的一种执行图8中步骤815的示例性操作流程;
图17是根据一个非限制性实施例所示的另一种执行图8中步骤815的示例性操作流程;
图18是根据一个非限制性实施例所示的通过执行图8中步骤815获得的示例性的文件结构;
图19是根据一个非限制性实施例所示的通过执行图8中步骤815获得的另一种示例性的文件结构;
图20是根据一个非限制性实施例所示的一种执行图8中步骤820的示例性操作流程;
图21是根据一个非限制性实施例所示的一种执行图8中步骤825的示例性操作流程;
图22是根据一个非限制性实施例所示的通过执行图8中步骤825生成的点云;
图23是根据一个非限制性实施例所示的一种执行图8中步骤820和825的示例性操作流程;
图24是根据一个非限制性实施例所示的一个图8中步骤830的优化的渲染过程的示意图。
图1描述了一个用于生成和回放虚拟现实多媒体数据的系统10。例如,系统10被配置为生成和回放虚拟现实视频数据(所述视频数据可以伴随有音频数据)。所述虚拟现实视频数据可以在视频所描述的场景中模拟观看者的存在。因此,例如可以跟踪观看者头部的移动并且将其用于更新视频中的显示。
系统10包括一个生成计算设备28。所述计算设备也可以被称为开发计算设备28、开发设备28或简称为设备28。简而言之,开发设备28被配置为生成上述多媒体数据。系统10进一步包括客户计算设备36。该客户计算设备36也可以被称为用户计算设备36、用户设备36或简称为设备36。用户设备36被配置为接收并回放开发设备28生成的多媒体数据。例如,多媒体数据可以通过网络112在开发设备28和用户设备36之间传递。网络112可以包括有线网络和无线网络的任意合适的组合,包括但不限于广域网(Wide Area Network,WAN),例如,因特网、局域网(Local Area Network,LAN),例如,企业数据网络、手机网络、WiFi网络和WiMax网络等等。
在一些实施例中,中间计算设备,例如,内容存储服务器(图中未示出),可以参与所述多媒体数据从开发设备28到用户设备36的传输。在另一些实施例中,所述多媒体数据可以通过物理介质(例如,光盘、闪存等等),而非网络112,进行传递。
开发设备28可以基于任何合适的计算环境,例如一台服务器或一台个人计算机。在本实施例中,开发设备28可以是一个台式计算机,所述台式计算机包括一个或多个处理器。所述处理器统称为处理器116。处理器116的种类不限。例如,处理器116可以包括一个或多个通用的中央处理单元(central processing units,CPUs),还可以包括一个或多个图形处理单元(graphic processing units,GPUs)。这里讨论的各种处理任务的执行可以由所述中央处理单元和图形处理单元共同承担,这对于本领域技术人员而言是显而易见的。
处理器116与一个非暂时性计算机可读存储介质相连,例如存储器120。存储器120可以是易失性存储器(例如,随机存取存储器("RAM"))、非易失性存储器(例如,只读存储器("ROM")、电擦除可编程只读存储器("EEPROM")、闪存、磁性计算机存储设备或光盘)的任意合适的组合。在本实施例中,存储器120包括一个易失性存储器和一个非易失性存储器。处理器116和存储器120通常由一个或多个集成电路(integrated circuits,ICs)组成,并且可以具有各种各样的结构,这对于本领域技术人员而言是显而易见的。
开发设备28还可以包括一个或多个输入设备124。所述输入设备124与处理器116相互连接。输入设备124可以包括键盘、鼠标、麦克风等的任意合适的组合。所述输入设备被配置为接收输入,并将所述输入以数据的形式提供给处理器116。例如,键盘可以接收用户通过按下一个或多个按键形成的输入,并将可以标识所述按键的数据提供给处理器116。
开发设备28还包括一个或多个输出设备,例如显示器128(例如,液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或阴极射线管(CRT)显示器)。所述输出设备与处理器116相互连接。开发设备28也可以包括其他输出设备,例如扬声器(图中未示出)。处理器116被配置为控制显示器128向开发设备28的操作者提供图像。
开发设备28还包括一个或多个网络接口,例如网络接口132。所述网络接口与处理器116相互连接。所述网络接口使开发设备28能够通过网络112连接到其他计算设备(例如,用户设备36)。网络接口132包括通过网络112进行通信的必要硬件。
系统10还包括一个多媒体采集装置,例如采集装置24。所述多媒体采集装置可以通过任意合适的接口连接到处理器116。一般来说,采集装置24采集一个环境或场景的视频(可以包括音频或包括音频),并将采集的数据提供给开发设备28。关于采集装置24的更为详尽的描述可以参见下文。在一些实施例中,多媒体采集装置可以是虚拟的而非图1中所示的物理形态的采集装置24。例如,多媒体采集装置可以由存储在存储器120中的三维动画应用程序44提供,并且可以由处理器116运行以创建多媒体数据。
用户设备36可以基于任何合适的计算环境,例如一台个人计算机(例如,一台台式计算机或便携式计算机),一部可移动设备,比如,一部智能手机,一台平板计算机等等。用户设备36包括一个处理器136。所述处理器136与一个存储器140、一个输入设备144、一个显示器148和一个网络接口152相互连接。处理器136、存储器140、输入设备144、显示器148和网络接口152可以与如上描述的开发设备28中相应的组件基本相同。
另外,系统10包括一个视图跟踪显示器40,所述视图跟踪显示器40可通过任意合适的接口连接到用户设备36中的处理器136。视图跟踪显示器40是一个包括至少一个显示器和一个跟踪操作者移动的机构的任意合适的设备。例如,视图跟踪显示器40可以是一个跟踪头部的头戴式显示设备,例如美国加利福尼亚州Oculus VR公司的产品Oculus Rift。对于本领域技术人员显而易见的是,视图跟踪显示器40可以包括独立于用户设备36的一个处理器、存储器和通信接口。此外,在一些实施例中,用户设备36和视图跟踪显示器可以集成为一体,从而使得视图跟踪显示器40本身包括用户设备36中的组件。
一般而言,如下文所述,开发设备28被配置为,通过处理器116执行保存在存储器120中的由计算机可读指令组成的应用程序,从采集装置24(或应用程序44)接收多媒体数据,并通过执行各种操作对所述多媒体数据进行打包,便于传输所述数据至用户设备36。相应地,用户设备36被配置为,通过处理器136执行保存在存储器140中的由计算机可读指令组成的应用程序,接收开发设备28生成的打包的多媒体数据,通过执行各种操作对打包的多媒体数据进行“解包”,并控制视图跟踪显示器40显示解包后的数据。
为了说明上述多媒体数据的本质,现参考图2。图2所示为球面坐标系92的轴线图,其中(如本领域技术人员可以理解的)一个点的位置可以通过(i)所述点距离原点(球体的中心)的距离“r”,也可以被称为所述点的深度(ii)x轴和所述点在x-y平面上的投影之间的方位角“θ”,以及(iii)z轴和从原点到该点的线段之间的极角“Φ”,进行描述。
图2进一步描述了由等深度的球状排布的点构成的穹顶96(即,球体的一部分),和由等深度的点构成的完整球面100。为了更好地理解本说明书,想象所述完整球面100包括更多位于球体内不同深度且具有颜色不同的点,以从一个位于球体中心的单一视角重建一个场景。通过使用上述结构提供一个全景视图将被用作一个点云全景的参照。其中,所述全景视图是由基于位置进行放置的像素创建而得。所述全景视图可以像原始场景中一样对用户头部的运动、瞳孔间距的差异以及观看者高度的差异作出响应。所述头部的运动包括但不限于旋转、平移的头部运动。为了重建一个移动的场景,移动场景的每一帧被表示为一个类似于上述“被填充”的球体100的点云全景(与将移动场景表示为一系列二维像素阵列的传统表示方式形成对比)。所述运动点云全景是本说明书所述发明的最终产物。
图3所示为图1中提到的一般的采集和回放过程。如图3所示,采集装置24采集的数据和/或三维动画应用程序44中的一个虚拟相机采集的数据被传输至开发计算机28。所述采集的数据,被称为点云48(实际上是按照时序排列的多个点云,每个点云表示在预设时间段采集的场景,类似于常规视频中的一帧)。如图4所示,开发计算机28将(在处理器116中从采集装置24或应用程序44接收的)原始点云数据48压缩并转换为经过优化的,以便在视图跟踪显示器40中的观看的文件格式60。视图跟踪显示器40,如上文所述,通常是一个具有头部跟踪功能的头戴式显示器,例如美国加利福尼亚州Oculus VR公司的产品Oculus Rift。
返回图3,所述文件60被打包后,可以进行文件传输过程32。所述文件可以在一个最终静态内容(final static content)的直接下载中进行传输,从一个播出服务器(broadcast server)(未示出)中进行流式传输,或直接从开发设备28进行逐帧传输。在任何一种传输方式下,用户计算机36将接收具有一定格式的文件60,并对文件60中的数据进行解压缩,然后重建点云全景。文件60的格式将结合图18进行进一步讨论。从这里的讨论中可以显而易见的看出重建的点云全景不需要精确地对应于初始采集的点云全景。重建的点云全景图像通过将一个虚拟相机按照视图跟踪显示器40设备提供的方向和位置信息放置在重建的点云全景内来观看。然后,用户设备36中的处理器136运行的播放器软件64,将结合图4进行进一步讨论,以适于视图跟踪显示器40的格式渲染重建后的点云,模拟观看者真实存在于点云全景内的情形(即,模拟视图跟踪显示器40的操作者存在于原始记录的场景内)。
图4所示为由开发设备28执行的压缩和转换操作的一个具体实施例。图4描述了开发设备28和用户设备36中某些软件组件;开发设备28和用户设备36通过处理器116和136运行所述软件组件来执行如下所述的操作。各种各样其他软件组件也包含于此。设备28和36通过处理器116和136运行所述其他软件组件,执行如下所述的操作。所述操作的其他实施例也将在此处进行讨论。
原始数据48可以由采集装置24(例如,包括一个或多个图像相机和/或深度相机的一个物理相机—更多的采集装置24实施例将在下面进行讨论),和/或三维动画应用程序44内部的虚拟相机,例如美国加利福尼亚州Autodesk公司的产品Maya,或者三维实时渲染引擎(用于远程虚拟现实或云虚拟现实),例如美国加利福尼亚州Unity Technologies公司的产品Unity,进行创建。原始数据48包括任何种类的点云集合的颜色和位置信息。(需要注意的是,所述颜色是指非限制性意义上的包括全色谱的子集,包括,例如,纯灰度级采集)。所述原始数据48可以作为编辑器/插件52的输入。所述编辑器/插件52可以作为一个现有三维应用程序,例如美国加利福尼亚州Autodesk公司的产品Maya,的扩展或者一个独立应用程序。两者都可以在如图1所示的硬件实施例中的开发计算机28上运行。
编辑器/插件52获取原始数据48并通过执行一个流程将所述原始点云数据48转换成编解码器可读的结构。所述编码器可读结构将结合图18进行进一步讨论。通过编解码器API 56,所述结构被压缩成文件格式60。所述编解码器API 56也包含于图1所示的硬件实施例中的开发计算机28。
编解码器56可以是一个动态链接库。所述动态链接库可以同时存在于图1所示的开发计算机28和用户计算机64上。即开发设备28可以通过运行所述编解码器56,将原始点云数据48压缩到文件60中。用户设备可以通过运行编解码器56(的另一个副本),从文件60中重新创建一个点云。编解码器56在其输入流中从编辑器/插件52获取点云数据簇,并压缩所述点云数据簇使其能够在图3所示的文件传输过程32进行传输。所述点云数据簇将在下文进行讨论。上述压缩过程可以包括使用深度信息(位置信息)和传统的图像压缩技术提高目标或斑点检测效率,并因此改善平移和旋转方法的使用,在降低运动图像中的比特率的同时减少上述压缩过程带来的伪影。下文将对这些问题进行更详细的讨论。编解码器56输入过程的最后阶段是使用所述压缩数据结构将文件写入文件格式60,关于这点将在图18中进行进一步的讨论。
播放器64是一个存储在存储器140中并且可由在图1所示的用户计算机36上的处理器136运行的,类似于一个三维游戏引擎,例如美国加利福尼亚州Unity Technologies公司的产品Unity,的三维绘制软件。播放器识别要观看的文件60,然后通过使用编解码器56打开并逐帧对所述流线型文件进行解压缩(每一帧是一个重建点云)。播放器64使用编解码器56来加载单独的一帧,并在一个虚拟相机的周围填充彩色点,用于将一个图像渲染到视图跟踪显示器40上。该过程将在下面进行进一步的讨论。
在进一步描述系统10采集和回放多媒体数据的操作之前,首先讨论采集装置24。下面的讨论涉及物理采集装置,但是开发设备28中的应用程序44的具体实施方式也可以仿照如下讨论。
如图5所示,采集装置24包括一个或多个全景深度采集设备和/或图像采集设备,例如相机。一个设置有单个采集设备(节点)的装置可以提供一个对环境的基本深度扫描,但无法利用“折叠”带来的有利条件,如下文所述。例如,美国华盛顿州雷德蒙德市Microsoft公司的产品Kinect可以提供一个(部分)深度点云。所述深度点云包括带有位置信息的彩色像素。然而,在没有额外节点的情况下,这样的设备无法实现此处所描述的功能。
一般而言,采集装置24包括多个节点。放置在采集范围内不同的位置的每个节点在其视野内生成颜色数据和深度数据。在本实施例中,每个节点的视野为近乎三百六十度乘以三百六十度(即,每个节点采集一个完整球面内的数据)。然而,在其他实施例中,节点可以具有较小的视野。节点的种类没有特别的限制。例如,每个节点可以包括一个相机和一个深度传感器。在一些实施例中,每个节点可以包括多个相机和多个深度传感器以达到上述视野。作为一个具体实施例,每个节点都可以采用加拿大多伦多市Bubl Technology公司的产品Bublcam。
采集装置24可以采用各种各样的节点设置。节点的数量越多,在多媒体数据中可以采集的细节(特别是对于复杂场景)越多。然而,节点配置的当前优选实施例将结合图5进行进一步讨论。
图5所示为可以用作图1中采集装置24的多节点采集装置24的三个具体实施例500、504和508。装置500为四面体形状,装置504为三棱柱形状,装置508为八面体形状。所述采集装置的采集范围在图中表示为围绕每个采集装置的虚线球体(关于装置500、504和508的实际采集范围的大小可以大于或小于图中所示的大小)。500、504、508中的每个装置包括多个采集节点。所述多个采集节点包括中心节点x和外围节点a、b、c、d,以及e和f(对于装置504和508而言)。图6所示为上述装置根据图5所示的方向所对应的顶视图、侧视图和前视图。
所述采集装置在运动点云全景图像内创建多个安全运动区域。一个安全运动区域可以描述一个围绕球形坐标系中心(如图5中节点x的位置所示)的范围。在所述范围内,点云与初始采集空间保持连续。在所述范围之外,可能开始出现缺失的元素或边缘(但不是一定出现)。在图5所示的所有视图中,所述安全区域的轮廓由节点之间的线段表示;在图6中,所述安全区域的轮廓由虚线表示。视图跟踪显示器40的用户可以在所述安全区域内,在空间范围允许的条件下,对其视图跟踪显示器40进行各种旋转和位置的调整。每个节点可以在图中表示为一个圆形,所述圆形的内部或外部连接有一个字母。所述每个节点表示一个记录颜色和深度的采集装置,例如美国西雅图Microsoft公司用在Windows中的产品Kinect。所述采集装置对一个点云进行表示并表示出原始数据48的一个具体实施例(具体而言,原始数据48的一部分;所有节点共同采集的数据合在一起表示原始数据48)。一般而言,安全区域中的每一个点都将通过至少两个节点,优选地,至少三个节点进行观看,以获取平行视差。
在一些实施例中,中心节点x可以被省略。图7所示为装置500和504的变体500'和504',其中省略了中心节点x。由此,本领域技术人员可以想到其他各种各样的采集装置24。
在一些实施例中,可以采用更复杂的采集装置。对于本领域技术人员显而易见的是,采集装置500、504和508能够采集稀疏光场。更完整的光场可以使用其他采集装置采集。例如,当从虚拟相机中进行采集时,可以通过对所述采集过程的修正,生成更好的结果。所述虚拟相机包含于类似Maya的3D应用程序(例如应用程序44)中。在所述虚拟相机中,我们可以从中心节点处开始采集(360颜色/深度)。我们现在可以沿着中心节点和外围节点之间的连线(例如,在装置500中的节点x和节点a、b、c、d之间的连线)逐渐移动所述相机,并通过使用360色彩/深度数据创建一个估计图像。当我们移动所述相机至以前被遮挡的区域时,所述估计中将开始出现孔洞。当我们得到带有孔洞的图像时,我们可以渲染出缺失的区域(深度和颜色),并将它们添加到点云中。(虚拟的)中心节点的移动可以提供中心节点和外部节点之间的多个点的采集数据。因此,采集装置从多个视点获取采集范围内出现的每个点。所述视点的数量远大于图5所示装置中的视点的数量。
(虚拟的)中心节点(或任何其他合适的节点)的移动使系统10能够采集表面的光场估计图像。所述表面的呈现的颜色取决于视角(镜面的、反射、折射)。在节点之间逐渐移动相机,在多个不同视点处获取采集节点内点的颜色(反射率较高的表面,例如,基于视点位置的不同,在外观上可以产生明显的变化)。这使得分析光场分布以及创建一个适于渲染的估计图像成为可能。
如上所述为系统10和采集装置24的描述,下文就系统10生成和回放虚拟现实多媒体的操作过程进行更详细的描述。图8所示为采集和回放虚拟现实多媒体的方法800的示例性流程。方法800的具体实施方式将结合其在系统10中的实施方式进行描述,尽管方法800也可以在其他合适的系统中实施。方法800中所述的步骤可以由开发设备28和用户设备36执行。可以理解的是,设备28和36分别通过处理器116和136运行存储在存储器120和140中的计算机可读指令来执行这些步骤。
在步骤805中,开发设备28被配置为采集所述点云数据。所述点云数据可以通过运行应用程序44或通过控制采集装置24进行采集。所述点云数据包括采集范围内的多个点中每个点的颜色值和深度值。此外,采集的点云数据可以包括多组点云数据,其中每组表示在不同时刻的采集范围(即,向终端用户显示的场景)。在另一些实施例中,如上所述,所述点云数据可以由光场数据表示;然而,为了便于说明,每一个点的颜色和深度将在下文讨论。所述点云数据的格式没有特别的限定。采集点云的一个具体实施例将在图9中进行描述。
在步骤810中,开发设备28被配置为,对上述多组点云数据(即,对产生的视频的每个帧)中的每一组,生成点云数据中某一选定部分的投影。换句话说,开发设备28被配置为从点云数据中选择一部分,并将所选部分中的每个点置于二维图像中。因此,通过投影可以将初始点的坐标(例如球坐标)替换为二维坐标(例如x和y)。每个投影点可以与一个深度值一起保存。一般而言,基于一个虚拟视点,可以从所述点云数据中选取用于投影的部分。所述虚拟视点的位置通过开发设备28进行设置。选择和投影所述点云数据的具体实施例将结合图10进行进一步讨论。
步骤810的实施将使每一“帧”产生多个二维帧。每个二维帧都伴有深度数据。另外,在步骤810中,每一帧可以有“折叠”,额外的颜色数据和深度数据,表示采集范围的点。所述点不包括在投影中,,但有可能在响应操作者头部移动时,在视图跟踪显示器40中被渲染为可见。换句话说,折叠表示相对于上述虚拟视点而言在采集范围内投影点之后的那些点。折叠的产生和存储将结合图10进行讨论。
在步骤815中,开发设备28被配置为准备将步骤810中生成的多个帧传输至用户设备36。如前所述,准备传输所述帧的过程可以包括运行编解码器56。例如,所述投影的二维颜色数据(对于投影或折叠)可以通过常规图像压缩技术进行压缩。所述深度数据可以不经过压缩,或者可以采用不同的压缩技术进行压缩。
多媒体数据的传输准备完成后,可以进行上述文件传输过程。文件传输的方式没有特别的限制。文件传输的介质(例如,有线网络连接或无线网络连接、物理存储介质等等),或传输的时间(例如,传输可以在准备完成后立即进行,或者在准备完成后任何合适的时间段内进行)都不做限制。
在步骤820中,用户设备36被配置为接收步骤815中准备的数据,并解码所述数据。在用户设备36中实施的所述解码操作通常通过运行编解码器56来实现。所述编解码器56与开发设备28中准备传输多媒体数据所采用的编解码器56相同。因此,在步骤820中用户设备36被配置为,从步骤815中准备的(随后传输至用户设备36)的数据中,恢复开发设备28在步骤810中生成的投影。步骤820中所述解码过程的实施例将在下文中结合图20和图23进行描述。
在步骤825中,用户设备36被配置为通过处理器136运行上述播放器64,重新生成部分点云数据。所述部分点云数据是由开发设备28在步骤810中进行投影时所选定的部分点云数据。因此,在步骤825中,用户设备通过将在步骤820中解码的投影和深度数据进行组合,产生一个点云(但通常仅表示初始点云中的部分点)。所述点云与步骤805中所采集的点云相似。所述重新生成部分点云的过程将结合图21-23进行描述。
在步骤830中,用户设备830被配置为通过视图跟踪显示器40渲染步骤825中再生的点云。用户设备36基于视图跟踪显示器40确定的观看者的位置执行所述渲染操作。流程830中再生点云的渲染将结合图23进行讨论。
图9所示为步骤805中采集点云数据的一个示例性流程。在步骤900中,开发设备28被配置为接收采集装置24的每个节点生成的原始点云数据。基于图5,对于本领域技术人员而言显而易见的是,任意给定采集装置中的每个节点可以在所述采集范围内的至少一个子范围内生成点云数据。在步骤900中,处理器116从每个节点处接收所述点云数据。
在步骤905中,开发设备28被配置为将在步骤900中接收到的点云数据组配准至同一个参考系(即相同的坐标空间)内。例如,采集装置24的每个节点可以被配置为生成点云数据。所述节点生成的点云数据中的每个点的坐标以所述节点为中心。已知采集装置24中的多个节点的相对位置时,任何给定节点的点云数据可以通过公知技术变换到以采集范围的中心为原心的一个参考系内(例如,一个与图5中节点x的位置相一致的位置)。
至此,显而易见的是,当原始点云数据组被配准至同一个参考系时,采集范围内的多个位置将在配准的点云数据内被多次描述。也就是说,采集范围内的同一位置对于多个节点具有可见性。开发设备28因此被配置为将配准的点云数据中的任何重叠点(无论是完全重叠还是仅部分重叠),压缩或折叠成较少数量的点。
在步骤910中,开发设备28被配置为确定配准的点云数据中的每个点是否与其他点重叠(完全重叠或部分重叠)。当判定结果为否定时,开发设备28执行步骤915。在步骤915中,对配准的点云数据进行更新时,对非重叠点不做任何改变(即所述更新可以是空更新)。当步骤910中任何一个点的判定结果为肯定时,开发设备28可以被配置为执行步骤920。在步骤920中,开发设备28可以被配置为确定重叠点之间的色差是否大于一个预设的阈值。也就是说,如果不同的节点在采集范围内记录到相同(或相似)的位置在表象上存在显著的差异,这就意味着采集范围内包括具有高度反光、如同镜面或其他类似特点的表面。
当步骤920中的判定结果为否定时(例如,重叠点不存在颜色差异或所述颜色差异低于上述阈值),开发设备28执行步骤915,并通过将重叠点替换为单个点的方式完成对所述配准点云的更新。例如,所述单个点的颜色值可以等于初始重叠点颜色值的平均值。
然而,当步骤920中的判定结果为肯定时,开发设备28可以被配置为创建一个色板图像。所述色板图像包含重叠点颜色值的一个子集或全部颜色值。一个色板图像可以存储所述配准的点云中单个点的多种可能的颜色。优选地,所述色板图像将所述可能的颜色存储在二维阵列中。所述色板图像中心处的颜色对应于从点云的中心观看到的点的颜色。除去所述色板图像的中心,在不同方向和不同距离处的颜色对应于自点云的中心以相应的方向和相应的距离观看到的点的颜色。在一些实施例中,所述色板图像可以只存储亮度或强度值,而不存储全部颜色值。点云中点的色度或其他颜色值可以存储在所述点中(连同一个对所述色板图像的引用)。
在步骤915中,开发设备28被配置为通过一个指向所述色板图像的索引值对配准的点云进行更新,以替代一个颜色值。可以预见的是在一些实施例中,步骤920和925可以被省略。
图10所示为执行方法800中的步骤810的一个示例性流程。在步骤1000中,采集到点云数据后(例如,图9所示的采集到原始点云数据和生成配准的点云数据后),开发设备28被配置为在采集范围内选择一个视点。所述视点的选择是基于视图跟踪显示器40检测到的观看者的预测起始位置而确定的。例如,可以选择将采集范围的中心作为所述视点。
在步骤1005中,开发设备28被配置为选择一个矢量进行处理。在上述实施例中,点云数据被存储在球坐标中。矢量的选择包括选择方位角和极角。然而,点云数据也可以被存储在其他坐标系。一般而言,在步骤1005中,开发者选择一条从所选视点延伸的路径,而不选择对应于所述路径的深度。图11所示为选择的视点1100和从所述视点延伸出的路径1104的一个实施例。
在步骤1010中,开发设备28被配置为沿着所选择的路径或矢量将点云中的第一点进行投影。所述第一点相对所选择的视点可见。即从所述视点沿着所述路径看的时候,对第一个被"看到"的点进行投影(即添加到一个二维图像中)。例如,再次参照图11,路径1104与一个目标1108在所述目标的"下"表面上的一个点1112处相交。点1112因此被添加到所述投影中。在图11可以清楚的看出,路径1104还在目标1108的"上"表面上的第二点1116处与目标1108相交。但相对视点1100的所在位置,点1116不可见。
返回图10,在步骤1015中,开发设备28被配置为确定在步骤1005中选择的路径上是否存在其他的点。当步骤1015中判定的结果为否定时(即所选择的路径不与点云中的任何其他点相交,意味着沿所述路径的点云的其余部分是空的,例如,描述空气时),开发设备28执行步骤1020。在步骤1020中,开发设备28确定是否已经对所有路径进行处理(例如,是否已经对相对所选视点的极角和方位角的每个增量进行处理)。当判定结果为否定时,方法810的执行返回到步骤1005中,以选择另一路径和其他投影。
当步骤1015中判定的结果为肯定时,开发设备被配置为执行步骤1025。在步骤1025中,步骤1005中所选路径上存在的任何其他点都可以被添加到投影图像的一个折叠区域。也就是说,所述投影图像的一部分为步骤1010中投影的点预留,另一部分为折叠预留。所述折叠是点云中相对步骤1000中所选的视点不可见的点的投影。但如果移动所述视点,则所述点可以变得可见。再次参照图11,如果视点1100在进行回放时(视图跟踪显示器40检测到的回放)移动到位置1100-1,则点1116将变得可见(而此时点1112将不可见)。
在步骤1025中,开发设备28可以被配置为在向所述投影图像中添加一个折叠点之前,确定所述折叠点是否处于一个预测范围内。所述预测范围为步骤1000中所选视点的预测运动范围。也就是说,相对初始位置,所述视点可以对应一个预测的最大行进距离。开发设备可以完全省略那些仅在所述视点移动至超过最大行进距离之后变得可见的折叠点。再次参照图11,视点1100-1可以被认为处于视点1100的预定运动范围之外,因此点1116可以在所述投影图像中省略。然而视点1100-2可能处于所述预定运动范围内,因此一个在目标1108的“前”表面上且与另一路径1120相交的点相对视点1100不可见。因此,所述位于目标1108前表面上的点可以作为一个折叠点添加到所述投影图像中。
完成对所有路径的处理后,开发设备28开始对步骤1030中的下一帧进行处理(即点云数据中的下一组),并通过重复执行步骤810生成另一个包含折叠数据的投影图像。
重复执行步骤810可以获得多个包含颜色值的二维图像。所述二维图像通过对采集装置24采集的点云数据进行投影而获得。所述二维图像也可以包含深度值,或可以被存储在相应图像中的深度值(即具有相同结构,但只包含深度值而不包含颜色值)。参照图12,其所示为所述二维图像的一个具体实施例。
图12所示的图像具有一个投影区域1200。所述投影区域包含执行步骤1010过程中投影的点。所述图像还包括至少一个折叠区域。在本实施例中,包括三种折叠。所述图像中包括一个y-折叠区域。所述y折叠区域是为所述图像中颜色数据对应的与所述投影图像具有相同的宽度的线而预留的。所述颜色数据线与位于所述投影区域1200中某一行“后面”的点相对应。因此,区域1024可以存储一个与区域内每行的颜色值相关联的索引值。所述图像中包括一个x折叠区域。所述x-折叠区域为所述图像中颜色数据对应的与所述投影图像具有相同的高度的线而预留的。所述颜色数据线与位于所述投影区域1200中一个特定列后面的点相对应。进一步地,一个m-折叠区域包含特定的像素。所述像素按x坐标和y坐标编入索引,且位于投影区域1200中特定点的后面。
折叠的类型没有特别的限制。例如,当相当一部分(例如,超过百分之八十)给定的m-折叠点都出现在同一行或同一列时,开发设备28可以被配置为存储一个y-折叠(或一个x-折叠)而非所述m-折叠。
图12的下半部分所示为x-折叠和y-折叠关于投影区域1200的三维排布的一个实施例。所述折叠对应于包含颜色数据的投影图像的某些区域。与区域1200中相似位置处的颜色数据相比,所述折叠具有不同的深度。
图13A和13B所示为执行步骤810时生成的所述帧的其他结构。可以为折叠数据预留特定区域的任何合适的投影方法以及各种各样的结构都可以被包含于此。作为示例,可用投影技术可以包括等量矩形投影、立方体映射、八面体环境映射、正弦投影、铅锤投影和安托夫投影。在图13A所示为一种结构布局。相比为折叠在二维图像内预留特定区域,所述结构布局中y-折叠1300和x-折叠1304被以内联的方式嵌入投影图像数据。m-折叠也可以以内联的方式放置,或省略。
图13B所示为投影区域1316的上方包含m-折叠1308和y-折叠1312的另一个实施例。在本实施例中,x-折叠可以被省略。这个实施例更适于,例如,投影图像的宽度难以调节的情况。
本申请还可以包括其他投影模型和二维图像结构。例如,在图14A-14C所示的修正后的等量矩形投影。对于本领域技术人员来说显而易见的是,常规的等量矩形在投影图像的底部和顶部存在过采样(由于点云的“极点”扩展至投影的宽度)。为了解决所述过采样带来的低效问题,开发设备28可以采用一个修正后的等量矩形投影。在所述投影过程中,可以更大程度地由所述图像中心向其顶部和底部,对其宽度(水平轴)进行缩放。另外,可以采用正弦投影或铅锤投影实现上述缩放,或者可以采用一个更简单的线性缩放实现如图14A中所示的菱形形状。
在图14B所示的变体中,对所述菱形投影区域进行旋转,使4个折叠区域合并为2个。进一步地,在图14C所示的变体中,对图14B中所示的投影区域进行偏斜,使所述折叠合并至单个区域。
可以预见的是,在步骤810生成的(任何形式的)投影可以包括对色板图像而非颜色数据的引用,其中步骤920中的判定表明基于不同的视点位置,采集范围内一个特定位置可以具有明显不同的表象。在一些实施例中,所述色板图像可以被存储于一个或多个其他帧内(例如,具有和上述二维图像一样大小的尺寸)。在另一些实施例中,所述色板图像可以被存储于与上述投影区域和折叠区域分开的其他区域中。
图15所示为步骤805和810的采集点云数据并生成二维图像的另一个实施例。与上述关于图9和图10描述的过程形成对照的是,图15中所示的过程可以预见通过识别点云数据中团状的点或簇状的点以完成其余的压缩,并将对所述簇状数据点的索引,而非其颜色和深度数据,存储于后续的二维图像中。原始数据48被采集后,将通过一个流线化过程使所述数据适于压缩和传输。所述过程从去重步骤1500开始。重复的内容包括开发者不愿重复的结尾帧1504中的流线化数据,例如,静态背景。
从上述关于步骤910和915的讨论中可以得出,去重步骤1500将所有的点转换至同一个坐标空间,例如,图5所示的原点位于所述安全区域的中心的球面坐标系。通过一份记录在采集装置(例如,图5所示的采集装置)中的每个采集设备所用过的点的列表和一个存储在类似八叉树的有序结构中的一个中心使用点的列表,以减少对这些重复的计算。在前一帧中配准点云内没有的点即被视为“未使用”(例如,因为所述点代表的位置也可以由另一节点的其他点代表)。每个节点的未使用点深度的变化被记录。如果所述深度没有变化,则该点保持未使用状态。如果所述深度发生变化,则该像素点将被加入到所述有序结构中,并对照当前已使用的点检查所述像素点。通过这种方式,仅需要检查采集的数据中发生变化的点是否重复,然后对照一个有序结构进行检查,以减少计算。
去重后,可通过对所述数据进行一个帧内分析1508,识别场景的结构。所述帧内分析可以包括通过常规的边缘或斑点检测技术识别基于位置进行分组的点(簇)。识别后的点可以由编解码器56进行压缩。下一步骤是将所述点进行重投影1512(上述关于图10的描述可以作为其一个具体实施例)到最终观看的坐标系,例如对所述点进行以用户的理想观看位置为中心的球形重投影。所述重投影可以包括在可以包含多条由点组成的线的等量矩形投影中创建折叠以及x和y(方位角和极角)的索引。所述索引中的重复可以被存储为一个无符号整数阵列。所述阵列可以被播放器用于控制新的折叠等量矩形投影,使其在一个折叠索引上保持相同的角度。在将数据发送到编解码器之前,需要进行连接帧间簇的帧间分析1516。帧间分析1516可以提高编解码器内的压缩效率。所述压缩是基于预测进行的。最后一步是将流线化数据以合适的方式发送至编解码器进行压缩和打包操作1520(例如,方法800中的步骤815)。
如前所述为步骤805和810的各种具体实施例,下文将对步骤815的具体实施例进行讨论。如前所述,通过运行编解码器56,对步骤810中生成的二维图像做一些准备。因此,在步骤815中,根据所使用的编解码器,将进行各种准备。如图16所示为步骤815的一个具体实施例。开发设备28通过运行编解码器56来完成图16所示的流程。图16所示的流程假设执行步骤805和810的流程与图15中所述的流程相似。特别地,图16假定簇在原始点云数据中已被识别,并且在二维图像中已对所述簇进行标记。
编解码器56,如对图1所示实施例中的开发计算机28和用户计算机64的描述中所述,对应一个压缩和一个解压缩过程。所述压缩过程的第一步是在步骤1600中打开一个数据或传输流。这将使得编解码器在完成传输流或完成文件之前拥有访问该流的权限。接下来,一个基于位置的点的分组将被添加到编解码器(步骤1604)和一个表示最终文件格式的内部结构中。其中,所述分组包括颜色数据。被添加至编解码器中的所述分组是从编辑器或广播器中获得的。
在步骤1608中,对所述分组进行压缩。所述压缩可以包括使用传统图像压缩技术对颜色数据进行压缩,例如,PNG(portable network graphics,PNG)无损压缩。对于位置信息,可以使用多种新技术中的任何一种。为了便于压缩,在一个实施例中,可以将信息存储在球坐标中。图像信息被存储在等量矩形投影或立方映射(或任何其他合适的投影)中。位置信息是通过在图像数据的像素位置处添加一个深度值进行存储。压缩位置信息的方法可以包括:跳过与透明像素相关的任何深度信息;跳过距离最终观看者过远以致于不具有任何明显视差的像素的深度数据,将其置于默认最大距离处;每个簇可以保存一个无符号整数以表示簇的中心的深度,从而可以使用距离初始空位(即,簇的中心)的字节偏移量表示每个像素深度。
所述深度信息还可以被用于改进现有的基于运动图像的压缩算法,例如MPEG-2,通过新的方法去除伪影并提高效率的同时,创造新的基于深度信息的衍生技术。通常将目标从相邻的目标中分离出来时只能使用内场景算法分析。所述内场景算法分析可能会产生错误(伪影)或导致计算效率低下。通过使用深度信息,可以逐像素地将目标成块地从相邻的目标中分离出来,因为相邻的目标具有不同的深度(不同点簇的一部分)。
对所述分组进行压缩后,重复所述添加和压缩操作直到帧的末尾。在每一帧的末尾,将描述读取或解压缩的任何其他指令的元数据填充至一个头文件中。在步骤1612中所有帧数据将被打包用于写入。所述帧随后被写入数据或传输流中。对每个帧重复上述过程,直到完成对所有帧的处理并且已经到达文件的末尾。随后在步骤1616中关闭文件流。所述数据或传输流可以被传输到用户计算机36中。
在另一个实施例中,在步骤815中可以使用常规编解码器,例如H.264(与MPEG-4标准相关)。使用常规编解码器可以兼容现有的硬件加速编码器,因此可以提高系统10的性能。为了能够使用现有的编解码器,例如H.264,开发设备28被配置为针对不同类型的数据(例如,颜色、位置、深度或法线等)生成一个单独的视频流。对于某些类型的数据,例如二维投影图像中的颜色数据,可以在步骤815中通过常规图像压缩技术(包括H.264具有的运动阻挡技术)进行压缩。然而,这种常规技术不太适合用于压缩其他类型的数据,例如深度数据。
图17所示为步骤815的一个实施例。所述实施例利用一个编解码器,诸如H.264和一种支持多个视频流的文件格式,例如MP4文件格式,对步骤815进行说明。开发设备28被配置为在步骤1700生成多个单独的包含不同类型数据的流。例如,一个颜色流中包含投影颜色数据和折叠颜色数据,如图12、13A、13B和14A-14C所示。一个深度流中包含对应于颜色数据的深度数据(例如,每个颜色数据的像素对应一个深度值)。所述深度数据可以包含在类似于包含颜色数据的结构的二维图像中。
本申请对颜色数据和深度数据(以及下面提到的流)的确切类型没有特别的限制。在本实施例中,由于多数常规编解码器支持YUV颜色空间而不支持RGB颜色空间,所以颜色数据流被存储为YUV颜色空间中的值(如有必要,可以由RGB转换过来),由于多数传统的编解码器支持YUV颜色空间,而不支持RGB颜色空间。例如,NV12格式可用于存储颜色数据。对于每对色度样本(U和V),NV12格式包括四个亮度(Y)样本。
为了生成与H.264编解码器相兼容的视频流,开发设备28还可以将深度数据存储为YUV格式。例如,深度数据的存储可以根据NV12格式将每个像素的深度存储为一个亮度(Y)值,并省略UV通道。在UV通道中填零可以使编解码器跳过UV通道,从而减少计算量。如果NV12的分辨率(每个样本8位)不足以容纳所有深度值,则可以对深度值进行缩放(例如线性缩放或对数缩放)。在其它实施例中,为了增加定义深度值的分辨率(例如,多个8位样本定义单个深度值),深度流的分辨率可以高于颜色流。
此外,一个法线流包含对所述二维图像中至少部分点的法线的定义(垂直于采集范围中目标的表面的线)。法线的确定在本领域技术人员的能力范围内。另外,还可以生成一个索引流。所述索引流可以包含将,例如,颜色数据和深度数据相关联的数据。在一些实施例中,所述索引数据还可以识别投影颜色数据和折叠颜色数据之间的关联。例如,一些二维图像数据格式可以不包含用于存储y-折叠的y-索引的空间。但是,可以创建一个索引项。所述索引项在帧内包括一个y-折叠位置的标识(即,在y-折叠区域内y-折叠的y-坐标),以及一个与所述折叠对应的投影数据内的位置所对应的标识。所述索引流还可以包含与色板图像相关联的点的标识符,也可以包括色板图像本身的标识符。另外,还可以生成音频流,尽管生成音频数据与本讨论没有直接关系。
在步骤1704中,开发设备28执行对上述各个流的压缩操作。对于各个流可以采用不同的压缩算法。例如,可以使用常规的有损图像压缩技术来压缩颜色流,而其他流(比如深度和索引流)可以保持未压缩或使用无损压缩技术进行压缩。优选地,对深度、法线和索引流采用无损压缩。在某些情况下,为了降低在传输至用户设备36期间对存储的需求和带宽消耗,对颜色流优选有损压缩。
在步骤1708中,开发设备28将各种流多路复接至一个输出文件1712中。输出文件可以具有各种各样的格式。图18所示为输出文件的几种示例性格式。文件格式60由一个示例性示意图所示。文件格式60由图1所示实施例中的开发计算机28创建,并随后被用户计算机36读取。(该实施例是非限制性的。本领域技术人员在参照本说明书的情况下可以做出其他类似的实施例。)所述格式包括多个嵌套的结构阵列,以及用于管理具有不同类型和尺寸的结构的头文件和尾文件。在本示意图中的术语簇指的是通过位置及其对应的颜色和元数据进行分组的点的分组形式。这些簇将对应于点云全景正在重建的场景中的目标或目标组。
所述结构通过如下方式进行嵌套:文件68包含对应于不同帧72的块,并且每一帧72保持为一个簇的阵列;每个簇80可以保持为一个运动块的阵列。由76和80表示的示意图是簇的两种可选的结构。在76中图像和深度数据以几乎没有帧间压缩的大块表示。在80中使用运动块来表示簇,在必要时可以提供图像和深度数据84,但有时需将运动块移除并由多个预测指令88来替代。预测指令88使用最后一帧的数据来构造新的一帧。预测指令的实施例可以参照运动图像压缩算法,例如MPEG-4。包括位置聚类和位置数据的形式通常可提高文件的压缩效率和计算的效率。
图19所示为文件格式的另一个实施例。在本实施例中,图18所示的簇被省略。图19中所示的示例性结构包括一个头文件和多个与图17所示的流相对应的流。每个流包含头文件数据和尾文件数据,以及多个包含实际内容(例如,颜色数据或深度数据)的帧。所述头文件可以识别所采用的压缩算法、投影方法和用于同步各种流的时间戳等。
本领域技术人员还可以想到各种各样的其他文件格式。此外,可以对上面讨论过的格式的特征进行组合(例如,图18所示的簇可以用于图19所示的多流格式)。
再次参照图8,在步骤820中,用户设备36被配置为对开发设备28准备的数据进行接收和解码。用户设备36被配置为通过运行编解码器56(即在开发设备28中对数据进行编码的编解码器)对接收的数据进行解码。因此,参照图20中采用MPEG4文件或具有类似结构的文件的实施例,在步骤2000中,接收一个输入文件(对应于图17中所示的输出文件)。在步骤2004中,用户设备36被配置为对输入文件中的各种压缩数据流进行多路分用。在步骤2008中,用户设备36被配置为根据开发设备28采用的压缩算法来解压缩每个流。随后,用户设备36可以在步骤2012中将解压缩后的流存储在存储器140中。同时在步骤2012,流之间可以进行相互同步,例如通过嵌入在每个流中的时间戳。
流程820中解码之后,在流程825中,用户设备36被配置为重新生成部分初始配准的点云。重新生成的点云是开发设备28选定的用于投影的部分点云。图21所示为流程825的执行过程(例如,通过运行播放器64)的一个实施例。在步骤2100中,用户设备36被配置为设置一个视点位置。该视点位置与流程810中开发设备28采用的位置相同(并且可以包括在,例如,传输文件的头文件数据中)。
设置所述视点后,用户设备36被配置为在步骤2105中选择一个路径,类似于上述步骤1005的执行过程。简而言之,可以选择包含投影颜色数据的二维图像中的第一对坐标。在步骤2110中,用户设备36基于投影颜色数据和相伴的深度数据(例如,通过索引流可以查阅)生成再生云中的第一点。一个云点的创建可以包括将所选路径的投影的x-y坐标转换为球坐标,并将所选x-y坐标处的颜色数据与所述球坐标相关联(或者,如果包括对色板的引用,而不包括颜色数据,则将对所述色板的引用与球坐标相关联)。
在步骤2115中,用户设备36被配置为确定是否存在对应于当前所选路径(即二维投影的当前所选x坐标和y坐标)的任何折叠。如果判定结果为否定,则在步骤2120中对其余路径进行处理。然而,如果判定结果为肯定,则在步骤2125中创建另一点(或几个,如果存在例如y-折叠或x-折叠的线性折叠)。所述点的创建基于包含在二维图像的折叠区域中的颜色数据和相关联的深度数据。
当完成对所有路径的处理后(即当完成对整个投影图像的处理时),用户设备36执行步骤2130,并通过重复上述过程对接收到的文件的剩余帧进行处理。图22所示为重新生成的图11中所示点云的一个实施例。如图22所示,目标1108不完全存在于所述再生点云中。仅其底面和前表面存在于所述再生点云中,因为通过开发装置28可以确定其他表面在视点1100的预期运动范围之外。
图23所示为用户设备36中解压缩和点云再生操作(流程820和825)的另一实施例。其中,如上所述,簇可以在初始点云中被检测到。文件(这里也称为一个数据流或传输流)被传输至图1所示实施例中的用户计算机36后,所述文件或流可以在步骤156中被打开以便于读取。所述步骤还包括读取文件中用于对播放器进行初始设置的头文件数据。图23中的以下步骤是一个播放器使用编解码器解压缩并显示运动点云全景的实施例。
使用所述头文件数据对播放器64进行初始化后,播放器64将使用编解码器56对所述文件的嵌套结构进行单步调试。首先在步骤160将一帧72加载到存储器中。随后,播放器64在步骤164中将帧72的第一簇解压缩后存入存储器。如果所述簇没有关联到最后一帧中的某一簇,则播放器将在步骤168中创建一个新的点云以表示该新簇。然后,在增加球面坐标(步骤176中的x表示方位角和步骤180中的y表示极角)之前,播放器在步骤172中通过遍历整个点云,更新每个点的颜色和深度以检查x和y折叠。在这种情况下,分别采用一个无符号整数阵列表示x和y折叠。所述阵列可以识别播放器不应该分别增加x或y折叠的索引。这将允许像素在球坐标空间中放置在彼此的后面或前面并同时保持单个用于传输图像数据的图像。通过重复上述过程,对其余的簇和帧进行处理。
在再生云中对所有点进行更新后,播放器64可以将所述数据渲染到视图跟踪显示器40中。在一些实施例中,使用常规3D图形引擎进行渲染的过程包括创建3D网格和使用UV映射对所述网格进行纹理化处理。在其他实施例中,还可以使用渲染点云的常规技术,例如使用点作为基元或使用抛雪球法,以代替使用基于顶点和纹理的渲染。
一般而言,为了渲染每个帧(即每个再生点云),用户设备36被配置为从视图跟踪显示器40接收表示观看者在采集范围内的模拟位置和观看方向的位置数据。接收所述位置信息后,用户设备36被配置为在再生点云中放置虚拟视点(也被称为虚拟相机)。设置虚拟视点的位置与上述位置数据相对应。当视图跟踪显示器40包括两个显示器时,在位于点云全景的中心的观看者的每只眼睛的虚拟相对位置处(依据瞳孔间距适当地分开并按照视图跟踪显示器40提供的方向和位置跟踪数据放置)将放置一个虚拟相机。然后对应每个眼睛的虚拟相机对视图跟踪显示器的合适部分进行显示,以向观看者的眼睛投影一个图像。播放器完成所有帧的显示后,则可以关闭所述文件或流(如图23中的步骤184所示)。
当采用色板图像时,渲染过程中用户设备36可以被配置为由色板图像确定将多种可能颜色中的哪一种应用于再生点云中的一个点。用户设备36被配置为确定(i)从视点位置到当前渲染的点的一条路径与(i i)从点云的中心到当前渲染的点的一条路径之间的差异。所述差异的特征没有特别的限制;例如,可以确定视点和点云中心之间的距离,或者可以确定路径之间的角度。基于所述差异,可以确定与色板图像中心的距离,并选择该距离处的颜色用以渲染所述点。
在一些实施例中,可以采用一种优化的渲染过程。其中,流程825中仅将每个二维帧中的一部分转换为再生点云。例如,用户设备36可以基于从视图跟踪显示器40接收的先前已知的观看者的位置和方向,确定下一帧中观看者移动的最大预测范围(例如,用户的移动不可能大于最大预测的距离)。然后,用户设备36可以从下一帧中选择一部分用于点云的再生。图24所示为某一帧的一个实施例。在该实施例中,流程825中仅使用一个图像子集2400、一个y-折叠子集2404和一个x-折叠子集2408(考虑到单个m-折叠像素可能具有不同位置,如果存在m-折叠,通常会使用所述m-折叠)。
上文对某些特定的实施例进行了讨论,但所述实施例的变体、组合或子集对本领域技术人员而言是显而易见的。例如,上文所述适用于静止图像和运动图像。又例如,在一些实施例中,可以省略流程810和815以及流程820和825。也就是说,在一些实施例中,可以采集点云数据(例如,如图9所示),并在不经过上述投影和准备过程的情况下,将采集的点云数据直接传输到用户设备36用于渲染。
在进一步的变体中,开发设备28可以至少执行部分上述关于用户设备36的功能。例如,用户设备36可以通过网络112将控制数据传输到开发设备28。例如,所述控制数据可以是由视图跟踪显示器40确定的用于表示虚拟视点的位置和方向的位置数据。开发设备28可以被配置为响应于接收所述控制数据的操作,生成基于接收到的控制数据的投影(流程810)。开发设备28可以基本上实时生成并发送所述投影至用户设备36(如上所述,尽管折叠的使用是可以调节开发设备28接收控制数据和用户设备36接收到相应的投影之间的延迟—在最新控制数据的传输和对应投影的接收之间的时间内,视图跟踪显示器40的视点位置的变化可以通过折叠数据调节)。
在其他示例中,开发设备28可以在收到来自用户设备36的位置数据后,从初始的配准点云中生成最终渲染(用于在视图跟踪显示器40上显示)。换句话说,开发设备28可以执行流程805和部分流程830,基于收到的位置数据仅将渲染后的视频流发送到用户设备36,而不是向用户设备36发送可以用于重建点云和渲染多媒体的投影。在这些示例中,用户设备36只需要显示从开发设备28接收到的渲染后的帧,并不需要执行流程825(根据开发设备28对渲染后的帧的压缩,可能需要进行一些解码操作)。
在其他一些示例中,开发设备28可以响应于上述控制数据,将点云数据直接发送到用户设备36,而不是发送投影或渲染后的视频帧。例如,开发设备28可以基于控制数据,从点云数据中选择一部分然后发送到用户设备36。
上述使用的术语"控制数据"不仅包括由视图跟踪显示器40提供的与虚拟视点的位置和方向相关的位置数据,而且还可以包括来自键盘或其他用户设备36上的输入设备(例如,游戏控制器)的命令形式的输入数据,或由用户设备36检测到的用户手势等等。
在又一些示例中,用户设备36可以在接收到上述控制信息之后,对多个多媒体数据文件或流(例如,描述彼此分开的采集范围)进行控制,所述控制信息也可以用于控制(例如,快进、倒退等)一个给定文件或流(例如,描述一个单一的采集范围)。
Claims (20)
1.一种在一个开发计算设备上生成虚拟现实多媒体的方法,所述开发计算设备包括一个处理器,和一个与所述处理器相连的存储器,包括:
在所述处理器中采集一个用于表示一个场景的点云,所述点云数据包括多个点中每个点的颜色和深度数据,所述多个点对应于采集范围内的某些位置;
在所述处理器中生成一个所述点云中选定部分的二维投影,所述投影包括所述选定部分的颜色和深度数据;以及
将所述二维投影存储在所述存储器中。
2.权利要求1所述的方法,进一步包括:
传输所述二维投影至一个用户计算设备用于回放。
3.权利要求1所述的方法,进一步包括:
采集多个点云,所述点云表示在一段时间内的所述场景,以及,
针对每个点云,生成所述点云中选定部分的一个二维投影。
4.权利要求1所述的方法,其中生成所述二维投影包括:
生成一个包含所述颜色数据的第一二维阵列;以及
生成一个包含所述深度数据的第二二维阵列。
5.权利要求4所述的方法,其中将所述二维投影存储在所述存储器中进一步包括:
在所述处理器中,压缩所述第一二维阵列;以及
将所述第一二维阵列和所述第二二维阵列组合到一个数字视频文件中。
6.权利要求1所述的方法,其中采集所述点云进一步包括:
在所述处理器中从相应的多个采集节点接收多组点云;
将所述多组点云中的每一组与一个基准参考系配准;以及
用单个点替换多个重叠点,所述重叠点表示所述采集范围内一个共同位置。
7.权利要求6所述的方法,其中每个采集节点包括一个相机和一个深度传感器。
8.权利要求1所述的方法,其中生成所述二维投影进一步包括:
在所述点云内选择一个视点;
对于从所述视点处开始的多个路径的每一个路径:
将与所述路径相交的第一点放置到所述二维投影的一个投影区域中;
判定所述路径是否与任何其它点相交;以及
当所述判定结果为肯定时,将所述其他点中的至少一个放置在所述二维投影的一个折叠区域中。
9.权利要求8所述的方法,进一步包括:
通过判定所述至少一个其它点在视点运动的最大预测范围内是否可见,选择所述至少一个其它点以放置到所述折叠区域中。
10.权利要求8所述的方法,进一步包括:生成一个索引,所述索引将所述折叠区域中的所述至少一个其他点关联到所述投影区域中的所述第一点。
11.一种开发计算设备,包括:
一个存储器;以及
一个处理器,所述处理器与所述存储器互连,并被配置为执行权利要求1至10中任一权利要求所述的方法。
12.一种在一个用户计算设备上生成虚拟现实多媒体的方法,所述开发计算设备包括一个处理器,和一个与所述处理器相连的存储器,包括:
接收一个点云的二维投影,所述投影包括所述点云的颜色和深度数据;
从所述二维投影中再生所述点云;以及
在所述显示器上渲染所述点云。
13.权利要求12所述的方法,进一步包括:
再生所述投影之前,对所述投影进行解压缩。
14.权利要求13所述的方法,其中从所述投影中再生所述点云包括:
在所述点云中设置一个视点;
对于所述投影中的多个坐标对中的每一个:
基于所述坐标对和所述深度数据,在所述点云中识别一个与所述坐标对相对应的位置;以及
对应于与坐标对相对应的颜色,给所述位置分配一种颜色。
15.权利要求14所述的方法,其中从所述投影中再生所述点云进一步包括:
对于所述投影中的多个坐标对中的至少一个:
在所述点云中识别对应于所述坐标对的另一位置;以及
对应于所述投影中具有与所述坐标对不同坐标的一个折叠的颜色,给所述另一位置分配一种颜色。
16.权利要求12所述的方法,其中在所述显示器上渲染所述点云包括:
在所述处理器中接收一个视点位置;
将一个虚拟相机放置在所述点云中的所述视点位置处;以及
从所述虚拟相机的角度渲染所述点云。
17.权利要求16所述的方法,其中在所述显示器上渲染所述点云进一步包括为一对显示器重复接收一个视点位置,放置一个虚拟相机和渲染所述点云。
18.一种用户计算设备,包括:
一个存储器;
一个显示器;以及
一个处理器,所述处理器与所述存储器和所述显示器互连,并被配置为执行权利要求12至17中任一权利要求所述的方法。
19.权利要求18所述的用户计算设备,其中所述显示器包括一个头戴式视图跟踪显示器。
20.一种虚拟现实多媒体的生成和回放系统,包括:
权利要求11所述的开发计算设备;
权利要求18所述的用户计算设备;以及
一个连接到所述开发计算设备的采集设置,所述采集装置用于采集所述点云。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461992488P | 2014-05-13 | 2014-05-13 | |
US61/992,488 | 2014-05-13 | ||
PCT/CA2015/000306 WO2015172227A1 (en) | 2014-05-13 | 2015-05-13 | Method, system and apparatus for generation and playback of virtual reality multimedia |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106973569A true CN106973569A (zh) | 2017-07-21 |
Family
ID=54479071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580038052.0A Pending CN106973569A (zh) | 2014-05-13 | 2015-05-13 | 生成和回放虚拟现实多媒体的方法、系统和装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10339701B2 (zh) |
EP (1) | EP3143774A4 (zh) |
CN (1) | CN106973569A (zh) |
CA (2) | CA2948903C (zh) |
WO (2) | WO2015172227A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280886A (zh) * | 2018-01-25 | 2018-07-13 | 北京小马智行科技有限公司 | 激光点云标注方法、装置及可读存储介质 |
CN108334368A (zh) * | 2017-09-04 | 2018-07-27 | 祖龙(天津)科技有限公司 | 一种基于Unity引擎的更新文件打包方法及打包工具 |
CN109102533A (zh) * | 2018-06-19 | 2018-12-28 | 黑龙江拓盟科技有限公司 | 一种基于混合现实的特征点定位方法 |
WO2019019232A1 (zh) * | 2017-07-28 | 2019-01-31 | 歌尔科技有限公司 | 基于vr头戴设备播放视频的方法及vr头戴设备 |
CN109753885A (zh) * | 2018-12-14 | 2019-05-14 | 中国科学院深圳先进技术研究院 | 一种目标检测方法、装置以及行人检测方法、系统 |
CN110047112A (zh) * | 2017-12-11 | 2019-07-23 | 福特全球技术公司 | 激光雷达点云压缩 |
WO2019140688A1 (zh) * | 2018-01-22 | 2019-07-25 | 深圳市大疆创新科技有限公司 | 图像处理方法、设备及计算机可读存储介质 |
CN112789865A (zh) * | 2018-10-02 | 2021-05-11 | 索尼公司 | 信息处理装置和信息处理方法 |
CN113170088A (zh) * | 2018-10-08 | 2021-07-23 | 三星电子株式会社 | 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置 |
CN113424224A (zh) * | 2019-02-25 | 2021-09-21 | 索尼集团公司 | 识别并保留优选点的合并点云的方法 |
CN113557741A (zh) * | 2019-03-08 | 2021-10-26 | Vid拓展公司 | 用于点云的自适应流式传输的方法和装置 |
US11765397B2 (en) | 2017-10-06 | 2023-09-19 | Interdigital Vc Holdings, Inc. | Method and apparatus for encoding/decoding the colors of a point cloud representing a 3D object |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9756375B2 (en) * | 2015-01-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Predictive server-side rendering of scenes |
US10554713B2 (en) | 2015-06-19 | 2020-02-04 | Microsoft Technology Licensing, Llc | Low latency application streaming using temporal frame transformation |
CA2948761A1 (en) * | 2015-11-23 | 2017-05-23 | Wal-Mart Stores, Inc. | Virtual training system |
US10244227B2 (en) * | 2015-12-22 | 2019-03-26 | Google Llc | Capture and render of virtual reality content employing a light field camera array |
CN107042018B (zh) * | 2016-02-05 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 控制对象的空间位置确定方法和装置 |
US10129523B2 (en) | 2016-06-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Depth-aware reprojection |
US10237531B2 (en) * | 2016-06-22 | 2019-03-19 | Microsoft Technology Licensing, Llc | Discontinuity-aware reprojection |
US10869015B2 (en) * | 2016-06-30 | 2020-12-15 | Intel Corporation | Method and apparatus for virtual reality depth retargeting |
US10313763B2 (en) * | 2016-07-29 | 2019-06-04 | Mediatek, Inc. | Method and apparatus for requesting and receiving selected segment streams based on projection information |
KR102498598B1 (ko) * | 2016-10-18 | 2023-02-14 | 삼성전자주식회사 | 영상 처리 장치 및 그 영상 처리 방법 |
EP3315907A1 (de) * | 2016-10-27 | 2018-05-02 | Leica Geosystems AG | Verfahren zur visuellen darstellung von scandaten |
US10389994B2 (en) * | 2016-11-28 | 2019-08-20 | Sony Corporation | Decoder-centric UV codec for free-viewpoint video streaming |
EP3603056A4 (en) | 2017-03-22 | 2020-12-23 | Nokia Technologies Oy | METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR ADAPTIVE STREAMING |
US11049323B2 (en) | 2017-03-24 | 2021-06-29 | Mediatek Inc. | Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling |
US9754397B1 (en) | 2017-04-07 | 2017-09-05 | Mirage Worlds, Inc. | Systems and methods for contextual augmented reality sharing and performance |
CN107093210B (zh) * | 2017-04-20 | 2021-07-16 | 北京图森智途科技有限公司 | 一种激光点云标注方法及装置 |
US10467775B1 (en) * | 2017-05-03 | 2019-11-05 | Amazon Technologies, Inc. | Identifying pixel locations using a transformation function |
CN110915217B (zh) * | 2017-05-25 | 2023-09-26 | Vid拓展公司 | 360度视频译码方法、设备和可读介质 |
US10009640B1 (en) * | 2017-05-31 | 2018-06-26 | Verizon Patent And Licensing Inc. | Methods and systems for using 2D captured imagery of a scene to provide virtual reality content |
EP3429210A1 (en) * | 2017-07-13 | 2019-01-16 | Thomson Licensing | Methods, devices and stream for encoding and decoding volumetric video |
EP3428887A1 (en) | 2017-07-13 | 2019-01-16 | Thomson Licensing | Method and device for encoding a point cloud |
EP3432581A1 (en) * | 2017-07-21 | 2019-01-23 | Thomson Licensing | Methods, devices and stream for encoding and decoding volumetric video |
GB2565301A (en) * | 2017-08-08 | 2019-02-13 | Nokia Technologies Oy | Three-dimensional video processing |
EP3669333B1 (en) * | 2017-08-15 | 2024-05-01 | Nokia Technologies Oy | Sequential encoding and decoding of volymetric video |
US11109066B2 (en) | 2017-08-15 | 2021-08-31 | Nokia Technologies Oy | Encoding and decoding of volumetric video |
WO2019037558A1 (zh) * | 2017-08-22 | 2019-02-28 | 优酷网络技术(北京)有限公司 | 图像处理方法和装置 |
CN107590836B (zh) * | 2017-09-14 | 2020-05-22 | 斯坦德机器人(深圳)有限公司 | 一种基于Kinect的充电桩动态识别与定位方法及系统 |
EP3462418B1 (en) * | 2017-09-28 | 2024-06-19 | Siemens Healthineers AG | Method and apparatus for rendering material properties |
EP3695597B1 (en) * | 2017-10-11 | 2024-09-25 | Nokia Technologies Oy | Apparatus and method for encoding/decoding a volumetric video |
US11004237B2 (en) * | 2017-10-12 | 2021-05-11 | Sony Group Corporation | Palette coding for color compression of point clouds |
EP3699870A4 (en) * | 2017-10-16 | 2020-12-23 | Sony Corporation | DEVICE AND PROCESS FOR PROCESSING INFORMATION |
GB201717011D0 (en) * | 2017-10-17 | 2017-11-29 | Nokia Technologies Oy | An apparatus a method and a computer program for volumetric video |
US10424083B2 (en) * | 2017-10-21 | 2019-09-24 | Samsung Electronics Co., Ltd. | Point cloud compression using hybrid transforms |
CN108010036B (zh) * | 2017-11-21 | 2020-01-21 | 江南大学 | 一种基于rgb-d相机的物体对称轴检测方法 |
WO2019115866A1 (en) * | 2017-12-13 | 2019-06-20 | Nokia Technologies Oy | An apparatus, a method and a computer program for volumetric video |
US10735826B2 (en) * | 2017-12-20 | 2020-08-04 | Intel Corporation | Free dimension format and codec |
WO2019122504A1 (en) * | 2017-12-20 | 2019-06-27 | Nokia Technologies Oy | Method for encoding and decoding volumetric video data |
TWI815842B (zh) | 2018-01-16 | 2023-09-21 | 日商索尼股份有限公司 | 影像處理裝置及方法 |
EP3515067A1 (en) * | 2018-01-19 | 2019-07-24 | Thomson Licensing | A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream |
CN112042201B (zh) * | 2018-04-11 | 2024-06-25 | 交互数字Vc控股公司 | 用于编码/解码表示3d对象的点云的方法和装置 |
CA3096840A1 (en) * | 2018-04-11 | 2019-10-17 | Interdigital Vc Holdings, Inc. | A method for encoding depth values of a set of 3d points once orthogonally projected into at least one image region of a projection plane |
KR102537946B1 (ko) * | 2018-04-17 | 2023-05-31 | 삼성전자주식회사 | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 |
US10504288B2 (en) | 2018-04-17 | 2019-12-10 | Patrick Piemonte & Ryan Staake | Systems and methods for shared creation of augmented reality |
US11294060B2 (en) * | 2018-04-18 | 2022-04-05 | Faraday & Future Inc. | System and method for lidar-based vehicular localization relating to autonomous navigation |
KR102477031B1 (ko) * | 2018-04-20 | 2022-12-14 | 삼성전자주식회사 | 3차원 데이터를 프로세싱하기 위한 방법 및 장치 |
EP3788469A4 (en) * | 2018-05-01 | 2022-06-29 | Commonwealth Scientific and Industrial Research Organisation | Method and system for use in colourisation of a point cloud |
US11012694B2 (en) | 2018-05-01 | 2021-05-18 | Nvidia Corporation | Dynamically shifting video rendering tasks between a server and a client |
US10713756B2 (en) * | 2018-05-01 | 2020-07-14 | Nvidia Corporation | HW-assisted upscaling and multi-sampling using a high resolution depth buffer |
US11989919B2 (en) | 2018-05-09 | 2024-05-21 | Nokia Technologies Oy | Method and apparatus for encoding and decoding volumetric video data |
WO2019216707A1 (en) * | 2018-05-10 | 2019-11-14 | Samsung Electronics Co., Ltd. | Method and apparatus for processing three dimensional object image using point cloud data |
US10269167B1 (en) | 2018-05-21 | 2019-04-23 | Apple Inc. | Indirect command buffers for graphics processing |
US10764494B2 (en) * | 2018-05-25 | 2020-09-01 | Microsoft Technology Licensing, Llc | Adaptive panoramic video streaming using composite pictures |
US10666863B2 (en) | 2018-05-25 | 2020-05-26 | Microsoft Technology Licensing, Llc | Adaptive panoramic video streaming using overlapping partitioned sections |
CN108769462B (zh) * | 2018-06-06 | 2020-05-05 | 北京邮电大学 | 自由视角场景漫游方法及装置 |
CN112703492A (zh) * | 2018-08-08 | 2021-04-23 | 摩拜力特有限责任公司 | 用于在增强现实显示装置中操作的系统和方法 |
US10909375B2 (en) | 2018-08-08 | 2021-02-02 | Mobilitie, Llc | System and method for operation in an augmented reality display device |
US11315321B2 (en) * | 2018-09-07 | 2022-04-26 | Intel Corporation | View dependent 3D reconstruction mechanism |
US10650554B2 (en) * | 2018-09-27 | 2020-05-12 | Sony Corporation | Packing strategy signaling |
US10924525B2 (en) | 2018-10-01 | 2021-02-16 | Microsoft Technology Licensing, Llc | Inducing higher input latency in multiplayer programs |
JP2022502892A (ja) * | 2018-10-05 | 2022-01-11 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | 3d点を符号化/再構築するための方法およびデバイス |
US10353073B1 (en) * | 2019-01-11 | 2019-07-16 | Nurulize, Inc. | Point cloud colorization system with real-time 3D visualization |
KR102562209B1 (ko) | 2019-01-14 | 2023-07-31 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 포인트 클라우드 코딩에서의 효율적인 패치 회전 |
JP7511488B2 (ja) * | 2019-02-12 | 2024-07-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ多重化方法、三次元データ逆多重化方法、三次元データ多重化装置、及び三次元データ逆多重化装置 |
US10902265B2 (en) * | 2019-03-27 | 2021-01-26 | Lenovo (Singapore) Pte. Ltd. | Imaging effect based on object depth information |
KR102292195B1 (ko) * | 2019-07-04 | 2021-08-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
US10970882B2 (en) | 2019-07-24 | 2021-04-06 | At&T Intellectual Property I, L.P. | Method for scalable volumetric video coding |
US10979692B2 (en) * | 2019-08-14 | 2021-04-13 | At&T Intellectual Property I, L.P. | System and method for streaming visible portions of volumetric video |
WO2021045536A1 (en) | 2019-09-04 | 2021-03-11 | Wilus Institute Of Standards And Technology Inc. | Video encoding and decoding acceleration utilizing imu sensor data for cloud virtual reality |
US11330252B2 (en) * | 2020-02-12 | 2022-05-10 | At&T Intellectual Property I, L.P. | Apparatus and method for providing content with multiplane image transcoding |
CN111340862B (zh) * | 2020-02-18 | 2023-07-07 | 广州智能装备研究院有限公司 | 一种基于多特征融合的点云配准方法、装置及存储介质 |
US11804051B2 (en) * | 2020-02-25 | 2023-10-31 | Zebra Technologies Corporation | Parallel data capture system |
TWI756956B (zh) * | 2020-12-01 | 2022-03-01 | 財團法人工業技術研究院 | 用於環景影像的影像處理方法及裝置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130068575A (ko) * | 2011-12-15 | 2013-06-26 | 한국전자통신연구원 | 인터랙티브 증강 공간 제공 방법 및 시스템 |
CN103247045A (zh) * | 2013-04-18 | 2013-08-14 | 上海交通大学 | 一种从多视图中得到人造场景主方向及图像边缘的方法 |
CN103500467A (zh) * | 2013-10-21 | 2014-01-08 | 深圳市易尚展示股份有限公司 | 基于图像的三维模型构成方法 |
US20140049537A1 (en) * | 2012-08-20 | 2014-02-20 | Keshaba Chandra Sahoo | Systems and methods for augmenting panoramic image data with performance related data for a building |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100446635B1 (ko) * | 2001-11-27 | 2004-09-04 | 삼성전자주식회사 | 깊이 이미지 기반 3차원 객체 표현 장치 및 방법 |
US7714859B2 (en) * | 2004-09-03 | 2010-05-11 | Shoemaker Garth B D | Occlusion reduction and magnification for multidimensional data presentations |
WO2008014826A1 (en) * | 2006-08-03 | 2008-02-07 | Alterface S.A. | Method and device for identifying and extracting images of multiple users, and for recognizing user gestures |
WO2008091869A2 (en) | 2007-01-22 | 2008-07-31 | Bell Helicopter Textron, Inc. | System and method for the interactive display of data in a motion capture environment |
US9196080B2 (en) * | 2008-02-05 | 2015-11-24 | Disney Enterprises, Inc. | Medial axis decomposition of 2D objects to synthesize binocular depth |
US20090232355A1 (en) | 2008-03-12 | 2009-09-17 | Harris Corporation | Registration of 3d point cloud data using eigenanalysis |
JP5551957B2 (ja) * | 2010-03-31 | 2014-07-16 | 富士フイルム株式会社 | 投影画像生成装置およびその作動方法、並びに投影画像生成プログラム |
US8907987B2 (en) * | 2010-10-20 | 2014-12-09 | Ncomputing Inc. | System and method for downsizing video data for memory bandwidth optimization |
US9208571B2 (en) * | 2011-06-06 | 2015-12-08 | Microsoft Technology Licensing, Llc | Object digitization |
GB201116960D0 (en) | 2011-09-30 | 2011-11-16 | Bae Systems Plc | Monocular camera localisation using prior point clouds |
US9336625B2 (en) | 2011-10-25 | 2016-05-10 | Microsoft Technology Licensing, Llc | Object refinement using many data sets |
US9182812B2 (en) | 2013-01-08 | 2015-11-10 | Ayotle | Virtual sensor systems and methods |
US9215448B2 (en) * | 2013-01-31 | 2015-12-15 | Here Global B.V. | Stereo panoramic images |
US20140267616A1 (en) | 2013-03-15 | 2014-09-18 | Scott A. Krig | Variable resolution depth representation |
CN106304842A (zh) | 2013-10-03 | 2017-01-04 | 舒朗科技公司 | 用于定位和地图创建的增强现实系统和方法 |
-
2015
- 2015-05-13 CN CN201580038052.0A patent/CN106973569A/zh active Pending
- 2015-05-13 EP EP15792019.0A patent/EP3143774A4/en not_active Withdrawn
- 2015-05-13 CA CA2948903A patent/CA2948903C/en active Active
- 2015-05-13 US US15/310,927 patent/US10339701B2/en active Active
- 2015-05-13 WO PCT/CA2015/000306 patent/WO2015172227A1/en active Application Filing
- 2015-11-19 CA CA2985947A patent/CA2985947A1/en not_active Abandoned
- 2015-11-19 US US15/573,682 patent/US20180122129A1/en not_active Abandoned
- 2015-11-19 WO PCT/IB2015/058987 patent/WO2016181202A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130068575A (ko) * | 2011-12-15 | 2013-06-26 | 한국전자통신연구원 | 인터랙티브 증강 공간 제공 방법 및 시스템 |
US20140049537A1 (en) * | 2012-08-20 | 2014-02-20 | Keshaba Chandra Sahoo | Systems and methods for augmenting panoramic image data with performance related data for a building |
CN103247045A (zh) * | 2013-04-18 | 2013-08-14 | 上海交通大学 | 一种从多视图中得到人造场景主方向及图像边缘的方法 |
CN103500467A (zh) * | 2013-10-21 | 2014-01-08 | 深圳市易尚展示股份有限公司 | 基于图像的三维模型构成方法 |
Non-Patent Citations (1)
Title |
---|
ALJOSCHA SMOLIC ET.AL: "Development of a new MPEG standard for advanced 3D video applications", 《PROCEEDINGS OF THE 6TH INTERNATIONAL SYMPOSIUM ON IMAGE AND SIGNAL PROCESSING AND ANALYSIS (2009)》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019019232A1 (zh) * | 2017-07-28 | 2019-01-31 | 歌尔科技有限公司 | 基于vr头戴设备播放视频的方法及vr头戴设备 |
CN108334368A (zh) * | 2017-09-04 | 2018-07-27 | 祖龙(天津)科技有限公司 | 一种基于Unity引擎的更新文件打包方法及打包工具 |
CN108334368B (zh) * | 2017-09-04 | 2021-06-08 | 祖龙(天津)科技股份有限公司 | 一种基于Unity引擎的更新文件打包方法及打包工具 |
US11765397B2 (en) | 2017-10-06 | 2023-09-19 | Interdigital Vc Holdings, Inc. | Method and apparatus for encoding/decoding the colors of a point cloud representing a 3D object |
CN110047112A (zh) * | 2017-12-11 | 2019-07-23 | 福特全球技术公司 | 激光雷达点云压缩 |
WO2019140688A1 (zh) * | 2018-01-22 | 2019-07-25 | 深圳市大疆创新科技有限公司 | 图像处理方法、设备及计算机可读存储介质 |
CN108280886A (zh) * | 2018-01-25 | 2018-07-13 | 北京小马智行科技有限公司 | 激光点云标注方法、装置及可读存储介质 |
CN109102533A (zh) * | 2018-06-19 | 2018-12-28 | 黑龙江拓盟科技有限公司 | 一种基于混合现实的特征点定位方法 |
CN112789865A (zh) * | 2018-10-02 | 2021-05-11 | 索尼公司 | 信息处理装置和信息处理方法 |
US11606576B2 (en) | 2018-10-08 | 2023-03-14 | Samsung Electronics Co., Ltd. | Method and apparatus for generating media file comprising 3-dimensional video content, and method and apparatus for replaying 3-dimensional video content |
CN113170088B (zh) * | 2018-10-08 | 2023-10-03 | 三星电子株式会社 | 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置 |
CN113170088A (zh) * | 2018-10-08 | 2021-07-23 | 三星电子株式会社 | 用于生成包括三维视频内容的媒体文件的方法和装置,以及用于重放三维视频内容的方法和装置 |
CN109753885A (zh) * | 2018-12-14 | 2019-05-14 | 中国科学院深圳先进技术研究院 | 一种目标检测方法、装置以及行人检测方法、系统 |
CN109753885B (zh) * | 2018-12-14 | 2020-10-16 | 中国科学院深圳先进技术研究院 | 一种目标检测方法、装置以及行人检测方法、系统 |
CN113424224A (zh) * | 2019-02-25 | 2021-09-21 | 索尼集团公司 | 识别并保留优选点的合并点云的方法 |
CN113424224B (zh) * | 2019-02-25 | 2023-11-17 | 索尼集团公司 | 识别并保留优选点的合并点云的方法 |
CN113557741A (zh) * | 2019-03-08 | 2021-10-26 | Vid拓展公司 | 用于点云的自适应流式传输的方法和装置 |
CN113557741B (zh) * | 2019-03-08 | 2023-12-08 | Vid拓展公司 | 用于点云的自适应流式传输的方法和装置 |
US12041104B2 (en) | 2019-03-08 | 2024-07-16 | Vid Scale, Inc. | Methods and apparatus for adaptive streaming of point clouds |
Also Published As
Publication number | Publication date |
---|---|
US20170094262A1 (en) | 2017-03-30 |
CA2985947A1 (en) | 2016-11-17 |
US10339701B2 (en) | 2019-07-02 |
US20180122129A1 (en) | 2018-05-03 |
EP3143774A4 (en) | 2018-04-25 |
EP3143774A1 (en) | 2017-03-22 |
WO2015172227A1 (en) | 2015-11-19 |
WO2016181202A1 (en) | 2016-11-17 |
CA2948903A1 (en) | 2015-11-19 |
CA2948903C (en) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106973569A (zh) | 生成和回放虚拟现实多媒体的方法、系统和装置 | |
US11087549B2 (en) | Methods and apparatuses for dynamic navigable 360 degree environments | |
US9776086B2 (en) | Method of transforming an image file | |
US10499033B2 (en) | Apparatus, a method and a computer program for coding and rendering volumetric video | |
JP4268934B2 (ja) | 3次元グラフィックスの奥行きを有する画像のストリーミング | |
US20130321593A1 (en) | View frustum culling for free viewpoint video (fvv) | |
CN107439010A (zh) | 流传输球形视频 | |
CN110517356A (zh) | 实现多路视频融合的三维增强现实的系统、方法及设备 | |
CN111669567B (zh) | 多角度自由视角视频数据生成方法及装置、介质、服务器 | |
KR102499904B1 (ko) | 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들 | |
CN111669561B (zh) | 多角度自由视角图像数据处理方法及装置、介质、设备 | |
Bao et al. | Large-scale forest rendering: Real-time, realistic, and progressive | |
US10115227B2 (en) | Digital video rendering | |
Zhu et al. | Towards peer-assisted rendering in networked virtual environments | |
EP3540696A1 (en) | A method and an apparatus for volumetric video rendering | |
KR20230153468A (ko) | 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램 | |
Kreskowski et al. | Output-sensitive avatar representations for immersive telepresence | |
CN111669570B (zh) | 多角度自由视角视频数据处理方法及装置、介质、设备 | |
GB2493050A (en) | Transforming divided image patch data using partial differential equations (PDEs) | |
US11769299B1 (en) | Systems and methods for capturing, transporting, and reproducing three-dimensional simulations as interactive volumetric displays | |
US20230386090A1 (en) | Method for decoding immersive video and method for encoding immersive video | |
JP2001285074A (ja) | 画像合成方法および画像合成プログラムを記録した媒体 | |
CN111669571B (zh) | 多角度自由视角图像数据生成方法及装置、介质、设备 | |
CN118334203A (zh) | 缓存管理方法及装置 | |
Rosen | Improved 3-D scene sampling by camera model design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170721 |
|
WD01 | Invention patent application deemed withdrawn after publication |