WO2022250372A1 - Ai에 기반한 프레임 보간 방법 및 장치 - Google Patents

Ai에 기반한 프레임 보간 방법 및 장치 Download PDF

Info

Publication number
WO2022250372A1
WO2022250372A1 PCT/KR2022/007140 KR2022007140W WO2022250372A1 WO 2022250372 A1 WO2022250372 A1 WO 2022250372A1 KR 2022007140 W KR2022007140 W KR 2022007140W WO 2022250372 A1 WO2022250372 A1 WO 2022250372A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
optical flow
feature map
level
warped
Prior art date
Application number
PCT/KR2022/007140
Other languages
English (en)
French (fr)
Inventor
최나래
이성호
최웅일
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220019101A external-priority patent/KR20220158598A/ko
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202280037578.7A priority Critical patent/CN117377974A/zh
Priority to EP22811565.5A priority patent/EP4318376A4/en
Priority to US17/752,347 priority patent/US20220375030A1/en
Publication of WO2022250372A1 publication Critical patent/WO2022250372A1/ko

Links

Images

Classifications

    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Definitions

  • the present disclosure relates to a method and apparatus for interpolating a frame of an image. More specifically, the present disclosure relates to a technique of interpolating a frame of an image using AI (Artificial Intelligence).
  • AI Artificial Intelligence
  • Acquiring a more accurate bidirectional optical flow between two frames based on a flow prediction neural network, obtaining an AI-based interpolation filter having different filter coefficients for each pixel of a frame through an interpolation filter neural network based on a bidirectional optical flow, and AI-based A frame interpolation method and apparatus for an image based on AI used to improve image restoration performance and image quality by interpolating a new frame between two frames using an interpolation filter are provided.
  • an AI-based frame interpolation method includes obtaining feature maps of a plurality of levels for a first frame and feature maps of a plurality of levels of a second frame, among successive frames of an image. step; obtaining a first optical flow from a first feature map of a predetermined level to a second feature map and a second optical flow from the second feature map of the predetermined level to the first feature map through a flow prediction neural network; ; Obtaining a forward warped first feature map by forward warping the first feature map using the first optical flow, and forward warping a second feature by forward warping the second feature map using the second optical flow obtaining a map; updating the first optical flow using the forward warped first feature map and updating the second optical flow using the forward warped second feature map; obtaining a first optical flow of a higher level by up-scaling the updated first optical flow to correspond to a higher level higher than the predetermined level; and obtaining a second optical flow of a higher level by up-scaling the updated second
  • the upper level is the highest level among the plurality of levels, and the highest level may be a level corresponding to the first frame and the second frame.
  • a first feature map of a first frame corresponding to the highest level among a plurality of levels and a second feature map of a second frame corresponding to the highest level are obtained through a first neural network, and first feature maps of levels below the highest level are obtained.
  • the maps and second feature maps of levels below the top level are obtained through a downsampling neural network, and feature maps of a first frame of a plurality of levels and feature maps of second frames of a plurality of levels are obtained through a downsampling neural network.
  • feature maps and second feature maps of lower levels are obtained through a first neural network, and first feature maps of levels below the highest level are obtained through a first neural network, and second feature maps of second frames of a plurality of levels.
  • the step of obtaining the first optical flow and the second optical flow of the higher level obtaining a first importance weight of the predetermined level, wherein the first importance weight is one pixel of the second feature map of the predetermined level indicating the number of a plurality of pixels of the first feature map of the predetermined level mapped to; and obtaining a second importance weight of the predetermined level, wherein the second importance weight represents the number of pixels of the second feature map of the predetermined level mapped to one pixel of the first feature map of the predetermined level. step; may be included.
  • the forward warped first feature map is obtained by additionally using the first importance weight of the predetermined level, and the forward warped second feature map is obtained by further using the second importance weight of the predetermined level. This can be obtained.
  • a first importance weight of the higher level may be obtained based on the first optical flow of the higher level, and a second importance weight of the higher level may be obtained based on the second optical flow of the higher level.
  • the step of determining an AI-based frame interpolation filter for the third frame includes: the first optical flow of the higher level, the second optical flow of the higher level, the first importance weight of the higher level, and the second optical flow of the higher level Obtaining a first intermediate optical flow from the third frame to the first frame and a second intermediate optical flow from the third frame to the second frame through an intermediate flow prediction neural network based on an importance weight ;
  • determining step may include.
  • the step of determining an AI-based frame interpolation filter for the third frame includes: the first optical flow of the higher level, the second optical flow of the higher level, the first importance weight of the higher level, and the second optical flow of the higher level Obtaining a first intermediate optical flow from the third frame to the first frame and a second intermediate optical flow from the third frame to the second frame through an intermediate flow prediction neural network based on an importance weight ; obtaining a forward warped first frame based on time t and a forward warped second frame based on time t of the third frame, using the first intermediate optical flow and the second intermediate optical flow; and determining an AI-based frame interpolation filter for the third frame through the interpolation filter neural network based on the forward warped first frame and the forward warped second frame.
  • the step of determining an AI-based frame interpolation filter for the third frame includes: a first optical flow at a higher level, a second optical flow at a higher level, a first importance weight at the higher level, and a second importance at the higher level obtaining a first intermediate optical flow from the third frame to the first frame and a second intermediate optical flow from the third frame to the second frame through an intermediate flow prediction neural network based on weights; obtaining a backward warped first frame based on the time t of the third frame and a second backward warped frame based on the time t, using the first intermediate optical flow and the second intermediate optical flow; and determining an AI-based frame interpolation filter for the third frame through the interpolation filter neural network based on the backward warped first frame and the backward warped second frame.
  • the first optical flow of the predetermined level is updated based on a first correlation value between the forward warped first feature map and the second feature map of the predetermined level
  • the second optical flow of the predetermined level It may be updated based on a second correlation value between the forward warped second feature map and the first feature map of the predetermined level.
  • the first optical flow of the predetermined level is updated based on candidate pixels within a predetermined range of the first optical flow of the predetermined level, and based on candidate pixels within a predetermined range of the second optical flow of the predetermined level.
  • the second optical flow of the predetermined level may be updated.
  • the predetermined range may vary according to the size of the feature map of the predetermined level.
  • Pixels used for calculating the first correlation value are determined by a first filter set set by a user among pixels within the predetermined range, and pixels used for calculating the second correlation value are within the predetermined range. Among the pixels, it may be determined by a second filter set set by the user.
  • Pixels used for calculating the first correlation value are determined by a first filter based on a trained neural network among pixels within the predetermined range, and pixels used for calculating the second correlation value are within the predetermined range. It may be determined by a second filter based on a trained neural network among pixels.
  • a highest correlation value among correlation values with pixels within a predetermined range of the second feature map at the predetermined level is determined as a first correlation value, and a correlation value with pixels within a predetermined range of the first feature map at the predetermined level is determined.
  • the highest correlation value may be determined as the second correlation value.
  • the first optical flow and the second optical flow initially obtained at the lowest level among the plurality of levels may be set to zero.
  • the AI-based frame interpolation filter may include one filter kernel corresponding to each of pixels in the first frame and the second frame.
  • contextual feature maps of the first frame and the second frame are additionally input to the interpolation filter neural network, and the contextual feature maps of the first frame and the second frame are additionally input. It may be determined as the sum of an output value of the second neural network using a frame as an input and an output value of a predetermined classification network using the first frame and the second frame as inputs.
  • the AI-based frame interpolation filter may include a filter kernel for bilinear interpolation used for sub-pixel calculation.
  • the AI-based frame interpolation filter may include a filter kernel based on at least one of time and Z-map of the third frame.
  • the AI-based frame interpolation filter may include a first frame interpolation filter applied to the first frame and a second frame interpolation filter applied to the second frame.
  • the depth information of the first frame and the depth information of the second frame may be additionally input to the interpolation filter neural network.
  • an AI-based frame interpolation device includes a memory; and a processor comprising: acquiring feature maps of a plurality of levels for a first frame and feature maps of a plurality of levels for a second frame, among successive frames of an image; obtaining a first optical flow from a first feature map of a predetermined level to a second feature map and a second optical flow from the second feature map of the predetermined level to the first feature map through a flow prediction neural network; ; Obtaining a forward warped first feature map by forward warping the first feature map using the first optical flow, and forward warping the second feature map using the second optical flow to obtain a forward warped second feature map.
  • obtaining a feature map updating the first optical flow using the forward warped first feature map and updating the second optical flow using the forward warped second feature map;
  • a method and apparatus for frame interpolation of an image based on AI obtains a more accurate bi-directional optical flow based on a flow prediction neural network, and different filter coefficients for each pixel of a frame through an interpolation filter neural network based on the bi-directional optical flow
  • image restoration performance can be improved.
  • FIG. 1 is a diagram illustrating an example of a frame interpolation process of an image based on AI according to an embodiment.
  • FIG. 2 is a diagram of an example of backward warping and forward warping based on optical flow between frames according to one embodiment.
  • 3A is a diagram of an example of a method of calculating a correlation value using an inverse warped feature map according to an embodiment.
  • 3B is a diagram of a method of calculating a correlation value using an inverse warped feature map according to an embodiment.
  • 3C is a diagram of a method of calculating a correlation value using a forward warped feature map according to an embodiment.
  • FIG. 4 is a diagram of an example of a filter used to select a pixel candidate to be a calculation target when calculating a correlation value according to an embodiment.
  • FIG. 5 is a diagram of an example of a method of updating an optical flow according to an embodiment.
  • FIG. 6 is a diagram of an example of a process of interpolating a frame through an AI-based frame interpolation filter according to an embodiment.
  • FIG. 7 is a diagram of an example of a frame interpolation filter based on AI according to an embodiment.
  • FIG. 8 is a flowchart of a frame interpolation method based on AI according to an embodiment.
  • FIG. 9 is a diagram illustrating a configuration of a frame interpolation device based on AI according to an embodiment.
  • the expression “at least one of a, b, or c” means “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b” and c”, or variations thereof.
  • one component when one component is referred to as “connected” or “connected” to another component, the one component may be directly connected or directly connected to the other component, but in particular Unless otherwise described, it should be understood that they may be connected or connected via another component in the middle.
  • components expressed as ' ⁇ unit (unit)', 'module', etc. are two or more components combined into one component, or one component is divided into two or more components for each more subdivided function. may be differentiated into.
  • each of the components to be described below may additionally perform some or all of the functions of other components in addition to its own main function, and some of the main functions of each component may be different from other components. Of course, it may be performed exclusively by a component.
  • an 'image' may represent a still image, a motion picture composed of a plurality of continuous still images (or frames), or a video.
  • a 'neural network' is a representative example of an artificial neural network model that mimics a cranial nerve, and is not limited to an artificial neural network model using a specific algorithm.
  • a neural network may also be referred to as a deep neural network.
  • a 'parameter' may be a value used in an operation process of each layer constituting a neural network. For example, it can be used when applying an input value to a predetermined arithmetic expression.
  • the parameter may be a value set as a result of training, and may be updated through separate training data as needed.
  • a 'feature map' may refer to an image map output by inputting image data to a neural network.
  • a feature map represents potential features of the input data.
  • 'optical flow of the current level' refers to the optical flow of the feature map of the current level
  • ''optical flow of the upper level' refers to the optical flow of the feature map of the upper level of the current level.
  • sample' is data allocated to a sampling location in an image or feature map, and may mean data to be processed. For example, it may be a pixel value in a frame in the spatial domain.
  • FIG. 1 is a diagram illustrating an example of a frame interpolation process of an image based on AI according to an embodiment.
  • a first frame for the first frame A first feature map and a second feature map for the second frame are obtained.
  • the downsampled first feature maps 110, 120, and 130 of a plurality of levels and the second feature maps of a plurality of levels are downsampled. Get (115, 125, 135).
  • the first neural network may be a general neural network that extracts features of an input image.
  • it may be a general convolutional neural network (CNN).
  • CNN convolutional neural network
  • a neural network for downsampling may be trained to take one feature map as an input and obtain a plurality of levels of downsampled feature maps as an output.
  • downsampling feature maps of a plurality of levels may be acquired by using a downsampling neural network trained to downsample by a specific ratio by taking one feature map as an input several times.
  • Optical flow may be used to interpolate a new frame between successive frames.
  • Optical flow may be defined as a positional difference between samples in two consecutive frames, that is, a first frame I 0 (100) and a second frame I 1 (105). That is, the optical flow determines how the position of the samples in the first frame I 0 (100) is changed in the second frame I 1 (105) or the samples in the second frame I 1 (105) change in the first frame I 0 (100). ) indicates where it is located within.
  • the optical flow for the corresponding sample may be derived as (f(x), f(y)).
  • Warping is a type of geometric transformation that moves the positions of samples in an image.
  • a forward warping frame similar to the first frame is obtained by warping the second frame according to the optical flow representing the relative positional relationship between the samples in the first frame I 0 (100) and the samples in the second frame I 1 (105) do. For example, if a sample located at (1, 1) in the first frame I 0 (100) is most similar to a sample located at (2, 1) in the second frame I 1 (105), the first frame is warped through warping. The position of the sample located at (1, 1) in the frame I 0 (100) may be changed to (2, 1).
  • the flow prediction neural network 140 uses the feature maps of a plurality of levels of the pyramid structure to determine the first optical flow (flow 0 ⁇ 1 ) from the first frame I 0 (100) to the second frame I 1 (105) and the second This is a neural network trained to acquire a second optical flow (flow 1 ⁇ 0 ) from the second frame I 1 (105) to the first frame I 0 (100).
  • the initial value of (flow 1 0 ⁇ 1 ) is set to 0, and from the second feature map 135 at the lowest level of the second frame I 1 (105) to the first first at the lowest level of the first frame I 0 (100).
  • An initial value of the second optical flow (flow 1 1 ⁇ 0 ) of the lowest level to the feature map 130 is set to 0.
  • the lowest level is referred to as level 1.
  • the first optical flow of level 1 is obtained from the first feature map 130 of level 1 to the second feature map 135 of level 1, and the first feature of level 1 is obtained by using the first optical flow of level 1
  • a forward warped first feature map of level 1 is obtained by performing forward warping on the map. Correlation values between the forward warped first feature map of level 1 and the second feature map of level 1 are calculated, and the position of the pixel having the highest correlation value is determined to obtain the first optical flow (flow 1 0 ⁇ of level 1) 1 ) is updated (141).
  • the second optical flow of level 1 from the second feature map 135 of level 1 to the first feature map 130 of level 1 is obtained, and the second optical flow of level 1 is used to obtain the first feature map 130 of level 1.
  • Forward warping is performed on the 2 feature maps to obtain a level 1 forward warped second feature map. Correlation values between the forward-warped second feature map of level 1 and the first feature map of level 1 are calculated, and the position of the pixel having the highest correlation value is determined to obtain a second optical flow (flow 1 1 ⁇ of level 1) 0 ) is updated (141).
  • the forward warped first feature map of level 1 and the forward warped second feature map of level 1 are It may be the same as the first feature map and the second feature map of level 1, respectively.
  • a first feature map of level 1 and a second feature map of level 1 are compared with each other to calculate a correlation value, so that the first optical flow of level 1 and the second optical flow of level 1 are updated to non-zero values.
  • first optical flow of level 1 and the second optical flow of level 1 are upscaled 142 to a size corresponding to level 2, which is an upper level of the lowest level, so that the first optical flow of level 2 (flow 2 0 ⁇ 1 ) and the second optical flow (flow 2 1 ⁇ 0 ) are obtained.
  • Calculating the correlation value is, for example, comparing the forward warped first feature map and the second feature map to determine whether they are similar to each other. This is because if the optical flow is correct, the forward warped first feature map and the second feature map must be the same. However, since the warped image cannot be completely identical to the target image, the optical flow is updated through correlation value calculation.
  • a warping method using optical flow and forward warping will be described later with reference to FIG. 2
  • a method for calculating a correlation value using optical flow and forward warping will be described later with reference to FIG. 3C .
  • a first importance weight of level 1, which is the lowest level, and a second importance weight of level 1 may be obtained through the flow prediction neural network 140.
  • the first importance weight of level 1 indicates how many pixels of the first feature map of level 1 are mapped to one pixel of the second feature map of level 1
  • the second importance weight of level 1 represents how many pixels of the first feature map of level 1 are mapped to one pixel of the second feature map of level 1. It indicates how many pixels of the second feature map are mapped to one pixel of the first feature map of level 1.
  • the initial values of the first importance weight (w 1 0 ) of level 1 and the second importance weight (w 1 1 ) of level 1 are set to zero.
  • the first optical flow (flow 2 0 ⁇ 1 ) and the second optical flow (flow 2 1 ⁇ 0 ) of level 2 After obtaining the first optical flow (flow 2 0 ⁇ 1 ) and the second optical flow (flow 2 1 ⁇ 0 ) of level 2, the first optical flow (flow 2 0 ⁇ 1 ) and the second optical flow of level 2 Based on (flow 2 1 ⁇ 0 ), the first importance weight of level 2 and the second importance weight of level 2 are obtained.
  • the first importance weight (w 2 0 ) of level 2 and the second importance weight (w 2 1 ) of level 2 are the first optical flow (flow 2 0 ⁇ 1 ) of level 2 and the second optical flow (flow 2 1 ⁇ 0 ) may be further used to obtain a forward warped first feature map of level 2 and a forward warped second feature map of level 2 for update.
  • first optical flow (flow 2 0 ⁇ 1 ) and second optical flow (flow 2 1 ⁇ 0 ) of level 2 the first feature map and the second feature map of level 2, which are upper levels of the lowest level.
  • first optical flow of level 2 and the second optical flow of level 2 are updated and upscaled to obtain the first optical flow of level 3, which is an upper level of level 2, and the level A second optical flow of 3 is obtained.
  • the first optical flow (flow 3 0 ⁇ 1 ) and the second optical flow (flow 3 1 ⁇ 0 ) of level 3 After obtaining the first optical flow (flow 3 0 ⁇ 1 ) and the second optical flow (flow 3 1 ⁇ 0 ) of level 3, the first optical flow (flow 3 0 ⁇ 1 ) and the second optical flow of level 3 Based on (flow 3 1 ⁇ 0 ), the first importance weight of level 3 and the second importance weight of level 3 are obtained.
  • the first importance weight (w 3 0 ) of level 3 and the second importance weight (w 3 1 ) of level 3 are the first optical flow (flow 3 0 ⁇ 1 ) of level 3 and the second optical flow (flow 3 1 ⁇ 0 ) may be further used to obtain a forward warped first feature map of level 3 and a forward warped second feature map of level 3 for update.
  • the first optical flow of level L-1 (flow L-1 0 ⁇ 1 ) and the second optical flow (flow L-1 1 ⁇ 0 ) of level L-1 are acquired (111), and the first optical flow (flow L-1 0 ⁇ 1 ) of level L-1 and level L
  • upscaling is performed to the highest level, and the first optical flow (flow 0 ⁇ 1 ) of the highest level corresponding to the first frame It is determined as the second optical flow (flow 1 ⁇ 0 ) of the highest level corresponding to the second frame.
  • the flow prediction neural network 140 obtains a plurality of More accurate optical flows can be obtained by effectively expanding a receptive field without increasing the parameters of the neural network by sharing the parameters of the neural network while sequentially updating and upscaling the optical flow with respect to the feature map of the level.
  • the receptive field represents the size of the input region for generating feature maps.
  • a first final importance weight (w 0 ) of the highest level corresponding to the first frame and a second final importance weight corresponding to the second frame An importance weight (w 1 ) may also be obtained.
  • the flow prediction neural network 140 may be trained to minimize a loss between a frame of a feature map as an input target and a frame warped with a final optical flow.
  • the obtained first optical flow of the first frame and the second optical flow of the second frame correspond to a bi-directional optical flow between the first frame and the second frame.
  • Each intermediate optical flow for a time t of the third frame between the first frame and the second frame is predicted through the intermediate optical flow prediction neural network 155 using the bidirectional optical flow.
  • the intermediate optical flow is a first intermediate optical flow (flow t ⁇ 0 ) from the third frame to the first frame based on the time t between the first frame and the second frame, and a second intermediate optical flow from the third frame to the second frame.
  • Intermediate optical flows (flow t ⁇ 1 ) may be included.
  • the first importance weight of the first frame and the second importance weight of the second frame may be additionally used in the intermediate optical flow prediction neural network 155 .
  • An AI-based frame interpolation filter 175 for the third frame 180 between the first frame and the second frame is obtained through the interpolation filter neural network 170 trained based on the predicted intermediate optical flow.
  • a forward warped first frame, a forward warped second frame, a backward warped first frame, and a backward warped second frame using the first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow. frame can be obtained. Thereafter, the acquired forward warped first frame, forward warped second frame, backward warped first frame, and backward warped second frame are input to the interpolation filter neural network 170, and the AI-based frame interpolation filter 175 ) can be obtained.
  • first frame and the second frame may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first intermediate optical flow and the second intermediate optical flow may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow are additionally input to the interpolation filter neural network 170, and may be used to obtain the AI-based frame interpolation filter 175.
  • a forward warped first frame and a forward warped second frame may be obtained using the first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow. Thereafter, the obtained forward warped first frame and forward warped second frame are input to the interpolation filter neural network 170, and an AI-based frame interpolation filter 175 may be obtained.
  • first frame and the second frame may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first intermediate optical flow and the second intermediate optical flow may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow are additionally input to the interpolation filter neural network 170, and may be used to obtain the AI-based frame interpolation filter 175.
  • a backward warped first frame and a backward warped second frame may be obtained using the first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow. Thereafter, the obtained backward warped first frame and backward warped second frame are input to the interpolation filter neural network 170, and an AI-based frame interpolation filter 175 may be obtained.
  • first frame and the second frame may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first intermediate optical flow and the second intermediate optical flow may be additionally input to the interpolation filter neural network 170 and used to obtain the AI-based frame interpolation filter 175 .
  • first frame, the second frame, the first intermediate optical flow, and the second intermediate optical flow are additionally input to the interpolation filter neural network 170, and may be used to obtain the AI-based frame interpolation filter 175.
  • the AI-based frame interpolation filter 175 may be obtained by additionally inputting the contextual feature map of the first frame and the contextual feature map of the second frame.
  • the AI-based interpolation frame filter has different filter kernels for pixels of each of the first frame and the second frame.
  • the interpolation filter neural network 170 includes a first intermediate optical flow reversal representing a flow in an opposite direction to the first intermediate optical flow and a second intermediate optical flow reversal representing a flow in an opposite direction to the second intermediate optical flow. It may be additionally input and used to obtain an AI-based frame interpolation filter 175.
  • the third frame 180 between the first frame and the second frame is interpolated using the AI-based frame interpolation filter 175. Since the AI-based frame interpolation filter 175 dynamically determines a filter kernel for each pixel, the third frame 180 may be interpolated more accurately.
  • This interpolation method can be applied to fields requiring data generation, such as light-field data synthesis, frame rate up-conversion, and 3D rendering.
  • FIG. 2 is a diagram of an example of backward warping and forward warping based on optical flow between frames according to one embodiment.
  • the first frame or the second frame is warped based on the optical flow 220 from the first frame 210 to the second frame 230 .
  • it is referred to as forward warping or backward warping.
  • warping the second frame to the first frame corresponding to the direction opposite to the direction of the optical flow 220 is called reverse warping
  • the first frame to the second frame corresponding to the direction of the optical flow 220 Warping is called forward warping.
  • occlusion areas as a result of warping may overlap, whereas in the forward warped image 255, pixel values for the occlusion areas as a result of warping are set to 0. As a result, a hole area may appear.
  • reverse warping it is difficult to calculate a flow by calculating a correlation value because occlusion areas appear overlapping.
  • forward warping is suitable for correcting the flow by calculating a correlation value because the matched area is one area due to a hole area.
  • 3A is a diagram of an example of a method of calculating a correlation value using an inverse warped feature map according to an embodiment.
  • 3B is a diagram of a method of calculating a correlation value using an inverse warped feature map according to an embodiment.
  • 3C is a diagram of a method of calculating a correlation value using a forward warped feature map according to an embodiment.
  • a correlation value is calculated between a first backward warping feature map 320 and a second feature map 330 obtained by backward warping the first feature map 310 .
  • correlation values of the pixels of the second feature map 330 are calculated within a range of (2r+1)(2r+1) with the pixels in the first inverse warping feature map 320 as the center, and the correlation values are correlated with each other. Find the pixel with the highest value.
  • the calculation complexity increases with the square of the spatial complexity as the resolution increases, so the correlation value is calculated within a specific range.
  • a first reverse warping feature map 350 obtained by backward warping within a range of (2r+1)(2r+1) centered on a pixel in the first feature map 340 and a second backward warping feature map 350 are obtained.
  • a correlation value between the feature maps 360 is calculated.
  • correlation values of pixels of the second feature map 360 are calculated within a range of (2r+1)(2r+1) with the pixels in the first inverse warping feature map 350 as the center, and the correlation values are correlated with each other. Find the pixel with the highest value.
  • r may vary according to the pyramid level or the size of the corresponding feature map. Also, r may vary depending on the performance or number of hardware (eg, memory, etc.) in the frame interpolator.
  • FIGS. 3A and 3B calculate a correlation value using the reverse warped feature map, as described above in FIG. 2, blur may occur due to overlapping occlusion areas due to reverse warping. This can confuse the calculation of correlation values to calibrate.
  • a correlation value is calculated between a forward warped first feature map 380 and a second feature map 390 obtained by forward warping the first feature map 370 .
  • correlation value calculation for flow update is performed according to the method of FIG. 3C .
  • the correlation value calculation and flow update method will be described later with reference to FIG. 5 .
  • FIG. 4 is a diagram of an example of a filter used to select a pixel candidate to be a calculation target when calculating a correlation value according to an embodiment.
  • pixels in the second feature map 410 that are targets of correlation value calculation may be pixels within a range of (2r+1)(2r+1) with one pixel as the center. Rather than calculating all of these candidate pixels, the amount of calculation may be reduced by calculating only some pixels within the range of (2r+1)(2r+1) through the geometric filter 420. Accordingly, a correlation value between the filtered second feature map 430 and the forward warped first feature map may be calculated.
  • a filter based on a neural network can be used to refine suitable candidates within a large comparison region. That is, if the geometric filter 420 capable of extracting n candidates within the range of (2r+1)(2r+1) is used, an optimal flow can be corrected on a small space complexity.
  • N pixels within the range of (2r+1) 2 of the geometric filter are selected from the range of (2r+1) 2 of the second feature map, and the filtered second feature map 430 ) calculates a correlation value using only N pixels within the (2r+1) 2 range.
  • H is the height of the feature map
  • W is the width of the feature map
  • C is the channel of the feature map.
  • the geometric filter 420 may be preset by a user and may be acquired through a trained neural network.
  • the geometric filter 430 has a range wider than the range of (2r+1)(2r+1), as well as determined to select only some of the pixels within the range of (2r+1)(2r+1). However, it may be determined to use pixels of (2r+1)(2r+1) among them.
  • the geometric filter 420 is additionally used for flow update in the flow prediction neural network 140, the target pixel for correlation value calculation is selected, memory waste is reduced, and flow candidate selection accuracy in the flow prediction neural network 140 can rise
  • FIG. 5 is a diagram of an example of a method of updating an optical flow according to an embodiment.
  • an optical flow is updated from a current level to a next higher level using feature maps of a plurality of levels of a pyramid structure.
  • the optical flow (f_warp (Flow n-1 1 ⁇ 2 )) 510 obtained by up-scaling to correspond to the current level (n-1) after being updated at the lower level is the coordinate of the pixel with the highest correlation value has Adding candidate offsets 520 of pixels within a specific range based on the coordinates of the pixel having the highest correlation value to the optical flow (f_warp(Flow n ⁇ 1 1 ⁇ 2 )) 510 (eg, adding As operation 570), candidate flows are obtained.
  • Dot product between pixels within a specific range of the forward warped first feature map (Feat n-1 1 ⁇ 2 ) 530 of the current level and the second feature map (Feat n-1 2 ) 540 of the current level ( 550) is input to the soft argmax function 560 to obtain the location of the pixel having the largest correlation value.
  • the forward warped first feature map 530 of the current level serves as a query
  • the second feature map 540 of the current level serves as a key, so that the value of the correlation value is The location of the largest pixel is obtained as a result.
  • a flow (f_warp(Flow n ⁇ 1 1 ⁇ 2 )′) may be obtained.
  • the optical flow of the higher level may be obtained by up-scaling the updated optical flow of the current level (f_warp(Flow n ⁇ 1 1 ⁇ 2 )′) to correspond to the higher level n of the current level.
  • An optimal optical flow can be predicted while reducing space complexity by calculating a correlation value through comparison within a limited range.
  • (H, W, 2) of the optical flow obtained by up-scaling to correspond to the current level after being updated at the lower level is information representing the height (H), width (W), and x and y coordinates of the pixel ( 2).
  • (H, W, C, 1) of the forward-warped feature map of the current level is the height of the feature map (H), the width of the feature map (W), the channel of the feature map (C), and the pixel to be updated currently (1 ).
  • (H, W, C, (2r+1) 2 ) of the second feature map of the current level is the height (H) of the feature map, the width (W) of the feature map, the channel (C) of the feature map, and the correlation Indicates the range of pixels subject to value calculation ((2r+1) 2 ).
  • FIG. 6 is a diagram of an example of a process of interpolating a frame through an AI-based frame interpolation filter according to an embodiment.
  • a first frame interpolation filter 615 for each pixel of the first frame 610 and a second frame interpolation filter 635 for each pixel of the second frame 630 are generated through an interpolation filter neural network.
  • the first frame interpolation filter 615 has different filter coefficients for each pixel of the first frame 610
  • the second frame interpolation filter 635 has different filter coefficients for each pixel of the second frame 630.
  • Warping the frames inevitably causes deterioration in image quality, and when blending is performed using warped images using an optical flow, afterimages or image quality deteriorates in the resulting image.
  • a first frame interpolation filter having different filter coefficients for each pixel of the first frame and a second frame interpolation filter having different filter coefficients for each pixel of the second frame are used through a trained interpolation filter neural network. is obtained, and the third frame is interpolated using the first frame interpolation filter 615 and the second frame interpolation filter 635.
  • the warping mismatch between frames is corrected to correct flow and brightness, thereby improving the accuracy of interpolated frames. Accordingly, it may be helpful to improve restoration performance and accuracy of high-definition video such as 4K.
  • FIG. 7 is a diagram of an example of a frame interpolation filter based on AI according to an embodiment.
  • the frame interpolation filter based on the AI obtained through the interpolation filter neural network includes a transform kernel 710 for warping and a transform kernel 710 for occlusion, derived using the learned parameters of the interpolation filter neural network ( 720).
  • AI-based frame interpolation filter may additionally include a bilinear interpolation kernel 730 and an attention kernel 740.
  • the bilinear interpolation kernel 730 is a transform kernel for sub-pixel calculation, and the attention kernel 740 calculates the time t for the third frame, the depth map when the first frame and the second frame include depth map information. It is a kernel calculated based on previously known information such as information, geometry information of the first frame and the second frame.
  • the attention kernel 740 may be derived through a trained neural network.
  • the bilinear interpolation kernel 730 may be determined by the predicted flow, and the attention kernel 740 may use a weight for each kernel position, for example, a Gaussian weight.
  • the transform kernel 710 for warping and the transform kernel 720 for occlusion are not in one interpolation filter neural network, but in the transform kernel 710 for warping and the transform kernel 720 for occlusion, respectively. It can be learned and output by neural networks for
  • the neural network for the transform kernel 710 for warping may be trained mainly using input data for optical flow, and the neural network for the transform kernel 720 for occlusion may be trained mainly using importance weights. .
  • FIG. 8 is a flowchart of a frame interpolation method based on AI according to an embodiment.
  • step S810 the AI-based frame interpolation apparatus 900 selects first feature maps of a plurality of levels for a first frame and second feature maps of a plurality of levels for a second frame among successive frames of an image.
  • a first feature map of a first frame corresponding to the top level and a second feature map of a second frame corresponding to the top level are obtained through a first neural network, and first feature maps of levels below the top level are obtained.
  • the feature maps and the second feature maps of levels below the top level are obtained through a downsampling neural network, and the first feature maps of the plurality of levels and the second feature maps of the plurality of levels are the first feature maps of the levels below the top level. and second feature maps of levels below the top level.
  • step S820 the AI-based frame interpolation device 900 performs the first optical flow from the first feature map of a predetermined level to the second feature map through the flow prediction neural network and the second feature map of the predetermined level. A second optical flow to the first feature map is obtained.
  • step S830 the AI-based frame interpolation apparatus 900 forward warps the first feature map using the first optical flow to obtain a forward warped first feature map, and uses the second optical flow to A forward warped second feature map is obtained by forward warping the second feature map.
  • step S840 the AI-based frame interpolator 900 updates the first optical flow using the forward warped first feature map, and uses the forward warped second feature map to generate the second optical flow update
  • step S850 the frame interpolation device 900 based on AI upscales the updated first optical flow to correspond to the upper level of the predetermined level, obtains the first optical flow of the upper level, and obtains the updated first optical flow.
  • the second optical flow of the higher level is obtained by up-scaling the second optical flow to correspond to the upper level.
  • the upper level is the highest level, and the highest level may be a level corresponding to the first frame and the second frame.
  • the first optical flow of the highest level and the second optical flow of the highest level may not be upscaled after being updated.
  • the forward warped first feature map is obtained by forward warping the first feature map at the highest level using the first optical flow of the highest level
  • the second feature map of the highest level is obtained using the second optical flow of the highest level.
  • a forward warped second feature map is obtained by forward warping the feature map, a first optical flow of the top level is updated using the forward warped first feature map, and a top level image is obtained using the forward warped second feature map.
  • the second optical flow of the top level is updated, and the first optical flow of the top level and the second optical flow of the top level are not upscaled and may be used.
  • a forward warped first feature map is obtained by additionally using a first importance weight of a predetermined level
  • the second feature map is forward warped by additionally using a second importance weight of a predetermined level.
  • a map can be obtained.
  • a first importance weight of a higher level may be obtained based on a first optical flow of a higher level
  • a second importance weight of a higher level may be obtained based on a second optical flow of a higher level.
  • determining an AI-based frame interpolation filter for a third frame using the obtained upper-level first optical flow and the obtained higher-level second optical flow through an interpolation filter neural network The step is: based on the first optical flow of the upper level, the second optical flow of the upper level, the first importance weight of the upper level, and the second importance weight of the upper level, through the intermediate flow prediction neural network, the defroster third frame obtaining a first intermediate optical flow from the first frame to the first frame and a second intermediate optical flow from the third frame to the second frame; Based on the first intermediate optical flow and the second intermediate optical flow, a first frame forward warped with respect to time t of a third frame, a second frame forward warped with respect to time t, and a second warped backward with respect to time t obtaining a second frame reverse warped with respect to 1 frame, time t; And determining an AI-based frame interpolation filter for the third frame through an interpolation filter neural network based on the forward warped first frame, the forward warped
  • determining an AI-based frame interpolation filter for a third frame using the obtained upper-level first optical flow and the obtained higher-level second optical flow through an interpolation filter neural network The step is: based on the first optical flow of the upper level, the second optical flow of the upper level, the first importance weight of the upper level, and the second importance weight of the upper level, through the intermediate flow prediction neural network, the defroster third frame obtaining a first intermediate optical flow from the first frame to the first frame and a second intermediate optical flow from the third frame to the second frame; obtaining a first frame forward warped with respect to time t and a second frame forward warped with respect to time t of a third frame based on the first intermediate optical flow and the second intermediate optical flow; and determining an AI-based frame interpolation filter for the third frame through an interpolation filter neural network based on the forward warped first frame and the forward warped second frame.
  • determining an AI-based frame interpolation filter for a third frame using the obtained upper-level first optical flow and the obtained higher-level second optical flow through an interpolation filter neural network The step is: based on the first optical flow of the upper level, the second optical flow of the upper level, the first importance weight of the upper level, and the second importance weight of the upper level, through the intermediate flow prediction neural network, the defroster third frame obtaining a first intermediate optical flow from the first frame to the first frame and a second intermediate optical flow from the third frame to the second frame; obtaining a first frame reversely warped with respect to time t and a second frame reversely warped with respect to time t of a third frame based on the first intermediate optical flow and the second intermediate optical flow; and determining an AI-based frame interpolation filter for the third frame through an interpolation filter neural network based on the backward warped first frame and the backward warped second frame.
  • the first optical flow of the predetermined level is updated based on the first correlation value between the forward warped first feature map and the second feature map of the predetermined level, and the second optical flow of the predetermined level is forward-directed. It may be updated based on a second correlation value between the warped second feature map and the first feature map of a predetermined level.
  • a first optical flow of a predetermined level is updated based on a first correlation value and candidate pixels within a predetermined range of a forward warped first feature map of a predetermined level, and a first forward warped first feature map of a predetermined level is updated.
  • a second optical flow of a predetermined level may be updated based on the second correlation value and candidate pixels within a predetermined range of the 2-feature map.
  • the predetermined range may vary according to the size of a feature map of a predetermined level.
  • the predetermined range is a range of a radius r centered on the pixel that is the target of calculating the correlation value of the feature map, and if the coordinates of the target pixel are (x, y), (x-r ⁇ x ⁇ x+r, y-r ⁇ y ⁇ y+r).
  • the size of the radius r may vary depending on the size of a feature map of a predetermined level.
  • pixels used to calculate the first correlation value may be determined by a filter set by a user
  • pixels used to calculate the second correlation value may be determined by a filter set by the user
  • pixels used for calculating the first correlation value may be determined based on the trained neural network, and pixels used for calculating the second correlation value may be determined based on the trained neural network.
  • a highest correlation value among correlation values with pixels within a predetermined range of a second feature map of a predetermined level is determined as a first correlation value, and a correlation value within a predetermined range of the first feature map of a predetermined level is determined.
  • the highest correlation value may be determined as the second correlation value.
  • the first optical flow and the second optical flow initially obtained at the lowest level among the plurality of levels may be set to zero.
  • step S860 the AI-based frame interpolation apparatus 900 uses the obtained first optical flow of the higher level and the second optical flow of the obtained higher level through the interpolation filter neural network to obtain the first frame and the second optical flow. Determine an AI-based frame interpolation filter for the third frame between two frames.
  • the AI-based frame interpolation filter may include one filter kernel corresponding to each of pixels in the first frame and the second frame.
  • contextual feature maps of the first frame and the second frame are additionally input to an interpolation filter neural network, and the contextual feature maps of the first frame and the second frame are further input. It may be determined as the sum of an output value of the second neural network having as an input and an output value of a predetermined classification network having the first frame and the second frame as inputs.
  • the predetermined classification network may be one of VGG16 or ResNet, which is one of the structures of VGGNet developed by the research team VGG at Oxford University.
  • the output value of the predetermined classification network may be any one of an output value of a final layer of the network, an output value of an intermediate layer of the network, an output value of some layers of the network, and an output value of the intermediate layer or the final layer. have.
  • the AI-based frame interpolation filter may further include a filter kernel for bilinear interpolation used for sub-pixel computation.
  • the AI-based frame interpolation filter may further include a filter kernel based on at least one of a time of the third frame and a Z-map.
  • the depth information of the first frame and the depth information of the second frame may be additionally input to the interpolation filter neural network.
  • step S870 the AI-based frame interpolation apparatus 900 obtains a third frame by using the first frame, the second frame, and the AI-based frame interpolation filter.
  • the AI-based frame interpolation filter may include a first frame interpolation filter applied to a first frame and a second frame interpolation filter applied to a second frame.
  • FIG. 9 is a diagram illustrating a configuration of a frame interpolation device based on AI according to an embodiment.
  • the AI-based frame interpolation device 900 includes a feature map acquisition unit 910, an optical flow acquisition unit 920, a forward warping feature map acquisition unit 930, an optical flow update unit 940, It includes an optical flow upscaling unit 950, an interpolation filter acquisition unit 960, and a frame acquisition unit 970.
  • the feature map acquisition unit 910, the forward warping feature map acquisition unit 930, the optical flow update unit 940, the optical flow upscaler 950, the interpolation filter acquisition unit 960, and the frame acquisition unit 970 are It can be implemented as a processor, and includes a feature map acquisition unit 910, a forward warping feature map acquisition unit 930, an optical flow update unit 940, an optical flow upscaling unit 950, an interpolation filter acquisition unit 960, and The frame acquisition unit 970 may operate according to instructions stored in a memory (not shown).
  • FIG. 9 shows a feature map acquisition unit 910, a forward warping feature map acquisition unit 930, an optical flow update unit 940, an optical flow upscaling unit 950, an interpolation filter acquisition unit 960, and a frame acquisition unit ( 970) are shown individually, but feature map acquisition unit 910, forward warping feature map acquisition unit 930, optical flow update unit 940, optical flow upscale unit 950, interpolation filter acquisition unit 960 ) and the frame acquisition unit 970 may be implemented through one processor.
  • a feature map acquisition unit 910, a forward warping feature map acquisition unit 930, an optical flow update unit 940, an optical flow upscaler 950, an interpolation filter acquisition unit 960, and a frame acquisition unit ( 970) may be implemented as a dedicated processor or through a combination of software and a general-purpose processor such as an application processor (AP), central processing unit (CPU), or graphic processing unit (GPU).
  • a dedicated processor may include a memory for implementing an embodiment of the present disclosure or a memory processing unit for using an external memory.
  • the feature map acquisition unit 910, the forward warping feature map acquisition unit 930, the optical flow update unit 940, the optical flow upscaler 950, the interpolation filter acquisition unit 960, and the frame acquisition unit 970 are It may also consist of a plurality of processors. In this case, it may be implemented by a combination of dedicated processors or a combination of software and a plurality of general-purpose processors such as APs, CPUs, or GPUs.
  • the feature map acquisition unit 910 obtains first feature maps of a plurality of levels for a first frame and second feature maps of a plurality of levels for a second frame, among successive frames of an image.
  • the optical flow acquisition unit 920 performs a first optical flow from a first feature map of a predetermined level to a second feature map and from the second feature map of the predetermined level to the first feature map through a flow prediction neural network. A second optical flow is obtained.
  • the forward warping feature map acquisition unit 930 obtains a forward warped first feature map by forward warping the first feature map using the first optical flow, and obtains the second feature using the second optical flow.
  • a forward warped second feature map is obtained by forward warping the map.
  • the optical flow updater 940 updates the first optical flow using the forward warped first feature map and updates the second optical flow using the forward warped second feature map.
  • the optical flow upscaling unit 950 upscales the updated first optical flow to correspond to a higher level of the predetermined level to obtain a first optical flow of a higher level, and converts the updated second optical flow to the upper level. By up-scaling to correspond to the level, a second optical flow of a higher level is obtained.
  • the interpolation filter acquisition unit 960 uses the first optical flow of a higher level and the second optical flow of a higher level through an interpolation filter neural network to obtain an AI-based frame for a third frame between the first frame and the second frame. Determines the interpolation filter.
  • the frame acquisition unit 970 obtains a third frame by using the first frame, the second frame, and an AI-based frame interpolation filter.
  • the above-described embodiments of the present disclosure can be written as a program that can be executed on a computer, and the written program can be stored in a storage medium readable by a device.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary storage medium' only means that it is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium and temporary It does not discriminate if it is saved as .
  • a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store or between two user devices (eg smartphones). It can be distributed (e.g., downloaded or uploaded) directly or online.
  • a computer program product eg, a downloadable app
  • a device-readable storage medium such as a memory of a manufacturer's server, an application store server, or a relay server. It can be temporarily stored or created temporarily.

