Blendshape Matrix Compression for Real-Time 3D Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The blendshapes method for 3D animation requires a large number of target shapes to achieve high-quality animation, leading to memory-intensive blendshape matrices that hinder real-time performance due to inefficient compression techniques like PCA and HSS, which can reduce animation quality and cause performance issues.

Innovation Solution

A computer-implemented method that compresses the blendshape matrix using a recursive division routine, applying matrix approximation algorithms and accuracy verification, and combining compressed submatrixes to reduce memory usage and improve rendering efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a large number of target shapes are used to achieve high-quality animation, then animation quality is improved, but memory usage increases and real-time performance deteriorates

Engineering Contradiction:
Improveanimation qualityVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The blendshape matrix is divided into multiple block matrices, where each block matrix corresponds to a specific region or feature of the virtual entity. This segmentation allows selective compression of different blocks with different compression levels, reducing overall memory usage while preserving critical animation quality in key regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies matrix approximation algorithms that transform the original high-dimensional blendshape matrix into a compressed representation with reduced parameters. By changing the parameter representation from full-resolution to approximated lower-rank matrices, memory requirements are reduced while maintaining acceptable animation quality through controlled approximation errors.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If a large number of target shapes are used to achieve high-quality animation, then animation quality is improved, but real-time rendering performance deteriorates

Engineering Contradiction:
Improveanimation qualityVSAvoidreal-time rendering performance
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The blendshape matrix compression is performed in advance during the asset preparation phase, converting the large original matrix into a compressed format with pre-calculated approximation structures. This preliminary compression allows the rendering system to work with smaller, pre-processed data during real-time execution, significantly improving rendering performance without sacrificing animation quality.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If existing compression techniques like PCA and HSS are used, then memory usage is reduced, but animation quality deteriorates and performance issues arise

Engineering Contradiction:
Improvememory usageVSAvoidanimation quality
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

Different block matrices are compressed using locally optimized strategies tailored to their specific characteristics. Critical blocks that significantly impact animation quality are compressed with higher fidelity, while less critical blocks use more aggressive compression. This local quality approach ensures that memory is allocated efficiently without uniformly degrading animation quality across all regions.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10096133B1Blendshape compression system
Publication Date: 2018.10.09 ELECTRONIC ARTS INC
  • US10096133B1 patent drawing
  • US10096133B1 patent drawing
  • US10096133B1 patent drawing

AI summary

The systems and methods described herein can pre-process a blendshape matrix via a global clusterization process and a local clusterization process. The pre-processing can cause the blendshape matrix to be divided into multiple blocks. The techniques can further apply a matrix compression technique to each block of the blendshape matrix to generate a compression result. The matrix compression technique can comprise a matrix approximation step, an accuracy verification step, and a recursive compression step. The compression result for each block may be combined to generate a compressed blendshape matrix for rendering a virtual entity.