Ring Buffer Shared Memory for Mobile Video Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for transferring image data from a native layer to a Java layer in mobile devices are slow, resulting in disconnections and limited usage of image capturing devices, especially with high-data devices like USB Video Class cameras, due to buffer size limitations and transfer delays between the Java and native layers.

Innovation Solution

An apparatus and method utilizing ring-buffer type shared memories with state information management, where image data is stored and read in a frame unit, with additional shared memories generated as needed, allowing direct transfer from the native layer to the Java layer without intermediate storage and read operations, thereby reducing bottlenecks and enhancing transfer speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If image data is transferred from native layer to Java layer using conventional copying method, then data transfer is performed, but transfer rate is very slow and data loss occurs

Engineering Contradiction:
Improvedata transfer rateVSAvoiddata loss and disconnection
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the transfer process into segments by introducing multiple ring buffers (first ring buffer, second ring buffer, third ring buffer) instead of using a single buffer. This segmentation allows parallel processing of different frame data, increasing throughput and preventing data loss by ensuring that one buffer can be processed while another is being filled

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces ring buffers as intermediary structures between the native layer and Java layer. These ring buffers act as mediators that decouple the production rate (image capturing) from the consumption rate (processing), allowing high-speed transfer without direct layer-to-layer copying and preventing data loss through buffer management

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If maximum buffer size is used in conventional method, then some data transfer is possible, but transfer delay occurs and frame rate is limited to 3 fps

Engineering Contradiction:
Improveframe transfer rateVSAvoidtransfer delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By segmenting the buffer into multiple ring buffers, the system can process multiple frames simultaneously across different buffers, eliminating the sequential processing bottleneck that caused transfer delays. This enables achieving over 30 fps by parallelizing the transfer operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The ring buffers are pre-configured with state information (first state, second state, third state) that indicates their readiness status. This preliminary state management allows the system to immediately begin transferring data without waiting for buffer availability checks, reducing transfer delay

Inventive Principle:
Principle #10Preliminary action

3Speed

If data is copied between native layer and Java layer memory areas, then data transfer is achieved, but transfer speed is limited by layer communication overhead

Engineering Contradiction:
Improveimage data transfer speedVSAvoidlayer communication complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the buffer management functionality into a unified ring buffer structure that handles both native layer input and Java layer output in a single coordinated system. This consolidation reduces the complexity of managing multiple separate copy operations between layers while maintaining high transfer speed

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10530980B2Apparatus for managing video data and method the same
Publication Date: 2020.01.07 VAULT MICRO
  • US10530980B2 patent drawing
  • US10530980B2 patent drawing
  • US10530980B2 patent drawing

AI summary

Provided is an apparatus for managing image data, by which the image data transferred to a mobile device from an image capturing device connected to the mobile device is managed. The apparatus may include a first controller located in a native layer for communicating with a java layer, a second controller located in a java layer for communicating with the native layer, and a plurality of ring-buffer type shared memories in which the image data transferred from the image capturing device is stored. The first controller may store the image data in the shared memory at a first state according to the order of the shared memories and may change the state information of the shared memory to a second state when the image data is completely stored. The second controller may read the image data stored in the shared memories at the second state according to the order of the shared memories and may change the state information of the shared memory to the first state when the image data is completely read.