Landscapes

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

Abstract

제1프레임 및 제2프레임에 대한 복수의 레벨의 특징맵들을 획득하는 단계; 플로우 예측 신경망을 통해, 소정 레벨의 제1특징맵에서 제2특징맵으로의 제1 옵티컬 플로우 및 소정 레벨의 제2특징맵에서 제1특징맵으로의 제2 옵티컬 플로우를 획득하는 단계; 제1 옵티컬 플로우를 이용하여 순방향 워핑된 제1특징맵을 획득하고, 제2 옵티컬 플로우를 이용하여 순방향 워핑된 제2특징맵을 획득하는 단계; 순방향 워핑된 제1특징맵을 이용하여 제1 옵티컬 플로우를 업데이트하고, 순방향 워핑된 제2특징맵을 이용하여 제2 옵티컬 플로우를 업데이트하는 단계; 업데이트된 제1 옵티컬 플로우를 업스케일하여 상위 레벨의 제1 옵티컬 플로우를 획득하고, 업데이트된 제2 옵티컬 플로우를 업스케일하여 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계; 보간 필터 신경망을 통해, 상위 레벨의 제1 옵티컬 플로우과 제2 옵티컬 플로우를 이용하여, 제3프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계; 및 제1프레임, 제2프레임, 및 AI 기반 프레임 보간 필터를 이용하여 제3프레임을 획득하는 단계를 포함하는 AI에 기반한 프레임 보간 방법이 제공된다.

