WO2020027519A1 - 영상 처리 장치 및 그 동작방법 - Google Patents

영상 처리 장치 및 그 동작방법 Download PDF

Info

Publication number
WO2020027519A1
WO2020027519A1 PCT/KR2019/009400 KR2019009400W WO2020027519A1 WO 2020027519 A1 WO2020027519 A1 WO 2020027519A1 KR 2019009400 W KR2019009400 W KR 2019009400W WO 2020027519 A1 WO2020027519 A1 WO 2020027519A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
classifier
neural network
deep neural
input
Prior art date
Application number
PCT/KR2019/009400
Other languages
English (en)
French (fr)
Inventor
임경민
이재성
이태미
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP19844841.7A priority Critical patent/EP3809335A4/en
Priority to CN201980051536.7A priority patent/CN112534443A/zh
Priority to US17/264,656 priority patent/US11961203B2/en
Publication of WO2020027519A1 publication Critical patent/WO2020027519A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/67Circuits for processing colour signals for matrixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • Various embodiments of the present disclosure relate to an image processing apparatus for processing an image using a deep neural network and a method of operating the same, and more particularly, to an image processing apparatus for processing input images according to different purposes using a single network. And a method of operation thereof.
  • AI Artificial intelligence is a way of mimicking the way people think, so it can be applied infinitely to all industries.
  • Typical technologies of AI include pattern recognition, machine learning, expert systems, neural networks, and natural language processing.
  • Neural networks model mathematical characteristics of human biological neurons by mathematical expressions and use algorithms that mimic human learning capabilities. Through this algorithm, the neural network can generate mapping between input data and output data, and the ability to generate such mapping can be expressed as the learning ability of the neural network. In addition, the neural network has a generalization ability to generate correct output data for input data that has not been used for learning based on the learned results.
  • Various embodiments may provide an image processing apparatus and an operating method thereof capable of processing input images according to various purposes using a single deep neural network.
  • the image processing apparatus may process an image according to various purposes by using a single deep neural network.
  • the image processing apparatus may adjust the level of image processing for various purposes.
  • FIG. 1 is a diagram illustrating a first deep neural network, a second deep neural network, and a third deep neural network trained using different training data sets.
  • FIG. 2 is a diagram illustrating a process of processing input images according to different purposes by the image processing apparatus according to an exemplary embodiment.
  • FIG. 3 is a flowchart of a method of operating an image processing apparatus, according to an exemplary embodiment.
  • FIG. 4 is a diagram for describing a method of processing an image by an image processing apparatus, according to an exemplary embodiment.
  • FIG. 5 is a diagram for describing a method of generating an input image and a classifier by the image processing apparatus according to an exemplary embodiment.
  • FIG. 6 is a diagram referred to describe a process of processing a convolution operation in the first convolution layer 440 of FIG. 4.
  • FIG. 7 illustrates input data and output data for the first convolutional layer 440 of FIG. 4, according to an exemplary embodiment.
  • FIG. 8 is a diagram illustrating input data and output data of a first convolutional layer of the third deep neural network of FIG. 1.
  • FIG. 9 illustrates input data and output data for a deep neural network, according to an embodiment.
  • FIG. 10 illustrates input data and output data for a deep neural network, according to an embodiment.
  • FIG. 11 is a diagram referred to for describing a method of generating a classifier, according to an exemplary embodiment.
  • FIG. 12 is a diagram illustrating identification images generated based on first images according to an embodiment.
  • FIG. 13 is a diagram referred to for describing a method of learning a deep neural network, according to an exemplary embodiment.
  • FIG. 14 is a diagram referred to describe a deep neural network performing image processing for a plurality of purposes, according to an exemplary embodiment.
  • FIG. 15 is a diagram for explaining a method of generating a training data set for training a deep neural network, according to an exemplary embodiment.
  • 16 is a block diagram illustrating a configuration of an image processing apparatus according to an exemplary embodiment.
  • 17 is a block diagram of a processor 130 according to an embodiment.
  • FIG. 18 is a block diagram of an image processor 1500, according to an exemplary embodiment.
  • An image processing apparatus includes a memory for storing one or more instructions, and a processor for executing the one or more instructions stored in the memory, wherein the processor is configured to classify a first image and a purpose of image processing. Acquire a classifier and process the first image according to the purpose indicated by the classifier using a deep neural network (DNN), wherein the deep neural network processes the input images according to different purposes. It may be a network for processing.
  • DNN deep neural network
  • the deep neural network includes N convolution layers, and the processor generates an input image based on the first image, and in the N convolution layers, the input image and the By applying one or more kernels to the classifier and performing a convolution operation, feature information may be extracted and a second image may be generated based on the extracted feature information.
  • the processor converts the R, G, and B channels included in the first image into Y, U, and V channels in a YUV scheme, and an image for the Y channel among the Y, U, and V channels. May be determined as the input image.
  • the processor may be further configured to display the image of the Y channel based on the image processed and output from the deep neural network and the images of the U channel and the V channel among the Y, U, and V channels. 2 You can create an image.
  • Pixels included in the classifier according to an embodiment have at least one of a first value and a second value greater than the first value, wherein the first value indicates a first purpose and the second value is a second purpose. Can be represented.
  • the processor when all the pixels included in the classifier have the first value, processes the first image according to the first purpose, and all the pixels included in the classifier are the same. In the case of having a second value, the first image may be processed according to the second purpose.
  • the first image of the first image may be used.
  • the third area corresponding to one area may be processed according to the first purpose, and the fourth area corresponding to the second area of the first image may be processed according to the second purpose.
  • the processor may be configured to determine a level of image processing according to the first object and an image according to the second object based on the value of the pixels included in the classifier, the first value, and the second value. Depending on the level of processing, the first image may be processed.
  • the processor may generate the classifier based on the characteristics of the first image.
  • the processor may generate a map image representing text and edges included in the first image, and determine values of pixels included in the classifier based on the map image.
  • a deep neural network may include a first classifier including first image data, a first classifier having a first value as a pixel value, and first label data processed by the first image data for a first purpose. Learning by a training data set and a second training data set comprising second image data, a second classifier having a second value as a pixel value, and second label data processed by the second image data for a second purpose. It may be a network.
  • the processor may be included in the deep neural network such that a difference between the output image data and the first label data is reduced when the first image data and the first classifier are input to the deep neural network.
  • the deep neural network to adjust the weight values of one or more kernels, and to reduce the difference between the output image data and the second label data when the second image data and the second classifier are input to the deep neural network.
  • the weight values of the one or more kernels included in the network may be adjusted.
  • a method of operating an image processing apparatus includes: obtaining a classifier indicating a first image and a purpose of image processing, and using a deep neural network (DNN). And processing the image according to the purpose indicated by the classifier, wherein the deep neural network may be a network processing the plurality of images according to different purposes.
  • DNN deep neural network
  • a computer program product may include obtaining a classifier indicating a first image and a purpose of image processing, and a deep neural network (DNN) for processing a plurality of images according to different purposes. May include one or more computer-readable recording media having stored thereon a program for processing the first image according to the purpose indicated by the classifier.
  • DNN deep neural network
  • FIG. 1 is a diagram illustrating a first deep neural network, a second deep neural network, and a third deep neural network trained using different training data sets.
  • the first deep neural network DNN1 may be a deep neural network learned by the first training data set 11.
  • the first training data set 11 may be a training data set for improving detail (eg, a first purpose) of an image.
  • the first training data set 11 may include first image data D1 and first label data L1.
  • the first label data L1 may be high resolution image data corresponding to the first image data D1.
  • the first label data L1 may be image data having improved texture representation when the first image data D1 is converted into a high resolution image. have.
  • the second deep neural network DNN2 may be a deep neural network trained by the second training data set 21.
  • the second training data set 21 may be a training data set for text or edge enhancement (second purpose) included in the image.
  • the second training data set 21 may include second image data D2 and second label data L2.
  • the second label data L2 is high resolution image data corresponding to the second image data D2.
  • the second label data L2 is a step phenomenon occurring around a text or an edge.
  • the image data may be reduced (jagging) or the like (text or edge expression enhancement).
  • the third deep neural network DNN3 may be a network learned by the first training data set 11 and the second training data set 21.
  • the first deep neural network DNN1 may output the first output image 15.
  • the first output image 15 may be a high resolution image having an improved texture representation of the first image 10.
  • the second deep neural network DNN2 may output the second output image 25 and the second output image 25.
  • the third deep neural network DNN3 may output the third output image 35, and at this time, the third output image The degree of detail enhancement (improvement of texture representation) at 35 is smaller than that of the first output image 15.
  • the third deep neural network DNN3 may output the fourth output image 45, and at this time, the fourth output image The degree of improvement of the text and edge representation at 45 is less than that of the second output image 25.
  • a third deep neural network that trains the first training data set 11 for learning the first purpose (detail enhancement) and the second training data set 21 for learning the second purpose (text or edge enhancement) DNN3 is the performance of the first deep neural network DNN1 trained by the first training data set 11 and the performance of the second deep neural network DNN2 trained by the second training data set 21. Does not have
  • FIG. 2 is a diagram illustrating a process of processing input images according to different purposes by the image processing apparatus according to an exemplary embodiment.
  • the image processing apparatus 100 may process input images using the deep neural network DNN 150.
  • Deep neural network (DNN) 150 is the first training data set 210 and the second purpose (eg, text or edge enhancement) for learning the first purpose (eg, detail enhancement). May be learned by the second training data set 220 for learning ().
  • the first training data set 210 may include first image data D1, a first classifier C1 indicating a first purpose, and first label data L1.
  • the first image data D1 and the first label data L1 are the same as the first image data D1 and the first label data L1 described with reference to FIG. 1.
  • the deep neural network 150 may be trained to output first label data L1 when the first image data D1 and the first classifier C1 are input.
  • the second training data set may include second image data D2, a second classifier C2 indicating a second purpose, and second label data L2.
  • the second image data D2 and the second label data L2 are the same as the second image data D2 and the second label data L2 described with reference to FIG. 1.
  • the deep neural network may be trained to output second label data L2 when the second image data D2 and the second classifier C2 are input.
  • the image processing apparatus 100 may input the first classifier C1 indicating the first image 10 and the first purpose (detail enhancement) into the deep neural network 150, and then may execute the deep neural network 150.
  • 150 may output the first output image 230 by processing the first image 10 according to a first purpose (eg, detail enhancement) indicated by the first classifier C1.
  • a first purpose eg, detail enhancement
  • the degree of detail enhancement in the first output image 230 of FIG. 2 may be similar to the first output image 15 of the first deep neural network DNN1 described with reference to FIG. 1.
  • the image processing apparatus 100 may input the second classifier C2 indicating the second image 20 and the second purpose (for example, text or edge enhancement) to the deep neural network 150, and
  • the neural network 150 processes the second image 20 according to a second purpose (for example, text or edge enhancement) indicated by the second classifier C2 to output the second output image 240.
  • a second purpose for example, text or edge enhancement
  • the degree of detail enhancement in the second output image 240 of FIG. 2 may be similar to the second output image 25 of the second deep neural network DNN2 described with reference to FIG. 1.
  • the image processing apparatus 100 uses a single deep neural network learned by image data, a classifier indicating a processing purpose of the image data, and label data corresponding to the image data, thereby differentiating a plurality of images. Can be processed according to the purpose.
  • FIG. 3 is a flowchart of a method of operating an image processing apparatus, according to an exemplary embodiment.
  • the image processing apparatus 100 may acquire a classifier indicating a first image and a purpose of image processing (S310).
  • the image processing apparatus 100 may generate an input image and a classifier to be input to the deep neural network based on the first image. For example, the image processing apparatus 100 converts the R, G, and B channels included in the first image into Y, U, and V channels through color space conversion, and Y of the Y, U, and V channels. An image of a channel may be determined as an input image.
  • the image processing apparatus 100 determines the pixel value of the classifier as a first value corresponding to the first purpose, and the first image according to the second purpose. In the case of processing, the pixel value of the classifier may be determined as a second value corresponding to the second purpose.
  • the image processing apparatus 100 may extract edges and text from the first image, and generate a classifier based on the extracted edges and text.
  • the image processing apparatus 100 may process the first image according to the purpose indicated by the classifier using the deep neural network (S320).
  • the deep neural network may include N convolutional layers, and the image processing apparatus 100 may apply one or more kernels to the input image and the identification image in each of the N convolutional layers to perform a convolution operation.
  • the feature information (feature map) may be extracted, and the first image may be processed according to the purpose indicated by the classifier based on the extracted feature information.
  • the image processing apparatus 100 based on the value of the pixels included in the classifier, the first value corresponding to the first purpose, and the second value corresponding to the second purpose, the image processing level and the first value according to the first purpose.
  • the level of the image processing according to the two purposes may be determined, and the first image may be processed according to the determined level.
  • the image processing apparatus 100 may train the deep neural network using a plurality of training data sets having different purposes.
  • the image processing apparatus 100 may include a first training data set and a second image including first image data, a first classifier, and first label data processed by the first image data for a first purpose.
  • a deep neural network may be trained using a second training data set including data, a second classifier, and second label data in which second image data are processed for a second purpose.
  • the image processing apparatus 100 may determine one or more kernels included in the deep neural network such that a difference between the output image data and the first label data is reduced. You can adjust the weight. Also, the image processing apparatus 100 may include one or more images included in the deep neural network such that a difference between the output image data and the second label data is reduced when the second image data and the second classifier are input to the deep neural network. You can adjust the weight of the kernels.
  • FIG. 4 is a diagram for describing a method of processing an image by an image processing apparatus, according to an exemplary embodiment.
  • the image processing apparatus 100 may receive the first image 410.
  • the image processing apparatus 100 may input the first image 410 to the deep neural network 150 or generate an input image 420 to be input to the deep neural network 150 based on the first image 410. can do.
  • the image processing apparatus 100 may generate a classifier 430 indicating the purpose of image processing on the first image. A method of generating the input image 420 and the classifier 430 will be described in detail with reference to FIG. 5.
  • FIG. 5 is a diagram for describing a method of generating an input image and a classifier by the image processing apparatus according to an exemplary embodiment.
  • the first image 410 may be an image including R, G, and B channels (RGB 3ch).
  • the image processing apparatus 100 may determine the R, G, and B channels RGB 3ch included in the first image 410 as an input image to be input to the deep neural network.
  • the image processing apparatus 100 may convert the R, G, and B channels RGB 3ch included in the first image 410 into Y, U, and V channels YUV 3ch through color space conversion.
  • the Y channel 420 is a channel representing the luminance signal
  • the U channel is a channel representing the difference between the luminance signal and the blue component
  • the V channel is a channel representing the difference between the luminance signal and the red component.
  • the image processing apparatus 100 may determine the image of the Y channel 420 among the converted Y, U, and V channels (YUV 3ch) as an input image to be input to the deep neural network.
  • the present invention is not limited thereto.
  • the image processing apparatus 100 may generate a classifier 430 indicating the purpose of image processing.
  • the classifier 430 may have one pixel value or different pixel values for each region.
  • pixel values of the classifier 430 may be determined based on a user input or based on an image (eg, a first image) to be processed.
  • the image processing apparatus 100 classifies all pixels of the classifier 430 such that all pixels of the classifier 430 have a first value corresponding to the first purpose. You can create a ruler.
  • the image processing apparatus 100 may generate a classifier such that all pixels of the classifier have a second value corresponding to the second purpose.
  • the image processing apparatus 100 may generate the classifier 430 based on the first image 410. For example, the image processing apparatus 100 may determine whether the first image 410 should be processed according to the first purpose or the second purpose through image analysis of the first image 410. have. When the texture is mainly included in the first image 410, the image processing apparatus 100 may determine that the first image 410 should be processed according to the first purpose, and text in the first image 410 may be used. If the edge is mainly included, the image processing apparatus 100 may determine that the first image should be processed according to the second purpose. In addition, the image processing apparatus 100 may determine whether the corresponding area should be processed according to the first purpose or the second purpose for each area included in the first image.
  • the image processing apparatus 100 may classify the entire classifier 430 or classify the first image 410 or a partial region (first region) of the first image 410 according to the first purpose.
  • the classifier 430 may be generated such that pixels included in a partial region of the ruler (the region corresponding to the first region) have a first value.
  • the image classifying apparatus 100 includes the entire classifier 430 or a partial region of the classifier (second region).
  • the classifier 430 may be generated such that the pixels included in the second region have a second value. This will be described in detail with reference to FIGS. 11 and 12.
  • the image processing apparatus 100 may add the generated classifier 430 as an input channel to be input to the deep neural network 150. Accordingly, the input image 420 and the classifier 430 may be input to the deep neural network 150.
  • the image processing apparatus 100 may process the input image 420 according to the purpose indicated by the classifier 430 using the deep neural network, and output the processed image.
  • deep neural network 150 may include N convolutional layers (two or more convolutional layers).
  • the deep neural network 150 has a structure in which input data (for example, the input image 420 and the classifier 430) is input, passes through N convolution layers, and output data is output.
  • other processing operations may be performed in addition to the convolution by applying one or more kernels to a feature map (feature information), and such processing operations may be performed between convolutional layers. For example, operations such as activation function, pooling, and the like may be performed.
  • the image processing apparatus 100 may extract “features” such as an edge, line, color, etc. from the input image using the deep neural network 150.
  • Each of the N convolutional layers included in the deep neural network 150 may receive data, process the received data, and generate output data.
  • the image processing apparatus performs a convolution operation by applying one or more kernels or filters to an image (eg, an input image and a classifier) input to the first convolution layer 440, and performs a convolution.
  • a first feature map (first feature information) is extracted. This will be described in detail with reference to FIGS. 6 and 7.
  • the image display apparatus 100 may apply an activation function to change the extracted values of the first feature map into non-linear values of "with or without a feature".
  • the ReLu function may be used, but is not limited thereto.
  • the image processing apparatus 100 may perform subsampling (pooling) to reduce the size of the extracted feature map. In this case, max pooling, average pooling, and L2-norm pooling may be used, but the present invention is not limited thereto.
  • the deep neural network may include M residual blocks.
  • the residual block 450 may include one or more convolutional layers, and the image processing apparatus 100 may skip data 460 (eg, a ReLu function) that skips the convolutional layers included in the residual block 450.
  • a sum of elements eg, a third feature map extracted with a ReLu function extracted from a third convolution layer passing through convolution layers included in the residual block elementwise sum, 470).
  • the deep neural network may include a deconvoultion layer 480.
  • the size of the feature information extracted from the deconvolution layer 480 may be larger than the size of the feature information input to the deconvolution layer 480.
  • the image processing apparatus 100 may upscale data input to the deep neural network.
  • the image processing apparatus 100 may upscale the input data by applying at least one of a bilinear interpolation method, a bicubic interpolation method, and a convolution interpolation method to data input to the deep neural network.
  • the image processing apparatus 100 may generate output data by performing an elementwise sum of the upscaled image data by the feature information extracted from the deconvolution layer 480 for each element.
  • the present invention is not limited thereto.
  • the image processing apparatus 100 may upscale an image of the U channel and the V channel among the Y, U, and V channels (YUV 3ch).
  • the image processing apparatus 100 may apply the at least one of a bilinear interpolation method, a bicubic interpolation method, and a convolution interpolation method to upscale the images of the U channel and the V channel.
  • the upscaled image data may be concatenated with the output data to generate a second image 490.
  • the second image 490 may be an image in which the first image 410 is processed according to the purpose indicated by the classifier 430.
  • FIG. 6 is a diagram referred to describe a process of processing a convolution operation in the first convolution layer 440 of FIG. 4.
  • the input data Input of the first convolutional layer 440 has a size of 8 * 8, and the number of channels is 2 (for example, the input image 610 and the classifier 620).
  • the size of the kernel applied to the input data 600 is 3 * 3 * 2 (horizontal * vertical * depth), and the number of kernels is n.
  • the depth of the kernel has the same value as the number of channels of the input data.
  • One kernel may be regarded as including two sub-kernels having a 3 * 3 size, and the two sub-kernels may correspond to each of two channels (input image and classifier) of input data.
  • a process of extracting features of input data by applying sub-kernels 631 and 632 included in the first kernel Kernel 1 from an upper left side to a lower right side of the input data 600 is illustrated. It is.
  • a convolution operation may be performed by applying a first kernel Kernel 1 to pixels included in the upper left 3 * 3 * 2 areas 611 and 621 of the input data 600. That is, one that is mapped to the top left 3 * 3 * 2 area by multiplying the pixel values included in the top left 3 * 3 * 2 area 611.621 and the weight values included in the first kernel 1 by summing. May generate a pixel value 641.
  • pixel values included in the 3 * 3 * 2 areas 612 and 622 shifted one pixel to the right from the upper left 3 * 3 * 2 areas 611 and 621 of the input data 600 and the first kernel By multiplying and adding the weight values included in 1), one pixel value 642 mapped to the 3 * 3 * 2 regions 612 and 622 may be generated.
  • the pixels of the convolution operation are scanned from left to right and top to bottom in the input data 600 by multiplying and summing the weight values included in the first kernel Kernel 1, thereby summing the pixels. Values are generated. Accordingly, the 6 * 6 feature map 640 (output data) may be output.
  • the data targeted for the convolution operation may be scanned while moving by one pixel, or may be scanned while moving by two or more pixels.
  • the number of pixels to which input data moves during the scanning process is called a stride, and the size of the output feature map may be determined according to the size of the stride.
  • the input data 610 has a size of 8 * 8
  • the output data 640 has a size of 6 * 6 and is smaller than the size of the input data.
  • Convolutional neural networks include multiple convolutional layers, and as they pass through multiple convolutional layers, the size of the data continues to decrease. At this time, if the size of the data is reduced before the feature is sufficiently extracted, the feature of the input data may be lost, and padding may be performed to prevent this.
  • Padding means increasing the size of the input data by giving a specific value (eg, '0') to the edge of the input data in order to prevent the output data from becoming smaller.
  • the present invention is not limited thereto.
  • n feature maps may be output. That is, according to the number n of kernels, the number of channels of output data is determined, and accordingly, the number of channels of input data in the next layer may be determined.
  • FIG. 7 illustrates input data and output data for the first convolutional layer 440 of FIG. 4, according to an exemplary embodiment.
  • the image display apparatus 100 may input first input data Input 1 to the first convolutional layer 440.
  • the first input data Input 1 may be composed of two channels including the first input image I1 and the first classifier C1.
  • the first input image I1 may mainly be an image including a texture, and may be an image that needs to be processed to improve texture expression when converted to a high resolution image.
  • the pixel value of the first classifier C1 may be a first value indicating a first purpose (eg, detail enhancement of an image).
  • n is input to the first input image I1 and the first classifier C1.
  • a convolution operation can be performed.
  • n first feature maps 710 may be extracted as illustrated in FIG. 7.
  • the video display device 100 may input second input data Input 2 to the first convolutional layer.
  • the second input data may be composed of two channels including the second input image I2 and the second classifier C2.
  • the second input image I2 may mainly be an image including text or edges, and may be an image to be processed to improve text or edge representation when converted to a high resolution image.
  • the pixel value of the second classifier C2 may be a second value indicating a second purpose (eg, text or edge enhancement).
  • n is input to the second input image I2 and the second classifier C2.
  • a convolution operation can be performed.
  • n second feature maps 720 may be extracted as illustrated in FIG. 7.
  • the texture features appear better in the first feature maps 710 than the second feature maps 720, and the second feature maps.
  • operation 720 it may be seen that features of text or edge are better represented than the first feature maps 710.
  • FIG. 8 is a diagram illustrating input data and output data of a first convolutional layer of the third deep neural network of FIG. 1.
  • the third feature maps 810 may be extracted.
  • the fourth feature maps 820 may be extracted.
  • the second feature maps 720 of FIG. 7 and the fourth feature maps 820 of FIG. 8 in the second feature maps 720 rather than the fourth feature maps 820, the features of the text or the edges are different. It can be seen better.
  • the deep neural network 150 performs image processing based on the purpose of indicating the input image by the classifier.
  • FIG. 9 illustrates input data and output data for a deep neural network, according to an embodiment.
  • the third image 930 is output, and the second image 920 and the first image are output.
  • the fourth image 940 is output.
  • the pixel values of the first classifier 931 may have a first value indicating detail enhancement (texture expression enhancement).
  • the purpose of the image processing may be determined by the first classifier as detail enhancement.
  • the first image 910 is mainly an image including a texture
  • the output third image 930 may be a high resolution image in which the detail of the first image 910 is improved.
  • the second image 920 is mainly an image including text or edges, and the effect of text or edge enhancement may not appear in the outputted fourth image 940.
  • the pixel values of the second classifier 932 may have a second value representing text or edge enhancement.
  • the second classifier 932 may determine the purpose of image processing as text or edge enhancement.
  • the second image 920 is mainly an image including text or edges
  • the output sixth image 960 may be a high resolution image having improved text or edges included in the second image 920.
  • the first image 910 is mainly an image including a texture, and the effect of texture enhancement may not appear in the outputted fifth image 950.
  • FIG. 10 illustrates input data and output data for a deep neural network, according to an embodiment.
  • the seventh image 970 may be output.
  • Pixel values of the third classifier 933 may have a third value.
  • the third value may be a value smaller than the first value.
  • the first value may be greater than the second value.
  • the output seventh image 970 may have a greater detail enhancement effect than the detail enhancement effect shown in the third image 930 described with reference to FIG. 9.
  • the eighth image 980 may be output.
  • Pixel values of the fourth classifier 934 may have a fourth value.
  • the fourth value may be greater than the second value.
  • the second value may be smaller than the second value.
  • the output eighth image 980 may have a larger text or edge enhancement effect than the text or edge enhancement effect shown in the sixth image 960 described with reference to FIG. 9.
  • FIG. 11 is a diagram referred to for describing a method of generating a classifier, according to an exemplary embodiment.
  • the image processing apparatus 100 may generate a classifier 1030 based on the first image 1010 to be processed.
  • the image processing apparatus 100 may extract an edge and text of the first image 1010 and generate a map image 1020 representing the edge and text of the first image 1010.
  • the image processing apparatus 100 may extract edges and text of the first image 1010 using various known edge extraction filters or text extraction filters.
  • the pixel values of the edge and text areas may be set to have a second value, and the pixel values of the remaining areas may be set to have a first value.
  • the present invention is not limited thereto.
  • the image processing apparatus 100 may generate a classifier 1030 by performing a smoothing process on the map image 1020 representing the edge and the text.
  • the smoothing process may be an image process of adjusting the pixel value so that the pixel value is changed smoothly around the edge and the text.
  • a region corresponding to the first region A1 represented by the texture of the first image 1010 mainly includes pixels having a first value, and the first image ( An area corresponding to the second area A2 expressed as text of 1010 may mainly include pixels having a second value.
  • the image processing apparatus 100 inputs the first image 1010 and the generated classifier 1030 to the deep neural network 150 to generate an output image 1040 in which the first image is converted into a high resolution image. can do.
  • the effect of the detail is improved (texture expression enhancement), and the first image is displayed.
  • the text may have an improved effect.
  • FIG. 12 is a diagram illustrating identification images generated based on first images according to an embodiment.
  • the image display apparatus 100 may receive images to be processed.
  • the received images may be classified into an image mainly composed of a texture representation and an image mainly composed of a text or edge representation.
  • the first to third images 1210, 1220 and 1230 of FIG. 12 may mainly be images including a texture representation
  • the fourth to sixth images 1240, 1250 and 1260 may mainly be text. It may be images including an edge representation.
  • the image display apparatus 100 determines the pixel value of the classifier as the first value, and selects the first classifier C1 having the first value as the entire pixel value. Can be generated.
  • the deep neural network 150 included in the image display apparatus 100 learns the training data for improving the texture expression
  • the deep neural network 150 inputs the first classifier C1 together with the training data to be the learned network. have.
  • the image display apparatus 100 determines the pixel value of the classifier as the second value, and the second classifier which makes the second value the total pixel value. (C2) can be generated.
  • the deep neural network 150 included in the image display apparatus 100 inputs the second classifier C2 together with the training data when the training data for learning text or edge representation is improved. Can be.
  • FIG. 13 is a diagram referred to for describing a method of learning a deep neural network, according to an exemplary embodiment.
  • the deep neural network 150 may be trained by a plurality of training data sets having different purposes.
  • the training data sets may include first training data sets D1 and L1 for learning image processing according to a first purpose, and second training data sets D2 for learning image processing according to a second purpose. L2).
  • the image processing according to the first object may be processing the input image so that the detail is improved (texture expression enhancement) when the input image is converted into a high resolution image.
  • the image processing according to the second object may be processing the input image so that the representation of the text or the edge is improved when the input image is converted into the high resolution image. 13 illustrates an example of learning according to two purposes, but is not limited thereto.
  • the first training data set may include first image data D1 and first label data L1.
  • the first label data L1 is image data obtained by converting the first image data D1 into a high resolution image.
  • the image data with improved texture representation is obtained. Can be entered.
  • the second training data set may include second image data D2 and second label data L2.
  • the second label data L2 is image data obtained by converting the second image data D2 into a high resolution image.
  • the image data may be reduced (jagging) or the like (enhanced text or edge representation).
  • the image display apparatus 100 may input the first classifier C1 together with the first image data D1 to the deep neural network 150, and the second image data D2.
  • the second classifier C2 may be input.
  • the pixel value of the first classifier C1 and the pixel value of the second classifier C2 may be set by the user, and the first classifier C1 and the second classifier C2 are single pixels. It can have a value.
  • the pixel value of the first classifier C1 and the pixel value of the second classifier C2 have different values.
  • the image display device 100 When the first image data D1 and the first classifier C1 are input, the image display device 100 outputs first label data L1 corresponding to each of the first image data D1. Deep neural network 150 can be trained as much as possible. For example, the image display apparatus 100 may output image data and first label data when the first image data D1 and the first classifier C1 are input to the deep neural network 150. The weight of one or more kernels included in the deep neural network 150 may be adjusted such that the difference of L1 is small.
  • the image display apparatus 100 may include second label data L2 corresponding to each of the second image data D2.
  • the deep neural network 150 may be trained to output the deep neural network 150.
  • the image display apparatus 100 may output image data and second label data when the second image data D2 and the second classifier C2 are input to the deep neural network 150.
  • the weight of one or more kernels included in the deep neural network 150 may be adjusted such that the difference of L2 is small.
  • FIG. 14 is a diagram referred to describe a deep neural network performing image processing for a plurality of purposes, according to an exemplary embodiment.
  • the deep neural network 150 may be trained by a training data set.
  • the training data set 1420 may include first to nth image data and first to nth label data corresponding to each of the n number of image data.
  • the n label data are image data obtained by converting each of the n image data into a high resolution image, and each of the n image data is a first object (for example, detail enhancement (enhancement of texture representation)).
  • a second purpose eg, noise reduction
  • a third purpose eg, coding artifact reduction
  • the present invention is not limited thereto.
  • the deep neural network 150 may receive a first classifier C1, a second classifier C2, and a third classifier (four channels) together with the image data.
  • the first classifier C1 is an image indicating the degree of detail enhancement
  • the second classifier C2 is an image indicating the degree of noise reduction
  • the third classifier C3 is an image indicating the degree of coding artifact reduction. It may be an image representing.
  • the pixel values of the first classifier C1, the second classifier C2, and the third classifier C3 input to the deep neural network 150 together with the first image data 1410 may be set to the first value. It may be determined based on the first image data and the first label data. By comparing the first label data obtained by converting the first image data and the first image data into a high resolution image, the pixel value of the first classifier C1 is determined according to the degree of detail enhancement that appears in the first label data, and the noise is determined. The pixel value of the second classifier C2 may be determined according to the degree of reduction, and the pixel value of the third classifier C3 may be determined according to the degree of coding artifact reduction. The pixel value of the first classifier C1 may become smaller as the degree of detail enhancement increases.
  • the degree of detail enhancement that appears in the first label data when the first image data is compared with the first label data is displayed in the second label data when the second image data and the second label data are compared.
  • the pixel value of the first classifier C1 input with the first image data may be smaller than the pixel value of the first classifier C1 input with the second image data.
  • the pixel value of the second classifier C2 may be smaller as the degree of noise reduction is greater, and the pixel value of the third classifier C3 may be smaller as the degree of coding artifact reduction is greater.
  • the present invention is not limited thereto and the pixel values of the identification images may be determined in various ways.
  • each of the n pieces of image data and input first to third classifiers C1, C2, and C3 may be configured to reduce the degree of detail enhancement, the degree of noise reduction, and the reduction of coding artifacts that appear in the n label data. It can be determined differently depending on the degree.
  • the image display apparatus 100 may display the first label data.
  • the deep neural network 150 may be trained to be output.
  • the image display apparatus 100 may output image data when the first classifier C1, the second classifier C2, and the third classifier C3 are input to the deep neural network 150.
  • the weight of one or more kernels included in the deep neural network 150 may be adjusted such that the difference between the first label data 1430 and the first label data is small.
  • the image of the input image is adjusted by adjusting pixel values of the first to third classifiers C1, C2, and C3.
  • the level of the image processing according to the processing purpose and the purpose can be determined. For example, when the detail of the input image is increased, the noise reduction and the coding artifacts are reduced, the pixel value of the first classifier C1 is small, and the second classifier C2 and the third are small.
  • the pixel value of the classifier C3 may be set to a large value.
  • the present invention is not limited thereto.
  • FIG. 15 is a diagram for explaining a method of generating a training data set for training a deep neural network, according to an exemplary embodiment.
  • the training data set may include a plurality of image data 1510, 1520, and 1530 and one label data 1540.
  • the plurality of image data 1510, 1520, and 1530 may be generated using label data.
  • the image display apparatus 100 may include the first image data 1510 that blurs the label data 1540 at a first intensity, and the second image that blurs the label data 1540 at a second intensity greater than the first intensity.
  • the third image data 1530 may be generated by blurring the image data 1520 and the label data 1540 to a third intensity greater than the second intensity.
  • the video display device 100 may input the classifier indicating the degree of detail enhancement together with each of the first to third image data 1510, 1520, and 1530 to the deep neural network 150.
  • the pixel value of the first classifier C1 input together with the first image data 1510 may be set as the first value.
  • the pixel value of the second classifier C2 input together with the second image data 1520 may be set to a second value, and the second value may be smaller than the first value.
  • the pixel value of the third classifier C3 input together with the third image data 1530 may be set to a third value, and the third value may be smaller than the second value.
  • the present invention is not limited thereto.
  • the image display apparatus 100 may have a difference between the output data and the label data 1540 output corresponding to each of the input first image data 1510, the second image data 1520, and the third image data 1530.
  • Deep neural network 150 can be trained to be small.
  • FIG. 15 only a method of generating a training data set for detail enhancement is described. However, using the same method, a training data set for noise reduction or coding artifact reduction may also be generated.
  • 16 is a block diagram illustrating a configuration of an image processing apparatus according to an exemplary embodiment.
  • an image processing apparatus 100 may include a processor 120 and a memory 130.
  • the processor 120 may control the image processing apparatus 100 as a whole.
  • the processor 120 may execute one or more programs stored in the memory 130.
  • the memory 130 may store various data, programs, or applications for driving and controlling the image processing apparatus 100.
  • the program stored in the memory 130 may include one or more instructions.
  • the program (one or more instructions) or application stored in the memory 130 may be executed by the processor 120.
  • the processor 120 may acquire a classifier indicating the first image and the purpose of image processing, and may process the first image according to the purpose indicated by the classifier using the deep neural network.
  • the deep neural network may be a deep neural network illustrated and described with reference to FIGS. 2 to 15.
  • the processor 120 may generate an input image and a classifier to be input to the deep neural network based on the first image. For example, the processor 120 converts the R, G, and B channels included in the first image into Y, U, and V channels through color space conversion, and converts the Y, U, and V channels into Y channels of the Y, U, and V channels.
  • the image of the user may be determined as an input image.
  • the processor 120 determines the pixel value of the classifier as a first value corresponding to the first purpose, and processes the first image according to the second purpose. In this case, the pixel value of the classifier may be determined as a second value corresponding to the second purpose.
  • the processor 120 may extract edges and text from the first image, and generate a classifier based on the extracted edges and text.
  • the deep neural network may include N convolutional layers, and the processor 120 applies one or more kernels to the input image and the identification image in each of the N convolutional layers, thereby performing a convolution operation.
  • the information may be extracted, and the first image may be processed according to the purpose indicated by the classifier based on the extracted feature information.
  • the processor 130 based on the value of the pixels included in the classifier, the first value corresponding to the first purpose, and the second value corresponding to the second purpose, the level of image processing and the second purpose according to the first purpose.
  • the level of the image processing according to the determination may be determined, and the first image may be processed according to the determined level.
  • the processor 130 may train the deep neural network using a plurality of training data sets having different purposes.
  • the processor 130 may include the first training data set and the second image data including the first image data, the first classifier, and the first label data in which the first image data is processed for the first purpose.
  • the deep neural network may be trained using the second training data set including the second classifier and second label data processed by the second image data for the second purpose.
  • the processor 130 may include one or more included in the deep neural network such that a difference between the output image data and the first label data is reduced. You can adjust the weight of the kernels.
  • the processor 130 may include one or more kernels included in the deep neural network such that a difference between the output image data and the second label data is reduced. You can adjust the weight.
  • 17 is a block diagram of a processor 130 according to an embodiment.
  • a processor 130 may include a network learner 1400 and an image processor 1500.
  • the network learner 1400 may acquire learning data for learning a deep neural network, according to an exemplary embodiment.
  • the network learner 1400 may obtain a plurality of learning data sets having different purposes.
  • the training data sets may include a first training data set for learning image processing according to a first purpose and a second training data set for learning image processing according to a second purpose.
  • the image processing according to the first object may be processing the input image so that the detail is improved (texture expression enhancement) when the input image is converted into a high resolution image.
  • the image processing according to the second object may be processing the input image so that the representation of the text or the edge is improved when the input image is converted into the high resolution image.
  • the present invention is not limited thereto.
  • the network learner 1400 may generate training data for learning the deep neural network.
  • the training data set may be generated by the method described with reference to FIG. 15.
  • the network learner 1400 may learn a criterion on how to process the input image based on a plurality of learning data sets having different purposes. In addition, the network learner 1400 may learn a criterion about which learning data set to use for processing the input image. For example, the network learner 1400 may train the deep neural network using the method described with reference to FIGS. 13 and 14 using a plurality of learning data sets.
  • the network learner 1400 may store the learned network (eg, a deep neural network) in a memory of the image processing apparatus.
  • the image processing apparatus may be stored in a memory of a server connected to the image processing apparatus through a wired or wireless network.
  • the memory in which the learned network is stored may store, for example, commands or data related to at least one other element of the image processing apparatus 100.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
  • the network learner 1400 may train the deep neural network based on the high resolution image generated by the image processor 1500.
  • a deep neural network may be trained using a learning algorithm including error back-propagation or gradient descent.
  • the image processor 1500 may process the first image based on the first image and the classifier indicating the purpose of the image processing. For example, the image processor 1500 may process the first image according to the purpose indicated by the classifier using the learned deep neural network.
  • At least one of the network learner 1400 and the image processor 1500 may be manufactured in the form of a hardware chip and mounted on the image processor.
  • at least one of the network learner 1400 and the image processor 1500 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general purpose processor (eg, a CPU).
  • the processor may be manufactured as a part of an application processor or a graphics processor (eg, a GPU) and mounted on the above-described various image processing apparatuses.
  • the network learner 1400 and the image processor 1500 may be mounted in one image processing apparatus or may be mounted in separate image processing apparatuses.
  • some of the network learner 1400 and the image processor 1500 may be included in the image processing apparatus 100, and others may be included in the server.
  • At least one of the network learner 1400 and the image processor 1500 may be implemented as a software module.
  • the software module may be computer readable non-transitory. It may be stored in a non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • others may be provided by a predetermined application.
  • FIG. 18 is a block diagram of an image processor 1500, according to an exemplary embodiment.
  • the image processor 1500 may include an input image generator 1510, a classifier generator 1520, a deep neural network unit 1530, an output image generator 1540, and a network updater 1550. It may include.
  • the input image generator 1510 may receive a first image to be processed and generate an input image to be input to the deep neural network based on the first image. For example, the input image generator 1510 converts R, G, and B channels included in the first image into Y, U, and V channels through color space conversion, and among the Y, U, and V channels. An image for the Y channel may be determined as an input image. Alternatively, the input image generator 1510 may determine R, G, and B channels included in the first image as the input image.
  • the classifier generator 1520 When the classifier generator 1520 is to image the first image according to a first purpose, the classifier generator 1520 generates a first classifier having a first value corresponding to the first object as a pixel value, and generates the first image. When the image is to be processed according to the second purpose, a second classifier having a second value corresponding to the second purpose as a pixel value may be generated.
  • the classifier generator 1520 may generate a classifier having a single pixel value, but may also generate a classifier having a different pixel value for each region.
  • the classifier generator 1520 may extract edges and text from the first image, and generate a classifier based on the extracted edges and text. For example, the classifier generator 1520 may extract the edge and the text of the first image and generate a map image representing the edge and the text of the first image. In this case, the classifier generator 1520 may extract edges and text of the first image by using various known edge extraction filters or text extraction filters. In addition, the classifier generator 1520 may generate a classifier by performing a smoothing process on the map image representing the edge and the text.
  • the deep neural network (DNN) unit 1530 may perform image processing on the first image by using the deep neural network learned by the network learner 1400.
  • the input image generated by the input image generator 1510 and the classifier generated by the classifier generator 1520 may be input as input data of the deep neural network.
  • the deep neural network may extract feature information by applying one or more kernels to an input image and a classifier and performing a convolution operation.
  • the deep neural network (DNN) unit 1530 may process the first image according to the purpose indicated by the classifier based on the extracted feature information.
  • the output image generator 1540 may generate a final image (second image) based on data output from the deep neural network. For example, the output image generator 1540 may upscale the images of the U channel and the V channel of the first image, the upscaled images, and the processed and output image in the deep neural network (first The final image may be generated by concatenating the image of the image with respect to the Y channel of the image. In this case, the final image may be an image in which the first image is processed according to the purpose indicated by the classifier.
  • the network updater 1550 may cause the deep neural network to be updated based on the evaluation of the output image provided by the DNN unit 1530 or the final image provided by the output image generator 1540.
  • the network updater 1550 provides the image learner provided by the DNN unit 1530 or the output image generator 1540 to the network learner 1400, whereby the network learner 1400 is a deep neural network. You can update the network.
  • At least one of the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 may be manufactured in the form of a hardware chip. It may be mounted on the image processing apparatus.
  • at least one of the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 may be an artificial intelligence (AI). It may be manufactured in the form of a dedicated hardware chip for artificial intelligence, or may be manufactured as a part of an existing general purpose processor (eg, a CPU or an application processor) or a graphics dedicated processor (eg, a GPU) to be mounted on the aforementioned various image processing apparatuses. Can also be.
  • AI artificial intelligence
  • the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 may be mounted in one image processing apparatus. Alternatively, they may be mounted on separate image processing apparatuses, respectively. For example, some of the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 are included in the image processing apparatus. The remaining parts can be included in the server.
  • At least one of the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 may be implemented as a software module.
  • At least one of the input image generator 1510, the classifier generator 1520, the DNN unit 1530, the output image generator 1540, and the network updater 1550 is a software module (or an instruction ( software module may be stored in a computer readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • block diagrams of the image processing apparatus 100, the processor 120, and the image processor 1500 illustrated in FIGS. 16 to 18 are block diagrams according to an exemplary embodiment.
  • Each component of the block diagrams may be integrated, added, or omitted according to the specifications of the image processing apparatus 100 that is actually implemented. That is, two or more components may be combined into one component as needed, or one component may be divided into two or more components.
  • the function performed in each block is for explaining the embodiments, the specific operation or device does not limit the scope of the present invention.
  • the method of operating an image processing apparatus may be implemented in the form of program instructions that may be executed by various computer means, and may be recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Magneto-optical media and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • an image processing apparatus for generating a high resolution video and an operating method of the image processing apparatus according to the disclosed embodiments may be provided in a computer program product.
  • the computer program product may be traded between the seller and the buyer as a product.
  • the computer program product may include a S / W program and a computer readable storage medium storing the S / W program.
  • a computer program product may include a product (eg, a downloadable app) in the form of a S / W program distributed electronically through a manufacturer of an electronic device or an electronic market (eg, Google Play Store, App Store). have.
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server that temporarily stores a SW program.
  • the computer program product may include a storage medium of a server or a storage medium of a client device in a system consisting of a server and a client device.
  • a third device eg, a smartphone
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include the S / W program itself transmitted from the server to the client device or the third device, or transmitted from the third device to the client device.
  • one of the server, the client device and the third device may execute the computer program product to perform the method according to the disclosed embodiments.
  • two or more of the server, client device, and third device may execute a computer program product to distribute and perform the method in accordance with the disclosed embodiments.
  • a server eg, a cloud server or an artificial intelligence server, etc.
  • a server may execute a computer program product stored on the server to control a client device in communication with the server to perform the method according to the disclosed embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하고, 딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하며, 딥 뉴럴 네트워크는 입력 영상들을 서로 다른 목적에 따라 처리하는 네트워크인, 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작방법
다양한 실시예들은 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 단일 네트워크를 이용하여, 입력되는 영상들을 서로 다른 목적에 따라 처리하는 영상 처리 장치 및 그 동작방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
다양한 실시예들은, 단일 딥 뉴럴 네트워크를 이용하여, 입력되는 영상들을 다양한 목적에 따라 처리할 수 있는 영상 처리 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는, 단일 딥 뉴럴 네트워크를 이용하여, 다양한 목적에 따라 영상을 처리할 수 있다.
일 실시예에 따른 영상 처리 장치는, 다양한 목적에 따른 영상 처리의 레벨을 조절할 수 있다.
도 1은 서로 다른 학습 데이터 세트를 이용하여, 학습시킨 제1 딥 뉴럴 네트워크, 제2 딥 뉴럴 네트워크 및 제3 딥 뉴럴 네트워크를 나타내는 도면이다.
도 2는 일 실시예에 따른 영상 처리 장치가 입력 영상들을 서로 다른 목적에 따라 처리하는 과정을 나타내는 도면이다.
도 3은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 영상 처리 장치가 영상을 처리하는 방법을 설명하기 위해 참조되는 도면이다.
도 5는, 일 실시예에 따른 영상 처리 장치가 입력 영상 및 분류자를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 6은 도 4의 제1 컨볼루션 레이어(440)에서 컨볼루션 연산이 처리되는 과정을 설명하기 위해 참조되는 도면이다.
도 7은 일 실시예에 따른 도 4의 제1 컨볼루션 레이어(440)에 대한 입력 데이터와 출력 데이터를 나타내는 도면이다.
도 8은 도 1의 제3 딥 뉴럴 네트워크의 제1 컨볼루션 레이어에 대한 입력 데이터와 출력 데이터를 나타내는 도면이다.
도 9는 일 실시예에 따른 딥 뉴럴 네트워크에 대한 입력 데이터와 출력 데이터를 나타낸다.
도 10은 일 실시예에 따른 딥 뉴럴 네트워크에 대한 입력 데이터와 출력 데이터를 나타낸다.
도 11은 일 실시예에 따른 분류자를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 12는 일 실시예에 따른 제1 영상들에 기초하여, 생성되는 식별 영상들을 나타내는 도면이다.
도 13은 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면이다.
도 14는 일 실시예에 따른 복수의 목적에 따른 영상 처리를 수행하는 딥 뉴럴 네트워크를 설명하기 위해 참조되는 도면이다.
도 15는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키기 위한 학습 데이터 세트를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 16은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 17은 일 실시예에 따른 프로세서(130)의 블록도이다.
도 18은 일 실시예에 따른 영상 처리부(1500)의 블록도이다.
일 실시예에 따른 영상 처리 장치는, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하고, 딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하며, 상기 딥 뉴럴 네트워크는 입력 영상들을 서로 다른 목적에 따라 처리하는 네트워크일 수 있다.
일 실시예에 따른 딥 뉴럴 네트워크는 N개의 컨볼루션 레이어들을 포함하고, 상기 프로세서는, 상기 제1 영상에 기초하여, 입력 영상을 생성하고, 상기 N개의 컨볼루션 레이어들에서, 상기 입력 영상 및 상기 분류자에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써, 특징 정보를 추출하고, 추출된 상기 특징 정보에 기초하여, 제2 영상을 생성할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상에 포함되는 R, G, B 채널들을 YUV 방식의 Y, U, V 채널들로 변환하고, 상기 Y, U, V 채널들 중 Y 채널에 대한 영상을 상기 입력 영상으로 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 Y 채널에 대한 영상이 상기 딥 뉴럴 네트워크에서 처리되어 출력되는 영상, 상기 Y, U, V 채널들 중 U 채널 및 V 채널에 대한 영상들에 기초하여, 상기 제2 영상을 생성할 수 있다.
일 실시예에 따른 분류자에 포함되는 픽셀들은 제1 값 및 상기 제1 값보다 큰 제2 값 중 적어도 하나를 가지며, 상기 제1 값은 제1 목적을 나타내고, 상기 제2 값은 제2 목적을 나타낼 수 있다.
일 실시예에 따른 프로세서는, 상기 분류자에 포함되는 모든 픽셀들이 상기 제1 값을 가지는 경우, 상기 제1 영상을, 상기 제1 목적에 따라 처리하고, 상기 분류자에 포함되는 모든 픽셀들이 상기 제2 값을 가지는 경우, 상기 제1 영상을 상기 제2 목적에 따라 처리할 수 있다.
일 실시예에 따른 분류자에 포함되는 제1 영역의 픽셀들은 상기 제1 값을 가지고, 상기 분류자에 포함되는 제2 영역의 픽셀들은 상기 제2 값을 가지는 경우, 상기 제1 영상 중 상기 제1 영역에 대응하는 제3 영역은 상기 제1 목적에 따라 처리하고, 상기 제1 영상 중 상기 제2 영역에 대응하는 제4 영역은 상기 제2 목적에 따라 처리할 수 있다.
일 실시예에 따른 프로세서는, 상기 분류자에 포함되는 픽셀들의 값, 상기 제1 값 및 상기 제2 값에 기초하여, 결정된 상기 제1 목적에 따른 영상 처리의 레벨 및 상기 제2 목적에 따른 영상 처리의 레벨에 따라, 상기 제1 영상을 처리할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상의 특성에 기초하여, 상기 분류자를 생성할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상에 포함된 텍스트 및 엣지를 나타내는 맵 영상을 생성하고, 상기 맵 영상에 기초하여, 상기 분류자에 포함되는 픽셀들의 값들을 결정할 수 있다.
일 실시예에 따른 딥 뉴럴 네트워크는, 제1 영상 데이터, 제1 값을 픽셀 값으로 가지는 제1 분류자, 및 상기 제1 영상 데이터가 제1 목적으로 처리된 제1 레이블 데이터를 포함하는 제1 학습 데이터 세트 및 제2 영상 데이터, 제2 값을 픽셀 값으로 가지는 제2 분류자, 및 상기 제2 영상 데이터가 제2 목적으로 처리된 제2 레이블 데이터를 포함하는 제2 학습 데이터 세트에 의해 학습된 네트워크일 수 있다.
일 실시예에 따른 프로세서는, 상기 딥 뉴럴 네트워크에, 상기 제1 영상 데이터 및 상기 제1 분류자가 입력되었을 때, 출력되는 영상 데이터와 상기 제1 레이블 데이터의 차이가 작아지도록 상기 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치 값들을 조정하고, 상기 딥 뉴럴 네트워크에, 상기 제2 영상 데이터 및 상기 제2 분류자가 입력되었을 때, 출력되는 영상 데이터와 상기 제2 레이블 데이터의 차이가 작아지도록 상기 딥 뉴럴 네트워크에 포함된 상기 하나 이상의 커널들의 가중치 값들을 조정할 수 있다.
일 실시예에 따른 영상 처리 장치의 동작방법은, 제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하는 단계 및 딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하는 단계를 포함하고, 상기 딥 뉴럴 네트워크는 복수의 영상들을 서로 다른 목적에 따라 처리하는 네트워크일 수 있다.
일 실시예에 따른 컴퓨터 프로그램 제품은, 제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하는 단계 및 복수의 영상들을 서로 다른 목적에 따라 처리하는 딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 서로 다른 학습 데이터 세트를 이용하여, 학습시킨 제1 딥 뉴럴 네트워크, 제2 딥 뉴럴 네트워크 및 제3 딥 뉴럴 네트워크를 나타내는 도면이다.
도 1을 참조하면, 제1 딥 뉴럴 네트워크(DNN1)는, 제1 학습 데이터 세트(11)에 의해 학습된 딥 뉴럴 네트워크일 수 있다. 이때, 제1 학습 데이터 세트(11)는, 영상의 디테일 향상(예를 들어, 제1 목적)을 위한 학습 데이터 세트일 수 있다. 예를 들어, 제1 학습 데이터 세트(11)는 제1 영상 데이터들(D1) 및 제1 레이블 데이터들(L1)을 포함할 수 있다. 제1 레이블 데이터들(L1)은 제1 영상 데이터들(D1)에 대응하는 고해상도 영상 데이터들로서, 제1 영상 데이터들(D1)을 고해상도 영상으로 변환시킬 때, 텍스쳐 표현을 향상시킨 영상 데이터들일 수 있다.
제2 딥 뉴럴 네트워크(DNN2)는 제2 학습 데이터 세트(21)에 의해 학습된 딥 뉴럴 네트워크일 수 있다. 이때, 제2 학습 데이터 세트(21)는, 영상에 포함된 텍스트 또는 엣지 향상(제2 목적)을 위한 학습 데이터 세트일 수 있다. 예를 들어, 제2 학습 데이터 세트(21)는 제2 영상 데이터들(D2) 및 제2 레이블 데이터들(L2)을 포함할 수 있다. 제2 레이블 데이터들(L2)은 제2 영상 데이터들(D2)에 대응하는 고해상도 영상 데이터들로서, 제2 영상 데이터들(D2)을 고해상도 영상으로 변환시킬 때, 텍스트나 엣지 주변에서 나타나는 계단 현상(jagging) 등을 감소(텍스트나 엣지 표현 향상)시킨 영상 데이터들일 수 있다.
또한, 제3 딥 뉴럴 네트워크(DNN3)는 제1 학습 데이터 세트(11) 및 제2 학습 데이터 세트(21)에 의해 학습된 네트워크일 수 있다.
도 1에 도시된 바와 같이, 제1 딥 뉴럴 네트워크(DNN1)에 제1 영상(10)이 입력되는 경우, 제1 딥 뉴럴 네트워크(DNN1)는 제1 출력 영상(15)을 출력할 수 있으며, 제1 출력 영상(15)은, 제1 영상(10)의 텍스쳐 표현을 향상시킨 고해상도 영상일 수 있다. 또한, 제2 딥 뉴럴 네트워크(DNN2)에 제2 영상(20)이 입력되는 경우, 제2 딥 뉴럴 네트워크(DNN2)는 제2 출력 영상(25)을 출력할 수 있으며, 제2 출력 영상(25)은 제2 영상(20)의 텍스트나 엣지 표현을 향상시킨 고해상도 영상일 수 있다.
한편, 제3 딥 뉴럴 네트워크(DNN3)에 제1 영상(10)이 입력되는 경우, 제3 딥 뉴럴 네트워크(DNN3)는 제3 출력 영상(35)을 출력할 수 있으며, 이때, 제3 출력 영상(35)의 디테일 향상(텍스쳐 표현의 향상)의 정도는 제1 출력 영상(15)에 비해 적다. 또한, 제3 딥 뉴럴 네트워크(DNN3)에 제2 영상(20)이 입력되는 경우, 제3 딥 뉴럴 네트워크(DNN3)는 제4 출력 영상(45)을 출력할 수 있으며, 이때, 제4 출력 영상(45)의 텍스트나 엣지 표현 향상의 정도는 제2 출력 영상(25)에 비해 적다.
제1 목적(디테일 향상)을 학습시키기 위한 제1 학습 데이터 세트(11)와 제2 목적(텍스트나 엣지 향상)을 학습시키기 위한 제2 학습 데이터 세트(21)를 함께 학습시킨 제3 딥 뉴럴 네트워크(DNN3)는, 제1 학습 데이터 세트(11)에 의해 학습된 제1 딥 뉴럴 네트워크(DNN1)의 성능 및 제2 학습 데이터 세트(21)에 의해 학습된 제2 딥 뉴럴 네트워크(DNN2)의 성능을 가지지 못한다.
도 2는 일 실시예에 따른 영상 처리 장치가 입력 영상들을 서로 다른 목적에 따라 처리하는 과정을 나타내는 도면이다.
일 실시예에 따른 영상 처리 장치(100)는 딥 뉴럴 네트워크(DNN, 150)를 이용하여, 입력 영상들을 처리할 수 있다. 일 실시예에 따른 딥 뉴럴 네트워크(DNN, 150)는 제1 목적(예를 들어, 디테일 향상)을 학습시키기 위한 제1 학습 데이터 세트(210) 및 제2 목적(예를 들어, 텍스트나 엣지 향상)을 학습시키기 위한 제2 학습 데이터 세트(220)에 의해 학습될 수 있다. 이때, 제1 학습 데이터 세트(210)는, 제1 영상 데이터들(D1), 제1 목적을 나타내는 제1 분류자(C1), 및 제1 레이블 데이터들(L1)을 포함할 수 있다. 제1 영상 데이터들(D1) 및 제1 레이블 데이터들(L1)은 도 1에서 설명한 제1 영상 데이터들(D1) 및 제1 레이블 데이터들(L1)과 동일하다. 딥 뉴럴 네트워크(150)는 제1 영상 데이터들(D1) 및 제1 분류자(C1)가 입력되면, 제1 레이블 데이터들(L1)이 출력되도록 학습될 수 있다. 또한, 제2 학습 데이터 세트는, 제2 영상 데이터들(D2), 제2 목적을 나타내는 제2 분류자(C2) 및 제2 레이블 데이터들(L2)을 포함할 수 있다. 제2 영상 데이터들(D2) 및 제2 레이블 데이터들(L2)은 도 1에서 설명한 제2 영상 데이터들(D2) 및 제2 레이블 데이터들(L2)과 동일하다. 딥 뉴럴 네트워크는, 제2 영상 데이터들(D2) 및 제2 분류자(C2)가 입력되면, 제2 레이블 데이터들(L2)이 출력되도록 학습될 수 있다.
일 실시예에 따른 영상 처리 장치(100)는, 제1 영상(10) 및 제1 목적(디테일 향상)을 나타내는 제1 분류자(C1)를 딥 뉴럴 네트워크(150)로 입력하고, 딥 뉴럴 네트워크(150)는 제1 영상(10)을 제1 분류자(C1)가 나타내는 제1 목적(예를 들어, 디테일 향상)에 따라 처리함으로써, 제1 출력 영상(230)을 출력할 수 있다. 이때, 도 2의 제1 출력 영상(230)에서의 디테일 향상 정도는 도 1에서 설명한, 제1 딥 뉴럴 네트워크(DNN1)의 제1 출력 영상(15)과 동일 유사할 수 있다.
또한, 영상 처리 장치(100)는 제2 영상(20) 및 제2 목적(예를 들어, 텍스트나 엣지 향상)을 나타내는 제2 분류자(C2)를 딥 뉴럴 네트워크(150)로 입력하고, 딥 뉴럴 네트워크(150)는 제2 영상(20)을 제2 분류자(C2)가 나타내는 제2 목적(예를 들어, 텍스트나 엣지 향상)에 따라 처리함으로써, 제2 출력 영상(240)을 출력할 수 있다. 이때, 도 2의 제2 출력 영상(240)에서의 디테일 향상 정도는 도 1에서 설명한, 제2 딥 뉴럴 네트워크(DNN2)의 제2 출력 영상(25)과 동일 유사할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 영상 데이터, 영상 데이터의 처리 목적을 나타내는 분류자 및 영상 데이터에 대응하는 레이블 데이터에 의해 학습된 단일 딥 뉴럴 네트워크를 이용하여, 복수의 영상들을 서로 다른 목적에 따라 처리할 수 있다.
도 3은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 3을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상 및 영상 처리의 목적을 나타내는 분류자를 획득할 수 있다(S310).
영상 처리 장치(100)는 제1 영상에 기초하여, 딥 뉴럴 네트워크로 입력시킬 입력 영상 및 분류자를 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 영상에 포함되는 R, G, B 채널들을 색 공간 변환을 통해, Y, U, V 채널들로 변환하고, Y, U, V 채널들 중 Y 채널에 대한 영상을 입력 영상으로 결정할 수 있다. 영상 처리 장치(100)는 제1 영상을 제1 목적에 따라 영상 처리하고자 하는 경우, 분류자의 픽셀 값을 제1 목적에 대응하는 제1 값으로 결정하고, 제1 영상을 제2 목적에 따라 영상 처리하고자 하는 경우, 분류자의 픽셀 값을 제2 목적에 대응하는 제2 값으로 결정할 수 있다. 또한, 영상 처리 장치(100)는 제1 영상에서 엣지 및 텍스트를 추출하고, 추출된 엣지 및 텍스트에 기초하여, 분류자를 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는, 딥 뉴럴 네트워크를 이용하여, 제1 영상을 분류자가 나타내는 목적에 따라 처리할 수 있다(S320).
딥 뉴럴 네트워크는 N개의 컨볼루션 레이어들을 포함할 수 있으며, 영상 처리 장치(100)는 N개의 컨볼루션 레이어들 각각에서, 입력 영상 및 식별 영상에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써, 특징 정보(특징 맵)를 추출하고, 추출된 특징 정보에 기초하여, 제1 영상을 분류자가 나타내는 목적에 따라 처리할 수 있다.
영상 처리 장치(100)는 분류자에 포함되는 픽셀들의 값, 제1 목적에 대응하는 제1 값 및 제2 목적에 대응하는 제2 값에 기초하여, 제1 목적에 따른 영상 처리의 레벨 및 제2 목적에 따른 영상 처리의 레벨을 결정하고, 결정된 레벨에 따라, 제1 영상을 처리할 수 있다.
한편, 영상 처리 장치(100)는 서로 다른 목적을 가지는 복수의 학습 데이터 세트들을 이용하여, 딥 뉴럴 네트워크를 학습시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 영상 데이터들, 제1 분류자, 및 제1 영상 데이터들이 제1 목적으로 처리된 제1 레이블 데이터들을 포함하는 제1 학습 데이터 세트 및 제2 영상 데이터들, 제2 분류자 및 제2 영상 데이터들이 제2 목적으로 처리된 제2 레이블 데이터들을 포함하는 제2 학습 데이터 세트를 이용하여, 딥 뉴럴 네트워크를 학습시킬 수 있다.
영상 처리 장치(100)는 딥 뉴럴 네트워크에 제1 영상 데이터들 및 제1 분류자가 입력되었을 때, 출력되는 영상 데이터들과 제1 레이블 데이터들의 차이가 작아지도록 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다. 또한, 영상 처리 장치(100)는 딥 뉴럴 네트워크에 제2 영상 데이터들 및 제2 분류자가 입력되었을 때, 출력되는 영상 데이터들과 제2 레이블 데이터들의 차이가 작아지도록 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다.
도 4는 일 실시예에 따른 영상 처리 장치가 영상을 처리하는 방법을 설명하기 위해 참조되는 도면이다.
도 4를 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(410)을 수신할 수 있다. 영상 처리 장치(100)는 제1 영상(410)을 딥 뉴럴 네트워크(150)에 입력하거나, 제1 영상(410)에 기초하여, 딥 뉴럴 네트워크(150)에 입력할 입력 영상(420)을 생성할 수 있다. 또한, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상에 대한 영상 처리의 목적을 나타내는 분류자(430)를 생성할 수 있다. 입력 영상(420) 및 분류자(430)를 생성하는 방법에 대해서는, 도 5를 참조하여, 자세히 설명하기로 한다.
도 5는, 일 실시예에 따른 영상 처리 장치가 입력 영상 및 분류자를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 5를 참조하면, 제1 영상(410)은 R, G, B 채널들(RGB 3ch)을 포함하는 영상일 수 있다. 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(410)에 포함되는 R, G, B 채널들(RGB 3ch)을 딥 뉴럴 네트워크에 입력할 입력 영상으로 결정할 수 있다.
또는, 영상 처리 장치(100)는 제1 영상(410)에 포함되는 R, G, B 채널들(RGB 3ch)을 색 공간 변환을 통해, Y, U, V 채널들(YUV 3ch)로 변환할 수 있다. 이때, Y채널(420)은 휘도 신호를 나타내는 채널이고, U 채널은 휘도 신호와 청색 성분의 차를 나타내는 채널이며, V 채널은 휘도 신호와 적색 성분의 차를 나타내는 채널이다. 영상 처리 장치(100)는 변환된 Y, U, V 채널들(YUV 3ch) 중 Y 채널(420)에 대한 영상을 딥 뉴럴 네트워크에 입력시킬 입력 영상으로 결정할 수 있다. 다만, 이에 한정되지 않는다.
한편, 일 실시예에 따른 영상 처리 장치(100)는 영상 처리의 목적을 나타내는 분류자(430)를 생성할 수 있다. 이때, 분류자(430)는 하나의 픽셀 값을 가지거나, 영역 별로 다른 픽셀 값을 가질 수 있다. 또한, 분류자(430)의 픽셀 값들은 사용자 입력에 기초하여, 결정되거나, 처리하고자 하는 영상(예를 들어, 제1 영상)에 기초하여, 결정될 수 있다.
예를 들어, 제1 영상 전체를 제1 목적에 따라 영상 처리하고자 하는 경우, 영상 처리 장치(100)는 분류자(430)의 전체 픽셀들이, 제1 목적에 대응하는 제1 값을 가지도록 분류자를 생성할 수 있다. 또는, 제1 영상 전체를 제2 목적에 따라 영상 처리하고자 하는 경우, 영상 처리 장치(100)는 분류자의 전체 픽셀들이, 제2 목적에 대응하는 제2 값을 가지도록 분류자를 생성할 수 있다.
또는, 영상 처리 장치(100)는 제1 영상(410)에 기초하여, 분류자(430)를 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 영상(410)에 대한 영상 분석을 통해, 제1 영상(410)이 제1 목적에 따라 처리되어야 하는지, 제2 목적에 따라 처리되어야 하는지를 결정할 수 있다. 제1 영상(410)에 텍스쳐가 주로 포함되어 있는 경우, 영상 처리 장치(100)는 제1 영상(410)이 제1 목적에 따라 처리되어야 하는 것으로 결정할 수 있으며, 제1 영상(410)에 텍스트나 엣지가 주로 포함되어 있는 경우, 영상 처리 장치(100)는 제1 영상이 제2 목적에 따라 처리되어야 하는 것으로 결정할 수 있다. 또한, 영상 처리 장치(100)는 제1 영상에 포함되는 영역 별로 해당 영역이 제1 목적에 따라 처리되어야 하는지, 제2 목적에 따라 처리되어야 하는지를 결정할 수 있다. 이에 따라, 영상 처리 장치(100)는 제1 영상(410) 또는 제1 영상(410)의 일부 영역(제1 영역)이 제1 목적에 따라 처리되어야 하는 경우, 분류자(430) 전체 또는 분류자의 일부 영역(제1 영역에 대응하는 영역)에 포함되는 픽셀들이 제1 값을 가지도록 분류자(430)를 생성할 수 있다. 또는, 영상 처리 장치(100)는 제1 영상 또는 제1 영상의 일부 영역(제2 영역)이 제2 목적에 따라 처리되어야 하는 경우, 분류자(430) 전체 또는 분류자의 일부 영역(제2 영역에 대응하는 영역)에 포함되는 픽셀들이 제2 값을 가지도록 분류자(430)를 생성할 수 있다. 이에 대해서는, 도 11 및 도 12를 참조하여, 자세히 설명하기로 한다.
영상 처리 장치(100)는 생성된 분류자(430)를 딥 뉴럴 네트워크(150)로 입력시킬 입력 채널로 추가시킬 수 있다. 이에 따라, 입력 영상(420) 및 분류자(430)가 딥 뉴럴 네트워크(150)로 입력될 수 있다.
다시 도 4를 참조하면, 영상 처리 장치(100)는 딥 뉴럴 네트워크를 이용하여, 입력 영상(420)을 분류자(430)가 나타내는 목적에 따라 처리하고, 처리된 영상을 출력할 수 있다.
예를 들어, 딥 뉴럴 네트워크(150)는, N개의 컨볼루션 레이어들(2개 이상의 컨볼루션 레이어들)을 포함할 수 있다. 딥 뉴럴 네트워크(150)는 입력 데이터(예를 들어, 입력 영상(420) 및 분류자(430))가 입력되고, N개의 컨볼루션 레이어들을 통과하여, 출력 데이터가 출력되는 구조를 가진다. 또한, 딥 뉴럴 네트워크에서는, 특징 맵(특징 정보)에 하나 이상의 커널들을 적용하여 컨볼루션하는 연산 이외에 다른 프로세싱 연산들이 수행될 수 있으며, 이러한 프로세싱 연산들은 컨볼루션 레이어들 사이에서 수행될 수 있다. 예를 들어, 활성화 함수(activation function), 풀링(pooling) 등의 연산들이 수행될 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 딥 뉴럴 네트워크(150)를 이용하여, 입력 영상으로부터 테두리, 선, 색 등과 같은 “특징들(features)”을 추출할 수 있다. 딥 뉴럴 네트워크(150)에 포함되는 N개의 컨볼루션 레이어들 각각에서는 데이터를 수신하고, 수신된 데이터를 처리하여, 출력 데이터를 생성할 수 있다. 예를 들어, 영상 처리 장치는 제1 컨볼루션 레이어(440)에 입력된 영상(예를 들어, 입력 영상 및 분류자)에 하나 이상의 커널들 또는 필터들을 적용하여 컨볼루션 연산을 수행하고, 컨볼루션 연산을 수행한 결과 제1 특징 맵(제1 특징 정보)이 추출된다. 이에 대해서는 도 6 및 도 7을 참조하여, 자세히 설명하기로 한다.
또한, 영상 표시 장치(100)는 추출된 제1 특징 맵의 값들을 특징이 “있다 또는 없다”의 비선형적인 값으로 바꿔주기 위해 활성화 함수를 적용할 수 있다. 이때, ReLu 함수가 사용될 수 있으나, 이에 한정되지 않는다. 또한, 영상 처리 장치(100)는 추출된 특징 맵의 사이즈를 줄이기 위해 서브 샘플링(풀링)할 수 있으며, 이때, max pooling, average pooling, L2-norm pooling 등을 사용할 수 있으나, 이에 한정되지 않는다.
한편, 도 4를 참조하면, 딥 뉴럴 네트워크는 M개의 레지듀얼 블록들(residual blocks)을 포함할 수 있다. 레지듀얼 블록(450)은 하나 이상의 컨볼루션 레이어들을 포함할 수 있으며, 영상 처리 장치(100)는 레지듀얼 블록(450)에 포함된 컨볼루션 레이어들을 건너뛰는 데이터(460, 예를 들어, ReLu 함수가 적용된 제1 특징 맵)와 레지듀얼 블록에 포함된 컨볼루션 레이어들을 통과한 데이터(예를 들어, 제3 컨볼루션 레이어로부터 추출되어, ReLu 함수가 적용된 제3 특징 맵)를 요소 별로 합하는 연산(elementwise sum, 470)을 수행할 수 있다.
또한, 딥 뉴럴 네트워크는 디 컨볼루션 레이어(Deconvoultion layer, 480)를 포함할 수도 있다. 이때, 디 컨볼루션 레이어(480)로부터 추출되는 특징 정보의 사이즈는, 디 컨볼루션 레이어(480)에 입력되는 특징 정보의 사이즈보다 클 수 있다.
또한, 영상 처리 장치(100)는 딥 뉴럴 네트워크에 입력되는 데이터를 업 스케일링할 수 있다. 이때, 영상 처리 장치(100)는 딥 뉴럴 네트워크에 입력되는 데이터에 바이 리니어 보간 방법, 바이 큐빅 보간 방법, 컨볼루션 보간 방법 중 적어도 하나를 적용하여, 입력 데이터를 업 스케일링할 수 있다. 영상 처리 장치(100)는 업스케일링된 영상 데이터를 디 컨볼루션 레이어(480)로부터 추출되는 특징 정보와 요소별로 합하는 연산(elementwise sum)을 수행하여, 출력 데이터를 생성할 수 있다. 다만, 이에 한정되지 않는다.
또한, 영상 처리 장치(100)는 Y, U, V 채널들(YUV 3ch) 중 U 채널 및 V채널에 대한 영상을 업 스케일링할 수 있다. 이때, 영상 처리 장치(100)는 U 채널 및 V채널에 대한 영상들에 바이 리니어 보간 방법, 바이 큐빅 보간 방법, 컨볼루션 보간 방법 중 적어도 하나를 적용하여, 업 스케일링할 수 있다. 업 스케일링된 영상 데이터들을 출력 데이터와 함께, 결합(concatenation)하여, 제2 영상(490)을 생성할 수 있다. 이때, 제2 영상(490)은 제1 영상(410)이 분류자(430)가 나타내는 목적에 따라 처리된 영상일 수 있다.
도 6은 도 4의 제1 컨볼루션 레이어(440)에서 컨볼루션 연산이 처리되는 과정을 설명하기 위해 참조되는 도면이다.
도 6을 참조하면, 제1 컨볼루션 레이어(440)의 입력 데이터(Input)는 8*8의 크기를 가지며, 채널의 개수는 2(예를 들어, 입력 영상(610) 및 분류자(620))인 것으로 가정한다. 또한, 입력 데이터(600)에 적용되는 커널의 크기는 3*3*2(가로*세로*깊이)이며, 커널의 개수는 n인 것으로 가정한다. 이때, 커널의 깊이는 입력 데이터의 채널의 개수와 동일한 값을 가진다. 하나의 커널은 3*3 크기를 가지는 2개의 서브 커널들을 포함하는 것으로 볼 수 있으며, 2개의 서브 커널들은 입력 데이터의 2개의 채널들(입력 영상 및 분류자) 각각에 대응될 수 있다.
도 6을 참조하면, 입력 데이터(600)의 좌측 상단으로부터 우측 하단까지 제1 커널(Kernal 1)에 포함되는 서브 커널들(631, 632)을 적용하여, 입력 데이터의 특징을 추출하는 과정이 도시되어 있다. 예를 들어, 입력 데이터(600)의 좌측 상단 3*3*2 영역(611, 621)에 포함되는 픽셀들에 제1 커널(Kernel 1)을 적용하여 컨볼루션 연산을 수행할 수 있다. 즉, 좌측 상단 3*3*2 영역(611. 621)에 포함되는 픽셀 값들과 제1 커널(Kernel 1)에 포함되는 가중치 값들을 곱하여 합산함으로써, 좌측 상단 3*3*2 영역에 매핑되는 하나의 픽셀값(641)을 생성할 수 있다.
또한, 입력 데이터(600)의 좌측 상단 3*3*2 영역(611, 621)에서 우측으로 한 픽셀 이동시킨 3*3*2 영역(612, 622)에 포함되는 픽셀 값들과 제1 커널(Kernel 1)에 포함되는 가중치 값들을 곱하여 합산함으로써, 3*3*2 영역(612, 622)에 매핑되는 하나의 픽셀값(642)을 생성할 수 있다.
동일한 방식으로, 입력 데이터(600) 내에서 컨볼루션 연산의 대상을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 스캔하면서, 제1 커널(Kernel 1)에 포함되는 가중치 값들을 곱하여 합산함으로써, 픽셀값들이 생성된다. 이에 따라, 6*6의 특징 맵(640, 출력 데이터)이 출력될 수 있다. 이때, 컨볼루션 연산의 대상이 되는 데이터는 한 픽셀씩 이동하면서 스캔될 수도 있으나, 2개 픽셀 또는 그 이상의 픽셀 개수만큼 이동하면서 스캔될 수도 있다. 스캔 과정에서 입력 데이터가 이동하는 픽셀의 개수를 스트라이드(stride)라고 하며, 스트라이드의 크기에 따라 출력되는 특징 맵의 크기가 결정될 수 있다.
도 6을 참조하면, 입력 데이터(610)는 8*8의 크기를 가지나, 출력 데이터(640)는 6*6의 크기를 가지며, 입력 데이터의 크기보다 작아진다. 컨볼루션 뉴럴 네트워크는 여러 개의 컨볼루션 레이어들을 포함하며, 여러 개의 컨볼루션 레이어들을 통과하면서, 데이터의 크기가 계속해서 작아지게 된다. 이때, 특징이 충분하게 추출되기 전에 데이터의 크기가 작아지면, 입력 데이터의 특징이 유실될 수 있으며, 이를 방지하기 위하여 패딩(padding)이 수행될 수 있다. 패딩은 출력 데이터가 작아지는 것을 방지하기 위하여, 입력 데이터의 가장자리에 특정 값(예를 들어, ‘0’)을 주어, 입력 데이터의 사이즈를 증가시키는 것을 의미한다. 다만, 이에 한정되지 않는다.
한편, 도 6에서는 제1 커널(Kernel 1)에 대한 컨볼루션 연산 결과만 도시하였지만, n개의 커널에 대해서, 컨볼루션 연산을 수행하는 경우, n개의 특징 맵이 출력될 수 있다. 즉, 커널의 개수(n)에 따라, 출력 데이터의 채널의 개수가 결정되며, 이에 따라, 다음 레이어에서의 입력 데이터의 채널의 개수도 결정될 수 있다.
도 7은 일 실시예에 따른 도 4의 제1 컨볼루션 레이어(440)에 대한 입력 데이터와 출력 데이터를 나타내는 도면이다.
도 7을 참조하면, 영상 표시 장치(100)는 제1 입력 데이터(Input 1)를 제1 컨볼루션 레이어(440)에 입력할 수 있다. 이때, 제1 입력 데이터(Input 1)는 제1 입력 영상(I1) 및 제1 분류자(C1)를 포함하는 2개의 채널로 구성될 수 있다. 이때, 제1 입력 영상(I1)은 주로 텍스쳐를 포함하는 영상으로, 고해상도 영상으로 변환 시 텍스쳐 표현을 향상시키도록 처리되어야 하는 영상일 수 있다. 또한, 제1 분류자(C1)의 픽셀 값은 제1 목적(예를 들어, 영상의 디테일 향상)을 나타내는 제1 값일 수 있다. 제1 컨볼루션 레이어에서는, 제1 입력 영상(I1)과 제1 분류자(C1)가 입력되면, 도 6에서 설명한 바와 같이, 제1 입력 영상(I1)과 제1 분류자(C1)에 n개의 커널들을 적용하여, 컨볼루션 연산을 수행할 수 있다. 컨볼루션 연산을 수행한 결과, 도 7에 도시된 바와 같이 n개의 제1 특징 맵들(710)이 추출될 수 있다.
또한, 영상 표시 장치(100)는 제2 입력 데이터(Input 2)를 제1 컨볼루션 레이어에 입력할 수 있다. 이때, 제2 입력 데이터는 제2 입력 영상(I2) 및 제2 분류자(C2)를 포함하는 2개의 채널로 구성될 수 있다. 이때, 제2 입력 영상(I2)은 주로 텍스트나 엣지를 포함하는 영상으로, 고해상도 영상으로 변환 시, 텍스트나 엣지 표현을 향상시키도록 처리되어야 하는 영상일 수 있다. 또한, 제2 분류자(C2)의 픽셀 값은 제2 목적(예를 들어, 텍스트나 엣지 향상)을 나타내는 제2 값일 수 있다.
제1 컨볼루션 레이어에서는, 제2 입력 영상(I2)과 제2 분류자(C2)가 입력되면, 도 6에서 설명한 바와 같이, 제2 입력 영상(I2)과 제2 분류자(C2)에 n개의 커널들을 적용하여, 컨볼루션 연산을 수행할 수 있다. 컨볼루션 연산을 수행한 결과, 도 7에 도시된 바와 같이 n개의 제2 특징 맵들(720)이 추출될 수 있다.
도 7의 제1 특징 맵들(710)과 제2 특징 맵들(720)을 비교해 보면, 제1 특징 맵들(710)에는 제2 특징 맵들(720)에 비해 텍스쳐 특징들이 더 잘 나타나고, 제2 특징 맵들(720)에는 제1 특징 맵들(710)에 비해 텍스트나 엣지의 특징들이 더 잘 나타남을 알 수 있다.
한편, 도 8은 도 1의 제3 딥 뉴럴 네트워크의 제1 컨볼루션 레이어에 대한 입력 데이터와 출력 데이터를 나타내는 도면이다.
도 8을 참조하면, 도 1에서 설명한 제3 딥 뉴럴 네트워크(DNN3)에 포함되는 제1 컨볼루션 레이어에 제1 입력 영상(I1)이 입력되는 경우, 제3 특징 맵들(810)이 추출될 수 있다. 또한, 제3 딥 뉴럴 네트워크(DNN3)에 포함되는 제1 컨볼루션 레이어에 제2 입력 영상(I2)이 입력되는 경우, 제4 특징 맵들(820)이 추출될 수 있다.
한편, 도 7의 제1 특징 맵들(710)과 도 8의 제3 특징 맵들(810)을 비교해보면, 제3 특징 맵들(810)보다 제1 특징 맵들(710)에서, 제1 입력 영상(I1)에 포함되는 텍스쳐 특징들이 더 잘 나타남을 알 수 있다. 또한, 도 7의 제2 특징 맵들(720)과 도 8의 제4 특징 맵들(820)을 비교해보면, 제4 특징 맵들(820)보다 제2 특징 맵들(720)에서, 텍스트나 엣지의 특징들이 더 잘 나타남을 알 수 있다.
이에 따라, 일 실시예에 따른 딥 뉴럴 네트워크(150)는 입력 영상을 분류자가 나타내는 목적에 따라 영상 처리를 수행함을 알 수 있다.
도 9는 일 실시예에 따른 딥 뉴럴 네트워크에 대한 입력 데이터와 출력 데이터를 나타낸다.
도 9를 참조하면, 제1 영상(910) 및 제1 분류자(931)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제3 영상(930)이 출력되고, 제2 영상(920) 및 제1 분류자(931)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제4 영상(940)이 출력된다. 이때, 제1 분류자(931)의 픽셀 값들은 디테일 향상(텍스쳐 표현 향상)을 나타내는 제1 값을 가질 수 있다. 처리하고자 하는 영상과 제1 분류자가 딥 뉴럴 네트워크(150)에 함께 입력되면, 제1 분류자에 의해, 영상 처리의 목적이 디테일 향상으로 결정될 수 있다.
제1 영상(910)은 주로 텍스쳐를 포함하는 영상으로, 출력된 제3 영상(930)은 제1 영상(910)의 디테일을 향상시킨 고해상도 영상일 수 있다. 그러나, 제2 영상(920)은 주로 텍스트나 엣지를 포함하는 영상으로, 출력된 제4 영상(940)에서 텍스트나 엣지 향상의 효과는 나타나지 않을 수 있다.
한편, 제1 영상(910) 및 제2 분류자(932)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제5 영상(950)이 출력되고, 제2 영상(920) 및 제2 분류자(932)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제6 영상(960)이 출력된다. 이때, 제2 분류자(932)의 픽셀 값들은 텍스트나 엣지 향상을 나타내는 제2 값을 가질 수 있다. 처리하고자 하는 영상과 제2 분류자(932)가 딥 뉴럴 네트워크(150)에 함께 입력되면, 제2 분류자(932)에 의해, 영상 처리의 목적이 텍스트나 엣지 향상으로 결정될 수 있다.
제2 영상(920)은 주로 텍스트나 엣지를 포함하는 영상으로, 출력된 제6 영상(960)은 제2 영상(920)에 포함되는 텍스트나 엣지를 향상시킨 고해상도 영상일 수 있다. 그러나, 제1 영상(910)은 주로 텍스쳐를 포함하는 영상으로, 출력된 제5 영상(950)에서 텍스쳐 향상의 효과는 나타나지 않을 수 있다.
도 10은 일 실시예에 따른 딥 뉴럴 네트워크에 대한 입력 데이터와 출력 데이터를 나타낸다.
도 10을 참조하면, 제1 영상(910) 및 제3 분류자(933)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제7 영상(970)이 출력될 수 있다. 제3 분류자(933)의 픽셀 값들은 제3 값을 가질 수 있다. 이때, 제3 값은 디테일 향상을 나타내는 제1 값이 텍스트나 엣지 향상을 나타내는 제2 값보다 작은 경우, 제1 값보다 작은 값일 수 있다. 또는 제1 값이 제2 값보다 큰 경우, 제1 값보다 큰 값일 수 있다. 출력되는 제7 영상(970)은 도 9에서 설명한 제3 영상(930)에서 나타나는 디테일 향상 효과보다 더 큰 디테일 향상 효과를 가질 수 있다.
또한, 제2 영상(920) 및 제4 분류자(934)가 딥 뉴럴 네트워크(150)에 입력되는 경우, 제8 영상(980)이 출력될 수 있다. 제4 분류자(934)의 픽셀 값들은 제4 값을 가질 수 있다. 이때, 제4 값은, 제2 값이 1 값보다 큰 경우, 제2 값보다 큰 값일 수 있다. 또는, 제2 값이 제1 값보다 작은 경우, 제2 값보다 작은 값일 수 있다. 이때, 출력되는 제8 영상(980)은 도 9에서 설명한 제6 영상(960)에서 나타나는 텍스트나 엣지의 향상 효과보다 더 큰 텍스트나 엣지의 향상 효과를 가질 수 있다.
도 11은 일 실시예에 따른 분류자를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 11을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 처리하고자 하는 제1 영상(1010)에 기초하여, 분류자(1030)를 생성할 수 있다.
예를 들어, 영상 처리 장치(100)는 제1 영상(1010)의 엣지 및 텍스트를 추출하여, 제1 영상(1010)의 엣지 및 텍스트를 나타내는 맵 영상(1020)을 생성할 수 있다. 영상 처리 장치(100)는 공지된 다양한 엣지 추출 필터 또는 텍스트 추출 필터를 이용하여, 제1 영상(1010)의 엣지 및 텍스트를 추출할 수 있다.
이때, 엣지 및 텍스트를 나타내는 맵 영상(1020)에서, 엣지 및 텍스트 영역의 픽셀 값은 제2 값을 가지도록 설정될 수 있으며, 나머지 영역의 픽셀 값은 제1 값을 가지도록 설정될 수 있다. 다만, 이에 한정되지 않는다.
영상 처리 장치(100)는 엣지 및 텍스트를 나타내는 맵 영상(1020)에 스무딩(smoothing) 처리를 수행하여, 분류자(1030)를 생성할 수 있다. 이때, 스무딩 처리는, 엣지 및 텍스트 주변에서 픽셀 값이 완만하게 변하도록 픽셀 값을 조절하는 영상 처리일 수 있다.
도 11을 참조하면, 분류자(1030) 중, 제1 영상(1010)의 텍스쳐로 표현된 제1 영역(A1)에 대응하는 영역은 주로 제1 값을 가지는 픽셀들을 포함하며, 제1 영상(1010)의 텍스트로 표현된 제2 영역(A2)에 대응하는 영역은 주로 제2 값을 가지는 픽셀들을 포함할 수 있다.
또한, 영상 처리 장치(100)는 제1 영상(1010)과 생성된 분류자(1030)를 딥 뉴럴 네트워크(150)에 입력하여, 제1 영상이 고해상도 영상으로 변환된 출력 영상(1040)을 생성할 수 있다. 이때, 출력 영상(1040) 중, 제1 영상(1010)의 텍스쳐로 표현된 제1 영역(A1)에 대응하는 영역(1041)에서는 디테일이 향상(텍스쳐 표현 향상)된 효과가 나타나며, 제1 영상(1010)의 텍스트로 표현된 제2 영역(A2)에 대응하는 영역(1042)에서는 텍스트가 향상된 효과가 나타날 수 있다.
도 12는 일 실시예에 따른 제1 영상들에 기초하여, 생성되는 식별 영상들을 나타내는 도면이다.
도 12를 참조하면, 영상 표시 장치(100)는 처리하고자 하는 영상들을 수신할 수 있다. 수신된 영상들은 주로 텍스쳐 표현으로 이루어진 영상과 주로 텍스트나 엣지 표현으로 이루어진 영상으로 분류될 수 있다. 예를 들어, 도 12의 제1 내지 제3 영상들(1210, 1220, 1230)은 주로 텍스쳐 표현을 포함하는 영상들일 수 있으며, 제4 내지 제6 영상들(1240, 1250, 1260)은 주로 텍스트나 엣지 표현을 포함하는 영상들일 수 있다.
영상 표시 장치(100)는 수신한 영상이 주로 텍스쳐 표현을 포함하는 영상인 경우, 분류자의 픽셀 값을 제1 값으로 결정하고, 제1 값을 전체 픽셀 값으로 하는 제1 분류자(C1)를 생성할 수 있다. 이때, 영상 표시 장치(100)에 포함된 딥 뉴럴 네트워크(150)는 텍스쳐 표현 향상을 위한 학습 데이터를 학습시킬 때, 학습 데이터와 함께 제1 분류자(C1)를 입력하여, 학습된 네트워크일 수 있다.
또는, 영상 표시 장치(100)는 수신한 영상이 주로 텍스트나 엣지 표현을 포함하는 영상인 경우, 분류자의 픽셀 값을 제2 값으로 결정하고, 제2 값을 전체 픽셀 값으로 하는 제2 분류자(C2)를 생성할 수 있다. 이때, 영상 표시 장치(100)에 포함된 딥 뉴럴 네트워크(150)는 텍스트나 엣지 표현 향상을 위한 학습 데이터를 학습시킬 때, 학습 데이터와 함께 제2 분류자(C2)를 입력하여, 학습된 네트워크일 수 있다.
도 13은 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면이다.
도 13을 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(150)는, 서로 다른 목적을 가지는 복수의 학습 데이터 세트들에 의해 학습될 수 있다. 예를 들어, 학습 데이터 세트들은, 제1 목적에 따른 영상 처리를 학습시키기 위한 제1 학습 데이터 세트(D1, L1)와 제2 목적에 따른 영상 처리를 학습시키기 위한 제2 학습 데이터 세트(D2, L2)를 포함할 수 있다. 이때, 제1 목적에 따른 영상 처리는, 입력 영상을 고해상도 영상으로 변환 시, 디테일이 향상(텍스쳐 표현 향상)되도록 입력 영상을 처리하는 것일 수 있다. 또한, 제2 목적에 따른 영상 처리는, 입력 영상을 고해상도 영상으로 변환 시, 텍스트나 엣지의 표현이 향상되도록 입력 영상을 처리하는 것일 수 있다. 도 13에서는 2 개의 목적에 따라 학습되는 예를 도시하고 있지만, 이에 한정되지 않는다.
제1 학습 데이터 세트는, 제1 영상 데이터들(D1) 및 제1 레이블 데이터 들(L1)을 포함할 수 있다. 제1 레이블 데이터들(L1)은 제1 영상 데이터들(D1)을 고해상도 영상으로 변환시킨 영상 데이터들로서, 제1 영상 데이터들(D1)을 고해상도 영상으로 변환시킬 때, 텍스쳐 표현을 향상시킨 영상 데이터들일 수 있다.
또한, 제2 학습 데이터 세트는, 제2 영상 데이터들(D2) 및 제2 레이블 데이터들(L2)을 포함할 수 있다. 제2 레이블 데이터들(L2)은 제2 영상 데이터들(D2)을 고해상도 영상으로 변환시킨 영상 데이터들로서, 제2 영상 데이터들(D2)을 고해상도 영상으로 변환시킬 때, 텍스트나 엣지 주변에서 나타나는 계단 현상(jagging) 등을 감소(텍스트나 엣지 표현 향상)시킨 영상 데이터들일 수 있다.
일 실시예에 따른 영상 표시 장치(100)는 딥 뉴럴 네트워크(150)에 제1 영상 데이터들(D1)과 함께 제1 분류자(C1)를 입력할 수 있으며, 제2 영상 데이터들(D2)과 함께 제2 분류자(C2)를 입력할 수 있다. 이때, 제1 분류자(C1)의 픽셀 값 및 제2 분류자(C2)의 픽셀 값은 사용자에 의해 설정될 수 있으며, 제1 분류자(C1) 및 제2 분류자(C2)는 단일 픽셀 값을 가질 수 있다. 또한, 제1 분류자(C1)의 픽셀 값과 제2 분류자(C2)의 픽셀 값은 서로 다른 값을 가진다.
영상 표시 장치(100)는 제1 영상 데이터들(D1) 및 제1 분류자(C1)가 입력되었을 때, 제1 영상 데이터들(D1) 각각에 대응하는 제1 레이블 데이터들(L1)이 출력되도록 딥 뉴럴 네트워크(150)를 학습시킬 수 있다. 예를 들어, 영상 표시 장치(100)는 딥 뉴럴 네트워크(150)에 제1 영상 데이터들(D1) 및 제1 분류자(C1)가 입력되었을 때, 출력되는 영상 데이터들과 제1 레이블 데이터들(L1)의 차이가 작아지도록 딥 뉴럴 네트워크(150)에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다.
또한, 영상 표시 장치(100)는 제2 영상 데이터들(D2) 및 제2 분류자(C2)가 입력되었을 때, 제2 영상 데이터들(D2) 각각에 대응하는 제2 레이블 데이터들(L2)이 출력되도록 딥 뉴럴 네트워크(150)를 학습시킬 수 있다. 예를 들어, 영상 표시 장치(100)는 딥 뉴럴 네트워크(150)에 제2 영상 데이터들(D2) 및 제2 분류자(C2)가 입력되었을 때, 출력되는 영상 데이터들과 제2 레이블 데이터들(L2)의 차이가 작아지도록 딥 뉴럴 네트워크(150)에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다.
도 14는 일 실시예에 따른 복수의 목적에 따른 영상 처리를 수행하는 딥 뉴럴 네트워크를 설명하기 위해 참조되는 도면이다.
도 14를 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(150)는 학습 데이터 세트에 의해 학습될 수 있다. 학습 데이터 세트(1420)는 제1 내지 제n 영상 데이터들과 n개의 영상 데이터들 각각에 대응하는 제1 내지 제n 레이블 데이터들을 포함할 수 있다. 예를 들어, n개의 레이블 데이터들은, n개의 영상 데이터들 각각을 고해상도 영상으로 변환한 영상 데이터로써, n개의 영상 데이터들 각각을 제1 목적(예를 들어, 디테일 향상(텍스쳐 표현의 향상)), 제2 목적(예를 들어, 노이즈 감소) 및 제3 목적(예를 들어, 코딩 아티팩트 감소) 중 적어도 하나에 따라 처리된 영상 데이터들일 수 있다. 다만, 이에 한정되지 않는다.
딥 뉴럴 네트워크(150)는 영상 데이터와 함께 제1 분류자(C1), 제2 분류자(C2) 및 제3 분류자(4개의 채널들)을 입력 받을 수 있다. 이때, 제1 분류자(C1)는 디테일 향상의 정도를 나타내는 영상이며, 제2 분류자(C2)는 노이즈 감소의 정도를 나타내는 영상이며, 제3 분류자(C3)는 코딩 아티팩트 감소의 정도를 나타내는 영상일 수 있다.
예를 들어, 제1 영상 데이터(1410)와 함께 딥 뉴럴 네트워크(150)로 입력되는 제1 분류자(C1), 제2 분류자(C2) 및 제3 분류자(C3)의 픽셀 값은 제1 영상 데이터 및 제1 레이블 데이터에 기초하여 결정될 수 있다. 제1 영상 데이터와 제1 영상 데이터를 고해상도 영상으로 변환한 제1 레이블 데이터를 비교하여, 제1 레이블 데이터에서 나타나는 디테일 향상의 정도에 따라 제1 분류자(C1)의 픽셀 값이 결정되고, 노이즈 감소의 정도에 따라 제2 분류자(C2)의 픽셀 값이 결정되며, 코딩 아티팩트 감소의 정도에 따라 제3 분류자(C3)의 픽셀 값이 결정될 수 있다. 제1 분류자(C1)의 픽셀 값은 디테일 향상의 정도가 클수록 작아질 수 있다.
예를 들어, 제1 영상 데이터와 제1 레이블 데이터를 비교했을 때, 제1 레이블 데이터에서 나타나는 디테일 향상의 정도가, 제2 영상 데이터와 제2 레이블 데이터를 비교했을 때, 제2 레이블 데이터에서 나타나는 디테일 향상의 정도보다 큰 경우, 제1 영상 데이터와 함께 입력되는 제1 분류자(C1)의 픽셀 값이, 제2 영상 데이터와 함께 입력되는 제1 분류자(C1)의 픽셀 값보다 작을 수 있다.
또는, 제2 분류자(C2)의 픽셀 값은 노이즈 감소의 정도가 클수록 작아질 수 있으며, 제3 분류자(C3)의 픽셀 값은 코딩 아티팩트 감소의 정도가 클수록 작아질 수 있다. 다만, 이에 한정하는 것은 아니며, 다양한 방법으로 식별 영상들의 픽셀 값이 결정될 수 있다.
또한, n개의 영상 데이터들 각각과 입력되는 제1 내지 제3 분류자들(C1, C2, C3)은, n개의 레이블 데이터들에서 나타나는, 디테일 향상의 정도, 노이즈 감소의 정도 및 코딩 아티팩트 감소의 정도에 따라 다르게 결정될 수 있다.
또한, 영상 표시 장치(100)는 제1 영상 데이터(1410), 제1 분류자(C1), 제2 분류자(C2) 및 제3 분류자(C3)들이 입력되었을 때, 제1 레이블 데이터가 출력되도록 딥 뉴럴 네트워크(150)를 학습시킬 수 있다. 예를 들어, 영상 표시 장치(100)는 딥 뉴럴 네트워크(150)에 제1 분류자(C1), 제2 분류자(C2) 및 제3 분류자(C3)들이 입력되었을 때, 출력되는 영상 데이터(1430)와 제1 레이블 데이터의 차이가 작아지도록 딥 뉴럴 네트워크(150)에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다.
상기와 같은 방식으로 학습된 딥 뉴럴 네트워크(150)를 이용하여, 입력 영상을 처리하는 경우, 제1 내지 제3 분류자들(C1, C2, C3)의 픽셀 값들을 조정함으로써, 입력 영상의 영상 처리 목적 및 목적에 따른 영상 처리의 레벨을 결정할 수 있다. 예를 들어, 입력 영상의 디테일 향상은 많이, 노이즈 감소 및 코딩 아티팩트 감소는 적게 시키고자 하는 경우, 제1 분류자(C1)의 픽셀 값은 작은 값으로, 제2 분류자(C2) 및 제3 분류자(C3)의 픽셀 값은 큰 값으로 설정할 수 있다. 다만, 이에 한정되지 않는다.
도 15는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키기 위한 학습 데이터 세트를 생성하는 방법을 설명하기 위해 참조되는 도면이다.
도 15를 참조하면, 학습 데이터 세트는 복수의 영상 데이터들(1510, 1520, 1530)와 하나의 레이블 데이터(1540)를 포함할 수 있다. 이때, 복수의 영상 데이터들(1510, 1520, 1530)은 레이블 데이터를 이용하여 생성할 수 있다. 예를 들어, 영상 표시 장치(100)는 레이블 데이터(1540)를 제1 강도로 블러시킨 제1 영상 데이터(1510), 레이블 데이터(1540)를 제1 강도보다 큰 제2 강도로 블러시킨 제2 영상 데이터(1520), 레이블 데이터(1540)를 제2 강도보다 큰 제3 강도로 블러시킨 제3 영상 데이터(1530)를 생성할 수 있다.
영상 표시 장치(100)는 제1 내지 제3 영상 데이터들(1510, 1520, 1530) 각각과 디테일 향상의 정도를 나타내는 분류자를 함께 딥 뉴럴 네트워크(150)에 입력할 수 있다. 이때, 제1 영상 데이터(1510)와 함께 입력되는 제1 분류자(C1)의 픽셀 값은 제1 값으로 설정될 수 있다. 또한, 제2 영상 데이터(1520)와 함께 입력되는 제2 분류자(C2)의 픽셀 값은 제2 값으로 설정될 수 있으며, 제2 값은 제1 값보다 작을 수 있다. 또한, 제3 영상 데이터(1530)와 함께 입력되는 제3 분류자(C3)의 픽셀 값은 제3 값으로 설정될 수 있으며, 제3 값은 제2 값보다 작을 수 있다. 다만, 이에 한정되지 않는다.
영상 표시 장치(100)는 입력된 제1 영상 데이터(1510), 제2 영상 데이터(1520) 및 제3 영상 데이터(1530)들 각각에 대응하여 출력되는 출력 데이터들과 레이블 데이터(1540)와의 차이가 작아지도록 딥 뉴럴 네트워크(150)를 학습시킬 수 있다.
도 15에서는, 디테일 향상에 대한 학습 데이터 세트를 생성하는 방법에 대해서만 설명하였지만, 동일한 방식을 이용하여, 노이즈 감소나 코딩 아티팩트 감소에 대한 학습 데이터 세트도 생성될 수 있다.
도 16은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 16을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 제1 영상 및 영상 처리의 목적을 나타내는 분류자를 획득하고, 딥 뉴럴 네트워크를 이용하여, 제1 영상을 분류자가 나타내는 목적에 따라 처리할 수 있다. 이때, 딥 뉴럴 네트워크는 도 2 내지 도 15에서 도시하고 설명한 딥 뉴럴 네트워크일 수 있다.
또한, 프로세서(120)는 제1 영상에 기초하여, 딥 뉴럴 네트워크로 입력시킬 입력 영상 및 분류자를 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 영상에 포함되는 R, G, B 채널들을 색 공간 변환을 통해, Y, U, V 채널들로 변환하고, Y, U, V 채널들 중 Y 채널에 대한 영상을 입력 영상으로 결정할 수 있다. 프로세서(120)는 제1 영상을 제1 목적에 따라 영상 처리하고자 하는 경우, 분류자의 픽셀 값을 제1 목적에 대응하는 제1 값으로 결정하고, 제1 영상을 제2 목적에 따라 영상 처리하고자 하는 경우, 분류자의 픽셀 값을 제2 목적에 대응하는 제2 값으로 결정할 수 있다. 또한, 프로세서(120)는 제1 영상에서 엣지 및 텍스트를 추출하고, 추출된 엣지 및 텍스트에 기초하여, 분류자를 생성할 수 있다.
딥 뉴럴 네트워크는 N개의 컨볼루션 레이어들을 포함할 수 있으며, 프로세서(120)는 N개의 컨볼루션 레이어들 각각에서, 입력 영상 및 식별 영상에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써, 특징 정보(특징 맵)를 추출하고, 추출된 특징 정보에 기초하여, 제1 영상을 분류자가 나타내는 목적에 따라 처리할 수 있다.
프로세서(130)는 분류자에 포함되는 픽셀들의 값, 제1 목적에 대응하는 제1 값 및 제2 목적에 대응하는 제2 값에 기초하여, 제1 목적에 따른 영상 처리의 레벨 및 제2 목적에 따른 영상 처리의 레벨을 결정하고, 결정된 레벨에 따라, 제1 영상을 처리할 수 있다.
프로세서(130)는 서로 다른 목적을 가지는 복수의 학습 데이터 세트들을 이용하여, 딥 뉴럴 네트워크를 학습시킬 수 있다. 예를 들어, 프로세서(130)는 제1 영상 데이터들, 제1 분류자, 및 제1 영상 데이터들이 제1 목적으로 처리된 제1 레이블 데이터들을 포함하는 제1 학습 데이터 세트 및 제2 영상 데이터들, 제2 분류자 및 제2 영상 데이터들이 제2 목적으로 처리된 제2 레이블 데이터들을 포함하는 제2 학습 데이터 세트를 이용하여, 딥 뉴럴 네트워크를 학습시킬 수 있다.
예를 들어, 프로세서(130)는 딥 뉴럴 네트워크에 제1 영상 데이터들 및 제1 분류자가 입력되었을 때, 출력되는 영상 데이터들과 제1 레이블 데이터들의 차이가 작아지도록 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다. 또한, 프로세서(130)는 딥 뉴럴 네트워크에 제2 영상 데이터들 및 제2 분류자가 입력되었을 때, 출력되는 영상 데이터들과 제2 레이블 데이터들의 차이가 작아지도록 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치를 조절할 수 있다.
도 17은 일 실시예에 따른 프로세서(130)의 블록도이다.
도 17을 참조하면, 일 실시예에 따른 프로세서(130)는 네트워크 학습부(1400) 및 영상 처리부(1500)를 포함할 수 있다.
네트워크 학습부(1400)는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키기 위한 학습 데이터를 획득할 수 있다. 네트워크 학습부(1400)는 서로 다른 목적을 가지는 복수의 학습 데이터 세트들을 획득할 수 있다. 예를 들어, 학습 데이터 세트들은, 제1 목적에 따른 영상 처리를 학습시키기 위한 제1 학습 데이터 세트와 제2 목적에 따른 영상 처리를 학습시키기 위한 제2 학습 데이터 세트를 포함할 수 있다. 이때, 제1 목적에 따른 영상 처리는, 입력 영상을 고해상도 영상으로 변환 시, 디테일이 향상(텍스쳐 표현 향상)되도록 입력 영상을 처리하는 것일 수 있다. 또한, 제2 목적에 따른 영상 처리는, 입력 영상을 고해상도 영상으로 변환 시, 텍스트나 엣지의 표현이 향상되도록 입력 영상을 처리하는 것일 수 있다. 다만, 이에 한정되지 않는다.
또한, 네트워크 학습부(1400)는 딥 뉴럴 네트워크를 학습시키기 위한 학습 데이터를 생성할 수 있다. 예를 들어, 도 15에서 설명한 방법으로, 학습 데이터 세트를 생성할 수 있다.
네트워크 학습부(1400)는 서로 다른 목적을 가지는 복수의 학습 데이터 세트들에 기초하여, 입력 영상을 어떻게 처리할지에 대한 기준을 학습할 수 있다. 또한, 네트워크 학습부(1400)는 입력 영상의 처리를 위하여 어떤 학습 데이터 세트를 이용해야 하는 지에 대한 기준을 학습할 수도 있다. 예를 들어, 네트워크 학습부(1400)는 복수의 학습 데이터 세트들을 이용하여, 도 13 및 도 14에서 설명한 방법으로 딥 뉴럴 네트워크를 학습시킬 수 있다.
네트워크 학습부(1400)는 학습된 네트워크(예를 들어, 딥 뉴럴 네트워크)를 영상 처리 장치의 메모리에 저장할 수 있다. 또는, 영상 처리 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 네트워크가 저장되는 메모리는, 예를 들면, 영상 처리 장치(100)의 적어도 하나의 다른 구성 요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
한편, 네트워크 학습부(1400)는 영상 처리부(1500)에 의해 생성된 고해상도 영상에 기초하여, 딥 뉴럴 네트워크를 학습시킬 수 있다. 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 딥 뉴럴 네트워크를 학습시킬 수 있다.
영상 처리부(1500)는 제1 영상 및 영상 처리의 목적을 나타내는 분류자에 기초하여, 제1 영상을 처리할 수 있다. 예를 들어, 영상 처리부(1500)는 학습된 딥 뉴럴 네트워크를 이용하여, 분류자가 나타내는 목적에 따라 제1 영상을 처리할 수 있다.
네트워크 학습부(1400), 및 영상 처리부(1500) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치에 탑재될 수 있다. 예를 들어, 네트워크 학습부(1400), 및 영상 처리부(1500) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 네트워크 학습부(1400), 및 영상 처리부(1500)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 네트워크 학습부(1400), 및 영상 처리부(1500) 중 일부는 영상 처리 장치(100)에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 네트워크 학습부(1400), 및 영상 처리부(1500) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 네트워크 학습부(1400), 및 영상 처리부(1500) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 18은 일 실시예에 따른 영상 처리부(1500)의 블록도이다.
도 18을 참조하면, 영상 처리부(1500)는 입력 영상 생성부(1510), 분류자 생성부(1520), 딥 뉴럴 네트워크부(1530), 출력 영상 생성부(1540) 및 네트워크 업데이트부(1550)를 포함할 수 있다.
입력 영상 생성부(1510)는, 영상 처리하고자 하는 제1 영상을 수신하고, 제1 영상에 기초하여, 딥 뉴럴 네트워크로 입력될 입력 영상을 생성할 수 있다. 예를 들어, 입력 영상 생성부(1510)는 제1 영상에 포함되는 R, G, B 채널들을 색 공간 변환을 통해, Y, U, V 채널들로 변환하고, Y, U, V 채널들 중 Y 채널에 대한 영상을 입력 영상으로 결정할 수 있다. 또는, 입력 영상 생성부(1510)는 제1 영상에 포함되는 R, G, B 채널들을 입력 영상으로 결정할 수 있다.
분류자 생성부(1520)는, 제1 영상을 제1 목적에 따라 영상 처리하고자 하는 경우, 제1 목적에 대응하는 제1 값을 픽셀 값으로 가지는 제1 분류자를 생성하고, 제1 영상을 제2 목적에 따라 영상 처리하고자 하는 경우, 제2 목적에 대응하는 제2 값을 픽셀 값으로 가지는 제2 분류자를 생성할 수 있다. 분류자 생성부(1520)는 단일 픽셀 값을 가지는 분류자를 생성할 수 있으나, 영역 별로 다른 픽셀 값을 가지는 분류자를 생성할 수도 있다.
분류자 생성부(1520)는 제1 영상에서 엣지 및 텍스트를 추출하고, 추출된 엣지 및 텍스트에 기초하여, 분류자를 생성할 수 있다. 예를 들어, 분류자 생성부(1520)는 제1 영상의 엣지 및 텍스트를 추출하여, 제1 영상의 엣지 및 텍스트를 나타내는 맵 영상을 생성할 수 있다. 이때, 분류자 생성부(1520)는 공지된 다양한 엣지 추출 필터 또는 텍스트 추출 필터를 이용하여, 제1 영상의 엣지 및 텍스트를 추출할 수 있다. 또한, 분류자 생성부(1520)는 엣지 및 텍스트를 나타내는 맵 영상에 스무딩 처리를 수행하여, 분류자를 생성할 수 있다.
일 실시 예에 따른 딥 뉴럴 네트워크(DNN)부(1530)는, 네트워크 학습부(1400)에서 학습된 딥 뉴럴 네트워크를 이용하여, 제1 영상에 대한 영상 처리를 수행할 수 있다. 예를 들어, 입력 영상 생성부(1510)에서 생성된 입력 영상 및 분류자 생성부(1520)에서 생성된 분류자가 딥 뉴럴 네트워크의 입력 데이터로 입력될 수 있다. 일 실시예에 따른 딥 뉴럴 네트워크는 입력 영상 및 분류자에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써 특징 정보를 추출할 수 있다. 딥 뉴럴 네트워크(DNN)부(1530)는, 추출된 특징 정보에 기초하여, 제1 영상을 분류자가 나타내는 목적에 따라 처리할 수 있다.
출력 영상 생성부(1540)는 딥 뉴럴 네트워크에서 출력된 데이터에 기초하여, 최종 영상(제2 영상)을 생성할 수 있다. 예를 들어, 출력 영상 생성부(1540)는 제1 영상의 U채널 및 V 채널에 대한 영상들을 업 스케일링할 수 있으며, 업 스케일링된 영상들과, 딥 뉴럴 네트워크에서 처리되고 출력된 영상(제1 영상의 Y채널에 대한 영상)을 결합(concatenation)하여, 최종 영상을 생성할 수 있다. 이때, 최종 영상은 제1 영상이 분류자가 나타내는 목적에 따라 처리된 영상일 수 있다.
네트워크 업데이트부(1550)는 DNN부(1530)에서 제공되는 출력 영상 또는 출력 영상 생성부(1540)에서 제공되는 최종 영상에 대한 평가에 기초하여, 딥 뉴럴 네트워크가 업데이트되도록 할 수 있다. 예를 들어, 네트워크 업데이트부(1550)는 DNN부(1530) 또는 출력 영상 생성부(1540)에 의해 제공되는 영상 데이터를 네트워크 학습부(1400)에 제공함으로써, 네트워크 학습부(1400)가 딥 뉴럴 네트워크를 업데이트하도록 할 수 있다.
한편, 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치에 탑재될 수 있다. 예를 들어, 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550) 중 일부는 영상 처리 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 입력 영상 생성부(1510), 분류자 생성부(1520), DNN부(1530), 출력 영상 생성부(1540), 및 네트워크 업데이트부(1550) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 도 16 내지 도 18에 도시된 영상 처리 장치(100), 프로세서(120), 및 영상 처리부(1500)의 블록도들은 일 실시예를 위한 블록도들이다. 블록도들의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 고해상도 동영상을 생성하는 영상 처리 장치 및 영상 처리 장치의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (15)

  1. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하고, 딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하며,
    상기 딥 뉴럴 네트워크는 입력 영상들을 서로 다른 목적에 따라 처리하는 네트워크인, 영상 처리 장치.
  2. 제1항에 있어서,
    상기 딥 뉴럴 네트워크는 N개의 컨볼루션 레이어들을 포함하고,
    상기 프로세서는,
    상기 제1 영상에 기초하여, 입력 영상을 생성하고,
    상기 N개의 컨볼루션 레이어들에서, 상기 입력 영상 및 상기 분류자에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써, 특징 정보를 추출하고, 추출된 상기 특징 정보에 기초하여, 제2 영상을 생성하는 영상 처리 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 영상에 포함되는 R, G, B 채널들을 YUV 방식의 Y, U, V 채널들로 변환하고, 상기 Y, U, V 채널들 중 Y 채널에 대한 영상을 상기 입력 영상으로 결정하는, 영상 처리 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 Y 채널에 대한 영상이 상기 딥 뉴럴 네트워크에서 처리되어 출력되는 영상, 상기 Y, U, V 채널들 중 U 채널 및 V 채널에 대한 영상들에 기초하여, 상기 제2 영상을 생성하는 영상 처리 장치.
  5. 제1항에 있어서,
    상기 분류자에 포함되는 픽셀들은 제1 값 및 상기 제1 값보다 큰 제2 값 중 적어도 하나를 가지며, 상기 제1 값은 제1 목적을 나타내고, 상기 제2 값은 제2 목적을 나타내는, 영상 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 분류자에 포함되는 모든 픽셀들이 상기 제1 값을 가지는 경우, 상기 제1 영상을, 상기 제1 목적에 따라 처리하고,
    상기 분류자에 포함되는 모든 픽셀들이 상기 제2 값을 가지는 경우, 상기 제1 영상을 상기 제2 목적에 따라 처리하는, 영상 처리 장치.
  7. 제5항에 있어서,
    상기 분류자에 포함되는 제1 영역의 픽셀들은 상기 제1 값을 가지고, 상기 분류자에 포함되는 제2 영역의 픽셀들은 상기 제2 값을 가지는 경우, 상기 제1 영상 중 상기 제1 영역에 대응하는 제3 영역은 상기 제1 목적에 따라 처리하고, 상기 제1 영상 중 상기 제2 영역에 대응하는 제4 영역은 상기 제2 목적에 따라 처리하는, 영상 처리 장치.
  8. 제5항에 있어서,
    상기 프로세서는,
    상기 분류자에 포함되는 픽셀들의 값, 상기 제1 값 및 상기 제2 값에 기초하여, 결정된 상기 제1 목적에 따른 영상 처리의 레벨 및 상기 제2 목적에 따른 영상 처리의 레벨에 따라, 상기 제1 영상을 처리하는, 영상 처리 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 영상의 특성에 기초하여, 상기 분류자를 생성하는, 영상 처리 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 제1 영상에 포함된 텍스트 및 엣지를 나타내는 맵 영상을 생성하고, 상기 맵 영상에 기초하여, 상기 분류자에 포함되는 픽셀들의 값들을 결정하는, 영상 처리 장치.
  11. 제1항에 있어서,
    상기 딥 뉴럴 네트워크는,
    제1 영상 데이터, 제1 값을 픽셀 값으로 가지는 제1 분류자, 및 상기 제1 영상 데이터가 제1 목적으로 처리된 제1 레이블 데이터를 포함하는 제1 학습 데이터 세트 및 제2 영상 데이터, 제2 값을 픽셀 값으로 가지는 제2 분류자, 및 상기 제2 영상 데이터가 제2 목적으로 처리된 제2 레이블 데이터를 포함하는 제2 학습 데이터 세트에 의해 학습된 네트워크인, 영상 처리 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 딥 뉴럴 네트워크에, 상기 제1 영상 데이터 및 상기 제1 분류자가 입력되었을 때, 출력되는 영상 데이터와 상기 제1 레이블 데이터의 차이가 작아지도록 상기 딥 뉴럴 네트워크에 포함된 하나 이상의 커널들의 가중치 값들을 조정하고,
    상기 딥 뉴럴 네트워크에, 상기 제2 영상 데이터 및 상기 제2 분류자가 입력되었을 때, 출력되는 영상 데이터와 상기 제2 레이블 데이터의 차이가 작아지도록 상기 딥 뉴럴 네트워크에 포함된 상기 하나 이상의 커널들의 가중치 값들을 조정하는, 영상 처리 장치.
  13. 영상 처리 장치의 동작방법에 있어서,
    제1 영상 및 영상 처리의 목적을 나타내는 분류자(classifier)를 획득하는 단계; 및
    딥 뉴럴 네트워크(DNN: Deep neural network)를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하는 단계를 포함하고,
    상기 딥 뉴럴 네트워크는 복수의 영상들을 서로 다른 목적에 따라 처리하는 네트워크인, 영상 처리 장치의 동작방법.
  14. 제13항에 있어서,
    상기 제1 영상 및 분류자를 획득하는 단계는,
    상기 제1 영상에 기초하여, 입력 영상을 생성하는 단계를 포함하고,
    상기 딥 뉴럴 네트워크는 N개의 컨볼루션 레이어들을 포함하고,
    상기 딥 뉴럴 네트워크를 이용하여, 상기 제1 영상을 상기 분류자가 나타내는 목적에 따라 처리하는 단계는,
    상기 N개의 컨볼루션 레이어들에서, 상기 입력 영상 및 상기 분류자에 하나 이상의 커널들을 적용하여, 컨볼루션 연산을 수행함으로써, 특징 정보를 추출하는 단계; 및
    추출된 상기 특징 정보에 기초하여, 제2 영상을 생성하는 단계를 포함하는 영상 처리 장치의 동작방법.
  15. 제14항에 있어서,
    상기 제1 영상에 기초하여, 입력 영상을 생성하는 단계는,
    상기 제1 영상에 포함되는 R, G, B 채널들을 YUV 방식의 Y, U, V 채널들로 변환하는 단계; 및
    상기 Y, U, V 채널들 중 Y 채널에 대한 영상을 상기 입력 영상으로 결정하는 단계를 포함하는 영상 처리 장치의 동작방법.
PCT/KR2019/009400 2018-08-02 2019-07-29 영상 처리 장치 및 그 동작방법 WO2020027519A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19844841.7A EP3809335A4 (en) 2018-08-02 2019-07-29 IMAGE PROCESSING DEVICE AND OPERATING PROCEDURES FOR IT
CN201980051536.7A CN112534443A (zh) 2018-08-02 2019-07-29 图像处理设备及其操作方法
US17/264,656 US11961203B2 (en) 2018-08-02 2019-07-29 Image processing device and operation method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0090432 2018-08-02
KR1020180090432A KR20200015095A (ko) 2018-08-02 2018-08-02 영상 처리 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
WO2020027519A1 true WO2020027519A1 (ko) 2020-02-06

Family

ID=69230837

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/009400 WO2020027519A1 (ko) 2018-08-02 2019-07-29 영상 처리 장치 및 그 동작방법

Country Status (5)

Country Link
US (1) US11961203B2 (ko)
EP (1) EP3809335A4 (ko)
KR (1) KR20200015095A (ko)
CN (1) CN112534443A (ko)
WO (1) WO2020027519A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880770B2 (en) * 2018-08-31 2024-01-23 Intel Corporation 3D object recognition using 3D convolutional neural network with depth based multi-scale filters
CN110188765B (zh) * 2019-06-05 2021-04-06 京东方科技集团股份有限公司 图像语义分割模型生成方法、装置、设备及存储介质
KR102315427B1 (ko) * 2020-05-14 2021-10-20 아주대학교산학협력단 딥러닝 학습을 위한 데이터 처리 방법 및 그 장치
WO2021230624A1 (ko) * 2020-05-15 2021-11-18 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
US11418737B2 (en) 2020-09-17 2022-08-16 Samsung Electronics Co., Ltd. Image signal processor and electronic device and electronic system including the same
WO2023219277A1 (ko) * 2022-05-09 2023-11-16 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231245A (ja) * 1993-02-02 1994-08-19 Sony Corp 画像処理フィルタの構成方法
KR20160003020A (ko) * 2013-09-17 2016-01-08 아셀산 엘렉트로닉 사나이 베 티카렛 아노님 시르케티 다목적 이미지 프로세싱 코어
KR20160096460A (ko) * 2015-02-05 2016-08-16 삼성전자주식회사 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법
KR20180051367A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디바이스가 이미지를 보정하는 방법 및 그 디바이스

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training
WO2018053340A1 (en) 2016-09-15 2018-03-22 Twitter, Inc. Super resolution using a generative adversarial network
WO2018088794A2 (ko) 2016-11-08 2018-05-17 삼성전자 주식회사 디바이스가 이미지를 보정하는 방법 및 그 디바이스
DE112017006136T5 (de) * 2016-12-05 2019-08-22 Avigilon Corporation System und Verfahren zur CNN-Schichtenteilung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231245A (ja) * 1993-02-02 1994-08-19 Sony Corp 画像処理フィルタの構成方法
KR20160003020A (ko) * 2013-09-17 2016-01-08 아셀산 엘렉트로닉 사나이 베 티카렛 아노님 시르케티 다목적 이미지 프로세싱 코어
KR20160096460A (ko) * 2015-02-05 2016-08-16 삼성전자주식회사 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법
KR20180051367A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디바이스가 이미지를 보정하는 방법 및 그 디바이스

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONG SEOP KIM: "Convolutional Neural Network-Based Shadow Detection in Images Using Visible Light Camera Sensor", SENSORS OPEN ACCESS ARTICLE, 23 March 2018 (2018-03-23), pages 960-1 - 960-19, XP055682433, Retrieved from the Internet <URL:https://www.mdpi.com/1424-8220/18/4/960> [retrieved on 20191014], DOI: 10.3390/s18040960 *
See also references of EP3809335A4 *

Also Published As

Publication number Publication date
US20210334578A1 (en) 2021-10-28
KR20200015095A (ko) 2020-02-12
CN112534443A (zh) 2021-03-19
US11961203B2 (en) 2024-04-16
EP3809335A1 (en) 2021-04-21
EP3809335A4 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
WO2020027519A1 (ko) 영상 처리 장치 및 그 동작방법
WO2016133293A1 (ko) 메타데이터 기반 영상 처리 방법 및 장치
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2017030311A1 (ko) 이미지 변환을 수행하는 전자 장치 및 이의 방법
WO2020017871A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020235860A1 (en) Image processing apparatus and image processing method thereof
WO2020222382A1 (en) Electronic apparatus and image processing method thereof
WO2020116768A1 (ko) 영상 처리 장치 및 그 동작방법
WO2016076497A1 (ko) 메타 데이터에 기초하여 영상을 디스플레이하는 방법 및 디바이스, 그에 따른 기록매체
WO2020197018A1 (en) Image processing apparatus and image processing method thereof
WO2019182269A1 (ko) 전자 장치, 전자 장치의 이미지 처리 방법 및 컴퓨터 판독 가능 매체
WO2021006482A1 (en) Apparatus and method for generating image
WO2021040347A1 (ko) 컴퓨팅 장치 및 그 동작 방법
WO2020055181A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020159185A1 (en) Electronic device and control method thereof
WO2021075758A1 (en) Electronic apparatus and controlling method thereof
WO2022019390A1 (ko) 데이터 증강 기반 사물 분석 모델 학습 장치 및 방법
WO2020122389A1 (ko) 영상 처리 장치 및 그 동작방법
WO2019231068A1 (en) Electronic device and control method thereof
WO2021029719A1 (ko) 영상을 변환하는 컴퓨팅 장치 및 그 동작 방법
WO2020204287A1 (en) Display apparatus and image processing method thereof
WO2022050558A1 (ko) 전자 장치 및 그 제어 방법
WO2020231243A1 (en) Electronic device and method of controlling thereof
WO2023033360A1 (ko) 영상 처리 장치 및 그 동작 방법
WO2023211000A1 (ko) 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19844841

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019844841

Country of ref document: EP

Effective date: 20210115

NENP Non-entry into the national phase

Ref country code: DE