Animation Morphing Using Sparse Mesh Weights for Limited Cache Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Systems with limited cache memory struggle to perform morphing operations for 3D animations due to high memory bandwidth requirements, making it difficult to provide a satisfactory user experience.
Innovation Solution
The method involves representing animation targets as a combination of a current pose and an incremental morph, using a sparse mesh representation where only non-zero weight values are stored, allowing for efficient memory access and reduced memory usage by storing vertices as start-stop value pairs and sequential vertex data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If standard morphing operations are performed on 3D mesh animations, then animation quality is maintained, but memory bandwidth requirements become prohibitively high for systems with limited cache memory
Solution Approach 1:
The patent segments the animation morphing process into two distinct phases: an offline phase where animation sequences are pre-processed and decomposed into key poses with associated vertex weights, and an online phase where only the necessary weight values are retrieved from memory during playback. This segmentation allows the computationally intensive operations to be performed once offline, while runtime memory access is minimized to only the essential weight parameters, thereby reducing memory bandwidth requirements while maintaining animation quality.
Solution Approach 2:
The patent applies preliminary action by pre-computing and storing the animation data in a optimized format during an offline phase. The animation sequences are pre-decomposed into key poses with pre-calculated vertex weights, and this structured data is stored in memory for efficient retrieval. During runtime, the system only needs to access the pre-computed weight values without performing intensive morphing calculations, significantly reducing real-time memory bandwidth consumption while preserving animation quality.
2Loss of information
If full mesh data is stored in memory for every animation frame, then complete animation information is available, but memory consumption exceeds available cache memory in mobile devices
Solution Approach 1:
The patent extracts only the essential information needed for animation playback by separating the mesh geometry data from the animation weight data. The vertex positions and mesh structure are stored once in a compressed format, while only the varying weight values that define animation transitions are stored in memory for quick access. This extraction approach retains complete animation information while minimizing memory consumption by eliminating redundant storage of full mesh data for each frame.
Solution Approach 2:
The patent applies local quality by storing animation data with varying precision and detail based on local requirements. The mesh geometry is stored in a compressed format with sufficient precision for rendering, while the animation weight values are stored with the necessary precision for smooth transitions. This differentiated storage approach ensures that animation information is preserved where needed while reducing overall memory consumption by avoiding uniform high-precision storage across all data.
3Speed
If morphing operations are performed at 60 fps frame rate, then smooth animation is achieved, but memory bandwidth requirements reach approximately 30 MB/sec which is unavailable in systems with limited processing power
Solution Approach 1:
The patent applies dynamics by implementing a two-phase animation system where the offline phase performs comprehensive pre-computation and the online phase performs minimal real-time operations. During offline processing, the system dynamically generates and stores pre-computed weight values for each animation frame. During runtime at 60 fps, the system dynamically retrieves only the necessary weight values from memory without performing intensive morphing calculations, thereby achieving smooth high-frame-rate animation while keeping real-time memory bandwidth requirements within the capabilities of mobile devices with limited processing power.
Data Source
AI summary
Systems, methods, and computer readable media to improve the animation capabilities of a computer system are described. Animation targets may be represented as a combination of a current animation pose and an incremental morph. The incremental morph may be represented as a series of non-zero weights, where each weight alters one of a predetermined number of target poses. Each target pose may be represented as a weighted difference with respect to a reference pose. Target poses may be stored in memory in a unique and beneficial manner. The disclosed manner permits the efficient retrieval of pose vertex data at run-time and may be especially efficient in systems that do not use, or have very little, cache memory.


