Visual Layout Tree Animation via Positioning Pointers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in efficiently rendering complex and sophisticated content on low computational power devices and large displays, as they require significant resources and often cannot handle content that spans multiple display areas or includes complex animations.

Innovation Solution

A layout engine generates a visual layout tree from a visual description tree, allowing for efficient rendering of content across multiple display areas by traversing the tree, caching nodes, and using positioning pointers to animate movements, thereby optimizing resource usage and supporting complex layouts and animations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex and sophisticated content is presented using current technologies, then content quality and sophistication are improved, but computational resource consumption increases significantly

Engineering Contradiction:
Improvecontent complexityVSAvoidcomputational resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments complex content into a hierarchical visual layout tree structure, where the root node represents the entire content and child nodes represent progressively smaller portions. This segmentation allows the system to process and render only the necessary portions of content at each level, reducing overall computational resource consumption while maintaining the ability to present sophisticated content.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to content representation by organizing content into multiple levels of the visual layout tree. This hierarchical dimension enables efficient rendering by allowing the system to traverse and process content at different levels of abstraction, reducing computational requirements compared to processing entire complex content structures at a single level.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If content spans multiple display areas or includes complex animations, then content versatility and visual sophistication are improved, but device requirements increase to high-end workstations

Engineering Contradiction:
Improvecontent versatilityVSAvoiddevice requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The visual layout tree segments content into manageable hierarchical portions that can be efficiently rendered across multiple display areas. Each node in the tree represents a specific portion of content with its positioning information, allowing the system to distribute and render content across multiple displays without requiring high-end workstation capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic animation by detecting changes in positioning information within the visual layout tree and automatically generating animations between different versions of the document. This dynamic approach allows complex animations to be created through simple positional changes in the tree structure, reducing device complexity requirements.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If efficient rendering is achieved on low computational power devices, then device accessibility is improved, but handling of fragmented content and animations becomes challenging

Engineering Contradiction:
Improvedevice accessibilityVSAvoidcontent handling capability
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The layout engine implements self-service by automatically detecting changes in positioning information and generating appropriate animations without requiring manual intervention. When the positioning of a visual layout node changes between document versions, the engine automatically creates animation sequences, making the system easy to operate on low-powered devices while maintaining sophisticated content handling capabilities.

Inventive Principle:
Principle #25Self-service

4Productivity

If automated animation is implemented by detecting positioning changes, then animation generation efficiency is improved, but computational overhead during rendering increases

Engineering Contradiction:
Improveanimation generation efficiencyVSAvoidrendering computational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary action by pre-processing document versions into the visual layout tree structure and pre-identifying positioning changes between versions. This preliminary processing allows the system to generate animation sequences efficiently without incurring significant computational overhead during the actual rendering phase, as the animation logic has already been prepared in advance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10430500B2Detecting and animating a change in position of a visual layout node of a visual layout tree
Publication Date: 2019.10.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10430500B2 patent drawing
  • US10430500B2 patent drawing
  • US10430500B2 patent drawing

AI summary

A layout engine generates a visual layout tree for a visual description tree of a document whose content is to be rendered in one or more display areas. A visual description tree describes the content of a document along with formatting and logical arrangement the content. Visual description nodes of a visual description tree represent the organization of the constituent elements a document hierarchically. A visual layout tree defines the layout of a document within one or more display areas. Visual layout nodes of a visual layout tree represent the layout of the content of a document hierarchically. The layout engine receives as input a visual description tree and generates the corresponding visual layout tree. A rendering engine then inputs the visual layout tree and generates a graphics buffer containing the pixels representing the layout of the document as defined by the visual layout tree.