TECHNICAL FIELD

The present disclosure relates generally to computer graphics and more specifically to processing 3D video content.

BACKGROUND

Difficulties abound for processing and presenting high quality holographic videos. For example, a textured mesh hologram consists of a sequence of encoded meshes and a corresponding texture video. These holograms are usually rendered in native applications using low-level languages and APIs. Compressing, decompressing, transmitting and rendering holograms interactively in a web environment, especially on mobile devices, faces strong technical challenges.

The above identified technical problems are reduced or eliminated by the systems and methods disclosed herein.

SUMMARY

Systems and methods for processing holographic videos are disclosed in the present disclosure. An example web-based interactive 3D textured mesh hologram rendering mobile device comprises: a mesh loader manages configured to download compressed mesh sequences from a remote server into a local storage buffer; a mesh decoder that is configured to decode compressed mesh sequences into frames of meshes in real-time; a mesh decoder manager that is configured to request compressed mesh sequences from the mesh loader and to request the mesh decoder to decode the compressed mesh sequences; a player manager that is configured to decode texture video and to request corresponding decoded mesh from the mesh decoder manager and to maintain synchronizations between requesting the corresponding decoded mesh and decoding the texture video; and a renderer that is configured to render, using a rendering engine, the decoded mesh on a canvas; and a camera controller that is configured to detect one or more user actions and control a hardware camera in accordance with the one or more user actions.

In some implementations, the rendering engine is a WebGL, rendering engine.

In some implementations, the canvas is a HTML5 canvas.

In some implementations, the mesh decoder is transcoded from a programming language not supported by the mobile device.

In some implementations, the mesh loader and the mesh decoder manager are executed synchronously.

In some implementations, the camera controller uses the hardware camera to capture the one or more user actions and provides the one or more user actions as feedback to the renderer.

In some implementations, the mesh decoder manager is configured to request the mesh decoder to decode the compressed mesh sequences on an as-needed basis.

In some implementations, the mesh decoder manager is configured to request the mesh decoder to decode a predefined amount of compressed mesh sequences more than those requested by the player manager.

In some implementations, the mesh decoder manager is configured to remove previously-decoded mesh from a mesh buffer connected to the player manager.

In some implementations, the mesh loader is configured to download compressed mesh sequences from the remote server, even absent a request by the mesh decoder manager to download the compressed mesh sequences.

