WO2023211000A1 - 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체 - Google Patents

컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체 Download PDF

Info

Publication number
WO2023211000A1
WO2023211000A1 PCT/KR2023/004681 KR2023004681W WO2023211000A1 WO 2023211000 A1 WO2023211000 A1 WO 2023211000A1 KR 2023004681 W KR2023004681 W KR 2023004681W WO 2023211000 A1 WO2023211000 A1 WO 2023211000A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
images
upscaled
map
color
Prior art date
Application number
PCT/KR2023/004681
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
Priority claimed from KR1020220130916A external-priority patent/KR20230153223A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2023211000A1 publication Critical patent/WO2023211000A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • 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

Definitions

  • This disclosure relates to an image processing method and electronic device that reduce the color difference between an input image and an output image using a convolutional neural network.
  • artificial intelligence With the development of computer technology, artificial intelligence has become an important trend leading future innovation. Because artificial intelligence imitates human thinking, it can be applied virtually to all industries. Representative technologies of artificial intelligence include pattern recognition, machine learning, expert systems, neural networks, and natural language processing.
  • a neural network models the characteristics of human biological nerve cells using mathematical expressions and uses an algorithm that imitates the learning ability of humans. Through this algorithm, the neural network can create a mapping between input data and output data, and the ability to create this mapping can be expressed as the learning ability of the neural network. Additionally, a neural network has a generalization ability to generate correct output data for input data that has not been used, based on learned results.
  • a deep neural network e.g., a deep convolution neural network (CNN)
  • CNN deep convolution neural network
  • an image processing method can generate an upscaled image by upscaling the input image.
  • the method inputs the upscaled image into a convolutional neural network, performs a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network, and generates a first feature map, And a second feature map may be obtained.
  • a gain map can be obtained by inputting the first feature map into a first convolutional layer.
  • an offset map can be obtained by inputting the second feature map into a second convolutional layer. It may include generating an output image based on the upscaled image, the gain map, and the offset map.
  • the convolutional neural network can be trained to reduce the color difference between the input image and the output image using the convolutional neural network.
  • an electronic device for image processing may include a memory that stores one or more instructions and a processor that executes the one or more instructions stored in the memory.
  • the at least one processor may upscale an input image and generate an upscaled image. By inputting the upscaled image into a convolutional neural network and performing a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network, a first feature map and a second feature are generated. You can obtain a map.
  • the at least one processor may obtain a gain map by inputting the first feature map into a first convolutional layer.
  • the at least one processor may obtain an offset map by inputting the second feature map to a second convolution layer.
  • the at least one processor may generate an output image based on the upscaled image, the gain map, and the offset map.
  • the convolutional neural network can be trained to reduce the color difference between the input image and the output image using the convolutional neural network.
  • a computer-readable recording medium recording a program for executing the method on a computer
  • the recording medium may be provided to be readable by a computer so that the computer executes the step of upscaling the input image and generating an upscaled image.
  • the recording medium inputs the upscaled image into a convolutional neural network, performs a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network, and generates a first feature map.
  • the step of acquiring the second feature map may be provided in a computer-readable form for executing the step on the computer.
  • the recording medium may be provided to be readable by a computer in order to execute the step of obtaining a gain map by inputting the first feature map into a first convolutional layer.
  • the recording medium may be provided to be read by a computer so that the computer can execute the step of inputting the second feature map into a second convolutional layer to obtain an offset map.
  • the recording medium may be provided to be read by a computer so that the computer can execute the step of generating an output image based on the upscaled image, the gain map, and the offset map.
  • the convolutional neural network can be trained to reduce the color difference between the input image and the output image using the convolutional neural network.
  • FIG. 1 is a diagram illustrating an operation of an electronic device processing an image using an image processing network, according to an embodiment.
  • Figure 2 is a diagram showing the results of scaling a gray scale image using an AI scaler and a color correction AI scaler, according to an embodiment.
  • Figure 3 is a diagram showing the results of scaling an image with an RGB color space using an AI scaler and a color correction AI scaler, according to an embodiment.
  • Figure 4 is a diagram showing the results of scaling using an AI scaler, according to one embodiment.
  • Figure 5 is a diagram showing the results of scaling using a color correction AI scaler, according to an embodiment.
  • FIG. 6 is a diagram referenced to explain a convolution operation performed in a convolution neural network or a convolution layer, according to an embodiment.
  • FIG. 7 is a diagram illustrating a model of a color correction AI scaler that inputs an image having an RGB color space, according to an embodiment.
  • FIG. 8 is a diagram illustrating a model of a color correction AI scaler that inputs an image having the YCoCg color space, according to an embodiment.
  • Figure 9 is a diagram showing a location where a color correction AI scaler model can be applied within the image quality pipeline, according to one embodiment.
  • FIG. 10 is a diagram illustrating an image processing method for color correction according to an embodiment.
  • Figure 11 is a block diagram showing the configuration of an electronic device, according to an embodiment.
  • Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions.
  • the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for certain functions.
  • functional blocks of the present disclosure may be implemented in various programming or scripting languages.
  • Functional blocks may be implemented as algorithms running on one or more processors.
  • the present disclosure may employ conventional technologies for electronic environment setup, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations.
  • connection lines or connection members between components shown in the drawings merely exemplify functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various replaceable or additional functional connections, physical connections, or circuit connections.
  • unit used in the specification refers to a hardware component such as software, FPGA, or ASIC, and the “unit” performs certain roles.
  • “wealth” is not limited to software or hardware.
  • the “copy” may be configured to reside on an addressable storage medium and may be configured to run on one or more processors.
  • part refers to software components, such as object-oriented software components, class components, and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
  • object-oriented software components such as object-oriented software components, class components, and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
  • the functionality provided within the components and “parts” may be combined into smaller numbers of components and “parts” or may be further separated into additional components and “parts”.
  • Hue may refer to a color in the HSV color space, which expresses color using the coordinates of Hue, Saturation, and Value.
  • “Hue Correction” may be an operation to reduce the color (Hue) difference between an arbitrary image and an output image in the process of processing an arbitrary image to generate an output image.
  • a color correction AI (Artificial Intelligence) scaler may refer to an image processing network including a structure for color correction.
  • a “Feature Map” is a result obtained by inputting a random image into a convolution neural network and performing a convolution operation between the random image and one or more kernels. It can mean.
  • the first feature map may be a part of the output obtained by inputting an upscaled image into a convolutional neural network and performing a convolution operation with one or more kernels
  • the second feature map may be a portion of the output obtained by performing a convolution operation with one or more kernels. It may be the remaining part excluding the first feature map from the output obtained by inputting to a convolutional neural network and performing a convolution operation with one or more kernels.
  • the one or more kernels used to output the first feature map and the one or more kernels used to output the second feature map may be different.
  • Gain Map may refer to a result obtained by performing a convolution operation between the first feature map and one or more kernels of the first convolution layer. Additionally, the gain map can perform a multiplication operation for each element with an arbitrary map.
  • offset map may refer to a result obtained by performing a convolution operation between the second feature map and one or more kernels of the second convolution layer. Additionally, the offset map can perform an addition operation for each element with an arbitrary map.
  • “middle map” may refer to a result obtained by performing an element-by-element multiplication operation between a gain map and an arbitrary map.
  • the intermediate map may be a map created in the process of computation performed to generate an output image.
  • the intermediate map may refer to the result of performing an element-by-element multiplication operation with a plurality of individual color channels of the gain map and the upscaled image, or an element-by-element multiplication operation with a plurality of individual color channels of the gain map and the upscaled image. It can also mean the value obtained by dividing the normalization constant by the individual elements.
  • FIG. 1 is a diagram illustrating an operation of an electronic device processing an image using an image processing network, according to an embodiment.
  • an electronic device 100 (hereinafter referred to as an electronic device) that processes images may process images using an image processing network.
  • the image processing network may be a Hue Correcting Artificial Intelligence Scaler.
  • the image processing network 130 may receive an input image 110 and process the input image 110 to generate an output image 120.
  • the input image may be an image having an RGB color space or an image having a YCoCg color space.
  • the electronic device 100 may upscale the input image 110 using the image processing network 130 to generate an upscaled image. Additionally, the brightness (value) and saturation (value) of individual pixels of the upscaled image can be changed, and the degree of change in brightness and/or saturation of the pixel can be determined using AI.
  • the image processing network 130 may process the input image 110 or the upscaled image to obtain or generate a color-corrected output image 120 so that color differences from the input image or the upscaled image are reduced. Meanwhile, in this specification, for convenience of explanation, the scaled image is explained by taking the upscaled image as an example, but it is not limited to the upscaled image.
  • image processing performed in the image processing network 130 will be described in detail with reference to the drawings below.
  • an output image with reduced color difference from the input image can be obtained or generated without using a large number of samples or a complex neural network.
  • Figure 2 is a diagram showing the results of scaling a gray scale image using an AI scaler and a color correction AI scaler, according to an embodiment.
  • a gray scale image may be an image in which the R (Red) channel, G (Green) channel, and B (Blue) channel, which are color channels of an image having an RGB color space, all have the same value. there is.
  • the input image may be a gray scale image.
  • Input the input image to the existing AI upscaler (Artificial Intelligence Upscaler) and look at the obtained output image.
  • the output image obtained or generated by inputting the gray scale image to the color correction AI scaler is compared with the output image generated from the conventional AI upscaler.
  • the electronic device 100 may acquire a gray scale image as an input image using a conventional AI upscaler (Artificial Intelligence Upscaler). After the electronic device 100 performs upscaling through the Nearest Neighbor or Bilinear upscaler, the electronic device 100 inputs the upscaled image 210 into a convolutional neural network to generate an AI upscale image ( 220) can be generated as an output image. Meanwhile, the upscaler that performs upscaling is not limited to the upscaler described above.
  • the upscaled image 210 is upscaled by increasing the size using surrounding pixels, and the upscaled image 210 is used in the RGB color space.
  • the value of each color channel may have the same value.
  • one pixel 212 inside the upscaled image 210 has a value of 159 for all R, G, and B channels.
  • the color of pixels in individual situations is reflected in detail in the AI upscale image 220 through algorithms and CNN learning. It can be.
  • the AI upscale image 220 which is an output image obtained by inputting the upscaled image 210, which is a grayscale image, into a convolutional neural network, is color processed independently for each color channel, so the input image or the upscaled image 220 is
  • the colors of the scaled image 210 may be distorted in the AI upscale image 220. That is, the values of the R, G, and B channels, which are individual color channels of the RGB color space of the AI upscale image 220, may be different from each other.
  • one pixel 212 within the upscaled image 210 has a value of 159 for all R, G, and B channels. That is, the R, G, and B channels all had the same value.
  • one pixel 222 within the AI upscale image 220 has a value of 172 for the R channel, 173 for the G channel, and 169 for the B channel. That is, unlike the input image or upscaled image 210, which is a grayscale image, the AI upscaled image 220 is output as a non-grayscale image.
  • the color correction AI scaler can receive gray scale images as input.
  • Color correction AI scalers may include Nearest neighbor, or Bilinear upscalers.
  • the electronic device 100 may generate the upscaled image 210 by performing upscaling through a nearest neighbor or bilinear upscaler. Additionally, color correction may be performed on the upscaled image 210 to generate an output image.
  • the output image can be called a color-corrected AI upscale image (230).
  • the color difference between the color corrected AI upscale image 230 and the upscaled image 210 may be smaller than the color difference between the AI upscale image 220 and the upscaled image 210.
  • the pixel color in individual situations is changed through algorithm and CNN learning. It can be reflected in detail in the corrected AI upscale image (230).
  • a color corrected AI upscale image 230 which is a gray scale image, can be generated as an output image. That is, the color channel values of the RGB color space of the generated color corrected AI upscale image 230 may all be the same.
  • one pixel 232 within the color corrected AI upscale image 230 has a value of 124 for all R, G, and B channels.
  • the above example is explained using an image having an RGB color space as an example, but can be equally applied to a YCoCg image.
  • distortion of the color of the output image from the color of the input image can be reduced or minimized and an output image with color quality maintained can be generated.
  • Figure 3 is a diagram showing the results of scaling an image with an RGB color space using an individual scaler, according to an embodiment.
  • RGB image in an image with an RGB color space (hereinafter referred to as an RGB image), the values of two color channels among the R (Red) channel, G (Green) channel, and B (Blue) channel, which are color channels of the RGB image, can have the same value.
  • the input image may be an image in which two color channels among the color channels of the RGB image have the same value (hereinafter, an RGB image with the same two color channels).
  • the R channel and G channel may have the same value
  • the B channel may have a different value.
  • the R channel and B channel may have the same value and the G channel may have different values
  • the B channel and G channel may have the same value and the R channel may have different values.
  • a conventional AI upscaler can receive the same RGB image in two color channels as an input image. After performing upscaling through the Nearest Neighbor or Bilinear upscaler, the upscaled image 310 can be input to the convolutional neural network to generate the AI upscale image 320 as the output image. Meanwhile, the upscaler that performs upscaling is not limited to the upscaler described above.
  • the upscaled image 310 is upscaled by increasing the size using surrounding pixels, and has the same value in the input image.
  • the two color channels have the same value in the upscaled image 310.
  • one pixel 312 within the upscaled image 310 has the same G channel and B channel values of 96, and the R channel has a different value from the other channels, such as 255.
  • the color of pixels in individual situations is reflected in detail in the AI upscale image 320 through algorithms and CNN learning. It can be.
  • the two color channels identified as having the same value in the AI upscale image 320 may have different values.
  • one pixel 312 inside the upscaled image 310 has the same value of 96 for the G channel and B channel, and the value of the R channel is 255, which is different from the G channel and B channel. It can have a value.
  • the R channel of one pixel 322 within the AI upscale image 320 at a position corresponding to one pixel 312 within the upscaled image 310 is 223, the G channel is 61, and the B channel is 223. It can have a value of 68. That is, the upscaled image 310 is an RGB image with the same two color channels, and the values of the G channel and B channel may be the same, but in the AI upscaled image 320, the G channel and B channel have different values. You can have it. In other words, it can be confirmed that the AI upscale image 320 is output with distorted colors from the input image.
  • the color correction AI scaler can receive the same RGB image in two color channels as an input image.
  • Color correction AI scalers may include Nearest neighbor, or Bilinear upscalers. You can generate an output image by performing upscaling using a Nearest neighbor or Bilinear upscaler.
  • the generated output image can be referred to as a color corrected AI upscale image 330, and the color corrected AI upscale image 330 has a color difference between the AI upscale image 320 and the upscaled image 310. It may have a value less than the color difference from the upscaled image 310.
  • the pixel color in individual situations is changed through algorithm and CNN learning. It can be reflected in detail through a correction AI upscaler.
  • the two color channels identified as having the same value in the color correction AI upscale image 330 are used in the color correction AI upscaler.
  • the image 330 may also have the same values.
  • the value identifying two color channels as the same in the input image and the value identifying the two color channels as being the same in the output image may be the same or different.
  • one pixel 332 within the color corrected AI upscale image 330 has the same value of the G channel, and the B channel is 63, and the R channel has the same value of 254. It may have a different value from the channel.
  • One pixel 312 inside the upscaled image 310 has a value of 96 for the G and B channels, and a value of 255 for the R channel.
  • the G and B channels, which had the same value of 96 at one pixel 312 within the upscaled image 310, are the colors at the position corresponding to one pixel 312 within the upscaled image 310. It can be seen that in one pixel 332 within the corrected AI upscale image 330, the G and B channels each have the same value of 63. In other words, it can be seen that the color quality of the upscaled image 310 is maintained even after it passes through the network of the color correction AI upscaler.
  • maintaining color quality may not mean that the color channel values are the same, but may mean that the color channel values are maintained linearly and satisfy the following equation.
  • the identification value of the G channel and B channel having the same value in one pixel 312 within the upscaled image 310 is 96, and one pixel within the color corrected AI upscale image 330 ( 332), the identification value of the G channel and B channel having the same value is 63.
  • the value of the color channel is maintained linearly and satisfies the above equation, it can be said that the color quality is maintained.
  • the above example is explained using an image having an RGB color space as an example, but can be equally applied to a YCoCg image.
  • distortion of the color of the output image from the color of the input image can be reduced or minimized, and an output image with color quality maintained can be generated.
  • Figure 4 is a diagram showing the results of scaling through an AI scaler, according to one embodiment.
  • a black text image can be viewed like a grayscale image. Therefore, the color channels of an image with an RGB color space, such as the R (Red) channel, G (Green) channel, and B (Blue) channel, may all have the same value.
  • a conventional AI upscaler can generate an AI upscale image 410 by using a black text image as an input image and upscaling the input image.
  • the color of the pixel group 420 is distorted or changed from the color of the input image.
  • the enlarged pixel group 422 that enlarges the pixel group 420 the higher the value of the R, G, and B channels of the input image (closer to white), the color of the pixel group 420 is distorted or changed to yellow.
  • the color of the pixel group 420 is distorted or changed to blue.
  • Figure 5 is a diagram showing the results of scaling through a color-preserving AI scaler (Hue Preserving AI Scaler), according to one embodiment.
  • the color correction AI upscaler may use a black text image as an input image and upscale the input image to generate a color correction AI upscale image 510.
  • the color of the pixel group 520 is not distorted or changed from the color of the input image.
  • a color-corrected image can be obtained or generated by reducing the distortion or change in color of the output image from the color of the input image through a color correction AI scaler. . Accordingly, it can be confirmed that the phenomenon in which the color of the pixel group 420 is distorted or changed to yellow or blue, which occurred in the AI upscale image 410, does not occur in the color corrected AI upscale image 510. That is, it can be confirmed that the values of the R, G, and B channels all have the same value.
  • FIG. 6 is a diagram referenced to explain a convolution operation performed in a convolution neural network or a convolution layer, according to an embodiment.
  • this is a diagram referenced to explain the process of generating an output image through a convolution operation between an upscaled image 610 obtained by upscaling an input image and a kernel 620.
  • the upscaled image 610 has a size of 5
  • the kernel applied to the upscaled image 610 has a size of 3 x 3 and the number of channels is 1.
  • a convolution operation may be performed by applying a kernel from the upper left to the lower right of the upscaled image 610. By multiplying and adding the pixel values included in the upper left 3 can do.
  • the pixel values included in the upscaled image 610 and the 3 By multiplying and summing the values, one pixel value 632 mapped to a 3 x 3 area 612 can be generated.
  • the parameter values included in the kernel 620 and the upscaled image 610 By multiplying and adding the pixel values of , the pixel values of the feature map 630 can be generated.
  • data that is the target of a convolution operation may be sampled while moving by one pixel, or may be sampled while moving by the number of pixels of two or more.
  • the size of the interval between sampled pixels during the sampling process is called a stride, and the size of the output feature map 630 may be determined according to the size of the stride.
  • padding may be performed to make the size of the feature map 630 the same as that of the upscaled image 610.
  • padding is applied to the edges of the upscaled image 610 by giving a specific value (for example, '0') to the upscaled image 610. This means increasing the size of .
  • the size of the feature map 630 may be the same as the size of the upscaled image 610. However, it is not limited to this.
  • the convolution operation result (e.g., feature map 630) for the kernel 620 is shown, but when the convolution operation is performed on a plurality of kernels, a convolution operation including a plurality of channel images Feature maps may be output. That is, the number of channels of the feature map 530 may be determined according to the number of kernels included in the kernel group.
  • a convolutional neural network may include one or more deconvolution layers.
  • a deconvolution operation of one or more images (or feature maps) input to the convolution layer and a kernel may be performed, and one or more images are generated as a result of the convolution operation. (or feature maps) may be output. Additionally, one or more feature maps output from the current convolution layer may be input to the next convolution layer.
  • FIG. 7 is a diagram illustrating a model of a color correction AI scaler for an image having an RGB color space, according to an embodiment.
  • input image 710 is input to a color correction AI scaler.
  • the input image may be an RGB image.
  • the size of the input image can be expressed as W
  • the number 3 refers to the number of color channels.
  • an upscaled image 720 may be generated by upscaling the input image.
  • the input image can be upscaled by K times, and the size of the upscaled image 720 can be expressed as KW
  • upscaling may refer to a technique of increasing resolution by inserting new pixels between pixels of an image.
  • the input image 710 may be upscaled using an upscaling algorithm to generate the upscaled image 720.
  • the upscaling algorithm may include, but is not limited to, at least one of Nearest neighbor, Bilinear, Bicubic, Lanczos, or spline algorithms. .
  • the upscaled image 720 is input to the convolutional neural network 730, and convolution is performed between the upscaled image 720 and one or more kernels included in the convolutional neural network 730. Calculations can be performed. Through Figure 6, you can refer to how the convolution operation is performed.
  • the convolutional neural network 730 may include a plurality of convolutional layers and a plurality of activation layers, and the activation layer may be located after the convolutional layer.
  • an activation function operation may be performed in the activation layer by applying an activation function to values input to the activation layer.
  • Activation function operation gives non-linear characteristics to feature information, and activation functions include sigmoid function, Tanh function, ReLU (Rectified Linear Unit) function, leaky ReLu function, etc. It can be done, but it is not limited to this.
  • a feature map may be obtained by passing one or more convolutional layers and one or more activation layers included in the convolutional neural network 730. There may be more than one feature map.
  • the upscaled image 720 can be input to the convolutional neural network 730 to obtain a first feature map 734 and a second feature map 732.
  • the first feature map 734 may be a part of the output obtained by inputting the upscaled image 720 into the convolutional neural network 730 and performing a convolution operation with one or more kernels, and the second feature
  • the map 732 inputs the upscaled image 720 into the convolutional neural network 730 and performs a convolution operation with one or more kernels, excluding the first feature map 734 from the output. It may be part of it.
  • the one or more kernels used to output the first feature map 734 and the one or more kernels used to output the second feature map 732 may be different.
  • the first feature map 734 may be input to the first convolutional layer 740 and the second feature map 732 may be input to the second convolutional layer 740.
  • Input the first feature map into the first convolution layer 750 perform a convolution operation with one or more kernels included in the first convolution layer 750, and obtain a gain map (Gain Map, 752). can do.
  • the second feature map 732 is input to the second convolution layer 740, and a convolution operation is performed with one or more kernels included in the second convolution layer 740 to create an offset map (Gain Map). , 742) can be obtained.
  • the size of the gain map 752 can be expressed as KW
  • the output image 780 may be obtained based on the upscaled image 720, the gain map 752, and the offset map 742.
  • the intermediate map 762 may be obtained by performing a multiplication operation based on the plurality of color channels, the gain map 752, and the normalization constant of the upscaled image 720.
  • an element-by-element multiplication operation may be performed on each of the plurality of individual color channels of the upscaled image 720 and the gain map 752.
  • the element-by-element multiplication operation may, for example, perform multiplication between the R channel of the upscaled image 720 and values at the same location of the gain map 752, and the G channel of the upscaled image 720. Multiplication can be performed between the values at the same position in the gain map 752 and the B channel of the upscaled image 720 and the values at the same position in the gain map 752. Additionally, the multiplication operation for each element can be performed through the multiplication layer 760 for each element.
  • an arbitrary scalar number d may be used to normalize each element while performing an element-wise multiplication operation.
  • An element-wise multiplication operation is performed on each of the plurality of individual color channels of the upscaled image 720 and the gain map 752 through the element-wise multiplication layer 760, and each element is multiplied by the normalization constant 1/d, that is, The intermediate map 762 can be obtained by dividing d.
  • an element-wise multiplication operation is performed on the R channel of the upscaled image 720 and the gain map 752, and each element is multiplied by a normalization constant 1/d, that is, d is divided.
  • the same operation can be performed for the G channel and B channel of the upscaled image 720. Additionally, by performing the above operation, the intermediate map 762 can be obtained.
  • the output image 780 may be obtained based on each of a plurality of individual color channels of the upscaled image 720 and the intermediate map 762. In one embodiment, the output image 780 may be obtained based on each of the plurality of individual color channels of the upscaled image 720, the intermediate map 762, and the offset map 742.
  • output image 780 is generated based on performing an addition operation on each of the plurality of individual color channels of the upscaled image 720, the intermediate map 762, and the offset map 742. can do.
  • an element-by-element addition operation may be performed on each of the plurality of color channels, the intermediate map 762, and the offset map 742 of the upscaled image 720.
  • the addition operation for each element may be performed between values at the same location in the R channel, intermediate map 762, and offset map 742 of the upscaled image 720.
  • the same operation can be performed on the G and B channels of the upscaled image 720.
  • the addition operation for each element can be performed through the addition layer 770 for each element.
  • the individual channels, intermediate map 762, and offset map 742 of the upscaled image 720 are input to the element-wise addition layer 770, and an element-wise addition operation is performed to produce the output image ( 780) can be created.
  • the size of the output image 780 can be expressed as KH
  • the operation of the color correction AI scaler is expressed mathematically as follows.
  • the input image 710 is , output video (780) , gain map (752) , offset map 742 If upscaling is expressed as Resize, the performance of the color correction AI scaler in the RGB color space can be expressed as follows.
  • d means a constant for normalization.
  • FIG. 7 is a block diagram for one embodiment.
  • Each component of the block diagram may be integrated, added, or omitted depending on the specifications of the electronic device 100 that is actually implemented. That is, as needed, two or more components may be combined into one component, or one component may be subdivided into two or more components.
  • the functions performed by each block are for explaining the embodiments, and the specific operations or devices do not limit the scope of the present invention.
  • FIG. 8 is a diagram illustrating a model of a color correction AI scaler for an image having the YCoCg color space, according to an embodiment.
  • RGB images express images with 8 bits of data
  • YCoCg images express images with 9-10 bits of data. Therefore, in expressing images, since YCoCg images use a greater number of bits, detailed image quality processing may be possible. Additionally, when a YCoCg image is input to a color correction AI scaler model, color correction performance that reduces color difference or distortion from the input image can be improved compared to when an RGB image is input.
  • input image 810 is input to a color correction AI scaler.
  • the input image may be a YCoCg image.
  • the size of the input image can be expressed as W
  • the number 3 refers to the number of color channels.
  • an upscaled image 820 may be generated by upscaling the input image.
  • the input image can be upscaled by K times, and the size of the upscaled image 820 can be expressed as KW
  • the input image 810 may be upscaled using an upscaling algorithm to generate the upscaled image 820.
  • the upscaling algorithm may include, but is not limited to, at least one of Nearest neighbor, Bilinear, Bicubic, Lanczos, or spline algorithms. .
  • the upscaled image 820 is input to the convolutional neural network 830, and convolution is performed between the upscaled image 820 and one or more kernels included in the convolutional neural network 830. Calculations can be performed. Through Figure 6, you can refer to how the convolution operation is performed.
  • the convolutional neural network 830 may include a plurality of convolutional layers and a plurality of activation layers, and the activation layer may be located after the convolutional layer.
  • an activation function operation may be performed in the activation layer by applying an activation function to values input to the activation layer.
  • Activation function operation gives non-linear characteristics to feature information, and activation functions include sigmoid function, Tanh function, ReLU (Rectified Linear Unit) function, leaky ReLu function, etc. It can be done, but it is not limited to this.
  • a feature map may be obtained by passing one or more convolutional layers and one or more activation layers included in the convolutional neural network 830. There may be more than one feature map.
  • a first feature map 834 and a second feature map 832 can be obtained.
  • the first feature map 834 may be a part of the output obtained by inputting the upscaled image 820 into the convolutional neural network 830 and performing a convolution operation with one or more kernels, and the second feature
  • the map 832 inputs the upscaled image 820 into the convolutional neural network 830, performs a convolution operation with one or more kernels, and excludes the first feature map 834 from the output. It may be part of it.
  • the one or more kernels used to output the first feature map 834 and the one or more kernels used to output the second feature map 832 may be different.
  • the electronic device 100 may input the first feature map 834 into the first convolutional layer 850. Additionally, the electronic device 100 may input the second feature map 832 into the second convolution layer 840. The electronic device 100 inputs the first feature map 834 into the first convolution layer 850 and performs a convolution operation with one or more kernels included in the first convolution layer 850 to obtain a gain. You can obtain the map (Gain Map, 852). Additionally, the electronic device 100 inputs the second feature map 832 into the second convolution layer 840 and performs a convolution operation with one or more kernels included in the second convolution layer 840. Thus, an offset map (Gain Map, 842) can be obtained.
  • the size of the gain map 852 can be expressed as KW
  • the electronic device 100 may obtain the output image 880 based on the upscaled image 820, the gain map 852, and the offset map 842.
  • the electronic device 100 may obtain the intermediate map 862 by performing a multiplication operation based on the plurality of color channels, the gain map 852, and the normalization constant of the upscaled image 820. there is.
  • the electronic device 100 may perform an element-by-element multiplication operation on each of a plurality of individual color channels of the upscaled image 820 and the gain map 852.
  • the element-by-element multiplication operation may be an operation that performs multiplication between the Y channel of the upscaled image 820 and values at the same location of the gain map 852, and the Co channel or Cg of the upscaled image 820. This may be an operation that multiplies values at the same location in the channel and gain map 852.
  • the multiplication operation for each element can be performed through the multiplication layer 860 for each element.
  • the electronic device 100 may use d, which is an arbitrary scalar number, to normalize each element while performing a multiplication operation.
  • the electronic device 100 performs an element-wise multiplication operation on each of the plurality of individual color channels of the upscaled image 820 and the gain map 852 through the element-wise multiplication layer 860, and uses a normalization constant of 1 for each element.
  • the intermediate map 862 can be output by multiplying /d, that is, dividing d.
  • an element-wise multiplication operation may be performed on the Y channel of the upscaled image 820 and the gain map 852, and each element may be multiplied by the normalization constant 1/d.
  • the same operation can be performed for the Co channel and Cg channel of the upscaled image 820. Additionally, by performing the above operation, the intermediate map 862 can be obtained.
  • the electronic device 100 may obtain the output image 880 based on each of a plurality of individual color channels of the upscaled image 820 and the intermediate map 862.
  • the electronic device 100 may obtain the output image 880 based on each of the plurality of individual color channels of the upscaled image 820, the intermediate map 862, and the offset map 842. there is.
  • the electronic device 100 is based on performing an addition operation on the Y channel, the intermediate map 862, and the offset map 842 among the plurality of color channels of the upscaled image 820.
  • an output image 880 can be generated.
  • the electronic device 100 produces an output image 880 based on performing an addition operation on the Co or Cg channel and the intermediate map 862 among the plurality of color channels 864 of the upscaled image 820. Videos can be created.
  • the electronic device 100 may perform an addition operation for each element based on each of the plurality of color channels of the upscaled image 820 and the intermediate map 862.
  • the addition operation for each element may be an operation that performs an addition operation between values at the same location in the Y channel, intermediate map 862, and offset map 842 of the upscaled image 820.
  • the electronic device 100 may perform an addition operation between the Co or Cg channel of the upscaled image 820 and values at the same location in the intermediate map 862.
  • the addition operation for each element can be performed through the addition layer for each element (870-1,870-2).
  • the electronic device 100 may perform an element-by-element addition operation of the Y channel, intermediate map 862, and offset map 842 of the upscaled image 820.
  • the electronic device 100 may perform an addition operation for each element of the Co channel of the upscaled image 820 and the intermediate map 862.
  • the electronic device 100 may perform an element-by-element addition operation of the Cg channel of the upscaled image 820 and the intermediate map 862.
  • the electronic device 100 may generate an output image 880 by performing an addition operation for each element on each individual channel of the YCoCg image.
  • the size of the output image 880 can be expressed as KH
  • the electronic device 100 does not perform an offset map and element-wise addition operation on the Co channel and the Cg channel among the plurality of color channels of the YCoCg image.
  • the middle map 862 is a map 864 obtained by performing an element-by-element multiplication operation on the YCoCg channel and the gain map 852 and dividing all elements by the normalization function d, and has a size of KW
  • the electronic device 100 may input a map of size KW
  • the electronic device 100 may input the map 866 and the upscaled image 920 output from the element-specific addition layer 870-1 to the element-specific addition layer 870-2.
  • the image output from the element-specific addition layer 870-2 may be referred to as the output image 880.
  • the operation of the color correction AI scaler for the YCoCg image is expressed mathematically as follows.
  • individual channels of the input image 810 are , Expressed as , the individual channels of the output video (880) are expressed as , Gain map (852) , offset map 842 If upscaling is expressed as Resize, the performance of the color correction AI scaler in the YCoCg color space can be expressed as follows. d means a constant for normalization. In addition, since the same operation is performed on the Co channel and the Cg channel among the color channels, the two channels were expressed by combining them.
  • an operation of color converting the output image 880, which is a YCoCg image, into an RGB image 885 may be performed.
  • the formula for converting a YCoCg image to an RGB image is as follows.
  • FIG. 8 is a block diagram for one embodiment.
  • Each component of the block diagram may be integrated, added, or omitted depending on the specifications of the electronic device 100 that is actually implemented. That is, as needed, two or more components may be combined into one component, or one component may be subdivided into two or more components.
  • the functions performed by each block are for explaining the embodiments, and the specific operations or devices do not limit the scope of the present invention.
  • Figure 9 is a diagram showing a location where a color correction AI scaler model can be applied within the image quality pipeline, according to one embodiment.
  • the electronic device 100 can acquire an image for an arbitrary scene.
  • an image of the scene 910 identified by the image sensor 920 may be obtained.
  • the image sensor may include at least one of a CCD sensor (Charge-Coupled Device Sensor) and a CMOS sensor (Complementary metal-oxide-semiconductor sensor).
  • the image sensor 920 may identify photon information and obtain a Bayer image, which is a 1-channel raw image.
  • Neuro-ISP Neuro-Image Signal Processor, 930 converts Bayer images into RGB images.
  • the electronic device 100 may perform encoding and transmission/reception operations 940 on an RGB image. Additionally, in the device that receives the RGB image, Visual Enhancement (950), an image preprocessing task, is performed to make the RGB image suitable for image analysis and image correction.
  • Visual Enhancement 950
  • an image preprocessing task is performed to make the RGB image suitable for image analysis and image correction.
  • the electronic device 100 may obtain a user's input 960 to display an image with a resolution set by the user.
  • the resolution set by the user can be HD+, FHD+, or higher resolution.
  • the electronic device 100 upscales the input image to have the resolution set by the user and performs the color correction AI scaling task 970 of the present disclosure. You can create an output image by performing this.
  • the color correction AI scaling operation 970 may be performed, and if the resolution set by the user is the same as or lower than the resolution of the input RGB image, the color correction AI Scaling operation 970 may not be performed.
  • the electronic device 100 may display the output image generated by the color correction AI scaler on the display unit 980 and provide the image 990 of photon information to the user.
  • FIG. 9 is a diagram illustrating a representative method of acquiring, processing, or displaying an image through an image sensor, and the image may be acquired using a method other than an image sensor. Additionally, not all operations disclosed in FIG. 9 must be performed, the operations do not have to be performed in the order in which they are initiated, and some operations may be omitted. Meanwhile, the above example is explained using an image having an RGB color space as an example, but can be equally applied to a YCoCg image.
  • Figure 10 is a diagram for explaining an image processing method for color correction, according to an embodiment.
  • step S1010 the electronic device 100 upscales the input image to generate an upscaled image.
  • the electronic device 100 may generate an upscaled image by inputting the input image to a color correction AI scaler.
  • the input image may be an RGB image or a YCoCg image. Upscaling can be performed by at least one of the following algorithm: Nearest neighbor, Bilinear, Bicubic, Lanczos, or spline.
  • step S1020 the electronic device 100 inputs the upscaled image into a convolutional neural network and performs a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network, 1 feature map and a second feature map can be obtained.
  • the electronic device 100 may input an upscaled image to a convolutional neural network.
  • a convolutional neural network may include at least one convolutional layer and at least one activation layer.
  • the convolutional neural network may receive an upscaled image and perform a convolution operation with one or more kernels to obtain a feature map, and there may be one or more feature maps.
  • the upscaled image may be input to a convolutional neural network to obtain a first feature map and a second feature map.
  • the first feature map may be part of the output obtained by inputting the upscaled image into a convolutional neural network and performing a convolution operation with one or more kernels
  • the second feature map may be a part of the output obtained by convolving the upscaled image. It may be the remaining part excluding the first feature map from the output obtained by inputting it into a neural network and performing a convolution operation with one or more kernels.
  • the one or more kernels used to output the first feature map and the one or more kernels used to output the second feature map may be different.
  • a convolutional neural network may be trained using a training data set that includes input images and an output image by a color correction AI scaler corresponding to the input image. Additionally, a convolutional neural network can be learned or trained to reduce the color difference between the input image and the output image.
  • each of at least one convolutional layer included in the convolutional neural network has a plurality of weight values, and a convolution operation is performed through an operation between the calculation results of the previous layer and the weights. can do.
  • a plurality of weights included in at least one convolutional layer may be optimized based on learning results. For example, weights may be updated so that the training loss value obtained during the training process is reduced or minimized.
  • the training loss used for training may include L1 loss, or Structural Similarity Index Measure (SSIM) loss.
  • L1 loss can be a training loss used to minimize the sum of the absolute value of the pixel value difference between the input image and the output image
  • SSIM loss is based on the three element values of luminance, contrast, and structure of the input image and output image. This may be a training loss used to minimize differences in statistical values.
  • the color correction AI scaler includes a structure for color correction, so there is no need to individually define training loss for color correction.
  • step S1030 the electronic device 100 obtains a gain map by inputting the first feature map to the first convolution layer.
  • the electronic device 100 may input the obtained first feature map to the first convolution layer.
  • the gain map can be obtained by performing a convolution operation between the first feature map and one or more kernels included in the first convolution layer.
  • the first convolutional layer may be trained using a training data set including input images and an output image by a color correction AI scaler corresponding to the input image. Additionally, a convolutional neural network can be learned or trained to reduce the color difference between the input image and the output image. Training loss used for training may include L1 loss or SSIM loss.
  • step S1040 the electronic device 100 obtains an offset map by inputting the second feature map to the second convolution layer.
  • the electronic device 100 may input the obtained second feature map to the second convolution layer.
  • An offset map may be obtained by performing a convolution operation with the second feature map and one or more kernels included in the second convolution layer.
  • the second convolutional layer may be trained using a training data set including input images and an output image by a color correction AI scaler corresponding to the input image. Additionally, a convolutional neural network can be learned or trained to reduce the color difference between the input image and the output image. Training loss used for training may include L1 loss or SSIM loss.
  • step S1050 the electronic device 100 generates an output image based on the upscaled image, gain map, and offset map.
  • the electronic device 100 may generate an output image with reduced color distortion or change using an upscaled image, a gain map, and an offset map.
  • an intermediate map can be obtained by multiplying a plurality of individual color channels of the upscaled image by a gain map, dividing by a normalization constant, and performing an element-by-element multiplication operation.
  • An output image can be generated by adding a plurality of individual color channels, intermediate maps, and offset maps of the upscaled image and performing an addition operation for each element.
  • the multiplication operation for each element and the addition operation for each element can be performed through a multiplication layer for each element and an addition layer for each element.
  • the electronic device 100 when the upscaled image is a YCoCg image, the electronic device 100 multiplies a plurality of individual color channels and gain maps of the upscaled image, divides by a normalization constant, and performs an element-by-element multiplication operation, You can obtain the intermediate map. Additionally, the electronic device 100 may perform an addition operation for each element by adding the Y channel, intermediate map, and offset map of the upscaled image. The electronic device 100 may perform an addition operation for each element by adding the Co channel and the intermediate map of the upscaled image. Additionally, the electronic device 100 may perform an addition operation for each element by adding the Cg channel and the intermediate map of the upscaled image.
  • the electronic device 100 may generate an output image by performing an element-wise addition operation on each individual channel of the upscaled image.
  • the electronic device 100 may perform an element-wise multiplication operation and an element-wise addition operation using an element-wise multiplication layer and an element-wise addition layer.
  • FIG. 11 is a block diagram showing the configuration of an electronic device 100 according to an embodiment.
  • the electronic device 100 may include a memory 1110 and a processor 1120.
  • the processor 1120 may generally control the electronic device 100.
  • the processor 1120 may execute one or more programs stored in the memory 1110.
  • the memory 1110 may store various data, programs, or applications for driving and controlling the electronic device 100.
  • a program stored in memory 1110 may include one or more instructions.
  • a program (one or more instructions) or application stored in the memory 1110 may be executed by the processor 1120.
  • the processor 1120 may include at least one of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), and a Video Processing Unit (VPU). Alternatively, depending on the embodiment, it may be implemented in the form of a SoC (System On Chip) integrating at least one of CPU, GPU, and VPU. Alternatively, the processor 1120 may further include a Neural Processing Unit (NPU).
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • VPU Video Processing Unit
  • SoC System On Chip
  • NPU Neural Processing Unit
  • the processor 1120 may use a color correction AI scaler to generate a color-corrected output image to reduce color distortion or change while performing upscaling on the input image.
  • the processor 1120 may perform at least one of the steps shown and described in FIGS. 6 to 8.
  • the processor 1120 may generate an upscaled image by inputting the input image to a color correction AI scaler.
  • the processor 1120 performs upscaling using at least one of Nearest neighbor, Bilinear, Bicubic, Lanczos, or spline algorithms. can be performed.
  • the processor 1120 inputs the upscaled image into a convolutional neural network and performs a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network to obtain the first feature.
  • a map and a second feature map can be obtained.
  • a convolutional neural network may include at least one convolutional layer and at least one activation layer.
  • the processor 1120 may input the upscaled image into a convolutional neural network to obtain a first feature map and a second feature map.
  • the first feature map may be part of the output obtained by inputting the upscaled image into a convolutional neural network and performing a convolution operation with one or more kernels
  • the second feature map may be a part of the output obtained by convolving the upscaled image. It may be the remaining part excluding the first feature map from the output obtained by inputting it into a neural network and performing a convolution operation with one or more kernels.
  • the one or more kernels used to output the first feature map and the one or more kernels used to output the second feature map may be different.
  • the processor 1120 uses at least one of a convolutional neural network, a first convolutional layer, and a second convolutional layer to include input images and an output image by a color correction AI scaler corresponding to the input image. It can be trained using a training dataset. At least one of the convolutional neural network, the first convolutional layer, and the second convolutional layer may be learned or trained to reduce the color difference between the input image and the output image.
  • the training loss used for the training may include L1 loss or SSIM loss.
  • the processor 1120 may input the obtained first feature map to the first convolution layer and input the obtained second feature map to the second convolution layer.
  • the processor 1120 may input the first feature map to the first convolution layer, perform a convolution operation with the first feature map and one or more kernels included in the first convolution layer, and obtain a gain map.
  • the processor 1120 may input the second feature map to the second convolution layer, perform a convolution operation with the second feature map and one or more kernels included in the second convolution layer, and obtain an offset map. there is.
  • the processor 1120 may use an upscaled image, a gain map, and an offset map to obtain a color-corrected output image to reduce color distortion.
  • An intermediate map can be obtained by multiplying a plurality of individual color channels of the upscaled image and the gain map and dividing by a normalization constant, performing an element-by-element multiplication operation.
  • the processor 1120 can obtain an output image by performing an element-by-element addition operation on a plurality of individual color channels, an intermediate map, and an offset map of the upscaled image. there is.
  • the processor 1120 performs an element-by-element addition operation on the Y channel, intermediate map, and offset map of the upscaled image, and the Co and Cg channels of the upscaled image.
  • the output image can be obtained by performing an element-wise addition operation on the and intermediate maps.
  • an image processing method can generate upscaled images 720 and 820 by upscaling the input images 710 and 810.
  • the method involves inputting the upscaled images (720,820) into a convolutional neural network (730,830), and combining the upscaled images (720,820) with one or more kernels included in the convolutional neural network (730,830).
  • the first feature maps 734 and 834 and the second feature maps 732 and 832 can be obtained.
  • a gain map (752,852) can be obtained by inputting the first feature maps (734,834) into the first convolutional layer (750,850).
  • an offset map (742,842) can be obtained by inputting the second feature maps (732,832) into the second convolution layer (740,840). It may include generating output images 780 and 880 based on the upscaled images 720 and 820, the gain maps 752 and 852, and the offset maps 742 and 842.
  • the convolutional neural networks 730 and 830 may be trained to reduce the color (HUE) difference between the input image and the output image.
  • the method performs an element-by-element multiplication operation based on the plurality of color channels of the upscaled images 720 and 820, the gain maps 752 and 852, and a normalization constant to obtain an intermediate You can obtain maps (762,862).
  • the method can generate the output images 780 and 880 based on performing an element-wise addition operation on a plurality of color channels of the upscaled images 720 and 820 and the intermediate maps 762 and 862.
  • At least one of the convolutional neural network (730,830), the first convolutional layer (750,850), or the second convolutional layer (740,840) corresponds to input images and the input images. It can be trained using a training data set containing output images.
  • the output images may be images in which color distortion from the input images is reduced by color correcting the upscaled images.
  • the training is performed using a training loss
  • the training loss may include at least one of L1 loss and SSIM loss.
  • the input images 710 and 810 and the output images 780 and 880 may be gray scale images.
  • the input images 710 and 810 and the output images 780 and 880 may be images having an RGB color space or a YCoCg color space.
  • two or more color channels may have the same value.
  • Two or more color channels of the output images 780 and 880 that correspond to the two or more color channels having the same value may have the same value.
  • the method may perform color space conversion on an image having an RGB color space to obtain an image having a YCoCg color space.
  • the method can obtain an image having an RGB color space by performing color space conversion on the generated output image.
  • the input image 810 is an image having the obtained YCoCg color space
  • the output image 880 is an image having the YCoCg color space.
  • the step of generating the output images 780 and 880 based on performing the addition operation includes the fact that the input image 710 and the output image 780 are images having an RGB color space.
  • an element-wise addition operation is performed on the plurality of color channels of the upscaled image 720, the intermediate map 762, and the offset map 742 to generate the output image 780.
  • element-by-element information is generated for the Y color channel of the upscaled image 820, the intermediate map 862, and the offset map 842.
  • the output image 880 can be generated by performing an addition operation.
  • the method may obtain the user's input to display an image with a resolution set by the user.
  • the input images 710 and 810 may be upscaled to have a resolution set by the user.
  • the resolution set by the user may be HD+ or higher.
  • an electronic device 100 for image processing may include a memory 1110 that stores one or more instructions, and a processor 1120 that executes the one or more instructions stored in the memory.
  • the at least one processor 1120 may upscale the input images 710 and 810 to generate upscaled images 720 and 820.
  • a convolution operation is performed between the upscaled images (720,820) and one or more kernels included in the convolutional neural network (730,830).
  • the first feature maps 734 and 834 and the second feature maps 732 and 832 can be obtained.
  • the at least one processor 1120 may obtain a gain map 752 and 852 by inputting the first feature maps 734 and 834 into the first convolutional layers 750 and 850.
  • the at least one processor 1120 may obtain an offset map 742 and 842 by inputting the second feature maps 732 and 832 into the second convolution layer 740 and 840.
  • the at least one processor 1120 may generate output images 780 and 880 based on the upscaled images 720 and 820, the gain maps 752 and 852, and the offset maps 742 and 842.
  • the convolutional neural networks 730 and 830 may be trained to reduce the color (HUE) difference between the input image and the output image.
  • At least one processor 1120 performs element-by-element multiplication based on a plurality of color channels of the upscaled images 720 and 820, the gain maps 752 and 852, and a normalization constant.
  • Intermediate maps (762,862) can be obtained by performing operations.
  • At least one processor 1120 generates the output images 780 and 880 based on performing an element-wise addition operation on the plurality of color channels of the upscaled images 720 and 820 and the intermediate maps 762 and 862. can do.
  • At least one of the convolutional neural network (730,830), the first convolutional layer (750,850), or the second convolutional layer (740,840) corresponds to input images and the input images. It can be trained using a training data set containing output images.
  • the output images may be images in which color distortion from the input images is reduced by color correcting the upscaled images.
  • the training is performed using a training loss
  • the training loss may include at least one of L1 loss and SSIM loss.
  • the input images 710 and 810 and the output images 780 and 880 may be gray scale images.
  • the input images 710 and 810 and the output images 780 and 880 may be images having an RGB color space or a YCoCg color space.
  • two or more color channels have the same value
  • two or more color channels of the output images 780 and 880 correspond to the two or more color channels having the same value. More than one color channel may have the same value.
  • At least one processor 1120 may perform color space conversion on an image having an RGB color space to obtain an image having a YCoCg color space. At least one processor may perform color space conversion on the generated output image to obtain an image having an RGB color space.
  • the input image 810 may be an image having the obtained YCoCg color space.
  • the output image 880 may be an image having the YCoCg color space.
  • At least one processor 1120 may output a plurality of images of the upscaled image 720 in response to the fact that the input image 710 and the output image 780 are images having an RGB color space.
  • the output image 780 can be generated by performing an element-wise addition operation on the color channel, the intermediate map 762, and the offset map 742.
  • At least one processor 1120 in response to the input image and the output image being images having a YCoCg color space, sets the Y color channel, the intermediate map 862, and the offset of the upscaled image 820.
  • the output image 880 can be generated by performing an addition operation for each element on the map 842.
  • a computer-readable recording medium recording a program for executing the method on a computer
  • the recording medium may be provided to be readable by a computer so that the computer executes the step of upscaling the input image and generating an upscaled image.
  • the recording medium inputs the upscaled image into a convolutional neural network, performs a convolution operation between the upscaled image and one or more kernels included in the convolutional neural network, and generates a first feature map.
  • the step of acquiring the second feature map may be provided in a computer-readable form for executing the step on the computer.
  • the recording medium may be provided to be readable by a computer in order to execute the step of obtaining a gain map by inputting the first feature map into a first convolutional layer.
  • the recording medium may be provided to be read by a computer so that the computer can execute the step of inputting the second feature map into a second convolutional layer to obtain an offset map.
  • the recording medium may be provided to be read by a computer so that the computer can execute the step of generating an output image based on the upscaled image, the gain map, and the offset map.
  • the convolutional neural network may be trained to reduce the color difference between the input image and the output image.
  • the method of the present disclosure may be implemented by a processor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a system-on-chip (SoC). Additionally, the described method can be executed by a storage medium that stores computer-executable instructions and, when executed by the processor 130 in the computer, can cause the method of the present disclosure to be executed.
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • SoC system-on-chip
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • image processing device and the method of operating the image processing device according to the disclosed embodiments may be included and provided in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • a computer program product may include a S/W program and a computer-readable storage medium in which the S/W program is stored.
  • a computer program product may include a product in the form of a S/W program (e.g., a downloadable app) distributed electronically by the manufacturer of an electronic device or through an electronic marketplace (e.g., Google Play Store, App Store). there is.
  • a storage medium may be a manufacturer's server, an electronic market server, or a relay server's storage medium that temporarily stores the SW program.
  • a computer program product in a system comprised of a server and a client device, may include a storage medium of a server or a storage medium of a client device.
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include the S/W program itself, which is transmitted from a server to a client device or a third device, or from a third device to a 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 a server, a client device, and a third device may execute the computer program product and perform the methods according to the disclosed embodiments in a distributed manner.
  • a server eg, a cloud server or an artificial intelligence server, etc.
  • a server may execute a computer program product stored on the server and control a client device connected to the server to perform the method according to the disclosed embodiments.

