IP Library Granted Patent US 7,215,834
Granted Patent B1
US 7,215,834 · App. 10/165,716 · Granted May 8, 2007

Congfigurable image processing driver

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,215,834
App. No.
10/165,716
Granted
May 8, 2007
Kind
B1
Abstract

A device driver for an image capturing device. The device driver detects and monitors characteristics of the image capturing device as well as that of a host machine processing image data coming from the device. Based on the detected and monitored characteristics, the device driver coordinates image processing on the host machine by configuring on-the-fly a plurality of functional modules supported by the host machine for performing various image processing tasks. When monitored characteristics warrants a different configuration of functional modules, the device driver on-the-fly reconfigures the functional modules.

Claims (59)

1. A method for processing images at an image capturing device driver comprising:

at the image capturing device driver, detecting characteristics of an image capturing device and a host machine;

in response to said detected characteristics, configuring a plurality of image processing functional modules supported by said host machine for imaging; and

processing captured images, wherein each of said functional modules is adapted to support its intended function in multiple versions of performing its said intended function.

2. The method of claim 1 further comprising:

monitoring real time characteristics of said image capturing device and said host machine; and

in response to said monitored real time characteristics providing a different configuration of said plurality of functional modules, reconfiguring said plurality of functional modules for image processing said captured images.

3. A method for processing images at an image capturing device driver comprising:

detecting characteristics of an image capturing device and a host machine;

in response to said detected characteristics, configuring a plurality of image processing functional modules supported by said host machine for imaging; and

processing captured images, wherein each of said functional modules is adapted to support its intended function in multiple versions of performing its said intended function, wherein said functional modules comprise: a compression module adapted to support multiple versions of performing compression, a decompression module adapted to support multiple versions of performing decompression, an image recognition module adapted to support multiple versions of performing image recognition, a demosaicing module adapted to support multiple versions of performing demosaicing, a exposure control module adapted to support multiple versions of performing exposure control, a white balancing module adapted to support multiple versions of performing white balancing, a color correction module adapted to support multiple versions of performing color correction, and an image enhancement module adapted to support multiple versions of performing image enhancement.

4. A method for processing images at an image capturing device driver comprising:

detecting characteristics of an image capturing device and a host machine including compression methodology used by said image capturing device, CPU architecture of said host machine, and coupling bandwidth between said device and said host machine;

in response to said detected characteristics, configuring a plurality of image processing functional modules supported by said host machine for imaging; and

processing captured images, wherein each of said functional module is adapted to support its intended function in multiple versions of performing its said intended function.

5. A method for processing images at an image capturing device driver comprising:

detecting characteristics of an image capturing device and a host machine;

in response to said detected characteristics, configuring a plurality of image processing functional modules supported by said host machine for imaging;

processing captured images, wherein each of said functional module is adapted to support its intended function in multiple versions of performing its said intended function;

monitoring real time characteristic of said image capturing device and said host machine including CPU workload of said host machine, available coupling bandwidth between said device and said host machines, available buffer of said host machine, and frame rate required by an application running on said host machine;

in response to said monitored real time characteristics, providing a different configuration of said plurality of functional modules, reconfiguring said plurality of functional modules for image processing said captured images.

6. The method of claim 1 , wherein said image capturing device is coupled to said host machine using USB protocol.

7. The method of claim 1 , wherein said image capturing device is coupled to said host machine using a wireless protocol.

8. The method of claim 1 , wherein in said step of configuring a version of each said functional modules is selected.

9. The method of claim 2 , wherein in said step of providing a different configuration a version of each said functional modules is selected.

10. An image capturing device comprising:

a sensor adapted to capture image data; and

a transceiver adapted to transfer said captured image data to a host machine for image processing, wherein said host machine supports a device driver of said image capturing device, said driver adapted to detect characteristics of said image capturing device and said host machine and to coordinate image processing of said captured image data by configuring a plurality of image processing functional modules supported by said host machine in response to said detected characteristics of said device and said host machine.

11. The image capturing device of claim 10 , wherein said driver is, adapted to monitor real time characteristics of said image capturing device and said host machine, said driver adapted to coordinate image processing of said captured image data by reconfiguring said plurality of image processing function modules in response to said monitored real time characteristics providing a different configuration of said plurality of functional modules for image processing said captured image data.

12. An image capturing device comprising:

a sensor adapted to capture image data; and

