Multi-View Rendering via Interleaved Pixel Block Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-view rendering, existing technologies face challenges in optimizing device performance and battery life due to the need for rendering a single scene multiple times from different perspectives, which can be resource-intensive and inefficient.

Innovation Solution

The method involves dividing views into pixel blocks based on processor capabilities, interleaving the rasterization and rendering of primitive objects across these blocks between multiple views, and caching resources used in rendering to improve cache efficiency and reduce memory utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single geometric graph is rendered for multiple views from different perspectives, then multi-view rendering capability is achieved, but device performance and battery life deteriorate due to resource-intensive repeated rendering

Engineering Contradiction:
Improvemulti-view rendering capabilityVSAvoiddevice performance and battery life
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The rendering process is segmented into two distinct phases: a first pass that processes only geometry and depth information to generate depth buffers and depth-stencil masks, and a second pass that uses these masks to selectively render pixels for each view. This segmentation allows the system to achieve multi-view rendering capability while reducing per-pass computational load, as the first pass shares common geometry processing across all views and the second pass only processes pixels that actually contain primitive objects.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass performs preliminary processing by generating depth buffers and depth-stencil masks before the actual view-specific rendering. These pre-computed depth masks identify which pixels contain primitive objects and will need rendering in subsequent passes. This preliminary action eliminates the need to re-process geometry information for each view, significantly reducing redundant computations and improving device performance.

Inventive Principle:
Principle #10Preliminary action

2Area of stationary object

If a single geometric graph is rendered for multiple views, then comprehensive scene coverage is achieved, but rendering efficiency deteriorates due to rendering the same scene multiple times

Engineering Contradiction:
Improvescene coverageVSAvoidrendering efficiency
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent merges the rendering of multiple views by using a single first pass to process all geometry for all views simultaneously, generating shared depth buffers and depth-stencil masks. The second pass then merges the view-specific rendering operations by using these shared masks to efficiently render each view. This merging approach maintains comprehensive scene coverage across multiple views while dramatically improving rendering efficiency by eliminating redundant geometry processing.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The depth buffers and depth-stencil masks generated in the first pass are copied and reused across all second passes for different views. Instead of re-processing geometry for each view, the system creates view-specific render passes that leverage the pre-computed depth information. This copying approach ensures comprehensive scene coverage is maintained while avoiding the inefficiency of rendering the same geometric data multiple times.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10388060B2System and method for multi-view rendering
Publication Date: 2019.08.20 FUTUREWEI TECHNOLOGIES INC
  • US10388060B2 patent drawing
  • US10388060B2 patent drawing
  • US10388060B2 patent drawing

AI summary

According to one aspect of the present disclosure, there is provided a method that includes: determining a block size according to capabilities of a processor; dividing a first view into a plurality of first pixel blocks having the block size and a second view into a plurality of second pixel blocks having the block size; rasterizing a primitive object to produce a subset of the first pixel blocks for the first view and a subset of the second pixel blocks for the second view; and rendering the subsets of the first and second pixel blocks produced for the primitive object to produce a first image for the first view and a second image for the second view, where the rendering is interleaved between the subsets of the first and second pixel blocks occupied by the primitive object in the first and second views.