Landscapes

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

Abstract

컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스 및 저장 매체에 관한 것이다. 상기 방법은, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성하는 단계, 상기 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 상기 업스케일된 영상과 상기 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵, 및 제 2 특징 맵을 획득하는 단계, 상기 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵(Gain Map)을 획득하는 단계, 상기 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵(Offset Map)을 획득하는 단계, 상기 업스케일된 영상, 상기 게인 맵, 및 상기 오프셋 맵에 기초하여, 출력 영상을 생성하는 단계를 포함하고, 상기 컨볼루션 뉴럴 네트워크는 상기 입력 영상과 상기 출력 영상의 색상 차이를 감소시키도록 학습된다.

Description

컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체
본 개시는, 컨볼루션 뉴럴 네트워크를 이용하여 입력 영상과 출력 영상의 색상의 차이를 감소시키는 영상 처리 방법 및 전자 디바이스에 관한 것이다.
컴퓨터 기술의 발달과 함께 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
심층 신경망(예를 들어, 층이 깊은 컨볼루션 뉴럴 네트워크(CNN: Convolution Neural Network))를 이용하여, 영상의 스케일링을 수행하는 경우, 색상(Hue)의 변화를 고려하지 않은 출력 영상이 생성된다. 즉, 영상에 대한 개별 색상 채널마다 스케일링을 독립적으로 수행하기 때문에, 색상의 왜곡이 발생하는 문제점이 있다.
일 실시예에 따라, 영상 처리 방법이 제공된다. 상기 방법은, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성할 수 있다. 상기 방법은, 상기 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 상기 업스케일된 영상과 상기 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵, 및 제 2 특징 맵을 획득할 수 있다. 상기 방법은, 상기 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵(Gain Map)을 획득할 수 있다. 상기 방법은, 상기 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵(Offset Map)을 획득할 수 있다. 상기 업스케일된 영상, 상기 게인 맵, 및 상기 오프셋 맵에 기초하여, 출력 영상을 생성하는 단계를 포함할 수 있다. 상기 컨볼루션 뉴럴 네트워크는 상기 컨볼루션 뉴럴 네트워크를 이용하여 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습될 수 있다.
일 실시예에 따른, 영상 처리를 위한 전자 디바이스에 있어서, 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성할 수 있다. 상기 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 상기 업스케일된 영상과 상기 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵, 및 제 2 특징 맵을 획득할 수 있다. 상기 적어도 하나의 프로세서는, 상기 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵(Gain Map)을 획득할 수 있다. 상기 적어도 하나의 프로세서는, 상기 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵(Offset Map)을 획득할 수 있다. 상기 적어도 하나의 프로세서는, 상기 업스케일된 영상, 상기 게인 맵, 및 상기 오프셋 맵에 기초하여, 출력 영상을 생성할 수 있다. 상기 컨볼루션 뉴럴 네트워크는 상기 컨볼루션 뉴럴 네트워크를 이용하여 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습될 수 있다.
일 실시예에 따라, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다. 상기 기록 매체는, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 상기 업스케일된 영상과 상기 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵 및, 제 2 특징 맵을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵(Gain Map)을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵(Offset Map)을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 업스케일된 영상, 상기 게인 맵, 및 상기 오프셋 맵에 기초하여, 출력 영상을 생성하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 컨볼루션 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크를 이용하여 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습될 수 있다.
도 1은 일 실시예에 따른, 영상을 처리하는 전자 디바이스가 영상 처리 네트워크를 이용하여 영상을 처리하는 동작을 나타내는 도면이다.
도 2는 일 실시예에 따른, 그레이 스케일 영상에 대하여, AI 스케일러 및 색상 보정 AI 스케일러를 통해 스케일링을 수행한 결과를 나타내는 도면이다.
도 3은 일 실시예에 따른, RGB 색 공간을 가지는 영상에 대하여, AI 스케일러 및 색상 보정 AI 스케일러를 통해 스케일링을 수행한 결과를 나타내는 도면이다.
도 4는 일 실시예에 따른, AI 스케일러를 통해 스케일링을 수행한 결과를 나타내는 도면이다.
도 5는 일 실시예에 따른, 색상 보정 AI 스케일러를 통해 스케일링을 수행한 결과를 나타내는 도면이다.
도 6은 일 실시예에 따른, 컨볼루션 뉴럴 네트워크 또는 컨볼루션 레이어에서 수행되는 컨볼루션 연산을 설명하기 위해 참조되는 도면이다.
도 7은 일 실시예에 따른, RGB 색 공간을 가지는 영상을 입력으로 하는 색상 보정 AI 스케일러의 모델을 나타내는 도면이다.
도 8는 일 실시예에 따른, YCoCg 색 공간을 가지는 영상를 입력으로 하는 색상 보정 AI 스케일러의 모델을 나타내는 도면이다.
도 9은 일 실시예에 따른, 색상 보정 AI 스케일러 모델이 화질 파이프 라인 내에서 적용될 수 있는 위치를 나타내는 도면이다.
도 10은 일 실시예에 따른, 색상을 보정하기 위한 영상 처리 방법을 설명하기 위한 도면이다.
도 11는 일 실시예에 따른, 전자 디바이스의 구성을 나타내는 블록도이다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시가 이하에서 제시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
본 개시에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서 사용된 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것이며, 본 개시를 한정하려는 의도로 사용되는 것이 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 이 용어들에 의해 한정되어서는 안 된다. 이 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용된다.
본 명세서, 특히, 특허 청구 범위에서 사용된 "상기" 및 이와 유사한 지시어는 단수 및 복수 모두를 지시하는 것일 수 있다. 또한, 본 개시에 따른 방법을 설명하는 단계들의 순서를 명백하게 지정하는 기재가 없다면, 기재된 단계들은 적당한 순서로 행해질 수 있다. 기재된 단계들의 기재 순서에 따라 본 개시가 한정되는 것은 아니다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시 예에서" 또는 "일 실시 예에서" 등의 어구는 반드시 모두 동일한 실시 예를 가리키는 것은 아니다.
본 개시의 일부 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
본 명세서에서, "색상(Hue)"은 색상(Hue), 채도(Saturation), 및 명도(Value)의 좌표를 사용하여 색을 표현하는 HSV 색공간에서의 색상을 의미할 수 있다.
본 명세서에서, "색상 보정(Hue Correction)"은, 임의의 영상을 처리하여 출력 영상을 생성하는 과정에서, 임의의 영상과 출력 영상의 색상(Hue) 차이를 감소시키기 위한 동작일 수 있다. 또한, 색상 보정 AI(Artificial Intelligence) 스케일러는, 색상 보정을 위한 구조를 포함하는 영상 처리 네트워크를 의미할 수 있다.
본 명세서에서, "특징 맵"(Feature Map)은, 임의의 영상을 컨볼루션 뉴럴 네트워크(Convolution Neural Networks)에 입력하여, 임의의 영상과 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득한 결과를 의미할 수 있다. 예를 들면, 제 1 특징 맵은 업스케일된 영상를 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력의 일부일 수 있고, 제 2 특징 맵은 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력에서 제 1 특징 맵을 제외한 나머지 일부일 수 있다. 제 1 특징 맵을 출력하기 위해 이용된 하나 이상의 커널들과 제 2 특징 맵 출력하기 위해 이용된 하나 이상의 커널들은 상이할 수 있다.
본 명세서에서, "게인 맵"(Gain Map)은 제 1 특징 맵과 제 1컨볼루션 레이어의 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득한 결과를 의미할 수 있다. 또한 게인 맵은, 임의의 맵과 요소별 곱셈 연산을 수행할 수 있다.
본 명세서에서, "오프셋 맵"(Offset Map)은 제 2 특징 맵과 제 2 컨볼루션 레이어의 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득한 결과를 의미할 수 있다. 또한, 오프셋 맵은, 임의의 맵과 요소별 덧셈 연산을 수행할 수 있다.
본 명세서에서, "중간 맵"은 게인 맵과 임의의 맵과의 요소별 곱셈 연산을 수행하여 획득한 결과를 의미할 수 있다. 또한, 중간 맵은 출력 영상을 생성하기 위해 수행하는 연산의 과정에서 생성되는 맵일 수 있다. 중간 맵은 게인 맵과 업스케일된 영상의 복수 개의 개별 색상 채널과 요소별 곱셈 연산을 수행한 결과를 의미할 수도 있고, 게인 맵과 업스케일된 영상의 복수개의 개별 색상 채널에 요소별 곱셈 연산을 수행하고, 개별 요소에 정규화 상수를 나눈 값을 의미할 수 도 있다.
도 1은 일 실시예에 따른, 영상을 처리하는 전자 디바이스가 영상 처리 네트워크를 이용하여 영상을 처리하는 동작을 나타내는 도면이다.
일 실시예에서, 영상을 처리하는 전자 디바이스(100, 이하, 전자 디바이스)는 영상 처리 네트워크를 이용하여 영상을 처리할 수 있다. 영상 처리 네트워크는 색상 보정 AI 스케일러(Hue Correcting Artificial Intelligence Scaler) 일 수 있다.
일 실시예에서, 영상 처리 네트워크(130)는 입력 영상(110)을 입력 받아, 입력 영상(110)을 처리함으로써, 출력 영상(120)을 생성할 수 있다. 이때, 입력 영상은 RGB 색 공간을 가지는 영상일 수도 있고, YCoCg 색 공간을 가지는 영상일 수도 있다. 전자 디바이스(100)는, 영상 처리 네트워크(130)을 이용하여, 입력 영상(110)을 업스케일링하여, 업스케일된 영상을 생성할 수 있다. 또한, 업스케일된 영상의 개별 픽셀의 밝기(Value)와 채도(Saturation)을 변화시킬 수 있고, AI를 이용하여 픽셀의 밝기 및/또는 채도의 변화의 정도를 결정할 수 있다. 영상 처리 네트워크(130)는 입력 영상(110) 또는 업스케일된 영상을 처리하여, 입력 영상 또는 업스케일된 영상으로부터 색상 차이가 감소되도록 색상 보정된 출력 영상(120)을 획득 또는 생성할 수 있다. 한편 본 명세서에서는, 설명의 편의상 스케일된 영상을 업스케일된 영상을 예로 들어 설명하나, 업스케일된 영상에 한하지 않는다.
일 실시예에서, 영상 처리 네트워크(130)에서 수행되는 영상 처리에 대하여는 이하 도면들을 참조하여 자세히 설명하기로 한다.
일 실시예에 따르면, 다수의 샘플을 사용하거나 복잡한 뉴럴 네트워크를 사용하지 않고도, 입력 영상과의 색상 차이를 감소시킨 출력 영상을 획득 또는 생성할 수 있다.
도 2는 일 실시예에 따른, 그레이 스케일 영상에 대하여, AI 스케일러 및 색상 보정 AI 스케일러를 통해 스케일링을 수행한 결과를 나타내는 도면이다.
일 실시예에서, 그레이 스케일(Gray Scale) 영상은, RGB 색 공간을 가지는 영상의 색상 채널인 R(Red) 채널, G(Green) 채널, B(Blue) 채널이 모두 동일한 값을 가지는 영상 일 수 있다.
이하, 입력 영상은 그레이 스케일 영상일 수 있다. 종래 존재하던 AI 업스케일러(Artificial Intelligence Upscaler)에 입력 영상을 입력하여, 획득한 출력 영상을 살펴본다. 그리고, 일 실시예에 따른 색상 보정 AI 스케일러에 그레이 스케일 영상을 입력하여 획득 또는 생성한 출력 영상을 종래 AI 업스케일러로부터 생성된 출력 영상과 비교해본다.
일 실시예에서, 전자 디바이스(100)는 종래 존재하던 AI 업스케일러(Artificial Intelligence Upscaler)는 입력 영상으로 그레이 스케일 영상을 획득할 수 있다. 전자 디바이스(100)는 Nearest neighbor, 또는 Bilinear 업스케일러를 통해, 업스케일링을 수행한 후, 전자 디바이스(100)는, 업스케일된 영상(210)을 컨볼루션 뉴럴 네트워크에 입력하여 AI 업스케일 영상(220)을 출력 영상으로 생성할 수 있다. 한편, 업스케일링을 수행하는 업스케일러는 상기 기재된 업스케일러에 한하지 않는다.
일 실시예에서, 전자 디바이스(100)는, 그레이 스케일 영상을 입력 영상으로 입력한 경우, 업스케일된 영상(210)은 주변의 픽셀을 이용하여 크기를 키우는 방식으로 업스케일된 바, RGB 색 공간의 각각의 색상 채널의 값이 동일한 값을 가질 수 있다. 예를 들어, 업스케일된 영상(210)의 내부의 한 픽셀(212)은 R 채널, G 채널, B 채널 모두 159의 값을 갖는다.
일 실시예에서, 종래 존재하던 AI 업스케일러를 이용하여 생성한 AI 업스케일 영상(220)을 살펴보면, 알고리즘 및 CNN학습을 통하여 개별 상황에서의 픽셀의 색상은 AI 업스케일 영상(220)에 세세하게 반영될 수 있다. 그러나, 그레이 스케일 영상인 업스케일된 영상(210)을 컨볼루션 뉴럴 네트워크에 입력하여 획득한 출력 영상인 AI 업스케일 영상(220)은 개별 색상 채널마다 독립적으로 색상이 처리되기 때문에, 입력 영상 또는 업스케일된 영상(210)의 색상은 AI 업스케일 영상(220)에서 왜곡될 수 있다. 즉, AI 업스케일 영상(220)의 RGB 색 공간의 개별 색상 채널인 R, G, B 채널의 값은 서로 상이할 수 있다. 예를 들어, 업스케일된 영상(210) 내부의 한 픽셀(212)은 R 채널, G 채널, B 채널 모두 159의 값을 가진다. 즉, R, G, B 채널이 모두 동일한 값을 가졌다. 그러나, AI 업스케일 영상(220) 내부의 한 픽셀(222)은 R 채널은 172, G 채널은 173, B 채널은 169의 값을 갖는다. 즉, 입력 영상 또는 업스케일된 영상(210)이 그레이 스케일 영상인 것과 달리 AI 업 스케일 영상(220)은 그레이 스케일이 아닌 영상이 출력된다.
일 실시예에서, 색상 보정 AI 스케일러는 그레이 스케일 영상을 입력 받을 수 있다. 색상 보정 AI 스케일러는 Nearest neighbor, 또는 Bilinear 업스케일러를 포함할 수 있다. 전자 디바이스(100)는, Nearest neighbor, 또는 Bilinear 업스케일러 통해, 업스케일링을 수행하여 업스케일된 영상(210)을 생성할 수 있다. 또한, 업스케일된 영상(210)에 색상 보정을 수행하여, 출력 영상을 생성할 수 있다. 출력 영상을 색상 보정 AI 업스케일 영상(230)이라고 할 수 있다. 색상 보정 AI 업스케일 영상(230)과 업스케일된 영상(210)의 색상 차이는 AI 업스케일 영상(220)과 업스케일된 영상(210)의 색상 차이보다 적을 수 있다.
일 실시예에서, 색상 보정 AI 스케일러를 이용하여 생성한 색상 보정 AI 업스케일 영상(230)을 살펴보면, AI 업스케일 영상(220)과 마찬가지로, 알고리즘 및 CNN학습을 통하여 개별 상황에서의 픽셀 색상이 색상 보정 AI 업스케일 영상(230) 영상에 세세하게 반영될 수 있다. 다만, 그레이 스케일 영상을 입력 영상으로 입력한 경우, 그레이 스케일 영상인 색상 보정 AI 업스케일 영상(230)을 출력 영상으로 생성할 수 있다. 즉, 생성된 색상 보정 AI 업스케일 영상(230)의 RGB 색 공간의 색상 채널의 값이 모두 동일할 수 있다. 예를 들어, 색상 보정 AI 업스케일 영상(230) 내부의 한 픽셀(232)은 R 채널, G 채널, B 채널 모두 124의 값을 갖는다. 한편, 상기 예시는 RGB 색 공간을 가지는 영상을 예로 들어 설명하나, YCoCg영상에도 동일하게 적용될 수 있다.
일 실시예에서, 색상 보정 AI 스케일러를 이용하여, 출력 영상의 색상이 입력 영상의 색상으로부터 왜곡되는 것을 감소 또는 최소화 시키고, 색상의 품질을 유지시킨 출력 영상을 생성할 수 있다.
도 3은 일 실시예에 따른, RGB 색 공간을 가지는 영상에 대하여, 개별 스케일러(Scaler)를 통해 스케일링(Scaling)을 수행한 결과를 나타내는 도면이다.
일 실시예에서, RGB 색 공간을 가지는 영상(이하, RGB 영상)에서, RGB 영상의 색상 채널인 R(Red) 채널, G(Green)채널, 및 B(Blue)채널 중에서 2개의 색상 채널의 값이 동일한 값을 가질 수 있다.
일 실시예에서, 입력 영상이 RGB 영상의 색상 채널 중에서 2개의 색상 채널의 값이 동일한 값을 갖는 영상(이하, 2 색상 채널 동일 RGB 영상)일 수 있다. 예를 들어, R 채널과 G 채널이 동일한 값을 갖고, B 채널은 다른 값을 가질 수 있다. 또는, R 채널과 B 채널이 동일한 값을 갖고, G 채널은 다른 값을 가질 수 있으며, B 채널과 G 채널이 동일한 값을 갖고, R 채널은 다른 값을 가질 수도 있다.
이하, 종래 존재하던 AI 업스케일러(Artificial Intelligence Upscaler)에 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력하여, 획득한 출력 영상을 살펴본다. 그리고, 색상 보정 AI 스케일러에 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력하여 획득 또는 생성한 출력 영상을 종래 AI 업스케일러로부터 생성된 출력 영상과 비교해본다.
일 실시예에서, 종래 존재하던 AI 업스케일러(Artificial Intelligence Upscaler)는 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력 받을 수 있다. Nearest neighbor, 또는 Bilinear 업스케일러를 통해, 업스케일링을 수행한 후, 업스케일된 영상(310)을 컨볼루션 뉴럴 네트워크에 입력하여 AI 업스케일 영상 (320)을 출력 영상으로 생성할 수 있다. 한편, 업스케일링을 수행하는 업스케일러는 상기 기재된 업스케일러에 한하지 않는다.
일 실시예에서, 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력한 경우, 업스케일된 영상(310)은 주변의 픽셀을 이용하여 크기를 키우는 방식으로 업스케일된 바, 입력 영상에서 동일한 값을 가지는 2개의 색상 채널이 업스케일된 영상(310)에서도 동일한 값을 갖는다. 예를 들어, 업스케일된 영상(310) 내부의 한 픽셀(312)은 G 채널, 및 B 채널의 값은 96으로 같은 값을 가지고, R 채널의 값은 255로 다른 채널과 다른 값을 가진다.
일 실시예에서, 종래 존재하던 AI 업스케일러를 이용하여 생성한 AI 업스케일 영상(320)을 살펴보면, 알고리즘 및 CNN학습을 통하여 개별 상황에서의 픽셀의 색상이 AI 업스케일 영상(320)에 세세하게 반영될 수 있다. 일반적인 AI 업스케일러에 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력한 경우, AI 업스케일 영상(320)에서 동일한 값을 가지는 것으로 식별되었던 2 개의 색상 채널이 서로 다른 값을 가질 수 있다. 예를 들어, 업스케일된 영상(310) 내부의 한 픽셀(312)은 G 채널, 및 B 채널의 값은 96으로 같은 값을 가지고, R 채널의 값은 255로 G 채널, 및 B 채널과 다른 값을 가질 수 있다. 그러나, 업스케일된 영상(310) 내부의 한 픽셀(312)과 대응되는 위치에 있는 AI 업스케일 영상(320) 내부의 한 픽셀(322)의 R 채널은 223, G 채널은 61, B채널은 68의 값을 가질 수 있다. 즉, 업스케일된 영상(310)은 2 색상 채널 동일 RGB 영상으로, G채널 및 B채널의 값이 서로 동일할 수 있으나, AI 업스케일 영상(320)에서는 G채널과 B채널이 서로 다른 값을 가질 수 있다. 즉, AI 업스케일 영상(320)이 입력 영상으로부터 왜곡된 색상을 가진 상태로 출력되는 것을 확인할 수 있다.
일 실시예에서, 색상 보정 AI 스케일러는 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력 받을 수 있다. 색상 보정 AI 스케일러는 Nearest neighbor, 또는 Bilinear 업스케일러를 포함할 수 있다. Nearest neighbor, 또는 Bilinear 업스케일러 통해, 업스케일링을 수행하여, 출력 영상을 생성할 수 있다. 생성된 출력 영상은 색상 보정 AI 업스케일 영상(330)이라고 지칭할 수 있으며, 색상 보정 AI 업스케일 영상(330)은 업스케일된 영상(310)과의 색상 차이가 AI 업스케일 영상(320)과 업스케일된 영상(310)과의 색상 차이보다 적은 값을 가질 수 있다. 일 실시예에서, 색상 보정 AI 스케일러를 이용하여 생성한 색상 보정 AI 업스케일 영상(330)을 살펴보면, AI 업스케일 영상(320)과 마찬가지로, 알고리즘 및 CNN학습을 통하여 개별 상황에서의 픽셀 색상이 색상 보정 AI 업스케일러를 통해 세세하게 반영될 수 있다. 그러나, 색상 보정 AI 업스케일러에 2 색상 채널 동일 RGB 영상을 입력 영상으로 입력한 경우, 색상 보정 AI 업스케일 영상(330)에서 동일한 값을 가지는 것으로 식별된 2 개의 색상 채널은, 색상 보정 AI 업스케일 영상(330)에서도 서로 동일한 값을 가질 수 있다. 입력 영상에서 2가지 색상 채널이 동일한 것으로 식별된 값과 출력 영상에서 2가지 색상 채널이 동일한 것으로 식별된 값은 동일 또는 상이할 수 있다.
일 실시예에서, 색상 보정 AI 업스케일 영상(330) 내부의 한 픽셀(332)은 G 채널, 및 B 채널의 값은 63으로 같은 값을 가지고, R 채널의 값은 254로 G 채널, 및 B채널과 다른 값을 가질 수 있다. 업스케일된 영상(310) 내부의 한 픽셀(312)은, G 채널과 B 채널은 96의 값을 가지고, R 채널은 255의 값을 가진다. 업스케일된 영상(310) 내부의 한 픽셀(312)에서 서로 동일한 값인 96의 값을 가졌던 G, B 채널은, 업스케일된 영상(310) 내부의 한 픽셀(312)에 대응하는 위치에 있는 색상 보정 AI 업스케일 영상(330) 내부의 한 픽셀(332)에서도 G, B 채널이 각각 동일한 값인 63의 값을 가지는 것을 확인할 수 있다. 즉, 업스케일된 영상(310)의 색상이 색상 보정 AI 업스케일러의 네트워크를 거친 이후에도 색상의 품질이 유지된 것을 확인할 수 있다.
일 실시예에서, 색상의 품질이 유지되는 것은 색상 채널의 값이 동일하다는 것이 아니라, 색상 채널의 값이 선형으로 유지되어 다음의 식을 만족한다는 의미일 수 있다.
Figure PCTKR2023004681-appb-img-000001
일 실시예에서, 업스케일된 영상(310) 내부의 한 픽셀(312)에서 같은 값을 가지는 G 채널과 B 채널의 식별 값은 96이고, 색상 보정 AI 업스케일 영상(330) 내부의 한 픽셀(332)에서 같은 값을 가지는 G 채널과 B 채널의 식별 값은 63이다. 즉, 색상 채널의 값이 선형으로 유지되어 상기 식을 만족하는 바, 색상의 품질이 유지된다고 할 수 있다. 한편, 상기 예시는 RGB 색 공간을 가지는 영상을 예로 들어 설명하나, YCoCg영상에도 동일하게 적용될 수 있다.
일 실시예에서, 색상 보정 AI 스케일러를 이용하여, 출력 영상의 색상이 입력 영상의 색상으로부터 왜곡되는 것을 감소 또는 최소화시키고, 색상의 품질을 유지시킨 출력 영상을 생성할 수 있다.
도 4는 일 실시예에 따른, AI 스케일러(Scaler)를 통해 스케일링(Scaling)을 수행한 결과를 나타내는 도면이다.
일 실시예에서, 검정색의 글씨 영상은 그레이 스케일 영상과 같이 볼 수 있다. 따라서, RGB 색 공간을 가지는 영상의 색상 채널인 R(Red) 채널, G(Green) 채널, B(Blue) 채널이 모두 동일한 값을 가지는 영상 일 수 있다.
일 실시예에서, 종래 존재하던 AI 업스케일러는, 검정색의 글씨 영상을 입력 영상으로 하고, 입력 영상을 업스케일링하여, AI 업스케일 영상(410)을 생성할 수 있다.
일 실시예에서, AI 업스케일 영상(410)의 일부인 픽셀 그룹(420)에서, 입력 영상의 색상으로부터 픽셀 그룹(420)의 색상이 왜곡 또는 변화된 것을 확인할 수 있다. 픽셀 그룹(420)을 확대한 확대 픽셀 그룹(422)를 살펴보면, 입력 영상의 R,G,B 채널의 값이 높을수록(흰색에 가까울수록) 픽셀 그룹(420)의 색상이 황색으로 왜곡 또는 변화하고, 입력 영상의 R, G, B 값이 낮을수록(검정색에 가까울수록) 픽셀 그룹(420)의 색상이 청색으로 왜곡 또는 변화하는 현상이 발생한다.
한편, RGB 색 공간을 가지는 영상을 예로 들어 설명하나, YCoCg영상에도 동일하게 적용될 수 있다.
도 5는 일 실시예에 따른, 색상 보존 AI 스케일러(Hue Preserving AI Scaler)를 통해 스케일링 (Scaling)을 수행한 결과를 나타내는 도면이다.
일 실시예에서, 색상 보정 AI 업스케일러는, 검정색의 글씨 영상을 입력 영상으로 하고, 입력 영상을 업스케일링하여, 색상 보정 AI 업스케일 영상(510)을 생성할 수 있다.
일 실시예에서, 색상 보정 AI 업스케일 영상(510)의 일부인 픽셀 그룹(520)에서, 입력 영상의 색상으로부터 픽셀 그룹(520)의 색상이 왜곡 또는 변화하지 않는 것을 확인할 수 있다. 픽셀 그룹(520)을 확대한 확대 픽셀 그룹(522)를 살펴보면, 색상 보정 AI 스케일러를 통해 입력 영상의 색상으로부터 출력 영상의 색상의 왜곡 또는 변화를 감소시켜 색상 보정된 영상을 획득 또는 생성할 수 있다. 따라서, AI 업스케일 영상(410)에서 발생했던, 픽셀 그룹(420)의 색상이 황색 또는 청색으로 왜곡 또는 변화하는 현상이, 색상 보정 AI 업스케일 영상(510)에서는 발생하지 않는 것을 확인할 수 있다. 즉, R, G, B 채널의 값이 모두 동일한 값을 갖는 것을 확인할 수 있다.
한편, RGB 색 공간을 가지는 영상을 예로 들어 설명하나, YCoCg영상에도 동일하게 적용될 수 있다.
도 6은 일 실시예에 따른, 컨볼루션 뉴럴 네트워크 또는, 컨볼루션 레이어에서 수행되는 컨볼루션 연산을 설명하기 위해 참조되는 도면이다.
일 실시예에서, 입력 영상을 업스케일링한 업스케일된 영상(610)과 커널(620)간의 컨볼루션 연산을 통해 출력 영상이 생성되는 과정을 설명하기 위해 참조되는 도면이다. 설명의 편의상, 업스케일된 영상(610)이 5 X 5의 크기를 가지며, 채널의 개수는 1인 것으로 가정한다. 또한, 업스케일된 영상(610)에 적용되는 커널(Kernel)은 3 x 3의 크기를 가지며 채널의 개수는 1인 것으로 가정한다.
일 실시예에서, 업스케일된 영상(610)의 좌측 상단으로부터 우측 하단까지 커널을 적용하여, 컨볼루션 연산을 수행할 수 있다. 좌측 상단 3 X 3 영역(611)에 포함되는 픽셀 값들과 커널(620)에 포함되는 파라미터 값들을 곱하여 합산함으로써, 좌측 상단 3 X 3 영역(611)에 매핑되는 하나의 픽셀 값(631)을 생성할 수 있다.
일 실시예에서, 업스케일된 영상(610)와 좌측 상단 3 X 3 영역(611)에서 우측으로 한 픽셀 이동시킨 3 X 3 영역(612)에 포함되는 픽셀 값들과 커널(620)에 포함되는 파라미터 값들을 곱하여 합산함으로써, 3 X 3 영역 (612)에 매핑되는 하나의 픽셀 값(632)을 생성할 수 있다. 동일한 방식으로, 업스케일된 영상(610)내에서 커널(620)을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 슬라이딩하면서, 커널(620)에 포함되는 파라미터 값들과 업스케일된 영상(610)의 픽셀 값들을 곱하여 합산함으로써, 특징 맵(630)의 픽셀 값들을 생성할 수 있다.
일 실시예에서, 컨볼루션 연산의 대상이 되는 데이터는 한 픽셀씩 이동하면서 샘플링될 수도 있으나, 2개 이상의 픽셀 개수만큼 이동하면서 샘플링될 수도 있다. 샘플링 과정에서 샘플링된 픽셀들의 간격의 크기를 스트라이드(stride)라고 하며, 스트라이드의 크기에 따라 출력되는 특징 맵(630)의 크기가 결정될 수 있다. 또한, 도 6에 도시된 바와 같이, 특징 맵(630)의 크기를 업스케일된 영상(610)과 동일하게 하기 위해서는 패딩이 수행될 수 있다. 패딩은 출력되는 특징 맵(630)의 크기가 작아지는 것을 방지하기 위하여, 업스케일된 영상(610)의 가장자리에 특정 값(예를 들어, ‘0’)을 주어, 업스케일된 영상(610)의 사이즈를 증가시키는 것을 의미한다. 패딩을 수행한 후, 컨볼루션 연산을 수행하면, 특징 맵(630)의 크기가 업스케일된 영상(610)의 크기와 동일할 수 있다. 다만, 이에 한정되지 않는다.
일 실시예에서, 커널(620)에 대한 컨볼루션 연산 결과(e.g., 특징 맵(630))만 도시하였지만, 복수 개의 커널들에 대해서, 컨볼루션 연산을 수행하는 경우, 복수 개의 채널 영상들을 포함하는 특징 맵들이 출력될 수 있다. 즉, 커널 그룹에 포함되는 커널들의 개수에 따라, 특징 맵(530)의 채널 수가 결정될 수 있다.
일 실시예에서, 컨볼루션 뉴럴 네트워크는 하나 이상의 컨볼루션(deconvolution) 레이어들을 포함할 수 있다. 컨볼루션 레이어들 각각에서는, 컨볼루션 레이어에 입력된 하나 이상의 영상들(또는 특징 맵들)과 커널(kernel)의 컨볼루션(deconvolution) 연산을 수행될 수 있으며, 컨볼루션 연산 결과, 생성된 하나 이상의 영상들(또는, 특징 맵들)이 출력될 수 있다. 또한, 현재 컨볼루션 레이어에서 출력된 하나 이상의 특징 맵들은 다음 컨볼루션 레이어로 입력될 수 있다.
도 7은 일 실시예에 따른, RGB 색 공간을 가지는 영상에 대하여, 색상 보정 AI 스케일러의 모델을 나타내는 도면이다.
일 실시예에서, 입력 영상(710)은 색상 보정 AI 스케일러에 입력된다. 입력 영상은 RGB 영상일 수 있다. 또한, 입력 영상의 크기는 W X H X 3으로 표현될 수 있다. 여기서 숫자 3은 색상 채널의 수를 의미한다.
일 실시예에서, 입력 영상을 업스케일링하여, 업스케일된 영상(720)을 생성할 수 있다. 입력 영상을 K 배 업스케일링 할 수 있고, 업스케일된 영상(720)의 크기는 KW X KH X 3으로 표현될 수 있다.
일 실시예에서, 업스케일링은, 영상의 픽셀과 픽셀 사이에 새로운 픽셀을 끼워 넣어 해상도는 높이는 기술을 나타낼 수 있다. 본 개시의 업스케일된 영상(720)을 생성하기 위해서, 업스케일링 알고리즘을 통하여 입력 영상(710)을 업스케일링하여 업스케일된 영상(720)을 생성할 수 있다. 업스케일링 알고리즘은 Nearest neighbor(최근접 이웃), Bilinear(이선형), Bicubic(쌍입방), Lanczos(란초스), 또는 spline(스플라인 곡선) 알고리즘 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에서, 업스케일된 영상(720)을 컨볼루션 뉴럴 네트워크(730)에 입력하여, 업스케일된 영상(720)과 컨볼루션 뉴럴 네트워크(730)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행할 수 있다. 도 6을 통해, 컨볼루션 연산이 수행되는 방법을 참고할 수 있다. 컨볼루션 뉴럴 네트워크(730)는 복수 개의 컨볼루션 레이어 및 복수개의 활성화 레이어를 포함할 수 있고, 컨볼루션 레이어 다음에 활성화 레이어가 위치할 수 있다.
일 실시예에서, 활성화 레이어에서는 활성화 레이어에 입력된 값들에 활성화 함수를 적용하는 활성화 함수 연산이 수행될 수 있다. 활성화 함수 연산은 특징 정보에 대해 비선형(non-linear) 특성을 부여하는 것으로, 활성화 함수는, 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수, leaky ReLu 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에서, 컨볼루션 뉴럴 네트워크(730)에 포함된 하나 이상의 컨볼루션 레이어들, 하나 이상의 활성화 레이어들을 통과함으로써, 특징 맵을 획득할 수 있다. 특징 맵은 하나 이상일 수 있다. 업스케일된 영상(720)을 컨볼루션 뉴럴 네트워크(730)에 입력하여, 제 1 특징 맵(734), 및 제 2 특징 맵(732)을 획득할 수 있다. 제 1 특징 맵(734)은 업스케일된 영상(720)을 컨볼루션 뉴럴 네트워크(730)에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력의 일부일 수 있고, 제 2 특징 맵(732)은 업스케일된 영상(720)을 컨볼루션 뉴럴 네트워크(730)에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력에서 제 1 특징 맵(734)을 제외한 나머지 일부일 수 있다. 제 1 특징 맵(734)을 출력하기 위해 이용된 하나 이상의 커널들과 제 2 특징 맵(732) 출력하기 위해 이용된 하나 이상의 커널들은 상이할 수 있다.
일 실시예에서, 제 1 특징 맵(734)을 제 1 컨볼루션 레이어(740)에 입력할 수 있고, 제 2 특징 맵(732)을 제 2 컨볼루션 레이어(740)에 입력할 수 있다. 제 1 특징 맵을 제 1 컨볼루션 레이어(750)에 입력하여, 제 1 컨볼루션 레이어(750)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 게인 맵(Gain Map, 752)을 획득할 수 있다. 또한, 제 2 특징 맵(732)을 제 2 컨볼루션 레이어(740)에 입력하여, 제 2 컨볼루션 레이어(740)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 오프셋 맵(Gain Map, 742)을 획득할 수 있다.
일 실시예에서, 게인 맵(752)의 크기는 KW X KH X 1 로 표현될 수 있고, 오프셋 맵(742)의 크기는 KW X KH X 1 로 표현될 수 있다.
일 실시예에서, 업스케일된 영상(720), 게인 맵(752), 및 오프셋 맵(742)에 기초하여 출력 영상(780)을 획득할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 복수개의 색상 채널, 게인 맵(752), 정규화 상수에 기초하여, 곱셈 연산을 수행하여 중간 맵(762)을 획득할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 복수 개의 개별 색상 채널 각각과 게인 맵(752)에 대하여 요소별 곱셈 연산을 수행할 수 있다. 요소별 곱셈 연산은, 예를 들어, 업스케일된 영상(720)의 R 채널과 게인 맵(752)의 동일한 위치에 있는 값들끼리 곱셈을 수행할 수 있고, 업스케일된 영상(720)의 G 채널과 게인 맵(752)의 동일한 위치에 있는 값들끼리 곱셈을 수행할 수 있고, 업스케일된 영상(720)의 B 채널과 게인 맵(752)의 동일한 위치에 있는 값들끼리 곱셈을 수행할 수 있다. 또한, 요소별 곱셈 연산은 요소별 곱셈 레이어(760)를 통해 수행될 수 있다.
일 실시예에서, 요소별 곱셈 연산을 수행하면서, 각 요소의 정규화를 위해 임의의 스칼라 수인 d를 사용할 수 있다. 업스케일된 영상(720)의 복수 개의 개별 색상 채널 각각과 게인 맵(752)에 대하여 요소별 곱셈 레이어(760)를 통해서 요소별 곱셈 연산을 수행하고, 요소 별로 정규화 상수 1/d 를 곱하여, 즉 d를 나누어 중간 맵(762)을 획득할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 R 채널과 게인 맵(752)에 대하여 요소별 곱셈 연산을 수행하고, 요소별로 정규화 상수 1/d 를 곱하여, 즉 d를 나눌 수 있다. 업스케일된 영상(720)의 G 채널 및 B 채널에 대해서도 동일한 동작을 수행할 수 있다. 또한, 상기 연산을 수행함으로써, 중간 맵(762)을 획득할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 복수 개의 개별 색상 채널 각각과 중간 맵(762)에 기초하여 출력 영상(780)을 획득할 수 있다. 일 실시예에서, 업스케일된 영상(720)의 복수 개의 개별 색상 채널 각각과 중간 맵(762), 및 오프셋 맵(742)에 기초하여 출력 영상(780)을 획득할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 복수 개의 개별 색상 채널 각각과 중간 맵(762), 및 오프셋 맵(742)에 대하여 덧셈 연산을 수행한 것에 기초하여, 출력 영상(780)을 생성할 수 있다.
일 실시예에서, 업스케일된 영상(720)의 복수개의 색상 채널 각각과 중간 맵(762), 오프셋 맵(742)에 대하여 요소별 덧셈 연산을 수행할 수 있다. 요소별 덧셈 연산은 예를 들어, 업스케일된 영상(720)의 R 채널, 중간 맵(762), 및 오프셋 맵(742)의 동일한 위치에 있는 값들끼리 덧셈 연산을 수행할 수 있다. 또한, 업스케일된 영상(720)의 G, B채널에 대하여도 같은 작업을 수행할 수 있다. 또한, 요소별 덧셈 연산은 요소별 덧셈 레이어(770)를 통해서 수행될 수 있다.
일 실시예에서, 요소별 덧셈 레이어(770)에 업스케일된 영상(720)의 개별 채널, 중간 맵(762), 및 오프셋 맵(742)을 입력하여, 요소별 덧셈 연산을 수행하여 출력 영상(780)을 생성할 수 있다. 출력 영상(780)의 크기는 KH X KW X 3으로 표현될 수 있다.
일 실시예에서, RGB 영상에 대하여, 색상 보정 AI 스케일러의 동작을 수학식으로 나타내면 다음과 같다.
일 실시예에서, 입력 영상(710)을
Figure PCTKR2023004681-appb-img-000002
, 출력 영상(780)을
Figure PCTKR2023004681-appb-img-000003
, 게인 맵(752)을
Figure PCTKR2023004681-appb-img-000004
, 오프셋 맵(742)을
Figure PCTKR2023004681-appb-img-000005
라 하고, 업스케일링을 Resize로 표현하면, RGB 색 공간에서 색상 보정 AI 스케일러의 수행은 다음과 같이 표현될 수 있다. 여기서, d는 정규화를 위한 상수를 의미한다.
Figure PCTKR2023004681-appb-img-000006
한편, 도 7에 도시된 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 디바이스(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 8는 일 실시예에 따른, YCoCg 색 공간을 가지는 영상에 대하여, 색상 보정 AI 스케일러의 모델을 나타내는 도면이다.
일 실시예에서, RGB 색 공간을 가지는 RGB 영상(805)이 입력되면, YCoCg 색 공간을 가지는 YCoCg 영상으로 색 변환을 수행하여, YCoCg 영상에 대하여 색상 보정 AI 스케일링을 수행할 수 있다. RGB 영상은 8 비트의 데이터로 영상을 표현하고, YCoCg 영상은 9-10 비트의 데이터로 영상을 표현한다. 따라서, 영상을 표현하는 데에 있어, YCoCg 영상이 더 많은 비트 수를 사용하기 때문에, 섬세한 화질 처리가 가능할 수 있다. 또한, 색상 보정 AI 스케일러 모델에 YCoCg 영상을 입력하는 경우, RGB 영상을 입력하는 경우보다 입력 영상으로부터의 색상 차이 또는 왜곡을 감소시키는 색상 보정 성능이 향상될 수 있다.
YCoCg 영상으로 변환하는 식은 다음과 같다.
Figure PCTKR2023004681-appb-img-000007
일 실시예에서, 입력 영상(810)은 색상 보정 AI 스케일러에 입력된다. 입력 영상은 YCoCg 영상일 수 있다. 또한, 입력 영상의 크기는 W X H X 3으로 표현될 수 있다. 여기서 숫자 3은 색상 채널의 수를 의미한다.
일 실시예에서, 입력 영상을 업스케일링하여, 업스케일된 영상(820)을 생성할 수 있다. 입력 영상을 K 배 업스케일링 할 수 있고, 업스케일된 영상(820)의 크기는 KW X KH X 3으로 표현될 수 있다.
일 실시예에서, 업스케일된 영상(820)을 생성하기 위해서, 업스케일링 알고리즘을 통하여 입력 영상(810)을 업스케일링하여 업스케일된 영상(820)을 생성할 수 있다. 업스케일링 알고리즘은 Nearest neighbor(최근접 이웃), Bilinear(이선형), Bicubic(쌍입방), Lanczos(란초스), 또는 spline(스플라인 곡선) 알고리즘 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에서, 업스케일된 영상(820)을 컨볼루션 뉴럴 네트워크(830)에 입력하여, 업스케일된 영상(820)과 컨볼루션 뉴럴 네트워크(830)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행할 수 있다. 도 6을 통해, 컨볼루션 연산이 수행되는 방법을 참고할 수 있다. 컨볼루션 뉴럴 네트워크(830)는 복수 개의 컨볼루션 레이어 및 복수개의 활성화 레이어를 포함할 수 있고, 컨볼루션 레이어 다음에 활성화 레이어가 위치할 수 있다.
일 실시예에서, 활성화 레이어에서는 활성화 레이어에 입력된 값들에 활성화 함수를 적용하는 활성화 함수 연산이 수행될 수 있다. 활성화 함수 연산은 특징 정보에 대해 비선형(non-linear) 특성을 부여하는 것으로, 활성화 함수는, 시그모이드 함수(sigmoid function), Tanh 함수, ReLU(Rectified Linear Unit) 함수, leaky ReLu 함수 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에서, 컨볼루션 뉴럴 네트워크(830)에 포함된 하나 이상의 컨볼루션 레이어들, 하나 이상의 활성화 레이어들을 통과함으로써, 특징 맵을 획득할 수 있다. 특징 맵은 하나 이상일 수 있다. 업스케일된 영상을(820) 컨볼루션 뉴럴 네트워크에 입력하여, 제 1 특징 맵 (834), 및 제 2 특징 맵(832)을 획득할 수 있다. 제 1 특징 맵(834)은 업스케일된 영상(820)을 컨볼루션 뉴럴 네트워크(830)에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력의 일부일 수 있고, 제 2 특징 맵(832)은 업스케일된 영상(820)을 컨볼루션 뉴럴 네트워크(830)에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력에서 제 1 특징 맵(834)을 제외한 나머지 일부일 수 있다. 제 1 특징 맵(834)을 출력하기 위해 이용된 하나 이상의 커널들과 제 2 특징 맵(832) 출력하기 위해 이용된 하나 이상의 커널들은 상이할 수 있다.
일 실시예에서, 전자 디바이스(100)는 제 1 특징 맵(834)을 제 1 컨볼루션 레이어(850)에 입력할 수 있다. 또한, 전자 디바이스(100)는 제 2 특징 맵(832)을 제 2 컨볼루션 레이어(840)에 입력할 수 있다. 전자 디바이스(100)는 제 1 특징 맵(834)을 제 1 컨볼루션 레이어(850)에 입력하여, 제 1 컨볼루션 레이어(850)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 게인 맵(Gain Map, 852)을 획득할 수 있다. 또한, 전자 디바이스(100)는 제 2 특징 맵(832)을 제 2 컨볼루션 레이어(840)에 입력하여, 제 2 컨볼루션 레이어(840)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 오프셋 맵(Gain Map, 842)을 획득할 수 있다.
일 실시예에서, 게인 맵(852)의 크기는 KW X KH X 1 로 표현될 수 있고, 오프셋 맵(742)의 크기는 KW X KH X 1 로 표현될 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820), 게인 맵(852), 및 오프셋 맵(842)에 기초하여 출력 영상(880)을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수개의 색상 채널, 게인 맵(852), 정규화 상수에 기초하여, 곱셈 연산을 수행하여 중간 맵(862)을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 개별 색상 채널 각각과 게인 맵(852)에 대하여 요소별 곱셈 연산을 수행할 수 있다. 요소별 곱셈 연산은, 업스케일된 영상(820)의 Y 채널과 게인 맵(852)의 동일한 위치에 있는 값들끼리 곱셈을 수행하는 연산일 수 있고, 업스케일된 영상(820)의 Co 채널 또는 Cg 채널과 게인 맵(852)의 동일한 위치에 있는 값들끼리 곱셈을 수행하는 연산일 수 있다. 또한, 요소별 곱셈 연산은 요소별 곱셈 레이어(860)를 통해 수행될 수 있다.
또한, 전자 디바이스(100)는 곱셈 연산을 수행하면서, 각 요소의 정규화를 위해 임의의 스칼라 수인 d를 사용할 수 있다. 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 개별 색상 채널 각각과 게인 맵(852)에 대하여 요소별 곱셈 레이어(860)를 통해서 요소별 곱셈 연산을 수행하고, 요소 별로 정규화 상수 1/d 를 곱하여, 즉 d를 나누어 중간 맵(862)을 출력할 수 있다.
일 실시예에서, 업스케일된 영상(820)의 Y 채널과 게인 맵(852)에 대하여 요소별 곱셈 연산을 수행하고, 요소별로 정규화 상수 1/d 를 곱할 수 있다. 업스케일된 영상(820)의 Co 채널 및 Cg 채널에 대해서도 동일한 동작을 수행할 수 있다. 또한, 상기 연산을 수행함으로써, 중간 맵(862)을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 개별 색상 채널 각각과 중간 맵(862)에 기초하여 출력 영상(880)을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 개별 색상 채널 각각과 중간 맵(862), 및 오프셋 맵(842)에 기초하여 출력 영상(880)을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 색상 채널 중, Y 채널과 중간 맵(862), 및 오프셋 맵(842)에 대하여 덧셈 연산을 수행한 것에 기초하여, 출력 영상(880)을 생성할 수 있다. 또한, 전자 디바이스(100)는 업스케일된 영상(820)의 복수 개의 색상 채널(864) 중, Co 또는 Cg 채널과 중간 맵(862)에 대하여 덧셈 연산을 수행한 것에 기초하여 출력 영상(880) 영상을 생성할 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 복수개의 색상 채널 각각과 중간 맵(862)에 기초하여, 요소별 덧셈 연산을 수행할 수 있다. 요소별 덧셈 연산은 업스케일된 영상(820)의 Y 채널, 중간 맵(862), 및 오프셋 맵(842)의 동일한 위치에 있는 값들끼리 덧셈 연산을 수행하는 연산일 수 있다. 또한, 전자 디바이스(100)는 업스케일된 영상(820)의 Co 또는 Cg 채널과 중간 맵(862)의 동일한 위치에 있는 값들끼리 덧셈 연산을 수행할 수 있다. 요소별 덧셈 연산은 요소별 덧셈 레이어(870-1,870-2)를 통해서 수행될 수 있다.
일 실시예에서, 전자 디바이스(100)는 업스케일된 영상(820)의 Y 채널, 중간 맵(862), 및 오프셋 맵(842)의 요소별 덧셈 연산을 수행할 수 있다. 전자 디바이스(100)는 업스케일된 영상(820)의 Co 채널, 중간 맵(862)의 요소별 덧셈 연산을 수행할 수 있다. 전자 디바이스(100)는 업스케일된 영상(820)의 Cg 채널, 중간 맵(862)의 요소별 덧셈 연산을 수행할 수 있다. 전자 디바이스(100)는 YCoCg 영상의 개별 채널에 대하여 각각 요소별 덧셈 연산을 수행하여, 출력 영상(880)을 생성할 수 있다. 출력 영상(880)의 크기는 KH X KW X 3으로 표현될 수 있다.
일 실시예에서, 전자 디바이스(100)는 YCoCg 영상의 복수 개의 색상 채널 중에서, Co채널 및 Cg 채널에 대하여는 오프셋 맵과 요소별 덧셈 연산을 수행하지 않는다. 중간 맵(862)은 YCoCg 채널과 게인 맵(852)에 요소별 곱셈 연산을 수행하고, 모든 요소에 정규화 함수 d를 나누어 획득한 맵(864)이고, KW X KH X 3 의 크기를 갖는다. 전자 디바이스(100)는 중간 맵 중에서 Y 채널의 특징을 포함하는 KW X KH X 1 크기의 맵과 오프셋 맵을 요소별 덧셈 레이어(870-1)에 입력할 수 있다. 전자 디바이스(100)는 요소별 덧셈 레이어(870-1)로부터 출력된 맵(866)과 업스케일된 영상(920)을 요소별 덧셈 레이어(870-2)에 입력할 수 있다. 요소별 덧셈 레이어(870-2)로부터 출력된 영상을 출력 영상(880)으로 지칭할 수 있다.
일 실시예에서, YCoCg 영상에 대한 색상 보정 AI 스케일러의 동작을 수학식으로 나타내면 다음과 같다.
일 실시예에서, 입력 영상(810)의 개별 채널을
Figure PCTKR2023004681-appb-img-000008
,
Figure PCTKR2023004681-appb-img-000009
이라고 표현하고, 출력 영상(880)의 개별 채널을
Figure PCTKR2023004681-appb-img-000010
,
Figure PCTKR2023004681-appb-img-000011
게인 맵(852)을
Figure PCTKR2023004681-appb-img-000012
, 오프셋 맵(842)을
Figure PCTKR2023004681-appb-img-000013
라 하고, 업스케일링을 Resize로 표현하면, YCoCg 색 공간에서 색상 보정 AI 스케일러의 수행은 다음과 같이 표현될 수 있다. d는 정규화를 위한 상수를 의미한다. 또한, 색상 채널 중 Co 채널과 Cg 채널에 대하여는, 동일한 연산을 수행하기 때문에 두 채널을 결합하여 표현하였다.
Figure PCTKR2023004681-appb-img-000014
Figure PCTKR2023004681-appb-img-000015
일 실시예에서, YCoCg 영상인 출력 영상(880)을 RGB 영상(885)으로 색 변환 하는 동작을 수행할 수 있다. YCoCg 영상을 RGB 영상으로 변환하는 식은 다음과 같다.
Figure PCTKR2023004681-appb-img-000016
한편, 도 8에 도시된 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 디바이스(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
도 9은 일 실시예에 따른, 색상 보정 AI 스케일러 모델이 화질 파이프 라인 내에서 적용될 수 있는 위치를 나타내는 도면이다.
일 실시예에서, 전자 디바이스(100)는 임의의 장면에 대한 영상을 획득할 수 있다. 예를 들어, 이미지 센서(920)가 식별한 장면(910)의 영상을 획득할 수 있다. 이미지 센서는 CCD 센서 (Charge-Coupled Device Sensor), 및 CMOS 센서(Complementary metal-oxide-semiconductor Sensor) 중 적어도 하나를 포함할 수 있다.
일 실시예에서, 이미지 센서(920)는 광자 정보를 식별하여 1 채널의 원시 이미지인 베이어 이미지(Bayer Image)를 획득할 수 있다. Neuro-ISP (Neuro-Image Signal Processor, 930)는 베이어 이미지를 RGB 이미지로 변환한다.
일 실시예에서, 전자 디바이스(100)는, RGB 영상에 대하여 부호화, 및 송수신 작업(940)을 수행할 수 있다. 또한, RGB 영상을 수신한 디바이스에서, RGB 영상을 영상 분석 및 영상 보정에 적합하도록 영상 전처리 작업인 Visual Enhancement(950) 작업을 수행한다.
일 실시예에서, 전자 디바이스(100)는 사용자가 설정한 해상도를 가지는 영상을 디스플레이 하기 위해 사용자의 입력(960)을 획득할 수 있다. 사용자가 설정한 해상도는 HD+, FHD+, 또는 그 이상의 해상도를 가질 수 있다. 전자 디바이스(100)는 사용자로부터, HD+의 해상도를 가지는 영상을 디스플레이 하는 명령이 입력된 경우, 입력 영상을 사용자가 설정한 해상도를 갖도록 업스케일링하여, 본 개시의 색상 보정 AI 스케일링 작업(970)을 수행하여 출력 영상을 생성할 수 있다. 한편, 사용자가 설정한 해상도가 입력 받은 RGB 영상의 해상도 보다 높으면 색상 보정 AI 스케일링 작업(970)이 수행될 수 있으며, 사용자가 설정한 해상도가 입력받은 RGB 영상의 해상도 보다 같거나 낮으면 색상 보정 AI 스케일링 작업(970)이 수행되지 않을 수 있다.
일 실시예에서, 전자 디바이스(100)는 색상 보정 AI 스케일러에 의해 생성된 출력 영상을 디스플레이부(980)에 디스플레이하여, 사용자에게 광자 정보의 영상(990)으로 제공할 수 있다.
한편, 도 9의 개시는 이미지 센서를 통해 영상을 획득, 처리, 또는 디스플레이 하는 대표적인 방법을 도시한 도면으로, 이미지 센서가 아닌 다른 방식으로 영상을 획득할 수 있다. 또한, 도 9에 개시된 모든 동작이 수행되어야 하는 것은 아니고, 동작이 개시된 순서대로 수행되어야 하는 것도 아니며, 일부 동작이 생략 될 수 있다. 한편, 상기 예시는 RGB 색 공간을 가지는 영상을 예로 들어 설명하나, YCoCg영상에도 동일하게 적용될 수 있다.
도 10은 일 실시예에 따른, 색상 보정을 위한 영상 처리 방법을 설명하기 위한 도면이다.
단계 S1010에서, 전자 디바이스(100)는, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성한다.
일 실시예에서, 전자 디바이스(100)는 입력 영상을 색상 보정 AI 스케일러에 입력하여, 업스케일된 영상을 생성할 수 있다. 입력 영상은 RGB 영상일 수도 있고, YCoCg 영상일 수도 있다. 업스케일링은 Nearest neighbor(최근접 이웃), Bilinear(이선형), Bicubic(쌍입방), Lanczos(란초스), 또는 spline(스플라인 곡선) 중 적어도 하나의 알고리즘 방식에 의해서 수행될 수 있다.
단계 S1020에서, 전자 디바이스(100)는, 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 업스케일된 영상과 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵 및 제 2 특징 맵을 획득할 수 있다.
일 실시예에서, 전자 디바이스(100)는, 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력할 수 있다. 컨볼루션 뉴럴 네트워크는 적어도 하나의 컨볼루션 레이어 및 적어도 하나의 활성화 레이어를 포함할 수 있다.
일 실시예에서, 컨볼루션 뉴럴 네트워크는 업스케일된 영상을 입력받아, 하나 이상의 커널들과 컨볼루션 연산을 수행하여, 특징 맵을 획득할 수 있으며, 특징 맵은 하나 이상일 수 있다.
일 실시예에서, 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 제 1 특징 맵, 및 제 2 특징 맵을 획득할 수 있다. 제 1 특징 맵은 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력의 일부일 수 있고, 제 2 특징 맵은 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력에서 제 1 특징 맵을 제외한 나머지 일부일 수 있다. 제 1 특징 맵을 출력하기 위해 이용된 하나 이상의 커널들과 제 2 특징 맵 출력하기 위해 이용된 하나 이상의 커널들은 상이할 수 있다.
일 실시예에서, 컨볼루션 뉴럴 네트워크는 입력 영상들과 입력 영상에 대응하는 색상 보정 AI 스케일러에 의한 출력 영상을 포함하는 훈련 데이터 셋을 이용하여 훈련 될 수 있다. 또한, 컨볼루션 뉴럴 네트워크는 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습 또는 훈련될 수 있다.
일 실시예에서, 컨볼루션 뉴럴 네트워크에 포함된 적어도 하나의 컨볼루션 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전 레이어의 연산 결과와 가중치들 간의 연산을 통해 컨볼루션 연산을 수행할 수 있다. 적어도 하나의 컨볼루션 레이어들이 갖고 있는 복수의 가중치들은 학습 결과에 의해 최적화될 수 있다. 예를 들어, 훈련 과정 동안 획득한 트레이닝 로스(Training loss) 값이 감소 또는 최소화되도록 가중치들이 갱신될 수 있다.
일 실시예에서, 훈련에 이용되는 트레이닝 로스는 L1 loss, 또는 SSIM(Structural Similarity Index Measure) loss를 포함할 수 있다. L1 loss는 입력 영상과 출력 영상의 픽셀 값 차이의 절대 값의 합을 최소화 하기 위해 이용되는 트레이닝 로스일 수 있고, SSIM loss는 입력 영상과 출력 영상의 luminance, contrast, 및 structure의 3가지 요소 값에 대한 통계치의 차이를 최소화 하기 위해 이용되는 트레이닝 로스일 수 있다. 한편, 색상 보정 AI 스케일러는 색상 보정을 위한 구조를 포함하고 있어, 색상 보정을 위한 트레이닝 로스를 개별적으로 정의할 필요가 없다.
단계 S1030에서, 전자 디바이스(100)는, 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵을 획득한다.
일 실시예에서, 전자 디바이스(100)는, 획득한 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력할 수 있다. 제 1 특징 맵과 제 1 컨볼루션 레이어에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 게인 맵을 획득할 수 있다.
일 실시예에서, 제 1 컨볼루션 레이어는 입력 영상들과 입력 영상에 대응하는 색상 보정 AI 스케일러에 의한 출력 영상을 포함하는 훈련 데이터 셋을 이용하여 훈련 될 수 있다. 또한, 컨볼루션 뉴럴 네트워크는 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습 또는 훈련될 수 있다. 훈련에 이용되는 트레이닝 로스(Training loss)는 L1 loss, 또는 SSIM loss 을 포함할 수 있다.
단계 S1040에서, 전자 디바이스(100)는, 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵을 획득한다.
일 실시예에서, 전자 디바이스(100)는, 획득한 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력할 수 있다. 제 2 특징 맵과 제 2 컨볼루션 레이어에 포함된 하나 이상의 커널들과 컨볼루션 연산을 수행하여 오프셋 맵을 획득할 수 있다.
일 실시예에서, 제 2 컨볼루션 레이어는 입력 영상들과 입력 영상에 대응하는 색상 보정 AI 스케일러에 의한 출력 영상을 포함하는 훈련 데이터 셋을 이용하여 훈련 될 수 있다. 또한, 컨볼루션 뉴럴 네트워크는 입력 영상과 출력 영상의 색상의 차이를 감소시키도록 학습 또는 훈련될 수 있다. 훈련에 이용되는 트레이닝 로스(Training loss)는 L1 loss, 또는 SSIM loss 을 포함할 수 있다.
단계 S1050에서, 전자 디바이스(100)는, 업스케일된 영상, 게인 맵, 오프셋 맵에 기초하여, 출력 영상을 생성한다.
일 실시예에서, 전자 디바이스(100)는, 업스케일된 영상, 게인 맵, 오프셋 맵을 이용하여 색상의 왜곡 또는 변화를 감소시킨 출력 영상을 생성할 수 있다.
일 실시예에서, 업스케일된 영상이 RGB 영상인 경우, 업스케일된 영상의 복수개의 개별 색상 채널, 게인 맵을 곱하고, 정규화 상수를 나누어, 요소별 곱셈 연산을 수행함으로써, 중간 맵을 획득할 수 있다. 업스케일된 영상의 복수개의 개별 색상 채널, 중간 맵, 오프셋 맵을 더하여, 요소별 덧셈 연산을 수행함으로써, 출력 영상을 생성할 수 있다. 요소별 곱셈 연산 및 요소별 덧셈 연산은 요소별 곱셈 레이어, 요소별 덧셈 레이어를 통해서 수행될 수 있다.
일 실시예에서, 업스케일된 영상이 YCoCg 영상인 경우, 전자 디바이스(100)는 업스케일된 영상의 복수개의 개별 색상 채널, 게인 맵을 곱하고, 정규화 상수를 나누어, 요소별 곱셈 연산을 수행함으로써, 중간 맵을 획득할 수 있다. 그리고, 전자 디바이스(100)는 업스케일된 영상의 Y 채널, 중간 맵, 오프셋 맵을 더하여, 요소별 덧셈 연산을 수행할 수 있다. 전자 디바이스(100)는 업스케일된 영상의 Co 채널과 중간 맵을 더하여, 요소별 덧셈 연산을 수행할 수 있다. 또한, 전자 디바이스(100)는 업스케일된 영상의 Cg 채널과 중간 맵을 더하여, 요소별 덧셈 연산을 수행할 수 있다. 전자 디바이스(100)는 업스케일된 영상의 개별 채널에 요소별 덧셈 연산을 각각 수행함으로써, 출력 영상을 생성할 수 있다. 전자 디바이스(100)는 요소별 곱셈 연산 및 요소별 덧셈 연산을 요소별 곱셈 레이어, 요소별 덧셈 레이어를 이용하여 수행할 수 있다.
도 11는 일 실시예에 따른, 전자 디바이스(100)의 구성을 나타내는 블록도이다.
일 실시예에서, 전자 디바이스(100)는, 메모리(1110) 및 프로세서(1120)을 포함할 수 있다.
일 실시예에서, 프로세서(1120)는 전자 디바이스(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(1120)는 메모리(1110)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에서, 메모리(1110)는 전자 디바이스(100)를 구동하고, 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(1110)에 저장되는 프로그램은 하나 이상의 인스트럭션을 포함할 수 있다. 메모리(1110)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(1120)에 의해 실행될 수 있다.
일 실시예에서, 프로세서(1120)는 CPU(Cetral Processing Unit), GPU (Graphic Processing Unit) 및 VPU(Video Processing Unit) 중 적어도 하나를 포함할 수 있다. 또는, 실시예에 따라, CPU, GPU 및 VPU 중 적어도 하나를 통합한 SoC(System On Chip) 형태로 구현될 수 있다. 또는, 프로세서(1120)는 NPU(Neural Processing Unit)를 더 포함할 수 있다.
일 실시예에서, 프로세서(1120)는 색상 보정 AI 스케일러를 이용하여, 입력 영상에 대하여 업스케일링을 수행하면서 색상의 왜곡 또는 변화를 감소시키도록 색상 보정한 출력 영상을 생성할 수 있다. 예를 들어, 프로세서(1120)는, 도 6 내지 도 8에서 도시하고 설명한 단계들 중 적어도 하나를 수행할 수 있다.
일 실시예에서, 프로세서(1120)는 입력 영상을 색상 보정 AI 스케일러에 입력하여, 업스케일된 영상을 생성할 수 있다. 예를 들어, 프로세서(1120)는 Nearest neighbor(최근접 이웃), Bilinear(이선형), Bicubic(쌍입방), Lanczos(란초스), 또는 spline(스플라인 곡선) 알고리즘 중 적어도 하나를 이용하여, 업스케일링을 수행할 수 있다.
일 실시예에서, 프로세서(1120)는 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 업스케일된 영상과 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써 제 1 특징 맵 및 제 2 특징맵을 획득할 수 있다. 컨볼루션 뉴럴 네트워크는 적어도 하나의 컨볼루션 레이어 및 적어도 하나의 활성화 레이어를 포함할 수 있다.
일 실시예에서, 프로세서(1120)는 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 제 1 특징 맵, 및 제 2 특징 맵을 획득할 수 있다. 제 1 특징 맵은 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력의 일부일 수 있고, 제 2 특징 맵은 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 하나 이상의 커널들과의 컨볼루션 연산을 수행하여 획득된 출력에서 제 1 특징 맵을 제외한 나머지 일부일 수 있다. 제 1 특징 맵을 출력하기 위해 이용된 하나 이상의 커널들과 제 2 특징 맵을 출력하기 위해 이용된 하나 이상의 커널들은 상이할 수 있다.
일 실시예에서, 프로세서(1120)는 컨볼루션 뉴럴 네트워크, 제 1 컨볼루션 레이어, 제 2 컨볼루션 레이어 중에서 적어도 하나를 입력 영상들과 입력 영상에 대응하는 색상 보정 AI 스케일러에 의한 출력 영상을 포함하는 훈련 데이터셋을 이용하여 훈련시킬 수 있다. 컨볼루션 뉴럴 네트워크, 제 1 컨볼루션 레이어, 제 2 컨볼루션 레이어 중에서 적어도 하나는 입력 영상과 상기 출력 영상의 색상의 차이를 감소시키도록 학습 또는 훈련될 수 있다. 상기 훈련에 이용되는 트레이닝 로스는 L1 loss, 또는 SSIM loss 을 포함할 수 있다.
일 실시예에서, 프로세서(1120)는, 획득한 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력할 수 있고, 획득한 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력할 수도 있다. 프로세서(1120)는 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여, 제 1 특징 맵과 제 1 컨볼루션 레이어에 포함된 하나 이상의 커널들과 컨볼루션 연산을 수행하여 게인 맵을 획득할 수 있다. 프로세서(1120)는 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여, 제 2 특징 맵과 제 2 컨볼루션 레이어에 포함된 하나 이상의 커널들과 컨볼루션 연산을 수행하여, 오프셋 맵을 획득할 수 있다.
일 실시예에서, 프로세서(1120)는 업스케일된 영상, 게인 맵, 및 오프셋 맵을 이용하여, 색상의 왜곡이 감소되도록 색상 보정된 출력 영상을 획득할 수 있다. 업스케일된 영상의 복수 개의 개별 색상 채널과 게인 맵을 곱하고 정규화 상수를 나누어, 요소별 곱셈 연산을 수행하여 중간 맵을 획득할 수 있다. 프로세서(1120)는, 업스케일된 영상이 RGB 영상인 것에 응답하여, 업스케일된 영상의 복수 개의 개별 색상 채널과 중간 맵, 오프셋 맵에 대하여 요소별 덧셈 연산을 수행함으로써, 출력 영상을 획득할 수 있다. 프로세서(1120)는, 업스케일된 영상이 YCocCg 영상인 것에 응답하여, 업스케일된 영상의 Y 채널과 중간 맵, 오프셋 맵에 대하여 요소별 덧셈 연산을 수행하고, 업스케일된 영상의 Co, Cg 채널과 중간 맵에 대하여 요소별 덧셈 연산을 수행함으로써, 출력 영상을 획득할 수 있다.
일 실시예에 따라, 영상 처리 방법이 제공된다. 상기 방법은, 입력 영상(710,810)을 업스케일링하여, 업스케일된 영상(720,820)을 생성할 수 있다. 상기 방법은, 상기 업스케일된 영상(720,820)을 컨볼루션 뉴럴 네트워크(730,830)에 입력하여, 상기 업스케일된 영상(720,820)과 상기 컨볼루션 뉴럴 네트워크(730,830)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵(734,834), 및 제 2 특징 맵(732,832)을 획득할 수 있다. 상기 방법은, 상기 제 1 특징 맵(734,834)을 제 1 컨볼루션 레이어(750,850)에 입력하여 게인 맵(Gain Map)(752,852)을 획득할 수 있다. 상기 방법은, 상기 제 2 특징 맵(732,832)을 제 2 컨볼루션 레이어(740,840)에 입력하여 오프셋 맵(Offset Map)(742,842)을 획득할 수 있다. 상기 업스케일된 영상(720,820), 상기 게인 맵(752,852), 및 상기 오프셋 맵(742,842)에 기초하여, 출력 영상(780,880)을 생성하는 단계를 포함할 수 있다. 상기 컨볼루션 뉴럴 네트워크(730,830)는 상기 입력 영상과 출력 영상의 색상(HUE) 차이를 감소시키도록 학습될 수 있다.
일 실시예에 따라, 상기 방법은, 상기 업스케일된 영상(720,820)의 복수 개의 색상 채널, 상기 게인 맵(752,852), 및 정규화 상수(normalization constant)에 기초하여, 요소별 곱셈 연산을 수행하여 중간 맵(762,862)을 획득할 수 있다. 상기 방법은, 상기 업스케일된 영상(720,820)의 복수 개의 색상 채널과 상기 중간 맵(762,862)에 대하여 요소별 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성할 수 있다.
일 실시예에 따라, 상기 컨볼루션 뉴럴 네트워크(730,830), 상기 제 1 컨볼루션 레이어(750,850), 또는 상기 제 2 컨볼루션 레이어(740,840) 중에서 적어도 하나는, 입력 영상들과 상기 입력 영상들에 대응되는 출력 영상들을 포함하는 훈련 데이터 셋을 이용하여 훈련될 수 있다. 상기 출력 영상들은, 상기 업스케일된 영상들을 색상 보정하여 상기 입력 영상들로부터의 색상 왜곡을 감소시킨 영상일 수 있다.
일 실시예에 따라, 상기 훈련은, 트레이닝 로스(Training Loss)를 이용하여 수행되고, 상기 트레이닝 로스(Training Loss) 는 L1 loss, 및 SSIM loss 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810) 및 상기 출력 영상(780,880)은 그레이 스케일(Gray Scale) 영상일 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810) 및 상기 출력 영상(780,880)은, RGB 색 공간 또는 YCoCg 색 공간을 가지는 영상일 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810)의 복수 개의 색상 채널 중에서 2 이상의 색상 채널이 동일한 값을 가질 수 있다. 동일한 값을 가지는, 상기 2 이상의 색상 채널에 대응하는, 상기 출력 영상(780,880)의 2 이상의 색상 채널은 동일한 값을 가질 수 있다.
일 실시에에 따라, 상기 방법은, RGB 색 공간을 가지는 영상에 색 공간 변환을 수행하여, YCoCg 색 공간을 가지는 영상을 획득할 수 있다. 상기 방법은, 생성한 상기 출력 영상에 색 공간 변환을 수행하여, RGB 색 공간을 가지는 영상을 획득할 수 있다. 상기 입력 영상(810)은, 획득한 상기 YCoCg 색 공간을 가지는 영상이고, 상기 출력 영상(880)은, YCoCg 색 공간을 가지는 영상인, 방법.
일 실시예에 따라, 상기 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성하는 단계는, 상기 입력 영상(710) 및 상기 출력 영상(780)이 RGB 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(720)의 복수 개의 색상 채널, 상기 중간 맵(762), 및 상기 오프셋 맵(742)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(780)을 생성할 수 있다. 상기 입력 영상 및 상기 출력 영상이 YCoCg 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(820)의 Y 색상 채널, 상기 중간 맵(862), 및 상기 오프셋 맵(842)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(880)을 생성할 수 있다.
일 실시예에 따라, 상기 방법은, 사용자가 설정한 해상도를 가지는 영상을 디스플레이 하기 위한 상기 사용자의 입력을 획득할 수 있다. 상기 업스케일된 영상(720,820)을 생성하는 단계는, 사용자가 설정한 해상도를 가지도록 상기 입력 영상(710,810)을 업스케일링 할 수 있다. 상기 사용자가 설정한 해상도는 HD+ 이상의 해상도일 수 있다.
일 실시예에 따른, 영상 처리를 위한 전자 디바이스(100)에 있어서, 하나 이상의 인스트럭션들을 저장하는 메모리(1110) 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서(1120)를 포함할 수 있다. 상기 적어도 하나의 프로세서(1120)는, 입력 영상(710,810)을 업스케일링하여, 업스케일된 영상(720,820)을 생성할 수 있다. 상기 업스케일된 영상(720,820)을 컨볼루션 뉴럴 네트워크(730,830)에 입력하여, 상기 업스케일된 영상(720,820)과 상기 컨볼루션 뉴럴 네트워크(730,830)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵(734,834), 및 제 2 특징 맵(732,832)을 획득할 수 있다. 상기 적어도 하나의 프로세서(1120)는, 상기 제 1 특징 맵(734,834)을 제 1 컨볼루션 레이어(750,850)에 입력하여 게인 맵(Gain Map)(752,852)을 획득할 수 있다. 상기 적어도 하나의 프로세서(1120)는, 상기 제 2 특징 맵(732,832)을 제 2 컨볼루션 레이어(740,840)에 입력하여 오프셋 맵(Offset Map)(742,842)을 획득할 수 있다. 상기 적어도 하나의 프로세서(1120)는, 상기 업스케일된 영상(720,820), 상기 게인 맵(752,852), 및 상기 오프셋 맵(742,842)에 기초하여, 출력 영상(780,880)을 생성할 수 있다. 상기 컨볼루션 뉴럴 네트워크(730,830)는 상기 입력 영상과 상기 출력 영상의 색상(HUE) 차이를 감소시키도록 학습될 수 있다.
일 실시예에 따라, 적어도 하나의 프로세서(1120)는, 상기 업스케일된 영상(720,820)의 복수 개의 색상 채널, 상기 게인 맵(752,852), 및 정규화 상수(normalization constant)에 기초하여, 요소별 곱셈 연산을 수행하여 중간 맵(762,862)을 획득할 수 있다. 적어도 하나의 프로세서(1120)는, 상기 업스케일된 영상(720,820)의 복수 개의 색상 채널과 상기 중간 맵(762,862)에 대하여 요소별 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성할 수 있다.
일 실시예에 따라, 상기 컨볼루션 뉴럴 네트워크(730,830), 상기 제 1 컨볼루션 레이어(750,850), 또는 상기 제 2 컨볼루션 레이어(740,840) 중에서 적어도 하나는, 입력 영상들과 상기 입력 영상들에 대응되는 출력 영상들을 포함하는 훈련 데이터 셋을 이용하여 훈련될 수 있다. 상기 출력 영상들은, 상기 업스케일된 영상들을 색상 보정하여 상기 입력 영상들로부터의 색상 왜곡을 감소시킨 영상일 수 있다.
일 실시예에 따라, 상기 훈련은, 트레이닝 로스(Training Loss)를 이용하여 수행되고, 상기 트레이닝 로스(Training Loss) 는 L1 loss, 및 SSIM loss 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810) 및 상기 출력 영상(780,880)은 그레이 스케일(Gray Scale) 영상일 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810), 및 상기 출력 영상(780,880)은, RGB 색 공간 또는 YCoCg 색 공간을 가지는 영상일 수 있다.
일 실시예에 따라, 상기 입력 영상(710,810)의 복수 개의 색상 채널 중에서 2 이상의 색상 채널이 동일한 값을 가지고, 동일한 값을 가지는, 상기 2 이상의 색상 채널에 대응하는, 상기 출력 영상(780,880)의 2 이상의 색상 채널은 동일한 값을 가질 수 있다.
일 실시예에 따라, 적어도 하나의 프로세서(1120)는, RGB 색 공간을 가지는 영상에 색 공간 변환을 수행하여, YCoCg 색 공간을 가지는 영상을 획득할 수 있다. 적어도 하나의 프로세서는, 생성한 상기 출력 영상에 색 공간 변환을 수행하여, RGB 색 공간을 가지는 영상을 획득할 수 있다. 입력 영상(810)은, 획득한 상기 YCoCg 색공간을 가지는 영상일 수 있다. 출력 영상(880)은, YCoCg 색공간을 가지는 영상일 수 있다.
일 실시예에 따라, 적어도 하나의 프로세서(1120)는 상기 입력 영상(710) 및 상기 출력 영상(780)이 RGB 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(720)의 복수 개의 색상 채널, 상기 중간 맵(762), 및 상기 오프셋 맵(742)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(780)을 생성할 수 있다. 적어도 하나의 프로세서(1120)는 상기 입력 영상 및 상기 출력 영상이 YCoCg 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(820)의 Y 색상 채널, 상기 중간 맵(862), 및 상기 오프셋 맵(842)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(880)을 생성할 수 있다.
일 실시예에 따라, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다. 상기 기록 매체는, 입력 영상을 업스케일링하여, 업스케일된 영상을 생성하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 업스케일된 영상을 컨볼루션 뉴럴 네트워크에 입력하여, 상기 업스케일된 영상과 상기 컨볼루션 뉴럴 네트워크에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵 및, 제 2 특징 맵을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 제 1 특징 맵을 제 1 컨볼루션 레이어에 입력하여 게인 맵(Gain Map)을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 제 2 특징 맵을 제 2 컨볼루션 레이어에 입력하여 오프셋 맵(Offset Map)을 획득하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 기록 매체는, 상기 업스케일된 영상, 상기 게인 맵, 및 상기 오프셋 맵에 기초하여, 출력 영상을 생성하는 단계를 컴퓨터에서 실행시키기 위해 컴퓨터로 읽을 수 있도록 제공될 수 있다. 상기 컨볼루션 뉴럴 네트워크는 상기 입력 영상과 상기 출력 영상의 색상 차이를 감소시키도록 학습될 수 있다.
본 개시의 방법은 프로세서, ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 SoC(system-on-chip)에 의하여 실행될 수 있다. 또한, 기재된 방법은 컴퓨터로 실행할 수 있는 인스트럭션을 저장하고, 컴퓨터에 프로세서(130)에 의하여 실행될 때 본 개시의 방법을 실행하도록 할 수 있는 저장매체에 의하여 실행될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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. 영상 처리 방법에 있어서,
    입력 영상(710,810)을 업스케일링하여, 업스케일된 영상(720,820)을 생성하는 단계;
    상기 업스케일된 영상(720,820)을 컨볼루션 뉴럴 네트워크(730,830)에 입력하여, 상기 업스케일된 영상(720,820)과 상기 컨볼루션 뉴럴 네트워크(730,830)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵(734,834), 및 제 2 특징 맵(732,832)을 획득하는 단계;
    상기 제 1 특징 맵(734,834)을 제 1 컨볼루션 레이어(750,850)에 입력하여 게인 맵(Gain Map)(752,852)을 획득하는 단계;
    상기 제 2 특징 맵(732,832)을 제 2 컨볼루션 레이어(740,840)에 입력하여 오프셋 맵(Offset Map)(742,842)을 획득하는 단계; 및
    상기 업스케일된 영상(720,820), 상기 게인 맵(752,852), 및 상기 오프셋 맵(742,842)에 기초하여, 출력 영상(780,880)을 생성하는 단계를 포함하고,
    상기 컨볼루션 뉴럴 네트워크(730,830)는,
    상기 입력 영상과 출력 영상의 색상(HUE) 차이를 감소시키도록 학습되는, 방법.
  2. 제 1항에 있어서,
    상기 업스케일된 영상(720,820), 상기 게인 맵(752,852), 및 상기 오프셋 맵(742,842)에 기초하여, 상기 출력 영상(780,880)을 생성하는 단계는,
    상기 업스케일된 영상(720,820)의 복수 개의 색상 채널, 상기 게인 맵(752,852), 및 정규화 상수에 기초하여, 요소별 곱셈 연산을 수행하여 중간 맵(762,862)을 획득하는 단계; 및
    상기 업스케일된 영상(720,820)의 복수 개의 색상 채널과 상기 중간 맵(762,862)에 대하여 요소별 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성하는 단계를 포함하는, 방법.
  3. 제 1항 내지 제 2항 중 어느 한 항에 있어서,
    상기 컨볼루션 뉴럴 네트워크(730,830), 상기 제 1 컨볼루션 레이어(750,850), 또는 상기 제 2 컨볼루션 레이어(740,840) 중에서 적어도 하나는, 입력 영상들과 상기 입력 영상들에 대응되는 출력 영상들을 포함하는 훈련 데이터 셋을 이용하여 훈련되고,
    상기 출력 영상들은, 상기 업스케일된 영상들을 색상 보정하여 상기 입력 영상들로부터의 색상 왜곡을 감소시킨 영상인, 방법.
  4. 제 3항에 있어서,
    상기 훈련은,
    트레이닝 로스(Training Loss)를 이용하여 수행되고,
    상기 트레이닝 로스는 L1 loss, 및 SSIM loss 중 적어도 하나를 포함하는, 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서,
    상기 입력 영상(710,810) 및 상기 출력 영상(780,880)은,
    그레이 스케일(Gray Scale) 영상인, 방법.
  6. 제 1항 내지 제 5항 중 어느 한 항에 있어서
    상기 입력 영상(710,810), 및 상기 출력 영상(780,880)은,
    RGB 색 공간 또는 YCoCg 색 공간을 가지는 영상인, 방법.
  7. 제 6항에 있어서,
    상기 입력 영상(710,810)의 복수 개의 색상 채널 중에서 2 이상의 색상 채널이 동일한 값을 가지고,
    동일한 값을 가지는, 상기 2 이상의 색상 채널에 대응하는, 상기 출력 영상(780,880)의 2 이상의 색상 채널은 동일한 값을 가지는, 방법.
  8. 제 1항 내지 제 7항 중 어느 한 항에 있어서,
    상기 영상 처리 방법은,
    RGB 색 공간을 가지는 영상에 색 공간 변환을 수행하여, YCoCg 색 공간을 가지는 영상을 획득하는 단계; 및
    생성한 상기 출력 영상에 색 공간 변환을 수행하여, RGB 색 공간을 가지는 영상을 획득하는 단계를 더 포함하고,
    상기 입력 영상(810)은,
    획득한 상기 YCoCg 색 공간을 가지는 영상이고,
    상기 출력 영상(880)은,
    YCoCg 색 공간을 가지는 영상인, 방법.
  9. 제 2항 내지 제 8항 중 어느 한 항에 있어서,
    상기 요소별 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성하는 단계는,
    상기 입력 영상(710) 및 상기 출력 영상(780)이 RGB 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(720)의 복수 개의 색상 채널, 상기 중간 맵(762), 및 상기 오프셋 맵(742)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(780)을 생성하는 단계; 또는
    상기 입력 영상 및 상기 출력 영상이 YCoCg 색 공간을 가지는 영상인 것에 응답하여, 상기 업스케일된 영상(820)의 Y 색상 채널, 상기 중간 맵(862), 및 상기 오프셋 맵(842)에 대하여 요소별 덧셈 연산을 수행하여, 상기 출력 영상(880)을 생성하는 단계를 포함하는, 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서,
    상기 영상 처리 방법은,
    사용자가 설정한 해상도를 가지는 영상을 디스플레이 하기 위한 상기 사용자의 입력을 획득하는 단계를 더 포함하고,
    상기 업스케일된 영상(720,820)을 생성하는 단계는,
    상기 사용자가 설정한 해상도를 가지도록 상기 입력 영상(710,810)을 업스케일링하는 단계를 포함하고,
    상기 사용자가 설정한 해상도는,
    HD+ 이상의 해상도인, 방법.
  11. 영상 처리를 위한 전자 디바이스(100)에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리(1110); 및
    상기 메모리(1110)에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서(1120)를 포함하고,
    상기 적어도 하나의 프로세서(1120)는,
    입력 영상(710,810)을 업스케일링하여, 업스케일된 영상(720,820)을 생성하고,
    상기 업스케일된 영상(720,820)을 컨볼루션 뉴럴 네트워크(730,830)에 입력하여, 상기 업스케일된 영상(720,820)과 상기 컨볼루션 뉴럴 네트워크(730,830)에 포함되는 하나 이상의 커널들과의 컨볼루션 연산을 수행함으로써, 제 1 특징 맵(734,834), 및 제 2 특징 맵(732,832)을 획득하고,
    상기 제 1 특징 맵(734,834)을 제 1 컨볼루션 레이어(750,850)에 입력하여 게인 맵(752,852)을 획득하고,
    상기 제 2 특징 맵(732,832)을 제 2 컨볼루션 레이어(740,840)에 입력하여 오프셋 맵(742,842)을 획득하고,
    상기 업스케일된 영상(720,820), 상기 게인 맵(752,852), 및 상기 오프셋 맵(742,842)에 기초하여, 출력 영상(780,880)을 생성하고,
    상기 컨볼루션 뉴럴 네트워크(730,830)는,
    상기 입력 영상과 상기 출력 영상의 색상(HUE) 차이를 감소시키도록 학습되는, 전자 디바이스(100).
  12. 제 11 항에 있어서,
    상기 적어도 하나의 프로세서(1120)는,
    상기 업스케일된 영상(720,820)의 복수 개의 색상 채널, 상기 게인 맵(752,852), 및 정규화 상수에 기초하여, 요소별 곱셈 연산을 수행하여 중간 맵(762,862)을 획득하고,
    상기 업스케일된 영상(720,820)의 복수 개의 색상 채널과 상기 중간 맵(762,862)에 대하여 요소별 덧셈 연산을 수행한 것에 기초하여, 상기 출력 영상(780,880)을 생성하는, 전자 디바이스(100).
  13. 제 11항 내지 제 12항 중 어느 한 항에 있어서,
    상기 컨볼루션 뉴럴 네트워크(730,830), 상기 제 1 컨볼루션 레이어(750,850), 또는 상기 제 2 컨볼루션 레이어(740,840) 중에서 적어도 하나는, 입력 영상들과 상기 입력 영상들에 대응되는 출력 영상들을 포함하는 훈련 데이터 셋을 이용하여 훈련되고,
    상기 출력 영상들은, 상기 업스케일된 영상들을 색상 보정하여 상기 입력 영상들로부터의 색상 왜곡을 감소시킨 영상인, 전자 디바이스(100).
  14. 제 13항에 있어서,
    상기 훈련은, 트레이닝 로스(Training Loss)를 이용하여 수행되고,
    상기 트레이닝 로스는 L1 loss, 및 SSIM loss 중 적어도 하나를 포함하는, 전자 디바이스(100).
  15. 제 1항 내지 제 10항의 방법 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2023/004681 2022-04-28 2023-04-06 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체 WO2023211000A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0052894 2022-04-28
