A general architecture that implements the various feature of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.
Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings. In general, according to one embodiment of the invention, a frame interpolating circuit comprising:
a detecting unit which detects a first frame image and a second frame image from an input image signal and compares both the images with each other to detect a plurality of motion vectors in a plurality of blocks obtained by dividing the frame into blocks;
a filter unit which selects, in comparison with values of motion vectors in one block of said plurality of blocks, of motion vectors in an upper block of the one block and motion vectors in a right block of the one block, a motion vector having a vector value which is close to the values of the motion vectors and changes the values of the motion vectors in the one block into a value which is different from the value of the selected motion vectors by a predetermined value (step); and
an interpolated frame generating unit which generates and outputs an interpolated image on the basis of said plurality of motion vectors the values of which are changed by the filter unit and the first frame image and the second frame image.
An embodiment of the present invention provides a frame interpolating circuit and a frame interpolating method which can correct an assembly having vectors which are considerably different from motion vectors of a peripheral block.
One embodiment for achieving the object is a frame interpolating circuit comprising:
a detecting unit (21, 22) which detects a first frame image (F1) and a second frame image (F2) from an input image signal (I1) and compares both the images with each other to detect a plurality of motion vectors (V11 to V55) in a plurality of blocks obtained by dividing the frame into blocks;
a filter unit (23) which selects, in comparison with values of motion vectors in one block of said plurality of blocks, of motion vectors in an upper block of the one block and motion vectors in a right block of the one block, a motion vector having a vector value which is close to the values of the motion vectors and changes the values of the motion vectors in the one block into a value which is different from the value of the selected motion vectors by a predetermined value (step); and
an interpolated frame generating unit (13) which generates and outputs an interpolated image (F3) on the basis of said plurality of motion vectors (V11′ to V55′) the values of which are changed by the filter unit and the first frame image and the second frame image.
In this manner, there are provided a frame interpolating circuit and a frame interpolating method which can correct an assembly of motion vectors which are considerably different from motion vectors of a peripheral block.
The embodiment of the present invention will be described below in detail with reference to the accompanying drawings.
(Configuration and Basic Operation)
First, an example of a frame interpolating circuit according to an embodiment of the present invention will be described below with reference to
The motion vector detecting unit 12, as shown in
A basic operation of the frame interpolating circuit will be described below in detail.
By the operations of the control unit 14, the motion vector matching unit 21 and the final vector determining unit 22 in the motion vector detecting unit 12 including filtering using the upper left vector, and on the basis of the past frame image (F1) and the present frame image (F2) from the input image signal (I1), motion vectors V11 to V55 as obtained before correction in
Upon receiving the motion vectors V11 to V55 from the motion vector detecting unit 12 including filtering using the upper left vector, the interpolated frame generating unit 13 generates the interpolated image (F3) on the basis of the past frame image (F1) and the present frame image (F2) from the input image signal (I1) to output the past frame image (F1), the interpolated image (F3), and the present frame image (F2) to the subsequent part in the order named. In this manner, even though a video image includes large motion, for example, a smooth and natural video image free from breakdown can be displayed on a panel display unit.
(Operation Including Filtering Process)
A filtering process to correct an assembly of motion vectors, such as the uncorrected motion vectors V11 to V55 as shown in
Filtering Process Using Upper Vector
First, a principle of a filtering process using an upper vector will be described below with reference to
When a filtering process according to an embodiment of the present invention is performed to the motion vectors by using the motion vector filter 23, in a part in which the upper vector having a value of 0 changes into the present vector having a value of 10, a smoothing process is performed in a specific step α (example: α=1). More specifically, the present vector has “1” obtained by adding step α=1 to the upper vector having a value of 0.
The corrected present vector is circulated, and “2” obtained by adding step α to “1” is the value of the next present vector. The vector value is gradually changed into “3”, “4”, “3”, “2”, and “1”. When the process is performed in this manner, a video image is not broken because the vector is prevented from being sharply changed.
As the value of the step α, “1”, “2”, “3”, or the like can be properly set.
A concrete example of the filtering process using the upper vector will be described below in detail by using the flow chart in
However, when a comparison result between the present vector V1 and the upper vector V2 exceeds step value=α, a smoothing process using the upper vector as a base point is performed to calculate the values of both the vectors (step S12). When |xt−xu|≧|yt−yu| is satisfied, it is asked whether xt−xu ≦0 is satisfied (step S13). If YES in step S13, a correction vector=(xu−α,0) is satisfied (step S15), otherwise, the correction vector=(xu+α,0) is satisfied (step S14).
When |xt−xu|<|yt−yu| is satisfied, it is asked next whether yt−yu≦0 is satisfied (step S16). When YES in step S16, the correction vector=(0,yu−α) is satisfied (step S17), otherwise, the correction vector=(0,yu+α) is satisfied (step S18).
In this manner, the filtering process is performed to one present vector V1 in the frame. The filtering process is preferably performed to the motion vectors in all the blocks in the frame.
Filtering Process Using Left Vector
A filtering process using a left vector will be described below with reference to
As values of present vectors, 0, 10, 10, and 0 obtained before the process are changed into 0, 3, 6, and 3 by the process, respectively. It is understood that the smoothing process is performed along the left vector. In this manner, an assembly having vectors which are considerably different from motion vectors in a peripheral block can be corrected.
A concrete example of the filtering process using the left vector will be described below in detail with reference to the flow chart in
However, when the comparison result between the present vector V1 and the left vector V3 exceeds step value=β, a smoothing process using the left vector as a base point is performed to calculate the values of both the vectors (step S22). When |xt−xl|≧|yt−yl| is satisfied, it is asked whether xt−xl ≦0 is satisfied (step S23). If YES in step S23, a correction vector=(xl−β,0) is satisfied (step S25), otherwise, the correction vector=(xl+β,0) is satisfied (step S24).
When |xt−xu|<|yt−yu| is satisfied in step S22, it is asked next whether yt−yl≦0 is satisfied (step S26). When YES in step S26, the correction vector=(0,yl−β) is satisfied (step S27), otherwise, the correction vector=(0,yl β) is satisfied (step S28).
In this manner, the filtering process is performed to one present vector V1 in the frame. The filtering process is preferably performed to the motion vectors in all the blocks in the frame.
Filtering Process Using Upper Left Vector
A concrete example of the filtering process using the upper left vector will be described below in detail with reference to the flow chart in
However, when a comparison result between the present vector V1 and the upper vector V2 exceeds step value=α, the present vector V1 and the left vector V3 are compared with each other (step S35), and it is determined whether the comparison result falls within a range given by the step value=β(β is a constant such as 1) (step S32). When the comparison result between the present vector V1 and the left vector V3 falls within the range given by the step value=β(β is a constant such as 1), a smoothing process using the upper vector shown in
When the comparison result between the present vector V1 and the left vector V3 exceeds the step value=β(β is a constant such as 1) in step S35, a smoothing process using the left vector shown in
When the comparison result between the present vector V1 and the left vector V3 exceeds the range given by the step value=β(β is a constant such as 1) in step 32, it is asked whether |xt−xu|+|yt−yu|≦|xt−xl|+|yt−yl| is satisfied (step S33). When YES in step S32 and the value of the present vector V1 is close to the value of the upper vector V2, a smoothing process using the upper vector shown in
When the value of the present vector V1 is close to the value of the left vector V3 in step S33, a smoothing process using the left vector shown in
In this manner, the filtering process of one of the vectors in the frame, i.e., the present vector V1 is performed. However, the filtering process is preferably performed to the motion vectors in all the blocks in the frame.
As described above, according to the filtering process which is an embodiment of the present invention, a present vector is filtered with reference to vectors in an upper block and a left block to make it possible to suppress vectors from being sharply changed and to correct vector erroneous detection with a certain degree of assembly. Therefore, breakdown of an interpolated image caused by sharp changes of vectors can be reduced.
Concrete Example 1 of Filtering Process Using Upper Left Vector
Concrete Example 1 of the filtering process using the upper left vector will be described below with reference to
In
Concrete Example 2 of Filtering Process Using Upper Left Vector
Concrete Example 2 of the filtering process using the upper left vector will be described below with reference to
A plurality of uncorrected vectors V11to V51, especially, the vectors V24, V34, V44, V23, V33, V43, V22, V32, and V42 supplied from the final vector determining unit 22 form an assembly of motion vectors which are largely different from motion vectors of a peripheral block.
However, the vectors V24, V34, V44, V23, V33, V43, V22, V32, and V42 are changed into vectors V24′, V34′, V44′, V23′, V33′, V43′, V22′, V32′, and V42′, respectively, by the filtering process using the upper left vector as shown in
The filtering processes using the upper, left, and upper left vectors have been described above. However, a filtering process can be similarly performed by the same principle by using any one of the upper, lower, left, and right vectors.
An example of a panel display apparatus using the frame interpolating circuit described above will be described below in detail with reference to
A panel display apparatus 30 using the frame interpolating circuit 1 has, an example, a tuner unit 31 which outputs a broadcast signal as a video signal, a scaler 32 which performs a scaling process for the video signal, an IP converting unit 33 which performs IP conversion to the video signal, a processing unit 34 including color management, enhancer, and correcting circuits and the like, the frame interpolating circuit 1 described above, and a panel unit 15 such as a liquid crystal display unit or an FPD (Flat Panel Display) which receives an output from the frame interpolating circuit 1.
The panel display apparatus 30 having such a configuration can cause the frame interpolating circuit 1 to correct an assembly having vectors which are considerably different from motion vectors of a peripheral block as described above. A smooth and natural video image can be displayed by using an interpolated frame having an unbroken video image.
According to the embodiments described above, a person skilled in the art can realize the present invention. Furthermore, the person skilled in the art can easily conceive of various modifications of the embodiments and can apply the present invention to various embodiments without inventive ability. Therefore, the present invention covers wide ranges consistent with the disclosed principle and the novel characteristics, and is not limited to the embodiments described above.
While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2006-244729 | Sep 2006 | JP | national |