Image processing device and image processing method for performing parallel interpolation on grouped sub-regions
An image processing device includes a segment component configured to divide an image into sub-regions based on pixel values of the image received from outside of the image processing device. The image processing device also includes a sub-region manager configured to classify the sub-regions into a plurality of groups according to interpolation operations to be performed on the sub-regions. The image processing device further includes an image interpolator configured to perform interpolation operations on sub-regions of the same group in parallel.
1 . An image processing device comprising:
a segment component processor configured to divide an image into sub-regions based on pixel values of the image received from outside of the image processing device;
a sub-region manager configured to classify the sub-regions into a plurality of groups according to interpolation operations to be performed on the sub-regions; and
an image interpolator configured to perform interpolation operations on sub-regions of the same group in parallel.
2 . The image processing device of claim 1 , wherein the sub-region manager divides sub-regions on which the same interpolation operation is to be performed into the same group, and
the sub-region manager further comprises an interpolation operation determiner configured to determine the interpolation operations based on at least one of a variation of pixel values corresponding to each of the sub-regions, a gradient in a predetermined direction, or an image pattern of the sub-regions.
3 . The image processing device of claim 2 , wherein the interpolation operation determiner calculates the variation based on the pixel values and determines an interpolation operation corresponding to the variation based on a predetermined threshold value.
4 . The image processing device of claim 3 , wherein the interpolation operation determiner determines the interpolation operation as a first interpolation operation in response to a variation being greater than the threshold value.
5 . The image processing device of claim 4 , wherein the interpolation operation determiner determines the interpolation operation as a second interpolation operation in response to a variation being less than or equal to the threshold value.
6 . The image processing device of claim 2 , wherein the interpolation operation determiner calculates the gradient based on the pixel values and determines an interpolation operation corresponding to the gradient based on a predetermined threshold value.
7 . The image processing device of claim 2 , wherein the interpolation operation determiner determines an interpolation operation corresponding to the image pattern determined based on the pixel values.
8 . The image processing device of claim 1 , wherein the segment component processor generates the sub-regions based on at least one of a boundary included in the image or a color difference of the image.
9 . The image processing device of claim 8 , wherein each of the sub-regions has the same characteristic corresponding to a performed interpolation operation, and
the boundary is a dividing line between objects included in the image or a dividing line between an object and a background.
10 . The image processing device of claim 1 , wherein the image interpolator generates interpolation operation commands for each of the sub-regions, generates queues including interpolation operation commands corresponding to the same group, and simultaneously executes interpolation operation commands included in the same queue.
11 . The image processing device of claim 10 , wherein the image interpolator transmits the interpolation operation commands included in the same queue to graphics processing units, respectively, and controls the graphics processing units to simultaneously perform operations corresponding to the received interpolation operation commands.
12 . An image processing device comprising:
a segment component processor configured to divide an image into sub-regions based on pixel values of the image received from outside of the image processing device and generate indication information indicating the sub-regions;
a sub-region manager configured to store indication information on sub-regions on which the same interpolation operation is performed based on interpolation operations to be performed on the sub-regions; and
an image interpolator configured to perform interpolation operations on the sub-regions on which the same interpolation operation is performed in parallel based on the indication information.
13 . The image processing device of claim 12 , wherein the sub-region manager further comprises an interpolation operation determiner configured to determine the interpolation operations to be performed on the sub-regions based on at least one of a variation of pixel values corresponding to each of the sub-regions, a gradient in a predetermined direction, or an image pattern of the sub-regions.
14 . The image processing device of claim 13 , wherein a single interpolation operation is performed in one sub-region,
the interpolation operation determiner determines to perform at least two interpolation operations in the sub-regions, and
the sub-region manager stores the indication information on the sub-regions on which the same interpolation operation is performed in the same buffer.
15 . The image processing device of claim 14 , wherein the image interpolator generates interpolation operation performance queues for the sub-regions based on the indication information stored in the same buffer, and simultaneously performs interpolation operations for the same queue, and
each of the interpolation operation performance queues includes indication information in the sub-regions on which the same interpolation operation is performed.
16 . An image processing method comprising:
dividing an image into sub-regions based on pixel values of the image received from outside of an image processing device;
classifying the sub-regions into a plurality of groups according to interpolation operations to be performed on the sub-regions; and
performing interpolation operations on sub-regions of the same group in parallel.
17 . The image processing method of claim 16 , wherein classifying the sub-regions into the plurality of groups comprises:
including sub-regions, on which the same interpolation operation is to be performed, in the same group; and
determining the interpolation operations to be performed on the sub-regions based on at least one of a variation of pixel values corresponding to each of the sub-regions, a gradient in a predetermined direction, or an image pattern of the sub-regions.
18 . The image processing method of claim 17 , wherein determining the interpolation operations comprises:
calculating the variation based on the pixel values;
determining the interpolation operation as a first interpolation operation in response to a variation being greater than a predetermined threshold value; and
determining the interpolation operation as a second interpolation operation in response to a variation being less than or equal to the threshold value.
19 . The image processing method of claim 16 , wherein performing the interpolation operations in parallel comprises:
generating interpolation operation commands for each of the sub-regions;
generating queues including interpolation operation commands corresponding to the same group; and
simultaneously executing interpolation operation commands included in the same queue.
20 . The image processing method of claim 19 , wherein simultaneously executing the interpolation operation commands further comprises:
transmitting the interpolation operation commands included in the same queue to graphics processing units, respectively; and
controlling the graphics processing units to simultaneously perform operations corresponding to the received interpolation operation commands.