Video Multiviewer DMA Block RAM Real-Time Stream Rearrangement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video multiviewer systems face limitations in rearranging video streams in real-time and are constrained by system memory, which restricts the number of video inputs that can be simultaneously displayed, and require separate inputs for graphic content and display templates.

Innovation Solution

A video multiviewer system utilizing a Graphics Processing Unit (GPU) with Direct Memory Access (DMA) and a dual-ported Block RAM, allowing for scalable and uninterrupted operation of multiple DMA channels, enabling efficient transfer and display of multiple video streams without the need for intermediate memory buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a typical multiviewer uses a plurality of monitors to display more video streams, then the viewing capacity increases, but the device complexity and housing size increase to undesirable levels

Engineering Contradiction:
Improvenumber of video streams displayedVSAvoidhardware requirements and housing size
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent merges multiple video stream processing and display functions into a single monitor device. The multiviewer integrates video signal routing, scaling, and display capabilities in one unit, eliminating the need for multiple separate monitors while maintaining the ability to display multiple video streams simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The multiviewer system performs multiple functions including video signal reception from various inputs, real-time scaling and formatting, spatial arrangement of video streams, and display on a single monitor. This multi-functional approach consolidates what would traditionally require separate devices into one universal multiviewer unit.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If the processor adjusts scaling operations in real time based on user requests, then the adaptability improves, but the processing power requirements and hardware complexity increase

Engineering Contradiction:
Improvereal-time rearrangement capabilityVSAvoidprocessing power requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The multiviewer implements dynamic scaling and spatial arrangement capabilities that can be adjusted in real-time based on user input. The system can change the display configuration, scaling ratios, and video stream positioning dynamically without requiring hardware changes, allowing flexible adaptation to different viewing requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes display parameters such as scaling factors, spatial coordinates, and video stream allocation in real-time. By modifying these parameters through software control rather than hardware reconfiguration, the system achieves high adaptability while keeping the physical hardware requirements manageable.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If system memory constraints are used to restrict the number of video inputs, then the hardware size is reduced, but the quantity of video inputs that can be simultaneously displayed is limited

Engineering Contradiction:
Improvenumber of video inputs displayedVSAvoidsystem memory size
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The patent addresses memory constraints by utilizing temporal dimension through frame buffering and queue mechanisms. Instead of requiring large simultaneous memory capacity for all video streams, the system uses time-multiplexed memory access patterns where video data is processed and displayed in sequential frames, effectively reducing the instantaneous memory requirement while maintaining high input capacity.

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

Solution Approach 2:

The system performs preliminary actions by pre-buffering video data and preparing display configurations before actual display occurs. Frame buffers and queues store video frames in advance, allowing the system to handle multiple video inputs simultaneously while using smaller memory capacity at any given moment, as data is processed in advance and displayed in controlled sequences.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If separate inputs are required for graphic content and display templates, then the system complexity is reduced, but the adaptability and functionality are encumbered

Engineering Contradiction:
Improvegraphic content display capabilityVSAvoidinput requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The multiviewer system treats video inputs, graphic content, and display templates as uniform data streams that can be processed through the same routing and scaling infrastructure. This universal handling allows any input source to be displayed using the same hardware pathways, reducing the need for separate dedicated inputs for different content types while maintaining full functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9438844B2Video multiviewer system using direct memory access (DMA) registers and block RAM
Publication Date: 2016.09.06 IMAGINE COMMUNICATIONS CORP
  • US9438844B2 patent drawing
  • US9438844B2 patent drawing
  • US9438844B2 patent drawing

AI summary

A video multiviewer system includes a Graphics Processing Unit (GPU) that includes a GPU memory. A video input module is operative with the GPU for receiving video data and transferring the video data to the GPU memory via a Direct Memory Access (DMA). A programmable circuit such as a Field Programmable Gate Array (FPGA) includes a multi-ported and in one aspect a dual ported block Random Access Memory (RAM) configured for a plurality of DMA channels for receiving video data and allowing uninterrupted operation of consecutive DMA transfers of video data to the GPU memory. A display displays the multiple video windows based upon video data received within the GPU memory.