Description

AI에 기반한 프레임 보간 방법 및 장치
본 개시는 영상의 프레임의 보간 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 개시는 AI(Artificial Intelligence)를 이용하여 영상의 프레임을 보간하는 기술에 관한 것이다.
인공지능(artificial intelligence) 관련 기술의 발달과 고해상도/고화질의 영상을 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 신경망을 이용하여 영상을 고화질/고해상도 영상으로 효과적으로 복원하는 방법 및 장치에 대한 필요성이 증대하고 있다.
플로우 예측 신경망에 기반하여 두 프레임 사이의 보다 정확한 양방향 옵티컬 플로우를 획득하고, 양방향 옵티컬 플로우에 기초하여 보간 필터 신경망을 통해 프레임의 각 픽셀 별로 다른 필터 계수를 가지는 AI 기반 보간 필터를 획득하고, AI 기반 보간 필터를 이용하여 두 프레임 사이의 새로운 프레임을 보간함으로써, 영상의 복원 성능 및 화질을 향상시키기 위해 이용되는 AI에 기반한 영상의 프레임 보간 방법 및 장치가 제공된다.
추가적인 측면들은 후술되는 명세서에서 부분적으로 설명될 것이고, 부분적으로 다음의 설명으로부터 명백하거나 후술되는 실시예들의 구현을 통해 알 수 있다.
본 개시의 일 측면에 따라, AI에 기반한 프레임 보간 방법은, 영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 특징 맵들 및 제2 프레임에 대한 복수의 레벨의 특징 맵들을 획득하는 단계; 플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득하는 단계; 상기 제1 옵티컬 플로우를 이용하여 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득하는 단계; 상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트하는 단계; 상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨보다 높은 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제1 옵티컬 플로우를 획득하는 단계; 및 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계; 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 상기 제1 프레임과 상기 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계; 및 상기 제1 프레임, 상기 제2 프레임, 및 상기 AI 기반 프레임 보간 필터를 이용하여 상기 제3 프레임을 획득하는 단계를 포함할 수 있다.
상위 레벨은 복수의 레벨들 중 최상위 레벨이고, 최상위 레벨은 제1 프레임 및 제2 프레임에 대응하는 레벨일 수 있다.
복수의 레벨들 중 최상위 레벨에 대응하는 제1 프레임의 제1 특징 맵 및 최상위 레벨에 대응하는 제2 프레임의 제2 특징 맵은 제1 신경망을 통해 획득되고, 최상위 레벨의 아래 레벨들의 제1 특징 맵들 및 최상위 레벨의 아래 레벨들의 제2 특징 맵들은 다운샘플링 신경망을 통해 획득되고, 복수의 레벨의 제1 프레임에 대한 특징 맵들 및 복수의 레벨의 제2 프레임에 대한 특징 맵들은 아래 레벨들의 제1 특징 맵들 및 아래 레벨들의 제2 특징 맵들일 수 있다.
상기 상위 레벨의 제1 옵티컬 플로우, 상기 제2 옵티컬 플로우를 획득하는 단계는: 상기 소정 레벨의 제1 중요도 가중치를 획득하되, 상기 제1 중요도 가중치는 상기 소정 레벨의 제2 특징 맵의 하나의 픽셀에 매핑되는 상기 소정 레벨의 제1 특징 맵의 복수의 픽셀들의 수를 나타내는 단계; 및 상기 소정 레벨의 제2 중요도 가중치를 획득하되, 상기 제2 중요도 가중치는 상기 소정 레벨의 제1 특징 맵의 하나의 픽셀에 매핑되는 상기 소정 레벨의 제2 특징 맵의 복수의 픽셀들의 수를 나타내는 단계;를 포함할 수 있다.
상기 소정 레벨의 상기 제1 중요도 가중치를 추가로 이용하여, 상기 순방향 워핑된 제1 특징 맵이 획득되고, 상기 소정 레벨의 상기 제2 중요도 가중치를 추가로 이용하여, 상기 순방향 워핑된 제2 특징 맵이 획득될 수 있다.
상기 상위 레벨의 상기 제1 옵티컬 플로우에 기초하여 상기 상위 레벨의 제1 중요도 가중치가 획득되고, 상기 상위 레벨의 상기 제2 옵티컬 플로우에 기초하여 상기 상위 레벨의 제2 중요도 가중치가 획득될 수 있다.
상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상기 상위 레벨의 제1 옵티컬 플로우, 상기 상위 레벨의 제2 옵티컬 플로우, 상기 상위 레벨의 제1 중요도 가중치, 상기 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우를 이용하여, 상기 제3 프레임의 시간 t에 대하여 순방향 워핑된 제1 프레임, 상기 시간 t에 대하여 순방향 워핑된 제2 프레임, 상기 시간 t에 대하여 역방향 워핑된 제1 프레임, 상기 시간 t에 대하여 역방향 워핑된 제2 프레임을 획득하는 단계; 및 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임, 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임에 기초하여, 상기 보간 필터 신경망를 통해, 상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 포함할 수 있다.
상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상기 상위 레벨의 제1 옵티컬 플로우, 상기 상위 레벨의 제2 옵티컬 플로우, 상기 상위 레벨의 제1 중요도 가중치, 상기 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우를 이용하여, 상기 제3 프레임의 시간 t에 기초한 순방향 워핑된 제1 프레임, 상기 시간 t에 기초한 순방향 워핑된 제2 프레임을 획득하는 단계; 및 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임에 기초하여, 상기 보간 필터 신경망를 통해, 상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함할 수 있다.
상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상위 레벨의 제1 옵티컬 플로우, 상기 상위 레벨의 제2 옵티컬 플로우, 상기 상위 레벨의 제1 중요도 가중치, 상기 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우를 이용하여, 상기 제3 프레임의 시간 t에 기초한 역방향 워핑된 제1 프레임, 상기 시간 t에 기초한 역방향 워핑된 제2 프레임을 획득하는 단계; 및 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임에 기초하여, 상기 보간 필터 신경망를 통해, 상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함할 수 있다.
상기 소정 레벨의 상기 제1 옵티컬 플로우는 상기 순방향 워핑된 제1 특징 맵과 상기 소정 레벨의 제2 특징 맵 사이의 제1 상관 값에 기초하여 업데이트되고, 상기 소정 레벨의 상기 제2 옵티컬 플로우는 상기 순방향 워핑된 제2 특징 맵과 상기 소정 레벨의 제1 특징 맵 사이의 제2 상관 값에 기초하여 업데이트될 수 있다.
상기 소정 레벨의 제1 옵티컬 플로우의 미리 정해진 범위 내의 후보 픽셀들에 기초하여 상기 소정 레벨의 제1 옵티컬 플로우가 업데이트되고, 상기 소정 레벨의 제2 옵티컬 플로우의 미리 정해진 범위 내의 후보 픽셀들에 기초하여 상기 소정 레벨의 제2 옵티컬 플로우가 업데이트될 수 있다.
미리 정해진 범위는 상기 소정 레벨의 특징 맵의 크기에 따라 달라질 수 있다.
상기 제1 상관 값의 계산에 이용되는 픽셀들은 상기 미리 정해진 범위내의 픽셀들 중에서 사용자에 의해 설정된 제1 필터 세트에 의해 결정되고, 상기 제2 상관 값의 계산에 이용되는 픽셀들은 상기 미리 정해진 범위내의 픽셀들 중에서 사용자에 의해 설정된 제2 필터 세트에 의해 결정될 수 있다.
상기 제1 상관 값의 계산에 이용되는 픽셀들은 상기 미리 정해진 범위내의 픽셀들 중에서 훈련된 신경망에 기초한 제1 필터에 의해 결정되고, 상기 제2 상관 값의 계산에 이용되는 픽셀들은 상기 미리 정해진 범위내의 픽셀들 중에서 훈련된 신경망에 기초한 제2 필터에 의해 결정될 수 있다.
상기 소정 레벨의 상기 제2 특징 맵의 미리 정해진 범위 내의 픽셀과의 상관 값 중 가장 높은 상관 값이 제1 상관 값으로 결정되고, 상기 소정 레벨의 상기 제1 특징 맵의 미리 정해진 범위 내의 픽셀과의 상관 값 중 가장 높은 상관 값이 제2 상관 값으로 결정될 수 있다.
상기 복수의 레벨 중 최하위 레벨에서 초기에 획득되는 제1 옵티컬 플로우와 제2 옵티컬 플로우는 0으로 설정될 수 있다.
상기 AI 기반 프레임 보간 필터는 상기 제1 프레임 및 상기 제2 프레임 내의 픽셀들 각각에 대응하는 하나의 필터 커널을 포함할 수 있다.
상기 AI 기반 프레임 보간 필터를 결정하기 위해, 상기 보간 필터 신경망에 상기 제1 프레임 및 상기 제2 프레임의 문맥적 특징 맵들이 추가로 입력되고, 상기 문맥적 특징 맵들은 상기 제1 프레임 및 상기 제2 프레임을 입력으로하는 제2 신경망의 출력 값과 상기 제1 프레임 및 상기 제2 프레임을 입력으로하는 미리결정된 분류 네트워크의 출력 값의 합으로 결정될 수 있다.
상기 AI 기반 프레임 보간 필터는 서브 픽셀의 계산을 위해 이용되는 바이리니어 보간에 대한 필터 커널을 포함할 수 있다.
상기 AI 기반 프레임 보간 필터는 제3 프레임의 시간 및 Z-map 중 적어도 하나에 기초한 필터 커널을 포함할 수 있다.
상기 AI 기반 프레임 보간 필터는 상기 제1 프레임에 적용되는 제1 프레임 보간 필터와 상기 제2 프레임에 적용되는 제2 프레임 보간 필터를 포함할 수 있다.
상기 제1 프레임에 대한 깊이 정보 및 상기 제2 프레임에 대한 깊이 정보가 존재하면, 상기 제1 프레임에 대한 깊이 정보 및 상기 제2 프레임에 대한 깊이 정보가 상기 보간 필터 신경망에 추가로 입력될 수 있다.
본 개시의 일 측면에 따라 AI에 기반한 프레임 보간 장치는 메모리; 및 프로세서를 포함하고, 상기 프로세서는: 영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 특징 맵들 및 제2 프레임에 대한 상기 복수의 레벨의 특징 맵들을 획득하는 단계; 플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득하는 단계; 상기 제1 옵티컬 플로우를 이용하여 상기 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득하는 단계; 상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트하는 단계; 상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨보다 높은 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제1 옵티컬 플로우를 획득하고, 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계; 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 상기 제1 프레임과 상기 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계; 및 상기 제1 프레임, 상기 제2 프레임, 및 상기 AI 기반 프레임 보간 필터를 이용하여 상기 제3 프레임을 획득하는 단계를 수행할 수 있다.
일 실시예에 따른 AI에 기반한 영상의 프레임 보간 방법 및 장치는 플로우 예측 신경망에 기반하여 보다 정확한 양방향 옵티컬 플로우를 획득하고, 양방향 옵티컬 플로우에 기초하여 보간 필터 신경망을 통해 프레임의 각 픽셀 별로 다른 필터 계수를 가지는 AI 기반 보간 필터를 획득하고, AI 기반 보간 필터를 이용하여 프레임을 보간함으로써, 영상의 복원 성능을 향상시킬 수 있다.
본 개시의 특정한 실시예들의 다른 측면들, 특징들, 및 이점들은 첨부된 도면과 함께 취해진 다음의 설명으로부터 더욱 명백할 것이다.
도 1은 일 실시예에 따른 AI에 기반한 영상의 프레임 보간 과정의 일 예를 도시하는 도면이다.
도 2는 일 실시예에 따른 프레임들 사이의 옵티컬 플로우에 기초한 역방향 워핑 및 순방향 워핑의 일 예의 도면이다.
도 3a는 일 실시예에 따른 역방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 일 예의 도면이다.
도 3b는 일 실시예에 따른 역방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 도면이다.
도 3c는 일 실시예에 따른 순방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 도면이다.
도 4는 일 실시예에 따른 상관 값 계산 시에 계산의 대상이 되는 픽셀의 후보를 선택하기 위해 이용되는 필터의 일 예의 도면이다.
도 5는 일 실시예에 따른 옵티컬 플로우를 업데이트하는 방법의 일 예의 도면이다.
도 6은 일 실시예에 따른 AI에 기반한 프레임 보간 필터를 통해 프레임을 보간하는 과정의 일 예의 도면이다.
도 7은 일 실시예에 따른 AI에 기반한 프레임 보간 필터의 일 예의 도면이다.
도 8은 일 실시예에 따른 AI에 기반한 프레임 보간 방법의 순서도이다.
도 9는 일 실시예에 따른 AI에 기반한 프레임 보간 장치의 구성을 도시하는 도면이다.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 " a", " b", " c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 개시의 실시 형태에 대해 한정하려는 것이 아니며, 본 개시는 여러 실시예들의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예를 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제 1, 제 2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 '~부(유닛)', '모듈' 등으로 표현되는 구성요소는 2개 이상의 구성요소가 하나의 구성요소로 합쳐지거나 또는 하나의 구성요소가 보다 세분화된 기능별로 2개 이상으로 분화될 수도 있다. 또한, 이하에서 설명할 구성요소 각각은 자신이 담당하는 주기능 이외에도 다른 구성요소가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성요소 각각이 담당하는 주기능 중 일부 기능이 다른 구성요소에 의해 전담되어 수행될 수도 있음은 물론이다.
또한, 본 명세서에서, '영상(image)'은 정지영상, 복수의 연속된 정지영상(또는 프레임)으로 구성된 동영상, 또는 비디오를 나타낼 수 있다.
또한, 본 명세서에서 '신경망(neural network)'은 뇌 신경을 모사한 인공신경망 모델의 대표적인 예시로서, 특정 알고리즘을 사용한 인공신경망 모델로 한정되지 않는다. 신경망은 심층 신경망(deep neural network)으로 참조될 수도 있다.
또한, 본 명세서에서 '파라미터(parameter)'는 신경망을 이루는 각 레이어의 연산 과정에서 이용되는 값일 수 있다. 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용될 수 있다. 파라미터는 훈련의 결과로 설정되는 값일 수 있고, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.
또한, 본 명세서에서 '특징 맵'은 신경망에 영상 데이터를 입력함으로써 출력되는 이미지 맵을 의미할 수 있다. 특징 맵은 입력된 데이터의 잠재적인 특징들을 나타낸다.
또한, 본 명세서에서 '현재 레벨의 옵티컬 플로우'는 현재 레벨의 특징 맵에 대한 옵티컬 플로우를 의미하고, ''상위 레벨의 옵티컬 플로우'는 현재 레벨의 상위 레벨의 특징 맵에 대한 옵티컬 플로우를 의미할 수 있다.
또한, 본 명세서에서, '샘플'은 영상 또는 특징 맵 내 샘플링 위치에 할당된 데이터로서 처리 대상이 되는 데이터를 의미할 수 있다. 예를 들어, 공간 영역의 프레임에서 픽셀 값일 수 있다.
도 1은 일 실시예에 따른 AI에 기반한 영상의 프레임 보간 과정의 일 예를 도시하는 도면이다.
도 1을 참고하면, 영상의 연속적인 프레임들 중 제1 프레임 I0 (100)과 제2 프레임 I1 (105)을 특징 맵을 생성하기 위한 제1 신경망에 입력함으로써, 제1 프레임에 대한 제1 특징 맵과 제2 프레임에 대한 제2 특징 맵을 획득한다. 또한, 제1 특징 맵과 제2 특징 맵을 다운샘플링용 신경망에 입력함으로써, 복수의 레벨의 다운샘플링된 제1 특징 맵들(110, 120, 130)과 복수의 레벨의 다운샘플링된 제2 특징 맵(115, 125, 135)을 획득한다.
제1 신경망은 입력 이미지의 특징을 추출하는 일반적인 신경망일 수 있다. 예를 들어, 일반적인 콘볼루션 신경망(CNN)일 수 있다. 다만, 이에 한정되지 않는다.
다운샘플링용 신경망은 하나의 특징 맵을 입력으로 하여 복수의 레벨의 다운샘플링된 특징 맵들을 출력으로 획득하도록 훈련될 수 있다.
또한, 하나의 특징 맵을 입력으로 하여 특정 비율만큼 다운샘플링하도록 훈련된 다운샘플링용 신경망을 여러 번 사용하여 복수의 레벨의 다운샘플링된 특징 맵들을 획독할 수 있다.
연속적인 프레임들 사이의 새로운 프레임을 보간하기 위해, 옵티컬 플로우가 이용될 수 있다. 옵티컬 플로우는 연속적인 두 프레임, 즉, 제1 프레임 I0 (100)과 제2 프레임 I1 (105) 내의 샘플들 사이의 위치 차이로 정의될 수 있다. 즉, 옵티컬 플로우는 제1 프레임 I0 (100) 내의 샘플들의 위치가 제2 프레임 I1 (105) 내에서 어떻게 변경되었는지 또는 제2 프레임 I1 (105)의 샘플들이 제1 프레임 I0 (100) 내에서 어디에 위치하는지를 나타낸다. 예를 들어, 제1 프레임 I0 (100) 내 (x, y)에 위치한 샘플이 제2 프레임 I1 (105) 내 (x+f(x), y+f(y))에 위치한다면, 해당 샘플에 대한 옵티컬 플로우는 (f(x), f(y))로 도출될 수 있다.
워핑은 영상 내 샘플들의 위치를 이동시키는 기하학적 변형의 한 종류이다. 제1 프레임 I0 (100) 내 샘플들과 제2 프레임 I1 (105) 내 샘플들 사이의 상대적인 위치 관계를 나타내는 옵티컬 플로우에 따라 제2 프레임을 워핑함으로써 제1 프레임과 유사한 순방향 워핑 프레임이 획득된다. 예를 들어, 제1 프레임 I0 (100) 내 (1, 1)에 위치한 샘플이 제2 프레임 I1 (105) 내 (2, 1)에 위치하는 샘플과 가장 유사하다면, 워핑을 통해 제1 프레임 I0 (100) 내 (1, 1)에 위치한 샘플의 위치가 (2, 1)로 변경될 수 있다.
플로우 예측 신경망(140)은 피라미드 구조의 복수의 레벨의 특징 맵들을 이용하여 제1 프레임 I0 (100)에서 제2 프레임 I1 (105)으로의 제1 옵티컬 플로우(flow0→1)와 제2 프레임 I1 (105)에서의 제1 프레임 I0 (100)으로의 제2 옵티컬 플로우(flow1→0)를 획득하도록 훈련된 신경망이다.
먼저, 제1 프레임 I0 (100)의 최하위 레벨의 제1 특징 맵(130)으로부터 제2 프레임 I1 (105)의 최하위 레벨의 제2 특징 맵(135)으로의 최하위 레벨의 제1 옵티컬 플로우(flow1 0→1)의 초기 값을 0으로 설정하고, 제2 프레임 I1 (105)의 최하위 레벨의 제2 특징 맵(135)으로부터 제1 프레임 I0 (100)의 최하위 레벨의 제1 특징 맵(130)으로의 최하위 레벨의 제2 옵티컬 플로우(flow1 1→0)의 초기 값을 0으로 설정한다. 이하에서, 최하위 레벨은 레벨 1이라 한다. 레벨 1의 제1 특징 맵(130)으로부터 레벨 1의 제2 특징 맵(135)으로의 레벨 1의 제1 옵티컬 플로우를 획득하고, 레벨 1의 제1 옵티컬 플로우를 이용하여 레벨 1의 제1 특징 맵에 순방향 워핑하여 레벨 1의 순방향 워핑된 제1 특징 맵을 획득한다. 레벨 1의 순방향 워핑된 제1 특징 맵과 레벨 1의 제2 특징 맵 사이의 상관 값들을 계산하여, 가장 높은 상관 값을 가지는 픽셀의 위치를 결정하여 레벨 1의 제1 옵티컬 플로우(flow1 0→1)를 업데이트(141)한다. 반대로, 레벨 1의 제2 특징 맵(135)으로부터 레벨 1의 제1 특징 맵(130)으로의 레벨 1의 제2 옵티컬 플로우를 획득하고, 레벨 1의 제2 옵티컬 플로우를 이용하여 레벨 1의 제2 특징 맵에 순방향 워핑하여 레벨 1의 순방향 워핑된 제2 특징 맵을 획득한다. 레벨 1의 순방향 워핑된 제2 특징 맵과 레벨 1의 제1 특징 맵 사이의 상관 값들을 계산하여, 가장 높은 상관 값을 가지는 픽셀의 위치를 결정하여 레벨 1의 제2 옵티컬 플로우(flow1 1→0)를 업데이트(141)한다.
여기서, 레벨 1의 제1 옵티컬 플로우와 레벨 1의 제2 옵티컬 플로우는 초기 값이 0이기 때문에 레벨 1의 순방향 워핑된 제1 특징 맵과 레벨 1의 순방향 워핑된 제2 특징 맵은 레벨 1의 제1 특징 맵 및 레벨 1의 제2 특징 맵과 각각 동일할 수 있다. 레벨 1의 제1 특징 맵 및 제2 특징 맵을 서로 비교하여 상관 값을 계산하여, 레벨 1의 제1 옵티컬 플로우와 레벨 1의 제2 옵티컬 플로우가 0이 아닌 값으로 업데이트된다.
그 후, 레벨 1의 제1 옵티컬 플로우와 레벨 1의 제2 옵티컬 플로우를 최하위 레벨의 상위 레벨인 레벨 2에 대응하는 크기로 업스케일(142)하여 레벨 2의 제1 옵티컬 플로우(flow2 0→1)와 제2 옵티컬 플로우(flow2 1→0)가 획득된다.
상관 값을 계산하는 것은 예를 들어, 순방향 워핑된 제1 특징 맵과 제2 특징 맵을 비교하여 서로 유사한지 확인하기 위한 것이다. 옵티컬 플로우가 정확하다면 순방향 워핑된 제1 특징 맵과 제2 특징 맵은 동일하여야 하기 때문이다. 그러나, 워핑된 이미지가 대상 이미지와 완전히 동일할 수 없으므로, 상관 값 계산을 통해 옵티컬 플로우를 업데이트하는 것이다.
옵티컬 플로우와 옵티컬 플로우를 이용한 워핑 방법은 도 2에서 후술되고, 옵티컬 플로우와 순방향 워핑을 이용하여 상관 값을 계산하는 방법은 도 3c에서 후술된다.
또한, 플로우 예측 신경망(140)을 통해, 최하위 레벨인 레벨 1의 제1 중요도 가중치 및 레벨 1의 제2 중요도 가중치가 획득될 수 있다. 레벨 1의 제1 중요도 가중치는 레벨 1의 제1 특징 맵의 복수의 픽셀들이 레벨 1의 제2 특징 맵의 하나의 픽셀에 얼마만큼 매핑되는지를 나타내고, 레벨 1의 제2 중요도 가중치는 레벨 1의 제2 특징 맵의 복수의 픽셀들이 레벨 1의 제1 특징 맵의 하나의 픽셀에 얼마만큼 매핑되는지를 나타낸다. 레벨 1의 제1 중요도 가중치(w1 0)와 레벨 1의 제2 중요도 가중치(w1 1)의 초기 값은 0으로 설정된다.
레벨 2의 제1 옵티컬 플로우(flow2 0→1)와 제2 옵티컬 플로우(flow2 1→0)가 획득된 후, 레벨 2의 제1 옵티컬 플로우(flow2 0→1)와 제2 옵티컬 플로우(flow2 1→0)에 기초하여, 레벨 2의 제1 중요도 가중치 및 레벨 2의 제2 중요도 가중치가 획득된다.
레벨 2의 제1 중요도 가중치(w2 0) 및 레벨 2의 제2 중요도 가중치(w2 1)는 레벨 2의 제1 옵티컬 플로우(flow2 0→1)와 제2 옵티컬 플로우(flow2 1→0)의 업데이트를 위한 레벨 2의 순방향 워핑된 제1 특징 맵 및 레벨 2의 순방향 워핑된 제2 특징 맵을 획득되는데 추가로 이용될 수 있다.
획득된 레벨 2의 제1 옵티컬 플로우(flow2 0→1)와 제2 옵티컬 플로우(flow2 1→0), 최하위 레벨의 상위 레벨인 레벨 2의 제1 특징 맵과 제2 특징 맵을 이용하여 최하위 레벨 1에서의 과정을 동일하게 반복적으로 수행함으로써, 레벨 2의 제1 옵티컬 플로우와 레벨 2의 제2 옵티컬 플로우를 업데이트하고 업스케일함으로써 레벨 2의 상위 레벨인 레벨 3의 제1 옵티컬 플로우와 레벨 3의 제2 옵티컬 플로우를 획득한다.
레벨 3의 제1 옵티컬 플로우(flow3 0→1)와 제2 옵티컬 플로우(flow3 1→0)가 획득된 후, 레벨 3의 제1 옵티컬 플로우(flow3 0→1)와 제2 옵티컬 플로우(flow3 1→0)에 기초하여, 레벨 3의 제1 중요도 가중치 및 레벨 3의 제2 중요도 가중치가 획득된다.
레벨 3의 제1 중요도 가중치(w3 0) 및 레벨 3의 제2 중요도 가중치(w3 1)는 레벨 3의 제1 옵티컬 플로우(flow3 0→1)와 제2 옵티컬 플로우(flow3 1→0)의 업데이트를 위한 레벨 3의 순방향 워핑된 제1 특징 맵 및 레벨 3의 순방향 워핑된 제2 특징 맵을 획득되는데 추가로 이용될 수 있다.
플로우 예측 신경망(140) 내에서 이러한 과정을 반복하여, 최상위 레벨의 아래 레벨 단계에서, 최상위 레벨의 아래 레벨이 레벨 L-1이라 하면, 레벨 L-1의 제1 옵티컬 플로우(flowL-1 0→1)와 레벨 L-1의 제2 옵티컬 플로우(flowL-1 1→0)가 획득(111)되고, 레벨 L-1의 제1 옵티컬 플로우(flowL-1 0→1)와 레벨 L-1의 제2 옵티컬 플로우(flowL-1 1→0)가 업데이트된 후, 최상위 레벨로 업스케일이 수행되어, 제1 프레임에 대응하는 최상위 레벨의 제1 옵티컬 플로우(flow0→1)와 제2 프레임에 대응하는 최상위 레벨의 제2 옵티컬 플로우(flow1→0)로 결정된다. 최종 획득된 제1 프레임의 제1 옵티컬 플로우와 제2 프레임의 제2 옵티컬 플로우는 복수개의 특징 맵을 이용하여 최하위 레벨에서부터 순차적으로 업데이트되고 업스케일되어 획득되므로, 플로우 예측 신경망(140)은 복수의 레벨의 특징 맵에 대하여 순차적으로 옵티컬 플로우를 업데이트하고 업스케일하면서 신경망의 파라미터를 공유함으로써 신경망의 파라미터를 늘리지 않으면서 효과적으로 수용 필드(receptive field)를 확장함으로써, 보다 정확한 옵티컬 플로우들을 획득할 수 있다. 수용 필드는 특징 맵을 생성하는 입력 영역의 크기를 나타낸다.
또한, 제1 프레임의 제1 옵티컬 플로우와 제2 프레임의 제2 옵티컬 플로우에 기초하여 제1 프레임에 대응하는 최상위 레벨의 제1 최종 중요도 가중치(w0)와 제2 프레임에 대응하는 제2 최종 중요도 가중치(w1)도 획득될 수 있다.
플로우 예측 신경망(140)은 입력 대상이 되는 특징 맵의 프레임과 최종 옵티컬 플로우로 워핑된 프레임 사이의 손실을 최소로하도록 훈련될 수 있다.
획득된 제1 프레임의 제1 옵티컬 플로우와 제2 프레임의 제2 옵티컬 플로우는 제1 프레임과 제2 프레임 사이의 양방향 옵티컬 플로우에 해당한다. 이러한 양방향 옵티컬 플로우를 이용하여 중간 옵티컬 플로우 예측 신경망(155)를 통해, 제1 프레임과 제2 프레임 사이의 제3 프레임의 시간 t에 대한 각각의 중간 옵티컬 플로우를 예측한다. 중간 옵티컬 플로우는 제1 프레임과 제2 프레임 사이의 시간 t에 기초하여 제3 프레임에서 제1 프레임으로의 제1 중간 옵티컬 플로우(flowt→0), 제3 프레임에서 제2 프레임으로의 제2 중간 옵티컬 플로우(flowt→1)들을 포함할 수 있다.
중간 옵티컬 플로우 예측 신경망(155)에는 제1 프레임의 제1 중요도 가중치와 제2 프레임의 제2 중요도 가중치도 추가로 이용될 수 있다.
예측된 중간 옵티컬 플로우에 기초하여 훈련된 보간 필터 신경망(170)을 통해, 제1 프레임과 제2 프레임 사이의 제3 프레임(180)에 대한 AI 기반 프레임 보간 필터(175)를 획득한다.
구체적으로, 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우을 이용하여 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임, 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임이 획득될 수 있다. 그 후, 획득된 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임, 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임이 보간 필터 신경망(170)에 입력되어, AI 기반 프레임 보간 필터(175)가 획득될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임 및 제2 프레임이 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
다른 예로, 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우을 이용하여 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임이 획득될 수 있다. 그 후, 획득된 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임이 보간 필터 신경망(170)에 입력되어, AI 기반 프레임 보간 필터(175)가 획득될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임 및 제2 프레임이 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
다른 예로, 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우을 이용하여 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임이 획득될 수 있다. 그 후, 획득된 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임이 보간 필터 신경망(170)에 입력되어, AI 기반 프레임 보간 필터(175)가 획득될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임 및 제2 프레임이 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 보간 필터 신경망(170)에는 제1 프레임, 제2 프레임, 제1 중간 옵티컬 플로우 및 제2 중간 옵티컬 플로우가 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
또한, 제1 프레임의 문맥적 특징 맵, 제2 프레임의 문맥적 특징 맵이 추가로 입력되어, AI 기반 프레임 보간 필터(175)가 획득될 수 있다.
AI 기반 보간 프레임 필터는 제1 프레임과 제2 프레임 각각의 픽셀들에 대하여 각각 다른 필터 커널을 가진다.
또한, 보간 필터 신경망(170)에는 제1 중간 옵티컬 플로우의 반대 방향의 흐름을 나타내는 제1 중간 옵티컬 플로우 리버설(reversal) 및 제2 중간 옵티컬 플로우의 반대 방향의 흐름을 나타내는 제2 중간 옵티컬 플로우 리버설이 추가로 입력되어, AI 기반 프레임 보간 필터(175)를 획득하는데 이용될 수 있다.
AI 기반 프레임 보간 필터(175)를 이용하여 제1 프레임과 제2 프레임 사이의 제3 프레임(180)을 보간한다. AI 기반 프레임 보간 필터(175)는 픽셀 별로 동적으로 필터 커널이 결정되므로, 더 정확하게 제3 프레임(180)이 보간될 수 있다.
이러한 보간 방법은 데이터 생성이 필요한 분야인 광-필드 데이터 합성(Light-field data synthesis), 프레임율 변환(frame rate up-conversion), 3D 렌더링의 분야에 적용될 수 있다.
도 2는 일 실시예에 따른 프레임들 사이의 옵티컬 플로우에 기초한 역방향 워핑 및 순방향 워핑의 일 예의 도면이다.
도 2를 참고하면, 제1 프레임(210)에서 제2 프레임(230)으로의 옵티컬 플로우(220)에 기초하여 제1 프레임 또는 제2 프레임을 워핑한다. 상기 워핑이 수행되는 방향에 따라 순방향 워핑 또는 역방향 워핑이라 한다. 구체적으로, 제 2 프레임을 옵티컬 플로우(220)의 방향과 반대 방향에 해당하는 제1 프레임으로 워핑하는 것을 역방향 워핑이라 하고, 제 1 프레임을 옵티컬 플로우(220)의 방향에 해당하는 제2 프레임으로 워핑하는 것을 순방향 워핑이라 한다.
역방향 워핑된 이미지(245)는 워핑 결과 오클루젼(occlusion) 영역이 중복되어 나타날 수 있는 반면에, 순방향 워핑된 이미지(255)는 워핑 결과 오클루젼(occlusion) 영역에 대한 픽셀 값을 0으로 하여 홀(hole) 영역이 나타날 수 있다. 역방향 워핑은 오클루젼(occlusion) 영역이 중복되어 나타나기 때문에 상관(correlation) 값을 계산하여 플로우를 계산하기 어렵다. 그러나, 순방향 워핑은 홀(hole) 영역으로 인해 일치하는 영역이 하나의 영역이므로, 상관(correlation) 값을 계산하여 플로우를 보정하기 적합하다.
도 3a는 일 실시예에 따른 역방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 일 예의 도면이다. 도 3b는 일 실시예에 따른 역방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 도면이다. 도 3c는 일 실시예에 따른 순방향 워핑된 특징 맵을 이용하여 상관 값을 계산하는 방법의 도면이다.
도 3a를 참고하면, 제1 특징 맵(310)을 역방향 워핑하여 획득된 제1 역방향 워핑 특징 맵(320)과 제2 특징 맵(330) 사이에 상관 값을 계산한다. 상관 값 계산을 위해 제1 역방향 워핑 특징 맵(320) 내의 픽셀을 중심으로 (2r+1)(2r+1) 만큼의 범위 내에서 제2 특징 맵(330)의 픽셀들의 상관 값을 계산하여 상관 값이 가장 높은 픽셀을 구한다.
제1 역방향 워핑 특징 맵(320) 내의 모든 픽셀을 이용하여 상관 값을 계산하게 되면, 계산 복잡도는 해상도가 증가할수록 공간 복잡도의 제곱으로 증가하게 되므로, 특정 범위 내에서 상관 값을 계산한다.
도 3b를 참고하면, 제1 특징 맵(340) 내의 픽셀을 중심으로 (2r+1)(2r+1) 만큼의 범위 내에서 역방향 워핑하여 획득된 제1 역방향 워핑 특징 맵(350)과 제2 특징 맵(360) 사이에 상관 값을 계산한다. 상관 값 계산을 위해 제1 역방향 워핑 특징 맵(350) 내의 픽셀을 중심으로 (2r+1)(2r+1) 만큼의 범위 내에서 제2 특징 맵(360)의 픽셀들의 상관 값을 계산하여 상관 값이 가장 높은 픽셀을 구한다.
여기서, r은 피라미드 레벨에 따라 또는 해당 특징 맵의 크기에 따라 달라질 수 있다. 또한, r은 프레임 보간 장치 내의 하드웨어(예를 들어, 메모리 등)의 성능 또는 개수에 따라 달라질 수 있다.
도 3a 및 도 3b는 역방향 워핑된 특징 맵을 이용하여 상관 값을 계산하므로, 도 2에서 전술된 바와 같이, 역방향 워핑에 의한 중복되는 오클루젼 영역으로 인해 잔상(blur)가 발생할 수 있어 플로우를 보정하기 위한 상관 값 계산에 혼동을 줄 수 있다.
도 3c를 참고하면, 제1 특징 맵(370)을 순방향 워핑하여 획득된 순방향 워핑된 제1 특징 맵(380)과 제2 특징 맵(390) 사이에 상관 값을 계산한다. 상관 값 계산을 위해 순방향 워핑된 제1 특징 맵(380) 내의 픽셀과 제2 특징 맵(390)의 픽셀을 중심으로 (2r+1)(2r+1) 만큼의 범위 내의 픽셀들의 상관 값을 계산하여 상관 값이 가장 높은 픽셀을 구한다.
도 3c는 순방향 워핑된 특징 맵을 이용하여 상관 값을 계산하므로, 역방향 워핑과 같이, 오클루젼 영역이 발생하지 않으므로, 플로우를 보정하기 용이하다. 구체적으로, 오클루젼 영역을 플로우 후보에서 제외함으로써, 중복되는 플로우 후보가 발생할 가능성이 낮아진다. 이에 따라 플로우 후보의 정확도가 높아진다.
또한, 도 3a 및 도 3b와 같이 워핑된 특징 맵의 (2r+1)(2r+1) 만큼의 범위 내의 픽셀들을 이용하여 상관 값을 계산하면, 워핑 시에 필연적으로 발생하는 주변 픽셀과의 블렌딩 때문에 흐릿한 결과가 획득될 가능성이 있다. 이를 방지하기 위해, 도 3c에서는 제2 특징 맵(390)의 픽셀을 중심으로 (2r+1)(2r+1) 만큼의 범위 내의 픽셀들의 상관 값을 계산한다.
도 1의 플로우 예측 신경망(140)에서 플로우의 업데이트하기 위한 상관 값 계산은 도 3c의 방법에 따라 수행된다. 상관 값 계산 및 플로우 업데이트 방법은 도 5에서 후술된다.
도 4는 일 실시예에 따른 상관 값 계산 시에 계산의 대상이 되는 픽셀의 후보를 선택하기 위해 이용되는 필터의 일 예의 도면이다.
도 4를 참고하면, 상관 값 계산의 대상이 되는 제2 특징 맵(410) 내의 픽셀들은 하나의 픽셀을 중심으로 (2r+1)(2r+1)의 범위 내의 픽셀들일 수 있다. 이러한 후보 픽셀들을 모두 계산하기 보다 기하학적 필터(420)를 통해 (2r+1)(2r+1)의 범위 내에서도 일부 픽셀들만 계산하여 계산량을 줄일 수 있다. 이에 따른 필터링된 제2 특징 맵(430)과 순방향 워핑된 제1 특징 맵 사이의 상관 값을 계산할 수 있다.
구체적으로, (2r+1)(2r+1)의 범위 내에서 상관 값을 계산하더라도, (2r+1)(2r+1)의 값이 커지면 플로우를 정확하게 찾을 수 있지만, 공간복잡도가 커지고, 비교 영역의 범위가 커지면서 불필요한 샘플이 많아짐에 따라 학습이 어려워져 신경망의 플로우 예측 성능의 열화가 발생할 수 있는 반면에 (2r+1)(2r+1)의 값을 작게 하면, 플로우 값이 국소 최저점(local minima)이 되거나 잘못 추정된 값일 수 있다.
이를 해결하기 위해, 큰 비교 영역 내에서 적절한 후보군을 정제하도록 하는 신경망에 기초한 필터를 이용할 수 있다. 즉, (2r+1)(2r+1)의 범위 내에서도 n개의 후보들을 추출할 수 있는 기하학적 필터(420)를 이용하면, 적은 공간복잡도 상에서 최적의 플로우를 보정할 수 있다.
이에 따라, 도 4를 참고하면, 제2 특징 맵의 (2r+1)2만큼의 범위에서 기하학적 필터의 (2r+1)2 범위 내의 N개의 픽셀을 선택하여, 필터링된 제2 특징 맵(430)은 (2r+1)2 범위 내의 N개의 픽셀들만을 이용하여 상관 값을 계산한다. 여기서, H는 특징 맵의 높이, W는 특징 맵의 너비, C는 특징 맵의 채널을 의미한다.
기하학적 필터(420)는 사용자에 의해 미리 설정될 수 있고, 훈련된 신경망을 통해 획득된 것일 수 있다.
또한, 기하학적 필터(430)는 (2r+1)(2r+1)의 범위 내의 픽셀들 중 일부만 선택하도록 결정된 것뿐만 아니라, (2r+1)(2r+1)의 범위보다 더 넓은 범위를 가지되, 그 중에서 (2r+1)(2r+1)의 픽셀들을 이용하도록 결정된 것일 수 있다.
플로우 예측 신경망(140)에서 플로우 업데이트에 기하학적 필터(420)를 추가로 이용하면, 상관 값 계산의 대상 픽셀을 선별하여, 메모리의 낭비가 감소되고, 플로우 예측 신경망(140)에서 플로우 후보의 선별 정확도가 높아질 수 있다.
도 5는 일 실시예에 따른 옵티컬 플로우를 업데이트하는 방법의 일 예의 도면이다.
도 5를 참고하면, 피라미드 구조의 복수 레벨의 특징 맵들을 이용하여 현재 레벨에서 다음 상위 레벨로 옵티컬 플로우를 업데이트한다.
구체적으로, 하위 레벨에서 업데이트된 후 현재 레벨(n-1)에 대응하도록 업스케일하여 획득된 옵티컬 플로우(f_warp(Flown-1 1→2))(510)는 상관 값이 가장 높은 픽셀의 좌표를 가지고 있다. 상관 값이 가장 높은 픽셀의 좌표를 기준으로 특정 범위 내의 픽셀들의 후보 오프셋(520)을 옵티컬 플로우(f_warp(Flown-1 1→2))(510)에 더함(예를 들어, 더하기 연산(adding operation) 570)으로써 후보 플로우들이 획득된다.
현재 레벨의 순방향 워핑된 제1 특징 맵(Featn-1 1→2)(530)과 현재 레벨의 제2 특징 맵(Featn-1 2)(540)의 특정 범위 내의 픽셀들 사이의 내적(550)의 결과를 소프트 아그맥스(Soft argmax) 함수(560)에 입력하여 상관 값의 값이 가장 큰 픽셀의 위치를 획득한다. 현재 레벨의 순방향 워핑된 제1 특징 맵(530)은 쿼리(query)의 역할을 수행하고, 현재 레벨의 제2 특징 맵(540)은 키(key)의 역할을 수행하여, 상관 값의 값이 가장 큰 픽셀의 위치를 결과로 얻게 된다.
하위 레벨에서 업데이트된 후 현재 레벨에 대응하도록 업스케일하여 획득된 옵티컬 플로우에 기초한 플로우 후보들과 상관 값 계산에 결과에 따른 상관 값의 값이 가장 큰 좌표의 위치를 내적함으로써, 업데이트된 현재 레벨의 옵티컬 플로우(f_warp(Flown-1 1→2)')가 획득될 수 있다. 업데이트된 현재 레벨의 옵티컬 플로우(f_warp(Flown-1 1→2)')를 현재 레벨의 상위 레벨(n)에 대응하도록 업스케일함으로써, 상위 레벨의 옵티컬 플로우가 획득될 수 있다.
레벨 마다 이러한 단계를 반복하여, 최상위 레벨의 아래 레벨에서 최상위 레벨의 아래 레벨의 옵티컬 플로우를 업데이트한 후, 최상위 레벨로 업스케일을 수행함으로써, 제1 프레임 및 제2 프레임에 대응하는 최상위 레벨의 최종 옵티컬 플로우들이 획득될 수 있다.
한정된 범위 내에서 비교를 통해 상관 값을 계산함으로써 공간복잡도를 줄이면서 최적의 옵티컬 플로우가 예측될 수 있다.
하위 레벨에서 업데이트된 후 현재 레벨에 대응하도록 업스케일하여 획득된 옵티컬 플로우의 (H, W, 2)는 옵티컬 플로우의 높이(H), 너비(W), 픽셀의 x 및 y 좌표를 나타내는 정보(2)를 나타낸다. 현재 레벨의 순방향 워핑된 특징 맵의 (H, W, C, 1)은 특징 맵의 높이(H), 특징 맵의 너비(W), 특징 맵의 채널(C), 현재 업데이트 하고자 하는 픽셀 (1)을 나타낸다. 또한, 현재 레벨의 제2 특징 맵의 (H, W, C, (2r+1)2)는 특징 맵의 높이(H), 특징 맵의 너비(W), 특징 맵의 채널(C), 상관 값 계산의 대상 픽셀들의 범위 ((2r+1)2)를 나타낸다.
도 6은 일 실시예에 따른 AI에 기반한 프레임 보간 필터를 통해 프레임을 보간하는 과정의 일 예의 도면이다.
도 6을 참고하면, 보간 필터 신경망을 통해 제1 프레임(610)의 각 픽셀에 대한 제1 프레임 보간 필터(615)와 제2 프레임(630)의 각 픽셀에 대한 제2 프레임 보간 필터(635)가 획득된다. 제1 프레임 보간 필터(615)는 제1 프레임(610)의 각 픽셀들에 대하여 다른 필터 계수를 가지고, 제2 프레임 보간 필터(635)는 제2 프레임(630)의 각 픽셀에 대하여 다른 필터 계수를 가진다. 이에 따라, 제1 프레임(610)에 제1 프레임 보간 필터(615)를 적용하고 제2 프레임(630)에 제2 프레임 보간 필터(635)를 적용하여 제1 프레임(610)과 제2 프레임(630) 사이의 제3 프레임(620)을 보간한다.
프레임을 워핑하면, 필연적으로 화질의 저하가 발생하여, 옵티컬 플로우을 이용하여 워핑된 이미지를 이용하여 블렌딩하게 되면 결과 이미지 또한 잔상이 발생하거나 화질이 떨어지게 된다. 이를 해결하기 위해, 훈련된 보간 필터 신경망을 통해, 제1 프레임의 각 픽셀에 대하여 다른 필터 계수를 가지는 제1 프레임 보간 필터와 제2 프레임의 각 픽셀에 대하여 다른 필터 계수를 가지는 제2 프레임 보간 필터를 획득하고, 제1 프레임 보간 필터(615)와 제2 프레임 보간 필터(635)를 이용하여 제3 프레임을 보간한다. 각 픽셀 별로 다른 변환 커널을 예측하여 사용함으로써, 프레임 간의 워핑 불일치가 보정되어 플로우가 보정되고, 밝기도 보정되어, 보간된 프레임의 정확도가 향상된다. 이에 따라, 4K와 같은 고화질 영상의 복원 성능 및 정확도 향상에 도움이 될 수 있다.
도 7은 일 실시예에 따른 AI에 기반한 프레임 보간 필터의 일 예의 도면이다.
도 7를 참고하면, 보간 필터 신경망을 통해 획득된 AI에 기반한 프레임 보간 필터는 보간 필터 신경망의 학습된 파라미터를 이용하여 도출된, 워핑에 대한 변환 커널(710)과 오클루젼에 대한 변환 커널(720)을 포함하는 필터 커널(700)을 포함한다.
또한, AI에 기반한 프레임 보간 필터에는 바이리니어 보간 커널(730)과 어텐션 커널(740)이 추가로 포함될 수 있다.
바이리니어 보간 커널(730)은 서브 픽셀 계산을 위한 변환 커널이고, 어텐션 커널(740)은 제3 프레임에 대한 시간 t, 제1 프레임 및 제2 프레임이 깊이 맵 정보를 포함하고 있는 경우의 깊이 맵 정보, 제1 프레임 및 제2 프레임의 기하학 정보 등의 사전에 알고 있는 정보에 기초하여 계산된 커널이다. 어텐션 커널(740)은 훈련된 신경망을 통해 도출될 수도 있다.
바이리니어 보간 커널(730)은 예측된 플로우에 의해 결정될 수 있고, 어텐션 커널(740)은 커널 위치 별 가중치, 예를 들어, 가우시안 가중치가 이용될 수 있다.
이는 두 입력 프레임 간의 일치성(consistency)을 추정하기 쉽게 하기 위해 보간 필터 신경망에 의해 학습된 파라미터 외에 이미 알고 있는 정보를 이용함으로써 결과를 향상시키기 위한 것이다.
또한, 워핑에 대한 변환 커널(710)과 오클루젼에 대한 변환 커널(720)은 하나의 보간 필터 신경망이 아닌 워핑에 대한 변환 커널(710)과 오클루젼에 대한 변환 커널(720) 각각에 대한 신경망들에 의해 학습되어 출력될 수 있다.
워핑에 대한 변환 커널(710)을 위한 신경망은 옵티컬 플로우에 대한 입력 데이터를 주로 이용하여 훈련되고, 오클루젼에 대한 변환 커널(720)을 위한 신경망은 중요도 가중치를 주로 이용하여 훈련된 것일 수 있다.
도 8은 일 실시예에 따른 AI에 기반한 프레임 보간 방법의 순서도이다.
S810 단계에서, AI에 기반한 프레임 보간 장치(900)는 영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 제1 특징 맵들 및 제2 프레임에 대한 복수의 레벨의 제2 특징 맵들을 획득한다.
일 실시예에 따라, 최상위 레벨에 대응하는 제1 프레임의 제1 특징 맵 및 최상위 레벨에 대응하는 제2 프레임의 제2 특징 맵은 제1 신경망을 통해 획득되고, 최상위 레벨의 아래 레벨들의 제1 특징 맵들 및 최상위 레벨의 아래 레벨들의 제2 특징 맵들은 다운샘플링 신경망을 통해 획득되고, 복수의 레벨의 제1 특징 맵들 및 복수의 레벨의 제2 특징 맵들은 최상위 레벨의 아래 레벨들의 제1 특징 맵들 및 최상위 레벨의 아래 레벨들의 제2 특징 맵들일 수 있다.
S820 단계에서, AI에 기반한 프레임 보간 장치(900)는 플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득한다.
S830 단계에서, AI에 기반한 프레임 보간 장치(900)는 상기 제1 옵티컬 플로우를 이용하여 상기 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득한다.
S840 단계에서, AI에 기반한 프레임 보간 장치(900)는 상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트한다.
S850 단계에서, AI에 기반한 프레임 보간 장치(900)는 상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨의 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제1 옵티컬 플로우를 획득하고, 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여, 상위 레벨의 제2 옵티컬 플로우를 획득한다.
일 실시예에 따라, 상위 레벨이 최상위 레벨이고, 최상위 레벨은 제1 프레임 및 제2 프레임에 대응하는 레벨일 수 있다.
다른 실시예에 따라, 소정 레벨이 최상위 레벨이면, 최상위 레벨의 제1 옵티컬 플로우 및 최상위 레벨의 제2 옵티컬 플로우는 업데이트된 후 업스케일되지 않을 수 있다. 구체적으로, 최상위 레벨의 제1 옵티컬 플로우를 이용하여 최상위 레벨의 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵이 획득되고, 최상위 레벨의 제2 옵티컬 플로우를 이용하여 최상위 레벨의 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵이 획득되고, 순방향 워핑된 제1 특징 맵을 이용하여 최상위 레벨의 제1 옵티컬 플로우가 업데이트되고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 최상위 레벨의 제2 옵티컬 플로우가 업데이트되고, 최상위 레벨의 제1 옵티컬 플로우와 최상위 레벨의 제2 옵티컬 플로우는 업스케일되지 않고, 이용될 수 있다.
일 실시예에 따라, 플로우 예측 신경망을 통해 상기 상위 레벨의 제1 옵티컬 플로우, 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계는: 소정 레벨의 제1 중요도 가중치를 획득하되, 제1 중요도 가중치는 소정 레벨의 제1 특징 맵의 복수의 픽셀들이 소정 레벨의 제2 특징 맵의 하나의 픽셀에 얼마만큼 매핑되는지를 나타내는 단계; 및 소정 레벨의 제2 중요도 가중치를 획득하되, 제2 중요도 가중치는 소정 레벨의 제2 특징 맵의 복수의 픽셀들이 소정 레벨의 제1 특징 맵의 하나의 픽셀에 얼마만큼 매핑되는지를 나타내는 단계를 더 포함할 수 있다.
일 실시예에 따라, 소정 레벨의 제1 중요도 가중치를 추가로 이용하여, 순방향 워핑된 제1 특징 맵이 획득되고, 소정 레벨의 제2 중요도 가중치를 추가로 이용하여, 상기 순방향 워핑된 제2 특징 맵이 획득될 수 있다.
일 실시예에 따라, 상위 레벨의 제1 옵티컬 플로우에 기초하여 상위 레벨의 제1 중요도 가중치가 획득되고, 상위 레벨의 제2 옵티컬 플로우에 기초하여 상위 레벨의 제2 중요도 가중치가 획득될 수 있다.
일 실시예에 따라, 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상위 레벨의 제1 옵티컬 플로우, 상위 레벨의 제2 옵티컬 플로우, 상위 레벨의 제1 중요도 가중치, 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 제상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우에 기초하여, 제3 프레임의 시간 t에 대하여 순방향 워핑된 제1 프레임, 시간 t에 대하여 순방향 워핑된 제2 프레임, 시간 t에 대하여 역방향 워핑된 제1 프레임, 시간 t에 대하여 역방향 워핑된 제2 프레임을 획득하는 단계; 및 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임, 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임에 기초하여, 보간 필터 신경망를 통해, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함할 수 있다.
일 실시예에 따라, 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상위 레벨의 제1 옵티컬 플로우, 상위 레벨의 제2 옵티컬 플로우, 상위 레벨의 제1 중요도 가중치, 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 제상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우에 기초하여, 제3 프레임의 시간 t에 대하여 순방향 워핑된 제1 프레임, 시간 t에 대하여 순방향 워핑된 제2 프레임을 획득하는 단계; 및 순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임에 기초하여, 보간 필터 신경망를 통해, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함할 수 있다.
일 실시예에 따라, 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는: 상위 레벨의 제1 옵티컬 플로우, 상위 레벨의 제2 옵티컬 플로우, 상위 레벨의 제1 중요도 가중치, 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 제상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계; 상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우에 기초하여, 제3 프레임의 시간 t에 대하여 역방향 워핑된 제1 프레임, 시간 t에 대하여 역방향 워핑된 제2 프레임을 획득하는 단계; 및 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임에 기초하여, 보간 필터 신경망를 통해, 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함할 수 있다.
일 실시예에 따라, 소정 레벨의 제1 옵티컬 플로우는 순방향 워핑된 제1 특징 맵과 소정 레벨의 제2 특징 맵 사이의 제1 상관 값에 기초하여 업데이트되고, 소정 레벨의 제2 옵티컬 플로우는 순방향 워핑된 제2 특징 맵과 소정 레벨의 제1 특징 맵 사이의 제2 상관 값에 기초하여 업데이트될 수 있다.
일 실시예에 따라, 소정 레벨의 순방향 워핑된 제1 특징 맵의 미리 정해진 범위 내의 후보 픽셀들과 제1 상관 값에 기초하여 소정 레벨의 제1 옵티컬 플로우가 업데이트되고, 소정 레벨의 순방향 워핑된 제2 특징 맵의 미리 정해진 범위 내의 후보 픽셀들과 제2 상관 값에 기초하여 소정 레벨의 제2 옵티컬 플로우가 업데이트될 수 있다.
일 실시예에 따라, 미리 정해진 범위는 소정 레벨의 특징 맵의 크기에 따라 달라질 수 있다. 구체적으로, 미리 정해진 범위는 특징 맵의 상관 값 계산의 대상이 되는 픽셀을 중심으로 반경 r 만큼의 범위이고, 대상 픽셀의 좌표가 (x, y)라면, (x-r≤x≤x+r, y-r≤y≤y+r)의 범위이다. 여기서, 반경 r의 크기가 소정 레벨의 특징 맵의 크기에 따라 달라질 수 있다.
일 실시예에 따라, 제1 상관 값의 계산에 이용되는 픽셀들은 사용자에 의해 설정된 필터에 의해 결정되고, 제2 상관 값의 계산에 이용되는 픽셀들은 사용자에 의해 설정된 필터에 의해 결정될 수 있다.
일 실시예에 따라, 제1 상관 값의 계산에 이용되는 픽셀들은 훈련된 신경망에 기초하여 결정되고, 제2 상관 값의 계산에 이용되는 픽셀들은 훈련된 신경망에 기초하여 결정될 수 있다.
일 실시예에 따라, 소정 레벨의 제2 특징 맵의 미리 정해진 범위 내의 픽셀과의 상관 값 중 가장 높은 상관 값이 제1 상관 값으로 결정되고, 소정 레벨의 상기 제1 특징 맵의 미리 정해진 범위 내의 픽셀과의 상관 값 중 가장 높은 상관 값이 제2 상관 값으로 결정될 수 있다.
일 실시예에 따라, 복수의 레벨 중 최하위 레벨에서 초기에 획득되는 제1 옵티컬 플로우와 제2 옵티컬 플로우는 0으로 설정될 수 있다.
S860 단계에서, AI에 기반한 프레임 보간 장치(900)는 보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 제1 프레임과 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정한다.
일 실시예에 따라, AI 기반 프레임 보간 필터는 상기 제1 프레임 및 상기 제2 프레임 내의 픽셀들 각각에 대응하는 하나의 필터 커널을 포함할 수 있다.
일 실시예에 따라, AI 기반 프레임 보간 필터를 결정하기 위해, 보간 필터 신경망에 제1 프레임 및 제2 프레임의 문맥적 특징 맵이 추가로 입력되고, 문맥적 특징 맵은 제1 프레임 및 제2 프레임을 입력으로하는 제2 신경망의 출력 값과 제1 프레임 및 제2 프레임을 입력으로하는 미리결정된 분류 네트워크의 출력 값의 합으로 결정될 수 있다. 미리결정된 분류 네트워크는 옥스포드 대학의 연구팀 VGG에 의해 개발된 VGGNet의 구조 중 하나인 VGG16 또는 ResNet 중 하나일 수 있다. 또한, 미리결정된 분류 네트워크의 출력 값은 네트워크의 최종 레이어의 출력 값, 네트워크의 중간 레이어에서의 출력 값, 네트워크의 일부 레이어의 출력 값, 중간 레이어 또는 최종 레이어에서의 출력 값 중 일부 중 하나일 수 있다.
일 실시예에 따라, AI 기반 프레임 보간 필터는 서브 픽셀의 계산을 위해 이용되는 바이리니어 보간에 대한 필터 커널을 더 포함할 수 있다.
일 실시예에 따라, AI 기반 프레임 보간 필터는 제3 프레임의 시간 및 Z-map 중 적어도 하나에 기초한 필터 커널을 더 포함할 수 있다.
일 실시예에 따라, 제1 프레임에 대한 깊이 정보 및 제2 프레임에 대한 깊이 정보가 존재하면, 제1 프레임에 대한 깊이 정보 및 제2 프레임에 대한 깊이 정보가 보간 필터 신경망에 추가로 입력될 수 있다.
S870 단계에서, AI에 기반한 프레임 보간 장치(900)는 제1 프레임, 제2 프레임, 및 AI 기반 프레임 보간 필터를 이용하여 제3 프레임을 획득한다.
일 실시예에 따라, AI 기반 프레임 보간 필터는 제1 프레임에 적용되는 제1 프레임 보간 필터와 제2 프레임에 적용되는 제2 프레임 보간 필터를 포함할 수 있다.
도 9는 일 실시예에 따른 AI에 기반한 프레임 보간 장치의 구성을 도시하는 도면이다.
도 9를 참조하면, AI에 기반한 프레임 보간 장치(900)는 특징 맵 획득부(910), 옵티컬 플로우 획득부(920), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)를 포함한다.
특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)는 프로세서로 구현될 수 있고, 특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)는 메모리(미도시)에 저장된 인스트럭션에 따라 동작할 수 있다.
도 9는 특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)를 개별적으로 도시하고 있으나, 특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)는 하나의 프로세서를 통해 구현될 수 있다. 이 경우, 특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)는 전용 프로세서로 구현되거나, AP(application processor), CPU(central processing unit) 또는 GPU(graphic processing unit)와 같은 범용 프로세서와 소프트웨어의 조합을 통해 구현될 수도 있다. 또한, 전용 프로세서의 경우, 본 개시의 실시예를 구현하기 위한 메모리를 포함하거나, 외부 메모리를 이용하기 위한 메모리 처리부를 포함할 수 있다.
특징 맵 획득부(910), 순방향 워핑 특징맵 획득부(930), 옵티컬 플로우 업데이트부(940), 옵티컬 플로우 업스케일부(950), 보간 필터 획득부(960) 및 프레임 획득부(970)는 복수의 프로세서로 구성될 수도 있다. 이 경우, 전용 프로세서들의 조합으로 구현되거나, AP, CPU 또는 GPU와 같은 다수의 범용 프로세서들과 소프트웨어의 조합을 통해 구현될 수도 있다.
특징 맵 획득부(910)는 영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 제1 특징 맵들 및 제2 프레임에 대한 복수의 레벨의 제2 특징 맵들을 획득한다.
옵티컬 플로우 획득부(920)는 플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득한다.
순방향 워핑 특징맵 획득부(930)는 상기 제1 옵티컬 플로우를 이용하여 상기 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득한다.
옵티컬 플로우 업데이트부(940)는 상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트한다.
옵티컬 플로우 업스케일부(950)는 상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨의 상위 레벨에 대응하도록 업스케일하여 상위 레벨의 제1 옵티컬 플로우를 획득하고, 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여 상위 레벨의 제2 옵티컬 플로우를 획득한다.
보간 필터 획득부(960)는 보간 필터 신경망을 통해, 상위 레벨의 제1 옵티컬 플로우, 상위 레벨의 제2 옵티컬 플로우를 이용하여, 제1 프레임과 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정한다.
프레임 획득부(970)는 제1 프레임, 제2 프레임, 및 AI 기반 프레임 보간 필터를 이용하여 제3 프레임을 획득한다.
한편, 상술한 본 개시의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 작성된 프로그램은 기기로 읽을 수 있는 저장매체에 저장될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
본 개시는 예시로 다양한 실시예들을 참조하여 설명되었지만, 다양한 실시예들은 예시적인 것이고 본 개시를 제한하지 않는다. 첨부된 특허청구범위와 이에 대한 균등물을 포함하는 본 개시의 전체 범위를 벗어나지 않으면서 형식 및 세부 내용에서 다양한 변경이 이루어질 수 있음은 통상의 기술자에게 명백할 수 있다.

