System on chip and method for operating system on chip
A system on chip and method for operating a system on chip are provided. A system on chip includes a shared memory configured to store image data and a processor configured to: generate a first correction value by performing first image processing for a first pixel value of a first pixel of the image data received from the shared memory, generate a second correction value by performing second image processing, which is different from the first image processing, for the first pixel value of the image data received from the shared memory, generate a third correction value by performing third image processing, which is different from the first image processing and the second image processing, for the first pixel value of the image data received from the shared memory, and output a first pixel correction value that is changed from the first pixel value by comparing the first to third correction values with the first pixel value and selecting one of the first to third correction values.
1 . A system on chip comprising:
a shared memory configured to store image data; and
a processor configured to:
generate a first correction value by performing first image processing for a first pixel value of a first pixel of the image data received from the shared memory,
generate a second correction value by performing second image processing, which is different from the first image processing, for the first pixel value of the image data received from the shared memory,
generate a third correction value by performing third image processing, which is different from the first image processing and the second image processing, for the first pixel value of the image data received from the shared memory, and
output a first pixel correction value that is changed from the first pixel value by comparing the first to third correction values with the first pixel value and selecting one of the first to third correction values.
2 . The system on chip of claim 1 , wherein the processor is configured to perform operations of generating the first to third correction values in parallel.
3 . The system on chip of claim 1 , wherein the first image processing includes determining whether the first pixel value has a defect by comparing a pixel value of a second pixel surrounding the first pixel with the first pixel value, and generating the first correction value obtained by correcting the defect of the first pixel value in response to determining the defect in the first pixel value.
4 . The system on chip of claim 3 , wherein the first image processing includes outputting the first pixel correction value that is changed from the first pixel value in response to a difference in absolute value between the first pixel value and the first correction value, which exceeds a threshold value.
5 . The system on chip of claim 1 , wherein a plurality of second pixels surrounding the first pixel include a plurality of first subpixels and a plurality of second subpixels, and
wherein performing the second image processing includes:
comparing an average of pixel values of the first subpixels with an average of pixel values of the second subpixels, and
generating the second correction value based on a difference between the average of the pixel values of the first subpixels and the average of the pixel values of the second subpixels.
6 . The system on chip of claim 5 , wherein the first and second subpixels include green pixels.
7 . The system on chip of claim 1 , wherein performing the third image processing includes:
generating the third correction value by checking noise of the first pixel.
8 . The system on chip of claim 1 , wherein performing the first image processing includes defective pixel correction (DPC), performing the second image processing includes disparity correction (DISP), and performing the third image processing includes denoising (DNS).
9 . The system on chip of claim 1 , wherein the second correction value is based on the first pixel value, and is not based on the first correction value or the third correction value.
10 . The system on chip of claim 1 , wherein the processor is configured to output a first pixel correction value that is changed from the first pixel value by comparing the first to third correction values with the first pixel value to select one of the first to third correction values, which has the greatest difference with the first pixel value.
11 . A method for operating a system on chip, the method comprising:
generating a first correction value by performing first image processing for a first pixel value of a first pixel of first image data provided from a shared memory;
generating a second correction value by performing second image processing, which is different from the first image processing, for the first pixel value of the first image data provided from the shared memory;
generating a third correction value by performing third image processing, which is different from the first image processing and the second image processing, for the first pixel value of the first image data provided from the shared memory;
outputting a first pixel correction value that is changed from the first pixel value by comparing the first to third correction values with the first pixel value and selecting one of the first to third correction values;
generating a fourth correction value by performing the first image processing for a second pixel value of a second pixel of second image data that is different from the first image data and provided from the shared memory;
generating a fifth correction value by performing the second image processing, which is different from the first image processing, for the second pixel value of the second image data provided from the shared memory;
generating a sixth correction value by performing the third image processing, which is different from the first image processing and the second image processing, for the second pixel value of the second image data provided from the shared memory; and
outputting a second pixel correction value that is changed from the second pixel value by comparing the fourth to sixth correction values with the second pixel value and selecting one of the fourth to sixth correction values.