Architecture for high performance, power efficient, programmable image processing

US9965824B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965824-B2
Application numberUS-201514694828-A
CountryUS
Kind codeB2
Filing dateApr 23, 2015
Priority dateApr 23, 2015
Publication dateMay 8, 2018
Grant dateMay 8, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An apparatus is described. The apparatus includes an image processing unit. The image processing unit includes a network. The image processing unit includes a plurality of stencil processor circuits each comprising an array of execution unit lanes coupled to a two-dimensional shift register array structure to simultaneously process multiple overlapping stencils through execution of program code. The image processing unit includes a plurality of sheet generators respectively coupled between the plurality of stencil processors and the network. The sheet generators are to parse input line groups of image data into input sheets of image data for processing by the stencil processors, and, to form output line groups of image data from output sheets of image data received from the stencil processors. The image processing unit includes a plurality of line buffer units coupled to the network to pass line groups in a direction from producing stencil processors to consuming stencil processors to implement an overall program flow.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus, comprising: an image processing unit, comprising: a network; a plurality of stencil processor circuits each comprising an array of execution unit lanes coupled to a two-dimensional shift register array structure that supports bi-directional data movements along a horizontal axis and supports bi-directional data movements along a vertical axis, the array of execution unit lanes and the two-dimensional shift register to simultaneously process multiple overlapping stencils through execution of program code; a plurality of sheet generators respectively coupled between the plurality of stencil processors and the network, the sheet generators to parse input line groups of image data into input sheets of image data for processing by the stencil processors, and, to form output line groups of image data from output sheets of image data received from the stencil processors; a plurality of line buffer units coupled to the network to pass line groups of image data in a direction from producing stencil processors to consuming stencil processors to implement an overall program flow. 2. The apparatus of claim 1 wherein the image processing unit is configurable to implement a DAG overall program flow. 3. The apparatus of claim 1 wherein the image processing unit is configurable to implement an image processing pipeline flow. 4. The apparatus of claim 1 wherein the image processing unit is configurable to cause a producing stencil processor to feed more than one consuming stencil processor. 5. The apparatus of claim 1 wherein the image processing unit is configurable to cause a consuming stencil processor to be fed by more than one producing stencil processor. 6. The apparatus of claim 1 wherein the image processing unit is configurable to simultaneously process different image streams with different stencil processors. 7. The apparatus of claim 1 wherein the array of execution unit lanes operate in SIMD fashion. 8. A non transitory machine readable storage medium containing program code that when processed by a computing system causes the computing system to simulate behavioral operation of an electronic circuit, said electronic circuit comprising: an image processing unit, comprising: a network; a plurality of stencil processor circuits each comprising an array of execution unit lanes coupled to a two-dimensional shift register array structure that supports bi-directional data movements along a horizontal axis and supports bi-directional data movements along a vertical axis, the array of execution unit lanes and the two-dimensional shift register to simultaneously process multiple overlapping stencils through execution of program code; a plurality of sheet generators respectively coupled between the plurality of stencil processors and the network, the sheet generators to parse input line groups of image data into input sheets of image data for processing by the stencil processors, and, to form output line groups of image data from output sheets of image data received from the stencil processors; a plurality of line buffer units coupled to the network to pass line groups of image data in a direction from producing stencil processors to consuming stencil processors to implement an overall program flow. 9. The machine readable storage medium of claim 8 wherein the image processing unit is configurable to implement a DAG overall program flow. 10. The machine readable storage medium of claim 8 wherein the image processing unit is configurable to implement an image processing pipeline flow. 11. The machine readable storage medium of claim 8 wherein the image processing unit is configurable to cause a producing stencil processor to feed more than one consuming stencil processor. 12. The machine readable storage medium of claim 8 wherein the image processing unit is configurable to cause a consuming stencil processor to be fed by more than one producing stencil processor. 13. The machine readable storage medium of claim 8 wherein the image processing unit is configurable to simultaneously process different image streams with different stencil processors. 14. The machine readable storage medium of claim 8 wherein the array of execution unit lanes operate in SIMD fashion. 15. A computing system, comprising: an image processing unit, comprising: a network; a plurality of stencil processor circuits each comprising an array of execution unit lanes coupled to a two-dimensional shift register array structure that supports bi-directional data movements along a horizontal axis and supports bi-directional data movements along a vertical axis to simultaneously process multiple overlapping stencils through execution of program code; a plurality of sheet generators respectively coupled between the plurality of stencil processors and the network, the sheet generators to parse input line groups of image data into input sheets of image data for processing by the stencil processors, and, to form output line groups of image data from output sheets of image data received from the stencil processors; a plurality of line buffer units coupled to the network to pass line groups of image data in a direction from producing stencil processors to consuming stencil processors to implement an overall program flow. 16. The computing system of claim 15 wherein the image processing unit is configurable to implement a DAG overall program flow. 17. The computing system of claim 15 wherein the image processing unit is configurable to implement an image processing pipeline flow. 18. The computing system of claim 15 wherein the image processing unit is configurable to cause a producing stencil processor to feed more than one consuming stencil processor. 19. The computing system of claim 15 wherein the image processing unit is configurable to cause a consuming stencil processor to be fed by more than one producing stencil processor. 20. The computing system of claim 15 wherein the image processing unit is configurable to simultaneously process different image streams with different stencil processors. 21. The computing system of claim 15 wherein the array of execution unit lanes operate in SIMD fashion.

Assignees

Inventors

Classifications

  • G06T1/60Primary

    Memory management · CPC title

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • Television signal processing therefor · CPC title

  • Electricity · mapped topic

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9965824B2 cover?
An apparatus is described. The apparatus includes an image processing unit. The image processing unit includes a network. The image processing unit includes a plurality of stencil processor circuits each comprising an array of execution unit lanes coupled to a two-dimensional shift register array structure to simultaneously process multiple overlapping stencils through execution of program code…
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06T1/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).