Claims (15)

  1. 영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 특징 맵들 및 제2 프레임에 대한 상기 복수의 레벨의 특징 맵들을 획득하는 단계;
    플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득하는 단계;
    상기 제1 옵티컬 플로우를 이용하여 상기 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득하는 단계;
    상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트하는 단계;
    상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨보다 높은 상위 레벨에 대응하도록 업스케일하여 상기 상위 레벨의 제1 옵티컬 플로우를 획득하고, 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여 상기 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계;
    보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 상기 제1 프레임과 상기 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계; 및
    상기 제1 프레임, 상기 제2 프레임, 및 상기 AI 기반 프레임 보간 필터를 이용하여, 상기 제3 프레임을 획득하는 단계를 포함하는 것을 특징으로 하는 AI에 기반한 프레임 보간 방법.
  2. 제 1 항에 있어서,
    상기 상위 레벨은 상기 복수의 레벨들 중 최상위 레벨이고,
    상기 최상위 레벨은 상기 제1 프레임 및 상기 제2 프레임에 대응하는 레벨인, AI에 기반한 프레임 보간 방법.
  3. 제 1 항에 있어서,
    상기 복수의 레벨들 중 최상위 레벨에 대응하는 제1 프레임의 제1 특징 맵 및 최상위 레벨에 대응하는 제2 프레임의 제2 특징 맵은 제1 신경망을 통해 획득되고,
    상기 최상위 레벨의 아래 레벨들의 제1 특징 맵들 및 상기 최상위 레벨의 아래 레벨들의 제2 특징 맵들은 다운샘플링 신경망을 통해 획득되고,
    상기 복수의 레벨의 상기 제1 프레임에 대한 특징 맵들 및 상기 복수의 레벨의 상기 제2 프레임에 대한 특징 맵들은 상기 아래 레벨들의 제1 특징 맵들 및 상기 아래 레벨들의 제2 특징 맵들인, AI에 기반한 프레임 보간 방법.
  4. 제 1 항에 있어서,
    상기 상위 레벨의 제1 옵티컬 플로우, 상기 제2 옵티컬 플로우를 획득하는 단계는:
    상기 소정 레벨의 제1 중요도 가중치를 획득하되, 상기 제1 중요도 가중치는 상기 소정 레벨의 제2 특징 맵의 하나의 픽셀에 매핑되는 상기 소정 레벨의 제1 특징 맵의 복수의 픽셀들의 수를 나타내는 단계;
    상기 소정 레벨의 제2 중요도 가중치를 획득하되, 상기 제2 중요도 가중치는 상기 소정 레벨의 제1 특징 맵의 하나의 픽셀에 매핑되는 상기 소정 레벨의 제2 특징 맵의 복수의 픽셀들의 수를 나타내는 단계;를 더 포함하는, AI에 기반한 프레임 보간 방법.
  5. 제 4 항에 있어서,
    상기 소정 레벨의 상기 제1 중요도 가중치를 추가로 이용하여, 상기 순방향 워핑된 제1 특징 맵이 획득되고,
    상기 소정 레벨의 상기 제2 중요도 가중치를 추가로 이용하여, 상기 순방향 워핑된 제2 특징 맵이 획득되는, AI에 기반한 프레임 보간 방법.
  6. 제 4 항에 있어서,
    상기 상위 레벨의 상기 제1 옵티컬 플로우에 기초하여 상기 상위 레벨의 제1 중요도 가중치가 획득되고, 상기 상위 레벨의 상기 제2 옵티컬 플로우에 기초하여 상기 상위 레벨의 제2 중요도 가중치가 획득되는, AI에 기반한 프레임 보간 방법.
  7. 제 4 항에 있어서,
    상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계는:
    상기 상위 레벨의 제1 옵티컬 플로우, 상기 상위 레벨의 제2 옵티컬 플로우, 상기 상위 레벨의 제1 중요도 가중치, 상기 상위 레벨의 제2 중요도 가중치에 기초하여, 중간 플로우 예측 신경망을 통해, 상기 제3 프레임에서 상기 제1 프레임으로의 제1 중간 옵티컬 플로우, 상기 제3 프레임에서 상기 제2 프레임으로의 제2 중간 옵티컬 플로우를 획득하는 단계;
    상기 제1 중간 옵티컬 플로우, 제2 중간 옵티컬 플로우를 이용하여, 상기 제3 프레임의 시간 t에 기초한 순방향 워핑된 제1 프레임, 상기 시간 t에 기초한 순방향 워핑된 제2 프레임, 상기 시간 t에 기초한 역방향 워핑된 제1 프레임, 상기 시간 t에 기초한 역방향 워핑된 제2 프레임을 획득하는 단계; 및
    순방향 워핑된 제1 프레임, 순방향 워핑된 제2 프레임, 역방향 워핑된 제1 프레임, 역방향 워핑된 제2 프레임에 기초하여, 상기 보간 필터 신경망를 통해, 상기 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계;를 더 포함하는, AI에 기반한 프레임 보간 방법.
  8. 제 1 항에 있어서,
    상기 소정 레벨의 상기 제1 옵티컬 플로우는 상기 순방향 워핑된 제1 특징 맵과 상기 소정 레벨의 제2 특징 맵 사이의 제1 상관 값에 기초하여 업데이트되고,
    상기 소정 레벨의 상기 제2 옵티컬 플로우는 상기 순방향 워핑된 제2 특징 맵과 상기 소정 레벨의 제1 특징 맵 사이의 제2 상관 값에 기초하여 업데이트되는, AI에 기반한 프레임 보간 방법.
  9. 제 8 항에 있어서,
    상기 소정 레벨의 제1 옵티컬 플로우의 미리 정해진 범위 내의 후보 픽셀들에 기초하여 상기 소정 레벨의 제1 옵티컬 플로우가 업데이트되고,
    상기 소정 레벨의 제2 옵티컬 플로우의 미리 정해진 범위 내의 후보 픽셀들에 기초하여 상기 소정 레벨의 제2 옵티컬 플로우가 업데이트되는, AI에 기반한 프레임 보간 방법.
  10. 제 9 항에
    상기 미리 정해진 범위는 상기 소정 레벨의 특징 맵의 크기에 따라 달라지는, AI에 기반한 프레임 보간 방법.
  11. 제 1 항에 있어서,
    상기 복수의 레벨 중 최하위 레벨에서 초기에 획득되는 제1 옵티컬 플로우와 제2 옵티컬 플로우는 0으로 설정되는, AI에 기반한 프레임 보간 방법.
  12. 제 1 항에 있어서,
    상기 AI 기반 프레임 보간 필터는 상기 제1 프레임 및 상기 제2 프레임 내의 픽셀들 각각에 대응하는 하나의 필터 커널을 포함하는, AI에 기반한 프레임 보간 방법.
  13. 제 12 항에 있어서,
    상기 AI 기반 프레임 보간 필터를 결정하기 위해, 상기 보간 필터 신경망에 상기 제1 프레임 및 상기 제2 프레임의 문맥적 특징 맵들이 추가로 입력되고,
    상기 문맥적 특징 맵들은 상기 제1 프레임 및 상기 제2 프레임을 입력으로하는 제2 신경망의 출력 값과 상기 제1 프레임 및 상기 제2 프레임을 입력으로하는 미리 결정된 분류 네트워크의 출력 값의 합으로 결정되는, AI에 기반한 프레임 보간 방법.
  14. 제 1 항에 있어서,
    상기 AI 기반 프레임 보간 필터는 상기 제1 프레임에 적용되는 제1 프레임 보간 필터와 상기 제2 프레임에 적용되는 제2 프레임 보간 필터를 포함하는, AI에 기반한 프레임 보간 방법.
  15. 메모리; 및
    프로세서를 포함하고,
    상기 프로세서는:
    영상의 연속적인 프레임들 중에서, 제1 프레임에 대한 복수의 레벨의 특징 맵들 및 제2 프레임에 대한 상기 복수의 레벨의 특징 맵들을 획득하는 단계;
    플로우 예측 신경망을 통해, 소정 레벨의 제1 특징 맵에서 제2 특징 맵으로의 제1 옵티컬 플로우 및 상기 소정 레벨의 상기 제2 특징 맵에서 상기 제1 특징 맵으로의 제2 옵티컬 플로우를 획득하는 단계;
    상기 제1 옵티컬 플로우를 이용하여 상기 제1 특징 맵을 순방향 워핑하여 순방향 워핑된 제1 특징 맵을 획득하고, 상기 제2 옵티컬 플로우를 이용하여 상기 제2 특징 맵을 순방향 워핑하여 순방향 워핑된 제2 특징 맵을 획득하는 단계;
    상기 순방향 워핑된 제1 특징 맵을 이용하여 상기 제1 옵티컬 플로우를 업데이트하고, 상기 순방향 워핑된 제2 특징 맵을 이용하여 상기 제2 옵티컬 플로우를 업데이트하는 단계;
    상기 업데이트된 제1 옵티컬 플로우를 상기 소정 레벨보다 높은 상위 레벨에 대응하도록 업스케일하여, 상기 상위 레벨의 제1 옵티컬 플로우를 획득하고, 상기 업데이트된 제2 옵티컬 플로우를 상기 상위 레벨에 대응하도록 업스케일하여, 상기 상위 레벨의 제2 옵티컬 플로우를 획득하는 단계;
    보간 필터 신경망을 통해, 상기 획득된 상위 레벨의 제1 옵티컬 플로우 및 상기 획득된 상위 레벨의 제2 옵티컬 플로우를 이용하여, 상기 제1 프레임과 상기 제2 프레임 사이의 제3 프레임에 대한 AI 기반 프레임 보간 필터를 결정하는 단계; 및
    상기 제1 프레임, 상기 제2 프레임, 및 상기 AI 기반 프레임 보간 필터를 이용하여 상기 제3 프레임을 획득하는 단계를 수행하는, AI에 기반한 프레임 보간 장치.
