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

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

Info

Publication number
WO2020122389A1
WO2020122389A1 PCT/KR2019/013301 KR2019013301W WO2020122389A1 WO 2020122389 A1 WO2020122389 A1 WO 2020122389A1 KR 2019013301 W KR2019013301 W KR 2019013301W WO 2020122389 A1 WO2020122389 A1 WO 2020122389A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
feature maps
image
pixel
image processing
Prior art date
Application number
PCT/KR2019/013301
Other languages
English (en)
French (fr)
Inventor
임경민
이재성
이태미
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN201980082417.8A priority Critical patent/CN113196380B/zh
Priority to EP19895723.5A priority patent/EP3879520A4/en
Priority to US17/413,404 priority patent/US11995795B2/en
Publication of WO2020122389A1 publication Critical patent/WO2020122389A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0457Improvement of perceived resolution by subpixel rendering
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/22Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources
    • G09G3/30Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels
    • G09G3/32Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters using controlled light sources using electroluminescent panels semiconductive, e.g. using light-emitting diodes [LED]

Definitions

  • Various embodiments of the present disclosure relate to an image processing apparatus for processing an image using a deep neural network, and an operation method thereof, and more specifically, an image processing apparatus capable of performing sub-pixel rendering using a deep neural network and the same It relates to the operation method.
  • AI Integrated место ⁇ оло ⁇ оло ⁇ оло ⁇ оло ⁇ равнени ⁇ или ⁇ оло ⁇ ение
  • the neural network is a model of the characteristics of human biological neurons by mathematical expression, and uses an algorithm that mimics the ability of human learning. Through this algorithm, the neural network can generate a mapping between input data and output data, and the ability to generate such mapping can be expressed as a learning ability of the neural network. In addition, the neural network has a generalization ability to generate correct output data for input data that has not been used for learning based on the learned results.
  • the image processing apparatus may perform sub-pixel rendering by increasing the cognitive resolution of the display by adjusting values in units of sub-pixels included in one pixel.
  • the image processing apparatus may perform sub-pixel rendering by increasing the cognitive resolution of the display by adjusting values in units of sub-pixels included in one pixel.
  • the image processing apparatus may perform sub-pixel rendering by increasing the cognitive resolution of the display by adjusting values in units of sub-pixels included in one pixel.
  • the image processing apparatus may perform sub-pixel rendering by increasing the cognitive resolution of the display by adjusting values in units of sub-pixels included in one pixel.
  • the specific gravity of the blank area is high (the area of the light emitting device is small compared to the pixel area), and the sub-pixels are arranged asymmetrically. The value of sub-pixels in one pixel is greatly changed.
  • Various embodiments are suitable for a display having a high specific gravity of a blank area and having sub-pixels arranged non-symmetrically, and capable of performing sub-pixel rendering adaptive to characteristics of an input image, and an image processing apparatus and operation method thereof. Can provide.
  • the image processing apparatus may perform sub-pixel rendering suitable for a display in which a specific gravity of a blank area is high and sub-pixels are arranged asymmetrically.
  • Color blurring may be prevented from occurring in an output image in which sub-pixel rendering is performed by the image processing apparatus according to an embodiment.
  • the image processing apparatus may perform sub-pixel rendering adaptive to the characteristics of the input image, thereby improving detail even in a region (an irregular region) that is difficult to predict.
  • FIG. 1 is a diagram illustrating a method of processing an image using a deep neural network by an image processing apparatus according to an embodiment.
  • FIG. 2 is a diagram showing the structure of a deep neural network according to an embodiment.
  • 3 and 4 are diagrams referenced to describe an up-scaler according to an embodiment.
  • FIG. 5 is a diagram referred to for describing a method in which an image processing apparatus according to an embodiment performs a pooling operation.
  • FIG. 6 is a diagram referred to for explaining a method of configuring a channel input to the second convolution operation unit by the image processing apparatus according to an embodiment.
  • FIGS. 7 to 9 are diagrams referred to for explaining a method of learning a deep neural network according to an embodiment.
  • FIG. 10 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment.
  • FIG. 11 is a block diagram showing the configuration of an image processing apparatus according to an embodiment.
  • FIG. 12 is a block diagram of a processor according to an embodiment.
  • An image processing apparatus includes a memory that stores one or more instructions and a processor that executes the one or more instructions stored in the memory, wherein the processor uses one or more deep neural networks to obtain from the first image. Create first feature maps, generate second feature maps for each of the sub-pixels based on the location information of each of the first feature maps and sub-pixels disposed on the display, and to the second feature maps. Based on this, result values for each of the sub-pixels may be determined.
  • the processor performs convolution operation between the first image and the first kernels, generates third feature maps, and upscales the third feature maps, and thereby performs the first feature maps. Can be created.
  • At least one deep neural network includes a deconvolution layer, and the processor performs deconvolution operation between the third feature maps and the second kernels in the deconvolution layer.
  • the third feature maps can be upscaled.
  • Sub-pixels include first to third sub-pixels, and the processor generates first sub-feature maps based on the first feature maps and the location information of the first sub-pixels , Generating second sub feature maps based on the location information of the first feature maps and the second sub pixel, and based on the location information of the first feature maps and the third sub pixel, a third sub feature You can create maps.
  • Each of the first sub-feature maps is configured of features having the same positional relationship with the first sub-pixel among features included in each of the first feature maps, and each of the second sub-feature maps , Among the features included in each of the first feature maps, a location relationship with the second sub-pixel is configured as the same features, and each of the third sub feature maps includes features included in each of the first feature maps Among them, the positional relationship with the third sub-pixel may be configured with the same features.
  • the processor determines a weight of each of the first sub-feature maps based on the features included in each of the first sub-feature maps and the proximity to the first sub-pixel, and the Features included in each of the second sub feature maps and a weight of each of the second sub feature maps are determined based on proximity to the second sub pixel, and features included in each of the third sub feature maps And, based on the proximity to the third sub-pixel, determine the weight of each of the third sub-feature maps, apply weights to each of the first to third sub-feature maps, to each of the sub-pixels You can determine the result values for
  • the processor performs a convolution operation between the first sub feature maps and the third kernels to generate a first result image including first result values for the first sub pixel, A second result image including second result values for the second sub pixel is generated by performing a convolution operation between the second sub feature maps and the fourth kernels, and the third sub feature maps and the second sub feature maps are generated. Convolution operation with 5 kernels is performed to generate a third result image including third result values for the second sub-pixel, and using the first to third result images to generate a second image. Can print
  • a second image may be output based on a result value for each of the sub-pixels according to an embodiment.
  • the first image and the second image according to an embodiment may have the same resolution.
  • the processor generates a first virtual image by using the second image, and generates a first error for a U value and a second error for a V value between the first virtual image and the label image. Calculate, perform sub-pixel rendering on the label image, generate a second virtual image, calculate a third error for a Y value between the second virtual image and the output image, and calculate the first to 3
  • the deep neural network can be trained to minimize errors.
  • the second image and the second virtual image may have a first resolution
  • the label image and the first virtual image may have a second resolution
  • the second resolution may be greater than the first resolution.
  • An operation method of an image processing apparatus for processing an image using one or more deep neural networks may include generating first feature maps from a first image, and subs disposed on the first feature maps and a display. Generating second feature maps for each of the sub-pixels based on location information of each of the pixels, and determining result values for each of the sub-pixels based on the second feature maps. It can contain.
  • the computer program product may generate first feature maps from a first image by using one or more deep neural networks, and provide location information of each of the first feature maps and sub-pixels disposed on a display. Based on one program stored to generate second feature maps for each of the sub-pixels, and determining result values for each of the sub-pixels based on the second feature maps.
  • the above-described computer-readable recording medium may be included.
  • FIG. 1 is a diagram illustrating a method of processing an image using a deep neural network by an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 receives the first image 10 and inputs the first image 10 using the deep neural network 200. , by performing sub-pixel rendering on the input), a second image 20 (output) may be generated.
  • the image processing apparatus 100 extracts feature information for the first image 10 and input, and subpixels disposed on a display on which the extracted feature information and the second image 20 and output are to be displayed. Based on their location information (215, for example, Subpixel coordinate information), sub-pixel rendering may be performed. Accordingly, the image processing apparatus 100 may perform sub-pixel rendering suitable for a display (eg, a micro LED display, etc.) in which the blank area has a high specific gravity and the sub-pixels are arranged asymmetrically.
  • a display eg, a micro LED display, etc.
  • the image processing apparatus 100 may perform sub-pixel rendering adaptive to the characteristics of the first image 10 using the deep neural network 200. For example, the image processing apparatus 100 may generate a second image 20 in which the details of the predictable region and the unpredictable region (atypical region) are improved in the first image 10. .
  • FIG. 2 is a diagram showing the structure of a deep neural network according to an embodiment.
  • the deep neural network 200 includes a first convolution operator 210, an up-scaler 220, a pooling operator 230, and a second convolution operator 240 It may include.
  • the first convolution operator 210 may include one or more convolution layers.
  • one or more images (or feature maps) input to the convolution layer and a kernel (deconvolution) operation may be performed.
  • a kernel (deconvolution) operation may be performed.
  • one or more images generated Fields (or feature maps) may be output.
  • one or more feature maps output from the current convolution layer may be input to the next convolution layer.
  • the image processing apparatus 100 may input the input image to the first convolution operation unit 210.
  • the size of the input image may be N x N, and may include a plurality of channels.
  • the image processing apparatus 100 may perform convolution operation of the input image and the first kernels on a plurality of convolution layers included in the first convolution operation unit 210 to generate and output first feature maps.
  • the size of the first feature maps output from the first convolution operator 210 may be N x N, and the number of first feature maps may be f. At this time, the number of first feature maps may be a preset value.
  • the up-scaler 220 may increase the size (resolution) of the first feature maps input to the up-scaler 220, and this will be described in detail with reference to FIGS. 3 and 4. .
  • 3 and 4 are diagrams referenced to describe an up-scaler according to an embodiment.
  • the up-scaler 220 may include a deconvolution layer.
  • the image processing apparatus 100 may input the first feature maps 310 as a deconvolution layer, perform deconvolution operation between the first feature maps 310 and the second kernels, and deconvolution.
  • the second feature maps 320 may be generated.
  • the deconvolution operation may be generally used to generate an output image larger than the size of the input image, but is not limited thereto.
  • the size of the second feature maps generated as a result of the deconvolution operation is larger than the size of the first feature maps input to the deconvolution layer.
  • the input data 410 has a size of 2x2, the size of the kernel applied to the input data 410 is 3x3, the size of the stride is 2, and the output data 450 is It is assumed that the size is 4x4 and the padding value is 1.
  • the image processing apparatus 100 may perform a deconvolution operation by applying the kernel 430 to the pixel 411 at the upper left of the input data 410. That is, the image processing apparatus 100 includes values obtained by multiplying the pixel values a and the weight values w0 to w8 included in the kernel 430 in the first region 461 of the output data 450. You can map to each of the pixels. In this case, the image processing apparatus 100 may determine the starting position of the first region 461 in consideration of the padding value of 1 (eg, the starting point of the first region is the upper left of the output data). It may be a point shifted left and up by one pixel from the pixel 451).
  • the padding value of 1 eg, the starting point of the first region is the upper left of the output data. It may be a point shifted left and up by one pixel from the pixel 451).
  • the image processing apparatus 100 may map a value (a*w4) obtained by multiplying a pixel value (a) and a weight (w4) to a first pixel (451) of the output data 450, and a pixel value (a).
  • the value (a*w5) multiplied by and the weight w5 may be mapped to the second pixel 452 of the output data 450.
  • the image processing apparatus 100 outputs values obtained by multiplying each of the pixel values b of the upper right pixel 412 of the input data 410 and the weight values w0 to w8 included in the kernel 430.
  • the image processing apparatus 100 outputs values obtained by multiplying each of the pixel values b of the upper right pixel 412 of the input data 410 and the weight values w0 to w8 included in the kernel 430.
  • two pixels may be mapped to each of pixels included in the second region 462.
  • a value (b*w3) multiplied by the pixel value (b) of the input data 410 and a weight (w3) may be mapped to the second pixel 452 of the output data 450, and the pixel value ( b) the value multiplied by the weight w4 (b*w4) is multiplied by the third pixel 453 of the output data 450, and the pixel value b multiplied by the weight w5 (b*w5) is output data 450 It may be mapped to the fourth pixel 454.
  • mapping region a region for mapping the result value of the deconvolution operation
  • stride a region for mapping the result value of the deconvolution operation
  • the mapping area may be moved by one pixel, but as shown in FIG. 4, the mapping may be performed while moving from the first area 461 to the second area 462 by the number of pixels of two pixels or more. It might be. Accordingly, the size of the output data (output image) may be determined according to the size of the stride.
  • the object of the deconvolution operation in the input data 410 is scanned pixel by pixel from left to right and from top to bottom, multiplied by weight values included in the kernel, and mapped to the output data 450. Can be.
  • the first region 461 and the second region 462 may overlap. Also, a plurality of values may be mapped to each of the pixels included in the overlapping region, and the value of the pixel of the output data 450 may be determined as a sum of values mapped to the pixel.
  • the second pixel 452 of the output data 450 includes the pixel value a of the input data 410 multiplied by the weight w5 (a*w5) and the pixel value b of the input data 410 ) And the value (b*w3) multiplied by the weight (w3) may be mapped, and the value of the second pixel 452 may be determined as a*w5 +b*w3.
  • the deconvolution operation may be performed, and as a result of the deconvolution operation, an image with an increased size (resolution) may be output.
  • the size (resolution) of the deconvoluted second feature maps 320 may be m times larger than the size (resolution) of the first feature maps 310.
  • the first image 330 illustrated in FIG. 3 shows one of the first feature maps 310 (hereinafter referred to as a first feature map) in consideration of the size of the display and the position of sub-pixels disposed on the display.
  • An image, and the second image 340 is an image showing one of the second feature maps 320 (hereinafter referred to as a second feature map) in consideration of the size of the display and the position of sub-pixels disposed on the display.
  • the size (resolution) of the actual second feature map may be m times larger than the size (resolution) of the first feature map.
  • the first pixel value 331 based on the first region 350 including R, G, and B is a value included in the first feature map
  • the remaining second to ninth pixels 342, 343, 344, 345, 346, 347, 348, 349) may be values generated through deconvolution based on pixel values included in the first feature map.
  • the size (resolution) of the second feature map may be three times larger than the size (resolution) of the first feature map.
  • the pooling operator 230 may perform a pooling operation on the up-scaled second feature maps based on the location information 215 of the sub-pixels disposed on the display. Accordingly, the pooling operator 230 may generate feature maps for each sub-pixel. For example, when the sub-pixels include the first sub-pixel, the second sub-pixel, and the third sub-pixel, the pooling operator 230 pulls the second feature maps based on the location information of the first sub-pixel. By performing, it is possible to generate first sub feature maps for the first sub pixel. This will be described in detail with reference to FIG. 5.
  • FIG. 5 is a diagram referred to for describing a method in which an image processing apparatus according to an embodiment performs a pooling operation.
  • the third image 500 considers some of the features included in the second feature map output from the up-scaler 220 in consideration of the location of the sub-pixels 510, 520, and 530 on the display. This is the video shown.
  • the image processing apparatus 100 may perform a pooling operation on the second feature map based on the positions of the sub-pixels 510, 520, and 530.
  • the sub-pixels include a first sub-pixel (510, eg, Blue sub-pixel), a second sub-pixel (520, eg, Red sub-pixel), and a third sub-pixel (530, eg, For example, Green sub-pixel).
  • the image processing apparatus 100 performs the pulling operation on the second feature map based on the positions of each of the first to third subpixels 510, 520, and 530, so that the first to third subpixels ( Sub-feature maps for each of 510, 520, and 530 may be generated. Since the method of generating sub feature maps for each of the first to third sub pixels 510, 520, and 530 is the same, hereinafter, only the method of generating sub feature maps for the first sub pixel 510 , Will be explained.
  • the image processing apparatus 100 may set the number (k) of sub-feature maps to be generated for the sub-pixel, and may set unit areas 540 and 550 based on the set number of sub-feature maps (k). have.
  • the image processing apparatus 100 includes unit regions (eg, among the features (pixels) included in the second feature map, k features having high proximity to the first sub-pixel 510 to be included in one unit region ( 540, 550). In this case, a high proximity to the first sub-pixel 510 may mean that the distance from the first sub-pixel 510 is close.
  • the unit areas may be set such that four features having high values are included in one unit area 540.
  • the present invention is not limited thereto, and the unit regions may be set in various ways.
  • the image processing apparatus 100 may pool features having the same relative position with the first sub-pixel 510 in each of the unit regions into one sub-feature map.
  • the image processing apparatus 100 in the unit regions 541, 542, 543, and 544, the first sub-pixel 510 and the first positional relationship ( For example, the first features (f1, f2, f3, f4) having a first distance and having a first distance based on the first sub-pixel are extracted, and the extracted first features (f1) , f2, f3, and f4).
  • the image processing apparatus 100 references the first sub-pixel 510 and the second positional relationship (eg, the first sub-pixel 510) in each of the unit regions 541, 542, 543, and 544.
  • the second feature (f5, f6, f7, f8) having a second distance and located at the upper right is extracted, and the second feature (f5, f6, f7, f8) is extracted.
  • a 2 sub feature map 572 may be generated.
  • the first sub-pixel 510 and the third positional relationship eg, the first sub-pixel 510 is positioned at the bottom left of the reference
  • a third sub-feature map 573 consisting of extracting third features f9, f10, f11, and f12 having a third distance, and comprising the extracted third features f9, f10, f11, and f12
  • the image processing apparatus 100 refers to the first sub-pixel 510 and the fourth positional relationship (eg, the first sub-pixel 510) in each of the unit regions 541, 542, 543, and 544.
  • a 4 sub feature map 574 may be generated.
  • the image processing apparatus 100 may generate four sub-pixel feature maps (second sub-feature maps) for the second sub-pixel 520 in the same manner as described above, Four sub-pixel feature maps (third sub-feature maps) for the third sub-pixel 530 may be generated. As such, the image processing apparatus 100 according to an embodiment may generate k sub-feature maps for each of the sub-pixels according to a set k value.
  • k sub-feature maps for each of the sub-pixels may be input to the second convolution operation unit 240.
  • the image processing apparatus 100 may determine the order (channel configuration) or weight of the sub feature maps input to the second convolution operation unit 240 based on the proximity corresponding to each of the sub feature maps. This will be described in detail with reference to FIG. 6.
  • FIG. 6 is a diagram referred to for explaining a method of configuring a channel input to the second convolution operation unit by the image processing apparatus according to an embodiment.
  • the image processing apparatus 100 may input k sub feature maps for each of the sub pixels to the second convolution operation unit 240. In this case, the image processing apparatus 100 may determine an input order of the sub feature maps, based on the proximity to the sub pixels, corresponding to each of the sub feature maps.
  • the first sub-feature map 610 is composed of a first feature f1 having a first positional relationship with the first sub-pixel 660 in the unit region 650.
  • the first feature f1 may have a first distance d1 from the first sub-pixel 660.
  • the second sub-feature map 620 is a feature map composed of a second feature f2 having a second positional relationship with the first sub-pixel 660 in the unit region 650, wherein the second feature f2 ) May have a first sub-pixel 660 and a second distance d2.
  • the third sub-feature map 630 is a feature map composed of a third feature f3 having a third positional relationship with the first sub-pixel 660 in the unit region 650, where the third feature f3 ) May have a first distance d3 from the first sub-pixel 660.
  • the fourth sub-feature map 640 is a feature map composed of a fourth feature f4 having a fourth positional relationship with the first sub-pixel 660 in the unit region 650, where the fourth feature f4 ) May have a first distance d4 from the first sub-pixel 660.
  • the image processing apparatus 100 determines the channel order of the sub feature maps input to the second convolution operation unit 240 based on the proximity (distance) of the sub pixels corresponding to each of the feature maps. Can decide.
  • the image processing apparatus 100 may determine the channel order of the sub-pixel maps in order of close distance. For example, the image processing apparatus 100 uses the second sub-pixel map 620 having the second distance d2 as the first channel (the first channel) and the first sub-pixel having the first distance d1. Map 610 as a second channel (second channel), fourth sub-pixel map having a fourth distance d4 640 as a third channel (third channel), and a third distance d3
  • the third sub pixel map 630 may be input as a fourth channel (fourth channel).
  • the first distance and the fourth distance may be the same, and the fourth sub-pixel map 640 having the fourth distance d4 is the second channel (second channel), and the first distance d1 is the fourth distance.
  • One sub-pixel map 610 may be input as a third channel (third channel).
  • the image processing apparatus 100 may determine a weight applied to the sub feature maps based on the proximity (distance) to the sub pixel corresponding to each of the sub feature maps.
  • the image processing apparatus 100 may determine a weight value applied to the sub feature map as the distance from the sub pixel is closer (smaller). For example, as shown in FIG. 6, the weight of (1/d2) is applied to the second sub feature map 620, and the weight of (1/d1) is applied to the first sub feature map 610. A weight of (1/d4) may be applied to the fourth sub feature map 640, and a weight of (1/d3) may be applied to the third sub feature map 630.
  • the present invention is not limited thereto, and the image processing apparatus 100 may determine weight values applied to the sub feature maps in various ways.
  • the second convolution operation unit 240 may perform convolution operation with k sub-feature maps and third kernels for each of the input sub-pixels. Accordingly, the second convolution operation unit 240 may generate a result image for each of the sub-pixels. For example, the second convolution operation unit 240 performs a convolution operation with k first sub-feature maps for the first sub-pixel and the third kernels, so that the first result image for the first sub-pixel is obtained. (For example, Red (NxN)) can be generated.
  • the first result image may be an image including final output values for the first sub-pixel, but is not limited thereto.
  • the second convolution operation unit 240 for the second sub-pixel and the third sub-pixel, in the same manner as the result images (second result image (eg, Green (NxN))) and the third result image (For example, Blue (NxN)).
  • second result image eg, Green (NxN)
  • third result image eg. Blue (NxN)
  • the image processing apparatus 100 may generate a final output image (eg, RGB output (NxN)) based on the first to third result images.
  • a final output image eg, RGB output (NxN)
  • FIGS. 7 to 9 are diagrams referred to for explaining a method of learning a deep neural network according to an embodiment.
  • the deep neural network 200 may be trained by a plurality of training data sets.
  • the learning data set may include input image data 710 and label data 720.
  • the label data 720 is high-resolution image data having a size of mN x mN
  • the input image data 710 may be low-resolution image data having a size of N x N, but is not limited thereto.
  • the input image data 710 may be data generated based on the label data 720.
  • the image processing apparatus 100 may input the input image data 710 into the deep neural network 200, and the deep neural network 200 may obtain an image obtained by processing the input image data 710 Data 730 (output image data) may be output.
  • the image processing apparatus 100 may generate virtual image data 740 from the output image data 730.
  • the virtual image data 740 may be image data that reproduces an image perceived at a viewing distance when an image is output on a display by values of sub-pixels determined using the output image data 730.
  • the deep neural network 200 may generate output image data 730 having the same size (N x N) as the input image data 710.
  • the image processing apparatus 100 may determine values of sub-pixels disposed on the display based on the output image data 730. For example, based on the first pixel value 810 included in the output image data 730, the first sub-pixel 821 (eg, Red pixel), the second sub-pixel 822, eg, Green pixel) and third sub-pixel 823 (eg, Blue pixel) values may be determined. When the values of the sub-pixels are determined, the size (resolution) of the output image data 730 may be increased based on the values of the sub-pixels.
  • the image processing apparatus 100 may generate a fifth pixel 850 between the first pixel 810 and the second pixel 820 based on the values of the sub-pixels.
  • the pixel value may be determined based on the value of sub-pixels located around the fifth pixel 850 and the distance between the sub-pixels and the fifth pixel 850.
  • the present invention is not limited thereto, and the image processing apparatus 100 may generate the virtual image data 740 in various ways.
  • the image processing apparatus 100 may generate sub-pixel rendered image data 750 (SPR image data) from the label data 720.
  • a method of generating the sub-pixel rendered image data 750 will be described in detail with reference to FIG. 9.
  • the image processing apparatus 100 may perform sub-pixel rendering on the label data 720.
  • the image processing apparatus 100 may determine a subpixel value based on pixel values located around the subpixel among pixel values included in the label data 720. For example, the image processing apparatus 100 determines the value of the first sub-pixel 910 based on the first to fourth pixel values P1, P2, P3, and P4 included in the label data 720 And, based on the third to sixth pixel values P3, P4, P5, and P6, the value of the second sub-pixel 920 may be determined. In addition, the image processing apparatus 100 based on the third pixel value P3, the fifth pixel value P5, the seventh pixel value P7, and the eighth pixel value P8, the third sub-pixel 930 ).
  • the image processing apparatus 100 may determine one pixel value 940 based on the values of the first to third sub-pixels 910, 920, and 930.
  • the image processing apparatus 100 may reconstruct image data with the determined pixel values, and the reconstructed image data 750 (SPR image data) may have a size of N x N.
  • SPR image data may have a size of N x N.
  • the present invention is not limited thereto, and the image processing apparatus 100 may generate SPR image data 750 in various ways.
  • the image processing apparatus 100 converts label data 720 and virtual image data 740 having a size of mN x mN from RGB color space to YUV color space, and displays label data (720). ), and the difference (first error) between the U component value of the virtual image data 740 and the V component value of the label data 720 and the V component value of the virtual image data 740 can be calculated. (Second error) can be calculated. At this time, the first error and the second error correspond to color errors.
  • the U component or V component of the image is an element that affects color blurring in the image, and the image processing apparatus 100 deep-neural network 200 in the direction of minimizing the first error and the second error to prevent color blurring ).
  • the image processing apparatus 100 converts sub-pixel rendering image data 750 and output data 730 having a size of N x N from RGB color space to YUV color space, and sub-pixel rendering image data 750.
  • the difference between the Y component value of and the Y component value of the output data 730 (corresponding to the third error and the brightness error) may be calculated.
  • the Y component of the image is a factor affecting detail (texture expression) or text/edge aliasing, and the image processing apparatus 100 is provided to improve detail and prevent text or edge aliasing.
  • the deep neural network 200 may be trained in a direction to minimize errors.
  • the image processing apparatus 100 is the sum of the first error, the second error, and the third error in order to improve the overall image quality (quality), such as preventing color bleeding of the image, improving detail, and improving text or edge expression.
  • the deep neural network 200 may be trained in a direction in which an error value is minimized.
  • the image processing apparatus 100 defines a loss function as a weighted sum of the first error, the second error, and the third error, and includes one or more kernels included in the deep neural network 200 so that the loss function is minimized.
  • the weight can be adjusted. However, it is not limited to this.
  • FIG. 10 is a flowchart illustrating an operation method of an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 may generate first feature maps from a first image (S1010 ).
  • the image processing apparatus 100 may generate third feature maps by performing a convolution operation between the first image and the first kernels.
  • the size of the first image may be N x N, and may include a plurality of channels.
  • the size of the third feature maps may be N x N, and the number of the third feature maps may be f.
  • the image processing apparatus 100 may upscale the third feature maps to generate first feature maps having an increased size (resolution). For example, the image processing apparatus 100 may generate first feature maps by performing a deconvolution operation between the third feature maps and the second kernels. The first feature maps generated as a result of the deconvolution operation are larger than the third feature maps, and the size of the first feature maps may be mN x mN.
  • the image processing apparatus 100 may generate second feature maps for each of the sub-pixels based on the first feature maps and the location information of each of the sub-pixels disposed on the display (S1020).
  • the image processing apparatus 100 may perform a pooling operation on the first feature maps based on the location information of each of the sub-pixels disposed on the display. Accordingly, the image processing apparatus 100 may generate sub feature maps for each sub pixel. For example, when the sub-pixels include the first sub-pixel, the second sub-pixel, and the third sub-pixel, the image processing apparatus 100 pools the first feature maps based on the location information of the first sub-pixel. By performing the operation, first sub feature maps for the first sub pixel may be generated.
  • the image processing apparatus 100 may generate first sub-feature maps based on a location relationship between features included in each of the first feature maps and the first sub-pixel.
  • the image processing apparatus 100 is a unit such that k features having high proximity to the first sub-pixel are included in one unit region based on the first sub-pixel among the features included in the first feature map. You can set the areas.
  • the image processing apparatus 100 may pool features having the same relative position to the first sub-pixel in each of the unit regions as one sub-feature map, and k sub-feature maps (first) for the first sub-pixel. Sub feature maps). Since this has been described in detail in FIG. 5, a detailed description will be omitted.
  • the image processing apparatus 100 generates k sub-feature maps (second sub-feature maps) for the second sub-pixel and k sub-feature maps (third sub-feature maps) for the third sub-pixel. can do.
  • the image processing apparatus 100 may determine a weight of each of the first sub-feature maps based on the proximity of the features included in each of the first sub-feature maps and the first sub-pixel. . Since this was described in detail in FIG. 6, a detailed description will be omitted. Similarly, the image processing apparatus 100 may determine weights for each of the second sub feature maps and the third sub feature maps.
  • the image processing apparatus 100 may determine result values for each of the sub pixels based on the second feature maps (first to third sub feature maps) (S1030 ).
  • the image processing apparatus 100 may perform convolution operation between the weighted first sub feature maps and the third kernels, and the weighted second sub feature maps and the fourth kernels. Convolution operations can be performed. In addition, a convolution operation between the third sub feature maps and the fifth kernels may be performed. Accordingly, the image processing apparatus 100 may generate result images (first to third result images) for each of the first to third sub pixels. The image processing apparatus 100 may output the second image using the first to third result images.
  • FIG. 11 is a block diagram showing the configuration of an image processing apparatus according to an embodiment.
  • the image processing apparatus 100 may include a processor 120 and a memory 130.
  • the processor 120 may overall control the image processing apparatus 100.
  • the processor 120 may execute one or more programs stored in the memory 130.
  • the memory 130 may store various data, programs or applications for driving and controlling the image processing apparatus 100.
  • the program stored in the memory 130 may include one or more instructions.
  • the program (one or more instructions) or application stored in the memory 130 may be executed by the processor 120.
  • the processor 120 may process a first image input to the deep neural network using a deep neural network, and output a second image.
  • the deep neural network may be a deep neural network illustrated and described in FIGS. 2 to 9.
  • the processor 120 may generate convolution operations between the first image and the first kernels to generate first feature maps.
  • the size of the first image may be N x N, and may include a plurality of channels.
  • the size of the second feature maps may be N x N, and the number of the first feature maps may be f.
  • the processor 120 may upscale the first feature maps to generate second feature maps having an increased size (resolution). For example, the processor 120 may generate second feature maps by performing a deconvolution operation between the first feature maps and the second kernels. The size of the second feature maps generated as a result of the deconvolution operation may be mN x mN.
  • the processor 120 may generate k sub-feature maps for each of the sub-pixels based on the location information of each of the sub-pixels disposed on the display and the second feature maps. For example, the processor 120 may generate k sub-feature maps for each of the sub-pixels by performing a pooling operation on the second feature maps based on the location information of each of the sub-pixels disposed on the display. have. Since this has been described in detail in FIG. 5, a detailed description will be omitted.
  • the processor 120 may determine result values for each of the sub-pixels based on the sub-feature maps. For example, the processor 120 may generate a first result image for the first sub-pixel by performing convolution operation with k sub-feature maps for the first sub-pixel and the third kernels. Also, the processor 120 may generate a second result image and a third result image in the same manner for the second sub-pixel and the third sub-pixel.
  • the processor 120 may output a second image using the first to third result images.
  • FIG. 12 is a block diagram of a processor according to an embodiment.
  • the processor 120 may include a network learning unit 1210 and an image processing unit 1220.
  • the network learning unit 1210 may train a deep neural network according to an embodiment using a plurality of learning data sets.
  • the learning data set may include input image data and label data.
  • the label data is high-resolution image data having a size of mN x mN
  • the input image data may be low-resolution image data having a size of N x N, but is not limited thereto.
  • the network learning unit 1210 may generate input image data using label data.
  • the network learning unit 1210 may input input image data into a deep neural network to obtain output image data.
  • the network learning unit 1210 may generate virtual image data from the output image data.
  • the virtual image data may be image data that reproduces an image perceived at a viewing distance when an image is output to the display by sub-pixel values determined using the output image data. The method of generating the virtual image data has been described in detail in FIG. 8, and thus detailed description will be omitted.
  • the network learning unit 1210 may generate subpixel rendering image data by subpixel rendering the label data.
  • the method of generating the sub-pixel rendered image has been described in detail in FIG. 9, and thus detailed description thereof will be omitted.
  • the network learning unit 1210 is a difference between U component values and V component values in label data having mN x mN size and virtual image data, and Y in sub-pixel rendering image data and output data having a size of N x N. Based on the difference in component values, a deep neural network according to an embodiment may be trained. The method for learning the deep neural network has been described in detail with reference to FIGS. 7 to 9, so a detailed description thereof will be omitted.
  • the network learning unit 1210 may store the learned network (eg, deep neural network) in the memory of the image processing device.
  • the image processing device may be stored in a memory of a server connected through a wired or wireless network.
  • the memory in which the learned network is stored may store, for example, commands or data related to at least one other component of the image processing apparatus 100 together. Also, the memory may store software and/or programs.
  • the program may include, for example, a kernel, middleware, application programming interface (API), and/or application program (or "application").
  • the image processing unit 1220 may process the input first image by using the deep neural network learned by the network learning unit 1210. For example, the image processing unit 1220 extracts feature information for the first image using the learned deep neural network, and based on the extracted feature information and the location information of the sub-pixels disposed on the display, the sub-pixel Rendering can be done. Accordingly, the image processor 1220 may perform sub-pixel rendering adaptive to the characteristics of the first image.
  • At least one of the network learning unit 1210 and the image processing unit 1220 of FIG. 12 may be manufactured in the form of a hardware chip and mounted on the image processing apparatus 100.
  • at least one of the network learning unit 1210 and the image processing unit 1220 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general-purpose processor (for example, a CPU or It may be manufactured as part of an application processor) or a graphics-only processor (for example, a GPU) and mounted on various image processing devices described above.
  • AI artificial intelligence
  • an existing general-purpose processor for example, a CPU or It may be manufactured as part of an application processor
  • a graphics-only processor for example, a GPU
  • the network learning unit 1210 and the image processing unit 1220 may be mounted on one image processing apparatus, or may be mounted on separate image processing apparatuses, respectively.
  • some of the network learning unit 1210 and the image processing unit 1220 may be included in the image processing apparatus, and the other portions may be included in the server.
  • At least one of the network learning unit 1210 and the image processing unit 1220 may be implemented as a software module.
  • the software module is a computer-readable readable non-transitory readout. It can be stored in a non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or may be provided by a predetermined application. Alternatively, some of the at least one software module may be provided by an operating system (OS), and the other may be provided by a predetermined application.
  • FIGS. 11 and 12 are block diagrams for an embodiment. Each component of the block diagram may be integrated, added, or omitted depending on the specification of the image processing apparatus 100 that is actually implemented. That is, if necessary, two or more components may be combined into one component, or one component may be divided into two or more components.
  • the function performed in each block is for describing the embodiments, and the specific operation or device does not limit the scope of the present invention.
  • the operation method of the image processing apparatus may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in 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, DVDs, and magnetic media such as floptical disks.
  • -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.
  • an image processing apparatus and an operation method of the image processing apparatus according to the disclosed embodiments may be provided in a computer program product.
  • Computer program products are commodities that can be traded between sellers and buyers.
  • the computer program product may include an S/W program and a computer-readable storage medium on which the S/W program is stored.
  • the computer program product may include a product (eg, downloadable app) in the form of an S/W program that is distributed electronically through an electronic device manufacturer or an electronic market (eg, Google Play Store, App Store). have.
  • a product eg, downloadable app
  • the storage medium may be a server of a manufacturer, a server of an electronic market, or a storage medium of a relay server temporarily storing a SW program.
  • the computer program product in a system composed of a server and a client device, may include a storage medium of a server or a storage medium of a client device.
  • a third device eg, a smart phone
  • the computer program product may include a storage medium of the third device.
  • the computer program product may include an S/W program itself transmitted from a server to a client device or a third device, or transmitted 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 the server, the client device, and the third device may execute the computer program product and distribute the method according to the disclosed embodiments.
  • a server may execute a computer program product stored in the server to control the client device in communication with the server to perform the method according to the disclosed embodiments.

