Avatar Livestreaming With Shared Textures to Reduce Page Stalling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional live streaming systems experience high system overheads and page stalling due to the need for Unity to copy rendering results from video memory to system memory, which is inefficient and disrupts the streaming process.

Innovation Solution

Implementing a shared memory system where the live process and rendering process exchange data using a shared texture, allowing the live process to obtain rendering results directly from the rendering process without additional CPU overhead, utilizing GPU resources for this exchange.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Unity copies rendering result from video memory to memory, then the rendering result can be obtained by the live process, but system overheads increase and page stalling occurs

Engineering Contradiction:
Improverendering result transmissionVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the rendering process and live process into a single integrated system where the rendering process directly outputs to a shared texture that the live process can access. This eliminates the need for separate memory copying operations between distinct processes, thereby reducing system overhead while maintaining reliable rendering result transmission.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a shared texture as an intermediary data structure that both the rendering process and live process can access. Instead of direct memory copying between processes, the shared texture serves as a mediator that enables efficient data exchange without the overhead of traditional inter-process communication mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If Unity copies rendering result from video memory to memory, then the live process can obtain the rendering result, but page stalling occurs

Engineering Contradiction:
Improverendering result transmissionVSAvoidstreaming efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By merging the rendering and live processes into one integrated workflow, the patent eliminates the page stalling issue that occurs during memory copying operations. The shared texture approach allows both processes to operate simultaneously without blocking each other, thereby maintaining high streaming efficiency while ensuring reliable rendering result transmission.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent ensures continuous operation of the livestreaming system by using a shared texture that allows the live process to continuously access rendering results without interruption. This eliminates the page stalling pauses that would otherwise occur during memory copying, maintaining uninterrupted streaming efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12387414B2Avatar livestreaming method and apparatus
Publication Date: 2025.08.12 SHANGHAI BILIBILI TECH CO LTD
  • US12387414B2 patent drawing
  • US12387414B2 patent drawing
  • US12387414B2 patent drawing

AI summary

This application discloses an avatar livestreaming method. The method includes monitoring a selection of an avatar as an online streamer by a user; starting, by a live process, a rendering process in response to detecting the selection; creating, by the rendering process, a shared texture configured to enable the live process to obtain a rendering result; creating, by the live process, a shared memory through which the live process and the rendering process exchange data except the rendering result; collecting in real time, by the live process, facial data indicating movements or expressions associated with a face or a head of the user and synchronizing the facial data to the rendering process; rendering, by the rendering process, the avatar in the shared texture based on the facial data; and obtaining, by the live process, the rendering result in the shared texture.