PCT/KR2022/007140 2021-05-24 2022-05-18 Ai에 기반한 프레임 보간 방법 및 장치 WO2022250372A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280037578.7A CN117377974A (zh) 2021-05-24 2022-05-18 基于ai的帧插值方法及设备
EP22811565.5A EP4318376A4 (en) 2021-05-24 2022-05-18 AI-BASED FRAME INTERPOLATION METHOD AND DEVICE
US17/752,347 US20220375030A1 (en) 2021-05-24 2022-05-24 Method and apparatus for interpolating frame based on artificial intelligence

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2021-0066498 2021-05-24
KR20210066498 2021-05-24
KR20210108356 2021-08-17
KR10-2021-0108356 2021-08-17
KR1020220019101A KR20220158598A (ko) 2021-05-24 2022-02-14 Ai에 기반한 프레임 보간 방법 및 장치
KR10-2022-0019101 2022-02-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/752,347 Continuation US20220375030A1 (en) 2021-05-24 2022-05-24 Method and apparatus for interpolating frame based on artificial intelligence

Publications (1)

Publication Number Publication Date
WO2022250372A1 true WO2022250372A1 (ko) 2022-12-01

Family

ID=84229318

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/007140 WO2022250372A1 (ko) 2021-05-24 2022-05-18 Ai에 기반한 프레임 보간 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2022250372A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024122856A1 (ko) * 2022-12-05 2024-06-13 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812825B2 (en) * 2016-11-14 2020-10-20 Google Llc Video frame synthesis with deep learning
US10970600B2 (en) * 2017-03-08 2021-04-06 Tencent Technology (Shenzhen) Company Limited Method and apparatus for training neural network model used for image processing, and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10812825B2 (en) * 2016-11-14 2020-10-20 Google Llc Video frame synthesis with deep learning
US10970600B2 (en) * 2017-03-08 2021-04-06 Tencent Technology (Shenzhen) Company Limited Method and apparatus for training neural network model used for image processing, and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HYEONJUN SIM; JIHYONG OH; MUNCHURL KIM: "XVFI: eXtreme Video Frame Interpolation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 30 March 2021 (2021-03-30), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081919485 *
SIMON NIKLAUS; FENG LIU: "Softmax Splatting for Video Frame Interpolation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 March 2020 (2020-03-11), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081619671 *
ZACHARY TEED; JIA DENG: "RAFT: Recurrent All-Pairs Field Transforms for Optical Flow", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 26 March 2020 (2020-03-26), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081628903 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024122856A1 (ko) * 2022-12-05 2024-06-13 삼성전자주식회사 전자 장치 및 그 제어 방법

