State Machine Gesture Debugging Tool

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current gesture recognition techniques for natural user interfaces are either overly flexible and unreliable, requiring frame-by-frame modeling, or limited in developer freedom due to extensive offline training for predefined gestures, leading to inefficient development and limited customization.

Innovation Solution

A state machine-based system where user input actions are defined by a finite state machine with specific states and transitions, allowing developers to customize gestures by specifying states and permitted transitions, and enabling intuitive debugging of code behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If frame-by-frame description of user's hand is provided to maximize flexibility, then developer freedom is improved, but reliability deteriorates resulting in undesired behaviour

Engineering Contradiction:
Improvedeveloper freedomVSAvoidgesture recognition reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent changes the parameter of gesture definition from frame-by-frame hand modeling to state-based transition modeling. By transforming the approach from continuous frame analysis to discrete state transitions with associated constraints, the system achieves both developer flexibility in defining gestures and improved reliability through the structured state machine framework that enforces proper gesture sequences and prevents undesired behavior.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If predefined gestures are used with machine learning techniques, then reliability is improved, but developer freedom deteriorates due to limited customization

Engineering Contradiction:
Improvegesture detection reliabilityVSAvoidgesture customization freedom
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics by allowing the state machine structure itself to be customized by developers. While the underlying machine learning detection remains reliable, the state definitions, transitions, and constraints can be dynamically configured to create custom gestures. This enables developers to define their own gesture vocabularies and behaviors without being limited to predefined sets, thereby achieving both reliability and customization freedom.

Inventive Principle:
Principle #15Dynamics

3Reliability

If extensive offline training is performed for predefined gestures, then gesture detection reliability is improved, but development time increases

Engineering Contradiction:
Improvegesture detection reliabilityVSAvoidoffline training time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing the training work upfront during system initialization rather than requiring extensive offline training for each new gesture. The state machine framework is pre-configured with the gesture definitions and constraints, allowing the reliable detection to be achieved without time-consuming offline training sessions for developers. The system is prepared in advance to recognize gestures based on the predefined state transitions.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If frame-by-frame modeling is used to allow custom gesture definition, then developer freedom is improved, but system complexity increases

Engineering Contradiction:
Improvegesture definition freedomVSAvoidgesture recognition system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by breaking down gesture recognition into discrete, manageable states and transitions rather than analyzing every frame continuously. The gesture recognition system is segmented into distinct states with clear entry and exit conditions, making the system easier to understand, implement, and debug. This segmentation reduces complexity while maintaining developer freedom to define custom gestures through the state machine framework.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10866882B2Debugging tool
Publication Date: 2020.12.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10866882B2 patent drawing
  • US10866882B2 patent drawing
  • US10866882B2 patent drawing

AI summary

A debugging tool comprises user input apparatus to receive user input from a debugging user, computer storage configured to hold a piece of code to be debugged, the code embodying a state machine defining a user input action, a display configured to display a timeline, and at least one processor configured to execute an iterative debugging process for visualising behaviour of the code on the timeline. The debugging process is driven by changes in the user input received at the user input apparatus and is performed so as to represent on the timeline a sequence of expected user input states of the state machine as they are actualized by the debugging user according to the permitted transitions.