a transceiver adapted to transfer said captured image data to a host machine for image processing, wherein said host machine supports a device driver of said image capturing device, said driver adapted to detect characteristics of said image capturing device and said host machine and to coordinate image processing of said captured image data by configuring a plurality of image processing functional modules comprising a compression module adapted to support multiple versions of performing, compression, a decompression module adapted to support multiple versions of performing decompression, an image recognition module adapted to support multiple versions of performing image recognition, a demosaicing module adapted to support multiple versions of performing demosaicing, a exposure control module adapted to support multiple versions of performing exposure control, a white balancing module adapted to support multiple versions of performing white balancing, a color correction module adapted to support multiple versions of performing color correction, and an image enhancement module adapted to support multiple versions of performing image enhancement in response to said detected characteristics of said image capturing device and said host machine.

13. An image capturing device comprising:

a sensor adapted to capture image data; and

a transceiver adapted to transfer said captured image data to a host machine for image processing, wherein said host machine supports a device driver of said image capturing device, said driver adapted to detect characteristics of said image capturing device and said host machine comprising compression methodology used by said device, CPU architecture of said host machine, and coupling bandwidth between said device and said host machine and said driver adapted to coordinate image processing of said captured image data by configuring a plurality of image processing functional modules in response to said detected characteristics of said image capturing device and said host machine.

14. An image capturing device comprising:

a sensor adapted to capture image data; and

a transceiver adapted to transfer said captured image data to a host machine for image processing, wherein said host machine supports a device driver of said image capturing device, said driver adapted to detect characteristics of said image capturing device, to monitor real time characteristics of said image capturing device and said host machine comprising CPU workload of said host machine, available coupling bandwidth between said device and said host machine; available buffer of said host machine, and frame rate required by an application running on said host machine, and the said driver adapted to coordinate image processing of said captured image data by configuring a plurality of image processing functional modules supported by said host machine in response to said real time characteristics of said device and said host machine.

15. The image capturing device of claim 10 , wherein said image capturing device is coupled to said host machine using USB protocol.

16. The image capturing device of claim 10 , wherein said image capturing device is coupled to said host machine using a wireless protocol.

17. The image capturing device of claim 10 , wherein when configuring said plurality of functional modules for image processing said capture image data, a version of each said functional modules is selected by said driver.

18. The image capturing device of claim 11 , wherein when reconfiguring said plurality of functional modules for image processing said capture image data, a version of each said functional modules is selected by said driver.

19. An image processing machine, said machine comprising:

a transceiver adapted for receiving image data captured by an image a device; and

a processing system coupled to said transceiver, said processing system adapted for running a plurality of functional modules for image processing said captured image data, wherein each functional module is adapted to support multiple versions of performing its intended image processing function, said processing system adapted to run an image capturing device driver adapted to detect characteristics of said machine and said image capturing device and configure said plurality of functional modules for image processing according to the detected characteristics of said machine and said device.

20. The machine of claim 19 , wherein said driver is adapted to monitor real time characteristics of said image capturing device and said host machine, said driver adapted to coordinate image processing of said captured image data by reconfiguring said plurality of image processing function modules in response to said monitored real time characteristics providing a different configuration of said plurality of functional modules for image processing said captured image data.

21. An image processing machine, said machine comprising:

a transceiver adapted for receiving image data captured by an image a device; and

a processing system coupled to said transceiver, said processing system adapted for running a plurality of functional modules for image processing said captured image data, wherein each functional module is adapted to support multiple versions of performing its intended image processing function, said processing system adapted to run an image capturing device driver adapted to detect characteristics of said machine and said image capturing device, and to configure said plurality of functional modules for image processing according to the detected characteristics of said machine and said device, wherein said functional modules comprise: a compression module adapted to support multiple versions of performing compression, a decompression module adapted to support multiple versions of performing decompression, an image recognition module adapted to support multiple versions of performing image recognition, a demosaicing module adapted to support multiple versions of performing demosaicing, a exposure control module adapted to support multiple versions of performing exposure control, a white balancing module adapted to support multiple versions of performing white balancing, a color correction module adapted to support multiple versions of performing color correction, and an image enhancement module adapted to support multiple versions of performing image enhancement.

22. An image processing machine, said machine comprising:

a transceiver adapted for receiving image data captured by an image a device; and

