Motion Vector Generation from Transformed Vertex Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing game engines require extensive collaboration and modifications to generate motion vectors efficiently, which is non-scalable and complex, especially for mobile devices with limited computing power.
Innovation Solution
A method for generating motion vectors at a lower level than the game engine, using a GPU driver to access post-transformation vertex information through transform feedback buffers, enabling efficient frame interpolation and extrapolation without game engine modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vectors are generated using game engine modifications and collaboration, then motion vector generation accuracy is improved, but device complexity and development complexity increase
Solution Approach 1:
The patent introduces transform feedback buffers as an intermediary mechanism between the rendering pipeline and motion vector generation. These buffers capture transformed vertex positions automatically during normal rendering operations, providing accurate motion data without requiring game engine modifications. The driver software acts as a mediator that processes this captured data to generate motion vectors, thus achieving high accuracy while avoiding direct game engine integration.
Solution Approach 2:
The rendering pipeline itself generates the necessary motion data through transform feedback buffers during normal operation. Instead of requiring external game engine systems to provide motion information, the system uses its own existing rendering operations to capture and store transformed vertex positions. This self-service approach eliminates the need for additional collaboration with game engine developers while maintaining accurate motion vector generation.
2Measurement precision
If motion vectors are generated at game engine level with object knowledge, then motion vector quality is improved, but ease of operation and scalability worsen
Solution Approach 1:
Transform feedback buffers serve as an intermediary that captures motion data from the rendering pipeline without requiring access to game engine object knowledge. The driver software processes this captured data to generate motion vectors, achieving good quality while maintaining ease of operation since no game engine modifications are needed.
Solution Approach 2:
The patent replaces the mechanical system of game engine-based motion vector generation with a driver software-based approach. Instead of relying on game engine APIs and object hierarchies, the system uses transform feedback buffers to capture motion data and driver software to process it, significantly improving ease of operation and scalability.
3Manufacturing precision
If extensive collaboration with game engine developers is required, then optimization quality is improved, but adaptability and scalability worsen
Solution Approach 1:
Transform feedback buffers act as an intermediary that provides optimization capabilities independent of game engine implementations. The driver software processes captured rendering data to generate optimized motion vectors, achieving high optimization quality while maintaining adaptability across different game engines and applications without requiring modifications to them.
Solution Approach 2:
The transform feedback buffer approach provides universal motion vector generation that works across different game engines and rendering scenarios. The system captures transformed vertex positions from any rendering pipeline that uses transform feedback, making it highly adaptable and scalable without requiring game engine-specific implementations or collaborations.
Data Source
AI summary
An apparatus to generate a first vertex output representing a vertex stream comprising a first list of vertices for opaque objects of a first frame of the scene, generate a first set of hash values using data associated with the first list of vertices for opaque objects of the first frame of the scene, generate a second vertex output representing a vertex stream comprising a second list of vertices for opaque objects of a second frame of the scene, generate a second set of hash values using data associated with the second list of vertices for opaque objects of the second frame of the scene, match opaque objects of the first frame of the scene with opaque objects of the second frame of the scene using the first set of hash values and the second set of hash values, and execute a render operation using the transformed vertex outputs.