KR20220052894 2022-04-28
KR10-2022-0130916 2022-10-12
KR1020220130916A KR20230153223A (ko) 2022-04-28 2022-10-12 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체

Publications (1)

Publication Number Publication Date
WO2023211000A1 true WO2023211000A1 (ko) 2023-11-02

Family

ID=88519284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/004681 WO2023211000A1 (ko) 2022-04-28 2023-04-06 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체

Country Status (1)

Country Link
WO (1) WO2023211000A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200040186A (ko) * 2018-10-08 2020-04-17 주식회사 스트라드비젼 R-cnn 기반의 객체 검출기를 학습하는 방법 및 테스팅하는 방법, 이를 이용한 학습 장치 및 테스팅 장치
KR20200116767A (ko) * 2019-04-02 2020-10-13 네이버웹툰컴퍼니 주식회사 딥러닝 기반 컬러링 방법, 시스템 및 프로그램
KR20210016587A (ko) * 2018-05-30 2021-02-16 에이아이모티브 케이에프티. 입력 데이터 세트 쌍의 변위 맵을 생성하는 방법 및 장치
KR102303666B1 (ko) * 2015-06-24 2021-09-23 삼성디스플레이 주식회사 영상 처리 방법, 영상 처리 방법을 수행하는 영상 처리 장치, 및 영상 처리 장치를 포함하는 표시 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102303666B1 (ko) * 2015-06-24 2021-09-23 삼성디스플레이 주식회사 영상 처리 방법, 영상 처리 방법을 수행하는 영상 처리 장치, 및 영상 처리 장치를 포함하는 표시 장치
KR20210016587A (ko) * 2018-05-30 2021-02-16 에이아이모티브 케이에프티. 입력 데이터 세트 쌍의 변위 맵을 생성하는 방법 및 장치
KR20200040186A (ko) * 2018-10-08 2020-04-17 주식회사 스트라드비젼 R-cnn 기반의 객체 검출기를 학습하는 방법 및 테스팅하는 방법, 이를 이용한 학습 장치 및 테스팅 장치
KR20200116767A (ko) * 2019-04-02 2020-10-13 네이버웹툰컴퍼니 주식회사 딥러닝 기반 컬러링 방법, 시스템 및 프로그램

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
INOUE KOHEI, JIANG MINYAO, HARA KENJI: "Hue-Preserving Saturation Improvement in RGB Color Cube", JOURNAL OF IMAGING, vol. 7, no. 8, pages 150, XP093103309, DOI: 10.3390/jimaging7080150 *