a processing system coupled to said transceiver, said processing system adapted for running a plurality of functional modules for image processing said captured image data, wherein each functional module is adapted to support multiple versions of performing its intended image processing function, said processing system adapted to run an image capturing device driver adapted to detect characteristics of said machine and said image capturing device, and to configure said plurality of functional modules for image processing according to the detected characteristics of said machine and said device, wherein said detected characteristics comprise: compression methodology used by said device, CPU architecture of said host machine, and coupling bandwidth between said device and said host machine.

23. An image processing machine, said machine comprising:

a transceiver adapted for receiving image data captured by an image a device; and

a processing system coupled to said transceiver, said processing system adapted for running a plurality of functional modules for image processing said captured image data, wherein each functional module is adapted to support multiple versions of performing its intended image processing function, said processing system adapted to run an image capturing device driver adapted to detect characteristics and monitor real time characteristics of said machine and said image capturing device, and to configure said plurality of functional modules for image processing according to the monitored real time characteristics of said machine and said device, wherein said monitored real time characteristics comprise: CPU workload of said host machine, available coupling bandwidth between said device and said host machine, available buffer of said host machine, and frame rate required by an application running on said host machine.

24. The machine of claim 19 , wherein said image capturing device is coupled to said host machine using USB protocol, and wherein said transceiver uses USB protocol.

25. The machine of claim 19 , wherein said image capturing device is coupled to said host machine using a wireless protocol, and wherein said transceiver uses the wireless protocol.

26. The machine of claim 19 , wherein when configuring said plurality of functional modules for image processing said capture image data, a version of each said functional modules is selected by said driver.

27. The machine of claim 20 , wherein when reconfiguring said plurality of functional modules for image processing said capture image data, a version of each said functional modules is selected by said driver.

Assignments (15)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2023
From: INTELLECTUAL VENTURES ASSETS 190 LLC
To: AI-CORE TECHNOLOGIES, LLC
Reel/Frame 065227/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2023
From: CHIAO TUNG HOLDINGS, LLC
To: INTELLECTUAL VENTURES ASSETS 190 LLC
Reel/Frame 065015/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2009
From: CROSSTEK CAPITAL, LLC
To: CHIAO TUNG HOLDINGS, LLC
Reel/Frame 023085/0864 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Aug 10, 2009
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
To: MAGNACHIP SEMICONDUCTOR, LTD.
Reel/Frame 023075/0054 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded May 30, 2009
From: THE BANK OF NEW YORK MELLON
To: MAGNACHIP SEMICONDUCTOR, INC. (FORMERLY KNOWN AS IC MEDIA CORPORATION)
Reel/Frame 022746/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2009
From: MAGNACHIP SEMICONDUCTOR, LTD.
To: CROSSTEK CAPITAL, LLC
Reel/Frame 022764/0270 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded May 30, 2009
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MAGNACHIP SEMICONDUCTOR, INC. (FORMERLY KNOWN AS IC MEDIA CORPORATION)
Reel/Frame 022746/0963 →
NUNC PRO TUNC ASSIGNMENT Recorded May 27, 2009
From: MAGNACHIP SEMICONDUCTOR INC.
To: MAGNACHIP SEMICONDUCTOR LTD.
Reel/Frame 022732/0296 →
AFTER-ACQUIRED INTELLECTUAL PROPERTY KUN-PLEDGE AGREEMENT Recorded Feb 18, 2009
From: MAGNACHIP SEMICONDUCTOR, LTD.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 022277/0133 →
INTERSUBSIDIARY ASSET TRANSFER AGREEMENT Recorded Feb 28, 2007
From: MAGNACHIP SEMICONDUCTOR INC.
To: MAGNACHIP SEMICONDUCTOR LTD.
Reel/Frame 018943/0886 →
MERGER Recorded Aug 8, 2006
From: IC MEDIA CORPORATION
To: MAGNACHIP SEMICONDUCTOR, INC.
Reel/Frame 018061/0910 →
CHANGE OF NAME Recorded Dec 1, 2005
From: IC MEDIA CORPORATION
To: MAGNACHIP SEMICONDUCTOR, INC.
Reel/Frame 017344/0427 →
SECURITY INTEREST Recorded Sep 6, 2005
From: IC MEDIA CORPORATION
To: BANK OF NEW YORK, THE
Reel/Frame 016500/0697 →
SECURITY AGREEMENT Recorded Sep 6, 2005
From: IC MEDIA CORPORATION
To: UBS AG, STAMFORD BRANCH
Reel/Frame 016522/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2002
From: LIN, SHANG-HUNG
To: IC MEDIA CORPORATION
Reel/Frame 012987/0523 →