Sharding VR Video Data for Parallel Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual reality content generation systems face challenges in processing abundant data from multiple cameras, often resulting in insufficient detail or less than 360-degree environments when using fewer cameras to reduce data processing burdens.

Innovation Solution

A method involving sharding of raw virtual reality video data into segments, assigning each shard to worker nodes for processing, and reassigning failed shards to ensure complete data processing, while concatenating video and audio renders to generate immersive 360-degree content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a smaller number of cameras is used to reduce data processing burdens, then data processing complexity is reduced, but virtual reality content quality deteriorates with insufficient detail and less than 360-degree environments

Engineering Contradiction:
Improvedata processing complexityVSAvoidvirtual reality content quality
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent divides the processing of virtual reality data into shards, where each shard contains data from a subset of cameras. Multiple worker nodes process different shards in parallel, enabling the system to handle data from many cameras (maintaining high content quality) without overwhelming any single processing unit (managing complexity).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a distributed processing dimension by deploying multiple worker nodes across different computing resources. This transforms the single-point processing bottleneck into a multi-point parallel processing system, allowing the handling of abundant camera data while maintaining manageable complexity at each node.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Manufacturing precision

If multiple camera modules are used to capture comprehensive 360-degree environments, then virtual reality content quality is improved, but data processing burden increases

Engineering Contradiction:
Improvevirtual reality content qualityVSAvoiddata processing complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the camera array into groups, with each group's data forming a shard assigned to a specific worker node. This segmentation allows the system to process data from multiple cameras (improving content quality) by distributing the workload across multiple nodes (managing complexity).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary sharding of camera data before processing, organizing data into manageable chunks and assigning them to worker nodes in advance. This preliminary organization enables parallel processing of data from multiple cameras without creating processing bottlenecks.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If raw virtual reality video data is processed without sharding, then processing workflow is simpler, but processing efficiency deteriorates due to the abundance of data

Engineering Contradiction:
Improveprocessing workflow complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the large volume of raw virtual reality video data into smaller shards, each containing data from a subset of cameras and time segments. This segmentation enables parallel processing across multiple worker nodes, dramatically improving processing efficiency while maintaining manageable workflow complexity at each node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces parallel processing as an additional dimension to the workflow, transforming sequential processing of abundant data into concurrent processing across multiple worker nodes. This dimensional change from single-threaded to multi-threaded processing significantly boosts efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Productivity

If data is processed in larger segments, then fewer processing operations are needed, but processing reliability deteriorates when failures occur

Engineering Contradiction:
Improvenumber of processing operationsVSAvoidprocessing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments data into smaller shards processed by different worker nodes, which increases the number of processing operations but improves reliability through distribution. If one worker node fails, other nodes continue processing their assigned shards, ensuring processing reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local error handling and recovery at each worker node level, where failed shards can be reassigned to different worker nodes. This localized approach to error management maintains overall processing reliability without requiring complete system restarts.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10937462B2Using sharding to generate virtual reality content
Publication Date: 2021.03.02 VERIZON PATENT & LICENSING INC
  • US10937462B2 patent drawing
  • US10937462B2 patent drawing
  • US10937462B2 patent drawing

AI summary

A method includes defining first, second, and third shards of raw three-dimensional video data in a state file, wherein each shard includes raw video feeds; assigning each shard to a corresponding worker node in a set of worker nodes; processing the shards at the set of worker nodes to generate one or more three-dimensional video renders for each shard; determining, from the state file, that processing of the first shard is complete, processing of the second shard is complete, and processing of the third shard is incomplete; and generating three-dimensional content by concatenating a first three-dimensional video render, a first audio render associated with the first shard, a second three-dimensional video render, and a second audio render associated with the second shard, and a filler video that is a placeholder for a third three-dimensional video render until the third shard is processed.