Modular parallel-pipelined vision system for real-time video processing
First Claim
1. A modular video processing system comprising:
- a processing module containing at least one general purpose microprocessor, which controls hardware and software operation of said video processing system using configuration data, and which processes video data;
at least one video processing module which contains a plurality of parallel pipelined video hardware components, the video processing module being responsive to said configuration data to perform different video processing operations on the video data;
a global video bus which establishes a direct connection between the processing module and said at least one video processing module to route the video data between said processing module and said at least one video processing module; and
a global control bus which provides said configuration data to/from said processing module from/to said at least one video processing module, said global control bus being separate from said global video bus.
1 Assignment
0 Petitions
Accused Products
Abstract
A real-time modular video processing system (VPS) which can be scaled smoothly from relatively small systems with modest amounts of hardware to very large, very powerful systems with significantly more hardware. The modular video processing system includes a processing module containing at least one general purpose microprocessor which controls hardware and software operation of the video processing system using control data and which also facilitates communications with external devices. One or more video processing modules are also provided, each containing parallel pipelined video hardware which is programmable by the control data to provide different video processing operations on an input stream of video data. Each video processing module also contains one or more connections for accepting one or more daughterboards which each perform a particular image processing task. A global video bus routes video data between the processing module and each video processing module and between respective processing modules, while a global control bus provides the control data to/from the processing module from/to the video processing modules separate from the video data on the global video bus. A hardware control library loaded on the processing module provides an application programming interface including high level C-callable functions which allow programming of the video hardware as components are added and subtracted from the video processing system for different applications.
302 Citations
30 Claims
-
1. A modular video processing system comprising:
-
a processing module containing at least one general purpose microprocessor, which controls hardware and software operation of said video processing system using configuration data, and which processes video data;
at least one video processing module which contains a plurality of parallel pipelined video hardware components, the video processing module being responsive to said configuration data to perform different video processing operations on the video data;
a global video bus which establishes a direct connection between the processing module and said at least one video processing module to route the video data between said processing module and said at least one video processing module; and
a global control bus which provides said configuration data to/from said processing module from/to said at least one video processing module, said global control bus being separate from said global video bus. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A modular video processing system comprising:
-
a processing module containing at least one general purpose microprocessor, which controls hardware and software operation of said video processing system using configuration data, and which processes video data;
at least one video processing module which contains a plurality of parallel pipelined video hardware components, the video processing module being responsive to said configuration data to perform different video processing operations on the video data;
a global video bus which establishes a direct connection between the processing module and said at least one video processing module to route the video data between said processing module and said at least one video processing module; and
a global control bus which provides said configuration data to/from said processing module from/to said at least one video processing module, said global control bus being separate from said global video bus;
wherein said video data is coupled with associated video timing signals synchronized to a system clock signal, and each video processing module comprises a crosspoint switch coupled to the global video bus, the cross point switch routing said video data and its associated video timing signals to/from respective ones of the plurality of parallel pipelined video hardware components, said timing signals indicating when the video data represents active video information. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of creating a modular video processing system, comprising the steps of:
-
providing video data via a global video bus;
providing a global control bus separate from the global video bus;
connecting a processing module containing at least one general purpose microprocessor to said global video bus and said global control bus said microprocessor controlling hardware and software operations of said video processing system using configuration data and processing said video data;
connecting said global control bus and said global video bus to at least one video processing module which contains parallel pipelined video hardware that is responsive to said configuration data to provide respectively different video processing operations on the video data, the video processing module being configured to perform the different video processing operations concurrently;
said processing module detecting each video processing module connected to said global control bus; and
passing said configuration data directly to each detected video processing module over said global control bus to program said parallel pipelined video hardware to perform at least one of said video processing operations; and
associating video timing signals synchronized to a system clock signal with the video data, wherein each video processing module routes the video data and associated timing signals from any one of the multiple concurrent video processing operations to any one or more of the multiple concurrent video processing operations said timing signals indicating when the video data represents active video information. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A modular processing system comprising:
-
at least one specialized processing module which contains a plurality of parallel pipelined hardware components that are programmable to provide respectively different, asynchronous specialized processing operations on an input stream of data;
a general processing module containing a general purpose microprocessor which controls hardware and software operation of said specialized processing module and said general processing module, using a hardware control library loaded on said general purpose microprocessor, said hardware control library comprising a set of functions for programming said parallel pipelined hardware of said at least one specialized processing module and said microprocessor of said general processing module to perform predetermined specialized processing operations on the input stream of data; and
a global control bus which provides control data to/from said hardware control library of said general processing module from/to said at least one specialized processing module separate from said stream of input data to be processed by said general processing module and said at least one specialized processing module. - View Dependent Claims (28, 29, 30)
-
Specification