Similar Documents

Publication Publication Date Title
WO2020027519A1 (ko) 영상 처리 장치 및 그 동작방법
WO2016133293A1 (ko) 메타데이터 기반 영상 처리 방법 및 장치
WO2020017871A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020045848A1 (ko) 세그멘테이션을 수행하는 뉴럴 네트워크를 이용한 질병 진단 시스템 및 방법
WO2022019675A1 (ko) 시설 평면도에 포함된 기호 분석 장치 및 방법
WO2020197018A1 (en) Image processing apparatus and image processing method thereof
WO2021006482A1 (en) Apparatus and method for generating image
WO2023211000A1 (ko) 컨볼루션 뉴럴 네트워크를 이용한 영상 처리 방법, 전자 디바이스, 및 저장매체
WO2019190142A1 (en) Method and device for processing image
WO2021075758A1 (en) Electronic apparatus and controlling method thereof
EP3707678A1 (en) Method and device for processing image
WO2022019390A1 (ko) 데이터 증강 기반 사물 분석 모델 학습 장치 및 방법
WO2023055033A1 (en) Method and apparatus for enhancing texture details of images
WO2020122389A1 (ko) 영상 처리 장치 및 그 동작방법
WO2022108114A1 (ko) 적층형 디스플레이 장치 및 이의 제어 방법
WO2022092555A1 (ko) 노이즈 저감 처리된 이미지 데이터를 생성하는 방법 및 이를 수행하는 전자 장치
WO2021015500A1 (ko) 디스플레이 장치 및 이의 제어 방법
WO2022103121A1 (en) Electronic device for estimating camera illuminant and method of the same
WO2020159223A1 (ko) 렌즈리스 초분광 영상 이미징 방법 및 그 장치
WO2022019389A1 (ko) 데이터 증강 기반 공간 분석 모델 학습 장치 및 방법
WO2020204287A1 (en) Display apparatus and image processing method thereof
WO2022108093A1 (ko) 전자 장치 및 그 제어 방법
WO2023033360A1 (ko) 영상 처리 장치 및 그 동작 방법
WO2024072000A1 (ko) 3d 영상을 표시하기 위한 전자 장치 및 전자 장치의 동작 방법
WO2023219277A1 (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: 23796649

Country of ref document: EP

Kind code of ref document: A1