Landscapes

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

Abstract

영상 처리 장치에 관한 것으로, 하나 이상의 인스트럭션들을 저장하는 메모리 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하고, 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하고, 제2 특징 맵들에 기초하여, 서브 픽셀들 각각에 대한 결과 값들을 결정하는 영상 처리 장치가 개시된다.

Description

영상 처리 장치 및 그 동작방법
다양한 실시예들은 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 딥 뉴럴 네트워크를 이용하여, 서브 픽셀 렌더링을 수행할 수 있는 영상 처리 장치 및 그 동작방법에 관한 것이다.
컴퓨터 기술의 발달과 함께 데이터 트래픽이 지수함수 형태로 증가하면서 인공지능은 미래 혁신을 주도하는 중요한 트랜드로 자리잡았다. 인공지능은 사람의 사고방식을 모방하는 방식이기 때문에 사실상 전 산업에 무한하게 응용이 가능하다. 인공지능의 대표적인 기술로는 패턴 인식, 기계 학습, 전문가 시스템, 뉴럴 네트워크, 자연어 처리 등이 있다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 것으로, 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여, 뉴럴 네트워크는 입력 데이터와 출력 데이터 사이의 사상(mapping)을 생성할 수 있고, 이러한 사상을 생성하는 능력은 뉴럴 네트워크의 학습 능력이라고 표현될 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여, 학습에 이용되지 않았던 입력 데이터에 대하여, 올바른 출력 데이터를 생성할 수 있는 일반화 능력을 가진다.
한편, 영상 처리 장치는, 하나의 픽셀에 포함되는 서브 픽셀 단위로 값을 조절하여, 디스플레이의 인지 해상도를 증가시키는 서브 픽셀 렌더링을 수행할 수 있다. LCD 디스플레이의 경우, 픽셀 면적 대비 발광 소자의 면적이 넓고, 서브 픽셀들이 대칭적으로 배치되어 있어, 서브 픽셀 렌더링을 수행하면, 서브 픽셀들의 값이 연동되어 변하므로, 하나의 픽셀에서 서브 픽셀들의 값이 점차적으로 변경된다. 반면에, 마이크로 엘이디(MicroLED) 디스플레이의 경우, 블랭크(blank) 영역의 비중이 높고(픽셀 면적 대비 발광 소자 면적이 적고), 서브 픽셀들이 비 대칭적으로 배치되어 있어, 서브 픽셀 렌더링을 수행하면, 하나의 픽셀에서 서브 픽셀들의 값이 크게 변경된다. 이로 인해 마이크로 엘이디 디스플레이의 경우, LCD 디스플레이와 달리 색 번짐 현상이 발생하게 된다. 또한, 고정적 필터를 사용하는 서브 픽셀 렌더링의 경우, 예측이 어려운 비정형 영역에서는 디테일 향상이 어렵다는 문제점이 있다.
다양한 실시예들은, 블랭크 영역의 비중이 높고 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이에 적합하며, 입력 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있는, 영상 처리 장치 및 그 동작방법을 제공할 수 있다.
일 실시예에 따른 영상 처리 장치는, 블랭크 영역의 비중이 높고, 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이에 적합한 서브 픽셀 렌더링을 수행할 수 있다.
일 실시예에 따른 영상 처리 장치에 의해 서브 필셀 렌더링이 수행된 출력 영상에 색 번짐이 발생하는 것을 방지할 수 있다.
일 실시예에 따른 영상 처리 장치는, 입력 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있어, 예측이 어려운 영역(비정형 영역)에 대해서도 디테일을 향상시킬 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치가 딥 뉴럴 네트워크를 이용하여 영상을 처리하는 방법을 나타내는 도면이다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 3 및 4는 일 실시예에 따른 업 스케일러를 설명하기 위해 참조되는 도면들이다.
도 5는, 일 실시예에 따른 영상 처리 장치가 풀링 연산을 수행하는 방법을 설명하기 위해 참조되는 도면이다.
도 6은 일 실시예에 따른 영상 처리 장치가 제2 컨볼루션 연산부로 입력되는 채널을 구성하는 방법을 설명하기 위해 참조되는 도면이다.
도 7 내지 도 9는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 11은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 12는 일 실시예에 따른 프로세서의 블록도이다.
일 실시예에 따른 영상 처리 장치는 하나 이상의 인스트럭션들을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하고, 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성하고, 상기 제3 특징 맵들을 업스케일링하여, 상기 제1 특징 맵들을 생성할 수 있다.
일 실시예에 따른 하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고, 상기 프로세서는, 상기 디컨볼루션 레이어에서, 상기 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 상기 제3 특징 맵들을 업스케일링할 수 있다.
일 실시예에 따른 서브 픽셀들은, 제1 내지 제3 서브 픽셀들을 포함하고, 상기 프로세서는, 상기 제1 특징 맵들 및 상기 제1 서브 픽셀의 위치 정보에 기초하여, 제1 서브 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 상기 제2 서브 픽셀의 위치 정보에 기초하여, 제2 서브 특징 맵들을 생성하며, 상기 제1 특징 맵들 및 상기 제3 서브 픽셀의 위치 정보에 기초하여, 제3 서브 특징 맵들을 생성할 수 있다.
일 실시예에 따른 제1 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제1 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되고, 상기 제2 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제2 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되며, 상기 제3 서브 특징 맵들 각각은, 상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제3 서브 픽셀과의 위치 관계가 동일한 특징들로 구성될 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 서브 특징 맵들 각각에 포함된 특징들과, 상기 제1 서브 픽셀과의 근접도에 기초하여, 상기 제1 서브 특징 맵들 각각의 가중치를 결정하고, 상기 제2 서브 특징 맵들 각각에 포함된 특징들과, 상기 제2 서브 픽셀과의 근접도에 기초하여, 상기 제2 서브 특징 맵들 각각의 가중치를 결정하며, 상기 제3 서브 특징 맵들 각각에 포함된 특징들과, 상기 제3 서브 픽셀과의 근접도에 기초하여, 상기 제3 서브 특징 맵들 각각의 가중치를 결정하고, 상기 제1 내지 제3 서브 특징 맵들 각각에 가중치들을 적용하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정할 수 있다.
일 실시예에 따른 프로세서는, 상기 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행하여, 상기 제1 서브 픽셀에 대한 제1 결과 값들을 포함하는 제1 결과 영상을 생성하고, 상기 제2 서브 특징 맵들과 제4 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제2 결과 값들을 포함하는 제2 결과 영상을 생성하며, 상기 제3 서브 특징 맵들과 제5 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제3 결과 값들을 포함하는 제3 결과 영상을 생성하고, 상기 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
일 실시예에 따른 서브 픽셀들 각각에 대한 결과 값에 기초하여, 제2 영상을 출력할 수 있다.
일 실시예에 따른 제1 영상 및 상기 제2 영상은 해상도가 동일할 수 있다.
일 실시예에 따른 프로세서는, 상기 제2 영상을 이용하여, 제1 가상 영상을 생성하고, 상기 제1 가상 영상과 레이블 영상과의 U 값에 대한 제1 오차 및 V 값에 대한 제2 오차를 계산하고, 상기 레이블 영상에 대한 서브 픽셀 렌더링을 수행하여, 제2 가상 영상을 생성하여, 상기 제2 가상 영상과 상기 출력 영상과의 Y 값에 대한 제3 오차를 계산하고, 상기 제1 내지 제3 오차를 최소화하도록 상기 딥 뉴럴 네트워크를 학습시킬 수 있다.
일 실시예에 따른 제2 영상 및 상기 제2 가상 영상은 제1 해상도를 가지고, 상기 레이블 영상 및 상기 제1 가상 영상은 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도보다 클 수 있다.
일 실시예에 따른 하나 이상의 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치의 동작방법은, 제1 영상으로부터 제1 특징 맵들을 생성하는 단계, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하는 단계, 및 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 컴퓨터 프로그램 제품은, 하나 이상의 딥 뉴럴 네트워크를 이용하여, 제1 영상으로부터 제1 특징 맵들을 생성하는 단계, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하는 단계, 및 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는 단계를 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 영상 처리 장치가 딥 뉴럴 네트워크를 이용하여 영상을 처리하는 방법을 나타내는 도면이다.
도 1을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10, input)을 입력 받고, 딥 뉴럴 네트워크(Deep Neural Network)(200)를 이용하여, 제1 영상(10, input)에 서브 픽셀 렌더링을 수행함으로써, 제2 영상(20, output)을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제1 영상(10, input)에 대한 특징 정보를 추출하고, 추출된 특징 정보 및 제2 영상(20, output)이 표시될 디스플레이에 배치된 서브 픽셀들의 위치 정보(215, 예를 들어, Subpixel coordinate information)에 기초하여, 서브 픽셀 렌더링을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 블랭크 영역의 비중이 높고, 서브 픽셀들이 비 대칭적으로 배치되어 있는 디스플레이(예를 들어, 마이크로 LED 디스플레이 등)에 적합한 서브 픽셀 렌더링을 수행할 수 있다.
또한, 영상 처리 장치(100)는 딥 뉴럴 네트워크(200)를 이용하여, 제1 영상(10)의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있다. 예를 들어, 영상 처리 장치(100)는, 제1 영상(10)에서, 예측이 가능한 영역 및 예측이 어려운 영역(비정형 영역)에 대한 디테일을 향상시킨 제2 영상(20)을 생성할 수 있다.
일 실시예에 따른 영상 처리 장치(100)가 딥 뉴럴 네트워크를 이용하여, 제1 영상(10)에 대한 서브 픽셀 렌더링을 수행하는 방법에 대해서는, 후술하는 도면들에서 자세히 설명하기로 한다.
도 2는 일 실시예에 따른 딥 뉴럴 네트워크의 구조를 나타내는 도면이다.
도 2를 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(200)는 제1 컨볼루션(convolution) 연산부(210), 업 스케일러(220), 풀링 연산부(230) 및 제2 컨볼루션 연산부(240)을 포함할 수 있다.
일 실시예에 따른 제1 컨볼루션 연산부(210)는, 하나 이상의 컨볼루션 레이어들을 포함할 수 있다. 컨볼루션 레이어들 각각에서는, 컨볼루션 레이어에 입력된 하나 이상의 영상들(또는 특징 맵들)과 커널(kernel)의 컨볼루션(deconvolution) 연산이 수행될 수 있으며, 컨볼루션 연산 결과, 생성된 하나 이상의 영상들(또는, 특징 맵들)이 출력될 수 있다. 또한, 현재 컨볼루션 레이어에서 출력된 하나 이상의 특징 맵들은 다음 컨볼루션 레이어로 입력될 수 있다.
예를 들어, 영상 처리 장치(100)는 입력 영상을 제1 컨볼루션 연산부(210)로 입력할 수 있다. 이때, 입력 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 영상 처리 장치(100)는 제1 컨볼루션 연산부(210)에 포함되는 복수의 컨볼루션 레이어들에서, 입력 영상과 제1 커널들의 컨볼루션 연산을 수행하여, 제1 특징 맵들을 생성하여 출력할 수 있다. 제1 컨볼루션 연산부(210)에서 출력되는 제1 특징 맵들의 크기는 N x N일 수 있으며, 제1 특징 맵들의 개수는 f개일 수 있다. 이때, 제1 특징 맵들의 개수는 기 설정되는 값일 수 있다.
일 실시예에 따른 업 스케일러(220)는, 업 스케일러(220)에 입력되는 제1 특징 맵들의 크기(해상도)를 증가시킬 수 있으며, 이에 대해서는 도 3및 4를 참조하여, 자세히 설명하기로 한다.
도 3 및 4는 일 실시예에 따른 업 스케일러를 설명하기 위해 참조되는 도면들이다.
도 3을 참조하면, 일 실시예에 따른 업 스케일러(220)는 디컨볼루션 레이어를 포함할 수 있다. 영상 처리 장치(100)는 디컨볼루션 레이어로 제1 특징 맵들(310)을 입력하고, 제1 특징 맵들(310)과 제2 커널들과의 디컨볼루션 연산을 수행할 수 있으며, 디컨볼루션 연산 결과, 제2 특징 맵들(320)을 생성할 수 있다. 디컨볼루션 연산은 일반적으로 입력된 영상의 크기보다 큰 출력 영상을 생성하기 위해 이용될 수 있으나, 이에 한정되는 것은 아니다. 디컨볼루션 연산 결과 생성된 제2 특징 맵들의 크기는 디컨볼루션 레이어에 입력된 제1 특징 맵들의 크기보다 크다. 디컨볼루션 연산이 처리되는 과정에 대해서는 도 4를 참조하여 설명하기로 한다.
도 4는 디컨볼루션 연산을 설명하기 위해 참조되는 도면이다.
도 4에서는 설명의 편의를 위해, 입력 데이터(410)는 2x2의 크기를 가지며, 입력 데이터(410)에 적용되는 커널의 크기는 3x3, 스트라이드(stride)의 크기는 2, 출력 데이터(450)의 크기는 4x4, 패딩(padding) 값은 1인 것으로 가정한다.
도 4를 참조하면, 영상 처리 장치(100)는 입력 데이터(410)의 좌측 상단의 픽셀(411)에 커널(430)을 적용하여, 디컨볼루션 연산을 수행할 수 있다. 즉, 영상 처리 장치(100)는 픽셀 값(a)과 커널(430)에 포함되는 가중치 값들(w0 내지 w8) 각각을 곱한 값들을, 출력 데이터(450)의 제1 영역(461)에 포함되는 픽셀들 각각에 매핑시킬 수 있다. 이때, 영상 처리 장치(100)는 패딩 값이 1인 것을 고려하여, 제1 영역(461)의 시작 위치를 결정될 수 있다(예를 들어, 제1 영역의 시작 지점이, 출력 데이터의 좌측 상단의 픽셀(451)보다 한 픽셀씩 왼쪽 및 위쪽으로 이동된 지점일 수 있다).
영상 처리 장치(100)는, 픽셀 값(a)와 가중치(w4)를 곱한 값(a*w4)을 출력 데이터(450)의 제1 픽셀(451)에 매핑시킬 수 있으며, 픽셀 값(a)와 가중치 w5를 곱한 값(a*w5)을 출력 데이터(450)의 제2 픽셀(452)에 매핑시킬 수 있다.
또한, 영상 처리 장치(100)는 입력 데이터(410)의 우측 상단의 픽셀(412)의 픽셀 값(b)과 커널(430)에 포함되는 가중치 값들(w0 내지 w8) 각각을 곱한 값들을, 출력 데이터(450)의 제1 영역(461)에서 두 픽셀 이동시킨 제2 영역(462)에 포함되는 픽셀들 각각에 매핑시킬 수 있다. 예를 들어, 입력 데이터(410)의 픽셀 값(b)와 가중치 (w3)을 곱한 값 (b*w3)을 출력 데이터(450)의 제2 픽셀(452)에 매핑시킬 수 있으며, 픽셀 값(b)과 가중치 w4를 곱한 값(b*w4)를 출력 데이터(450)의 제3 픽셀(453)에, 픽셀 값(b)과 가중치 w5를 곱한 값(b*w5)를 출력 데이터(450)의 제4 픽셀(454)에 매핑시킬 수 있다.
이때, 입력 데이터(210)에서, 디컨볼루션 연산의 대상이 되는 데이터를 한 픽셀만큼 이동시킬 때, 출력 데이터(450)에서, 디컨볼루션 연산이 수행된 결과 값을 매핑시키는 영역(매핑 영역)을 이동시키는 픽셀의 개수를 스트라이드(stride)라고 한다. 예를 들어, 매핑 영역을 한 픽셀씩 이동할 수도 있으나, 도 4에 도시된 바와 같이, 제1 영역(461)에서 제2 영역(462)으로, 2개 픽셀 또는 그 이상의 픽셀 개수만큼 이동하면서 매핑시킬 수도 있다. 따라서, 스트라이드의 크기에 따라, 출력 데이터(출력 영상)의 크기가 결정될 수 있다.
동일한 방식으로, 입력 데이터(410) 내에서 디컨볼루션 연산의 대상을 좌측에서 우측으로, 상단에서 하단으로 한 픽셀씩 스캔하면서, 커널에 포함되는 가중치 값들을 곱하여, 출력 데이터(450)에 매핑시킬 수 있다.
한편, 도 4를 참조하면, 제1 영역(461)과 제2 영역(462)은 중첩될 수 있다. 또한, 중첩되는 영역에 포함되는 픽셀들 각각에는 복수의 값들이 매핑될 수 있으며, 출력 데이터(450)의 픽셀의 값은 픽셀에 매핑되는 값들을 합한 값으로 결정될 수 있다. 예를 들어, 출력 데이터(450)의 제2 픽셀(452)에는 입력 데이터(410)의 픽셀 값(a)과 가중치 w5를 곱한 값(a*w5)과 입력 데이터(410)의 픽셀 값(b)와 가중치 (w3)을 곱한 값 (b*w3)이 매핑될 수 있으며, 제2 픽셀(452)의 값은 a*w5 +b*w3으로 결정될 수 있다.
이와 같은 방법으로 디컨볼루션 연산이 수행될 수 있으며, 디컨볼루션 연산 결과, 크기(해상도)가 증가된 영상이 출력될 수 있다.
다시 도 3을 참조하면, 디컨볼루션된 제2 특징 맵들(320)의 크기(해상도)는 제1 특징 맵들(310)의 크기(해상도)보다 m배 클 수 있다. 도 3에 도시된 제1 영상(330)은, 제1 특징 맵들(310) 중 하나(이하, 제1 특징 맵이라 한다)를 디스플레이의 크기 및 디스플레이에 배치된 서브 픽셀들의 위치를 고려하여, 나타낸 영상이고, 제2 영상(340)은, 제2 특징 맵들(320) 중 하나(이하, 제2 특징 맵이라 한다)를 디스플레이의 크기 및 디스플레이에 배치된 서브 픽셀들의 위치를 고려하여 나타낸 영상이다. 실제 제2 특징 맵의 크기(해상도)는 제1 특징 맵의 크기(해상도)보다 m배 클 수 있다.
예를 들어, R, G, B 를 포함하는 제1 영역(350)을 기준으로 제1 픽셀 값(331)은 제1 특징 맵에 포함된 값이고, 나머지 제2 내지 제9 픽셀들(342, 343, 344, 345, 346, 347, 348, 349)은 제1 특징 맵에 포함된 픽셀 값들에 기초하여, 디컨볼루션을 통해 생성된 값들일 수 있다. 이에 따라, 제2 특징 맵의 크기(해상도)는 제1 특징 맵의 크기(해상도)보다 3배 클 수 있다.
다시 도 2를 참조하면, 풀링 연산부(230)는, 디스플레이에 배치된 서브 픽셀들의 위치 정보(215)에 기초하여, 업 스케일링된 제2 특징 맵들에 풀링 연산을 수행할 수 있다. 이에 따라, 풀링 연산부(230)는 서브 픽셀 별로 특징 맵들을 생성할 수 있다. 예를 들어, 서브 픽셀들이 제1 서브 픽셀, 제2 서브 픽셀 및 제3 서브 픽셀을 포함하는 경우, 풀링 연산부(230)는 제1 서브 픽셀의 위치 정보에 기초하여, 제2 특징 맵들에 풀링 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성할 수 있다. 이에 대해서는, 도 5를 참조하여, 자세히 설명하기로 한다.
도 5는, 일 실시예에 따른 영상 처리 장치가 풀링 연산을 수행하는 방법을 설명하기 위해 참조되는 도면이다.
도 5를 참조하면, 제3 영상(500)은 업 스케일러(220)에서 출력된 제2 특징 맵에 포함되는 특징들 일부를 디스플레이에서의 서브 픽셀들(510, 520, 530)의 위치를 고려하여 나타낸 영상이다.
일 실시예에 따른 영상 처리 장치(100)는 서브 픽셀들(510, 520, 530)의 위치를 기준으로, 제2 특징 맵에 대한 풀링 연산을 수행할 수 있다. 예를 들어, 서브 픽셀들은, 제1 서브 픽셀(510, 예를 들어, Blue 서브 픽셀), 제2 서브 픽셀(520, 예를 들어, Red 서브 픽셀), 및 제3 서브 픽셀(530, 예를 들어, Green 서브 픽셀)을 포함할 수 있다.
영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각의 위치에 기초하여, 제2 특징 맵에 대한 풀링 연산을 수행함으로써, 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각에 대한 서브 특징 맵들을 생성할 수 있다. 제1 내지 제3 서브 픽셀들(510, 520, 530) 각각에 대한 서브 특징 맵들을 생성하는 방법은 동일하므로, 이하에서는, 제1 서브 픽셀(510)에 대한 서브 특징 맵들을 생성하는 방법에 대해서만, 설명하기로 한다.
영상 처리 장치(100)는 서브 픽셀에 대해 생성할 서브 특징 맵들의 개수(k)를 설정할 수 있으며, 설정된 서브 특징 맵들의 개수(k)에 기초하여, 단위 영역들(540, 550)을 설정할 수 있다. 영상 처리 장치(100)는, 제2 특징 맵에 포함된 특징들(픽셀들) 중, 제1 서브 픽셀(510)과 근접도가 높은 k개의 특징들이 하나의 단위 영역에 포함되도록 단위 영역들(540, 550)을 설정할 수 있다. 이때, 제1 서브 픽셀(510)과 근접도가 높다는 것은, 제1 서브 픽셀(510)과의 거리가 가까운 것을 의미할 수 있다.
예를 들어, k=4로 설정된 경우, 도 5에 도시된 바와 같이, 제2 특징 맵에 포함된 특징들 중 제1 서브 픽셀(510)을 기준으로, 제1 서브 픽셀(510)과 근접도가 높은 4개의 특징들이 하나의 단위 영역(540)에 포함되도록 단위 영역들이 설정될 수 있다. 또는, k=12로 설정된 경우, 제3 특징 맵에 포함된 특징들 중 제1 서브 픽셀을 기준으로 제1 서브 픽셀과 근접도가 높은 12개의 특징들이 하나의 단위 영역(550)에 포함되도록 단위 영역들이 설정될 수 있다. 다만, 이에 한정되는 것은 아니며, 단위 영역들은 다양한 방법으로 설정될 수 있다.
영상 처리 장치(100)는 단위 영역들 각각에서 제1 서브 픽셀(510)과의 상대적 위치가 동일한 특징들을 하나의 서브 특징 맵으로 풀링할 수 있다.
도 5에 도시된 바와 같이, k=4로 설정된 경우, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제1 위치 관계(예를 들어, 제1 서브 픽셀을 기준으로 좌 상단에 위치하며, 제1 거리를 가짐)를 가지는 제1 특징들(f1, f2, f3, f4)을 추출하고, 추출된 제1 특징 들(f1, f2, f3, f4)로 구성된 제1 서브 특징 맵(571)을 생성할 수 있다. 또한, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제2 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 우 상단에 위치하며, 제2 거리를 가짐)를 가지는 제2 특징들(f5, f6, f7, f8)을 추출하고, 추출된 제2 특징들(f5, f6, f7, f8)로 구성된 제2 서브 특징 맵(572)을 생성할 수 있다. 또한, 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제3 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 좌 하단에 위치하며, 제3 거리를 가짐)를 가지는 제3 특징들(f9, f10, f11, f12)을 추출하고, 추출된 제3 특징들(f9, f10, f11, f12)로 구성된 제3 서브 특징 맵(573)을 생성할 수 있다. 또한, 영상 처리 장치(100)는 단위 영역들(541, 542, 543, 544) 각각에서, 제1 서브 픽셀(510)과 제4 위치 관계(예를 들어, 제1 서브 픽셀(510)을 기준으로 우 하단에 위치하며, 제4 거리를 가짐)를 가지는 제4 특징들(f13, f14, f15, f16)을 추출하고, 추출된 제4 특징들(f13, f14, f15, f16)로 구성된 제4 서브 특징 맵(574)을 생성할 수 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 상술한 방법과 동일한 방법으로, 제2 서브 픽셀(520)에 대한 4개의 서브 픽셀 특징 맵들(제2 서브 특징 맵들)을 생성할 수 있으며, 제3 서브 픽셀(530)에 대한 4개의 서브 픽셀 특징 맵들(제3 서브 특징 맵들)을 생성할 수 있다. 이와 같이, 일 실시예에 따른 영상 처리 장치(100)는 설정된 k 값에 따라, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다.
다시, 도 2를 참조하면, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들은 제2 컨볼루션 연산부(240)로 입력될 수 있다. 한편, 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는 근접도에 기초하여, 제2 컨볼루션 연산부(240)로 입력되는 서브 특징 맵들의 순서(채널 구성) 또는 가중치를 결정할 수 있다. 이에 대해서는, 도 6을 참조하여, 자세히 설명하기로 한다.
도 6은 일 실시예에 따른 영상 처리 장치가 제2 컨볼루션 연산부로 입력되는 채널을 구성하는 방법을 설명하기 위해 참조되는 도면이다.
일 실시예에 따른 영상 처리 장치(100)는 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 제2 컨볼루션 연산부(240)로 입력할 수 있다. 이때, 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도에 기초하여, 서브 특징 맵들의 입력 순서를 결정할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 제1 서브 특징 맵(610)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제1 위치 관계를 가지는 제1 특징(f1)으로 구성된 특징 맵이며, 이때, 제1 특징(f1)은, 제1 서브 픽셀(660)과 제1 거리(d1)를 가질 수 있다. 또한, 제2 서브 특징 맵(620)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제2 위치 관계를 가지는 제2 특징(f2)으로 구성된 특징 맵이며, 이때, 제2 특징(f2)은 제1 서브 픽셀(660)과 제2 거리(d2)를 가질 수 있다. 또한, 제3 서브 특징 맵(630)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제3 위치 관계를 가지는 제3 특징(f3)으로 구성된 특징 맵이며, 이때, 제3 특징(f3)은 제1 서브 픽셀(660)과 제3 거리(d3)를 가질 수 있다. 또한, 제4 서브 특징 맵(640)은 단위 영역(650)에서 제1 서브 픽셀(660)과 제4 위치 관계를 가지는 제4 특징(f4)으로 구성된 특징 맵이며, 이때, 제4 특징(f4)은 제1 서브 픽셀(660)과 제4 거리(d4)를 가질 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도(거리)에 기초하여, 제2 컨볼루션 연산부(240)로 입력되는 서브 특징 맵들의 채널 순서를 결정할 수 있다. 영상 처리 장치(100)는, 거리가 가까운 순서로, 서브 픽셀 맵들의 채널 순서를 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 제2 거리(d2)를 가지는 제2 서브 픽셀 맵(620)을 첫 번째 채널(제1 채널)로, 제1 거리(d1)를 가지는 제1 서브 픽셀 맵(610)을 두 번째 채널(제2 채널)로, 제4 거리(d4)를 가지는 제4 서브 픽셀 맵(640)을 세 번째 채널(제3 채널)로, 제3 거리(d3)를 가지는 제3 서브 픽셀 맵(630)을 네 번째 채널(제4 채널)로 입력할 수 있다. 이때, 제1 거리 및 제4 거리는 동일할 수 있으며, 제4 거리(d4)를 가지는 제4 서브 픽셀 맵(640)을 두 번째 채널(제2 채널)로, 제1 거리(d1)를 가지는 제1 서브 픽셀 맵(610)을 세 번째 채널(제3 채널)로 입력할 수도 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 서브 특징 맵들 각각에 대응하는, 서브 픽셀과의 근접도(거리)에 기초하여, 서브 특징 맵들에 적용되는 가중치를 결정할 수 있다.
영상 처리 장치(100)는 서브 픽셀과의 거리가 가까울수록(작을수록) 서브 특징 맵에 적용되는 가중치 값을 크게 결정할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 제2 서브 특징 맵(620)에는 (1/d2)의 가중치를 적용하고, 제1 서브 특징 맵(610)에는 (1/d1)의 가중치를 적용하며, 제4 서브 특징 맵(640)에는 (1/d4)의 가중치를 적용하고, 제3 서브 특징 맵(630)에는 (1/d3)의 가중치를 적용할 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 서브 특징 맵들에 적용되는 가중치 값들을 결정할 수 있다.
다시, 도 2를 참조하면, 제2 컨볼루션 연산부(240)는 입력된 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행할 수 있다. 이에 따라, 제2 컨볼루션 연산부(240)는 서브 픽셀들 각각에 대한 결과 영상을 생성할 수 있다. 예를 들어, 제2 컨볼루션 연산부(240)는 제1 서브 픽셀에 대한 k개의 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행하여, 제1 서브 픽셀에 대한 제1 결과 영상(예를 들어, Red(NxN))을 생성할 수 있다. 제1 결과 영상은, 제1 서브 픽셀에 대한 최종 출력 값들을 포함하는 영상일 수 있으나, 이에 한정되지 않는다. 또한, 제2 컨볼루션 연산부(240)는, 제2 서브 픽셀 및 제3 서브 픽셀에 대해서도, 동일한 방법으로 결과 영상들(제2 결과 영상(예를 들어, Green(NxN)) 및 제3 결과 영상(예를 들어, Blue(NxN))을 생성할 수 있다.
영상 처리 장치(100)는, 제1 내지 제3 결과 영상에 기초하여, 최종 출력 영상(예를 들어, RGB 출력(NxN))을 생성할 수 있다.
도 7 내지 도 9는 일 실시예에 따른 딥 뉴럴 네트워크를 학습시키는 방법을 설명하기 위해 참조되는 도면들이다.
도 7을 참조하면, 일 실시예에 따른 딥 뉴럴 네트워크(200)는 복수의 학습 데이터 세트들에 의해 학습될 수 있다. 이때, 학습 데이터 세트는, 입력 영상 데이터(710)와 레이블 데이터(720)를 포함할 수 있다. 레이블 데이터(720)는 mN x mN의 크기를 가지는 고해상도 영상 데이터이고, 입력 영상 데이터(710)는 N x N의 크기를 가지는 저해상도 영상 데이터일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 입력 영상 데이터(710)는, 레이블 데이터(720)에 기초하여 생성된 데이터일 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 입력 영상 데이터(710)를 딥 뉴럴 네트워크(200)에 입력할 수 있으며, 딥 뉴럴 네트워크(200)는 입력 영상 데이터(710)를 처리하여 획득한 영상 데이터(730, 출력 영상 데이터)를 출력할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 출력 영상 데이터(730)로부터 가상 영상 데이터(740)를 생성할 수 있다. 가상 영상 데이터(740)는, 출력 영상 데이터(730)를 이용하여 결정된 서브 픽셀들 값들에 의해, 디스플레이에 영상이 출력될 때, 시청 거리에서 인지되는 영상을 재현한 영상 데이터일 수 있다.
가상 영상 데이터(740)를 생성하는 방법에 대해서는, 도 8을 참조하여, 설명하기로 한다.
도 8을 참조하면, 딥 뉴럴 네트워크(200)는 입력 영상 데이터(710)와 동일한 크기(N x N)를 가지는 출력 영상 데이터(730)를 생성할 수 있다. 영상 처리 장치(100)는 출력 영상 데이터(730)에 기초하여, 디스플레이에 배치된 서브 픽셀들의 값을 결정할 수 있다. 예를 들어, 출력 영상 데이터(730)에 포함되는 제1 픽셀 값(810)에 기초하여, 제1 서브 픽셀(821, 예를 들어, Red 픽셀), 제2 서브 픽셀(822, 예를 들어, Green 픽셀) 및 제3 서브 픽셀(823, 예를 들어, Blue 픽셀) 값들이 결정될 수 있다. 서브 픽셀들의 값이 결정되면, 서브 픽셀들의 값에 기초하여, 출력 영상 데이터(730)의 크기(해상도)를 증가시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 서브 픽셀들의 값에 기초하여, 제1 픽셀(810) 및 제2 픽셀(820) 사이에 제5 픽셀(850)을 생성할 수 있으며, 이때, 제5 픽셀 값은, 제5 픽셀(850) 주변에 위치한 서브 픽셀들의 값과 서브 픽셀들과 제5 픽셀(850) 사이의 거리에 기초하여, 결정될 수 있다. 이와 같은 방식을 이용하여, 영상 처리 장치(100)는, mN x mN 크기(예를 들어, m=3)를 가지는 가상 영상 데이터(740)를 생성할 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 가상 영상 데이터(740)를 생성할 수 있다.
한편, 도 7을 다시 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 레이블 데이터(720)로부터 서브 픽셀 렌더링 영상 데이터(750, SPR 영상 데이터)를 생성할 수 있다.
서브 픽셀 렌더링 영상 데이터(750)를 생성하는 방법에 대해서는, 도 9를 참조하여, 자세히 설명하기로 한다.
도 9를 참조하면, 영상 처리 장치(100)는 레이블 데이터(720)에 서브 픽셀 렌더링을 수행할 수 있다. 영상 처리 장치(100)는 레이블 데이터(720)에 포함되는 픽셀 값들 중, 서브 픽셀의 주변에 위치한 픽셀 값들에 기초하여, 서브 픽셀의 값을 결정할 수 있다. 예를 들어, 영상 처리 장치(100)는 레이블 데이터(720)에 포함되는 제1 내지 제4 픽셀 값들(P1, P2, P3, P4)에 기초하여, 제1 서브 픽셀(910)의 값을 결정하고, 제 3 내지 제6 픽셀 값들(P3, P4, P5, P6)에 기초하여, 제2 서브 픽셀(920)의 값을 결정할 수 있다. 또한, 영상 처리 장치(100)는 제3 픽셀 값(P3), 제5 픽셀 값(P5), 제7 픽셀 값(P7) 및 제8 픽셀 값(P8)에 기초하여, 제3 서브 픽셀(930)의 값을 결정할 수 있다. 영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들(910, 920, 930)의 값들에 기초하여, 하나의 픽셀 값(940)을 결정할 수 있다. 영상 처리 장치(100)는 결정된 픽셀 값들로 영상 데이터를 재구성할 수 있으며, 이때, 재구성된 영상 데이터(750, SPR 영상 데이터)는 N x N의 크기를 가질 수 있다. 다만, 이에 한정되는 것은 아니며, 영상 처리 장치(100)는 다양한 방법으로 SPR 영상 데이터(750)를 생성할 수 있다.
다시, 도 7을 참조하면, 영상 처리 장치(100)는 mN x mN의 크기를 가지는 레이블 데이터(720)와 가상 영상 데이터(740)를 RGB 색공간에서 YUV 색공간으로 변환하고, 레이블 데이터(720)의 U 성분 값과 가상 영상 데이터(740)의 U 성분 값의 차이(제1 오차)를 계산할 수 있으며, 레이블 데이터(720)의 V 성분 값과 가상 영상 데이터(740)의 V 성분 값의 차이(제2 오차)를 계산할 수 있다. 이때, 제1 오차 및 제2 오차는 색 오차에 해당한다. 영상의 U 성분이나 V 성분은, 영상에서 색 번짐에 영향을 미치는 요소이며, 영상 처리 장치(100)는 색 번짐을 방지하기 위해 제1 오차 및 제2 오차를 최소화하는 방향으로 딥 뉴럴 네트워크(200)를 학습시킬 수 있다.
또한, 영상 처리 장치(100)는 N x N의 크기를 가지는 서브 픽셀 렌더링 영상 데이터(750)와 출력 데이터(730)를 RGB 색 공간에서 YUV 색 공간으로 변환하고, 서브 픽셀 렌더링 영상 데이터(750)의 Y 성분 값과 출력 데이터(730)의 Y 성분 값의 차이(제3 오차, 밝기 오차에 해당함)를 계산할 수 있다. 영상의 Y 성분은, 디테일(텍스쳐 표현)이나, 텍스트/엣지의 앨리어싱(aliasing)에 영향을 미치는 요소이며, 영상 처리 장치(100)는 디테일을 향상시키고, 텍스트나 엣지의 앨리어싱을 방지하기 위해 제3 오차를 최소화하는 방향을 딥 뉴럴 네트워크(200)를 학습시킬 수 있다.
또한, 영상 처리 장치(100)는 영상의 색 번짐 방지, 디테일 향상, 텍스트나 엣지 표현 향상 등 전체적인 영상의 품질(quality)을 향상시키기 위하여, 제1 오차, 제2 오차 및 제3 오차를 합한 전체 오차 값이 최소화되는 방향으로 딥 뉴럴 네트워크(200)를 학습시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 오차, 제2 오차 및 제3 오차의 가중합으로 손실함수를 정의하고, 손실함수가 최소화되도록 딥 뉴럴 네트워크(200)에 포함되는 하나 이상의 커널들의 가중치를 조절할 수 있다. 다만, 이에 한정되지 않는다.
도 10은 일 실시예에 따른 영상 처리 장치의 동작방법을 나타내는 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는, 제1 영상으로부터 제1 특징 맵들을 생성할 수 있다(S1010).
예를 들어, 영상 처리 장치(100)는 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성할 수 있다. 이때, 제1 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 또한, 제3 특징 맵들의 크기는 N x N일 수 있으며, 제3 특징 맵들의 개수는 f개일 수 있다.
영상 처리 장치(100)는 제3 특징 맵들을 업스케일링하여, 크기(해상도)가 증가된 제1 특징 맵들을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 제1 특징 맵들을 생성할 수 있다. 디컨볼루션 연산 결과 생성된 제1 특징 맵들은 제3 특징 맵들보다 크며, 제1 특징 맵들의 크기는 mN x mN일 수 있다.
영상 처리 장치(100)는 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성할 수 있다(S1020).
예를 들어, 영상 처리 장치(100)는 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 제1 특징 맵들에 풀링 연산을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 서브 픽셀 별로 서브 특징 맵들을 생성할 수 있다. 예를 들어, 서브 픽셀들이 제1 서브 픽셀, 제2 서브 픽셀 및 제3 서브 픽셀을 포함하는 경우, 영상 처리 장치(100)는 제1 서브 픽셀의 위치 정보에 기초하여, 제1 특징 맵들에 풀링 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 서브 특징 맵들을 생성할 수 있다.
영상 처리 장치(100)는 제1 특징 맵들 각각에 포함된 특징들과 제1 서브 픽셀과의 위치 관계에 기초하여, 제1 서브 특징 맵들을 생성할 수 있다. 예를 들어, 영상 처리 장치(100)는 제1 특징 맵에 포함된 특징들 중 제1 서브 픽셀을 기준으로, 제1 서브 픽셀과 근접도가 높은 k개의 특징들이 하나의 단위 영역에 포함되도록 단위 영역들을 설정할 수 있다. 영상 처리 장치(100)는 단위 영역들 각각에서 제1 서브 픽셀과의 상대적 위치가 동일한 특징들을 하나의 서브 특징 맵으로 풀링할 수 있으며, 제1 서브 픽셀에 대한, k개의 서브 특징 맵들(제1 서브 특징 맵들)을 생성할 수 있다. 이에 대해서는, 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
영상 처리 장치(100)는 동일한 방식으로, 제2 서브 픽셀에 대한 k개의 서브 특징 맵들(제2 서브 특징 맵들) 및 제3 서브 픽셀에 대한 k개의 서브 특징 맵들(제3 서브 특징 맵들)을 생성할 수 있다.
또한, 일 실시예에 따른 영상 처리 장치(100)는 제1 서브 특징 맵들 각각에 포함된 특징들과 제1 서브 픽셀과의 근접도에 기초하여, 제1 서브 특징 맵들 각각의 가중치를 결정할 수 있다. 이에 대해서는, 도 6에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다. 마찬가지로, 영상 처리 장치(100)는 제2 서브 특징 맵들 및 제3 서브 특징 맵들 각각에 대한 가중치를 결정할 수 있다.
일 실시예에 따른 영상 처리 장치(100)는 제2 특징 맵들(제1 내지 제3 서브 특징 맵들)에 기초하여, 서브 픽셀들 각각에 대한 결과값들을 결정할 수 있다(S1030).
예를 들어, 영상 처리 장치(100)는 가중치가 적용된 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행할 수 있으며, 가중치가 적용된 제2 서브 특징 맵들과 제4 커널들과의 컨볼루션 연산을 수행할 수 있다. 또한, 제3 서브 특징 맵들과 제5 커널들과의 컨볼루션 연산을 수행할 수 있다. 이에 따라, 영상 처리 장치(100)는 제1 내지 제3 서브 픽셀들 각각에 대한 결과 영상(제1 내지 제3 결과 영상들)을 생성할 수 있다. 영상 처리 장치(100)는 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
도 11은 일 실시예에 따른 영상 처리 장치의 구성을 나타내는 블록도이다.
도 11을 참조하면, 일 실시예에 따른 영상 처리 장치(100)는 프로세서(120) 및 메모리(130)를 포함할 수 있다.
일 실시예에 따른 프로세서(120)는 영상 처리 장치(100)를 전반적으로 제어할 수 있다. 일 실시예에 따른 프로세서(120)는 메모리(130)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다.
일 실시예에 따른 메모리(130)는 영상 처리 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 메모리(130)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(130)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(120)에 의해 실행될 수 있다.
일 실시예에 따른 프로세서(120)는 딥 뉴럴 네트워크를 이용하여, 딥 뉴럴 네트워크에 입력된 제1 영상을 처리하여, 제2 영상을 출력할 수 있다. 이때, 딥 뉴럴 네트워크는 도 2 내지 도 9에서 도시하고 설명한 딥 뉴럴 네트워크일 수 있다.
예를 들어, 프로세서(120)는 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제1 특징 맵들을 생성할 수 있다. 이때, 제1 영상의 크기는 N x N일 수 있으며, 복수의 채널들을 포함할 수 있다. 또한, 제2 특징 맵들의 크기는 N x N일 수 있으며, 제1 특징 맵들의 개수는 f 개일 수 있다.
프로세서(120)는 제1 특징 맵들을 업스케일링하여, 크기(해상도)가 증가된 제2 특징 맵들을 생성할 수 있다. 예를 들어, 프로세서(120)는 제1 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 제2 특징 맵들을 생성할 수 있다. 디컨볼루션 연산 결과 생성된 제2 특징 맵들의 크기는 mN x mN일 수 있다.
프로세서(120)는 제2 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다. 예를 들어, 프로세서(120)는 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 제2 특징 맵들에 풀링 연산을 수행함으로써, 서브 픽셀들 각각에 대한 k개의 서브 특징 맵들을 생성할 수 있다. 이에 대해서는, 도 5에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
일 실시예에 따른 프로세서(120)는 서브 특징 맵들에 기초하여, 서브 픽셀들 각각에 대한 결과값들을 결정할 수 있다. 예를 들어, 프로세서(120)는 제1 서브 픽셀에 대한 k개의 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행함으로써, 제1 서브 픽셀에 대한 제1 결과 영상을 생성할 수 있다. 또한, 프로세서(120)는 제2 서브 픽셀 및 제3 서브 픽셀에 대해서도 동일한 방법으로, 제2 결과 영상 및 제3 결과 영상을 생성할 수 있다.
일 실시예에 따른 프로세서(120)는 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력할 수 있다.
도 12는 일 실시예에 따른 프로세서의 블록도이다.
도 12를 참조하면, 일 실시예에 따른 프로세서(120)는 네트워크 학습부(1210) 및 영상 처리부(1220)를 포함할 수 있다.
네트워크 학습부(1210)는 복수의 학습 데이터 세트들을 이용하여, 일 실시예에 따른 딥 뉴럴 네트워크를 학습시킬 수 있다. 이때, 학습 데이터 세트는, 입력 영상 데이터와 레이블 데이터를 포함할 수 있다. 레이블 데이터는 mN x mN의 크기를 가지는 고해상도 영상 데이터이고, 입력 영상 데이터는 N x N의 크기를 가지는 저해상도 영상 데이터일 수 있으나, 이에 한정되는 것은 아니다. 또한, 네트워크 학습부(1210)는 레이블 데이터를 이용하여, 입력 영상 데이터를 생성할 수 있다.
네트워크 학습부(1210)는 입력 영상 데이터를 딥 뉴럴 네트워크로 입력하여, 출력 영상 데이터를 획득할 수 있다. 네트워크 학습부(1210)는 출력 영상 데이터로부터 가상 영상 데이터를 생성할 수 있다. 가상 영상 데이터는, 출력 영상 데이터를 이용하여 결정된 서브 픽셀들 값들에 의해, 디스플레이에 영상이 출력될 때, 시청 거리에서 인지되는 영상을 재현한 영상 데이터일 수 있다. 가상 영상 데이터를 생성하는 방법에 대해서는, 도 8에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
또한, 네트워크 학습부(1210)는 레이블 데이터를 서브 픽셀 렌더링하여, 서브 픽셀 렌더링 영상 데이터를 생성할 수 있다. 서브 픽셀 렌더링 영상을 생성하는 방법에 대해서는, 도 9에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
네트워크 학습부(1210)는 mN x mN의 크기를 가지는 레이블 데이터와 가상 영상 데이터에서의 U 성분 값과 V 성분 값의 차이, N x N의 크기를 가지는 서브 픽셀 렌더링 영상 데이터와 출력 데이터에서의 Y 성분 값의 차이에 기초하여, 일 실시예에 따른 딥 뉴럴 네트워크를 학습시킬 수 있다. 딥 뉴럴 네트워크를 학습시키는 방법에 대해서는, 도 7 내지 9에서 자세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
네트워크 학습부(1210)는 학습된 네트워크(예를 들어, 딥 뉴럴 네트워크)를 영상 처리 장치의 메모리에 저장할 수 있다. 또는, 영상 처리 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 네트워크가 저장되는 메모리는, 예를 들면, 영상 처리 장치(100)의 적어도 하나의 다른 구성 요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
영상 처리부(1220)는 네트워크 학습부(1210)에 의해 학습된 딥 뉴럴 네트워크를 이용하여, 입력된 제1 영상을 처리할 수 있다. 예를 들어, 영상 처리부(1220)는 학습된 딥 뉴럴 네트워크를 이용하여, 제1 영상에 대한 특징 정보를 추출하고, 추출된 특징 정보 및 디스플레이에 배치된 서브 픽셀들의 위치 정보에 기초하여, 서브 픽셀 렌더링을 수행할 수 있다. 이에 따라, 영상 처리부(1220)는, 제1 영상의 특성에 적응적인 서브 픽셀 렌더링을 수행할 수 있다.
한편, 도 12의 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는, 하드웨어 칩 형태로 제작되어 영상 처리 장치(100)에 탑재될 수 있다. 예를 들어, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는 인공 지능(AI;artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 영상 처리 장치에 탑재될 수 도 있다.
이 경우, 네트워크 학습부(1210) 및 영상 처리부(1220)는 하나의 영상 처리 장치에 탑재될 수도 있으며, 또는 별개의 영상 처리 장치들에 각각 탑재될 수도 있다. 예를 들어, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 일부는 영상 처리 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 네트워크 학습부(1210) 및 영상 처리부(1220) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
한편, 도 11및 12에 도시된 영상 처리 장치(100) 및 프로세서(120)의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상 처리 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따른 영상 처리 장치의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
또한, 개시된 실시예들에 따른 영상 처리 장치 및 영상 처리 장치의 동작방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 클라이언트 장치로 구성되는 시스템에서, 서버의 저장매체 또는 클라이언트 장치의 저장매체를 포함할 수 있다. 또는, 서버 또는 클라이언트 장치와 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 클라이언트 장치 또는 제3 장치로 전송되거나, 제3 장치로부터 클라이언트 장치로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 클라이언트 장치 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 클라이언트 장치 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 클라이언트 장치가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (15)

  1. 영상 처리 장치에 있어서,
    하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 하나 이상의 딥 뉴럴 네트워크를 이용하여,
    제1 영상으로부터 제1 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하고, 상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는, 영상 처리 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성하고, 상기 제3 특징 맵들을 업스케일링하여, 상기 제1 특징 맵들을 생성하는, 영상 처리 장치.
  3. 제2항에 있어서,
    하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고,
    상기 프로세서는,
    상기 디컨볼루션 레이어에서, 상기 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행함으로써, 상기 제3 특징 맵들을 업스케일링하는, 영상 처리 장치.
  4. 제1항에 있어서,
    상기 서브 픽셀들은,
    제1 내지 제3 서브 픽셀들을 포함하고,
    상기 프로세서는,
    상기 제1 특징 맵들 및 상기 제1 서브 픽셀의 위치 정보에 기초하여, 제1 서브 특징 맵들을 생성하고, 상기 제1 특징 맵들 및 상기 제2 서브 픽셀의 위치 정보에 기초하여, 제2 서브 특징 맵들을 생성하며, 상기 제1 특징 맵들 및 상기 제3 서브 픽셀의 위치 정보에 기초하여, 제3 서브 특징 맵들을 생성하는, 영상 처리 장치.
  5. 제4항에 있어서,
    상기 제1 서브 특징 맵들 각각은,
    상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제1 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되고,
    상기 제2 서브 특징 맵들 각각은,
    상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제2 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되며,
    상기 제3 서브 특징 맵들 각각은,
    상기 제1 특징 맵들 각각에 포함된 특징들 중 상기 제3 서브 픽셀과의 위치 관계가 동일한 특징들로 구성되는, 영상 처리 장치.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 서브 특징 맵들 각각에 포함된 특징들과, 상기 제1 서브 픽셀과의 근접도에 기초하여, 상기 제1 서브 특징 맵들 각각의 가중치를 결정하고,
    상기 제2 서브 특징 맵들 각각에 포함된 특징들과, 상기 제2 서브 픽셀과의 근접도에 기초하여, 상기 제2 서브 특징 맵들 각각의 가중치를 결정하며,
    상기 제3 서브 특징 맵들 각각에 포함된 특징들과, 상기 제3 서브 픽셀과의 근접도에 기초하여, 상기 제3 서브 특징 맵들 각각의 가중치를 결정하고,
    상기 제1 내지 제3 서브 특징 맵들 각각에 가중치들을 적용하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는, 영상 처리 장치.
  7. 제4항에 있어서,
    상기 프로세서는,
    상기 제1 서브 특징 맵들과 제3 커널들과의 컨볼루션 연산을 수행하여, 상기 제1 서브 픽셀에 대한 제1 결과 값들을 포함하는 제1 결과 영상을 생성하고,
    상기 제2 서브 특징 맵들과 제4 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제2 결과 값들을 포함하는 제2 결과 영상을 생성하며,
    상기 제3 서브 특징 맵들과 제5 커널들과의 컨볼루션 연산을 수행하여, 상기 제2 서브 픽셀에 대한 제3 결과 값들을 포함하는 제3 결과 영상을 생성하고,
    상기 제1 내지 제3 결과 영상들을 이용하여, 제2 영상을 출력하는, 영상 처리 장치.
  8. 제1항에 있어서,
    상기 서브 픽셀들 각각에 대한 결과 값에 기초하여, 제2 영상을 출력하는, 영상 처리 장치.
  9. 제8항에 있어서,
    상기 제1 영상 및 상기 제2 영상은 해상도가 동일한, 영상 처리 장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 제2 영상을 이용하여, 제1 가상 영상을 생성하고, 상기 제1 가상 영상과 레이블 영상과의 U 값에 대한 제1 오차 및 V 값에 대한 제2 오차를 계산하고,
    상기 레이블 영상에 대한 서브 픽셀 렌더링을 수행하여, 제2 가상 영상을 생성하여, 상기 제2 가상 영상과 상기 출력 영상과의 Y 값에 대한 제3 오차를 계산하고,
    상기 제1 내지 제3 오차를 최소화하도록 상기 딥 뉴럴 네트워크를 학습시키는, 영상 처리 장치.
  11. 제10항에 있어서,
    상기 제2 영상 및 상기 제2 가상 영상은 제1 해상도를 가지고, 상기 레이블 영상 및 상기 제1 가상 영상은 제2 해상도를 가지며, 상기 제2 해상도는 상기 제1 해상도보다 큰, 영상 처리 장치.
  12. 하나 이상의 딥 뉴럴 네트워크를 이용하여, 영상을 처리하는 영상 처리 장치의 동작방법에 있어서,
    제1 영상으로부터 제1 특징 맵들을 생성하는 단계;
    상기 제1 특징 맵들 및 디스플레이에 배치된 서브 픽셀들 각각의 위치 정보에 기초하여, 상기 서브 픽셀들 각각에 대한 제2 특징 맵들을 생성하는 단계; 및
    상기 제2 특징 맵들에 기초하여, 상기 서브 픽셀들 각각에 대한 결과 값들을 결정하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  13. 제12항에 있어서,
    상기 제1 특징 맵들을 생성하는 단계는,
    상기 제1 영상과 제1 커널들과의 컨볼루션 연산을 수행하여, 제3 특징 맵들을 생성하는 단계; 및
    상기 제3 특징 맵들을 업스케일링하여, 상기 제1 특징 맵들을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  14. 제13항에 있어서,
    상기 하나 이상의 딥 뉴럴 네트워크는, 디컨볼루션 레이어를 포함하고,
    상기 제3 특징 맵들을 업스케일링하는 단계는,
    상기 디컨볼루션 레이어에서, 상기 제3 특징 맵들과 제2 커널들과의 디컨볼루션 연산을 수행하는 단계를 포함하는, 영상 처리 장치의 동작방법.
  15. 제12항에 있어서,
    상기 서브 픽셀들은,
    제1 내지 제3 서브 픽셀들을 포함하고,
    상기 제2 특징 맵들을 생성하는 단계는,
    상기 제1 특징 맵들 및 상기 제1 서브 픽셀의 위치 정보에 기초하여, 제1 서브 특징 맵들을 생성하는 단계;
    상기 제1 특징 맵들 및 상기 제2 서브 픽셀의 위치 정보에 기초하여, 제2 서브 특징 맵들을 생성하는 단계; 및
    상기 제1 특징 맵들 및 상기 제3 서브 픽셀의 위치 정보에 기초하여, 제3 서브 특징 맵들을 생성하는 단계를 포함하는, 영상 처리 장치의 동작방법.
PCT/KR2019/013301 2018-12-11 2019-10-10 영상 처리 장치 및 그 동작방법 WO2020122389A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980082417.8A CN113196380B (zh) 2018-12-11 2019-10-10 图像处理设备及其操作方法
EP19895723.5A EP3879520A4 (en) 2019-10-10 Image processing device and method for operating same
US17/413,404 US11995795B2 (en) 2018-12-11 2019-10-10 Image processing device and method for operating same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0159118 2018-12-11
KR1020180159118A KR102641423B1 (ko) 2018-12-11 2018-12-11 영상 처리 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
WO2020122389A1 true WO2020122389A1 (ko) 2020-06-18

Family

ID=71075622

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/013301 WO2020122389A1 (ko) 2018-12-11 2019-10-10 영상 처리 장치 및 그 동작방법

Country Status (4)

Country Link
US (1) US11995795B2 (ko)
KR (1) KR102641423B1 (ko)
CN (1) CN113196380B (ko)
WO (1) WO2020122389A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240056575A1 (en) * 2020-12-22 2024-02-15 Intellectual Discovery Co., Ltd. Deep learning-based image coding method and device
WO2023033360A1 (ko) * 2021-09-02 2023-03-09 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160051154A (ko) * 2014-10-31 2016-05-11 삼성전자주식회사 렌더링 방법, 렌더링 장치 및 전자 장치
KR20180004898A (ko) * 2016-07-05 2018-01-15 주식회사 와플앱스 딥러닝 기반의 이미지 처리 기술 및 그 방법
US20180130180A1 (en) * 2015-02-19 2018-05-10 Magic Pony Technology Limited Visual Processing Using Temporal and Spatial Interpolation
WO2018170393A2 (en) * 2017-03-17 2018-09-20 Portland State University Frame interpolation via adaptive convolution and adaptive separable convolution
KR20180131073A (ko) * 2017-05-31 2018-12-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2634127B2 (ja) * 1991-09-25 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ディスプレイ・システム及び方法
US7675524B1 (en) * 2007-05-17 2010-03-09 Adobe Systems, Incorporated Image processing using enclosed block convolution
CN104992654B (zh) 2011-07-29 2019-02-22 深圳云英谷科技有限公司 显示器的子像素排列及其呈现方法
US9524450B2 (en) 2015-03-04 2016-12-20 Accenture Global Services Limited Digital image processing using convolutional neural networks
MY188232A (en) * 2015-09-03 2021-11-24 Ultra D Coop U A Measuring rotational position of lenticular lens sheet
US10846836B2 (en) * 2016-11-14 2020-11-24 Ricoh Company, Ltd. View synthesis using deep convolutional neural networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160051154A (ko) * 2014-10-31 2016-05-11 삼성전자주식회사 렌더링 방법, 렌더링 장치 및 전자 장치
US20180130180A1 (en) * 2015-02-19 2018-05-10 Magic Pony Technology Limited Visual Processing Using Temporal and Spatial Interpolation
KR20180004898A (ko) * 2016-07-05 2018-01-15 주식회사 와플앱스 딥러닝 기반의 이미지 처리 기술 및 그 방법
WO2018170393A2 (en) * 2017-03-17 2018-09-20 Portland State University Frame interpolation via adaptive convolution and adaptive separable convolution
KR20180131073A (ko) * 2017-05-31 2018-12-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치

Also Published As

Publication number Publication date
US20220067880A1 (en) 2022-03-03
CN113196380B (zh) 2023-03-28
KR20200071404A (ko) 2020-06-19
EP3879520A1 (en) 2021-09-15
US11995795B2 (en) 2024-05-28
KR102641423B1 (ko) 2024-02-28
CN113196380A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN101536078B (zh) 改进图像蒙板
KR101427607B1 (ko) 다원색 변환
AU2018319215B2 (en) Electronic apparatus and control method thereof
WO2020027519A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020122389A1 (ko) 영상 처리 장치 및 그 동작방법
WO2006070603A1 (ja) 表示パネルの駆動装置、それを備えた表示装置及び表示パネルの駆動方法、並びにプログラム、記録媒体
WO2020116768A1 (ko) 영상 처리 장치 및 그 동작방법
JP2005092222A (ja) 映像表示方法および映像表示装置、ならびにコンピュータプログラムを保存したコンピュータ可読記録媒体
WO2020017871A1 (ko) 영상 처리 장치 및 그 동작방법
CN109725701A (zh) 显示面板和装置、图像处理方法和装置、虚拟现实系统
WO2020055181A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
CN114071104B (zh) 基于着色器实现多投影机投影渐变融合的方法
US9076377B2 (en) Signal processing circuit, display device and electronic apparatus
Hoffman et al. Aligning content rendering resolution and feature size with display capability in near‐eye display systems
CN107452346B (zh) 用于虚拟现实的显示系统及其驱动方法
JP2013051621A (ja) 画像処理方法
JP2003058880A (ja) クロスフィルタ処理方法、クロスフィルタ処理装置、クロスフィルタ処理プログラム、及びこれを記録するコンピュータ読み取り可能な記録媒体
WO2021172744A1 (ko) 전자 장치 및 그 제어 방법
WO2021029719A1 (ko) 영상을 변환하는 컴퓨팅 장치 및 그 동작 방법
WO2021107592A1 (en) System and method for precise image inpainting to remove unwanted content from digital images
CN109946917B (zh) 一种将超高像素彩色图像在缩微胶片上的成像方法
JPH03127284A (ja) カラー画像処理装置
JP2011221455A (ja) 画像処理装置、画像投影システム及び画像処理方法
JP6892557B2 (ja) 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム

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: 19895723

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019895723

Country of ref document: EP

Effective date: 20210611