1. A method for estimating if an image is blurred or sharp, the method comprising the steps of:
determining an image gradient histogram distribution of at least a portion of the image; and
comparing at least a portion of the image gradient histogram distribution to a Gaussian model of at least a portion of the image to estimate if the image is either blurred or sharp.
2. The method of claim 1 wherein the step of determining includes the steps of dividing the image into a plurality of image regions and determining an image gradient histogram distribution of at least one of the image regions, and wherein the step of comparing includes the step of comparing the image gradient histogram distributions for at least one of the image regions to a Gaussian model for that image region to estimate if the image is either blurred or sharp.
3. The method of claim 2 wherein the step of comparing includes the step of comparing a tail section of the Gaussian model to a tail section of the image gradient histogram distribution.
4. The method of claim 1 wherein the step of determining includes the steps of dividing the image into a plurality of image regions and determining an image gradient histogram distribution for each of the image regions, and wherein the step of comparing includes the step of comparing the image gradient histogram distributions for each of the image regions to its respective Gaussian model to estimate if the image is either blurred or sharp.
5. The method of claim 4 wherein the step of comparing includes the step of comparing a tail section of the Gaussian model to a tail section of the image gradient histogram distribution for each image region.
6. The method of claim 1 further comprising the step of evaluating the image to estimate if there is a possible motion blur direction, and wherein the step of determining an image gradient histogram distribution of at least a portion of the image includes comparing pixels along the possible motion blur direction.
7. The method of claim 1 further comprising the step of evaluating at least a portion of the image to determine if the contrast is above a predetermined contrast threshold.
8. The method of claim 7 further comprising the step of adjusting the contrast for at least a portion of the image if the contrast is determined to be below the predetermined contrast threshold.
9. The method of claim 1 wherein the step of determining an image gradient histogram distribution of at least a portion of the image includes the step of excluding pixels having an intensity above a predetermined intensity threshold.
10. A method for estimating if an image is blurred or sharp, the method comprising the steps of:
blurring the image to create an artificially blurred image;
determining an image gradient histogram distribution for at least a portion of the image;
determining an image gradient histogram distribution for at least a portion of the artificially blurred image; and
comparing at least a portion of the image gradient histogram distribution of the image to at least a portion of the image gradient histogram distribution for the artificially blurred image to compute a distribution probability difference to estimate if the image is either blurred or sharp.
11. A device for estimating if an image is either blurred or sharp, the device comprising:
a control system including a processor that (i) determines an image gradient histogram distribution of at least a portion of the image; and (ii) compares at least a portion of the image gradient histogram distribution to a Gaussian model of at least a portion of the image to estimate if the image is either blurred or sharp.
12. The device of claim 11 wherein the control system divides the image into a plurality of image regions and determines an image gradient histogram distribution of at least one of the image regions, and wherein the control system compares the image gradient histogram distributions for at least one of the image regions to a Gaussian model for that image region to estimate if the image is either blurred or sharp.
13. The device of claim 12 wherein the control system compares a tail section of the Gaussian model to a tail section of the image gradient histogram distribution.
14. The device claim 11 wherein the control system divides the image into a plurality of image regions and determines an image gradient histogram distribution for each of the image regions, and wherein the control system compares the image gradient histogram distributions for each of the image regions to its respective Gaussian model to estimate if the image is either blurred or sharp.
15. The device of claim 14 wherein the control system compares a tail section of the Gaussian model to a tail section of the image gradient histogram distribution for each image region.
16. The device of claim 11 wherein the control system evaluates the image to estimate if there is a possible motion blur direction, and wherein the control system compares pixels along the possible motion blur direction to determine the image gradient histogram distribution.
17. The device of claim 11 wherein the control system evaluates at least a portion of the image to determine if the contrast is above a predetermined contrast threshold.
18. The device of claim 17 wherein the control system adjusts the contrast for at least a portion of the image if the contrast is determined to be below the contrast predetermined threshold.
19. The device of claim 11 wherein the control system deconvolutes the blurred image to provide an adjusted image.
20. A method for estimating a blur degree of an image, the image having a Gaussian model, the method comprising the steps of:
determining an image gradient histogram distribution of at least a portion of the image; and
comparing at least a portion of the image gradient histogram distribution to at least a portion of the Gaussian model to estimate the blur degree of the image.
21. The method of claim 20 wherein the step of determining includes the steps of dividing the image into a plurality of image regions and determining an image gradient histogram distribution of at least one of the image regions, and wherein the step of comparing includes the step of comparing the image gradient histogram distributions for at least one of the image regions to a Gaussian model for that image region.
22. The method of claim 20 wherein the step of comparing includes the step of comparing a tail section of the Gaussian model to a tail section of the image gradient histogram distribution.
23. The method of claim 20 wherein the step of determining includes the steps of dividing the image into a plurality of image regions and determining an image gradient histogram distribution for each of the image regions, and wherein the step of comparing includes the step of comparing the image gradient histogram distributions for each of the image regions to its respective Gaussian model.
24. The method of claim 23 wherein the step of comparing includes the step of comparing a tail section of the Gaussian model to a tail section of the image gradient histogram distribution for each image region.
25. The method of claim 20 further comprising the step of evaluating the image to estimate if there is a possible motion blur direction, and wherein the step of determining an image gradient histogram distribution of at least a portion of the image includes comparing pixels along the possible motion blur direction.
26. The method of claim 20 further comprising the step of evaluating at least a portion of the image to determine if the contrast is above a predetermined contrast threshold.
27. The method of claim 26 further comprising the step of adjusting the contrast for at least a portion of the image if the contrast is determined to be below the predetermined contrast threshold.
28. The method of claim 20 further comprising the step of determining an image gradient histogram distribution of at least a portion of the image includes the step of excluding pixels having an intensity above a predetermined intensity threshold.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A single instruction multiple data processor comprising: a processing element array including a plurality of processing elements a memory army operably divided into memory portions each memory portion being assigned to a particular processing element, characterised in that a first processing element (PEN) is operable to access a potion of the memory array assigned to that first processing element and to access a portion of the memory array assigned to a second processing element, such access being made using an index value indicative of the processing element assigned to the memory position to be accessed.
2. A processor as claimed in claim 1, wherein the index value is indicative of the processing element and an address in the portion of the memory array concerned.
3. A processor as claimed in claim 1, wherein the index value is indicative of the position of the second element relative to the first processing element.
4. A processor as claimed in claim 1, further comprising, for each processing element, a multiplexer, which is operable to select a data path for transferring data to the processing element concerned, which data path is selected from a plurality of memory array portions.
5. A processor as claimed in claim 1, comprising a data transfer unit having a controller and a dock signal generator, and, for each processing element, a multiplexer and register, the register being connected to supply data items to the processing element concerned, and to receive data items from the associated multiplexer, wherein the multiplexer is operable to select one of a plurality of data inputs in dependence upon the index value.
6. A method for communicating data between processing elements in an SIMD array of processing elements each of which is operable to access data stored in a memory array, the method comprising:
assigning respective portions of the memory array to the processing elements in the array;
for a first processing element in the array, accessing the portions of the memory array assigned to the first and a second processing element using an index value indicative of the processing element to which the memory array portion is assigned.
7. A method as claimed in claim 6, wherein data for supply to the processing element concerned is selected using a multiplexer.