METHOD FOR PERFORMING FRAME INTERPOLATION BASED ON SINGLE-DIRECTIONAL MOTION AND ASSOCIATED NON-TRANSITORY MACHINE-READABLE MEDIUM
20230328202 · 2023-10-12
Assignee
Inventors
- Yao-Sheng Wang (Hsinchu City, TW)
- Pei-Kuei Tsung (Hsinchu City, TW)
- Chia-Ni Lu (Hsinchu City, TW)
- Yu-Sheng Lin (Hsinchu City, TW)
- Chien-Yu Huang (Hsinchu City, TW)
- Chih-Wen Goo (Hsinchu City, TW)
- Cheng-Lung Jen (Hsinchu City, TW)
Cpc classification
International classification
Abstract
A frame interpolation method for generating a third image frame interpolated between a first image frame and a second image frame includes: performing motion estimation upon a first input image frame and a second input image frame, to obtain a single-directional motion, wherein the first input image frame is derived from the first image frame, and the second input image frame is derived from the second image frame; scaling the single-directional motion according to a time point of the third image frame, to generate a scaled motion; deriving a forward-warped result from a result of performing a forward warping operation and a first inverse operation upon the scaled motion; performing a second inverse operation upon the forward-warped result, to generate an inversed result; and generating the third image frame according to the first image frame, the second image frame, the forward-warped result, and the inversed result.
Claims
1. A frame interpolation method for generating a third image frame interpolated between a first image frame and a second image frame, comprising: performing motion estimation upon a first input image frame and a second input image frame, to obtain a single-directional motion, wherein the first input image frame is derived from the first image frame, and the second input image frame is derived from the second image frame; scaling the single-directional motion according to a time point of the third image frame, to generate a scaled motion; deriving a forward-warped result from a result of performing a forward warping operation and a first inverse operation upon the scaled motion; performing a second inverse operation upon the forward-warped result, to generate an inversed result; and generating the third image frame according to the first image frame, the second image frame, the forward-warped result, and the inversed result.
2. The frame interpolation method of claim 1, further comprising: resizing the first image frame and the second image frame, respectively, to generate a first resized image frame as the first input image frame and a second resized image frame as the second input image frame.
3. The frame interpolation method of claim 1, wherein the step of deriving the forward-warped result from the result of performing the forward warping operation and the first inverse operation upon the scaled motion comprises: performing the forward warping operation and the first inverse operation upon the scaled motion, to generate a coarse forward-warped result; and refining the coarse forward-warped result according to at least the first input frame and the second input frame, to generate the forward-warped result.
4. The frame interpolation method of claim 3, further comprising: performing a backward warping operation upon the first input image frame according to the coarse forward-warped result, to generate a backward-warped result; wherein the step of refining the coarse forward-warped result according to at least the first input image frame and the second input image frame, to generate the forward-warped result comprises: refining the coarse forward-warped result according to the first input image frame, the second input image frame, and the backward-warped result, to generate the forward-warped result.
5. The frame interpolation method of claim 3, wherein the coarse forward-warped result comprises an alpha map and a forward-warped motion, and the step of refining the coarse forward-warped result according to at least the first input image frame and the second input image frame, to generate the forward-warped result comprises: refining the alpha map according to at least the first input image frame and the second input image frame, to generate a refined alpha map; and refining the forward-warped motion according to at least the first input image frame and the second input image frame, to generate a refined motion; wherein the forward-warped result comprises the refined alpha map and the refined motion.
6. The frame interpolation method of claim 5, wherein the step of performing the second inverse operation upon the forward-warped result, to generate the inversed result comprises: performing the second inverse operation upon the refined alpha map, to generate an inversed alpha map; and performing the second inverse operation upon the refined motion, to generate an inversed motion; wherein the inversed result comprises the inversed alpha map and the inversed motion.
7. The frame interpolation method of claim 3, wherein the step of refining the coarse forward-warped result according to at least the first input image frame and the second input image frame, to generate the forward-warped result further comprises: inpainting holes caused by performing the forward warping operation.
8. The frame interpolation method of claim 1, wherein the step of generating the third image frame according to the first image frame, the second image frame, the forward-warped result, and the inversed result comprises: performing a backward warping operation upon the first image frame and the second frame according to the forward-warped result and the inversed result, respectively, to generate a first backward-warped result and a second backward-warped result; and blending the first backward-warped result and the second backward-warped result according to the forward-warped result and the inversed result, to generate the third image frame.
9. The frame interpolation method of claim 8, wherein the forward-warped result comprises a motion, the inversed result comprises an inversed motion, and the step of performing the backward warping operation upon the first image frame and the second image frame according to the forward-warped result and the inversed result, respectively, to generate the first backward-warped result and the second backward-warped result comprises: performing the backward warping operation upon the first image frame according to the motion, to generate the first backward-warped result; and performing the backward warping operation upon the second image frame according to the inversed motion, to generate the second backward-warped result.
10. The frame interpolation method of claim 8, wherein the forward-warped result comprises an alpha map, the inversed result comprises an inversed alpha map, and the step of blending the first backward-warped result and the second backward-warped result according to the forward-warped result and the inversed result, to generate the third image frame comprises: multiplying the first backward-warped result and the alpha map, to generate a first multiplication result; multiplying the second backward-warped result and the inversed alpha map, to generate a second multiplication result; and adding the first multiplication result and the second multiplication result to generate the third image frame.
11. A non-transitory machine-readable medium for storing a program code, wherein when loaded and executed by a processor, the program code instructs the processor to execute: a frame interpolation module, arranged to generate a third image frame interpolated between a first image frame and a second image frame, and comprising: a motion estimating module, arranged to perform motion estimation upon a first input image frame and a second input image frame, to obtain a single-directional motion, wherein the first input image frame is derived from the first image frame, and the second input image frame is derived from the second image frame; a scaling module, arranged to scale the single-directional motion according to a time point of the third image frame, to generate a scaled motion; a first processing module, arranged to derive a forward-warped result from a result of performing a forward warping operation and a first inverse operation upon the scaled motion; an inverse module, arranged to perform a second inverse operation upon the forward-warped result, to generate an inversed result; and a second processing module, arranged to generate the third image frame according to the first image frame, the second image frame, the forward-warped result, and the inversed result.
12. The non-transitory machine-readable medium of claim 11, wherein the frame interpolation module further comprises: a resizing module, arranged to resize the first image frame and the second image frame, respectively, to generate a first resized image frame as the first input image frame and a second resized image frame as the second input image frame.
13. The non-transitory machine-readable medium of claim 11, wherein the first processing module comprises: a forward warping module, arranged to perform the forward warping operation and the first inverse operation upon the scaled motion, to generate a coarse forward-warped result; and a refining module, arranged to refine the coarse forward-warped result according to at least the first input frame and the second input frame, to generate the forward-warped result.
14. The non-transitory machine-readable medium of claim 13, wherein the frame interpolation module further comprises: a backward warping module, arranged to perform a backward warping operation upon the first input image frame according to the coarse forward-warped result, to generate a backward-warped result; wherein the refining module is further arranged to refine the coarse forward-warped result according to the first input image frame, the second input image frame, and the backward-warped result, to generate the forward-warped result.
15. The non-transitory machine-readable medium of claim 13, wherein the coarse forward-warped result comprises an alpha map and a forward-warped motion, and the refining module is further arranged to: refine the alpha map according to at least the first input image frame and the second input image frame, to generate a refined alpha map; and refine the forward-warped motion according to at least the first input image frame and the second input image frame, to generate a refined motion; wherein the forward-warped result comprises the refined alpha map and the refined motion.
16. The non-transitory machine-readable medium of claim 15, wherein the refining module is further arranged to: perform the second inverse operation upon the refined alpha map, to generate an inversed alpha map; and perform the second inverse operation upon the refined motion, to generate an inversed motion; wherein the inversed result comprises the inversed alpha map and the inversed motion.
17. The non-transitory machine-readable medium of claim 13, wherein the inverse module is further arranged to inpaint holes caused by performing the forward warping operation.
18. The non-transitory machine-readable medium of claim 11, wherein the second processing module comprises: multiple backward warping modules, arranged to perform a backward warping operation upon the first image frame and the second frame according to the forward-warped result and the inversed result, respectively, to generate a first backward-warped result and a second backward-warped result; and a blending module, arranged to blend the first backward-warped result and the second backward-warped result according to the forward-warped result and the inversed result, to generate the third image frame.
19. The non-transitory machine-readable medium of claim 18, wherein the forward-warped result comprises a motion, the inversed result comprises an inversed motion, and the multiple backward warping modules comprises: a first backward warping module, arranged to perform the backward warping operation upon the first image frame according to the motion, to generate the first backward-warped result; and a second backward warping module, arranged to perform the backward warping operation upon the second image frame according to the inversed motion, to generate the second backward-warped result.
20. The non-transitory machine-readable medium of claim 18, wherein the forward-warped result comprises an alpha map, the inversed result comprises an inversed alpha map, and the blending module is further arranged to: multiply the first backward-warped result and the alpha map, to generate a first multiplication result; multiply the second backward-warped result and the inversed alpha map, to generate a second multiplication result; and add the first multiplication result and the second multiplication result to generate the third image frame.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
DETAILED DESCRIPTION
[0015] Certain terms are used throughout the following description and claims, which refer to particular components. As one skilled in the art will appreciate, electronic equipment manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not in function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”.
[0016]
[0017]
[0018] It is assumed that an image frame sequence {I.sub.0, I.sub.1, I.sub.2, . . . , I.sub.n} including image frames I.sub.0-I.sub.n with a low frames per second (FPS) is input into the frame interpolation module 20, wherein “n” is a positive integer greater than 1 (i.e. n>1). The frame interpolation module 20 is arranged to perform the frame interpolation upon the image frame sequence {I.sub.0, I.sub.1, I.sub.2, . . . , I.sub.n} to increase its FPS. In this embodiment, for better comprehension, a target image frame I.sub.t that is interpolated between the image frames I.sub.0 and I.sub.1 in the image frame sequence {I.sub.0, I.sub.1, I.sub.2, . . . , I.sub.n} by the frame interpolation method of the present invention is taken as an example.
[0019] In the motion estimation portion, the resizing module 200 may be arranged to resize the image frames I.sub.0 and I.sub.1, respectively, to generate resized image frames RI.sub.0 and RI.sub.1, for tradeoff between interpolation quality and any of cost, computation, and/or power. The motion estimation module 202 may be arranged to perform motion estimation upon a first input image frame F_IIF and a second input image frame S_IIF, to obtain a single-directional motion F.sub.0.fwdarw.1, wherein the first input image frame F_IIF is derived from the image frame I.sub.0, and the second input image frame S_IIF is derived from the second image frame I.sub.1, and the single-directional motion F.sub.0.fwdarw.1 indicates a motion from the image frame I.sub.0 to the image frame I.sub.1. In this embodiment, the resized image frames RI.sub.0 and RI.sub.1 act as the first input image frame F_IIF and the second input image frame S_IIF, respectively, but the present invention is not limited thereto. In some embodiments, at the expense of the interpolation quality, the image frames I.sub.0 and I.sub.1 may directly act as the first input image frame F_IIF and the second input image frame S_IIF, respectively.
[0020] In the motion compensation portion, the scaling module 204 may be arranged to scale the single-directional motion F.sub.0.fwdarw.1 according to a time point of the target image frame I.sub.t to generate a scaled motion F.sub.0.fwdarw.1. For example, under a condition that a relationship between a position of the target image frame I.sub.t and the single-directional motion F.sub.0.fwdarw.1 is linear, if time points of the image frame I.sub.0, the target image frame I.sub.t, and the image frame I.sub.1 are 0, t, and 1, respectively, the scaling module 204 may scale down the single-directional motion F.sub.0.fwdarw.1 by t to generate the scaled motion F.sub.0-t, wherein “t” is a positive number between 0 and 1, and is a time point at which the target image frame I.sub.1 is interpolated between the image frames I.sub.0 and I.sub.1.
[0021] The processing module 206 may be arranged to derive a forward-warped result FWR from a result of performing a forward warping operation and an inverse operation upon the scaled motion F.sub.0.fwdarw.t. In detail, the processing module 206 may include a forward warping module 214 and a refining module 216. The forward warping module 214 may be arranged to perform a forward warping operation and an inverse operation upon the scaled motion F.sub.0.fwdarw.t, to generate a coarse forward-warped result CFWR, wherein the coarse forward-warped result CFWR includes an alpha map V′.sub.t.fwdarw.0 and a forward-warped motion F′.sub.t.fwdarw.0, and the alpha map V′.sub.t.fwdarw.0 may indicate holes caused by performing the forward warping operation.
[0022] The refining module 216 may be arranged to refine the coarse forward-warped result CFWR according to at least the first input image frame F_IIF and the second input image frame S_IIF (e.g. the resized image frames RI.sub.0 and RI.sub.1), to generate the forward-warped result FWR, wherein the forward-warped result FWR includes a refined alpha map V.sub.t.fwdarw.0 and a refined motion F.sub.t.fwdarw.0. Specifically, the refining module 216 may execute a computer vision algorithm and/or an artificial intelligence (AI) algorithm to refine the alpha map V′.sub.t.fwdarw.0 and the forward-warped motion F′.sub.t.fwdarw.0 according to at least the first input image frame F_IIF and the second input image frame S_IIF (e.g. the resized image frames RI.sub.0 and RI.sub.1), respectively, to generate the refined alpha map V.sub.t.fwdarw.0 and the refined motion F.sub.t.fwdarw.0. For example, the above-mentioned holes caused by performing the forward warping operation can be inpainted by the refining module 216.
[0023] In this embodiment, in order to enhance the interpolation quality, the backward warping module 212 may be arranged to perform a backward warping operation upon the first input image frame F_IIF (e.g. the resized image frame RI.sub.0) according to the forward-warped motion F′.sub.t.fwdarw.0 from the forward warping module 214, to generate a backward-warped result I′.sub.t.fwdarw.0. The refining module 216 may refine the alpha map V′.sub.t.fwdarw.0 and the forward-warped motion F′.sub.t.fwdarw.0 according to the first input image frame F_IIF (e.g. the resized image frame RI.sub.0), the second input image frame S_IIF (e.g. the resized image frame RI.sub.1), and the backward-warped result I′.sub.t.fwdarw.0, respectively, to generate the refined alpha map V.sub.t.fwdarw.0 and the refined motion F.sub.t.fwdarw.0.
[0024] The inverse module 210 may be arranged to perform an inverse operation upon the forward-warped result FWR, to generate an inversed result IR, wherein the inversed result IR includes an inversed alpha map V.sub.t.fwdarw.1 and an inversed motion F.sub.t.fwdarw.1. Specifically, the inverse module 210 may perform the inverse operation upon the refined alpha map V.sub.t.fwdarw.0 and the refined motion F.sub.t.fwdarw.0, respectively, to generate the inversed alpha map V.sub.t.fwdarw.1 and the inversed motion F.sub.t.fwdarw.1.
[0025] The processing module 208 may be arranged to generate the target image frame I.sub.t according to the image frames I.sub.0 and I.sub.1, the forward-warped result FWR, and the inversed result IR. In detail, the processing module 208 may include multiple backward warping modules 218 and 220 and a blending module 222. The backward warping module 218 may be arranged to perform a backward warping operation upon the image frame I.sub.1 according to the inversed motion F.sub.t.fwdarw.1, to generate a backward-warped result I.sub.t.fwdarw.1. The backward warping module 220 may be arranged to perform a backward warping operation upon the image frame I.sub.0 according to the refined motion F.sub.t.fwdarw.0, to generate a backward-warped result I.sub.t.fwdarw.0. Afterwards, the blending module 222 may be arranged to blend the backward-warped results I.sub.t.fwdarw.1 and I.sub.t.fwdarw.0 according to the refined alpha map V.sub.t.fwdarw.0 and the inversed alpha map V.sub.t.fwdarw.1, to generate the target image frame I.sub.1 for performing the frame interpolation between the image frames I.sub.0 and I.sub.1. Specifically, the blending module 222 may be arranged to multiply the backward-warped result I.sub.t.fwdarw.0 and the refined alpha map V.sub.t.fwdarw.0 to generate a first multiplication result FMR (e.g. FMR=I.sub.t.fwdarw.0*V.sub.t.fwdarw.0) multiply the backward-warped result I.sub.t.fwdarw.1 and the inversed alpha map V.sub.t.fwdarw.1 to generate a second multiplication result SMR (e.g. SMR=I.sub.t.fwdarw.1*V.sub.t.fwdarw.1) and add the first multiplication result FMR and the second multiplication result SMR to generate the target image frame I.sub.1 (e.g. I.sub.t=FMR+SMR=I.sub.t.fwdarw.0*V.sub.t.fwdarw.0+I.sub.t.fwdarw.1*V.sub.t.fwdarw.1).
[0026]
[0027] In Step S300, the single-directional motion F.sub.0.fwdarw.1 is obtained by performing motion estimation upon the resized image frames RI.sub.0 and RI.sub.1 (or the image frames I.sub.0 and I.sub.1) through the motion estimation module 202, wherein the single-directional motion F.sub.0.fwdarw.1 indicates the displacement from the pixels of the image frame I.sub.0 to the pixels of the image frame I.sub.1, such as 10 in the horizontal direction.
[0028] In Step S302, the single-directional motion F.sub.0.fwdarw.1 is scaled by the scaling module 204 according to the time point of the target image frame I.sub.0.5 to generate the scaled motion F.sub.0.fwdarw.0.5. For example, under a condition that a relationship between the position of the target image frame I.sub.0.5 and the single-directional motion F.sub.0.fwdarw.1 is linear, since the time points of the image frame I.sub.0, the target image frame I.sub.0.5, and the image frame I.sub.1 are 0, 0.5, and 1, respectively, the scaling module 204 may scale down the single-directional motion F.sub.0.fwdarw.1 by 2 to generate the scaled motion F.sub.0.fwdarw.0.5. In detail, the scaling module 204 may scale down the horizontal position coordinate x and the vertical position coordinate y corresponding to the single-directional motion F.sub.0.fwdarw.1 (denoted by F(x, y)) by 2, respectively, to generate the scaled motion F.sub.0.fwdarw.0.5. That is, the horizontal position coordinate x and the vertical position coordinate y corresponding to the scaled motion F.sub.0.fwdarw.0.5 is F(0.5*x, 0.5*y).
[0029] In Step S304, a forward warping operation and an inverse operation are performed upon the scaled motion F.sub.0.fwdarw.0.5 by the forward warping module 214, to generate the coarse forward-warped result CFWR, wherein the coarse forward-warped result CFWR includes the alpha map V′.sub.0.5.fwdarw.0 and the forward-warped motion F′.sub.0.5.fwdarw.0, and the alpha map V′.sub.0.5.fwdarw.0 can indicate holes caused by performing the forward warping operation.
[0030] In Step S306, the alpha map V′.sub.0.5.fwdarw.0 and the forward-warped motion F′.sub.0.5.fwdarw.0 are refined by the refining module 216, respectively, to generate the refined alpha map V.sub.0.5.fwdarw.0 and the refined motion F.sub.0.5.fwdarw.0. In addition, the holes caused by performing the forward warping operation can be inpainted by the refining module 216.
[0031] In Step S308, an inverse operation is performed upon the refined alpha map V.sub.0.5.fwdarw.0 and the refined motion F.sub.0.5.fwdarw.0 by the inverse module 210, respectively, to generate the inversed alpha map V.sub.0.5.fwdarw.1 and the inversed motion F.sub.0.5.fwdarw.1.
[0032] In Step S310, a backward warping operation is performed upon the image frame I.sub.1 by the backward warping module 218 according to the inversed motion F.sub.0.5.fwdarw.1, to generate a backward-warped result I.sub.0.5.fwdarw.1.
[0033] In Step S312, a backward warping operation is performed upon the image frame I.sub.0 by the backward warping module 220 according to the refined motion F.sub.0.5.fwdarw.0, to generate a backward-warped result I.sub.0.5.fwdarw.0.
[0034] In Step S314, the backward-warped results I.sub.0.5.fwdarw.1 and I.sub.0.5.fwdarw.0 are blended by the blending module 222 according to the refined alpha map V.sub.0.5.fwdarw.0 and the inversed alpha map V.sub.0.5.fwdarw.1, to generate the target image frame I.sub.0.5 for performing the frame interpolation between the image frames I.sub.0 and I.sub.1. Specifically, the backward-warped result I.sub.0.5.fwdarw.0 and the refined alpha map V.sub.0.5.fwdarw.0 are multiplied to generate the first multiplication result FMR (e.g. FMR=I.sub.0.5.fwdarw.0*V.sub.0.5.fwdarw.0). The backward-warped result I.sub.0.5.fwdarw.1 and the inversed alpha map V.sub.0.5.fwdarw.1 are multiplied to generate the second multiplication result SMR (e.g. SMR=I.sub.0.5.fwdarw.1*V.sub.0.5.fwdarw.1). The first multiplication result FMR and the second multiplication result SMR are added to generate the target image frame I.sub.0.5 (e.g. I.sub.0.5=FMR+SMR=I.sub.0.5.fwdarw.0*V.sub.0.5.fwdarw.0+I.sub.0.5.fwdarw.1*V.sub.0.5.fwdarw.1).
[0035]
[0036] After the single-directional motion F.sub.1.fwdarw.0 is obtained by the estimation module 202, the scaling module 204 may be arranged to scale the single-directional motion F.sub.1.fwdarw.0 according to a time point of the target image frame I.sub.1 to generate a scaled motion F.sub.1.fwdarw.t. For example, under a condition that a relationship between a position of the target image frame I.sub.1 and the single-directional motion F.sub.1.fwdarw.0 is linear, if time points of the image frame I.sub.0, the target image frame I.sub.t, and the image frame I.sub.1 are 0, t, and 1, respectively, the scaling module 204 may scale down the single-directional motion F.sub.1.fwdarw.0 by t to generate the scaled motion F.sub.1.fwdarw.t, wherein “t” is a positive number between 0 and 1, and is a time point at which the target image frame I.sub.t is interpolated between the image frames I.sub.0 and I.sub.1.
[0037] The forward warping module 214 may be arranged to perform a forward warping operation and an inverse operation upon the scaled motion F.sub.1.fwdarw.t, to generate a coarse forward-warped result CFWR′, wherein the coarse forward-warped result CFWR′ includes an alpha map V′.sub.t.fwdarw.1 and a forward-warped motion F′.sub.t.fwdarw.1, and the alpha map V′.sub.t.fwdarw.1 may indicate holes caused by performing the forward warping operation. The refining module 216 may be arranged to refine the coarse forward-warped result CFWR′ according to at least the resized image frames RI.sub.0 and RI.sub.1, to generate a forward-warped result FWR′, wherein the forward-warped result FWR′ includes a refined alpha map V.sub.t.fwdarw.1 and a refined motion F.sub.t.fwdarw.1. Specifically, the refining module 216 may execute a computer vision algorithm and/or an AI algorithm to refine the alpha map V′.sub.t.fwdarw.1 and the forward-warped motion F′.sub.t.fwdarw.1 according to at least the resized image frames RI.sub.0 and RI.sub.1, respectively, to generate the refined alpha map V.sub.t.fwdarw.1 and the refined motion F.sub.t.fwdarw.1. For example, the above-mentioned holes caused by performing the forward warping operation can be inpainted by the refining module 216.
[0038] In this embodiment, in order to enhance the interpolation quality, the optional backward warping module 212 may be arranged to perform a backward warping operation upon the resized image frame RI.sub.1 according to the forward-warped motion F′.sub.t.fwdarw.1 from the forward warping module 214, to generate a backward-warped result I′.sub.t.fwdarw.1. The refining module 216 may refine the alpha map V′.sub.t.fwdarw.1 and the forward-warped motion F′.sub.t.fwdarw.1 according to the backward-warped result I′.sub.t.fwdarw.1 and the resized image frames Rho and RI.sub.1, respectively, to generate the refined alpha map V.sub.t.fwdarw.1 and the refined motion F.sub.t.fwdarw.1.
[0039] The inverse module 210 may be arranged to perform an inverse operation upon the forward-warped result FWR′, to generate an inversed result IR′, wherein the inversed result IR′ includes an inversed alpha map V.sub.t.fwdarw.0 and an inversed motion F.sub.t.fwdarw.0. Specifically, the inverse module 210 may perform the inverse operation upon the refined alpha map V.sub.t.fwdarw.1 and the refined motion F.sub.t.fwdarw.1, respectively, to generate the inversed alpha map V.sub.t.fwdarw.0 and the inversed motion F.sub.t.fwdarw.0.
[0040] The backward warping module 218 may be arranged to perform a backward warping operation upon the image frame I.sub.0 according to the inversed motion F.sub.t.fwdarw.0, to generate a backward-warped result I.sub.t.fwdarw.0. The backward warping module 220 may be arranged to perform a backward warping operation upon the image frame I.sub.1 according to the refined motion F.sub.t.fwdarw.1, to generate a backward-warped result I.sub.t.fwdarw.1.
[0041] Afterwards, the blending module 222 may be arranged to blend the backward-warped results I.sub.t.fwdarw.0 and I.sub.t.fwdarw.1 according to the refined alpha map V.sub.t.fwdarw.1 and the inversed alpha map V.sub.t.fwdarw.0, to generate the target image frame I.sub.t for performing the frame interpolation between the image frames I.sub.0 and I.sub.1. Specifically, the blending module 222 may be arranged to multiply the backward-warped result I.sub.t.fwdarw.0 and the inversed alpha map V.sub.t.fwdarw.0 to generate a first multiplication result FMR (e.g. FMR=I.sub.t.fwdarw.0*V.sub.t.fwdarw.0) multiply the backward-warped result I.sub.t.fwdarw.1 and the refined alpha map V.sub.t.fwdarw.1 to generate a second multiplication result SMR (e.g. SMR=I.sub.t.fwdarw.1*V.sub.t.fwdarw.1), and add the first multiplication result FMR and the second multiplication result SMR to generate the target image frame I.sub.1 (e.g. I.sub.t=FMR+SMR=I.sub.t.fwdarw.0*V.sub.t.fwdarw.0+I.sub.t.fwdarw.1*V.sub.t.fwdarw.1).
[0042]
[0043] In Step S500, the single-directional motion F.sub.1.fwdarw.0 is obtained by performing motion estimation upon the resized image frames RI.sub.1 and RI.sub.1 (or the image frames I.sub.0 and I.sub.1) through the motion estimation module 202, wherein the single-directional motion F.sub.1.fwdarw.0 indicates the displacement from the pixels of the image frame I.sub.1 to the pixels of the image frame I.sub.0, such as −10 in the horizontal direction.
[0044] In Step S502, the single-directional motion F.sub.1.fwdarw.0 is scaled by the scaling module 204 according to the time point of the target image frame I.sub.0.5 to generate the scaled motion F.sub.1.fwdarw.0.5. For example, under a condition that a relationship between the position of the target image frame I.sub.0.5 and the single-directional motion F.sub.1.fwdarw.0 is linear, since the time points of the image frame I.sub.0, the target image frame I.sub.t, and the image frame I.sub.1 are 0, 0.5, and 1, respectively, the scaling module 204 may scale down the single-directional motion F.sub.1.fwdarw.0 by 2 to generate the scaled motion F.sub.1.fwdarw.0.5. In detail, the scaling module 204 may scale down the horizontal position coordinate x and the vertical position coordinate y corresponding to the single-directional motion F.sub.1.fwdarw.0 (denoted by F(x, y)) by 2, respectively, to generate the scaled motion F.sub.1.fwdarw.0.5. That is, the horizontal position coordinate x and the vertical position coordinate y corresponding to the scaled motion F.sub.1.fwdarw.0.5 is F(0.5*x, 0.5*Y).
[0045] In Step S504, a forward warping operation and an inverse operation are performed upon the scaled motion F.sub.1.fwdarw.0.5 by the forward warping module 214, to generate the coarse forward-warped result CFWR′, wherein the coarse forward-warped result CFWR′ includes the alpha map V′.sub.0.5.fwdarw.1 and the forward-warped motion F′.sub.0.5.fwdarw.1, and the alpha map V′.sub.0.5.fwdarw.1 can indicate holes caused by performing the forward warping operation.
[0046] In Step S506, the alpha map V′.sub.0.5.fwdarw.1 and the forward-warped motion F′.sub.0.5.fwdarw.1 are refined by the refining module 216, respectively, to generate the refined alpha map V.sub.0.5.fwdarw.1 and the refined motion F.sub.0.5.fwdarw.1. In addition, the holes caused by performing the forward warping operation can be inpainted by the refining module 216.
[0047] In Step S508, an inverse operation is performed upon the refined alpha map V.sub.0.5.fwdarw.1 and the refined motion F.sub.0.5.fwdarw.1 by the inverse module 210, respectively, to generate the inversed alpha map V.sub.0.5.fwdarw.0 and the inversed motion F.sub.0.5.fwdarw.0.
[0048] In Step S510, a backward warping operation is performed upon the image frame I.sub.0 by the backward warping module 218 according to the inversed motion F.sub.0.5.fwdarw.0, to generate a backward-warped result I.sub.0.5.fwdarw.0.
[0049] In Step S512, a backward warping operation is performed upon the image frame I.sub.1 by the backward warping module 220 according to the refined motion F.sub.0.5.fwdarw.1, to generate a backward-warped result I.sub.0.5.fwdarw.1.
[0050] In Step S514, the backward-warped results I.sub.0.5.fwdarw.0 and I.sub.0.5.fwdarw.1 are blended by the blending module 222 according to the inversed alpha map V.sub.0.5.fwdarw.0 and the refined alpha map V.sub.0.5.fwdarw.1 to generate the target image frame I.sub.0.5 for performing the frame interpolation between the image frames I.sub.0 and I.sub.1. Specifically, the backward-warped result I.sub.0.5.fwdarw.0 and the inversed alpha map V.sub.0.5.fwdarw.0 are multiplied to generate the first multiplication result FMR (e.g. FMR=I.sub.0.5.fwdarw.0*V.sub.0.5.fwdarw.0). The backward-warped result I.sub.0.5.fwdarw.1 and the refined alpha map V.sub.0.5.fwdarw.1 are multiplied to generate the second multiplication result SMR (e.g. SMR=I.sub.0.5.fwdarw.1*V.sub.0.5.fwdarw.1). The first multiplication result FMR and the second multiplication result SMR are added to generate the target image frame I.sub.0.5 (e.g. I.sub.0.5=FMR+SMR=I.sub.0.5.fwdarw.0*V.sub.0.5.fwdarw.0+I.sub.0.5.fwdarw.1*V.sub.0.5.fwdarw.1).
[0051]
[0052] In Step S600, the motion estimation is performed upon the first input image frame F_IIF (e.g. the image frame I.sub.0 or the resized image frame RI.sub.0) and the second input image frame S_IIF (e.g. the image frame I.sub.1 or the resized image frame RI.sub.1), to obtain the single-directional motion F.sub.0.fwdarw.1.
[0053] In Step S602, the single-directional motion F.sub.0.fwdarw.1 is scaled according to the time point of the target image frame I.sub.t, to generate the scaled motion F.sub.0.fwdarw.t.
[0054] In Step S604, the forward-warped result FWR including the refined alpha map V.sub.t.fwdarw.0 and the refined motion F.sub.t.fwdarw.0 is derived from a result of performing a forward warping operation and an inverse operation upon the scaled motion F.sub.0.fwdarw.t.
[0055] In Step S606, an inverse operation is performed upon the forward-warped result FWR to generate the inversed result IR including the inversed alpha map V.sub.t.fwdarw.1 and the inversed motion F.sub.t.fwdarw.1.
[0056] In Step S608, the target image frame I.sub.t is generated according to the image frame I.sub.0, the image frame I.sub.1, the forward-warped result FWR, and the inversed result IR.
[0057] Since a person skilled in the pertinent art can readily understand details of the steps after reading above paragraphs directed to the frame interpolation module 20 shown in
[0058] In summary, by the frame interpolation method of the present invention, under a condition that only a single-directional motion can be obtained due to some reasons (e.g. tradeoff between cost, computation, and/or power saving), frame interpolation can be performed successfully.
[0059] Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.