微云全息(NASDAQ:HOLO)开发多种算法实现CGH生成3D全息数字内容
据报道,微云全息公司(纳斯达克:HOLO)(以下简称为“HOLO”或“公司”),一家提供全息数字孪生技术服务提供商,开发多套算法支持基于计算机图像技术生成3D全息数字内容。
微云全息根据计算机生成全息技术(CGH,Computer-Generated Holography)面临的各种问题,关键是效率问题,研究和应用了CGH多个算法,并对其进行优化以提高效率和提高3D全息数字图像的质量。微云全息在CGH计算中,通过对3D对象分解为多个基本单元,然后3D对象进行景深数据编辑合成叠加所有基本单元数据来获得全息数字图像。因此,CGH涉及巨大的计算量,实现实时的动态全息3D显示是一个很大的挑战。特别是在3D对象复杂且全息数字图像尺寸大的情况。微云全息基于点阵的算法、基于多边形的算法和基于分层的算法,3个方案来提高计算效率,将优化算法应用在CGH之中。
微云全息基于点阵算法的CGH,将3D全息对象由数百万个点阵表示,对象的每一个像素由一个点表示,照射全息数字内容的球面波,全息数字内容的复振幅分布可以通过叠加所有目标点来获得,通过提前计算所有可能的对象的点并将其存储在计算机预先判断中,可以大大减少计算的负担。在微云全息基于点阵算法的CGH中,还可以通过在线和离线对算法进行优化,可在离线计算出来预3D全息数字点阵数据并存储在表中,加快了全息图的生成速度。此外,为减少3D全息数字内容对内存的量的占用,通过微云全息基于点阵算法,可以在一个3D全息对象沿轴向划分为多个2D切片平面并且只有每个切片平面中心对象点为主,其他目标点的可以根据空间坐标中的相对位置关系,将同平面内的点阵移位计算出来,通过将所有目标点的偏移相加乘相应的振幅得到结果,以此来减少计算量,同时为了减少内存的占用量。通过微云全息CGH点阵算法不仅可以完整保留了全息数字图像的完整相位与景深数据而且提高了整体的计算效率。
在微云全息基于点阵算法的CGH中,加快计算速度的另一种方法是减少每个对象点的计算区域。如在我们不需要百万级点阵数据的高精度全息数字图像内容时,或在同一图层或帧的某些区域不需要更高精度的情况下,我们可以采取基于多边形的全息数字内容算法,微云全息基于多边形算法,顾名思义算法将3D全息对象,视作数千个多边形而不是数百万个点。这样,计算单元的数量显着减少。在微云全息基于多边形算法的CGH中,将每个多边形视为一个多边形孔径,通过添加所有多边形孔径的衍射图得到CGH,此外,结合计算机图形学的渲染算法,微云全息基于多边形算法可以轻松地为3D场景添加纹理和阴影。基于多边形的算法的核心问题,是倾斜平面和全息平面之间的衍射计算。在该算法中,3D全息对象被分成数千个倾斜的多边形,这些多边形并不平行于平面图层。基于多边形算法定义局部坐标系中具有振幅和相位函数的基础多边形,并首先计算其频谱。然后利用矩阵,从基础多边形和倾斜多边形的顶点向量计算三维变换矩阵中的核心参数。3D全息变换包含三维空间中的平移、旋转和缩放变换,因此可以使用三维变换矩阵中的核心参数一步计算CGH,来节省多边形描绘,不需要额外的扩散计算,也没有深度限制。为了加快计算速度,采用基于多边形的全解析算法,可以从基础多边形中明确表示出其解析谱。使用基础多边形和倾斜多边形的,变换矩阵的解析谱计算出全息平面中任意多边形的全局角谱。
微云全息基于点阵的算法和基于多边形算法,都可以提供3D场景的精确几何信息,但其计算量仍然很大。微云全息开发了基于层的算法以减少计算单元并加快计算速度。在基于层的算法中,将3D全息对象划分为平行于全息平面的几层,并且每层被视为一个独立的计算单元。然后利用衍射计算每层的子全息图,通过叠加所有子全息图得到CGH。因为人眼的分辨率有限,基于层的算法比基于点阵的算法和基于多边形算法,计算单元更小。微云全息基于层算法的CGH,也采用了角谱法,避免了近轴近似,计算了精确的衍射场,优化基于层的算法来加快计算速度。
微云全息基于点阵算法、基于多边形算法和基于层的算法,应用于不同的客户和场景的需要,可根据不同的需求应用在不同的3D全息数字内容或同一3D全息数字内容制作,旨在优化计算方法和提高计算的效率,可以实现快速生成全息数字内容,在现在各行业如直播、娱乐、电商、教育等行业都在让内容走向3D全息化的今天有着非常积极的促进作用,各行业都需要3D全息内容或产品展示轻量化服务以加快终端的响应效率,因此微云全息开发的3D全息数字内容算法有效提高计算效率,有着非常重要的行业意义和应用价值。