Ring Buffer Shared Memory for Mobile Video Data Transfer
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


