Encoder-Guided Adaptive Rendering for MMOG Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies for remote gaming struggle to optimize server-side rendering quality based on available bandwidth and computational resources, leading to wasted rendering work and increased latency in interactive applications like MMOGs.

Innovation Solution

The system uses a codec to communicate quantization settings to a renderer, which generates reference images and calculates perceived quality using the structural similarity index, creating a lookup table to match encoder settings with rendering quality settings, thereby optimizing rendering and encoding processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If the server renders video output at the highest quality, then the image quality is improved, but the server-side computational power and energy usage increase significantly

Engineering Contradiction:
Improverendering qualityVSAvoidserver-side energy usage
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts rendering quality settings based on real-time encoder feedback about actual encoded quality and bandwidth conditions. The renderer monitors encoder quantization parameters and adjusts rendering resolution, texture quality, and other settings dynamically to match the actual encoded output quality, preventing wasted computation on frames that will be compressed anyway.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback loop where the encoder communicates quantization settings and actual encoded quality metrics back to the renderer. The renderer uses this feedback to adjust its rendering quality in real-time, ensuring that rendering effort matches the eventual perceived quality after encoding and transmission.

Inventive Principle:
Principle #23Feedback

2Manufacturing precision

If the server renders video output at the highest quality, then the image quality is improved, but the rendering time increases, causing latency in interactive applications

Engineering Contradiction:
Improverendering qualityVSAvoidrendering time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system dynamically adjusts rendering quality settings based on real-time encoder feedback about actual encoded quality and bandwidth conditions. The renderer monitors encoder quantization parameters and adjusts rendering resolution, texture quality, and other settings dynamically to match the actual encoded output quality, preventing wasted computation on frames that will be compressed anyway.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback loop where the encoder communicates quantization settings and actual encoded quality metrics back to the renderer. The renderer uses this feedback to adjust its rendering quality in real-time, ensuring that rendering effort matches the eventual perceived quality after encoding and transmission.

Inventive Principle:
Principle #23Feedback

3Productivity

If the encoder compresses video to fit limited bandwidth, then the transmission efficiency is improved, but the decoded output quality decreases

Engineering Contradiction:
Improvetransmission efficiencyVSAvoiddecoded output quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing a lookup table that maps encoder quantization settings to optimal rendering quality settings. This lookup table is generated offline by encoding reference frames at various quality levels and measuring the actual encoded output quality, allowing the renderer to quickly determine appropriate rendering settings during runtime without real-time computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes rendering parameters (resolution, texture quality, shadow quality, etc.) based on encoder quantization parameters. By adjusting these rendering parameters to match the encoder's compression level, the system ensures that rendering effort is optimized for the actual transmitted quality, preventing both waste and degradation.

Inventive Principle:
Principle #35Parameter changes

4Speed

If existing video coding methods trade computational power for reductions in encoding time, then the encoding speed is improved, but the computational power requirements still remain high

Engineering Contradiction:
Improveencoding speedVSAvoidcomputational power
Core Design Contradiction:
SpeedVSPower

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing a lookup table that maps encoder quantization settings to optimal rendering quality settings. This lookup table is generated offline by encoding reference frames at various quality levels and measuring the actual encoded output quality, allowing the renderer to quickly determine appropriate rendering settings during runtime without real-time computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11330276B2Systems and methods for encoder-guided adaptive-quality rendering
Publication Date: 2022.05.10 ZENIMAX MEDIA INC
  • US11330276B2 patent drawing
  • US11330276B2 patent drawing
  • US11330276B2 patent drawing

AI summary

Systems and methods for improving computer technology related to the rendering and encoding of images are disclosed, preferably for use in a video-game environment. In certain embodiments, a codec is used to encode one or more reference images for a partial range of encoder settings and a renderer is used to generate one or more rendering quality-settings profiles, generate one or more reference images, calculate perceived qualities for each of the one or more reference images, re-render the one or more reference images for each of the one or more rendering quality-setting profiles, and calculate perceived qualities for each of the one or more re-rendered reference images. The renderer compares the perceived qualities of the reference images to the perceived qualities of the re-rendered images and matches them. Those matches result in an association of one or more encoder settings with their matching rendering quality-settings profiles into a look-up table. The lookup table is used to generate a rendered image at a substantially identical perceived quality to an encoded frame during gameplay.