WO2005066897A1 - 画像処理装置および方法、記録媒体、並びにプログラム - Google Patents
画像処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- WO2005066897A1 WO2005066897A1 PCT/JP2005/000063 JP2005000063W WO2005066897A1 WO 2005066897 A1 WO2005066897 A1 WO 2005066897A1 JP 2005000063 W JP2005000063 W JP 2005000063W WO 2005066897 A1 WO2005066897 A1 WO 2005066897A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- image
- unit
- value
- processing unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Definitions
- Image processing apparatus and method recording medium, and program
- the present invention relates to an image processing apparatus and method, a recording medium, and a program, and more particularly, to an image processing apparatus capable of reliably tracking a desired point in a moving image that changes every moment. And a method, a recording medium, and a program.
- Patent Document 1 proposes that tracking be performed using a motion vector related to one block corresponding to a tracking target.
- Patent Document 2 proposes estimating a region relating to a tracking target and tracking the region based on an estimation result of the motion of the region.
- Patent Document 1 JP-A-6-143235
- Patent Document 2 JP-A-5-304065
- the tracking target is temporarily hidden by another object.
- occlusion occurs or the tracking target is temporarily not displayed due to a scene change or the like, there is a problem that it is difficult to perform robust tracking.
- the present invention has been made in view of such a situation, and reliably tracks a tracking point even when an object rotates, occlusion occurs, or a scene change occurs. Is what you can do.
- the image processing device of the present invention determines the position of a second point as a tracking point in a processing unit temporally subsequent to a first point as a tracking point on an image of a processing unit temporally preceding.
- Position estimating means for estimating, generating means for generating an estimated point as a candidate of the first point when the position of the second point is not estimable, and position of the second point in the subsequent processing unit Determining means for determining the second point in the subsequent processing unit based on the estimation result by the position estimating means if it can be estimated; and estimating if the position of the second point in the subsequent processing unit cannot be estimated.
- Selecting means for selecting a first point from the points.
- the processing unit may be a frame.
- the position estimating means may further calculate the accuracy of position estimation, and determine that the position of the second point can be estimated if the calculated accuracy is larger than a reference value. You.
- the position estimating means determines the position of the second point based on the first point selected by the selecting means. It can be estimated.
- the position estimating unit sets the position of the tracking point on the image of the next processing unit as a new first point, using the position of the second point as a new first point. Can be estimated.
- the generation unit estimates a set of one or more points belonging to the same object as the first point as a target region in a previous processing unit or a processing unit further before the previous processing unit. It is possible to provide an area estimating means and an estimated point generating means for generating an estimated point based on the target area.
- the region estimating means obtains, by prediction, a position that at least overlaps the target region to be estimated, and sets the region estimation range to a position that is a predicted position and includes a tracking point in a processing unit for estimating the target region. Is set, and sample points are set within the set area estimation range.
- the area where the collective force of the sample points having the same motion is also the area where the collective force of the sample point having the largest area is Can be estimated as the target area.
- the region estimation range may be a fixed shape.
- the region estimation range may be a variable shape.
- the area estimating means estimates the target area in a processing unit further preceding the previous processing unit, and the generating means sets a point in the estimated target area in the processing unit preceding the target area as an estimated point. Can be generated.
- the area estimating means may estimate a target area in a previous processing unit, and the generating means may generate points constituting the target area as estimated points.
- the area estimating means may estimate a point having a pixel value similar to that of the first point, an adjacent point and a point further adjacent to the adjacent point as a target area. .
- the region estimating means extracts a sample point in a region of a predetermined size including the first point in the processing unit further before the previous processing unit, and extracts the same motion point among the sample points. In this case, it is possible to estimate, as a target region, a region including a point on the processing unit before the region having the largest area which is a sample point region having a shift and having the largest area shifted by the same movement. .
- a correlation calculating means for calculating a correlation with a block which is a predetermined area of the template of the processing unit at least one processing unit before, and determining that the correlation is high based on the correlation calculated by the correlation calculating means
- the tracking point can be detected using at least the determining means.
- the template creation means sets a predetermined area around the tracking point as a template. Can be
- the template creating means may create a template based on the target area.
- a predetermined template in a processing unit at least one processing unit before a block that is a predetermined area in a subsequent processing unit is determined.
- the second point can be determined based on the relationship between the block, which is the region of interest, and the tracking point, and the position of the block determined to have a high correlation.
- the template creating means may use a sample point in the target area and an area having a predetermined peripheral area force at the sample point as a template.
- the correlation calculation means calculates the correlation by calculating an error between a block in a subsequent processing unit and a template block of a processing unit one or more processing units earlier than the processing unit of the block. can do.
- the apparatus further includes detection means for detecting a scene change, wherein the position estimating means and the selecting means end each processing based on a predetermined condition, and perform second processing from among the estimated points.
- the condition can be changed based on the presence or absence of a scene change when the point cannot be selected.
- the determining means may further include a target pixel that is at least one pixel including the first point of the processing unit that is earlier in time, and at least one or more pixels that are later in processing unit.
- An evaluation value calculating means for calculating an evaluation value representing a correlation between a pixel and a corresponding pixel defined based on a motion vector of the pixel of interest, and a variation representing a variation of a pixel value with respect to the pixel of interest. It is possible to include a fluctuation value calculating means for calculating a value and a certainty calculating means for calculating the certainty of the motion vector based on the evaluation value and the changing value.
- the number of pixels of the target pixel may be the same as the number of corresponding pixels.
- the variation value may be a value representing variation in the spatial direction of the pixel value.
- the variation value may be a variance value or a dynamic range.
- the processing unit may be a frame or a field.
- the accuracy calculating means may calculate the accuracy of the motion vector based on the value obtained by normalizing the evaluation value with the fluctuation value.
- the accuracy calculation means sets a value obtained by normalizing the evaluation value with the variation value as the accuracy of the motion vector, and when the variation value is smaller than the threshold value, And a fixed value indicating that the accuracy of the motion vector is low.
- the evaluation value calculating means may calculate the evaluation value as a sum of absolute values of differences between pixels of the block including the target pixel and the block including the corresponding pixel.
- the variation value calculation means calculates a value obtained by dividing the sum of absolute values of the differences between the pixel of interest and an adjacent pixel adjacent thereto by the number of adjacent pixels.
- the variation value can be calculated as the sum of
- the accuracy calculating means includes a comparing means for comparing the variation value with a first reference value, and a difference calculation means for calculating a difference between the second reference value and a value obtained by normalizing the evaluation value with the variation value. And output means for calculating and outputting the accuracy of the motion vector based on the comparison result by the comparison means and the difference calculated by the difference calculation means.
- Input image force a motion vector detecting means for detecting a motion vector and supplying it to an evaluation value calculating means; a motion compensating means for performing motion compensation on the input image based on the motion vector detected by the motion vector detecting means; An image which has been motion-compensated by the motion compensating means, is subjected to motion compensation, and is used to select whether or not the image is shifted based on the accuracy of the motion vector. It is also possible to further provide a means for making a sign.
- Average value calculating means for calculating an average value in the processing unit of the accuracy of the motion vector, and an average value calculated by the average value calculating means is compared with a reference value.
- a determination means for determining presence / absence may be further provided.
- the average value calculating means may calculate one average value for one processing unit.
- First point detection means for detecting a first point on a moving object in the image, and a correction area of a predetermined size around the object in the image based on the estimation result.
- a display control unit for controlling display of an image in which the correction area is corrected by the correction unit.
- the correction means may correct the blur of the image.
- the correction means includes: a control signal for specifying an image in the correction area; a supply means for supplying a parameter representing the degree of image blur V ⁇ ; a correction area specified based on the control signal!
- a feature detection means for detecting a feature of the image in the image and outputting a feature code representing the detected feature, a parameter representing a degree of blur of the image, and a coefficient corresponding to the feature code output by the feature detection means.
- Storage means for storing; reading means for reading, from the storage means, a coefficient corresponding to a parameter and a feature code outputted by the feature detecting means; and a value of a pixel of an input image based on the coefficient read by the reading means.
- a selection output means for selecting and outputting a result of the calculation by the product-sum calculation means and a value of a pixel of the input image, and blurring the image in the correction area. Excluding It is possible to rub ⁇ to Ne ⁇ positive to.
- the first point detecting means extracts, from an input image, a plurality of pixels included in a preset first area around a pixel on which a product-sum operation is performed. Means, a first area, and a plurality of pixels included in a plurality of second areas that are continuous in a plurality of vertical or horizontal directions and are extracted by the first extracting means.
- a block difference calculating means for calculating a sum of absolute values of differences between corresponding pixel values of the extracted pixels and the pixels extracted by the second extracting means and calculating a plurality of block differences; And a difference judging means for judging whether or not the difference is larger than a preset threshold value.
- the parameter may be a parameter of a Gaussian function in a model expression representing a relationship between pixels of a blurred image and pixels of a non-blurred image.
- the coefficient stored by the storage means may be a coefficient obtained by calculating an inverse matrix of a model equation.
- the selection output means includes a first extraction means for extracting a plurality of pixels on which the product-sum operation has been performed by the product-sum operation means, and a variance of the plurality of pixels extracted by the first extraction means. It is possible to include a dispersion calculating means for calculating the degree of dispersion representing the degree, and a dispersion determining means for determining whether or not the degree of dispersion calculated by the dispersion calculating means is larger than a preset threshold.
- the selection output means selects a pixel value to be output based on the determination result of the variance determination means from the calculation result by the product-sum calculation means or the pixel value of the input image. May be further provided.
- the image processing method of the present invention determines the position of a second point as a tracking point in a temporally subsequent processing unit of a first point as a tracking point on an image of a temporally preceding processing unit.
- Estimation Estimation step generation step of generating an estimated point as a candidate for the first point when the position of the second point cannot be estimated, and estimation of the position of the second point in the subsequent processing unit If it is possible, a determining step of determining a second point in a subsequent processing unit based on the estimation result by the processing of the position estimation step, and if the position of the second point in the subsequent processing unit cannot be estimated, Selecting a first point from the estimated points.
- the attention pixel that is at least one pixel including the first point of the processing unit before the time, and the at least one or more pixels of the processing unit after the time are used.
- An evaluation value calculating step of calculating an evaluation value representing a correlation between a pixel and a corresponding pixel defined based on a motion vector of the pixel of interest, and calculating a variation value representing a variation of a pixel value with respect to the pixel of interest And calculating an accuracy of the motion vector based on the evaluation value and the variation value.
- a first point detection step for detecting a first point in a moving object in the image, and a correction area of a predetermined size around the object in the image based on the estimation result.
- a correction area setting step of setting an image, a correction step of correcting an image in the correction area in the image, and an image in which the correction area is corrected by the processing of the correction step.
- a display control step of controlling display of an image.
- the program of the recording medium according to the present invention may be configured such that the second point as the tracking point in the processing unit temporally after the first point as the tracking point on the image of the processing unit earlier in time is used.
- An estimation step of estimating a position; a generation step of generating an estimated point as a candidate of the first point when the position of the second point cannot be estimated; and a position of the second point in a subsequent processing unit If is possible, the determining step of determining the second point in the subsequent processing unit based on the estimation result by the processing of the position estimating step, and the position of the second point in the subsequent processing unit cannot be estimated And a selecting step of selecting a first point from the estimated points.
- the program of the present invention estimates the position of a second point as a tracking point in a temporally subsequent processing unit of a first point as a tracking point on an image of a temporally preceding processing unit.
- the first point from the generated estimated points is used. Is selected.
- the present invention it is possible to track a tracking point on an image.
- the robustness in tracking can be improved.
- FIG. 1 is a block diagram showing a configuration example of an object tracking device to which the present invention has been applied.
- FIG. 2 is a flowchart illustrating a tracking process of the object tracking device of FIG. 1.
- ⁇ 3] is a diagram for explaining tracking when the tracking target rotates.
- FIG. 4 is a diagram illustrating tracking when occlusion occurs.
- FIG. 5 is a diagram illustrating tracking when a scene change occurs.
- FIG. 6 is a flowchart illustrating a normal process of step S1 in FIG. 2.
- FIG. 7 is a flowchart illustrating an initialization process of a normal process in step S21 of FIG. 6.
- FIG. 8 is a diagram illustrating a transfer candidate extraction process.
- FIG. 9 is a block diagram illustrating a configuration example of a region estimation-related processing unit in FIG. 1.
- FIG. 10 is a flowchart illustrating an area estimation-related process in step S26 in FIG. 6.
- FIG. 11 is a flowchart illustrating an area estimation process in step S61 of FIG.
- FIG. 12A is a diagram illustrating a process of determining a sample point in step S81 in FIG. 11.
- FIG. 12B is a diagram illustrating the process of determining a sample point in step S81 in FIG. 11.
- FIG. 13A is a diagram illustrating a process of determining a sample point in step S81 of FIG. 11.
- FIG. 13B is a diagram illustrating the process of determining a sample point in step S81 in FIG. 11.
- FIG. 14A is a diagram illustrating a process of determining a sample point in step S81 of FIG. 11.
- FIG. 14B is a diagram illustrating the process of determining a sample point in step S81 of FIG. 11.
- FIG. 15 is a diagram illustrating a process of determining a sample point in step S81 of FIG.
- FIG. 16 is a flowchart illustrating a process of updating an area estimation range in step S86 in FIG. 11.
- FIG. 17A is a diagram illustrating updating of an area estimation range.
- FIG. 17B is a diagram illustrating updating of an area estimation range.
- FIG. 17C is a diagram illustrating updating of the [17C] region estimation range.
- FIG. 18A is a diagram illustrating updating of an area estimation range.
- FIG. 18 is a diagram illustrating updating of an area estimation range.
- FIG. 18 is a diagram illustrating updating of a region estimation range.
- FIG. 19A is a diagram illustrating updating of an area estimation range.
- FIG. 19B is a diagram illustrating updating of a region estimation range.
- FIG. 19C is a diagram illustrating updating of the [19C] region estimation range.
- FIG. 20A is a diagram illustrating updating of an area estimation range.
- FIG. 20B is a diagram illustrating updating of an area estimation range.
- FIG. 20C is a diagram illustrating updating of an area estimation range.
- FIG. 21 is a flowchart illustrating another example of the area estimation range update process in step S86 in FIG. 11.
- FIG. 22B is a diagram illustrating the process of updating the region estimation range.
- FIG. 22B is a diagram illustrating the process of updating the region estimation range.
- FIG. 21C is a diagram illustrating a process of updating the region estimation range.
- FIG. 22D is a diagram illustrating the process of updating the region estimation range.
- FIG. 23 is a flowchart illustrating a transfer candidate extraction process in step S62 in FIG. 10.
- FIG. 24 is a flowchart illustrating a template creation process in step S63 in FIG. 10. 25] A diagram illustrating template creation.
- FIG. 27 is a diagram illustrating the positional relationship between a template and a tracking point.
- FIG. 28 is a block diagram showing another configuration example of the area estimation-related processing unit in FIG. 1.
- FIG. 29 is a flowchart for explaining another example of the area estimation processing in step S61 in FIG.
- FIG. 30A is a diagram illustrating growth of the same color region.
- FIG. 30B is a diagram illustrating growth of the same color region.
- FIG. 30C is a diagram illustrating growth of the same color region.
- FIG. 31 is a diagram for explaining the same color region of the tracking point and the region estimation result.
- FIG. 32 is a flowchart illustrating another example of the transfer candidate extraction process in step S62 of FIG. 10.
- FIG. 33 is a flowchart illustrating the exception processing of step S2 in FIG. 2.
- FIG. 34 is a flowchart illustrating the initialization of exception processing in step S301 of FIG. 33;
- FIG. 35 illustrates selection of a template.
- FIG. 36 is a diagram illustrating the setting of a search range.
- FIG. 37 is a flowchart illustrating a continuation determination process in step S305 in FIG. 33.
- FIG. 38 is a flowchart illustrating another example of the normal process of step S1 in FIG. 2.
- FIG. 39 is a flowchart illustrating another example of the area estimation process in step S61 in FIG. 10.
- FIG. 40 is a flowchart illustrating another example of the transfer candidate extraction process in step S62 in FIG. 10.
- FIG. 7 is a diagram illustrating a transfer candidate when the normal processing in FIG. 6 is performed.
- FIG. 42 is a diagram illustrating a transfer candidate when the normal processing in FIG. 38 is performed.
- FIG. 43 is a block diagram showing a configuration example of a motion estimator in FIG. 1.
- FIG. 44 is a flowchart illustrating a motion calculation process.
- FIG. 45 is a diagram for explaining a temporal flow of a frame.
- FIG. 46 is a diagram for explaining blocks of a frame.
- FIG. 47 is a diagram for explaining a block matching method.
- FIG. 48 is a diagram for explaining a motion vector.
- FIG. 49 is a flowchart illustrating a motion vector accuracy calculation process.
- FIG. 50 is a diagram for describing a method of calculating an evaluation value.
- FIG. 51 is a diagram illustrating an activity calculation process.
- FIG. 52 is a diagram illustrating a method of calculating an activity.
- FIG. 53A is a diagram illustrating a method for calculating a block activity.
- FIG. 53B is a diagram for explaining a method of calculating a block activity.
- FIG. 53C is a diagram for explaining a method for calculating a block activity.
- FIG. 53D is a diagram for describing a method of calculating a block activity.
- FIG. 53E is a diagram for describing a method of calculating block activity.
- FIG. 53F is a diagram for describing a method of calculating block activity.
- FIG. 54 is a flowchart illustrating a threshold process.
- FIG. 55 is a diagram for explaining a relationship between an evaluation value and an activity.
- FIG. 56 is a flowchart for explaining the regular processing.
- FIG. 57 is a flowchart illustrating an integration process.
- FIG. 58 is a block diagram illustrating a configuration example of a background motion estimating unit.
- Fig. 59 is a flowchart illustrating background motion estimation processing.
- FIG. 60 is a block diagram showing a configuration example of a scene change detection unit in FIG.
- FIG. 61 is a flowchart illustrating a scene change detection process.
- FIG. 62 is a block diagram showing a configuration example of a television receiver.
- FIG. 63 is a flowchart illustrating an image display process of a television receiver.
- FIG. 64 is a block diagram illustrating a configuration example of an image processing device to which the present invention has been applied.
- FIG. 65 is a block diagram showing a configuration example of a motion vector accuracy calculation unit.
- FIG. 66 is a block diagram showing a configuration example of an image processing device.
- FIG. 67 is a block diagram showing a configuration example of a coding device.
- Fig. 68 is a flowchart for describing the encoding process of the encoding device.
- FIG. 69 is a block diagram showing a configuration example of a camera shake correction device.
- FIG. 70 is a block diagram showing a configuration example of a background motion detection unit.
- Fig. 71 is a flowchart for describing camera shake correction processing of the camera shake correction apparatus.
- FIG. 72 is a block diagram showing a configuration example of a storage device.
- FIG. 73 is a block diagram showing a configuration example of a scene change detection unit.
- FIG. 74 is a flowchart illustrating an index image creation process of the storage device.
- 75 is a flowchart illustrating an image output process of the storage device.
- FIG. 76 is a block diagram showing a configuration example of a monitoring camera system.
- FIG. 77 is a flowchart illustrating surveillance processing by the surveillance camera system.
- FIG. 78 is a block diagram showing another configuration example of the surveillance camera system.
- FIG. 79 is a flowchart illustrating surveillance processing of the surveillance camera system.
- FIG. 80 is a block diagram showing a configuration example of a surveillance camera system to which the present invention has been applied. [81] This is a flowchart for describing monitoring processing.
- FIG. 82A is a diagram showing an example of an image displayed by the monitoring camera system.
- FIG. 82B is a diagram illustrating an example of an image displayed by the monitoring camera system.
- FIG. 82C is a diagram showing an example of an image displayed by the monitoring camera system.
- FIG. 83 is a diagram showing an example of movement of a correction target area.
- FIG. 84 is a block diagram showing a configuration example of an image correction unit.
- FIG. 85 is a diagram showing an example of a control signal of an image correction unit.
- FIG. 86A is a diagram illustrating the principle of image blur.
- FIG. 86B is a diagram illustrating the principle of image blurring.
- FIG. 86C is a diagram illustrating the principle of image blur.
- FIG. 87 is a diagram illustrating the principle of image blurring.
- FIG. 88 is a view for explaining the principle of image blurring.
- FIG. 89 is a view for explaining the principle of image blurring.
- FIG. 90 is a diagram showing an example of a combination of parameter codes.
- FIG. 91 is a diagram illustrating an edge portion of an image.
- FIG. 92 is a flowchart illustrating a blur correction process.
- FIG. 93 is a flowchart illustrating an image correction process.
- FIG. 94 is a flowchart illustrating an image feature detection process.
- FIG. 95 is a block diagram illustrating a configuration example of an image feature detection unit.
- FIG. 96A is a diagram illustrating blocks of an image extracted by a block cutout unit.
- FIG. 96B is a diagram illustrating blocks of an image extracted by a block cutout unit.
- FIG. 96C is a diagram illustrating blocks of an image extracted by a block cutout unit.
- FIG. 96D is a diagram illustrating blocks of an image extracted by a block cutout unit.
- FIG. 96E is a diagram for explaining blocks of an image extracted by a block cutout unit.
- FIG. 97 is a flowchart illustrating an image combining process.
- FIG. 98 is a block diagram showing a configuration example of an image synthesizing unit.
- FIG. 99 is a diagram for explaining distributed calculation.
- FIG. 1 shows a functional configuration example of an object tracking device to which the image processing device of the present invention is applied.
- the object tracking device 1 includes a template matching unit 11, a motion estimating unit 12, a scene change detecting unit 13, a background motion estimating unit 14, an area estimation related processing unit 15, a transfer candidate holding unit 16, a tracking point determining unit 17, a template It comprises a holding unit 18 and a control unit 19.
- the template matching section 11 performs a matching process between the input image and the template image held in the template holding section 18.
- the motion estimating unit 12 estimates the motion of the input image, and calculates a motion vector obtained as a result of the estimation and the accuracy of the motion vector by using a scene change detecting unit 13, a background motion estimating unit 14, an area estimation related processing unit 15, And the tracking point determination unit 17.
- the detailed configuration of the motion estimator 12 will be described later with reference to FIG.
- the scene change detection unit 13 detects a scene change based on the accuracy supplied from the motion estimation unit 12. The detailed configuration of the scene change detection unit 13 will be described later with reference to FIG.
- the background motion estimating unit 14 executes a process of estimating the background motion based on the motion vector and the accuracy supplied from the motion estimating unit 12, and supplies the estimation result to the area estimation related processing unit 15.
- the detailed configuration of the background motion detector 14 will be described later with reference to FIG.
- the region estimation related processing unit 15 compares the motion vector supplied from the motion estimation unit 12 with the accuracy, An area estimation process is performed based on the background motion supplied from the scene motion estimation unit 14 and the tracking point information supplied from the tracking point determination unit 17. Further, the area estimation-related processing unit 15 generates a transfer candidate based on the input information, supplies the transfer candidate to the transfer candidate holding unit 16, and holds the candidate. Further, the region estimation-related processing unit 15 creates a template based on the input image, supplies the template to the template holding unit 18, and holds the template. The detailed configuration of the region estimation-related processing unit 15 will be described later with reference to FIG.
- the tracking point determining unit 17 determines a tracking point based on the motion vector and the accuracy supplied from the motion estimating unit 12 and the transfer candidate supplied from the transfer candidate holding unit 16, and determines the determined tracking. Information about the point is output to the area estimation-related processing unit 15.
- the control unit 19 is connected to each unit of the template matching unit 11 to the template holding unit 18, controls each unit based on a tracking point instruction input from a user, and outputs a tracking result to a device (not shown).
- the object tracking device 1 basically executes a normal process and an exception process. That is, normal processing is performed in step S1. The details of this normal processing will be described later with reference to FIG. 6, but this processing executes processing for tracking the tracking point designated by the user's force. When it is no longer possible to change the tracking point in the normal processing in step S1, exception processing is executed in step S2. The details of this exception process will be described later with reference to the flowchart of FIG. 33.
- a process of returning to the normal process is executed by template matching. If it is determined that the tracking processing cannot be continued due to the exception processing (return to normal processing cannot be performed), the processing is terminated. If it is determined that it is possible to return to the processing, the processing returns to step S1 again. In this way, the normal processing of step S1 and the exception processing power of step S2 are repeatedly executed sequentially for each frame.
- the tracking target is rotated, occlusion occurs, a scene change occurs, and so on. Tracking can be performed even when it temporarily disappears. That is, for example, as shown in FIG. 3, the face 504 of the person to be tracked is displayed in frame n ⁇ 1, and this person's face 504 has a right eye 502 and a left eye 503. T! / It is assumed that the user designates, for example, the right eye 502 (more precisely, one pixel therein) as the tracking point 501. In the example of FIG.
- step S1 the left eye 503 on the face 504 as the same target as the right eye 502 is selected, and the tracking point is switched to the left eye 503 (set). This enables tracking.
- the ball 521 moves from the left side in the figure of the face 504 in the frame n ⁇ 1, and the ball 521 just covers the face 504 in the next frame n. I have.
- the face 504 including the right eye 502 designated as the tracking point 501 is not displayed.
- the image of the right eye 502 as the tracking point 501 is stored in advance as a template of the frame n-1 (actually, a frame earlier in time), and the ball 521 moves further rightward.
- step S21 the tracking point determination unit 17 executes an initialization process of the normal process.
- an area estimation range based on a tracking point designated to follow the user force is specified by this process, which will be described later with reference to the flowchart of FIG.
- This region estimation range is the same target object as the tracking point specified by the user (for example, when the tracking point is the human eye, a human face as a rigid body that moves like the eye, or The range is referred to when estimating the range of points belonging to the body.
- the transfer point is selected as the point force within this area estimation range.
- step S22 the control unit 19 controls each unit so as to wait for input of an image of the next frame.
- step S23 the motion estimating unit 12 estimates the motion of the tracking point. That is, by capturing a frame (later frame) temporally later than the frame including the tracking point specified by the user (previous frame) in the process of step S22, an image of two consecutive frames was obtained after all. Therefore, in step S23, the movement of the tracking point is estimated by estimating the position of the tracking point of the subsequent frame corresponding to the tracking point of the previous frame.
- the term “before the time” means the order of processing (the order of input). Normally, the images of each frame are input in the order of imaging.In this case, the frame captured earlier in time is the previous frame, but the frame captured later in time is processed first ( Input), the frame taken later in time becomes the previous frame.
- step S24 the motion estimating unit 12 (the integration processing unit 605 in Fig. 43 described later) determines whether or not the tracking point can be estimated as a result of the processing in step S23. Whether the tracking point can be estimated or not is determined, for example, by comparing the accuracy value of the motion vector generated and output by the motion estimation unit 12 described later with reference to FIG. 43 with a preset threshold value. It is determined by doing. Specifically, it is determined that the estimation is possible if the accuracy of the motion vector is equal to or larger than the threshold value, and that the estimation is impossible if the accuracy is smaller than the threshold value. In other words, the possibility here is determined relatively strictly, and if the accuracy is low even if the estimation is not actually possible, it is determined to be impossible. This enables more reliable tracking processing.
- step S24 estimation is possible if the motion estimation result at the tracking point and the motion estimation result at a point near the tracking point coincide with the motion that occupies a large number. It is also possible to determine that estimation is impossible.
- the process proceeds to step S25, and the tracking point determination unit 17 tracks only the estimated motion (motion vector) obtained in step S23. Shift points. That is, this determines the tracking position in the subsequent frame after tracking the tracking point of the previous frame.
- step S26 a region estimation-related process is executed.
- the details of the area estimation-related processing will be described later with reference to FIG. 10.
- the area estimation range specified in the initialization processing of the normal processing in step S21 is updated.
- a transfer candidate is set in this state (still trackable). Is extracted (created) in advance. If it is not possible to switch to a transfer candidate, the tracking is temporarily suspended, but a template is created in advance to confirm that tracking is possible again (the tracking point has reappeared).
- step S26 After the area estimation related processing in step S26 is completed, the processing returns to step S22, and the subsequent processing is repeatedly executed.
- step S26 The processing from 2 to step S26 is repeatedly executed for each frame, and tracking is performed.
- step S24 when it is determined that the motion of the tracking point cannot be estimated (impossible), that is, as described above, for example, when the accuracy of the motion vector is equal to or less than the threshold, If there is, the process proceeds to step S27.
- step S27 since the transfer candidate generated in the area estimation-related processing in step S26 is stored in the transfer candidate storage unit 16, the tracking point determination unit 17 selects the closest one to the original tracking point. Select one transfer candidate. The tracking point determination unit 17 determines whether or not a transfer candidate has been selected in step S28, and if a transfer candidate has been selected, proceeds to step S29. Then, the tracking point is changed (changed) to the change candidate selected in the processing of step S27. That is, the transfer candidate point is set as a new tracking point. Thereafter, the process returns to step S23, and the process of estimating the movement of the tracking point selected from the transfer candidate is executed.
- step S24 it is determined again whether or not the force is such that the motion of the newly set tracking point can be estimated, and if it can be estimated, the tracking point is shifted by the estimated motion in step S25. Is performed, and in step S26, a region estimation related process is executed. Thereafter, the process returns to step S22, and the subsequent processes are repeatedly executed.
- step S24 if it is determined that the newly set tracking point cannot be estimated, the process returns to step S27 again, and the transfer closest to the original tracking point is next selected from the transfer candidates. A candidate is selected, and in step S29, the transfer candidate is set as a new tracking point. The processing from step S23 is repeated again for the new tracking point.
- step S28 Even if all of the prepared transfer candidates are set as new tracking points, if the movement of the tracking point cannot be estimated, in step S28, the transfer candidates that cannot be selected are selected. Is determined, and the normal process ends. Then, the process proceeds to the exception process of step S2 in FIG.
- step S41 the control unit 19 determines whether or not the current process is a process of returning from the exception process. That is, it is determined whether or not the process returns to the normal process of step S1 again after the exception process of step S2 is completed.
- the tracking point determination unit 17 executes a process of setting the tracking point to the position of the tracking point instruction. That is, the user operates the mouse (not shown) and other input units to instruct the control unit 19 to set a predetermined point in the input image as a tracking point.
- the control unit 19 controls the tracking point determination unit 17 based on this instruction, and the tracking point determination unit 17 specifies the tracking point Set a point as a tracking point.
- the tracking point may be set by another method, for example, a point having the highest luminance is set in the input image. Tracking point determination unit
- the 17 supplies the information of the set tracking point to the area estimation related processing unit 15.
- step S43 the area estimation related processing unit 15 sets an area estimation range based on the position of the tracking point set in the processing in step S42.
- This region estimation range is a reference range for estimating a point on the same rigid body as the tracking point.More specifically, the tracking point is set so that the same rigid body portion as the tracking point occupies most of the region estimation range in advance.
- a predetermined fixed range centered on the tracking point is set as the region estimation range as an initial value.
- step S41 when it is determined in step S41 that the current process is a process of returning from the exception process of step S2, the process proceeds to step S44, and the tracking point determination unit 17 performs the process of FIG.
- a tracking point and a region estimation range are set based on the position matching the template. For example, a point on the current frame that matches the tracking point on the template is set as the tracking point, and a point range of which is set in advance and a certain range is set as the region estimation range. Thereafter, the process proceeds to step S22 in FIG.
- the face 504 as a rigid body including the right eye 502 prepared in advance as a transfer candidate in the temporally previous frame n-1.
- One of the points (for example, the left eye 503 included in the face 504 (more precisely, one pixel in the left eye)) is selected, and that point is set as a tracking point in the frame n + 1.
- the area estimation-related processing unit 15 has a configuration as shown in Fig. 9 to execute the area estimation-related processing in step S26 of Fig. 6. That is, the motion vector and the accuracy are input from the motion estimation unit 12 to the area estimation unit 41 of the area estimation related processing unit 15, the background motion is input from the background motion estimation unit 14, and the tracking point is determined by the tracking point determination unit 17. Is entered.
- the transfer candidate extracting unit 42 is supplied with the motion vector and the accuracy from the motion estimating unit 12, and is also supplied with the output of the area estimating unit 41.
- the template creation unit 43 receives the input image and the output of the region estimation unit 41.
- the region estimating unit 41 estimates a rigid region including the tracking point based on the input, and outputs the estimation result to the transfer candidate extracting unit 42 and the template creating unit 43.
- the transfer candidate extraction unit 42 extracts a transfer candidate based on the input, and supplies the extracted transfer candidate to the transfer candidate holding unit 16.
- the template creating unit 43 creates a template based on the input, and supplies the created template to the template holding unit 18.
- FIG. 10 shows details of the area estimation-related processing (the processing of step S26 in FIG. 6) executed by the area estimation-related processing unit 15.
- the region estimating unit 41 executes a region estimating process. The details will be described later with reference to the flowchart of FIG. 11.
- the image on the image that is estimated to belong to the same object (a rigid body that moves in synchronization with the tracking point) to which the tracking point belongs are extracted as points in the region estimation range (region estimation range 81 in FIG. 17 described later).
- step S62 the transfer candidate extraction unit 42 executes a transfer candidate extraction process. Details of the processing are as follows: point force points in the range estimated as the area estimation range by the force area estimating section 41 described later with reference to the flowchart of FIG. 23 are extracted and held in the transfer candidate holding section 16 .
- step S63 a template creating process is executed by the template creating unit 43. The details will be described later with reference to the flowchart of FIG. 24, but a template is created by this processing.
- step S81 the area estimating unit 41 determines a sample point as a candidate point of a point estimated to belong to the same target as the tracking point.
- the sample points are defined in the horizontal and vertical directions with reference to the fixed reference point 541 among the pixels on the entire screen of the frame indicated by the white square in the figure.
- pixels at positions separated by a predetermined number of pixels can be set as sample points (represented by black squares in the figure).
- the upper left pixel of each frame is set as a reference point 541 (the reference point 541 is indicated by an X mark in the figure), and five pixels in the horizontal direction and five pixels in the vertical direction. Pixels at distant positions are used as sample points. That is, in this example, pixels at positions dispersed in the entire screen are set as sampling points.
- the reference point is a fixed point at the same position in each frame n, n + 1.
- the reference point 541 can be dynamically changed so as to be a point at a different position for each frame n, n + 1.
- the force at which the interval between sample points is a fixed value in each frame.
- the interval between sample points is made variable for each frame. You can also.
- the interval between the sample points is 5 pixels in frame n, whereas it is 8 pixels in frame n + 1.
- the area of a region estimated to belong to the same target as the tracking point can be used. Specifically, as the area of the region estimation range becomes smaller, the interval becomes shorter.
- the interval between sample points can be made variable within one frame.
- the distance of the tracking point force can be used. That is, the interval becomes smaller as the sample point is closer to the tracking point, and the interval becomes larger as the distance from the tracking point increases.
- the area estimating unit 41 determines the area estimation range (the processing in steps S43 and S44 in FIG. 7 or the processing in FIG. Estimate the motion of the sample points within the steps (determined by the processing of steps S106 and S108). Perform the following processing. That is, based on the motion vector supplied from the motion estimating unit 12, the area estimating unit 41 extracts a corresponding point of the next frame corresponding to a sample point within the area estimation range.
- step S83 the region estimating unit 41 executes a process of excluding, from the sample points estimated in the process of step S82, a point based on a motion vector whose accuracy is lower than a preset threshold value. .
- the accuracy of the motion vector required for this processing is supplied from the motion estimating unit 12. As a result, of the sample points in the region estimation range, only the points estimated based on the motion vector with high accuracy are extracted.
- step S84 the area estimating unit 41 extracts a full-screen motion as a motion estimation result within the area estimation range.
- Full-screen motion refers to the motion that has the largest area, considering the area corresponding to the same motion.
- the motion of each sample point is weighted in proportion to the sample point interval at that sample point to generate a motion histogram, and one motion (one motion vector) with the maximum weighting frequency is generated. Is extracted as full-screen motion.
- a histogram is generated, for example, a representative value of motion is prepared with pixel accuracy, and motion having a value that differs by one in pixel accuracy is added to the histogram.
- step S85 the region estimating unit 41 extracts sample points in the region estimation range having the full-screen motion as a result of the region estimation.
- a sample point having a full-screen motion not only a sample point having the same motion as the full-screen motion but also a difference in motion from the full-screen motion is equal to or less than a predetermined threshold value.
- the sample point can also be a sample point having full screen motion here.
- step S86 the region estimating unit 41 executes a process of updating the region estimation range. Thereafter, the processing proceeds to step S22 in FIG.
- FIG. 16 shows details of the process of updating the region estimation range in step S86 in FIG.
- the region estimating unit 41 calculates the center of gravity of the region.
- This area is This means an area composed of the sample points extracted in the processing of step S85 of step 11 (an area composed of points estimated to belong to the same target as the tracking point). That is, one motion vector (full-screen motion) corresponds to this area.
- sample points within the region estimation range 81 are selected as sample points having full-screen motion in the process of step S85 in FIG. Then, a sample point indicated by a black square in FIG.
- step S102 the region estimating unit 41 executes a process of shifting the center of gravity of the region by full-screen motion.
- This processing means that the area estimation range 81 follows the movement of the position of the area and moves to the estimated position in the next frame.
- the motion vector 90 of the full-screen motion becomes the motion vector 88 of the tracking point. Since the center of gravity 84 in the current frame is shifted based on the motion vector (full-screen motion) 90, a point 94 on the same frame (next frame) as the tracking point 93 is obtained. Desired. If the area estimation range 91 is set with this point 94 as the center, the area estimation range 81 follows the movement of the position of the area 82 and moves to the estimation position in the next frame.
- step S103 the region estimation unit 41 determines the size of the next region estimation range based on the region estimation result. Specifically, the sum of the squares of the intervals between the sample points for all the sample points estimated as the region (the intervals between the points shown by black squares in the region 82 in FIG. 17A) is calculated as the area of the region 82 Considering this, the size of the region estimation range 91 in the next frame is determined so as to be slightly larger than this area. In other words, the size of the region estimation range 91 increases as the number of sample points in the region 82 increases, and decreases as the number of sample points decreases. By doing so, it is possible to not only follow the enlargement / reduction of the area 82 but also prevent the entire screen area in the area estimation range 81 from becoming the peripheral area to be tracked. Can do.
- step S104 the region estimating unit 41 It is determined whether or not the supplied background motion and the full-screen motion extracted in the process of step S84 in FIG. 11 match. If the full-screen motion matches the background motion, in step S105, the area estimation unit 41 restricts the size of the next area estimation range so that the size of the current area estimation range becomes the maximum. . Thereby, it is suppressed that the background is erroneously recognized as a tracking target and the size of the area estimation range is enlarged.
- step S104 If it is determined in step S104 that the full-screen motion does not match the background motion, the process in step S105 is not necessary and is skipped.
- step S106 the region estimating unit 41 determines the size of the next region estimation range centering on the shifted region centroid.
- the area estimation range is determined such that its center of gravity matches the shifted area center of gravity already obtained, and its size is proportional to the area width.
- the area estimation range 91 is determined to have a size corresponding to the area of the area 82 with the center of gravity 94 after the shift based on the motion vector (full-screen motion) 90 as the center.
- step S107 the region estimating unit 41 determines whether or not the tracking point is included in the next region estimation range, and if not included, includes the tracking point in step S108.
- the processing for shifting the next area estimation range is performed as described above. If the tracking point is included in the next area estimation range, the processing in step S108 is not necessary and is skipped.
- Specific shifting methods in this case include a method of minimizing the moving distance, and a tracking point along a vector from the center of gravity of the area estimation range before the shift toward the tracking point. For example, a method of moving by the minimum distance that can be used is considered.
- the region estimation range 91 since the region estimation range 91 does not include the tracking point 93, the region estimation range 91 is located at a position indicated as the region estimation range 101 (a position including the tracking point 93 on the upper left thereof). Will be shifted.
- FIGS. 17A to 17C show the case where the shift processing in step S108 is necessary, but FIGS. 18A to 18C show the case where the shift processing in step S108 is not necessary (step S107). (When it is determined that the tracking point is included in the next area estimation range).
- FIGS. 17A to 17C and FIGS. 18A to 18C show an example in which the region estimation range is rectangular. As shown in FIGS. 19A to 19C and FIGS. 20A to 20C, the region estimation range is circular. Shapes are also possible.
- FIGS.19A to 19C are diagrams corresponding to FIGS.17A to 17C and show a case where the shift processing in step S108 is necessary
- FIGS.20A to 20C are diagrams corresponding to FIGS.18A to 18C. This indicates a case where the shift processing in step S108 is not necessary.
- the position and size of the region estimation range for the next frame are determined to include the tracking point by the region estimation range update process of FIG. 16 (Step S86 of FIG. 11).
- the region estimation range has a rectangular or circular fixed shape, but may have a variable shape.
- An example of the process of updating the region estimation range in step S86 in FIG. 11 in this case will be described with reference to FIG.
- step S131 the region estimating unit 41 determines whether the full-screen motion extracted in the process of step S84 in FIG. 11 matches the background motion estimated by the background motion estimating unit 14. I do. If the two motions do not match, the process proceeds to step S133, where the area estimating unit 41 determines all points estimated as areas (areas composed of pixels that match the full screen motion). First, determine the corresponding small area (one small area for one point).
- small regions 171 and 172 corresponding to the points of the region indicated by the black rectangle in the drawing are determined in the region estimation range 161.
- reference numeral 171 denotes an example in which four small areas corresponding to four points overlap.
- the size of the small area may be determined, for example, in proportion to the interval between the sample points.
- step S134 the area estimating unit 41 sets the area of the sum of the small areas determined in the processing in step S133 as the provisional area estimation range.
- the sum area 181 of the small area 171 and the small area 172 is set as the provisional area estimation range. If a plurality of discontinuous regions are formed as a result of summing up the small regions, only the region having the largest area among them can be used as the provisional region estimation range.
- step S132 the area estimation unit 41 sets the current area estimation range as the provisional area estimation range.
- the current area estimation range is set as the tentative estimation area range because the background and the tracking target cannot be distinguished by the motion if the result of the background motion estimation and the full screen motion match! / Do not change the area estimation range of That's why.
- step S135 the region estimating unit 41 shifts the tentative region estimation range determined in step S134 or step S132 by full screen motion, and performs the next region estimation. Determine the range.
- the provisional region estimation range 181 is shifted based on the motion vector 183 due to the full screen motion, and is set as the provisional region estimation range 182.
- step S136 the region estimation unit 41 determines whether the tracking point is included in the next region estimation range determined in the process of step S135, and if not included, determines in step S137. Then, the next area estimation range is shifted to include the tracking point. In the examples of FIG. 22C and FIG. 22D, since the area estimation range 182 does not include the tracking point 184, the area estimation range 182 is shifted to include the tracking point 184 at the upper left, and is set as the area estimation range 191.
- step S136 when it is determined that the tracking point is included in the next area estimation range, the shift processing in step S137 is not necessary, and thus skipped.
- the transfer candidate extraction processing in step S62 in FIG. 10 will be described with reference to the flowchart in FIG.
- step S161 the transfer candidate extraction unit 42 retains, as a transfer candidate, a point shift result of the estimated motion corresponding to each of all the points estimated as the entire screen motion area. That is, the points obtained as the region estimation results are not used as they are, but in order to use them in the next frame, a process of extracting the shifted results based on the respective motion estimation results is performed.
- the transfer candidate thus set is supplied to the transfer condition holding unit 16 and held.
- the motion estimation result within the region estimation range 533 from the frame n to the frame n + 1 is correctly estimated because a change is required in the region estimation range 533. It is expected that the probability of failure is high. That is, in the example of FIG. 8, the transfer occurs because the tracking point and a part of the same object are hidden. As a result, of the region 533 where the object is hidden in the frame n + 1 in the region estimation range 533 in the frame n (shaded portion in FIG. 8), the motion is not correctly estimated, and the accuracy of the motion is The estimated force or accuracy is not low, and the motion estimation results will be meaningless.
- FIG. 24 shows details of the template creation processing in step S63 of FIG.
- step S181 the template creating unit 43 determines a small area corresponding to each of all points estimated as an area (area of full screen motion).
- the small area 222 is determined corresponding to the area point 221!
- step S182 the template creating unit 43 sets the area of the sum of the small areas determined in the processing in step S181 as the template range.
- the area of the sum of the sub-areas 222 is the template area 231.
- step S183 the template creating unit 43 creates a template based on the information of the template range and the image information power set in step S182, supplies the template to the template holding unit 18, and holds the template. Specifically, pixel data within the template range 231 is set as a template.
- the small area 241 corresponding to the area point 221 has a larger area than the small area 222 in FIG.
- the template range 251 of the sum of the small regions 241 is also wider than the template range 231 of FIG.
- the size of the small region is considered to be proportional to the interval between the sample points.
- the proportionality constant at that time can be determined so that the area is the square of the interval between the sample points, or larger. Alternatively, it can be determined to be small.
- FIG. 27 shows the positional relationship between the template and the region estimation range.
- the tracking range 305 is included in the template range 303.
- the upper left point in the figure of the circumscribed rectangle 301 circumscribing the template range 303 is the template reference point 304.
- Vector 306 from template reference point 304 to tracking point 305, and template reference point 304 force area estimation
- a vector 307 directed to a reference point 308 at the upper left in the drawing of the range 302 is used as information of the template range 303.
- the template includes pixels included in the template range 303.
- Vectors 306 and 307 are used to return to normal processing when the same image as the template is detected.
- the template having the pixel data including the tracking point is created in advance during the normal processing, like the transfer candidate.
- the area estimation related processing in step S26 in FIG. 6 can also be performed by configuring the area estimation related processing unit 15 as shown in FIG. 28, for example.
- region estimation-related processing unit 15 includes a force configured by region estimation unit 41, transfer candidate extraction unit 42, and template creation unit 43.
- the tracking point information and the input image are input to the region estimating unit 41 from the tracking point determining unit 17. Only the output of the area estimating unit 41 is supplied to the transfer candidate extracting unit.
- the template creating section 43 is supplied with the output of the area estimating section 41 and the input image.
- step S61 an area estimation processing is performed, and in step S62, a transfer candidate extraction processing is performed.
- step S63 a template creation process is performed. Since the template creation processing in step S63 is the same as that shown in FIG. 24, only the area estimation processing in step S61 and the transfer candidate extraction processing in step S62 will be described below.
- step S201 the area estimating unit 41 in FIG. 28 determines a sample point in order to estimate an area on an image belonging to the same target as the tracking point. This process is similar to the process of step S81 in FIG.
- a tracking point is determined.
- step S202 the region estimating unit 41 executes a process of applying a low-pass filter in the spatial direction to the image of the next frame (the frame whose sample points have been determined in step S201). That is, by applying a low-pass filter, high-frequency components are removed, and the image is smoothed. This facilitates the same-color region growing process in the next step S203.
- step S203 the region estimating unit 41 grows the same-color region of the tracking point, starting from the tracking point, on the condition that the pixel value difference is smaller than the threshold THimg, and includes the same in the same-color region. Is performed using the sample points to be estimated as the region estimation result. As the region estimation result, sample points included in the same color region as a result of the growth are used.
- the pixel values of the pixels in eight directions adjacent to the tracking point 321 are read. That is, the pixel values of the pixels adjacent in the eight directions of the upper direction, the upper right direction, the right direction, the lower right direction, the lower direction, the lower left direction, the left direction, and the upper left direction are read. The difference between the read pixel value and the pixel value of the tracking point 321 is calculated. Then, it is determined whether or not the calculated difference value is equal to or larger than the threshold value THimg. In the case of FIG.
- the difference between the pixel value in the direction indicated by the arrow, that is, the pixel value in the upward direction, the upper right direction, the lower direction, the left direction, and the upper left direction, and the tracking point 321 is less than the threshold value THimg. It is assumed that the difference between the pixel value in the direction indicated without the middle arrow, that is, the right direction, the lower right direction, and the lower left direction, and the tracking point 321 is equal to or larger than the threshold THimg.
- a pixel whose difference is smaller than the threshold value THimg (in FIG. 30A, a pixel in the direction indicated by an arrow with respect to tracking point 321) has the same color area as tracking point 321. Is registered as pixel 322. Similar processing is performed for each pixel 322 registered in the same color area.
- the difference between the pixel values of the pixel 322 indicated by a white circle at the upper left in the figure and the pixel adjacent thereto (excluding the pixel that has already been determined to be the same color area) is calculated, It is determined whether the difference is equal to or greater than the threshold value THimg or not.
- the threshold value THimg In the example of FIG.
- the pixels in the right direction, the lower right direction, and the lower direction are the directions in which the same color region determination processing has already been completed, and thus the upper direction, the upper right direction, the lower left direction, the left direction, and The difference in the upper left direction is calculated. Then, in this example, the difference in the three directions of the upward direction, the upper right direction, and the upper left direction is smaller than the threshold value THimg, and as shown in FIG. 30C, the pixel in that direction is a pixel in the same color area as the tracking point 321. Registered as
- points included in the same color area 331 among the sample points are estimated as points on the same object as the tracking point 321 as shown in FIG. .
- step S61 in FIG. 10 the transfer candidate extraction processing in step S62 in FIG. 10 executed by the transfer candidate extraction unit 42 in FIG.
- step S231 the transfer candidate extraction unit 42 sets all the points estimated as the region (the same color region) as the transfer candidates as they are, and supplies them to the transfer candidate holding unit 16 to hold them.
- the area estimation-related processing unit 15 shown in FIG. 28 continues the area estimation processing shown in FIG. 29 (step S61 in FIG. 10) and the transfer candidate extraction processing shown in FIG. 32 (step S62 in FIG. 10).
- the template creation processing of step S63 in FIG. 10 executed by the plate creation unit 43 is the same as that shown in FIG. 24, and thus the description thereof is omitted.
- the same color area of the tracking point can be used as it is as the range of the template.
- step S2 The details of the exception processing of step S2 performed after the normal processing of step S1 in FIG. 2 described above will be described with reference to the flowchart in FIG.
- This processing is performed, as described above, when it is determined that the motion of the tracking point cannot be estimated in step S24 of FIG. 6, and it is further determined in step S28 that the candidate for changing the tracking point cannot be selected. Will be executed.
- step S301 the control unit 19 executes initialization processing of exception processing. Details of this processing are shown in the flowchart of FIG.
- step S321 when the tracking of the tracking point cannot be performed (when it is impossible to estimate the movement of the tracking point and the transfer candidate for changing the tracking point cannot be selected), the control unit 19 returns to step S321. It is determined whether a scene change has occurred.
- Scene change detector The controller 13 constantly monitors whether or not a scene change has occurred based on the estimation result of the motion estimator 12, and the controller 19 performs a step based on the detection result of the scene change detector 13. The determination in S321 is performed. The specific processing of the scene change detection unit 13 will be described later with reference to FIGS. 50 and 51.
- control unit 19 sets the mode to the scene change in step S322, presuming that the reason for the inability to track is due to the occurrence of the scene change. On the other hand, when it is determined in step S321 that no scene change has occurred, the control unit 19 sets the mode to another mode in step S323.
- step S324 the template matching unit 11 executes a process of selecting the oldest template in time. More specifically, as shown in FIG. 35, for example, when transitioning from frame n to frame n + 1, it is assumed that exception processing is to be performed.
- the template generated for the frame n-m + 1, which is the oldest template in time, is selected from the m-frame templates stored in 18.
- the template slightly earlier in time is selected. If the transition to exception processing occurs due to occlusion of the tracking target, the tracking target is already quite hidden immediately before the transition, and the template at that time cannot capture the tracking target sufficiently large This is because the possibility is high. Therefore, by selecting a template in a frame slightly earlier in time in this manner, reliable tracking can be performed.
- step S325 the template matching unit 11 executes a process of setting a template search range.
- the template search range is set so that, for example, the position of the tracking point immediately before shifting to the exception processing becomes the center of the template search range.
- step S326 the template matching unit 11 resets the number of elapsed frames and the number of scene changes after shifting to the exception processing to zero.
- the number of frames and the number of scene changes are used in the continuation determination processing in step S305 in FIG. 33 described later (steps S361, S363, S365, and S367 in FIG. 37).
- step S302 in FIG. 33 the control unit 19 executes a process of waiting for the next frame.
- step S303 the template matching unit 11 performs a template matching process within the template search range.
- step S304 the template matching unit 11 determines whether or not the force is sufficient to return to the normal processing.
- the absolute value sum of the difference between the template (pixels in the template range 311 in Fig. 36) and the matching target pixel in the template search range is calculated by the template matching process. You. More specifically, a sum of absolute values of differences between respective pixels in a predetermined block in the template range 311 and a predetermined block in the template search range is calculated. The position of the block is sequentially moved within the template range 311, and the sum of absolute differences of each block is added to be the value at the position of the template. Then, the position where the sum of the absolute values of the differences is smallest when the template is sequentially moved within the template search range and its value are searched.
- step S304 the sum of absolute values of the minimum differences is compared with a predetermined threshold value set in advance. If the sum of the absolute values of the differences is equal to or less than the threshold value, it means that an image including the tracking point (included in the template) has reappeared. Returns to the normal processing of step S1 in FIG.
- step S41 of Fig. 7 it is determined that the process is a return from exception processing, and in step S44, the position where the sum of absolute differences is minimized is set as the position where the template is matched, and Was held corresponding to the position and template
- the tracking point and the area estimation range are set based on the positional relationship between the template position and the tracking point area estimation area. That is, as described with reference to FIG. 27, the area estimation range 302 is set based on the vectors 306 and 307 based on the tracking point 305.
- the determination as to whether or not it is possible to return to the normal processing in step S304 in FIG. 33 is performed by comparing a value obtained by dividing the minimum sum of absolute differences by the activity of the template with a threshold value. You may do so.
- the value calculated in step S532 in FIG. 49 by the activity calculating unit 602 in FIG. 43 described later can be used.
- step S304 the correlation between the template and the template search range is calculated, and the determination is made based on the comparison between the correlation value and the threshold.
- step S304 when it is determined that the return to the normal process is not possible, the process proceeds to step S305, and the continuation determination process is performed.
- the details of the continuation determination processing will be described later with reference to the flowchart in FIG. 37, but this determines whether or not the tracking processing can be continued.
- step S306 the control unit 19 determines whether or not the tracking of the tracking point can be continued based on the result of the continuation determination processing (the flag set in steps S366 and S368 in FIG. 37 described later). Judge based on! /, Te). If the tracking processing of the tracking point can be continued, the processing returns to step S302, and the subsequent processing is repeatedly executed. That is, the process of waiting until the tracking point appears again is repeatedly executed.
- step S306 when it is determined in step S306 that the tracking processing of the tracking point cannot be continued (the elapsed time after the tracking point disappears in step S365 in Fig. 37 described later). If the number of scenes is determined to be greater than or equal to the threshold THfr, or if the number of scene changes is determined to be greater than or equal to the threshold THsc in step S367), the tracking processing is no longer possible and the tracking processing is terminated.
- FIG. 37 illustrates details of the continuation determination process in step S305 in FIG.
- the control unit 19 executes a process of adding 1 to the number of elapsed frames as a variable.
- the number of elapsed frames is initialized to 0 (this is reset beforehand by resetting the exception processing in step S301 in FIG. 33 (step S326 in FIG. 34)!).
- step S362 the control unit 19 determines whether or not there is a scene change. Whether or not there is a scene change force is determined by the scene change detection unit 13 which is always performing the detection process and based on the detection result. If there is a scene change, the process proceeds to step S363, and the control unit 19 adds 1 to the number of scene changes as a variable. This number of scene changes is also reset to 0 in the initialization processing of step S326 in FIG. In the case where a scene change occurs when the normal processing power shifts to the exception processing, the processing in step S363 is skipped.
- control unit 19 determines whether or not the currently set mode is a scene change. This mode is set in steps S322 and S323 in FIG. If the currently set mode is a scene change, the process proceeds to step S367, where the control unit 19 determines whether the number of scene changes is smaller than a preset threshold THsc. If the number of scene changes is smaller than the threshold value THsc, the process proceeds to step S366, and the control unit 19 sets a continuable flag. If the number of scene changes is equal to or larger than the threshold value THsc, the process proceeds to step S368 to continue. Set the disable flag.
- step S364 when it is determined in step S364 that the mode is not a scene change
- step S365 the control unit 19 determines whether the number of passed frames is smaller than a threshold value THfr. This number of elapsed frames has also been reset to 0 in advance in step S326 of the initialization process of the exception process in FIG. If it is determined that the number of elapsed frames is smaller than the threshold value THfr, a flag indicating that continuation is possible is set in step S366, and if it is determined that the number of elapsed frames is equal to or greater than the threshold value THfr. In this case, in step S368, a continuation impossible flag is set.
- the condition that the number of scene changes is 0 may be added to determine whether or not the force can be continued.
- the processing in steps S401 to S410 in FIG. 38 is basically the same as the processing in steps S21 to S29 in FIG. 6.
- the processing in step S402 in FIG. 38 corresponding to step S22 in FIG. After the process of waiting for the next frame, the region estimation related process of step S403 is inserted, and the region estimation range update process of step S407 is replaced with the region estimation related process of step S26 in FIG. Is executed.
- Other processes are the same as those in FIG. 6, and thus description thereof will be omitted.
- step S403 in Fig. 38 The details of the area estimation related processing in step S403 in Fig. 38 are the same as those described with reference to Fig. 10, and the processing for updating the area estimation range in step S407 is described with reference to Fig. 16. The processing is the same as in the case.
- steps S431 to S435 is basically the same as the processing of steps S81 to S86 in FIG. However, the area in step S86 in Fig. 11
- the process of updating the region estimation range is omitted in FIG.
- Other processes are the same as those in FIG. That is, since the process of updating the region estimation range is performed in step S407 in FIG. 38, it is not necessary in the region estimation process in FIG.
- the transfer candidate extraction processing (the transfer candidate extraction processing in step S62 in Fig. 10) of the area estimation-related processing in step S403 (the area estimation-related processing in Fig. 10) As shown at 40.
- the processing in step S451 is the same as the transfer candidate extraction processing in step S231 in FIG.
- the area 551 is indicated by a black rectangle 551 in the area estimation range 81 in the figure.
- the point 552 on the frame n + 1 at the position where each point 551 of the area 82 in the previous frame n is shifted based on the respective motion vector 553 is changed. It is considered as a candidate (the process of step S161 in FIG. 23).
- the motion vector 553 of each point 551 may be the same as the motion vector of the full-screen motion.
- the estimated motion of each point varies slightly depending on the accuracy with which the motion is regarded as the same as the full-screen motion. For example, assuming that the difference of ⁇ 1 pixel is the same in the horizontal direction and the vertical direction, the movement of (0, 0) includes the movement of (1-1, 1) and (1, 0). In this case, even if the full-screen motion is (0, 0), if each point 551 has a motion such as (1-1, 1), (1, 0), etc. Is shifted by Rather than using the destination point as a transfer candidate as it is, it is possible to set the closest point among sample points obtained in advance as a transfer candidate. Of course, in order to reduce the processing load, each point 551 may be shifted by an amount corresponding to the entire screen movement.
- the motion estimator 12 includes a motion vector detector 606-1 and a motion vector accuracy calculator 606-2.
- an input image is supplied to an evaluation value calculation unit 601, an activity calculation unit 602, and a motion vector detection unit 606-1.
- the motion vector detecting section 606-1 detects the motion vector as the input image force, and supplies the detected motion vector and the input image to the motion vector accuracy calculating section 6062.
- the motion vector detection unit 606-1 separates the image data from the motion vector and supplies the separated data to the motion vector accuracy calculation unit 6062.
- the motion vector detection unit 606-1 can be omitted.
- the motion vector accuracy calculator 606-2 calculates the accuracy of the corresponding motion vector (hereinafter, referred to as motion vector accuracy) based on the input image (image data) input, and calculates the obtained accuracy.
- the motion vector detector 606-1 outputs the motion vector together with the motion vector supplied from the motion vector detector 606-1.
- the motion vector accuracy calculation unit 606-2 includes an evaluation value calculation unit 601, an activity calculation unit 602, and a calculation unit 606-3.
- the arithmetic unit 606-3 is composed of a threshold determining unit 603, a normalization processing unit 604, and an integration processing unit 605.
- the evaluation value calculation unit 601 calculates the evaluation value of the input image, and supplies the evaluation value to the normalization processing unit 604 of the calculation unit 606-3.
- the activity calculation unit 602 calculates the activity of the input image, and supplies the activity to the threshold determination unit 603 and the normalization processing unit 604 of the calculation unit 606-3.
- the normalization processing unit 604 normalizes the evaluation value supplied from the evaluation value calculation unit 601 based on the activity supplied from the activity calculation unit 602, and integrates the obtained value into an integrated processing unit 605.
- the threshold determination unit 603 compares the activity supplied from the activity calculation unit 602 with a predetermined threshold, and supplies the determination result to the integration processing unit 605.
- the integration processing unit 605 includes the normalization information supplied from the normalization processing unit 604 and the threshold determination unit 6
- the motion vector accuracy is calculated based on the judgment result supplied from 03, and the obtained motion vector accuracy is output to the device. At this time, the motion vector supplied from the vector detection unit 606-1 may be output together.
- the motion vector detection unit 606-1 acquires the input image in step S501, divides the frame of the input image into predetermined blocks in step S502, and, in step S503, combines the frame with the temporally later (or previous) frame.
- the motion vector is detected by comparing. Specifically, a motion vector is detected by a block matching method.
- the detected motion vector is supplied to the evaluation value calculation unit 601.
- step S501 in FIG. 44 for example, as shown in FIG. 45, the frame F (the first frame
- step S 1) to F (Nth frame) are sequentially acquired, and then step S
- the image of one frame is divided into square blocks of 2L + 1 pixel on a side.
- an arbitrary block of the divided frame F is defined as a block B, and n P shown in FIG.
- the block B is set within a predetermined scanning range on the frame F. n + 1 p n + 1
- V (vx, vy) Q (X, Y) -P (X, ⁇ )
- step S504 of FIG. 44 the motion vector accuracy calculation unit 22 executes a motion vector accuracy calculation process.
- the details will be described later with reference to FIG. 49.
- the motion vector accuracy is calculated as a quantitative numerical value.
- step S505 the motion vector accuracy calculation unit 606-2 performs the It is determined whether or not the force for which the calculation of the motion vector accuracy has been completed is applied to the block.
- step S505 If the motion vector accuracy calculation unit 606-2 has determined in step S505 that the motion vector accuracy has not yet been calculated for all the blocks, and returns to step S504, the process returns to step S504. Execute repeatedly. If it is determined that the calculation of the motion vector accuracy has been completed for all the blocks, the processing for that frame is completed. The above processing is performed for each frame.
- step S531 the evaluation value calculation unit 601 calculates an evaluation value Eval (P, Q, i, j) based on the following equation.
- the number of pixels (corresponding pixels) should be at least one. However, if there is more than one, the numbers must be the same.
- This evaluation value indicates the evaluation value of the block (therefore, the evaluation value of the motion vector) centered on each of the points on the image of one frame and the points on the image of the other frame. , The closer to the evaluation value power ⁇ , the better the match.
- F the evaluation value of the block
- F n the absolute difference sum is used as the evaluation value!
- the sum of squared force differences may be used as the evaluation value.
- the evaluation value calculation unit 601 supplies the generated evaluation value to the normalization processing unit 604.
- the activity calculating unit 602 also calculates the activity of the input image power.
- the activity is a feature quantity representing the complexity of the image.As shown in FIGS. 51 and 52, the target pixel Y (x, y) of each pixel and the eight pixels adjacent thereto, that is, the adjacent pixels Y (X-1, y-1), Y (x, yl), Y (x + l, y--l), ⁇ ( ⁇ + 1, y), ⁇ ( ⁇ + l, y + 1), ⁇ ( ⁇ , y + 1), Y (xl, y + 1), and the average value of the absolute sum of the differences with ⁇ ( ⁇ , ⁇ ). This is calculated based on the following equation as the activity of the pixel of interest.
- the value of the target pixel Y (x, y) located at the center is 110, and the eight pixels adjacent thereto (the adjacent pixels Y (x ⁇ 1, (yl), Y (x, yl), Y (x + 1, y -1), Y (x + 1, y), Y (x + 1, y + 1), Y (x, y + 1), Y (x — L, y + 1), Y (x— l, y)) are 80, 70, 75, 100, 100, 100, 80, 80, respectively. .
- the pixel 771 included in the center of the activity calculation range 851a is set as a target pixel, and the activity is calculated based on the value of the pixel 771 and the values of eight pixels adjacent thereto.
- the activities of the target pixel and the adjacent pixels included in the range 851b to 851f are calculated.
- the sum of the activities calculated for all pixels in block B is
- the activity may also be a variance value in the block, a dynamic range, or any other value representing a variation in pixel value in the spatial direction.
- step S533 the threshold determination unit 603 determines the block activity force calculated in the process of step S532 by the activity calculation unit 602.
- a preset threshold value (threshold value THa described later with reference to Fig. 53). ) Is determined. The details are described with reference to the flowchart in FIG. 54.
- a flag is set that is greater than or equal to THa.
- step S534 normalization processing section 604 executes normalization processing.
- the details are as follows: the power calculated in step S31 by this processing, the block activity calculated in step S532, and the threshold (a straight line described later in FIG. 55). 903), the motion vector accuracy is calculated.
- step S535 the integration processing unit 605 executes the integration processing. The details will be described later with reference to FIG. 57. Based on the flag set in the processing of step S533 (the processing of step 552 or step S553 in FIG. 54) by this processing, an apparatus (not shown) Is determined.
- step S551 it is determined whether or not the calculated block activity is greater than the threshold value THa as a result of the processing in step S532 in FIG. 49.
- the block activity and the evaluation value have a relationship shown in Fig. 55 using the motion vector as a parameter.
- the horizontal axis represents the block activity (U)
- the vertical axis represents the evaluation value Eval.
- Curves 901 and 902 intersect at point P.
- the value of the block activity at this point P is set as the threshold THa.
- the threshold value THa means that if the value of the block activity is smaller, the corresponding motion vector may not be correct (this will be described in detail later).
- the threshold determination unit 603 outputs to the integration processing unit 605 a flag indicating whether or not the value of the block activity input from the activity calculation unit 602 is greater than the threshold THa.
- step S551 If it is determined in step S551 that the block activity is greater than the threshold value THa! / (If the corresponding motion vector is likely to be correct), the process proceeds to step S552 and the threshold value determination unit 603 sets a flag indicating that the block activity is greater than a threshold value THa.
- step S551 when it is determined in step S551 that the block activity is not larger than the threshold value THa (small! /,) (There is a possibility that the corresponding motion vector is incorrect). If it is, the process proceeds to step S553, and a flag indicating that the block activity is not large (small) is set.
- threshold determining section 603 outputs to integrated processing section 605 a flag indicating whether or not the input block activity is larger than the threshold.
- step S571 the normalization processing unit 604 determines the evaluation value calculated in the processing in step S531 in FIG. 49, the block activity calculated in the processing in step S532, and a preset threshold ( Based on the inclination of the straight line 903 in FIG. 55), the motion vector accuracy VC is calculated according to the following equation.
- the value obtained by dividing the evaluation value by the block activity is such that the position on the graph of FIG. 55 defined by the value has a slope connecting the origin O and the point P of 1 From the straight line 903 of, the force in the lower area in the figure indicates whether the force is in the upper area in the figure. That is, if the slope of the straight line 903 is 1, and the value obtained by dividing the evaluation value by the block activity is greater than 1, the point corresponding to that value is a point distributed in the area above the straight line 903. Means that. Then, the motion vector accuracy VC obtained by subtracting this value from 1 means that the value of the motion vector is more likely to be distributed in the region R2 (i.e., the negative value is larger). .
- step S572 the normalization processing unit 604 determines whether the motion vector accuracy VC calculated based on Expression (5) is smaller than 0 (the motion vector accuracy VC is a negative value). I do.
- the normalization processing unit 604 proceeds to step S573, and supplies the motion vector accuracy VC calculated in the process of step S571 to the integration processing unit 605 as it is.
- step S572 when it is determined in step S572 that the motion vector accuracy VC is smaller than 0 (the motion vector accuracy VC is a negative value), the process proceeds to step S574, and the normalization processing unit 604 The motion vector accuracy VC is set to 0 as a fixed value and supplied to the integration processing unit 605.
- the motion vector accuracy is set to 0. .
- step S591 the integration processing unit 605 determines whether or not the block activity is equal to or smaller than the threshold THa. This determination is performed based on the flag supplied from the threshold determination unit 603. If the value of the block activity is larger than the threshold value THa, in step S592, the integration processing unit 605 outputs the value of the motion vector accuracy VC calculated by the normalization processing unit 604 as it is together with the motion vector.
- the value is set to the value of the motion vector accuracy VC calculated by the normalization processing unit 604 in step S593, and Is output.
- step S593 the motion vector accuracy VC is set to 0 if the value is less than the threshold value THa, even if the value is negative, as well as if it is positive. In this way, if the value of the motion vector accuracy VC is positive, the correct! / It is possible to surely express something.
- the force the larger the value of the motion vector accuracy VC, the higher the probability that a motion vector is obtained and the higher the probability that the distribution is included in the region R1.
- the motion vector accuracy is calculated. Therefore, the motion vector accuracy can be expressed as a quantitative numerical value, and a highly reliable motion vector can be detected.
- the force field described using the frame image as the processing unit may be used as the processing unit.
- FIG. 58 shows a configuration example of the background motion estimator 14 in FIG.
- the background motion estimating unit 14 includes a frequency distribution calculating unit 1051 and a background motion determining unit 1052.
- Frequency distribution calculation section 1051 calculates the frequency distribution of motion vectors. However, the frequency is weighted by using the motion vector accuracy VC supplied from the motion estimating unit 12 so that a likely motion is weighted.
- the background motion determining unit 1052 performs a process of determining a motion having the highest frequency as a background motion based on the frequency distribution calculated by the frequency distribution calculating unit 1051, and outputs the motion to the region estimation related processing unit 15.
- the frequency distribution calculation unit 1051 generates a motion vector
- the value of the motion solid probability VC is normalized as a value between 0 and 1, and the closer the value is to 1, the higher the accuracy is. Therefore, the frequency distribution obtained in this manner is a frequency distribution in which the motion vectors are weighted based on the accuracy. This reduces the possibility that a motion with low accuracy is determined as the background motion.
- step S652 the frequency distribution calculation unit 1051 determines whether or not the force has been completed by performing the process of calculating the motion frequency distribution for all blocks. If the block still exists, the process returns to step S651 and the process of step S651 is executed for the next block.
- step S652 determines whether the motion frequency distribution calculation processing is performed on the entire screen. If it is determined in step S652 that the processing of all blocks has been completed, the process proceeds to step S653, where the background motion determination unit Step 1052 executes processing for searching for the maximum value of the frequency distribution. That is, the background motion determining unit 1052 selects the one with the highest frequency from the frequencies calculated by the frequency distribution calculating unit 1051, and determines the motion vector corresponding to that frequency as the motion vector of the background motion. .
- the motion vector of the background motion is supplied to the region estimation-related processing unit 15, and for example, is determined in step S104 in FIG. 16 or in step S131 in FIG. Used.
- FIG. 60 illustrates a detailed configuration example of the scene change detection unit 13 in FIG.
- the scene change detection unit 13 is configured by the motion vector accuracy average calculation unit 1071 and the threshold value determination unit 1072.
- the motion vector accuracy average calculation section 1071 calculates the average value of the motion vector accuracy VC supplied from the motion estimation section 12 over the entire screen, and outputs the average value to the threshold determination section 1072.
- the threshold determination unit 1072 compares the average value supplied from the motion vector accuracy average calculation unit 1071 with a predetermined threshold, and determines whether or not a scene change has occurred based on the comparison result. The judgment result is output to the control unit 19.
- step S681 the motion vector accuracy average calculation unit 1071 Calculate the sum of the accuracy. Specifically, the motion vector accuracy average calculation unit 1071 performs a process of adding the value of the motion vector accuracy VC calculated for each block output from the integration processing unit 605 of the motion estimation unit 12. In step S682, the motion vector accuracy average calculation unit 1071 determines whether or not the process of calculating the sum of the vector accuracy VCs has been completed for all blocks, and if not completed, the process of step S681 repeat. By repeating this process, the sum of the motion vector accuracy VC of each block for one screen is calculated.
- step S682 If it is determined in step S682 that the process of calculating the sum of the motion vector accuracy VCs for the entire screen has been completed, the process proceeds to step S683, where the motion vector accuracy average calculation unit 1071 calculates the average value of the vector accuracy VC. Execute the processing to be performed. Specifically, a value obtained by dividing the sum of the vector accuracy VCs for one screen calculated in the process of step S681 by the number of added blocks is calculated as an average value.
- step S684 the threshold determination unit 1072 compares the average value of the motion vector accuracy VC calculated by the motion vector accuracy average calculation unit 1071 in the process of step S683 with a preset threshold. Is smaller than the threshold value. In general, when a scene change occurs between two frames at different times in a moving image, there is no corresponding image, so even if a motion vector is calculated, the motion vector is not certain. If the average value of the vector accuracy VC is smaller than the threshold, the threshold determination unit 1072 turns on the scene change flag in step S685. Turn off the scene change flag. The ON state of the scene change flag indicates that a scene change has occurred, and the OFF state indicates that there is no scene change.
- the scene change flag is supplied to the control unit 19, and is used for determining the presence / absence of a scene change in step S321 in Fig. 34 and the presence / absence of a scene change in step S362 in Fig. 37.
- FIG. 62 illustrates an example in which the object tracking device is applied to a television receiver 1700.
- the tuner 1701 receives the RF signal, demodulates and separates the signal into an image signal and an audio signal, outputs the image signal to the image processing unit 1702, and outputs the audio signal to the audio processing unit 1707.
- the tuner 1701 receives the RF signal, demodulates and separates the signal into an image signal and an audio signal, outputs the image signal to the image processing unit 1702, and outputs the audio signal to the audio processing unit 1707.
- Image processing section 1702 demodulates the image signal input from tuner 1701, and outputs the demodulated image signal to object tracking section 1703, zoom image creation section 1704, and selection section 1705.
- the object tracking unit 1703 has substantially the same configuration as the object tracking device 1 of FIG. 1 described above.
- the object tracking unit 1703 executes a process of tracking the tracking point of the object which the input image power has been designated by the user, and outputs coordinate information on the tracking point to the zoom image creation unit 1704.
- the zoom image creation unit 1704 creates a zoom image centered on the tracking point, and outputs it to the selection unit 1705.
- the selection unit 1705 selects one of the image supplied from the image processing unit 1702 or the image supplied from the zoom image generation unit 1704 based on an instruction from the user, and outputs the image to the image display 1706 for display.
- Audio processing section 1707 demodulates the audio signal input from tuner 1701, and outputs the demodulated signal to speaker 708.
- Remote controller 1710 is operated by the user, and outputs a signal corresponding to the operation to control unit 1709.
- the control unit 1709 is configured by a microcomputer, for example, and controls each unit based on a user's instruction.
- the removable medium 1711 includes a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and the like, is mounted as necessary, and provides the control unit 1709 with programs and other various data.
- tuner 1701 demodulates a signal of a channel designated by a user from an RF signal received via an antenna (not shown), outputs an image signal to image processing section 1702, and outputs The signal is output to the audio processing unit 1707.
- the audio signal is demodulated by the audio processing unit 1707 and then output from the speaker 1708.
- Image processing section 1702 demodulates the input image signal and outputs it to object tracking section 1703, zoom image creation section 1704, and selection section 1705.
- step S702 the object tracking unit 1703 determines whether or not tracking has been instructed. If it is determined that tracking has not been instructed, the object tracking unit 1703 skips the processing of steps S703 and S704.
- step S705 the selection unit 1705 supplies the data from the image processing unit 1702. One of the image signal to be input and the image signal input from the zoom image generation unit 1704 is selected based on the control from the control unit 1709. In this case, since there is no particular instruction from the user, the control unit 1709 causes the selection unit 1705 to select the image signal from the image processing unit 1702.
- step S706 the image display 1706 displays the image selected by the selection unit 1705.
- control unit 1709 determines whether or not to end the image display process based on a user instruction. That is, when ending the image display processing, the user operates the remote controller 1710 to instruct the control unit 1709 to do so. If the end has not been instructed by the user, the process returns to step S701, and the subsequent processes are repeatedly executed.
- step S702 the control unit 1709 determines that tracking has been instructed, and controls the object tracking unit 1703.
- the object tracking unit 1703 starts tracking processing of a tracking point specified by the user based on this control. This processing is similar to the processing of the object tracking device 1 described above.
- step S704 the zoom image creation unit 1704 generates a zoom image that is tracked by the object tracking unit 1703 and centered on the tracking point, and outputs the zoom image to the selection unit 1705.
- This zoom image creation processing can be performed by using the classification adaptive processing previously proposed by the present applicant.
- Japanese Patent Laying-Open No. 2002-196737 discloses a process of converting a 525i signal into a 1080i signal using a coefficient learned in advance. This process is substantially the same as the process of enlarging an image by 9Z4 times in both the vertical and horizontal directions.
- the zoom image creation unit 704 converts a 525i signal into a 1080i signal and then converts the 525i signal into a 1080i signal, for example, to create a 9Z4x image.
- Pixels (corresponding to image display 706) By selecting (number of pixels), a zoom image can be created.
- the process of reducing is the reverse process.
- step S705 When tracking is instructed, in step S705, the selection unit 1705 selects the zoom image created by the zoom image creation unit 1704. As a result, in step S706, the image display 1706 displays the zoom image created by the zoom image creation unit 1704.
- the image display 1706 displays a zoom image centered on the tracking point specified by the user. If the magnification is set to 1, only tracking is performed.
- FIG. 64 shows a functional configuration example of an image processing device 1801 to which the present invention is applied.
- the image processing device 1801 includes a motion vector detection unit 1821 and a motion vector accuracy calculation unit 1822.
- the motion vector detection unit 1821 also detects a motion vector from the input image force, and supplies the detected motion vector and the input image to the motion vector accuracy calculation unit 1822. In addition, when the input image already includes a motion vector, the motion vector detection unit 1821 separates the image data and the motion vector and supplies the separated data to the motion vector accuracy calculation unit 1822. When image data and its motion vector are input in a separated state, the motion vector detection unit 1821 can be omitted.
- the motion vector accuracy calculation unit 1822 calculates the accuracy of the corresponding motion vector (hereinafter, referred to as motion vector accuracy) based on the input image (image data) input, and plots the motion vector accuracy. Output to a device not shown.
- FIG. 65 shows a configuration example of the motion vector accuracy calculation section 1822 in FIG.
- the motion vector accuracy calculation section 1822 includes an evaluation value calculation section 1841, an activity calculation section 1842, and a calculation section 1843.
- the calculation unit 1843 includes a threshold determination unit 1851, a normalization processing unit 1852, and an integration processing unit 1853.
- the motion vector force evaluation value calculation unit 18 output from the motion vector detection unit 1821 in Fig. 64.
- the input image (image data) is input to the evaluation value calculation unit 1841 and the activity calculation unit 1842.
- the evaluation value calculation unit 1841 calculates the evaluation value of the input image and supplies the calculated evaluation value to the normalization processing unit 1852 of the calculation unit 1843.
- the activity calculation unit 1842 calculates the activity of the input image and supplies the activity to the threshold determination unit 1851 and the normalization processing unit 1852 of the calculation unit 1843.
- the regularization processing unit 1852 performs regularization on the evaluation value supplied from the evaluation value calculation unit 1841 based on the activity supplied from the activity calculation unit 1842, and integrates the obtained value into an integration processing unit. Supply to 1853.
- the threshold determination unit 1851 compares the activity supplied from the activity calculation unit 1842 with a predetermined threshold, and supplies the determination result to the integration processing unit 1853.
- the integration processing unit 1853 calculates the motion vector accuracy based on the normalization information supplied from the normalization processing unit 1852 and the determination result supplied from the threshold value determination unit 1851, and plots the obtained motion vector accuracy. Output to a device not shown.
- the motion vector detection unit 1821, the motion vector accuracy calculation unit 1822, the evaluation value calculation unit 1841, the activity calculation unit 1842, the calculation unit 1843, the threshold value determination unit 1851, the normalization processing unit 1852, and the integration processing unit 1853 are respectively described above. 43, the motion vector detection unit 606-1, the motion vector accuracy calculation unit 606-2, the evaluation value calculation unit 601, the activity calculation unit 602, the calculation unit 606-3, the threshold determination unit 603, the normalization processing unit 604, and the integration Since the configuration is basically the same as that of the processing unit 605, further detailed description is omitted here.
- the above-described image processing device 1801 can be configured with, for example, a personal computer.
- the image processing device 1 is configured, for example, as shown in FIG. CPU (
- the Central Processing Unit (1931) executes various processes according to a program stored in a ROM (Read Only Memory) 1932 or a program loaded from a storage unit 1939 to a RAM (Random Access Memory) 1933.
- the RAM 233 also stores data necessary for the CPU 1931 to execute various processes as needed.
- the CPU 1931, the ROM 1932, and the RAM 1933 are interconnected via a bus 1934.
- the bus 1934 is also connected to an input / output interface 1935.
- the input / output interface 1935 includes an input unit 1936 including a keyboard, a mouse, and the like.
- a display consisting of a CRT (Cathode Ray Tube), LCD (Liquid Crystal Display), etc., an output unit 1937 consisting of speakers, etc., a communication unit 1938 consisting of a modem, terminal adapter, etc., and a storage unit 1939 consisting of a hard disk etc. It is connected .
- the communication unit 1938 performs communication processing with another device via a LAN or the Internet (not shown).
- a drive 1940 is connected to the input / output interface 1935, and a removable medium 1941 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted. It is installed in the storage unit 1939 as needed.
- the input image is supplied to the motion vector detection unit 1821, the motion compensation unit 2272, and the selection unit 2273 of the motion calculation unit 2271.
- the motion calculation unit 2271 has substantially the same configuration as the image processing device 1801 in FIG. 64 described above.
- the motion vector detector 1821 detects an input image force motion vector, and outputs the detected motion vector to the motion compensator 2272 and the additional code generator 2275. Further, the motion vector detection unit 1821 outputs the motion vector and the input image to the motion vector accuracy calculation unit 1822.
- the motion vector accuracy calculation unit 1822 also calculates the motion vector accuracy of the motion vector input from the motion vector detection unit 1821 and the input image force, and outputs the motion vector accuracy to the control unit 2274.
- the control unit 2274 controls the selection unit 2273 and the additional code creation unit 2275 based on the input motion vector accuracy.
- the motion compensation unit 2272 performs motion compensation based on the supplied input image and the motion vector supplied from the motion vector detection unit 1821, and supplies the motion-compensated image to the selection unit 2273.
- the selection unit 2273 selects and outputs an input image or a motion-compensated image to the pixel value coding unit 2276 based on the control of the control unit 2274.
- the pixel value encoding unit 2276 encodes the input image and outputs the encoded image to the integration unit 2277.
- the additional code creation unit 2275 creates an additional code indicating whether or not motion compensation has been performed on the image of each frame, and the motion vector detection unit 182 It synthesizes with the motion vector input from 1 and adds the motion vector accuracy if necessary, and outputs it to the integration unit 2277.
- Integration section 2277 integrates the code input from pixel value encoding section 2276 and the additional code input from additional code generation section 2275, and outputs the integrated code to a device (not shown).
- steps S821 to S825 an image is input, and each frame of the image is divided into predetermined blocks. Based on the divided blocks, motion vectors are detected, the accuracy of each motion vector (motion vector accuracy) is calculated, and the same process is repeatedly executed until the motion vector accuracy is calculated for all blocks. Is done.
- step S826 the motion compensation unit 2272 performs motion compensation based on the input image and the motion vector. That is, the difference between the images of the previous and next frames is calculated based on the motion vector, and a difference image (motion compensated image) is created.
- step S827 based on the control of the control unit 2274, the selection unit 2273 selects either the input image or the motion-compensated image supplied from the motion compensation unit 2272. That is, when the motion vector accuracy is sufficiently large, the control unit 2274 causes the selection unit 2273 to select a motion-compensated image as an image to be coded, and otherwise selects an input image. Either the input image or the motion-compensated image is selected based on the motion vector accuracy, so the reliability is low and the motion-compensated image using the motion vector can be prevented from being used. It becomes.
- the selection unit 2273 supplies the selected image to the pixel value encoding unit 2276.
- step S828 the pixel value encoding unit 2276 encodes the image (input image or motion-compensated image) selected in the process in step S828.
- step S829 based on the control from the control unit 2274, the additional code generation unit 2275 generates an additional code indicating whether or not the encoded image required at the time of decoding is a motion-compensated image. create.
- This additional code can include the motion vector accuracy.
- step S830 the integrating unit 2277 integrates the image encoded by the processing of step S828 and the additional code created by the processing of step S829, and outputs the resultant to an apparatus (not shown).
- the integrating unit 2277 integrates the image encoded by the processing of step S828 and the additional code created by the processing of step S829, and outputs the resultant to an apparatus (not shown).
- FIG. 69 shows an example in which the present invention is applied to a camera shake correction device 2301.
- the camera shake correction device 2301 is applied to, for example, a digital video camera.
- the input image is input to background motion detection section 2311 and output image generation section 2314.
- the background motion detection unit 2311 detects the background motion as well as the input image force and outputs it to the displacement accumulation unit 2312. The detailed configuration of the background motion detection unit 2311 will be described later with reference to FIG.
- the displacement accumulation unit 2312 accumulates the displacement amount from the input background motion, and outputs the accumulated displacement amount to the camera shake determination unit 2313 and the output image generation unit 2314.
- the camera shake determination unit 2313 determines whether or not the input displacement information has a camera shake force based on a predetermined threshold, and outputs the determination result to the output image generation unit 2314.
- the output image generation unit 2314 generates an output image from the supplied input image based on the displacement input from the displacement accumulation unit 2312 and the determination result input from the camera shake determination unit 2313. For example, it is recorded on a writable recording medium 315 such as an HDD (Hard Disk Drive), a video tape, or the like. Also, the output image generation unit 2314 outputs the generated image to a display unit 2316 composed of, for example, an LCD (Liquid Crystal Display) and displays it.
- a display unit 2316 composed of, for example, an LCD (Liquid Crystal Display) and displays it.
- FIG. 70 illustrates a detailed configuration example of the background motion detection unit 2311 in FIG.
- the background motion detection unit 2311 is configured by a motion calculation unit 2321, a frequency distribution calculation unit 2322, and a background motion determination unit 2323.
- the motion calculation unit 2321 has substantially the same configuration as the image processing device 1801 in FIG. 63 described above.
- the input image is supplied to the motion vector detection unit 1821 of the motion calculation unit 2321.
- the motion vector detection unit 1821 detects an input image force motion vector, and outputs the detected motion vector and the input image to the motion vector accuracy calculation unit 1822.
- the motion vector accuracy calculation unit 1822 calculates the accuracy (motion vector accuracy) of the corresponding motion vector based on the input motion vector and the input image, and outputs the calculated motion vector accuracy to the frequency distribution calculation unit 2322.
- Frequency distribution calculation section 2322 calculates the frequency distribution of motion vectors. However, the frequency is weighted by using the motion vector accuracy VC supplied from the motion calculation unit 2321 so that a weight is given to a certain motion.
- the background motion determining unit 2323 performs a process of determining a motion having the maximum frequency as a background motion based on the frequency distribution calculated by the frequency distribution calculating unit 2322, and outputs the motion to the displacement accumulating unit 2312.
- a camera shake correction process of the camera shake correction device 2301 will be described.
- steps S831 to S834 an input image is obtained, and a frame of the image is divided into predetermined blocks. Based on the divided blocks, for example, a motion vector is detected by a block matching method, and the accuracy (motion vector accuracy) of each motion vector is calculated.
- the value of motion solid accuracy VC is normalized as a value between 0 and 1, and the closer the value is to 1, the higher the accuracy. Therefore, the frequency distribution obtained in this manner is a frequency distribution in which the motion vectors are weighted based on their accuracy. This reduces the possibility that a motion with low accuracy is determined as a background motion.
- step S836 the motion vector accuracy calculation section 1822 determines whether or not a force has been calculated for the motion vector accuracy for all blocks. Still processing If there is a block, the process returns to step S834, and the processes of step S834 and step S835 are repeatedly executed for the next block.
- the process proceeds to step S837, and the background motion determination unit 2323 executes processing for searching for the maximum value of the frequency distribution. I do. That is, the background motion determining unit 2323 selects one having the highest frequency from the frequencies calculated by the frequency distribution calculating unit 2322, and determines a motion vector corresponding to the frequency as a motion vector of the background motion. The motion vector of the background motion is supplied to the displacement accumulation unit 2312.
- step S838 the displacement accumulation unit 2312 sequentially stores motion vectors as background motion of each frame.
- step S839 the camera shake determination unit 2313 determines whether or not the amount of displacement (absolute value) of the motion vector as the background motion is larger than a preset threshold value, so that the input image is It is determined whether the image is blurred due to camera shake. If the amount of displacement is larger than the threshold, it is determined that the camera is shake, and if it is smaller than the threshold, it is determined that it is not camera shake. The camera shake determination unit 2313 supplies the determination result to the output image generation unit 2314.
- step S840 when it is determined that the camera shake has occurred, in step S840, the output image generation unit 2314 outputs the image shifted by the amount of displacement opposite to the amount of displacement at that time. Generate and output. As a result, the user can record or view the V and the image with little camera shake.
- step S839 when it is determined in step S839 that the image is not a camera shake, the process proceeds to step S841, and the output image generation unit 2314 outputs the input image as it is.
- the output image is recorded on the recording medium 2315 and displayed on the display unit 2316.
- FIG. 72 shows an example of a storage device 2341 to which the present invention is applied.
- HDD Hard Disk
- the storage device 2341 as a recorder includes a selection unit 2351, a recording medium (HDD) 2352, an index creation unit 2353, a scene change detection unit 2354, a control unit 2355, and an index table. It comprises a table 2356, a selection unit 2357, a display image creation unit 2358, an overall control unit 2359, and an instruction input unit 2360.
- the selection unit 2351 selects an image or an input image recorded on the recording medium 2352 based on the control of the overall control unit 2351, and generates an index creation unit 2353, a scene change detection unit 2354, and a selection unit 2357. To supply. An image is recorded on the recording medium 2352 constituted by the HDD based on the control of the overall control unit 2359.
- the scene change detection unit 2354 also detects a scene change with the supplied image power, and supplies the detection result to the control unit 2355.
- the control unit 2355 controls the index creation unit 2353 and the index table 2356 based on the supplied detection result.
- the index creation unit 2353 uses an image recorded on the recording medium 2352, which is a reduced image of the first image of each scene when a scene change is determined.
- An index image and additional information (time code, address, etc.) for specifying the position on the recording medium 2352 of the image corresponding to the index image are extracted and supplied to the index table 2356.
- the index table 2356 holds the supplied index image and the attached caro information corresponding thereto. Also, the index table 2356 supplies additional information corresponding to the index image to be held and stored to the overall control unit 2359 based on the control of the control unit 2355.
- the selection unit 2357 selects one of the image supplied from the selection unit 2351 or the index image input from the index table 2356 according to the instruction of the overall control unit 2359, and outputs it to the display image creation unit 2358.
- the display image creation unit 2358 creates, outputs, and displays an image that can be displayed on the image display device 2365 from the input image according to the instruction of the overall control unit 2359.
- the control unit 2355 controls the index creation unit 2353 and the index table 2356 based on the scene change flag output from the scene change detection unit 2354 and the control of the overall control unit 2359.
- the overall control unit 2359 is constituted by, for example, a microcomputer or the like, and controls each unit.
- the instruction input unit 2360 includes various buttons, switches, and remote controllers. A signal corresponding to the user's instruction is output to the overall control unit 2359.
- FIG. 73 shows a detailed configuration example of the scene change detection unit 2354 in FIG.
- a scene change detection unit 2354 is configured by the motion calculation unit 2371, the motion vector accuracy average value calculation unit 2372, and the threshold value determination unit 2373.
- the motion calculation unit 2371 has substantially the same configuration as the image processing device 1801 in FIG. 64 described above.
- the motion vector detection unit 1821 also detects a motion vector based on the image power input from the selection unit 2351, and outputs the detected motion vector and the input image to the motion vector accuracy calculation unit 1822.
- the motion vector accuracy calculation section 1822 calculates the accuracy (motion vector accuracy) of the corresponding motion vector based on the input motion vector and the input image, and outputs the calculated motion vector accuracy average value calculation section 2372.
- the motion vector accuracy average value calculation unit 2372 calculates the average value of the motion vector accuracy VC supplied from the motion operation unit 2371 over the entire screen, and outputs the average value to the threshold value determination unit 2373.
- the threshold value determination unit 2373 compares the average value supplied from the motion vector accuracy average value calculation unit 2372 with a predetermined threshold value, and determines whether or not a scene change has occurred based on the comparison result. , And outputs the determination result to the control unit 2355.
- steps S871 to S874 is the same as the processing in steps S501 to S504 described with reference to Fig. 44. That is, an image is input by these processes, and the frame of the image is divided into predetermined blocks. Based on the divided blocks, for example, a motion vector is detected by a block matching method, and the accuracy of each motion vector (motion vector accuracy) is calculated.
- step S875 the motion vector accuracy average value calculation unit 2372 calculates the sum of the motion vector accuracy of the image (the image being recorded on the recording medium 2352) input via the selection unit 2351. Specifically, the motion vector accuracy average value calculation unit 2372 calculates the average of each block output from the integration processing unit 1853 of the motion vector accuracy calculation unit 1822 of the motion calculation unit 2371. A process of adding the value of the calculated motion vector accuracy VC is executed. In step S876, the motion vector accuracy calculation unit 1822 determines whether or not the force has calculated the motion vector accuracy VC for all the blocks, and if not completed, repeats the processing of step S874 and step S875. .
- step S876 the total sum of the motion vector accuracy VC of all the blocks for one screen is calculated. If it is determined in step S876 that the calculation processing of the sum of the motion vector accuracy VC for the entire screen has been completed, the process proceeds to step S877, where the motion vector accuracy average value calculation unit 2372 calculates the average value of the motion vector accuracy VC. Is performed. Specifically, a value obtained by dividing the sum of the motion vector accuracy VC for one screen calculated in the process of step S875 by the number of added blocks is calculated as an average value. Therefore, this average value is one for one screen (one frame).
- step S878 the threshold determination unit 2373 compares the average value of the motion vector accuracy VC calculated by the average motion vector accuracy calculation unit 2373 in the process of step S877 with a preset threshold. , And outputs the comparison result to the control unit 2355.
- step S879 the control unit 2355 determines whether the average value is smaller than the threshold value based on the comparison result of the threshold value determination unit 2373.
- the control unit 2355 controls the index creation unit 2353 to create an index image in step S880.
- step S881 under the control of the control unit 2355, the index creation unit 2353 reduces the size of the image of the first frame of a new scene, and generates an index image. For example, when 3 ⁇ 3 index images are arranged and displayed on one screen, an index image is generated by reducing the size of the original image in the vertical and horizontal directions to 1/3 each. At this time, the index creating unit 2353 extracts additional information (time code, address, etc.) for specifying the recording position of the frame image on the recording medium 2352.
- additional information time code, address, etc.
- step S881 the index creation unit 2353 creates the index in the process of step S880.
- the index image and the additional information corresponding to the index image are recorded in the index table 2356.
- step S879 If it is determined in step S879 that the average value of the motion vector accuracy VC is equal to or larger than the threshold value, it is unlikely that a scene change has occurred, and the processing in steps S880 and S881 is skipped, and the index image is skipped. Is not created.
- step S882 the control unit 2355 determines whether or not the end of the recording has been instructed by the user. If the end has not been instructed, the process returns to step S871. Is repeated. When the end of the recording is instructed, the process ends.
- step S901 the overall control unit 2359 reproduces and outputs an image recorded on the recording medium 2352 based on the operation of the instruction input unit 2360 by the user.
- the selection unit 2351 supplies the image reproduced by the recording medium 2352 to the display image creation unit 2358 via the selection unit 2357.
- the display image creation unit 2358 converts the input image into an image that can be displayed on the image display device 2365, outputs the image to the image display device 2365, and displays the image.
- step S902 the overall control unit 2359 determines whether or not the display of the index image has been instructed by the user operating the instruction input unit 2360. If an instruction to display the index image is input from the user, if not, the process returns to step S901, and the subsequent processes are repeatedly executed. That is, the process of reproducing and outputting (displaying) the recorded image of the recording medium 2352 to the image display device 2365 is continued.
- the overall control unit 2359 controls the index table 2356 to output the index image recorded therein. That is, the index table 2356 reads out the index images as a list, and outputs them to the display image creation unit 2358 via the selection unit 2357.
- the display image creation unit 2358 displays the list of input index images as an image Output to display device 2365 and display. As a result, the image display device 2365 displays a list in which 3 ⁇ 3 index images are arranged on one screen.
- step S906 the overall control unit 2359 determines whether or not the index image displayed on the image display device 2365 has been selected. If it is determined that the index image has been selected, the process returns to step S903, and the subsequent processes are repeatedly executed. That is, a list of index images is continuously displayed by the image display device 2365.
- step S 905 when it is determined that an index image is selected (when a desired index image in the list of index images is selected (instructed) by the user), in step S 905, the overall control unit The 2359 reproduces the recorded image that also starts the image power corresponding to the selected index image from the recording medium 2352, outputs it to the image display device 2365 via the selection unit 2351, the selection unit 2357, and the display image creation unit 2358, and displays the image.
- the overall control unit 2359 reads from the index table 2356 the additional information (time code, address, etc.) corresponding to the index image selected in step S904. Is read, the recording medium 2352 is controlled, the subsequent image is reproduced from the image corresponding to the index image, output to the image display device 2365, and displayed.
- step S906 overall control unit 2359 determines whether or not termination has been instructed. By operating the instruction input unit 2360 by the user, it is determined whether or not an instruction to end image output (display) has been input. If it is determined that the end instruction has not been input, the process returns to step S901, and the subsequent processes are repeatedly executed. On the other hand, if it is determined that the end instruction has been input, the process ends.
- the storage device 2341 is also applicable when the recording medium is, for example, a DVD, a video tape, or the like.
- the above-described series of processing can be executed by hardware or can be executed by software.
- a program built into the software A computer built into dedicated hardware or a general-purpose personal computer that can execute various functions by installing various programs, such as a general-purpose personal computer. Or installed from a recording medium.
- the step of executing the above-described series of processing includes, in addition to the processing performed in chronological order in the described order, the processing is not necessarily performed in chronological order. This includes processes executed individually.
- FIG. 76 shows an example in which the present invention is applied to a surveillance camera system.
- an image captured by an imaging unit 2801 including a CCD video camera or the like is displayed on an image display 2802.
- the tracking target detection unit 2803 detects a tracking target from the image input from the imaging unit 2801, and outputs a detection result to the object tracking unit 2805.
- the object tracking unit 2805 operates to track the tracking target specified by the tracking target detection unit 2803 in the image supplied from the imaging unit 2801.
- the object tracking unit 2805 has basically the same configuration as the object tracking device 1 of FIG. 1 described above.
- the camera driving unit 2804 drives the imaging unit 2801 based on the control from the object tracking unit 2805 so that the imaging unit 2801 captures an image centered on the tracking target tracking point.
- the control unit 2806 is configured by, for example, a microcomputer or the like, and controls each unit.
- the control unit 2806 is connected to a removable medium 2807 composed of a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk or the like as needed, and is supplied with a program and other various data as needed. .
- the imaging unit 2801 captures an image of the monitoring area, and outputs the captured image to the tracking target detection unit 2803, the object tracking unit 2805, and the image display 2802. I have.
- the tracking target detection unit 2803 executes a process of detecting a tracking target from the image input from the imaging unit 2801. For example, when a moving object is detected, the tracking target detection unit 2803 detects the moving object as a tracking target.
- the tracking target detection unit 2803 for example, A point with high luminance or a point at the center of the tracking target is detected as a tracking point and output to the object tracking unit 2805.
- step S932 the object tracking unit 2805 executes tracking processing for tracking the tracking point detected in step S931.
- This tracking processing is the same processing as the processing of the object tracking device 1 in FIG. 1 described above.
- step S933 the object tracking unit 2805 detects the position of the tracking point on the screen. Then, in step S934, the object tracking unit 2805 detects a difference between the position of the tracking point detected by the processing in step S933 and the center of the image. In step S935, the object tracking unit 2805 generates a camera drive signal corresponding to the difference detected in the processing in step S934, and outputs the generated signal to the camera drive unit 2804. In step S936, the camera driving unit 2804 drives the imaging unit 2801 based on the camera driving signal. As a result, the imaging unit 2801 pans or tilts so that the tracking point is located at the center of the screen.
- step S937 control unit 2806 determines whether or not the power to end the monitoring process is based on an instruction from the user. If the user has not instructed to end, the process returns to step S931. Is repeatedly executed. When the user instructs the end of the monitoring process, it is determined in step S937 that the monitoring process is to be ended, and the control unit 2806 ends the monitoring process.
- a moving object is automatically detected as a tracking point, and an image centered on the tracking point is displayed on image display 2802. This makes it possible to more easily and reliably perform the monitoring process.
- FIG. 78 shows a configuration example of another surveillance camera system to which the present invention is applied.
- the monitoring system 2900 includes an imaging unit 2901, an image display 2902, an object tracking unit 2903, a camera driving unit 2904, a control unit 2905, an instruction input unit 2906, and a removable medium 2907.
- the imaging unit 2901 is configured by a CCD video camera or the like, and outputs a captured image to the image display 2902 and the object tracking unit 2903.
- the image display 2902 displays the input image.
- the object tracking unit 2903 has basically the same configuration as the object tracking device 1 of FIG. 1 described above.
- Camera drive unit 29 In step 04, the imaging unit 2901 is panned and tilted in a predetermined direction based on control from the object tracking unit 2903.
- the control unit 2905 is configured by, for example, a microcomputer or the like, and controls each unit.
- the instruction input unit 2906 is configured by various buttons, switches, a remote controller, or the like, and outputs a signal corresponding to a user's instruction to the control unit 2905.
- the removable medium 2907 includes a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and the like, is connected as necessary, and appropriately supplies necessary programs and data to the control unit 2905.
- step S961 the control unit 2905 determines whether a tracking point has been designated by the user. If the tracking point has not been specified, the process proceeds to step S969, and the control unit 2905 determines whether or not the force has been instructed to end the process by the user. If the end has not been instructed, the process returns to step S961. Is repeatedly executed.
- the user looks at the image displayed on the image display 2902, and when, for example, a suspicious person is displayed, specifies a predetermined point of the suspicious person as a tracking point. This designation is performed by operating the instruction input unit 2906. If the user specifies a tracking point, it is determined in step S961 that a tracking point has been specified, and the flow advances to step S962 to perform tracking processing.
- the processing executed in steps S962 to S967 is the same as the processing executed in steps S932 to S937 in FIG. 77. That is, thereby, the imaging unit 2901 is driven such that the designated tracking point is located at the center of the screen.
- step S967 control unit 2905 determines whether or not termination of monitoring has been instructed. If instructed, the process ends, but if not instructed, the process proceeds to step S968, where the user It is determined whether or not the force for instructing the cancellation of the tracking is provided. The user, for example, Once the user has specified that tracking is not a suspicious individual, the user can operate the instruction input unit 2906 to instruct cancellation of tracking. If it is determined in step S968 that cancellation of tracking has not been instructed, control unit 2905 returns to step S962 and executes the subsequent processing. That is, in this case, the process of tracking the designated tracking point is continued.
- step S968 If it is determined in step S968 that tracking cancellation has been instructed, the tracking processing is canceled, the processing returns to step S961, and the subsequent processing is repeatedly executed.
- the image of the tracking point specified by the user is displayed at the center of the image display 2902. Therefore, the user can arbitrarily select a desired image and perform detailed monitoring.
- the present invention is not limited to television receivers and surveillance camera systems, but can be applied to various image processing devices.
- the present invention is also applicable to a case where a force field in which a processing unit of an image is a frame is a processing unit.
- the above-described series of processing can be executed by hardware or can be executed by software.
- a series of processing is executed by software, it is possible to execute various functions by installing a computer built in hardware dedicated to the program power constituting the software or various programs. It is installed in a possible, for example, general-purpose personal computer from a network or a recording medium.
- this recording medium is a magnetic disk (floppy disk) on which the program is recorded, which is distributed to provide the program to the user separately from the apparatus main body.
- Optical disks CD-ROM (Compact Disk-Read Only)
- DVD Digital Versatile Disk
- magneto-optical disk including MD (Mini-Disk)
- removable media 2807 and 2907 consisting of semiconductor memory etc. It is composed of a ROM node disk that stores programs and is provided to the user in an embedded state.
- the system represents the entire device including a plurality of devices.
- FIG. 80 shows a configuration example when the present invention is applied to a surveillance camera system.
- the surveillance camera system 3001 an image captured by an imaging unit 3021 including a CCD video camera or the like is displayed on an image display 3023.
- the tracking target detection unit 3024 detects a tracking target from the image input from the imaging unit 3021, and outputs a detection result to the object tracking unit 3026.
- the object tracking unit 3026 has basically the same configuration as the object tracking device 1 of FIG. 1 described above! /
- the object tracking unit 3026 operates to track a tracking point specified by the tracking target detection unit 3024 in the image supplied from the imaging unit 3021.
- the area setting unit 3025 sets a predetermined area (area) around the object including the tracking point from the image captured by the imaging unit 3021 based on the output result from the object tracking unit 3026, Is output to the image correction unit 3022.
- the image correction unit 3022 corrects the area set by the area setting unit 3025 in the image captured by the imaging unit 3021 to remove blur (focus blur) of the image, and outputs the corrected image to the image display 3023.
- the camera driving unit 3029 drives the imaging unit 3021 based on the control from the object tracking unit 3026 so that the imaging unit 3021 captures an image centered on the tracking point.
- the control unit 3027 is configured by, for example, a microcomputer or the like, and controls each unit.
- the control unit 3027 is connected to a removable medium 3028 such as a semiconductor memory, a magnetic disk, an optical disk, or a magneto-optical disk as needed, and is supplied with a program and various other data as needed.
- the control unit 3027 also receives an input of an instruction (command or the like) from the user via an input / output interface (not shown).
- the imaging unit 3021 captures an image of the area to be monitored, and the captured image is captured by the tracking target detection unit 3024, the object tracking unit 3026, and the like. Then, the image is output to the image display 3023 via the image correction unit 3022.
- the tracking target detection unit 3024 executes a process of detecting a tracking target from the image input from the imaging unit 3021. For example, when a moving object is detected, the tracking target detection unit 3024 detects the moving object as a tracking target. The tracking target detection unit 3024 detects, for example, a point with the highest luminance or a center point of the tracking target from the tracking targets as a tracking point, and outputs the tracking point to the object tracking unit 3026.
- step S1002 the object tracking unit 3026 executes a tracking process for tracking the tracking point detected in step S1001.
- a tracking point for example, the center of an eye or a head
- an object to be tracked for example, a person or an animal
- the tracking position is tracked. Is output to the area setting unit 3025.
- step S1003 the area setting unit 3025 determines, based on the output from the object tracking unit 3026, a predetermined area around the tracking target object (for example, a square having a predetermined size around the tracking point). Area) is set as the correction target area
- step S1004 the image correction unit 3022 executes an image correction process of correcting an image in the correction target area set by the area setting unit 3025 in the image picked up by the imaging unit 3021.
- the details of the image correction processing will be described later with reference to FIG. 93, but this processing provides a clear image from the image within the correction target area, from which the image blur has been removed.
- step S1005 the image display 3023 corrects the image corrected in step S1004, that is, the image captured by the imaging unit 3021, particularly so that only the correction target area becomes clear.
- the output image is output.
- step S1006 the object tracking unit 3026 detects the movement of the object based on the tracking result of the processing in step S1002, and outputs a camera driving signal for driving the camera so that the moved object can be imaged. It is generated and output to the camera driver 3027.
- step S1007 the camera driving unit 3027 drives the imaging unit 3021 based on the camera driving signal. As a result, the imaging unit 3021 may not be able to track Pan or tilt the camera as shown.
- control unit 3027 determines whether or not the force to end the monitoring process is based on an instruction from the user. If the user has not instructed to end, the process returns to step S1001, The subsequent processing is repeatedly executed. If the user gives an instruction to end the monitoring process, it is determined in step S1008 to end the process, and the control unit 3027 ends the monitoring process.
- the detected tracking target is tracked based on the tracking point information output from the tracking target detection unit 3024, and the tracking point is displayed on the screen displayed on the image display 3023.
- Control signal is output to the camera drive unit 3029 to control the drive of the camera (imaging unit 3021), and the position of the tracking point on the screen is adjusted. Tracking results such as information are output to the area setting unit 3025, the control unit 3027, and the like.
- FIGS. 82A to 82C are diagrams showing examples of images displayed on the image display 3023 in this case in a time-series manner.
- FIG.82A is an example of an image in which an object 3051 to be tracked is imaged by the imaging unit 3021. In this example, a person running in the left direction in the figure is imaged as an object 3051. .
- FIG. 82B the object 3051 force has moved to the left from the position in FIG. 82A, and in FIG. 82C, the object 3051 has moved further to the left from the position in FIG. 82B.
- step S1001 in Fig. 81 the tracking target detection unit 3024 detects the object 3051, and outputs the eye of the object 3051 (person) to the object tracking unit 3026 as the tracking point 3051A.
- step S1002 a tracking process is performed by the object tracking unit 3026, and a predetermined area around the tracking target object 3051 (tracking point 3 051A) is set as the correction target area 3052 in step S 1003 by the area setting unit 3025. .
- the object tracking unit 3026 tracks the object 3051 based on the tracking point 3051A. Therefore, when the object 3051 moves, the tracking point 3051A also moves, and the tracking result (position) is changed to the area. Output to setting section 3025. Therefore, as shown in FIGS. 82A to 82C, when the object 3051 moves to the left in the drawing, the correction target area 3052 also moves to the left in the drawing.
- the setting of the correction target area 3052 corresponding to the moving object 3051 (tracking point 3051 A) is performed, for example, as follows.
- FIG. 83 shows an example in which a square area of a predetermined size is set around the tracking point as the correction target area.
- the correction target area 3071A is set first.
- As the first correction target area 3071A for example, a certain range centered on the tracking point 3051A is set. Of course, when specified by the user, the specified range is set as the correction target area 3071A.
- the area setting unit 25 stores the coordinates ( ⁇ , ⁇ ) of the upper left corner of the correction target area 3071A in the built-in memory.
- the tracking point 305 1A of the object 3051 moves, the tracking by the object tracking unit 3026 is performed, and the tracking point 3051A is moved in the X-axis direction (left-right direction in the figure) and the ⁇ -axis direction (up-down direction in the figure) on the screen. Information on the position (or moving distance) is supplied to the area setting unit 3025 as a tracking result.
- the correction target area is set based on the coordinates of the upper left corner described above. For example, when the tracking point 3051A moves on the screen by ⁇ in the X-axis direction and y in the ⁇ -axis direction, the area setting unit 3025 sets the coordinates ( ⁇ , ⁇ ) at the upper left of the correction target area 3071A to ⁇ and ⁇ . y is added, the coordinates (X + x, Y + y) are calculated, the coordinates are stored as the coordinates of the upper left corner of the new correction target area 3071B, and the correction target area 3071B is set.
- Tracking point 3051 Eight 3 ⁇ 4 (If the axis moves further by a in the axis direction and b in the Y axis direction, the area setting unit 3025 sets the coordinates ( ⁇ + ⁇ , ⁇ + y) at the upper left of the correction target area 3071A to indicate a and a. b is calculated, coordinates (X + x + a, Y + y + b) are calculated, the coordinates are stored as the coordinates of the upper left corner of the new correction target area 3071C, and the correction target area 3071C is calculated. Set.
- the correction target area also moves as the object (tracking point) moves.
- the image in the correction target area 3052 is subjected to image correction processing (step S1004 in Fig. 81) by the image correction unit 3022 to remove blur of the image and to display the image on the image display. Displayed at 3023. Accordingly, in the images shown in FIGS. 82A to 82C, the inside of the correction target area 3052 is clearly displayed, and the image of the background 3053 which is an area (background) outside the correction target area 3052 is the image in the correction target area 3052. Compared to, the display is relatively unclear.
- the correction target in the image displayed on the image display 3023 is displayed. Since the object 3051 in the area 3052 is always displayed clearly, a user who observes the image display 3023 naturally comes to notice the object 3051, and as a result, for example, intrusion of a suspicious person, movement of an object, etc. Can be found more quickly. In addition, since the object 3051 is clearly displayed, the user can accurately recognize the power of the moving object (for example, a person).
- the object tracking unit 3026 has basically the same configuration as the object tracking device 1 in Fig. 1 described above, and therefore the configuration and operation thereof will be described in more detail here. Description is omitted.
- the object tracking unit 3026 in Fig. 80 by configuring the object tracking unit 3026 in Fig. 80, the object 3051 to be tracked (Fig. 82) rotates, occlusion occurs, or the object 3051 is tracked due to a scene change. Even when the point 3051A disappears temporarily, the moving object 3051 (tracking point 3051A) in the image can be accurately tracked.
- the position information force of the tracking point 3051A of the object 3051 to be tracked in this way is output to the area setting unit 3025 as a tracking result by the object tracking unit 3026 in Fig. 80.
- the correction target area 3052 is set.
- the image correcting unit 3022 removes the blur (force blur) of the image in the correction target area 3052.
- FIG. 84 is a block diagram illustrating a detailed configuration example of the image correction unit 3022.
- a control signal generation unit 3741 that generates a control signal based on the output signal of the area setting unit 3025 and supplies the control signal to each unit in the image correction unit 3022, and an image feature that detects the characteristics of the input image A detection section 3742, an address calculation section 3743 for calculating an address based on the control signal, a coefficient ROM 3744 for outputting a predetermined coefficient stored in advance based on the address calculated by the address calculation section 3743, and an input image
- An area extraction unit 3745 is provided for extracting a plurality of pixels corresponding to a predetermined area in the area.
- a product-sum operation based on the coefficient output from the coefficient ROM 3744 is performed on the pixel level output from the region extraction unit 3745, and a newly corrected pixel level is output.
- a product-sum operation unit 3746, and an image synthesis unit 3747 that synthesizes and outputs an image in the correction target area 3052 and a background 3053 based on the output result of the product-sum operation unit 3746 and the control signal are provided.
- FIG. 85 is a diagram illustrating an example of a control signal generated by the control signal generation unit 3741.
- the control signal A is a signal that specifies a portion to be corrected (correction target area 3052) in the input image, is generated based on the output of the area setting unit 3025, and is transmitted to the region extraction unit 3745 and the image synthesis unit 3747. Supplied.
- the control signal B is a signal for specifying a parameter ⁇ representing the degree of blur described later, and is supplied to the address calculation unit 3743.
- the value of the parameter ⁇ is, for example, specified based on a user's specification performed via the control unit 3027, and is set in advance.
- the control signal C is a signal for specifying the switching of the weight Wa of the relational expression used to solve the blur model expression described later, and is supplied to the address calculation unit 3743.
- the control signal D is a signal for designating switching of a threshold used when detecting a feature of an image, and is supplied to the image feature detection unit 742.
- the control signals C and D may be set in advance in consideration of the characteristics of the surveillance camera system 3001, etc., or may be generated based on a user's specification performed via the control unit 3027. You can do it.
- the level X of the pixel in the image is set to a true value
- the level Y of the pixel in the image where the camera is out of focus and the subject is out of focus Observed values.
- the true value is represented by X (x, y)
- the value can be represented by Y (x, y).
- Equation (6) is applied as a blur model equation.
- the observed value Y (x, y) is obtained by convolving the true value X (x, y) with the Gaussian function shown in equation (7).
- the parameter ⁇ is a parameter representing the degree of blur.
- one observation value Y (x, y) is expressed by a plurality of true values X that vary with variables i and j (one r ⁇ i ⁇ r, r ⁇ j ⁇ r). It is obtained by weighting (x + i, y + j) with a coefficient W. Therefore, the level of one pixel in the unblurred image is assumed to have been obtained based on the levels of multiple pixels in the blurred image.
- the degree of blurring of an image changes depending on the value of the above-mentioned parameter ⁇ .
- the value of the parameter ⁇ is relatively small, the information of the true value is not widely diffused in the observed value, and the image has a relatively small blur.
- the value of the parameter ⁇ is relatively large, the information of the true value is widely diffused in the observed value, resulting in an image with relatively large blur.
- the degree of blurring of an image changes with a change in the value of the parameter ⁇ . Therefore, in order to correct image blur accurately, it is necessary to appropriately determine the value of the parameter ⁇ .
- the value of the parameter ⁇ is specified by the user.
- the optimal value may be set in advance in consideration of the characteristics of the visual acuity lens system 1 and the like.
- FIG. 86 ⁇ is a diagram showing true values ⁇ 0 to ⁇ 8 in a certain image assuming that pixels are arranged one-dimensionally in the horizontal direction for simplicity.
- Figure 86C is a diagram showing the observed values corresponding to Figure 86 ⁇ .
- FIG. 86 ⁇ is a diagram showing the magnitude of the coefficient W (i) in a bar graph shape.
- the variable i is --2 ⁇ i ⁇ 2
- the middle bar graph is the coefficient W (0)
- the leftmost bar graph is the coefficient W (-2), W (-l), W (0), W (l), and W (2).
- the observation value Y1 is obtained as follows by performing a calculation based on the portion indicated by the frame 3790-2 in Fig. 87.
- Fig. 88 and Fig. 89 show the relationship between Fig. 86 ⁇ and Fig. 86C in two dimensions. That is, the level of each pixel constituting FIG. 84 is an observed value, and is obtained by setting the level of each pixel constituting FIG. 89 as a true value. In this case, the observed value Y (x, y) corresponding to pixel ⁇ in FIG. 88 is obtained as follows.
- the observed value corresponding to pixel B in Fig. 88 (the pixel on the right of pixel A in the figure) corresponds to 25 pixels centered on pixel B '(corresponding to pixel B) in Fig. 89.
- the observed value corresponding to pixel C in FIG. 88 is calculated based on the true values corresponding to 25 pixels centering on pixel C ′ (corresponding to pixel C) in FIG. Required.
- the equations for obtaining the observed values Y (x + l, y) and Y (x + 2, y) corresponding to pixels B and C in FIG. 88 are shown below.
- Y (x + 1, y) W (— 2, — 2) X (x— 1, y-2) + W (— 1, — 2) X (x, y— 2) + W ( 0, —2) X (x—l, y—2).
- Y (x + 2, y) W (— 2, — 2) X (x, y— 2) + W (— 1, — 2) X (x + l, y— 2) + W ( 0, -2) X (x + 2, y-2) ...
- Equations (12) to (15) are used to limit the difference between the levels of adjacent pixels, and the true value to be obtained is determined by the flatness of the image (a large difference from the level of adjacent pixels). If there is no part, there is no contradiction. However, if the true value to be obtained is an edge portion (there is a large difference from the level of an adjacent pixel), a contradiction occurs and the corrected image may be deteriorated. Therefore, in order to properly correct the blurred image, it is necessary to use the four relational expressions of Expressions (12) to (15) for each pixel so as not to cross the true edge portion. .
- the image feature detection unit 3742 determines an edge portion and a flat portion in the input image, and generates a code p2 indicating in which direction (for example, up, down, left, and right) the image is flat. I do.
- the detailed operation of the image feature detection unit 3742 will be described later with reference to FIG. Further, in the present invention, it is assumed that the determination result of the edge portion and the flat portion in the input image (observed value) is equal to the determination result of the edge portion and the flat portion in the true value.
- functions W1 to W4 that are functions of the code p2 are weighting functions.
- the weighting functions W1 to W4 are controlled in accordance with the code p2 so that the relational expressions for each pixel can be properly used.
- Figure 90 shows the code p2 The values of the weight functions Wl to W4 corresponding to are shown.
- the code p2 is made up of 4 bits, and each bit indicates whether the left force is also flat in the upward, right, down, or left direction in order.
- the corresponding bit is set to "1". For example, when the code p2 is “0001”, it indicates that the pixel is flat to the left of the target pixel and not flat (there is an edge) in the other directions. Therefore, when the code p2 is “0001”, the value of the weighting function W4 increases, and the weight of the equation (15) among the four relational equations of the equations (12) to (15) increases. By doing so, the weights of the four relational expressions can be changed by the code p2, and the four relational expressions can be used and divided for each pixel so as to cross the edge.
- the function Wa is another weighting function, and the value of the weighting function Wa also changes according to the code pi.
- the value of the weighting function Wa By changing the value of the weighting function Wa, the overall noise and details of the corrected image can be controlled. If the value of the weight function Wa is large, the effect of noise is perceived to be small in the corrected image, and the noise perception is reduced. Also, when the value of the weighting function Wa is small, it is felt that details are emphasized in the corrected image, and the sense of detail is improved.
- the code pi for changing the value of the weight function Wa corresponds to the control signal C in FIG.
- the coefficient Ws-1 related to the observed value Ys is held in the coefficient ROM 3744 in advance, and the input image extracted by the region extracting unit 3745 is used to calculate the determinant (product) of the expression (16). Sum operation) is performed by the product-sum operation unit 3746. In this way, each time the image is corrected, the blur can be corrected only by the product-sum operation that does not need to perform the inverse matrix operation.
- an inverse matrix operation is performed in advance for all conceivable combinations thereof, and the parameter ⁇ , code ⁇ 2, etc. The corresponding address is determined, and a coefficient different for each address is stored in the coefficient ROM3744.
- the relational expression is switched by changing the code p2 based on the feature of only the central pixel Xt in the frame (t), and the relational expression of the pixels other than the pixel Xt in the frame (t) is obtained.
- the code p2 may be pseudo-fixed to “1111”. By doing so, it is possible to limit the number of combinations of coefficients to 15.
- the domain of the Gaussian function is set to -2 ⁇ (x, y) ⁇ 2 in order to explain the principle of the blur (model equation).
- a range is set that can be used even if the value is sufficiently large.
- the relational expressions shown in Expressions (12) to (15) are not limited to the expressions that describe the features of the image.
- the example in which the relational expression is switched only to the center phase (Xt) of the blur has been described. You can change the way to switch the relational expressions depending on the!
- step S1801 the image correction unit 3022 detects a processing target area.
- the processing target area is an area in which blur correction is to be performed, that is, a correction target area 3052, and is detected based on a signal output from the area setting unit 3025.
- step S1802 the image correction unit 22 acquires the value of the parameter ⁇ .
- the parameter ⁇ may be specified by the user, or a preset value may be obtained.
- step S1803 the image correction unit 22 executes an image correction process described later with reference to FIG. Thereby, the blurred image is corrected and output.
- the image in the correction target area 3052 is a clear image with the image blur removed.
- step S1821 the image feature detection unit 3742 executes an image feature detection process described later with reference to Fig. 94. As a result, the direction in which the pixel of interest is flat is determined, and the code ⁇ 2 described above with reference to FIG. 90 is generated and output to the address calculation unit 3743.
- the address calculation unit 3743 calculates the address of the coefficient ROM 3744.
- the address of the coefficient ROM3744 is, for example, 4 bits corresponding to the code ⁇ 2 (output of the image feature detection unit 3742), 4 bits representing the value of the parameter ⁇ (control signal ⁇ in FIG. 85), and the above four relational expressions. It is composed of 2 bits (control signal C in Fig. 85) corresponding to the code pi for switching the weight function Wa, and there are 1024 (2 to the 10th power) addresses from 0 to 1023.
- the address calculator 3743 calculates the corresponding address based on the output of the image feature detector 3742, the control signal B, and the control signal C.
- step S1823 the address calculation unit 3743 reads a coefficient from the coefficient ROM 3744 based on the address calculated in step S1822, and supplies the coefficient to the product-sum calculation unit 3746.
- step S1824 product-sum operation unit 3746 performs a product-sum operation for each pixel based on the coefficient read in step S1823, and outputs the result to post-processing unit 3747.
- the image synthesizing unit 3747 executes an image synthesizing process described later with reference to FIG. Thus, it is determined for each pixel whether or not to output the input image that outputs the processing result of the product-sum operation unit 3746 as it is.
- step S1826 the post-processing unit 3747 outputs the selected image after the post-correction processing.
- step S1841 the image feature detection unit 3742 extracts a block, and in step S1842, calculates a difference between the blocks extracted in step S1841 (the details will be described later with reference to FIG. 96).
- step S1843 the image feature detection unit 3742 compares the block difference calculated in step S1842 with a preset threshold, and based on the comparison result, in step S1844, determines whether the pixel of interest is flat with respect to the pixel of interest. Outputs the code p2, which is the code indicating the direction.
- FIG. 95 is a block diagram illustrating a detailed configuration example of the image feature detection unit 3742.
- block cutout sections 3841-1 to 3845-1 for extracting a predetermined block from the input image.
- a block 3881 shown in FIG. 96A is a central block having a pixel of interest at its center, and is extracted by the block cutout unit 3841-5.
- a block 3882 shown in FIG. 96B is an upper block obtained by moving the block 3881 by one pixel in the drawing, and is extracted by a block extracting unit 3841-3.
- the block 3883 shown in FIG. 96C is a left block obtained by moving the block 3881 by one pixel to the left in the figure, and is extracted by the block cutout unit 3841-4.
- a block 3884 shown in FIG. 96D is a lower block in which the block 3881 is moved downward by one pixel in the drawing, and is extracted by the block cutout unit 3841-1.
- a block 3885 shown in FIG. 96 ⁇ is a right block obtained by moving the block 3881 by one pixel to the right in the figure, and is extracted by the block cutout unit 3841-2.
- step S 1841 For each element, five blocks of blocks 3881 to 3885 are extracted.
- the information of the pixels constituting each block extracted by the block extracting units 3841-1 to 3841-5 is output to the block difference calculating units 3842-1 to 3842-4.
- the block difference calculation units 384-2-1 to 3842-4 calculate the difference between the pixels of each block, for example, as follows.
- the three pixels (levels) in the top row are a (3881), b (3881), and c (3881) from the left.
- the three pixels in the center row are d (3881), e (3881), and 3881) from the left.
- the three pixels in the bottom row are g (3881), h (3881), and i (3881) from the left.
- the three pixels (levels) in the top row are a (3884), b (3884), c (3884) from the left, and the center row is The three pixels are d (3884), e (3884), 3884) from the left, and the three pixels in the top row are g (3884), h (3884), i (3884) from the left .
- the block difference calculation unit 384-2-1 calculates the block difference B (l) as follows.
- B (l) I a (3881) -a (3884)
- the block difference B (l) is the sum of the absolute values of the differences between the levels of the corresponding pixels in the block 3881 (center) and the block 3884 (bottom).
- the block difference calculation unit 384-2-2 calculates the sum of the absolute values of the differences between the levels of the corresponding pixels in the block 3881 (center) and the block 3885 (right), and calculates the block difference B (2).
- the block difference calculation unit 3842-3 has a block 3881 (center) and a block 3882 (top), and the block difference calculation unit 3842-3 has a block 3881 (center) and a block 3883 (left).
- the sum of the absolute values of the level differences of the corresponding pixels is calculated, and the block differences B (3) and B (4) are calculated.
- step S1842 the block differences B (l) to B (4), which are the differences between the central block and the blocks in the four directions of up, down, left, and right, are calculated, and the result is calculated by the corresponding threshold determination unit.
- the minimum direction determination unit 844 At the same time as being output to 3843-1 through 3843-4, it is also supplied to the minimum direction determination unit 844.
- the threshold value judgment units 3843-1 through 3843-4 predict the block differences B (l) through B (4), respectively. It is compared with a set threshold to determine the magnitude. Note that this threshold is switched based on the control signal D. If the block differences B (1) to B (4) are larger than a preset threshold! /, The threshold determination units 3843-1 to 3843-4 determine that the direction is an edge portion, and If “0” is output, and if it is smaller than the threshold value, it is determined that the direction is a flat part, and “1” is output.
- step S1843 the block difference and the threshold are compared in this manner.
- the output results of the threshold value judgment units 3843-1 to 3843-4 are output to the selector 845 as 4-bit codes. For example, if the block differences B (l), B (3) and B (4) are smaller than the threshold and the block difference B (2) is larger than the threshold, "1011" is output as the code.
- the minimum direction determination unit 3844 determines the minimum value among the block differences B (1) to B (4), and outputs a 4-bit code corresponding to the determination result to the threshold determination units 3843-1 to 3843-1. It outputs to the selector 3845 at the same timing as the 3843-4 outputs the code. For example, when it is determined that B (l) is the smallest among the block differences (1) to (4), the minimum direction determining unit 3844 outputs “1000” to the selector 3845 as a code.
- step S1861 the image combining unit 3747 calculates the degree of dispersion of pixels based on the output result from the product-sum calculation unit 3746. As a result, the degree of dispersion of pixels around the target pixel is calculated.
- step S1862 the image combining unit 3747 determines whether or not the degree of dispersion calculated in step S1862 is greater than a preset threshold.
- step S1862 If it is determined in step S1862 that the degree of dispersion is greater than the threshold, the image combining unit 3747 sets the input image replacement flag corresponding to the pixel of interest to ON in step S1863. On the other hand, when it is determined that the degree of dispersion is not larger than the threshold, the image combining unit 3747 sets the input image replacement flag corresponding to the target pixel to OFF in step S1864.
- step S1865 the image synthesis unit 3747 determines whether or not all pixels have been checked. If it is determined that all pixels have not been checked yet, the process returns to step S1861, and the subsequent processing is performed. Is repeatedly executed. If it is determined in step S1865 that all the pixels have been checked, in step S1866, the image combining unit 3747 corrects the image and corrects the image in the correction target area 3052 and removes the image in the background 3053. Are combined and output to the image display 3023.
- FIG. 98 is a block diagram illustrating a configuration example of the image composition unit 3747.
- the output result from the product-sum operation unit 3746 is input to the block cutout unit 3901, and the block cutout unit 3901 is shown in FIG.
- the variance calculation unit 3802 calculates the degree of variance as follows.
- V ⁇ (a * — m) ⁇ * ⁇ (17)
- m represents the average value of (the level of) nine pixels in the block
- v is the sum of squares of the differences from the average value of each pixel
- step S1861 the degree of dispersion is calculated in this way, and the calculation result is output to threshold determination section 3903.
- the threshold determination unit 3903 compares the output result (degree of dispersion) from the variance calculation unit 3902 with a preset threshold, and when it is determined that the variance is larger than the threshold, the image synthesis unit 3747 The selection unit 3904 is controlled so that the input image replacement flag corresponding to the pixel is set to ON. If it is determined that the degree of dispersion is not larger than the threshold, the image synthesis unit 3747 controls the selection unit 3804 to set the input image replacement flag corresponding to the pixel of interest to OFF. In steps S1862 to S1864, it is determined whether or not the degree of dispersion is greater than the threshold, and an input image replacement flag is set based on the determination result.
- the switching unit 3905 switches and outputs the final processing result by the selection unit 3904 and the pixels of the input image. That is, the pixels of the image in the correction target area 3052 are determined as the final processing results by the selection unit 3904, and the pixels of the image of the background 3053 are switched so as to be the pixels of the input image.
- the object 3051 (Fig. 82) is tracked, and only the image in the correction target area 3052 including the object 3051 is corrected (corrected) so that the image blur is removed and displayed clearly. Is done. On the other hand, since the image of the background 3053 is displayed without removing the blur of the image, the user can naturally notice the moving object 3051.
- the image correction unit 3022 corrects the image in the correction target area 3052 in the image captured by the imaging unit 3021 so that the image blur is removed.
- the image correction unit 3022 changes the settings of the image in the correction target area 3052 without removing the blur, for example, the brightness and color of each pixel constituting the image.
- the image may be corrected so that it is simply highlighted.
- the user may not be able to visually recognize the object 3051 accurately in this way, the user can naturally naturally pay attention to the moving object 3051, and the image
- the image correction unit 3022 can have a simpler configuration as compared with the case where the correction is performed so that the image is removed, and as a result, the monitoring camera system 1 can be realized at lower cost. it can.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05703331A EP1710751A1 (en) | 2004-01-06 | 2005-01-06 | Image processing device and method, recording medium, and program |
US10/585,255 US7899208B2 (en) | 2004-01-06 | 2005-01-06 | Image processing device and method, recording medium, and program for tracking a desired point in a moving image |
KR1020067013647A KR101108634B1 (ko) | 2004-01-06 | 2005-01-06 | 화상 처리 장치 및 화상 처리 방법 및 기록 매체 |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004-000752 | 2004-01-06 | ||
JP2004000752 | 2004-01-06 | ||
JP2004-077398 | 2004-03-18 | ||
JP2004-077399 | 2004-03-18 | ||
JP2004077398 | 2004-03-18 | ||
JP2004077399 | 2004-03-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005066897A1 true WO2005066897A1 (ja) | 2005-07-21 |
Family
ID=34753491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/000063 WO2005066897A1 (ja) | 2004-01-06 | 2005-01-06 | 画像処理装置および方法、記録媒体、並びにプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7899208B2 (ja) |
EP (1) | EP1710751A1 (ja) |
KR (1) | KR101108634B1 (ja) |
WO (1) | WO2005066897A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007122275A (ja) * | 2005-10-26 | 2007-05-17 | Casio Comput Co Ltd | 動きベクトル検出装置及びそのプログラム |
US20090252374A1 (en) * | 2008-04-03 | 2009-10-08 | Sony Corporation | Image signal processing apparatus, image signal processing method, and program |
US20090304234A1 (en) * | 2008-06-06 | 2009-12-10 | Sony Corporation | Tracking point detecting device and method, program, and recording medium |
CN102087702A (zh) * | 2009-12-04 | 2011-06-08 | 索尼公司 | 图像处理设备、图像处理方法和程序 |
US20120013793A1 (en) * | 2006-06-28 | 2012-01-19 | Nokia Corporation | Video importance rating based on compressed domain video features |
US20120026332A1 (en) * | 2009-04-29 | 2012-02-02 | Hammarstroem Per Jonas | Vision Method and System for Automatically Detecting Objects in Front of a Motor Vehicle |
EP2448250A3 (en) * | 2006-01-31 | 2012-07-11 | Canon Kabushiki Kaisha | Method for displaying an identified region together with an image, and imaging apparatus |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4462176B2 (ja) * | 2005-12-05 | 2010-05-12 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
JP5045125B2 (ja) * | 2006-03-15 | 2012-10-10 | 株式会社ニコン | 被写体追尾装置および光学機器 |
US7952612B2 (en) * | 2006-06-22 | 2011-05-31 | Nokia Corporation | Method and system for image construction using multiple exposures |
JP4274233B2 (ja) * | 2006-11-30 | 2009-06-03 | ソニー株式会社 | 撮影装置、画像処理装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラム |
JP4293236B2 (ja) * | 2006-12-20 | 2009-07-08 | ソニー株式会社 | 撮像装置及び撮像方法 |
KR20080073933A (ko) | 2007-02-07 | 2008-08-12 | 삼성전자주식회사 | 객체 트래킹 방법 및 장치, 그리고 객체 포즈 정보 산출방법 및 장치 |
EP2036045A1 (en) * | 2007-07-11 | 2009-03-18 | Cairos technologies AG | Video tracking method and appartus arrangement for performing the method |
JP2009053815A (ja) * | 2007-08-24 | 2009-03-12 | Nikon Corp | 被写体追跡プログラム、および被写体追跡装置 |
TW200929071A (en) * | 2007-12-25 | 2009-07-01 | Altek Corp | Image processing method and image capture apparatusapplying the same |
KR101412772B1 (ko) * | 2008-04-29 | 2014-07-02 | 삼성전자주식회사 | 카메라 및 촬영 안내 정보 제공 방법 |
JP4513039B2 (ja) | 2008-05-30 | 2010-07-28 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
JP5451593B2 (ja) * | 2008-06-09 | 2014-03-26 | パナソニック株式会社 | 撮像装置、撮像方法 |
JP5279635B2 (ja) * | 2008-08-20 | 2013-09-04 | キヤノン株式会社 | 画像処理装置、画像処理方法、および、プログラム |
JP5213613B2 (ja) * | 2008-09-26 | 2013-06-19 | キヤノン株式会社 | 画像処理装置及び画像処理方法及び撮像装置及びプログラム |
JP5247338B2 (ja) * | 2008-10-03 | 2013-07-24 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
US8150149B2 (en) * | 2008-11-12 | 2012-04-03 | Arcsoft, Inc. | Automatic determination of exciting segments from a video |
JP4715909B2 (ja) * | 2008-12-04 | 2011-07-06 | ソニー株式会社 | 画像処理装置及び方法、画像処理システム、並びに、画像処理プログラム |
JP4760918B2 (ja) * | 2009-01-23 | 2011-08-31 | カシオ計算機株式会社 | 撮像装置、被写体追従方法、及びプログラム |
JP5552078B2 (ja) * | 2011-02-28 | 2014-07-16 | 株式会社メガチップス | 符号化装置 |
TWI424377B (zh) * | 2011-04-01 | 2014-01-21 | Altek Corp | 多畫面中物體的移動分析方法 |
JP2012234257A (ja) * | 2011-04-28 | 2012-11-29 | Sony Corp | 画像処理装置と画像処理方法およびプログラム |
GB2495526B (en) * | 2011-10-12 | 2016-08-31 | Savy Tech Ltd | Height measurement apparatus and method |
US9342735B2 (en) * | 2011-12-01 | 2016-05-17 | Finding Rover, Inc. | Facial recognition lost pet identifying system |
US20130273969A1 (en) * | 2011-12-01 | 2013-10-17 | Finding Rover, Inc. | Mobile app that generates a dog sound to capture data for a lost pet identifying system |
JP5877725B2 (ja) * | 2012-01-26 | 2016-03-08 | セコム株式会社 | 画像監視装置 |
WO2013132836A1 (ja) * | 2012-03-05 | 2013-09-12 | パナソニック株式会社 | 物体検出装置、物体検出方法、及び物体検出プログラム |
US20130242105A1 (en) * | 2012-03-13 | 2013-09-19 | H4 Engineering, Inc. | System and method for video recording and webcasting sporting events |
KR101919479B1 (ko) * | 2012-05-02 | 2018-11-19 | 삼성전자주식회사 | 카메라 모듈에서 플리커를 검출하는 장치 및 방법 |
JP6045254B2 (ja) * | 2012-08-20 | 2016-12-14 | キヤノン株式会社 | 画像処理装置、その制御方法、および制御プログラム |
US10460194B2 (en) * | 2014-03-07 | 2019-10-29 | Lior Wolf | System and method for the detection and counting of repetitions of repetitive activity via a trained network |
CN105100671A (zh) * | 2014-05-20 | 2015-11-25 | 西安中兴新软件有限责任公司 | 一种基于视频通话的图像处理方法和装置 |
JP6472336B2 (ja) | 2014-06-18 | 2019-02-20 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US10334159B2 (en) * | 2014-08-05 | 2019-06-25 | Panasonic Corporation | Correcting and verifying method, and correcting and verifying device |
KR20160024143A (ko) * | 2014-08-25 | 2016-03-04 | 삼성전자주식회사 | 영상 처리 방법 및 전자 장치 |
KR101816886B1 (ko) | 2014-10-22 | 2018-01-09 | 사회복지법인 삼성생명공익재단 | 호흡 유도 시스템 및 방법 |
JP6525545B2 (ja) * | 2014-10-22 | 2019-06-05 | キヤノン株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US9665804B2 (en) * | 2014-11-12 | 2017-05-30 | Qualcomm Incorporated | Systems and methods for tracking an object |
CN104539825B (zh) * | 2014-12-18 | 2018-04-13 | 北京智谷睿拓技术服务有限公司 | 信息发送、接收方法及装置 |
SG11201707278SA (en) * | 2015-03-20 | 2017-10-30 | Ricoh Co Ltd | Display apparatus, display control method, display control program, and display system |
KR102410268B1 (ko) * | 2015-11-20 | 2022-06-20 | 한국전자통신연구원 | 객체 추적 방법 및 그 방법을 수행하는 객체 추적 장치 |
US10769442B1 (en) * | 2017-09-11 | 2020-09-08 | Amazon Technologies, Inc. | Scene change detection in image data |
US10636152B2 (en) | 2016-11-15 | 2020-04-28 | Gvbb Holdings S.A.R.L. | System and method of hybrid tracking for match moving |
JP6649306B2 (ja) * | 2017-03-03 | 2020-02-19 | 株式会社東芝 | 情報処理装置、情報処理方法及びプログラム |
JP2018151940A (ja) * | 2017-03-14 | 2018-09-27 | 株式会社デンソーテン | 障害物検出装置および障害物検出方法 |
CN107292240B (zh) * | 2017-05-24 | 2020-09-18 | 深圳市深网视界科技有限公司 | 一种基于人脸与人体识别的找人方法及系统 |
US11315256B2 (en) * | 2018-12-06 | 2022-04-26 | Microsoft Technology Licensing, Llc | Detecting motion in video using motion vectors |
TWI718459B (zh) | 2018-12-26 | 2021-02-11 | 晶睿通訊股份有限公司 | 影像分析方法及其影像分析裝置 |
CN112426711B (zh) * | 2020-10-23 | 2024-03-26 | 杭州电魂网络科技股份有限公司 | Bloom效果处理的方法、系统、电子装置和存储介质 |
US11483223B1 (en) * | 2021-03-30 | 2022-10-25 | Qualcomm Incorporated | Continuity of video calls using artificial frames based on identified facial landmarks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120364A (ja) * | 1997-10-13 | 1999-04-30 | Nippon Telegr & Teleph Corp <Ntt> | 特徴点追跡装置 |
JP2001043382A (ja) * | 1999-07-27 | 2001-02-16 | Fujitsu Ltd | 目追跡装置 |
WO2001097510A1 (en) * | 2000-06-15 | 2001-12-20 | Sony Corporation | Image processing system, image processing method, program, and recording medium |
JP2003256846A (ja) * | 2002-03-05 | 2003-09-12 | Sony Corp | 画像処理装置と画像処理方法および画像処理プログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61182389A (ja) | 1985-02-08 | 1986-08-15 | Hitachi Ltd | 画像信号処理装置 |
JPS62127976A (ja) | 1985-11-29 | 1987-06-10 | Kyocera Corp | 画像記録処理装置 |
JP3182808B2 (ja) | 1991-09-20 | 2001-07-03 | 株式会社日立製作所 | 画像処理システム |
AU7975094A (en) * | 1993-10-12 | 1995-05-04 | Orad, Inc. | Sports event video |
JPH08147477A (ja) * | 1994-09-20 | 1996-06-07 | Fujitsu Ltd | 局所領域画像追跡装置 |
US6985172B1 (en) * | 1995-12-01 | 2006-01-10 | Southwest Research Institute | Model-based incident detection system with motion classification |
US5878166A (en) * | 1995-12-26 | 1999-03-02 | C-Cube Microsystems | Field frame macroblock encoding decision |
JPH10134193A (ja) * | 1996-10-31 | 1998-05-22 | Oki Electric Ind Co Ltd | 移動ベクトル算出方法及び装置 |
AUPO894497A0 (en) * | 1997-09-02 | 1997-09-25 | Xenotech Research Pty Ltd | Image processing method and apparatus |
US6335985B1 (en) * | 1998-01-07 | 2002-01-01 | Kabushiki Kaisha Toshiba | Object extraction apparatus |
JP3738939B2 (ja) * | 1998-03-05 | 2006-01-25 | Kddi株式会社 | 動画像のカット点検出装置 |
US6643387B1 (en) * | 1999-01-28 | 2003-11-04 | Sarnoff Corporation | Apparatus and method for context-based indexing and retrieval of image sequences |
JP4407985B2 (ja) * | 1999-09-02 | 2010-02-03 | キヤノン株式会社 | 画像処理方法及び装置並びに記憶媒体 |
US6738424B1 (en) * | 1999-12-27 | 2004-05-18 | Objectvideo, Inc. | Scene model generation from video for use in video processing |
US6665423B1 (en) * | 2000-01-27 | 2003-12-16 | Eastman Kodak Company | Method and system for object-oriented motion-based video description |
US6731799B1 (en) * | 2000-06-01 | 2004-05-04 | University Of Washington | Object segmentation with background extraction and moving boundary techniques |
JP4596202B2 (ja) * | 2001-02-05 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、並びに記録媒体 |
JP2002369071A (ja) | 2001-06-08 | 2002-12-20 | Olympus Optical Co Ltd | 画像処理方法および、それを実装したデジタルカメラおよび、プログラム |
AUPR676201A0 (en) * | 2001-08-01 | 2001-08-23 | Canon Kabushiki Kaisha | Video feature tracking with loss-of-track detection |
US7206435B2 (en) | 2002-03-26 | 2007-04-17 | Honda Giken Kogyo Kabushiki Kaisha | Real-time eye detection and tracking under various light conditions |
US6954544B2 (en) * | 2002-05-23 | 2005-10-11 | Xerox Corporation | Visual motion analysis method for detecting arbitrary numbers of moving objects in image sequences |
US7095786B1 (en) * | 2003-01-11 | 2006-08-22 | Neo Magic Corp. | Object tracking using adaptive block-size matching along object boundary and frame-skipping when object motion is low |
-
2005
- 2005-01-06 US US10/585,255 patent/US7899208B2/en not_active Expired - Fee Related
- 2005-01-06 KR KR1020067013647A patent/KR101108634B1/ko not_active IP Right Cessation
- 2005-01-06 EP EP05703331A patent/EP1710751A1/en not_active Withdrawn
- 2005-01-06 WO PCT/JP2005/000063 patent/WO2005066897A1/ja not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11120364A (ja) * | 1997-10-13 | 1999-04-30 | Nippon Telegr & Teleph Corp <Ntt> | 特徴点追跡装置 |
JP2001043382A (ja) * | 1999-07-27 | 2001-02-16 | Fujitsu Ltd | 目追跡装置 |
WO2001097510A1 (en) * | 2000-06-15 | 2001-12-20 | Sony Corporation | Image processing system, image processing method, program, and recording medium |
JP2003256846A (ja) * | 2002-03-05 | 2003-09-12 | Sony Corp | 画像処理装置と画像処理方法および画像処理プログラム |
Non-Patent Citations (1)
Title |
---|
NAKAGAWA M. ET AL: "Handy Camera o Mochiite Satsuei Sareta Gazoretsu Kara no EPI no Hosei ni Motozuku shitsunai Kankyo 32 Jigen Saikochiku.", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS., vol. J84-D-II, no. 2, 1 February 2001 (2001-02-01), pages 266 - 275, XP002997145 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007122275A (ja) * | 2005-10-26 | 2007-05-17 | Casio Comput Co Ltd | 動きベクトル検出装置及びそのプログラム |
EP2448250A3 (en) * | 2006-01-31 | 2012-07-11 | Canon Kabushiki Kaisha | Method for displaying an identified region together with an image, and imaging apparatus |
EP2448249A3 (en) * | 2006-01-31 | 2012-07-18 | Canon Kabushiki Kaisha | Method for displaying an identified region together with an image, and imaging apparatus |
US20120013793A1 (en) * | 2006-06-28 | 2012-01-19 | Nokia Corporation | Video importance rating based on compressed domain video features |
US8989559B2 (en) * | 2006-06-28 | 2015-03-24 | Core Wireless Licensing S.A.R.L. | Video importance rating based on compressed domain video features |
US20090252374A1 (en) * | 2008-04-03 | 2009-10-08 | Sony Corporation | Image signal processing apparatus, image signal processing method, and program |
US8369571B2 (en) * | 2008-04-03 | 2013-02-05 | Sony Corporation | Image signal processing apparatus, image signal processing method, and program |
US20090304234A1 (en) * | 2008-06-06 | 2009-12-10 | Sony Corporation | Tracking point detecting device and method, program, and recording medium |
US20120026332A1 (en) * | 2009-04-29 | 2012-02-02 | Hammarstroem Per Jonas | Vision Method and System for Automatically Detecting Objects in Front of a Motor Vehicle |
CN102087702A (zh) * | 2009-12-04 | 2011-06-08 | 索尼公司 | 图像处理设备、图像处理方法和程序 |
CN102087702B (zh) * | 2009-12-04 | 2013-07-24 | 索尼公司 | 图像处理设备和图像处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1710751A1 (en) | 2006-10-11 |
KR101108634B1 (ko) | 2012-01-31 |
US7899208B2 (en) | 2011-03-01 |
KR20060123438A (ko) | 2006-12-01 |
US20090175496A1 (en) | 2009-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005066897A1 (ja) | 画像処理装置および方法、記録媒体、並びにプログラム | |
JP4725105B2 (ja) | 画像処理装置および方法、プログラム並びに記録媒体 | |
JP4489033B2 (ja) | フレームレート変換装置、パン・チルト判定装置および映像装置 | |
US7710498B2 (en) | Image processing apparatus, image processing method and program | |
US9262684B2 (en) | Methods of image fusion for image stabilization | |
EP2355038A1 (en) | Image processor and image processing method | |
JP2001086507A (ja) | 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、媒体、並びに画像処理装置 | |
US10121251B2 (en) | Method for controlling tracking using a color model, corresponding apparatus and non-transitory program storage device | |
US20130301951A1 (en) | Method and apparatus for removing image noise | |
JP2010021903A (ja) | リモートコントローラ、画像信号処理装置および画像信号処理方法 | |
WO2004055775A1 (ja) | 画像信号処理装置、画像信号処理方法、その方法を実行するためのプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な媒体 | |
JP4617883B2 (ja) | 画像処理装置および方法、プログラム並びに記録媒体 | |
JP2006211254A (ja) | 情報処理装置および回収基板 | |
KR100901945B1 (ko) | 화상 움직임 벡터 검출 장치 | |
JP4872672B2 (ja) | 学習装置と学習方法および学習プログラム | |
KR100816593B1 (ko) | 화상 처리 장치, 화상 처리 방법, 및 기록 매체 | |
JP2003333424A (ja) | 原画像復元装置、及び原画像復元プログラム | |
JP2010033532A (ja) | 電子機器、動きベクトル検出方法及びそのプログラム | |
JP4507639B2 (ja) | 画像信号処理装置 | |
JP4826316B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2007272731A (ja) | 画像処理装置および方法、並びにプログラム | |
JP4240674B2 (ja) | 動き検出装置および動き検出方法、並びに記録媒体 | |
JP4596248B2 (ja) | 画像処理装置と画像処理方法およびプログラム | |
JP2007272735A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2003271970A (ja) | テロップ領域抽出回路、テロップ領域抽出方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びに画像信号処理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2005703331 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10585255 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200580002018.4 Country of ref document: CN Ref document number: 1020067013647 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 2005703331 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020067013647 Country of ref document: KR |