IP Library Granted Patent US 9,288,413
Granted Patent B2
US 9,288,413 · App. 13/940,221 · Granted Mar 15, 2016

Image capture accelerator

Inventors: Sumit Chawla (San Carlos, CA); Scott Patrick Campbell (Belmont, CA)
Assignee: GoPro, Inc.
H04N5/378G06T1/20H04N5/225H04N9/045
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 9,288,413
App. No.
13/940,221
Granted
Mar 15, 2016
Kind
B2
Abstract

An image capture accelerator performs accelerated processing of image data. In one embodiment, the image capture accelerator includes accelerator circuitry including a pre-processing engine and a compression engine. The pre-processing engine is configured to perform accelerated processing on received image data, and the compression engine is configured to compress processed image data received from the pre-processing engine. In one embodiment, the image capture accelerator further includes a demultiplexer configured to receive image data captured by an image sensor array implemented within, for example, an image sensor chip. The demultiplexer may output the received image data to an image signal processor when the image data is captured by the image sensor array in a standard capture mode, and may output the received image data to the accelerator circuitry when the image data is captured by the image sensor array in an accelerated capture mode.

Claims (67)

1. A method for image capture acceleration in an image signal processor (“ISP”), comprising:

receiving image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

in response to the ISP being configured to process data in an accelerated operating mode, bypassing demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

converting the pixel bit depths of the pixel bits of the image data using one or more look-up tables;

reordering the converted image data into a format of the YUV color space;

encoding the transformed image data using one or more encoders; and

storing the encoded image data in a non-transitory computer-readable storage medium.

2. The method of claim 1 , further comprising:

accessing the stored encoded image data;

transforming the outputted encoded image data into the Bayer color space;

formatting the Bayer color space image data into a displayable image format configured to allow for the display of one or more images associated with the image data; and

storing the formatted image data in a second non-transitory computer-readable storage medium.

3. The method of claim 1 , wherein reordering the converted image data into the format of the YUV color space comprises swizzling the converted image data into the YUV color space.

4. A method for image capture acceleration in an image signal processor (“ISP”), comprising:

receiving image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

performing clean Bayer processing on the image data;

in response to the ISP being configured to process data in an accelerated operating mode, bypassing demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

converting the pixel bit depths of the pixel bits of the processed image data using one or more look-up tables;

reordering the converted image data into a format of the YUV color space;

encoding the transformed image data using one or more encoders; and

storing the encoded image data in a non-transitory computer-readable storage medium.

5. A non-transitory computer readable storage medium storing program code, the program code comprising instructions that when executed causes at least one processor to:

receive image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

in response to the ISP being configured to process data in an accelerated operating mode, bypass demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

convert the pixel bit depths of the pixel bits of the image data using one or more look-up tables;

reorder the converted image data into a format of the YUV color space;

encode the transformed image data using one or more encoders; and

store the encoded image data in a non-transitory computer-readable storage medium.

6. The non-transitory computer-readable storage medium of claim 5 , the program code further comprising instructions that when executed causes at least one processor to:

access the stored encoded image data;

transform the outputted encoded image data into the Bayer color space;

format the Bayer color space image data into a displayable image format configured to allow for the display of one or more images associated with the image data; and

store the formatted image data in a second non-transitory computer-readable storage medium.

7. The non-transitory computer-readable storage medium of claim 5 , wherein reordering the converted image data into the format of the YUV color space comprises swizzling the converted image data into the YUV color space.

8. A non-transitory computer readable storage medium storing program code, the program code comprising instructions that when executed causes at least one processor to:

receive image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

perform clean Bayer processing on the image data;

in response to the ISP being configured to process data in an accelerated operating mode, bypass demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

convert the pixel bit depths of the pixel bits of the processed image data using one or more look-up tables;

reorder the converted image data into a format of the YUV color space;

encode the transformed image data using one or more encoders; and

store the encoded image data in a non-transitory computer-readable storage medium.

9. A system for image capture acceleration, comprising:

an image signal processor for executing computer program instructions; and

a non-transitory computer-readable storage medium storing program code, the program code comprising instructions that when executed by the image signal processor causes the image signal processor to:

receive image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

in response to the ISP being configured to process data in an accelerated operating mode, bypass demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

convert the pixel bit depths of the pixel bits of the image data using one or more look-up tables;

reorder the converted image data into a format of the YUV color space;

encode the transformed image data using one or more encoders; and

store the encoded image data in a non-transitory computer-readable storage medium.

10. The system of claim 9 , the program code further comprising instructions that when executed causes the image signal processor to:

access the stored encoded image data;

transform the outputted encoded image data into the Bayer color space;

format the Bayer color space image data into a displayable image format configured to allow for the display of one or more images associated with the image data; and

store the formatted image data in a second non-transitory computer-readable storage medium.

11. The system of claim 9 , wherein reordering the converted image data into the format of the YUV color space comprises swizzling the converted image data into the YUV color space.

12. A system for image capture acceleration, comprising:

an image signal processor for executing computer program instructions; and

a non-transitory computer-readable storage medium storing program code, the program code comprising instructions that when executed by the image signal processor causes the image signal processor to:

receive image data captured by an image sensor array, the image data comprising a set of pixel bits, each pixel bit with an associated bit depth;

perform clean Bayer processing on the image data;

in response to the ISP being configured to process data in an accelerated operating mode, bypass demosaicing operations performed by the ISP when the ISP is configured to process data in a standard operating mode;

convert the pixel bit depths of the pixel bits of the processed image data using one or more look-up tables;

reorder the converted image data into a format of the YUV color space;

encode the transformed image data using one or more encoders; and

store the encoded image data in a non-transitory computer-readable storage medium.

Assignments (7)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY AGREEMENT Recorded Aug 29, 2016
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039851/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2015
From: CHAWLA, SUMIT; CAMPBELL, SCOTT PATRICK
To: WOODMAN LABS, INC.
Reel/Frame 036619/0737 →
CHANGE OF NAME Recorded Sep 22, 2015
From: WOODMAN LABS, INC.
To: GOPRO, INC.
Reel/Frame 036645/0539 →
CHANGE OF NAME Recorded Feb 6, 2014
From: WOODMAN LABS, INC.
To: GOPRO, INC.
Reel/Frame 032167/0510 →
Continuity (2)
Provisional Application 61671068 · Jul 12, 2012
Related Publication 20140015996A1 · Jan 16, 2014