This application is based upon and claims the benefit of priority under 35 U.S.C. §119 from Japanese Patent Application No. P2011-186245, filed on Aug. 29, 2011, the entire contents of which are incorporated herein by reference.
Embodiments relate to a motion compensated frame generating apparatus and method, which detect a motion of an image and generate a compensated frame to be interpolated between actual frames.
In order to reduce blurring of a moving picture in the event of displaying the moving picture on a liquid crystal display and the like, a frame rate is converted by using a motion compensated frame generating method. In the motion compensated frame generating method, a motion of an image is detected, and a compensated frame is generated. Accordingly, in the case of making a mistake in detecting the motion, a region generated by erroneous compensation will be included in the compensated frame. Hence, image quality is deteriorated.
Accordingly, for a video signal processing device such as a frame rate conversion device using the motion compensated frame generating method, it is required to accurately detect the motion of the image and to enhance motion compensation quality.
In the motion compensated frame generating apparatus and method, in the event of generating the respective interpolation pixels which compose the compensated frame, static interpolation processing and dynamic interpolation processing are used properly in response to a motion vector representing the motion of the image, and interpolation pixels by the static interpolation processing and interpolation pixels by the dynamic interpolation processing are mixed with each other.
If the motion vector is erroneously detected, then not only motion compensation is performed by a wrong vector, but also such proper use of the static interpolation processing and the dynamic interpolation processing and a way of mixing the interpolation pixels by the static interpolation processing and the interpolation pixels by the dynamic interpolation processing with each other become inappropriate. These cause erroneous motion compensation.
It is desired that the motion vector not be erroneously detected but be accurately detected; however, it is difficult to accurately detect the motion vector completely free from such erroneous detection. As described in Japanese Patent No. 3883589, as a method of enhancing the motion compensation quality, there is a method of evaluating reliability of the motion vector by a block matching error value, and changing a mixing ratio of the interpolation pixels by the static interpolation processing and the interpolation pixels by the dynamic interpolation processing with each other in response to the reliability.
However, even if the mixing ratio is simply changed in response to the reliability of the motion vector, which is based on the block matching error value, the blurring of the moving picture sometimes occurs, resulting in that the motion compensation quality cannot be enhanced, and an improvement thereon is required.
It is an object of the embodiments to provide motion compensated frame generating apparatus and method, which are capable of further improving the blurring of the moving picture, and capable of enhancing the motion compensation quality to a large extent.
In order to solve such a problem as mentioned above, which is inherent in the conventional technology, a first aspect of the embodiments provides a motion compensated frame generating apparatus including: a motion vector detector configured to define, as a focused unit of detection, a predetermined unit of detection in an actual frame in a video signal, to detect a motion vector directed toward a unit of detection, the unit having a highest correlation with the focused unit of detection, by using block matching from among a plurality of motion vector candidates directed toward plural units of detection, the units being included in a predetermined search range in another actual frame, and to output a block matching error value individually for the focused unit of detection, the block matching error value corresponding to the motion vector; an entire scroll determiner configured to, based on the motion vector, generate an entire scroll degree indicating a degree at which an image scrolls entirely; a reliability generator configured to, based on the block matching error value, generate reliability data indicating reliability of the motion vector; a reliability adjuster configured to adjust the reliability data so that a value of the reliability data is larger as the entire scroll degree is a value in which the degree at which the image scrolls entirely is larger, and to output the reliability data as adjusted reliability data; and an interpolation pixel generator configured to, based on the adjusted reliability data, increase a ratio of dynamic interpolation processing that uses the motion vector between static interpolation processing that does not use the motion vector and the dynamic interpolation processing as the reliability of the motion vector is larger, and to generate respective interpolation pixels composing a motion compensated frame, wherein the entire scroll determiner includes: a boundary determining signal generator configured to compare the motion vectors between different units of detection in one actual frame among the motion vectors detected by the motion vector detector, thereby to determine whether or not a boundary between the motion vectors in the different units of detection exists, and to generate a motion vector boundary determining signal; a boundary determining signal accumulator configured to accumulate a plurality of the motion vector boundary determining signals generated by the boundary determining signal generator, and to generate an accumulated value indicating a degree at which the boundary between the motion vectors exists in one actual frame; and a determiner configured to compare the accumulated value and a predetermined threshold value with each other, and thereby to generate the entire scroll degree.
A second aspect of the embodiments provides a motion compensated frame generating method including the steps of: defining, as a focused unit of detection, a predetermined unit of detection in an actual frame in a video signal, and calculating, by block matching, a degree of correlation of each of a plurality of motion vector candidates directed from the focused unit of detection toward plural units of detection, the units being included in a predetermined search range in another actual frame, with the focused unit of detection; detecting a motion vector directed toward a unit of detection, the unit having a highest correlation with the focused unit of detection, among the plurality of motion vector candidates; outputting a degree of correlation individually for the focused unit of detection as a block matching error value, the block matching error value corresponding to the motion vector; based on the motion vector, generating an entire scroll degree indicating a degree at which an image scrolls entirely; based on the block matching error value, generating reliability data indicating reliability of the motion vector; adjusting the reliability data so that a value of the reliability data is larger as the entire scroll degree is a value in which the degree at which the image scrolls entirely is larger, and outputting the reliability data as adjusted reliability data; and based on the adjusted reliability data, increasing a ratio of dynamic interpolation processing that uses the motion vector between static interpolation processing that does not use the motion vector and the dynamic interpolation processing as the reliability of the motion vector is larger, and generating respective interpolation pixels composing a motion compensated frame, wherein the step of generating the entire scroll degree includes the steps of: comparing the motion vectors between different units of detection in one actual frame among the motion vectors detected by the step of detecting a motion vector, thereby determining whether or not a boundary between the motion vectors in the different units of detection exists, and generating a motion vector boundary determining signal; accumulating a plurality of the motion vector boundary determining signals, and generating an accumulated value indicating a degree at which the boundary between the motion vectors exists in one actual frame; and comparing the accumulated value and a predetermined threshold value with each other, and thereby generating the entire scroll degree.
A description is made below of the respective embodiments of motion compensated frame generating apparatus and method with reference to the accompanying drawings.
In
The frame memory 11 delays the video signal of the current frame F0 by one frame period and outputs the video signal concerned. It is defined that an actual frame, which is outputted from the frame memory 11, and is past by one frame with respect to the current frame F0, is a past frame F1. A video signal of the past frame F1 is inputted to the motion vector detector 12a and the interpolation pixel generator 16.
The motion vector detector 12a detects a motion vector for each unit of detection on the past frame F1 by using the video signals of the current frame F0 and the past frame F1.
Here, by using
From among plural candidates MVc for the motion vector that is directed from the focused pixel Pi toward a pixel to be described later, which is selected in the search range, the motion vector detector 12a detects a motion vector MVs that is directed toward a pixel Pj in the current frame F0, the pixel Pj having a highest correlation with the focused pixel Pi.
In the first embodiment, as an example of an index to determine the correlation, a sum of absolute differences (SAD) in luminance between two frames is used. The motion vector detector 12a calculates a value of the SAD by Expression (1), for example, by using the respective pixels in a block Bi with seven pixels in a horizontal direction and seven pixels in a vertical direction on a periphery of the focused pixel Pi and using the respective pixels in a block Bj with seven pixels in the horizontal direction and seven pixels in the vertical direction on a periphery of the pixel Pj as shown in
In Expression (1), (mvx_c, mvy_c) is each of motion vector candidates corresponding to such motion vector candidates MVc of
A pixel, in which the SAD value calculated by Expression (1) becomes minimum, has the highest correlation. The motion vector detector 12a extracts the motion vector MVs, which is directed toward the pixel Pj having the minimum SAD value, from among the plurality of motion vector candidates MVc, and outputs the extracted motion vector MVs as a motion vector MV.
In the first embodiment, in order to reduce a circuit scale of the motion vector detector 12a and an amount of calculation to be performed in the motion vector detector 12a, motion vector candidates MVc, which are directed from the focused pixel Pi toward all of the pixels in the search range, are not obtained, but as shown in
In an example shown in
The motion vector detector 12a detects the motion vector MVs, which is directed from the focused pixel Pi toward the pixel Pj having the highest correlation, from among the plurality of motion vector candidates MVc, which are directed from the focused pixel Pi concerned toward pixels Pj22, Pj42, Pj62 . . . , Pj24, Pj44, Pj64 . . . shown by solid lines and located at an interval of every other pixel individually in the horizontal direction and the vertical direction.
That is to say, the motion vector detector 12a thins the odd-number lines in the search range Ars and the odd-number pixels in the search range Ars, and accordingly, thins odd-number motion vector candidates in the horizontal direction and the vertical direction, and detects the motion vector MVs from even-number motion vector candidates. In place of the odd-number motion vector candidates, the even-number motion vector candidates may be thinned.
Returning to
The unit of detection of the motion vector MV, the search range of the motion vector MV and the index of the correlation in the motion vector detector 12a are not limited to the above-described example. In the case of using the SAD value as the index of the correlation, a size and shape of the blocks Bi and Bj are not limited to the above-described example. In the case where the unit of the detection of the motion vector MV is not such a pixel unit but a block unit, a focused unit is not the focused pixel Pi but a focused block.
The motion vector detector 12a may detect the motion vector MV not by using the pixels in two frames which are adjacent to each other as shown in
The motion vector MV detected by the motion vector detector 12a is inputted to the entire scroll determiner 13a and the dynamic interpolator 162 in the interpolation pixel generator 16. The entire scroll determiner 13a determines whether or not so-called entire scroll in which an image is entirely scrolled substantially in one direction in the frame is performed, and generates an entire scroll degree DS indicating a degree of the entire scroll.
By using
The entire scroll determiner 13a resets the counters at the time when the frame is started, and gives an increment to the counters every time when each of the motion vectors MV is inputted until the one frame is ended, and calculates a histogram value Hist (mvx_c, mvy_c) corresponding to each of the motion vectors MV.
In Step S2, the entire scroll determiner 13a normalizes the histogram value Hist (mvx_c, mvy_c) based on Expression (2) so that the value concerned can remain within a range of 0 to 255, and outputs the histogram value Hist (mvx_c, mvy_c) concerned as a normalized histogram value Hist_nrm (mvx_c, mvy_c).
Total_num in Expression (2) is a total input number of the motion vectors MV to be inputted to the entire scroll determiner 13a during a period of one frame. The range of the normalized value is not limited to 0 to 255. It is preferable to provide such normalization processing of Step S2; however, it is possible to omit the normalization processing.
Hist
—
nrm(mvx—c,mvy—c)=Hist(mvx—c,mvy—c)×255/Total_num (2)
Note that, if the motion vectors MV are detected for all the pixels in one frame, then Total_num becomes the number of pixels of one frame. At upper and lower or left and right end portions of a screen, the detection accuracy of the motion vectors MV is not so good. Accordingly, within a predetermined range of a center portion of the screen, which excludes the upper, lower, left and right end portions in one frame, the histogram value Hist (mvx_c, mvy_c) of the motion vector MV may be calculated. In this case, Total_num becomes a total input number of the motion vector MV detected at the center portion in one frame period.
In Step S3, the entire scroll determiner 13a detects a maximum value in the normalized histogram value Hist_nrm(mvx_c, mvy_c). Specifically, the entire scroll determiner 13a detects a histogram value Hist_nrm(mvx_c_hmax, mvy_c_hmax) that indicates a maximum value (maximum frequency) among the normalized histogram values Hist_nrm(mvx_c, mvy_c).
A motion vector from which a maximum histogram value is detected among the motion vectors MV is defined as a maximum value motion vector (mvx_c_hmax, mvy_c_hmax). The maximum value motion vector (mvx_c_hmax, mvy_c_hmax) is an entire scroll motion vector indicating a direction of the entire scroll of the image.
Next, in Step S4, based on Expression (3), the entire scroll determiner 13a calculates a peripheral integrated value Sum_Hist obtained by integrating the maximum histogram value Hist_nrm(mvx_c_hmax, mvy_c_hmax) in the normalized histogram values Hist_nrm(mvx_c, mvy_c) and histogram values corresponding to the motion vectors on the periphery of the maximum value motion vector (mvx_c_hmax, mvy_c_hmax) with each other.
By using
As mentioned above, the odd-number motion vector candidates are thinned in the motion vector detector 12a, and for example, the motion vector directed from the focused pixel Pi toward the pixel Pj54 of
Hence, in the case where the image is a scroll image with the odd-number motion vectors, a value of the maximum value motion vector to be originally detected will be dispersed to the even-number motion vectors in the vicinity of the odd-number motion vector. Accordingly, the peripheral integrated value Sum_Hist is calculated by Expression (3) in order to integrate the normalized histograms Hist_nrm(mvx_c, mvy_c) thus dispersed with one another. In Expression (3), within a range of the pixel Pj64 and the pixels Pj42, Pj62, Pj82, Pj44, Pj84, Pj46, Pj66 and Pj86 on the periphery of the pixel Pj64, the range being surrounded by a dot-and-dash line in
The reason of shifting an x-component and y-component of the motion vector candidate MVc by two individually in Expression (3) is that the odd-number motion vector candidates are thinned. Such an integration range where the peripheral integrated value Sum_Hist is calculated is not limited to the example shown in
Returning to
The larger value of the entire scroll degree Ds stands for that the degree of the entire scroll of entirely scrolling the image in the frame substantially in one direction is larger.
In the example of
The reliability generator 14 generates reliability data DR1 as an index, which indicates reliability of the motion vector MV detected by the motion vector detector 12a, based on the block matching error value BME inputted thereto. As shown in
The reliability adjuster 15 performs gain adjustment for the reliability data DR1, which is inputted thereto, in response to the value of the entire scroll degree DS, and then outputs the reliability data DR1 as adjusted reliability data DR2. As shown in
As understood from characteristics shown in
Next, a description is made of an operation of the interpolation pixel generator 16. The static interpolator 161 always generates an interpolation pixel in a compensated frame F10 between the current frame F0 and the past frame F1 by static interpolation processing by using the pixel in the current frame F0 and the pixel in the past frame F1, which are inputted thereto.
Specifically, as shown in
The dynamic interpolator 162 generates an interpolation pixel in the compensated frame F10 between the current frame F0 and the past frame F1 by dynamic interpolation processing, which is based on the motion vector MV, by using the pixel in the current frame F0, the pixel in the past frame F1 and the motion vector MV, which are inputted thereto.
Specifically, as shown in
Though not particularly shown, the dynamic interpolator 162 includes a delay circuit that individually delays the pixel in the current frame F0 and the pixel in the past frame F1, which are inputted thereto, in the horizontal direction and the vertical direction, so as to be capable of selecting the pixel Pi and the pixel Pj within a predetermined range of a plurality of the pixels in the horizontal direction and the vertical direction, in which the interpolation pixel Pm is taken as a center.
In the first embodiment, the interpolation processing of the static interpolator 161 and the dynamic interpolator 162 is performed by using the pixels in the two frames which are adjacent to each other as shown in
To the adaptive mixer 163, there are inputted: the interpolation pixel Ps outputted from the static interpolator 161; and the interpolation pixel Pm outputted from the dynamic interpolator 162. In response to the value of the adjusted reliability data DR2, the adaptive mixer 163 adaptively mixes the interpolation pixel Ps and the interpolation pixel Pm with each other. Based on Expression (4), the adaptive mixer 163 mixes the interpolation pixel Ps and the interpolation pixel Pm with each other, and generates an interpolation pixel Px.
Px=Ps×(256−DR2)/256+Pm×DR2/256 (4)
As understood from Expression (4), in the interpolation pixel Px, a ratio of the interpolation pixel Pm generated by the dynamic interpolation processing is increased as the value of the adjusted reliability data DR2 is larger. As mentioned above, the reliability adjuster 15 increases the value of the reliability data DR1 as the value of the entire scroll degree DS to be generated by the entire scroll determiner 13a is larger, and defines the reliability data DR1, in which the value is increased, as the adjusted reliability data DR2.
That is to say, as the value of the entire scroll degree DS is larger, the interpolation pixel generator 16 reduces a ratio of the interpolation pixel Ps generated by the static interpolation processing, and increases the ratio of the interpolation pixel Pm. The interpolation pixel generator 16 increases the ratio of dynamic interpolation processing, as the reliability of the motion vector MV is larger.
As the video signal to be inputted, the respective pixels which compose the actual frame are sequentially inputted to the interpolation pixel generator 16, and such interpolation pixels Px which compose the compensated frame F10 are sequentially generated by the interpolation pixel generator 16. In such a way, from the motion compensated frame generating apparatus 101, each compensated frame F10 to be interpolated between the past frame F1 and the current frame F0 is generated.
In the first embodiment, as described with reference to
For example, the number of pixels of one frame is thinned to a half (½) in both of the horizontal and vertical directions, and a size of the one frame is quartered (¼). The motion vector is detected between frames with such a ¼ size. This motion vector is doubled individually in the horizontal and vertical directions, and is turned to the motion vector MV to be actually used in the motion compensated frame generating apparatus 101. In this case, the odd-number motion vector candidates are thinned.
In accordance with the motion compensated frame generating apparatus 101 of the first embodiment, the reliability of the motion vector MV is adjusted by using the entire scroll degree DS, and accordingly, the blurring of the moving picture can be further improved in comparison with the conventional, and the motion compensation quality can be enhanced to a large extent.
In the motion compensated frame generating apparatus 101 of the first embodiment, the motion vector candidates MVc are thinned in the motion vector detector 12a, and accordingly, it is made possible to reduce the circuit scale and calculation amount of the motion vector detector 12a. In addition, in the event of generating the entire scroll degree DS in the entire scroll determiner 13a, the peripheral integrated value Sum_Hist obtained by integrating the values of the peripheral histograms of the maximum value motion vector (entire scroll motion vector) with one another is used. Accordingly, the entire scroll degree DS can be accurately generated while avoiding an adverse effect owing to the thinning of the motion vector candidates.
In a motion compensated frame generating apparatus 102 of a second embodiment, which is shown in
A motion vector detector 12 in the motion compensated frame generating apparatus 102 of the second embodiment may be the same as the motion vector detector 12a, or may be configured to detect the motion vector MV without thinning the motion vector candidates MVc. The motion compensated frame generating apparatus 102 of the second embodiment includes an entire scroll determiner 13b, which has a different configuration of generating the entire scroll degree DS, in place of the entire scroll determiner 13a.
A description is made of a specific configuration of the entire scroll determiner 13b by using
By using
First, by using Expression (5), the horizontal motion vector boundary determiner 131 determines whether or not there is a boundary between the motion vectors in the horizontal direction in the focused pixel Pi and the pixel Pa on the left side thereof. In Expression (5), MV_REF_H and MV_LEFT_H are horizontal components of MV_REF and MV_LEFT, and TH_H is a threshold value.
|MV—REF—H−MV_LEFT—H|>TH—H (5)
In the case where Expression (5) is satisfied, the horizontal motion vector boundary determiner 131 sets, at “1”, a boundary determining value MV_H_LEFT between the focused pixel Pi and such a left pixel Pa, and in the case where Expression (5) is not satisfied, the horizontal motion vector boundary determiner 131 sets the boundary determining value MV_H_LEFT, at “0”. The matter that the boundary determining value MV_H_LEFT is “1” indicates that the boundary exists in the horizontal components of the motion vectors MV between the focused pixel Pi and the left pixel Pa. That is to say, it is indicated that the horizontal component of the motion vector MV in the focused pixel Pi is changed with respect to the horizontal component of the motion vector MV in the left pixel Pa. Note that a value of the threshold value TH_H is appropriately set in response to the size and the like of the search range of the motion vector MV.
Next, by using Expression (6), the horizontal motion vector boundary determiner 131 determines whether or not there is a boundary between the motion vectors in the horizontal direction in the focused pixel Pi and the upper pixel Pb located immediately above the focused pixel Pi. In Expression (6), MV_ABOVE_H is a horizontal component of MV_ABOVE.
|MV—REF—H−MV_ABOVE—H|>TH—H (6)
In the case where Expression (6) is satisfied, the horizontal motion vector boundary determiner 131 sets, at “1”, a boundary determining value MV_H_ABOVE between the focused pixel Pi and the upper pixel Pb, and in the case where Expression (6) is not satisfied, the horizontal motion vector boundary determiner 131 sets the boundary determining value MV_H_ABOVE at “0”. The matter that the boundary determining value MV_H_ABOVE is “1” indicates that the boundary exists in the horizontal components of the motion vectors MV between the focused pixel Pi and the upper pixel Pb. That is to say, it is indicated that the horizontal component of the motion vector MV in the focused pixel Pi is changed with respect to the horizontal component of the motion vector MV in the upper pixel Pb.
Here, it is described that the horizontal motion vector boundary determiner 131 determines whether or not there is a boundary between the motion vectors in the horizontal direction in the focused pixel Pi and the left pixel Pa by using Expression (5), and next, determines whether or not there is a boundary between the motion vectors in the horizontal direction in the focused pixel Pi and the upper pixel Pb: however, an order of these determinations may be reverse, or these determinations may be performed simultaneously. In the second embodiment, the same threshold value TH_H is used in Expression (5) and Expression (6); however, different threshold values may be used in Expression (5) and Expression (6).
The horizontal motion vector boundary determiner 131 performs an OR operation for the boundary determining value MV_H_LEFT and the boundary determining value MV_H_ABOVE, and outputs a resultant thereof as a horizontal motion vector boundary determining signal MV_H_EDGE.
By using
By using Expression (7), the vertical motion vector boundary determiner 132 determines whether or not there is a boundary between the motion vectors in the vertical direction in the focused pixel Pi and the left pixel Pa. Moreover, by using Expression (8), the vertical motion vector boundary determiner 132 determines whether or not there is a boundary between the motion vectors in the vertical direction in the focused pixel Pi and the upper pixel Pb. TH_V is a predetermined threshold value.
In the second embodiment, the same threshold value TH_V is used in Expression (7) and Expression (8); however, different threshold values may be used in Expression (7) and Expression (8).
|MV—REF—V−MV_LEFT—V|>TH—V (7)
|MV—REF—V−MV_ABOVE—V|>TH—V (8)
In the case where Expression (7) is satisfied, the horizontal motion vector boundary determiner 132 sets, at “1”, a boundary determining value MV_V_LEFT between the focused pixel Pi and the left pixel Pa, and in the case where Expression (7) is not satisfied, the horizontal motion vector boundary determiner 131 sets the boundary determining value MV_V_LEFT at “0”. The matter that the boundary determining value MV_V_LEFT is “1” indicates that the boundary exists in the vertical components of the motion vectors MV between the focused pixel Pi and the left pixel Pa. That is to say, it is indicated that the vertical component of the motion vector MV in the focused pixel Pi is changed with respect to the vertical component of the motion vector MV in the left pixel Pa. Note that a value of the threshold value TH_V is appropriately set in response to the size and the like of the search range of the motion vector MV.
In the case where Expression (8) is satisfied, the vertical motion vector boundary determiner 132 sets, at “1”, a boundary determining value MV_V_ABOVE between the focused pixel Pi and the upper pixel Pb, and in the case where Expression (8) is not satisfied, the vertical motion vector boundary determiner 132 sets the boundary determining value MV_V_ABOVE at “0”. The matter that the boundary determining value MV_V_ABOVE is “1” indicates that the boundary exits in the vertical components of the motion vectors MV between the focused pixel Pi and the upper pixel Pb. That is to say, it is indicated that the vertical component of the motion vector MV in the focused pixel Pi is changed with respect to the vertical component of the motion vector MV in the upper pixel Pb.
The vertical motion vector boundary determiner 132 performs an OR operation for the boundary determining value MV_V_LEFT and the boundary determining value MV_V_ABOVE, and outputs a resultant thereof as a vertical motion vector boundary determining signal MV_V_EDGE.
In the example shown in
As shown in
Moreover, the pixels for use in the comparison between the motion vectors MV can also be simplified by using only the left pixel Pa as shown in
Moreover, it is not always necessary to compare the motion vector MV in the focused pixel Pi with the motion vectors MV in the pixels adjacent to the focused pixel Pi. As shown in
That is to say, the comparison just needs to be performed for at least one of a pair of the motion vectors MV in the focused pixel Pi and the pixel located leftward of the focused pixel Pi, a pair of the motion vectors MV in the focused pixel Pi and the pixel located rightward of the focused pixel Pi, a pair of the motion vectors MV in the focused pixel Pi and the pixel located above the focused pixel Pi, and a pair of the motion vectors MV in the focused pixel Pi and the pixel located below the focused pixel Pi. Moreover, the motion vectors MV in pixels (units of detection, which are different from each other) different from the focused pixel Pi just need to be compared with each other.
In
As described above, a boundary determining signal generator 3123 surrounded by a broken line generates the motion vector boundary determining signal MV_EDGE. The motion vector boundary determining signal MV_EDGE is inputted to a boundary determining signal accumulator 134.
The boundary determining signal accumulator 134 accumulates such motion vector boundary determining signals MV_EDGE. In the second embodiment, the motion vector MV is detected in a unit of one pixel, and accordingly, the motion vector boundary determining signals MV_EDGE are sequentially outputted in the unit of one pixel as shown in
In Step S21 of
Next, in Step S22, the boundary determining signal accumulator 134 normalizes the total number EDGE_SUM by using Expression (9), and outputs a normalized accumulated value EDGE_SUM_NRM. In Expression (9), TOTAL_NUM stands for a maximum value which the total number EDGE_SUM can take. In the second embodiment, the motion vector boundary determining signals MV_EDGE are represented by binary values, and accordingly, TOTAL_NUM is a total number of the units of detection of the motion vector boundary determining signal MV_EDGE in one frame. That is to say, the motion vector boundary determining signals MV_EDGE are outputted in the unit of one pixel, and accordingly, the value of TOTAL_NUM becomes a total number of the pixels in one frame.
EDGE_SUM—NRM=EDGE_SUM×255/TOTAL_NUM (9)
The motion vector boundary determining signals MV_EDGE which can be obtained for all the pixels in one frame may be accumulated; however, the motion vector boundary determining signals MV_EDGE which can be obtained for partial pixels in one frame may be accumulated. As mentioned above, at the upper and lower or left and right end portions of the screen, the detection accuracy of the motion vectors MV is not so good. Accordingly, within the predetermined range of the center portion of the screen, which excludes the upper, lower, left and right end portions in one frame, the motion vector boundary determining signals MV_EDGE may be accumulated, and the total number EDGE_SUM may be obtained.
If the total number EDGE_SUM is normalized to be turned to the normalized accumulated value EDGE_SUM_NRM by using Expression (9), then the normalized accumulated value EDGE_SUM_NRM becomes a value of 0 to 255 irrespective of an accumulation range of the motion vector boundary determining signals MV_EDGE.
Such normalization by Step S22 of
The normalized accumulated value EDGE_SUM_NRM is inputted to the determiner 135. The determiner 135 compares the normalized accumulated value EDGE_SUM_NRM and predetermined threshold values TH11, TH12 and TH13 with each other, thereby determines whether or not the image in the frame scrolls entirely and determines the degree of the entire scroll, and outputs the entire scroll degree DS.
By using
In the second embodiment, first, the motion vector detector 12 detects the motion vectors MV of the image for each predetermined unit of the detection in each of the frames. The boundary determining signal generator 3123 compares the motion vectors MV, which are detected in the different units of the detection in one frame, with each other, thereby determines whether or not the boundary exists in the motion vectors between the different units of the detection, and generates the motion vector boundary determining signal MV_EDGE.
The boundary determining signal accumulator 134 accumulates the motion vector boundary determining signals MV_EDGE, and generates the accumulated value (EDGE_SUM or EDGE_SUM_NRM) indicating the degree at which the boundary between the motion vectors exists in one frame.
Then, the determiner 135 compares the accumulated value and the predetermined threshold values (TH11, TH12, TH13) with each other, thereby generates the entire scroll degree DS indicating the degree at which the image scrolls entirely. The entire scroll determiner 13b just needs to perform relatively simple processing which is the comparison between the motion vectors, the accumulation thereof, and the comparison thereof with the threshold values, and accordingly, can be realized by a small circuit scale. In addition, it is possible to accurately determine the degree of the entire scroll.
In the above-described example, the horizontal motion vector boundary determiner 131 and the vertical motion vector boundary determiner 132 are configured to determine the boundary determining values by the binary values which are “1” and “0”; however, may be configured to determine the same boundary determining values by ternary values.
By using
The horizontal motion vector boundary determiner 131 compares the obtained boundary determining value MV_H_LEFT and the obtained boundary determining value MV_H_ABOVE with each other, selects a larger-value one, that is, a value in which the boundary degree is larger, and outputs the selected value as the horizontal motion vector boundary determining signal MV_H_EDGE. In the case where the boundary determining value is determined by ternary or more values, the OR operation is not used. The vertical motion vector boundary determiner 132 also outputs the boundary determining signal MV_V_EDGE by a similar method.
In the boundary determining signal mixer 133, such a procedure is not adopted, in which the OR operation is performed for the horizontal motion vector boundary determining signal MV_H_EDGE and the vertical motion vector boundary determining signal MV_V_EDGE, whereby the motion boundary determining signal MV_EDGE is generated, but a larger-value one between the horizontal motion vector boundary determining signal MV_H_EDGE and the vertical motion vector boundary determining signal MV_V_EDGE, that is, one in which the boundary degree is larger is selected, whereby the motion boundary determining signal MV_EDGE is outputted.
In the event of accumulating the motion vector boundary determining signals MV_EDGE in one frame and obtaining the total number EDGE_SUM, the boundary determining signal accumulator 134 gives some increments to the counter in response to the motion vector boundary determining signals MV_EDGE. For example, if the motion vector boundary determining signals MV_EDGE are 2, then the boundary determining signal accumulator 134 gives two increments to the counter, and if the motion vector boundary determining signals MV_EDGE are 3, then the boundary determining signal accumulator 134 gives three increments to the counter.
In
In accordance with the motion compensated frame generating apparatus 102 of the second embodiment, the reliability of the motion vector MV is adjusted by using the entire scroll degree DS, and accordingly, the blurring of the moving picture can be further improved in comparison with the conventional, and the motion compensation quality can be enhanced to a large extent.
In the motion compensated frame generating apparatus 102 of the second embodiment, the entire scroll determiner 13b having the configuration shown in
In a motion compensated frame generating apparatus 103 of a third embodiment, which is shown in
In the case where the motion vector detector 12 is configured to detect the motion vectors MV without thinning the motion vector candidates MVc, then it is not necessary for the entire scroll determiner 13a to execute the processing of Step S4 in
In the first and second embodiment, as understood from the characteristic diagram of
In
In the case where all of Expression (10) to Expression (13) are satisfied, the vector coincidence determiner 17 sets the coincidence determining signal CMP at “1”, and in the case where at least one of Expression (10) to Expression (13) is not satisfied, the vector coincidence determiner 17 sets the coincidence determining signal CMP at “0”.
(SMVX−X—TH)≦MVX (10)
MVX≦(SMVX+X—TH) (11)
(SMVY−Y—TH)≦MVY (12)
MVY≦(SMVY+Y—TH) (13)
To a reliability selector 18, there are inputted: the reliability data DR1 outputted from the reliability generator 14; the adjusted reliability data DR2 outputted from the reliability adjuster 15; and the coincidence determining signal CMP outputted by the vector coincidence determiner 17. If the coincidence determining signal CMP is “1”, then the motion vector MV and the entire scroll motion vector SMV coincide with each other, and accordingly, the reliability selector 18 selects and outputs the adjusted reliability data DR2 as selected reliability data DR_SEL.
Meanwhile, if the coincidence determining signal CMP is “0”, then the motion vector MV and the entire scroll motion vector SMV do not coincide with each other, and accordingly, the reliability selector 18 selects and outputs the reliability data DR1 that has a value smaller than the adjusted reliability data DR2.
The adaptive mixer 163 adaptively mixes the interpolation pixel Ps and the interpolation pixel Pm with each other in response to the value of the selected reliability data DR_SEL outputted from the reliability selector 18. In such a way, in the pixel or the region, where the locally wrong motion vector MV is detected for the image to be scrolled entirely, the interpolation pixel Ps and the interpolation pixel Pm are adaptively mixed with each other in response not to the adjusted reliability data DR2 but to the reliability data DR1, and accordingly, the reduction of the image quality improvement effect can be prevented.
In a motion compensated frame generating apparatus 104 of a fourth embodiment, which is shown in
In
By using
In
A region R3 is a portion, which excludes the region R4, in a range of ±X_TH2 from the horizontal component SMVX of the entire scroll motion vector SMV, and of ±Y_TH2 from the vertical component SMVY thereof. A region R2 is a portion, which excludes the regions R3 and R4, in a range of ±X_TH3 from the horizontal component SMVX of the entire scroll motion vector SMV, and of ±Y_TH3 from the vertical component SMVY thereof.
A region R1 is a portion, which excludes the regions R2 to R4, in a range of ±X_TH4 from the horizontal component SMVX of the entire scroll motion vector SMV, and of ±Y_TH4 from the vertical component SMVY thereof. A region R0 is a portion on an outside of a region R1, which goes beyond ±X_TH4 from the horizontal component SMVX of the entire scroll motion vector SMV, and goes beyond ±Y_TH4 from the vertical component SMVY thereof.
The above-described regions are represented by the following expressions. It is the region R4 that satisfies all of Expression (14) to Expression (17). In the case where all of Expression (14) to Expression (17) are satisfied, the vector coincidence determiner 19 determines that the coincidence between the motion vector MV and the entire scroll motion vector SMV is highest, and sets the coincidence determining signal DCMP at “4”.
(SMVX−X—TH1)≦MVX (14)
MVX≦(SMVX+X—TH1) (15)
(SMVY−Y—TH1)≦MVY (16)
MVY≦(SMVY+Y—TH1) (17)
It is the region R3 that does not satisfy any of Expression (14) to Expression (17), and satisfies all of Expression (18) to Expression (21). In the case where any of Expression (14) to Expression (17) is not satisfied, and all of Expression (18) to Expression (21) are satisfied, the vector coincidence determiner 19 determines that the coincidence between the motion vector MV and the entire scroll motion vector SVM is high next to the region R4, and sets the coincidence determining signal DCMP at “3”.
(SMVX−X—TH2)≦MVX (18)
MVX≦(SMVX+X—TH2) (19)
(SMVY−Y—TH2)≦MVY (20)
MVY≦(SMVY+Y—TH2) (21)
It is the region R2 that does not satisfy any of Expression (18) to Expression (21), and satisfies all of Expression (22) to Expression (25). In the case where any of Expression (18) to Expression (21) is not satisfied, and all of Expression (22) to Expression (25) are satisfied, the vector coincidence determiner 19 determines that the coincidence between the motion vector MV and the entire scroll motion vector SVM is high next to the region R3, and sets the coincidence determining signal DCMP at “2”.
(SMVX−X—TH3)≦MVX (22)
MVX≦(SMVX+X—TH3) (23)
(SMVY−Y—TH3)≦MVY (24)
MVY≦(SMVY+Y—TH3) (25)
It is the region R1 that does not satisfy any of Expression (22) to Expression (25), and satisfies all of Expression (26) to Expression (29). In the case where any of Expression (22) to Expression (25) is not satisfied, and all of Expression (26) to Expression (29) are satisfied, the vector coincidence determiner 19 determines that the coincidence between the motion vector MV and the entire scroll motion vector SVM is high next to the region R2, and sets the coincidence determining signal DCMP at “1”.
(SMVX−X—TH4)≦MVX (26)
MVX≦(SMVX+X—TH4) (27)
(SMVY−Y—TH4)≦MVY (28)
MVY≦(SMVY+Y—TH4) (29)
It is the region R0 that does not satisfy any of Expression (26) to Expression (29). In the case where any of Expression (26) to Expression (29) is not satisfied, the vector coincidence determiner 19 determines that the coincidence between the motion vector MV and the entire scroll motion vector SVM is low, and sets the coincidence determining signal DCMP at “0”.
In the example shown in
To a reliability mixer 20, there are inputted: the reliability data DR1 outputted from the reliability generator 14; the adjusted reliability data DR2 outputted from the reliability adjuster 15; and the coincidence determining signal DCMP outputted from the vector coincidence determiner 19. Based on Expression (30), the reliability mixer 20 mixes the reliability data DR1 and the adjusted reliability data DR2 with each other, and outputs a resultant mixture as mixed reliability data DR_MIX.
DR_MIX=DR2×DCMP/4+DR1×(1−DCMP/4) (30)
As understood from Expression (30), if the coincidence determining signal DCMP is “4”, then the mixed reliability data DR_MIX becomes the adjusted reliability data DR2. If the coincidence determining signal DCMP is “3”, then the mixed reliability data DR_MIX becomes a value obtained by mixing the reliability data DR1 and the adjusted reliability data DR2 with each other in a state where a ratio of the adjusted reliability data DR2 is increased.
If the coincidence determining signal DCMP is “2”, then the mixed reliability data DR_MIX becomes a value obtained by evenly mixing the reliability data DR1 and the adjusted reliability data DR2 with each other. If the coincidence determining signal DCMP is “1”, then the mixed reliability data DR_MIX becomes a value obtained by mixing the reliability data DR1 and the adjusted reliability data DR2 with each other in a state where a ratio of the reliability data DR21 is increased. If the coincidence determining signal DCMP is “0”, then the mixed reliability data DR_MIX becomes the reliability data DR1.
The adaptive mixer 163 adaptively mixes the interpolation pixel Ps and the interpolation pixel Pm with each other in response to a value of the mixed reliability data DR_MIX outputted from the reliability mixer 20.
In such a way, in the pixel or the region, where the locally wrong motion vector MV is detected for the image to be entirely scrolled, the interpolation pixel Ps and the interpolation pixel Pm are adaptively mixed with each other in response not to the adjusted reliability data DR2 but to the reliability data DR1, and the interpolation pixel Ps and the interpolation pixel Pm are adaptively mixed with each other in response to the mixed reliability data DR_MIX obtained by mixing the reliability data DR1 and the adjusted reliability data DR2 depending on a degree of a difference between the locally wrong motion vector MV and the entire scroll vector SMV. Hence, the reduction of the image quality improvement effect can be prevented.
Incidentally, in the motion compensated frame generating apparatus 103 of the third embodiment, in the vector coincidence determiner 17 as the first example of the vector determiner, the degree of the coincidence between the motion vector MV and the entire scroll vector SMV is determined at two stages.
In the motion compensated frame generating apparatus 104 of the fourth embodiment, in the vector coincidence determiner 19 as the second example of the vector determiner, the degree of the coincidence between the motion vector MV and the entire scroll vector SMV is determined at five stages. That is to say, the motion compensated frame generating apparatus 104 increases the number of stages for the determination of the degree of the coincidence between the motion vector MV and the entire scroll motion vector SMV more than in the determination in the motion compensated frame generating apparatus 103.
Moreover, in the motion compensated frame generating apparatus 103, in the reliability selector 18, the selected reliability data DR_SEL, which selectively outputs the reliability data DR1 and the adjusted reliability data DR2, is generated.
In the motion compensated frame generating apparatus 104, in the reliability mixer 20, the mixed reliability data DR_MIX is generated, which selects the case of using only the reliability data DR1, the case of using only the adjusted reliability data DR2, and the case of using both of the reliability data DR1 and the adjusted reliability data DR2. That is to say, in the motion compensated frame generating apparatus 104, a state of using both of the reliability data DR1 and the adjusted reliability data DR2 is added to a state of selectively using only either one of the reliability data DR1 and the adjusted reliability data DR2 as in the motion compensated frame generating apparatus 103.
The present invention is not limited to the first to fourth embodiments described above, and is changeable in various ways within the scope without departing from the spirit thereof. The present invention may be composed of hardware, or may be composed of software (computer program). The hardware and the software may be mixedly used, and selection and a ratio of use between the hardware and the software are arbitrary.
In the first to fourth embodiments, as an example, the motion compensated frame generating apparatus that doubles the frame rate is described; however, the motion compensated frame generating apparatus is not limited to this. The present invention can also be used for a motion compensated frame generating apparatus that upconverts the frame rate into a frame rate three times, four times or the like as well as twice the original frame rate concerned. Moreover, the present invention can also be used for a film judder removal apparatus and the like.
Number | Date | Country | Kind |
---|---|---|---|
P2011-186245 | Aug 2011 | JP | national |