Similar Documents

Publication Publication Date Title
WO2021080158A1 (en) Image processing method, apparatus, electronic device and computer readable storage medium
AU2018319215B2 (en) Electronic apparatus and control method thereof
US8170376B2 (en) Super-resolution device and method
JPS6163893A (ja) デイスプレイ装置における擬似中間調画像の表示方法
WO2021085757A1 (ko) 예외적 움직임에 강인한 비디오 프레임 보간 방법 및 그 장치
JP4564564B2 (ja) 動画像再生装置、動画像再生方法および動画像再生プログラム
WO2019132091A1 (ko) 머신러닝 기반의 동적 파라미터에 의한 업스케일된 동영상의 노이즈 제거방법
WO2020017871A1 (ko) 영상 처리 장치 및 그 동작방법
WO2020027519A1 (ko) 영상 처리 장치 및 그 동작방법
WO2022250372A1 (ko) Ai에 기반한 프레임 보간 방법 및 장치
EP4367628A1 (en) Image processing method and related device
WO2022075688A1 (en) Occlusion processing for frame rate conversion using deep learning
CN111553843B (zh) 图像处理方法、图像处理装置及显示装置
JPH0522648A (ja) 画像処理装置
WO2023055033A1 (en) Method and apparatus for enhancing texture details of images
JP3175914B2 (ja) 画像符号化方法および画像符号化装置
WO2022250402A1 (ko) 영상 처리 장치 및 그 동작방법
US20110109794A1 (en) Caching structure and apparatus for use in block based video
WO2020204287A1 (en) Display apparatus and image processing method thereof
WO2019135524A1 (ko) 그래디언트의 적응적 가중에 기반한 에지 위치 결정 장치 및 방법
JP2009116730A (ja) 画像処理装置及び方法
WO2023085862A1 (en) Image processing method and related device
WO2021241994A1 (ko) Rgb-d 카메라의 트래킹을 통한 3d 모델의 생성 방법 및 장치
WO2021158039A1 (ko) 영상을 다운스케일링하는 방법 및 장치
WO2024053840A1 (ko) 뉴럴 네트워크 모델을 포함하는 이미지 처리 장치 및 이의 동작 방법

Legal Events

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

Ref document number: 22811565

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022811565

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022811565

Country of ref document: EP

Effective date: 20231026

WWE Wipo information: entry into national phase

Ref document number: 202280037578.7

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE