WO2005066897A1 - 画像処理装置および方法、記録媒体、並びにプログラム - Google Patents

画像処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

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
Application number
PCT/JP2005/000063
Other languages
English (en)
French (fr)
Inventor
Tetsujiro Kondo
Tsutomu Watanabe
Tomoyuki Ohtsuki
Hitoshi Mukai
Nobuyuki Yamaguchi
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP05703331A priority Critical patent/EP1710751A1/en
Priority to US10/585,255 priority patent/US7899208B2/en
Priority to KR1020067013647A priority patent/KR101108634B1/ko
Publication of WO2005066897A1 publication Critical patent/WO2005066897A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

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

本発明は追尾点を確実に追尾することができるようにする画像処理装置および方法、記録媒体、並びにプログラムに関する。フレームn−1において、人の顔504の右目502が追尾点として追尾されている場合において、フレームnにおける場合のように、追尾点501が現れている場合には、その追尾点501がそのまま追尾される。フレームn+1のように、追尾対象の物体の顔504が回転することで、追尾点501としての右目502が見えなくなった場合には、右目502を有する対象物としての顔504の他の点である左目503に追尾点が乗り換えられる。本発明は監視カメラシステムに適用することができる。

Description

明 細 書
画像処理装置および方法、記録媒体、並びにプログラム
技術分野
[0001] 本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、 時々刻々と変化する動画像の中の所望の点を確実に追尾することができるようにした 、画像処理装置および方法、記録媒体、並びにプログラムに関する。
背景技術
[0002] 動画像の所望の点を自動的に追尾する方法が種々提案されて!、る。
[0003] 例えば、特許文献 1には、追尾対象に対応する 1つのブロックに関する動きベクトル を用いて追尾を行うことが提案されて 、る。
[0004] 特許文献 2には、追尾対象に関する領域の推定を行い、領域の動きの推定結果に 基づいて、領域を追尾することが提案されている。
特許文献 1:特開平 6— 143235号公報
特許文献 2:特開平 5— 304065号公報
発明の開示
発明が解決しょうとする課題
[0005] し力しながら、特許文献 1に記載の技術においては、 1つの動きベクトルを用いて追 尾を行うようにしているため、比較的ロバスト性に欠ける課題があった。また、追尾対 象を含む画像が回転するなどして、追尾対象がユーザから見て見えなくなるような状 態になった場合、その後、追尾点が再び見える状態になったとしても、その追尾点を もはや追尾することができなくなる課題があった。
[0006] 特許文献 2の技術においては、領域が利用される。その結果、ロバスト性が向上す る。し力しながら、ロノ スト性を向上させるために領域を広くしすぎると、例えば、ホー ムビデオで撮影した画像の中の子供の顔を追尾してズーム表示した 、と 、うような場 合に、面積の広い子供の胴体を追尾してズーム表示してしまうという症状が生じる課 題があった。
[0007] また、いずれの技術においても、追尾対象が他の物体により一時的に隠れてしまう ォクルージョンが発生したり、あるいはシーンチェンジなどにより追尾対象が一時的に 表示されなくなるような場合、ロバストな追尾を行うことが困難である課題があった。
[0008] 本発明はこのような状況に鑑みてなされたものであり、物体が回転したり、ォクルー ジョンが発生したり、シーンチェンジが発生したような場合においても、追尾点を確実 に追尾することができるようにするものである。
課題を解決するための手段
[0009] 本発明の画像処理装置は、時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理単位における追尾点としての第 2の点の位置を推定する 位置推定手段と、第 2の点の位置が推定可能でない場合における第 1の点の候補と しての推定点を生成する生成手段と、後の処理単位における第 2の点の位置が推定 可能である場合、位置推定手段による推定結果に基づいて、後の処理単位における 第 2の点を決定する決定手段と、後の処理単位における第 2の点の位置が推定可能 でない場合、推定点の中から第 1の点を選択する選択手段とを備えることを特徴とす る。
[0010] 前記処理単位はフレームとするようにすることができる。
[0011] 前記位置推定手段は、さらに位置の推定の確度を演算し、演算された確度が基準 値より大きい場合、第 2の点の位置が推定可能であると判定するようにすることができ る。
[0012] 前記位置推定手段は、後の処理単位における第 2の点の位置が推定可能でな 、 場合、選択手段にて選択された第 1の点に基づいて、第 2の点の位置を推定するよう にすることができる。
[0013] 前記位置推定手段は、第 2の点の位置が推定可能である場合に、第 2の点の位置 を新たな第 1の点として、次の処理単位の画像上の追尾点の位置の推定を行うように することができる。
[0014] 前記生成手段は、第 1の点と同一の対象物に属する 1つ以上の点の集合を前の処 理単位、または前の処理単位よりさらに前の処理単位において対象領域として推定 する領域推定手段と、対象領域に基づき推定点を生成する推定点生成手段とを有 するよう〖こすることがでさる。 [0015] 前記領域推定手段は、推定対象である対象領域に少なくとも重なる位置を予測に より求め、予測された位置であって、対象領域を推定する処理単位における追尾点 を含む位置に領域推定範囲を設定し、設定した領域推定範囲の中でサンプル点を 設定し、サンプル点のうち、同一の動きを有するサンプル点の集合力もなる領域であ つて最も大きい面積を持つサンプル点の集合力 なる領域を対象領域と推定するよう にすることができる。
[0016] 前記領域推定範囲は、固定形状とするようにすることができる。
[0017] 前記領域推定範囲は、可変形状とするようにすることができる。
[0018] 前記領域推定手段は、前の処理単位よりさらに前の処理単位において対象領域を 推定し、生成手段は、対象領域の前の処理単位における推定された対象領域中の 点を推定点として生成するようにすることができる。
[0019] 前記領域推定手段は、前の処理単位にお!ヽて対象領域を推定し、生成手段は、 対象領域を構成する点を推定点として生成するようにすることができる。
[0020] 前記領域推定手段は、第 1の点と類似する画素値を有する点であって隣接する点 およびその隣接する点にさらに隣接する点を、対象領域と推定するようにすることが できる。
[0021] 前記領域推定手段は、前の処理単位よりも更に前の処理単位における第 1の点を 含む所定の大きさの領域の中のサンプル点を抽出し、サンプル点のうち、同一の動 きを有するサンプル点の領域であって最も大きい面積の領域を、その同一の動きの 分だけシフトした前の処理単位上の点を含む領域を対象領域と推定するようにするこ とがでさる。
[0022] テンプレートを作成するテンプレート作成手段と、推定点に基づいて第 2の点を決 定することができない場合、後の処理単位における所定の領域であるブロックと、そ のブロックの処理単位より 1処理単位以上前の処理単位のテンプレートの所定の領 域であるブロックとの相関を算出する相関算出手段とをさらに備え、相関算出手段に より算出された相関に基づいて、相関が高いと判定された場合、少なくとも決定手段 を用いて追尾点を検出するようにすることができる。
[0023] 前記テンプレート作成手段は、追尾点周辺の所定の領域をテンプレートとするよう にすることができる。
[0024] 前記テンプレート作成手段は、対象領域に基づ 、てテンプレートを作成するように することができる。
[0025] 前記相関算出手段により算出された相関に基づいて、相関が高いと判定された場 合、後の処理単位における所定の領域であるブロックより 1処理単位以上前の処理 単位におけるテンプレートの所定の領域であるブロックと追尾点との関係と、相関が 高 、と判定されたブロックの位置とに基づ 、て、第 2の点を定めるようにすることがで きる。
[0026] 前記テンプレート作成手段は、対象領域中のサンプル点および、サンプル点の所 定の周縁領域力もなる領域をテンプレートとするようにすることができる。
[0027] 前記相関算出手段は、後の処理単位におけるブロックと、そのブロックの処理単位 より 1処理単位以上前の処理単位のテンプレートのブロックとの誤差を演算することで 、相関を算出するようにすることができる。
[0028] シーンチェンジを検出する検出手段をさらに備え、位置推定手段と選択手段は、そ れぞれの処理を、予め定められた条件に基づいて終了するとともに、推定点の中か ら第 2の点を選択することができない時におけるシーンチェンジの有無に基づいて条 件を変更するようにすることができる。
[0029] 前記決定手段は、さらに、記時間的に前の処理単位の第 1の点を含む少なくとも 1 つ以上の画素である注目画素と、時間的に後の処理単位の少なくとも 1つ以上の画 素であって、注目画素の動きベクトルに基づいて規定される対応画素との相関を表 す評価値を算出する評価値算出手段と、注目画素を基準とする画素値の変動を表 す変動値を算出する変動値算出手段と、評価値と変動値に基づいて、動きベクトル の確度を演算する確度演算手段とを備えるようにすることができる。
[0030] 前記注目画素の画素数と対応画素の画素数は同じであるようにすることができる。
[0031] 前記変動値は、画素値の空間方向の変動を表わす値であるようにすることができる
[0032] 前記変動値は、分散値、またはダイナミックレンジであるようにすることができる。
[0033] 前記処理単位は、フレームまたはフィールドであるようにすることができる。 [0034] 前記確度演算手段は、評価値を変動値で正規化した値に基づ!、て動きベクトルの 確度を演算するようにすることができる。
[0035] 前記確度演算手段は、変動値が所定の閾値よりも大きい場合には、評価値を変動 値で正規ィ匕した値を動きベクトルの確度とし、変動値が閾値よりも小さい場合には、 動きベクトルの確度が低 、ことを表わす固定値を選択するようにすることができる。
[0036] 前記評価値算出手段は、注目画素を含むブロックと、対応画素を含むブロックの画 素の差分の絶対値の総和として評価値を演算するようにすることができる。
[0037] 前記変動値算出手段は、注目画素を含むブロックにおいて、注目画素とそれに隣 接する隣接画素との差分の絶対値の総和を隣接画素の数で除算して得られた値の 、ブロック内の総和として変動値を演算するようにすることができる。
[0038] 前記確度演算手段は、変動値を第 1の基準値と比較する比較手段と、第 2の基準 値と、評価値を変動値で正規化した値との差を演算する差演算手段と、比較手段に よる比較結果と、差演算手段により演算された差に基づいて、動きベクトルの確度を 演算し、出力する出力手段とを備えるようにすることができる。
[0039] 入力画像力 動きベクトルを検出し、評価値算出手段に供給する動きベクトル検出 手段と、動きベクトル検出手段により検出された動きベクトルに基づいて、入力画像を 動き補償する動き補償手段と、動き補償手段により動き補償された画像と動き補償さ れて 、な 、画像の 、ずれかを、動きベクトルの確度に基づ 、て選択する選択手段と 、選択手段により選択された画像を符号ィヒする符号ィヒ手段とをさらに備えるようにす ることがでさる。
[0040] 前記動きベクトルの確度で重み付けされた頻度分布を算出する頻度分布算出手段 と、頻度分布算出手段により算出された頻度分布の最大値を検出し、検出された最 大値に基づいて、背景動きを検出する最大値検出手段とをさらに備えるようにするこ とがでさる。
[0041] 前記動きベクトルの確度の処理単位における平均値を算出する平均値算出手段と 、平均値算出手段により算出された平均値を基準値と比較し、その比較結果に基づ いてシーンチェンジの有無を判定する判定手段とをさらに備えるようにすることができ る。 [0042] 前記平均値算出手段は、 1つの処理単位について、 1つの平均値を演算するように することができる。
[0043] 画像の中の移動するオブジェクトにおける第 1の点を検出する第 1の点検出手段と 、推定結果に基づいて、画像の中のオブジェクトの周囲に予め設定された大きさの補 正領域を設定する補正領域設定手段と、画像の中の補正領域内の画像を補正する 補正手段と、補正領域内が補正手段により補正された画像の表示を制御する表示制 御手段とをさらに備えるようにすることができる。
[0044] 前記補正手段は、画像のぼけを補正するようにすることができる。
[0045] 前記補正手段は、補正領域内の画像を特定する制御信号と、画像のぼけの度合 Vヽ表すパラメータを供給する供給手段と、制御信号に基づ!/ヽて特定された補正領域 内の画像の特徴を検出し、検出された特徴を表す特徴コードを出力する特徴検出手 段と、画像のぼけの度合いを表すパラメータと、特徴検出手段により出力された特徴 コードに対応する係数を記憶する記憶手段と、記憶手段から、パラメータと特徴検出 手段により出力された特徴コードに対応する係数を読み出す読み出し手段と、読み 出し手段により読み出された係数に基づいて、入力画像の画素の値に対して積和演 算を行う積和演算手段と、積和演算手段による演算結果と入力画像の画素の値を選 択して出力する選択出力手段とを備え、補正領域内の画像のぼけを除去するように ネ ΐ正するよう〖こすることができる。
[0046] 前記第 1の点検出手段は、入力画像の中から、積和演算を行う画素の周囲の、予 め設定された第 1の領域に含まれる複数の画素を抽出する第 1の抽出手段と、第 1の 領域と、垂直または水平の複数の方向に連続した、複数の第 2の領域に含まれる複 数の画素を抽出する第 2の抽出手段と、第 1の抽出手段により抽出された画素と、第 2の抽出手段により抽出された画素において、対応する画素の値の差分の絶対値の 総和を求めて、複数のブロック差分を演算するブロック差分演算手段と、ブロック差 分が、予め設定された閾値より大きいか否かを判定する差分判定手段とを備えるよう にすることができる。
[0047] 前記パラメータは、ぼけた画像の画素とぼけていない画像の画素の関係を表すモ デル式におけるガウス関数のパラメータであるようにすることができる。 [0048] 前記記憶手段により記憶される係数は、モデル式の逆行列を演算することにより求 められた係数であるようにすることができる。
[0049] 前記選択出力手段は、積和演算手段により積和演算が行われた複数の画素を抽 出する第 1の抽出手段と、第 1の抽出手段により抽出された複数の画素の分散の度 合いを表す分散度を演算する分散演算手段と、分散演算手段により演算された分散 度が予め設定された閾値より大きいか否かを判定する分散判定手段とを備えるように することができる。
[0050] 前記選択出力手段は、分散判定手段の判定結果に基づいて、出力する画素の値 を、積和演算手段による演算結果、または入力画像の画素の値のいずれかから選択 する画素選択手段をさらに備えるようにすることができる。
[0051] 本発明の画像処理方法は、時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理単位における追尾点としての第 2の点の位置を推定する 推定ステップと、第 2の点の位置が推定可能でない場合における第 1の点の候補とし ての推定点を生成する生成ステップと、後の処理単位における第 2の点の位置が推 定可能である場合、位置推定ステップの処理による推定結果に基づいて、後の処理 単位における第 2の点を決定する決定ステップと、後の処理単位における第 2の点の 位置が推定可能でない場合、推定点の中から第 1の点を選択する選択ステップとを 含むことを特徴とする。
[0052] 前記決定ステップの処理には、時間的に前の処理単位の第 1の点を含む少なくとも 1つ以上の画素である注目画素と、時間的に後の処理単位の少なくとも 1つ以上の 画素であって、注目画素の動きベクトルに基づいて規定される対応画素との相関を 表す評価値を算出する評価値算出ステップと、注目画素を基準とする画素値の変動 を表す変動値を算出する変動値算出ステップと、評価値と変動値に基づいて、動き ベクトルの確度を演算する確度演算ステップとが含まれるようにすることができる。
[0053] 画像の中の移動するオブジェクトにおける第 1の点を検出する第 1の点検出ステツ プと、推定結果に基づいて、画像の中にオブジェクトの周囲に予め設定された大きさ の補正領域を設定する補正領域設定ステップと、画像の中の補正領域内の画像を 補正する補正ステップと、補正領域内が前記補正ステップの処理により補正された画 像の表示を制御する表示制御ステップとをさらに含むようにすることができる。
[0054] 本発明の記録媒体のプログラムは、時間的に前の処理単位の画像上の追尾点とし ての第 1の点の時間的に後の処理単位における追尾点としての第 2の点の位置を推 定する推定ステップと、第 2の点の位置が推定可能でない場合における第 1の点の 候補としての推定点を生成する生成ステップと、後の処理単位における第 2の点の位 置が推定可能である場合、位置推定ステップの処理による推定結果に基づいて、後 の処理単位における第 2の点を決定する決定ステップと、後の処理単位における第 2 の点の位置が推定可能でない場合、推定点の中から第 1の点を選択する選択ステツ プとを含むことを特徴とする。
[0055] 本発明のプログラムは、時間的に前の処理単位の画像上の追尾点としての第 1の 点の時間的に後の処理単位における追尾点としての第 2の点の位置を推定する推 定ステップと、第 2の点の位置が推定可能でない場合における第 1の点の候補として の推定点を生成する生成ステップと、後の処理単位における第 2の点の位置が推定 可能である場合、位置推定ステップの処理による推定結果に基づいて、後の処理単 位における第 2の点を決定する決定ステップと、後の処理単位における第 2の点の位 置が推定可能でない場合、推定点の中から第 1の点を選択する選択ステップとをコン ピュータに実行させることを特徴とする。
[0056] 本発明においては、後の処理単位における第 2の点の位置が推定可能である場合
、位置推定結果に基づいて後の処理単位における第 2の点が決定され、後の処理単 位における第 2の点の位置が推定可能でない場合、生成された推定点の中から第 1 の点が選択される。
発明の効果
[0057] 本発明によれば、画像上の追尾点を追尾することが可能となる。特に、追尾におけ るロバスト性を向上させることができる。その結果、対象物が回転して追尾点が一時 的に見えなくなったり、ォクルージョンやシーンチェンジが発生した場合などにおいて も、追尾点を確実に追尾することが可能となる。
図面の簡単な説明
[0058] [図 1]本発明を適用したオブジェクト追尾装置の構成例を示すブロック図である。 [図 2]図 1のオブジェクト追尾装置の追尾処理を説明するフローチャートである。 圆 3]追尾対象が回転する場合の追尾を説明する図である。
圆 4]ォクルージョンが起きる場合の追尾を説明する図である。
圆 5]シーンチェンジが起きる場合の追尾を説明する図である。
[図 6]図 2のステップ S1の通常処理を説明するフローチャートである。
[図 7]図 6のステップ S21の通常処理の初期化処理を説明するフローチャートである。 圆 8]乗り換え候補抽出処理を説明する図である。
[図 9]図 1の領域推定関連処理部の構成例を示すブロック図である。
[図 10]図 6のステップ S26の領域推定関連処理を説明するフローチャートである。
[図 11]図 10のステップ S61の領域推定処理を説明するフローチャートである。
[図 12A]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 12B]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 13A]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 13B]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 14A]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 14B]図 11のステップ S81におけるサンプル点を決定する処理を説明する図であ る。
[図 15]図 11のステップ S 81におけるサンプル点を決定する処理を説明する図である
[図 16]図 11のステップ S86の領域推定範囲の更新処理を説明するフローチャートで ある。
圆 17A]領域推定範囲の更新を説明する図である。
圆 17B]領域推定範囲の更新を説明する図である。 圆 17C]領域推定範囲の更新を説明する図である。
圆 18A]領域推定範囲の更新を説明する図である。
圆 18B]領域推定範囲の更新を説明する図である。
圆 18C]領域推定範囲の更新を説明する図である。
圆 19A]領域推定範囲の更新を説明する図である。
圆 19B]領域推定範囲の更新を説明する図である。
圆 19C]領域推定範囲の更新を説明する図である。
圆 20A]領域推定範囲の更新を説明する図である。
圆 20B]領域推定範囲の更新を説明する図である。
圆 20C]領域推定範囲の更新を説明する図である。
[図 21]図 11のステップ S86の領域推定範囲の更新処理の他の例を説明するフロー チャートである。
圆 22A]領域推定範囲の更新処理を説明する図である。
圆 22B]領域推定範囲の更新処理を説明する図である。
圆 22C]領域推定範囲の更新処理を説明する図である。
圆 22D]領域推定範囲の更新処理を説明する図である。
[図 23]図 10のステップ S62の乗り換え候補抽出処理を説明するフローチャートである 図 24]図 10のステップ S63のテンプレート作成処理を説明するフローチャートである 圆 25]テンプレート作成を説明する図である。
圆 26]テンプレート作成を説明する図である。
圆 27]テンプレートと追尾点の位置関係を説明する図である。
[図 28]図 1の領域推定関連処理部の他の構成例を示すブロック図である。
[図 29]図 10のステップ S61の領域推定処理の他の例を説明するフローチヤ る。
圆 30A]同色領域の成長を説明する図である。
圆 30B]同色領域の成長を説明する図である。 圆 30C]同色領域の成長を説明する図である。
圆 31]追尾点の同色領域と領域推定結果を説明する図である。
[図 32]図 10のステップ S62の乗り換え候補抽出処理の他の例を説明するフロー ートである。
[図 33]図 2のステップ S2の例外処理を説明するフローチャートである。
[図 34]図 33のステップ S301の例外処理の初期化処理を説明するフローチヤ一 1 ある。
圆 35]テンプレートの選択を説明する図である。
圆 36]探索範囲の設定を説明する図である。
[図 37]図 33のステップ S305の継続判定処理を説明するフローチャートである。
[図 38]図 2のステップ S1の通常処理の他の例を説明するフローチャートである。
[図 39]図 10のステップ S61の領域推定処理の他の例を説明するフローチャート- る。
[図 40]図 10のステップ S62の乗り換え候補抽出処理の他の例を説明するフロー ートである。
圆 41]図 6の通常処理を行った場合の乗り換え候補を説明する図である。
圆 42]図 38の通常処理を行った場合における乗り換え候補を説明する図である。
[図 43]図 1の動き推定部の構成例を示すブロック図である。
[図 44]動き演算処理を説明するためのフローチャートである。
[図 45]フレームの時間的な流れを説明するための図である。
[図 46]フレームのブロックを説明するための図である。
[図 47]ブロックマッチング法を説明するための図である。
[図 48]動きベクトルを説明するための図である。
[図 49]動きベクトル確度演算処理を説明するためのフローチャートである。
圆 50]評価値の算出方法を説明するための図である。
[図 51]アクティビティ算出処理を説明する図である。
[図 52]アクティビティの算出方法を説明するための図である。
[図 53A]ブロックアクティビティの算出方法を説明するための図である。 [図 53B]ブロックアクティビティの算出方法を説明するための図である。
[図 53C]ブロックアクティビティの算出方法を説明するための図である。
[図 53D]ブロックアクティビティの算出方法を説明するための図である。
[図 53E]ブロックアクティビティの算出方法を説明するための図である。
[図 53F]ブロックアクティビティの算出方法を説明するための図である。
[図 54]閾値処理を説明するためのフローチャートである。
[図 55]評価値とアクティビティの関係を説明するための図である。
[図 56]正規ィ匕処理を説明するためのフローチャートである。
[図 57]統合処理を説明するためのフローチャートである。
圆 58]背景動き推定部の構成例を示すブロック図である。
圆 59]背景動き推定処理を説明するフローチャートである。
[図 60]のシーンチェンジ検出部の構成例を示すブロック図である。
[図 61]シーンチェンジ検出処理を説明するフローチャートである。
[図 62]テレビジョン受像機の構成例を示すブロック図である。
[図 63]テレビジョン受像機の画像表示処理を説明するフローチャートである。
[図 64]本発明を適用した画像処理装置の構成例を示すブロック図である。
[図 65]動きベクトル確度算出部の構成例を示すブロック図である。
[図 66]画像処理装置の構成例を示すためのブロック図である。
[図 67]符号ィ匕装置の構成例を示すためのブロック図である。
圆 68]符号ィ匕装置の符号ィ匕処理を説明するためのフローチャートである。
[図 69]手振れ補正装置の構成例を示すためのブロック図である。
[図 70]背景動き検出部の構成例を示すためのブロック図である。
圆 71]手振れ補正装置の手振れ補正処理を説明するためのフローチャートである。
[図 72]蓄積装置の構成例を示すためのブロック図である。
[図 73]シーンチェンジ検出部の構成例を示すためのブロック図である。
[図 74]蓄積装置のインデックス画像作成処理を説明するためのフローチャートである 圆 75]蓄積装置の画像出力処理を説明するためのフローチャートである。 [図 76]監視カメラシステムの構成例を示すブロック図である。
[図 77]監視カメラシステムの監視処理を説明するフローチャートである。
[図 78]監視カメラシステムの他の構成例を示すブロック図である。
[図 79]監視カメラシステムの監視処理を説明するフローチャートである。
[図 80]本発明を適用した監視カメラシステムの構成例を示すブロック図である。 圆 81]監視処理を説明するフローチャートである。
[図 82A]監視カメラシステムにより表示される画像の例を示す図である。
[図 82B]監視カメラシステムにより表示される画像の例を示す図である。
[図 82C]監視カメラシステムにより表示される画像の例を示す図である。
[図 83]補正対象エリアの移動の例を示す図である。
[図 84]画像補正部の構成例を示すブロック図である。
[図 85]画像補正部の制御信号の例を示す図である。
[図 86A]画像のぼけの原理を説明する図である。
[図 86B]画像のぼけの原理を説明する図である。
[図 86C]画像のぼけの原理を説明する図である。
圆 87]画像のぼけの原理を説明する図である。
[図 88]画像のぼけの原理を説明する図である。
[図 89]画像のぼけの原理を説明する図である。
[図 90]パラメータコードの組み合わせの例を示す図である。
[図 91]画像のエッジ部分を説明する図である。
[図 92]ぼけ修正処理を説明するフローチャートである。
[図 93]画像補正処理を説明するフローチャートである。
[図 94]画像特徴検出処理を説明するフローチャートである。
圆 95]画像特徴検出部の構成例を示すブロック図である。
[図 96A]ブロック切り出し部により抽出される画像のブロックを説明する図である。
[図 96B]ブロック切り出し部により抽出される画像のブロックを説明する図である。
[図 96C]ブロック切り出し部により抽出される画像のブロックを説明する図である。
[図 96D]ブロック切り出し部により抽出される画像のブロックを説明する図である。 [図 96E]ブロック切り出し部により抽出される画像のブロックを説明する図である。
[図 97]画像合成処理を説明するフローチャートである。
[図 98]画像合成部の構成例を示すブロック図である。
[図 99]分散演算を説明する図である。
符号の説明
[0059] 1 オブジェクト追尾装置, 11 テンプレートマッチング部, 12 動き推定部, 1 3 シーンチェンジ検出部, 14 背景動き推定部, 15 領域推定関連処理部, 1 6 乗り換え候補保持部, 17 追尾点決定部, 18 テンプレート保持部, 19 制 御部
発明を実施するための最良の形態
[0060] 以下に、図を参照して、本発明の実施の形態について説明する。
[0061] 図 1は、本発明の画像処理装置を適用したオブジェクト追尾装置の機能的構成例 を表している。このオブジェクト追尾装置 1は、テンプレートマッチング部 11、動き推 定部 12、シーンチェンジ検出部 13、背景動き推定部 14、領域推定関連処理部 15、 乗り換え候補保持部 16、追尾点決定部 17、テンプレート保持部 18、および制御部 1 9により構成されている。
[0062] テンプレートマッチング部 11は、入力画像と、テンプレート保持部 18に保持されて いるテンプレート画像のマッチング処理を行う。動き推定部 12は、入力画像の動きを 推定し、推定の結果得られた動きベクトルと、その動きベクトルの確度を、シーンチェ ンジ検出部 13、背景動き推定部 14、領域推定関連処理部 15、および追尾点決定 部 17に出力する。動き推定部 12の詳細な構成は、図 43を参照して後述する。
[0063] シーンチェンジ検出部 13は、動き推定部 12より供給された確度に基づいて、シー ンチェンジを検出する。シーンチェンジ検出部 13の詳細な構成は、図 50を参照して 後述する。
[0064] 背景動き推定部 14は、動き推定部 12より供給された動きベクトルと確度に基づい て背景動きを推定する処理を実行し、推定結果を領域推定関連処理部 15に供給す る。背景動き検出部 14の詳細な構成は図 48を参照して後述する。
[0065] 領域推定関連処理部 15は、動き推定部 12より供給された動きベクトルと確度、背 景動き推定部 14より供給された背景動き、並びに追尾点決定部 17より供給された追 尾点情報に基づいて、領域推定処理を行う。また、領域推定関連処理部 15は、入力 された情報に基づいて乗り換え候補を生成し、乗り換え候補保持部 16へ供給し、保 持させる。さらに、領域推定関連処理部 15は、入力画像に基づいてテンプレートを 作成し、テンプレート保持部 18に供給し、保持させる。領域推定関連処理部 15の詳 細な構成は、図 9を参照して後述する。
[0066] 追尾点決定部 17は、動き推定部 12より供給された動きベクトルと確度、並びに乗り 換え候補保持部 16より供給された乗り換え候補に基づいて、追尾点を決定し、決定 された追尾点に関する情報を領域推定関連処理部 15に出力する。
[0067] 制御部 19は、テンプレートマッチング部 11乃至テンプレート保持部 18の各部と接 続され、ユーザからの追尾点指示入力に基づいて各部を制御し、追尾結果を図示せ ぬ装置に出力する。
[0068] 次に、オブジェクト追尾装置 1の動作について説明する。
[0069] 図 2に示されるように、オブジェクト追尾装置 1は、基本的に通常処理と例外処理を 実行する。すなわち、ステップ S1で通常処理が行われる。この通常処理の詳細は、 図 6を参照して後述するが、この処理によりユーザ力 指定された追尾点を追尾する 処理が実行される。ステップ S1の通常処理において追尾点の乗り換えができなくな つたとき、ステップ S2において、例外処理が実行される。この例外処理の詳細は、図 33のフローチャートを参照して後述するが、この例外処理により、追尾点が画像から 見えなくなったとき、テンプレートマッチングにより通常処理への復帰処理が実行され る。例外処理によって追尾処理を継続することができなくなった (通常処理へ復帰す ることができなくなった)と判定された場合には処理が終了されるが、テンプレートによ る復帰処理の結果、通常処理への復帰が可能と判定された場合には、処理は再び ステップ S1に戻る。このようにして、ステップ S1の通常処理とステップ S2の例外処理 力 各フレーム毎に順次繰り返し実行される。
[0070] 本発明においては、この通常処理と例外処理により、図 3乃至図 5に示されるように 、追尾対象が回転したり、ォクルージョンが発生したり、シーンチェンジが発生する等 、追尾点が一時的に見えなくなった場合においても、追尾が可能となる。 [0071] すなわち、例えば、図 3に示されるように、フレーム n— 1には追尾対象としての人の 顔 504力表示されており、この人の顔 504は、右目 502と左目 503を有して!/、る。ュ 一ザが、このうちの、例えば右目 502 (正確には、その中の 1つの画素)を追尾点 501 として指定したとする。図 3の例においては、次のフレーム nにおいて、人が図中左方 向に移動しており、さらに次のフレーム n+ 1においては、人の顔 504が時計方向に 回動している。その結果、今まで見えていた右目 502が表示されなくなり、いままでの 方法では、追尾ができなくなる。そこで、上述したステップ S1の通常処理においては 、右目 502と同一の対象物としての顔 504上の左目 503が選択され、追尾点が左目 503に乗り換えられる (設定される)。これにより追尾が可能となる。
[0072] 図 4の表示例では、フレーム n— 1において、顔 504の図中左側からボール 521が移 動してきて、次のフレーム nにおいては、ボール 521がちょうど顔 504を覆う状態とな つている。この状態において、追尾点 501として指定されていた右目 502を含む顔 5 04が表示されていない。このようなォクルージョンが起きると、対象物としての顔 504 が表示されていないので、追尾点 501に代えて追尾する乗り換え点もなくなり、以後 、追尾点を追尾することが困難になる。しかし、本発明においては、追尾点 501として の右目 502をフレーム n— 1 (実際には時間的にもっと前のフレーム)の画像がテンプ レートとして予め保存されており、ボール 521がさらに右側に移動し、フレーム n+ 1 において、追尾点 501として指定された右目 502が再び現れると、上述したステップ S2の例外処理により、追尾点 501としての右目 502が再び表示されたことが確認さ れ、右目 502が再び追尾点 501として追尾されることになる。
[0073] 図 5の例では、フレーム n— 1においては、顔 504が表示されている力 次のフレー ム nにおいては、自動車 511が人の顔を含む全体を覆い隠している。すなわち、この 場合、シーンチェンジが起きたことになる。本発明では、このようにシーンチェンジが 起きて追尾点 501が画像力も存在しなくなっても、自動車 511が移動して、フレーム n + 1において再び右目 502が表示されると、ステップ S2の例外処理で、追尾点 501 としての右目 502が再び出現したことがテンプレートに基づいて確認され、この右目 5 02を再び追尾点 501として追尾することが可能となる。
[0074] 次に、図 6のフローチャートを参照して、図 2のステップ S1の通常処理の詳細につ いて説明する。ステップ S21において、追尾点決定部 17により通常処理の初期化処 理が実行される。その詳細は、図 7のフローチャートを参照して後述する力 この処理 によりユーザ力 追尾するように指定された追尾点を基準とする領域推定範囲が指 定される。この領域推定範囲は、ユーザにより指定された追尾点と同一の対象物 (例 えば、追尾点が人の目である場合、目と同様の動きをする剛体としての人の顔、また は人の体など)に属する点の範囲を推定する際に参照する範囲である。乗り換え点 は、この領域推定範囲の中の点力 選択される。
[0075] 次に、ステップ S22において、制御部 19は、次のフレームの画像の入力を待機す るように各部を制御する。ステップ S23において、動き推定部 12は、追尾点の動きを 推定する。すなわち、ユーザにより指定された追尾点を含むフレーム (前フレーム)よ り時間的に後のフレーム(後フレーム)をステップ S22の処理で取り込むことで、結局 連続する 2フレームの画像が得られたことになるので、ステップ S23において、前フレ ームの追尾点に対応する後フレームの追尾点の位置を推定することで、追尾点の動 きが推定される。
[0076] なお、時間的に前とは、処理の順番 (入力の順番)を 、う。通常、撮像の順番に各フ レームの画像が入力されるので、その場合、より時間的に前に撮像されたフレームが 前フレームとなるが、時間的に後に撮像されたフレームが先に処理 (入力)される場 合には、時間的に後に撮影されたフレームが前フレームとなる。
[0077] ステップ S24において、動き推定部 12 (後述する図 43の統合処理部 605)は、ステ ップ S23の処理の結果、追尾点が推定可能であった力否かを判定する。追尾点が推 定可能であった力否かは、例えば、図 43を参照して後述する動き推定部 12が生成、 出力する動きベクトルの確度の値を、予め設定されて 、る閾値と比較することで判定 される。具体的には、動きベクトルの確度が閾値以上であれば推定が可能であり、閾 値より小さければ推定が不可能であると判定される。すなわち、ここにおける可能性 は比較的厳格に判定され、実際には推定が不可能ではなくても確度が低い場合に は、不可能と判定される。これにより、より確実な追尾処理が可能となる。
[0078] なお、ステップ S24では、追尾点での動き推定結果と追尾点の近傍の点での動き 推定結果が、多数を占める動きと一致する場合には推定可能、一致しない場合には 推定不可能と判定するようにすることも可能である。
[0079] 追尾点の動きが推定可能であると判定された場合 (追尾点が同一対象物上の対応 する点上に正しく設定されている確率 (右目 502が追尾点 501として指定された場合 、右目 502が正しく追尾されている確率)が比較的高い場合)、ステップ S 25に進み、 追尾点決定部 17は、ステップ S 23の処理で得られた推定動き(動きベクトル)の分だ け追尾点をシフトする。すなわち、これにより、前フレームの追尾点の追尾後の後フレ ームにおける追尾の位置が決定されることになる。
[0080] ステップ S25の処理の後、ステップ S26において、領域推定関連処理が実行される 。この領域推定関連処理の詳細は、図 10を参照して後述するが、この処理により、ス テツプ S21の通常処理の初期化処理で指定された領域推定範囲が更新される。さら に、対象物体が回転するなどして、追尾点が表示されない状態になった場合に、追 尾点を乗り換えるべき点としての乗り換え点としての候補 (乗り換え候補)が、この状 態 (まだ追尾が可能な状態)にお 、て、予め抽出 (作成)される。また、乗り換え候補 への乗り換えもできなくなった場合、追尾は一旦中断されるが、再び追尾が可能にな つた(追尾点が再び出現した)ことを確認するために、テンプレートが予め作成される
[0081] ステップ S26の領域推定関連処理が終了した後、処理は再びステップ S22に戻り、 それ以降の処理が繰り返し実行される。
[0082] すなわち、ユーザ力 指定された追尾点の動きが推定可能である限り、ステップ S2
2乃至ステップ S26の処理がフレーム毎に繰り返し実行され、追尾が行われることに なる。
[0083] これに対して、ステップ S 24において、追尾点の動きが推定可能ではない(不可能 である)と判定された場合、すなわち、上述したように、例えば動きベクトルの確度が 閾値以下であるような場合、処理はステップ S 27に進む。ステップ S27において、追 尾点決定部 17は、ステップ S 26の領域推定関連処理で生成された乗り換え候補が 乗り換え候補保持部 16に保持されているので、その中から、元の追尾点に最も近い 乗り換え候補を 1つ選択する。追尾点決定部 17は、ステップ S28で乗り換え候補が 選択できたか否かを判定し、乗り換え候補が選択できた場合には、ステップ S29に進 み、追尾点をステップ S27の処理で選択した乗り換え候補に乗り換える(変更する)。 すなわち、乗り換え候補の点が新たな追尾点として設定される。その後、処理はステ ップ S23に戻り、乗り換え候補の中から選ばれた追尾点の動きを推定する処理が実 行される。
[0084] ステップ S24にお 、て新たに設定された追尾点の動きが推定可能である力否かが 再び判定され、推定可能であれば、ステップ S25において追尾点を推定動き分だけ シフトする処理が行われ、ステップ S26において、領域推定関連処理が実行される。 その後、処理は再びステップ S22に戻り、それ以降の処理が繰り返し実行される。
[0085] ステップ S24において、新たに設定された追尾点も推定不可能であると判定された 場合には、再びステップ S27に戻り、乗り換え候補の中から、元の追尾点に次に最も 近い乗り換え候補が選択され、ステップ S29において、その乗り換え候補が新たな追 尾点とされる。その新たな追尾点について、再びステップ S23以降の処理が繰り返さ れる。
[0086] 用意されているすべての乗り換え候補を新たな追尾点としても、追尾点の動きを推 定することができな力つた場合には、ステップ S28において、乗り換え候補が選択で きな力つたと判定され、この通常処理は終了される。そして、図 2のステップ S2の例外 処理に処理が進むことになる。
[0087] 図 6のステップ S21の通常処理の初期化処理の詳細は、図 7のフローチャートに示 されている。
[0088] ステップ S41において、制御部 19は、今の処理は例外処理からの復帰の処理であ るの力否かを判定する。すなわち、ステップ S2の例外処理を終了した後、再びステツ プ S1の通常処理に戻ってきたのか否かが判定される。最初のフレームの処理におい ては、まだステップ S2の例外処理は実行されていないので、例外処理からの復帰で はないと判定され、処理はステップ S42に進む。ステップ S42において、追尾点決定 部 17は、追尾点を追尾点指示の位置に設定する処理を実行する。すなわち、ユー ザは、図示せぬマウス、その他の入力部を操作することで、制御部 19に、入力画像 の中の所定の点を追尾点として指示する。制御部 19は、この指示に基づいて、追尾 点決定部 17を制御し、追尾点決定部 17はこの指示に基づいて、ユーザが指定した 点を追尾点として設定する。なお、追尾点は、入力画像の中で、例えば、最も輝度の 高い点が設定されるなど、他の方法により設定されるようにしてもよい。追尾点決定部
17は、設定した追尾点の情報を領域推定関連処理部 15に供給する。
[0089] ステップ S43において、領域推定関連処理部 15は、ステップ S42の処理で設定さ れた追尾点の位置に基づき、領域推定範囲を設定する。この領域推定範囲は、追尾 点と同じ剛体上の点を推定する際の参照範囲であり、予め追尾点と同じ剛体部分が 領域推定範囲の大部分を占めるように、より具体的には追尾点と同じ剛体部分に領 域推定範囲の位置や大きさが追随するように設定することで、領域推定範囲の中で 最も多数を占める動きを示す部分を追尾点と同じ剛体部分であると推定できるように するためのものである。ステップ S43では初期値として、例えば、追尾点を中心とする 予め設定された一定の範囲が領域推定範囲とされる。
[0090] その後処理は、図 3のステップ S22に進むことになる。
[0091] 一方、ステップ S41において、現在の処理が、ステップ S2の例外処理からの復帰の 処理であると判定された場合、ステップ S44に進み、追尾点決定部 17は、後述する 図 33のステップ S303の処理で、テンプレートにマッチした位置に基づき追尾点と領 域推定範囲を設定する。例えば、テンプレート上の追尾点とマッチした現フレーム上 の点が追尾点とされ、その点力 予め設定されて 、る一定の範囲が領域推定範囲と される。その後、処理は図 3のステップ S22に進む。
[0092] 以上の処理を図 8を参照して説明すると次のようになる。すなわち、図 7のステップ S 42において、例えば、図 8に示されるように、フレーム n— 1の人の目 502が追尾点 50 1として指定されると、ステップ S43において、追尾点 501を含む所定の領域が領域 推定範囲 533として指定される。ステップ S24において、領域推定範囲 533の範囲 内のサンプル点が次のフレームにおいて推定可能であるか否かが判定される。図 8 の例の場合、フレーム nの次のフレーム n+ 1においては、領域推定範囲 533のうち、 左目 502を含む図中左側半分の領域 534がボール 521で隠されているため、フレー ム nの追尾点 501の動きを、次のフレーム n+ 1において推定することができない。そ こで、このような場合においては、時間的に前のフレーム n— 1で乗り換え候補として 予め用意されていた領域指定範囲 533内(右目 502を含む剛体としての顔 504内) の点の中から 1つの点(例えば、顔 504に含まれる左目 503 (正確には、その中の 1 つの画素))が選択され、その点がフレーム n+ 1における、追尾点とされる。
[0093] 領域推定関連処理部 15は、図 6のステップ S26における領域推定関連処理を実行 するために、図 9に示されるような構成を有している。すなわち、領域推定関連処理 部 15の領域推定部 41には、動き推定部 12より動きベクトルと確度が入力され、背景 動き推定部 14より背景動きが入力され、そして追尾点決定部 17より追尾点の位置情 報が入力される。乗り換え候補抽出部 42には、動き推定部 12より動きベクトルと確度 が供給される他、領域推定部 41の出力が供給される。テンプレート作成部 43には、 入力画像が入力される他、領域推定部 41の出力が入力される。
[0094] 領域推定部 41は、入力に基づいて、追尾点を含む剛体の領域を推定し、推定結 果を乗り換え候補抽出部 42とテンプレート作成部 43に出力する。乗り換え候補抽出 部 42は入力に基づき乗り換え候補を抽出し、抽出した乗り換え候補を乗り換え候補 保持部 16へ供給する。テンプレート作成部 43は入力に基づきテンプレートを作成し 、作成したテンプレートをテンプレート保持部 18へ供給する。
[0095] 図 10は、領域推定関連処理部 15により実行される領域推定関連処理(図 6のステ ップ S26の処理)の詳細を表している。最初にステップ S61において、領域推定部 41 により領域推定処理が実行される。その詳細は、図 11のフローチャートを参照して後 述するが、この処理により、追尾点が属する対象と同一の対象 (追尾点と同期した動 きをする剛体)に属すると推定される画像上の領域の点が領域推定範囲 (後述する 図 17の領域推定範囲 81)の点として抽出される。
[0096] ステップ S62において、乗り換え候補抽出部 42により乗り換え候補抽出処理が実 行される。その処理の詳細は、図 23のフローチャート参照して後述する力 領域推定 部 41により領域推定範囲として推定された範囲の点力 乗り換え候補の点が抽出さ れ、乗り換え候補保持部 16に保持される。
[0097] ステップ S63においてテンプレート作成部 43によりテンプレート作成処理が実行さ れる。その詳細は、図 24のフローチャートを参照して後述するが、この処理によりテン プレートが作成される。
[0098] 次に、図 11のフローチャートを参照して、図 10のステップ S61の領域推定処理の 詳細について説明する。
[0099] 最初に、ステップ S81において、領域推定部 41は、追尾点と同一の対象に属する と推定される点の候補の点としてのサンプル点を決定する。
[0100] このサンプル点は、例えば図 12に示されるように、図中、白い四角形で示されるフ レームの全画面における画素のうち、固定された基準点 541を基準として、水平方向 および垂直方向に、所定の画素数ずつ離れた位置の画素をサンプル点(図中、黒い 四角形で表されている)とすることができる。図 12の例においては、各フレームの左 上の画素が基準点 541とされ(図中基準点 541は X印で示されて 、る)、水平方向 に 5個、並びに垂直方向に 5個ずつ離れた位置の画素がサンプル点とされる。すな わち、この例の場合、全画面中に分散した位置の画素がサンプル点とされる。また、 この例の場合、基準点は、各フレーム n, n+ 1において固定された同一の位置の点 とされる。
[0101] 基準点 541は、例えば図 13に示されるように、各フレーム n, n+ 1毎に異なる位置 の点となるように、動的に変化させることもできる。
[0102] 図 12と図 13の例においては、サンプル点の間隔が各フレームにおいて固定された 値とされている力 例えば図 14に示されるように、フレーム毎にサンプル点の間隔を 可変とすることもできる。図 14の例においては、フレーム nにおいては、サンプル点の 間隔は 5画素とされているのに対し、フレーム n+ 1においては 8画素とされている。こ のときの間隔の基準としては、追尾点と同一の対象に属すると推定される領域の面積 を用いることができる。具体的には、領域推定範囲の面積が狭くなれば間隔も短くな る。
[0103] あるいはまた、図 15に示されるように、 1つのフレーム内においてサンプル点の間 隔を可変とすることもできる。このときの間隔の基準としては、追尾点力もの距離を用 いることができる。すなわち、追尾点に近いサンプル点ほど間隔が小さぐ追尾点から 遠くなるほど間隔が大きくなる。
[0104] 以上のようにしてサンプル点が決定されると、次にステップ S82において、領域推 定部 41は、領域推定範囲(図 7のステップ S43, S44の処理、または、後述する図 16 のステップ S 106, S 108の処理で決定されている)内のサンプル点の動きを推定す る処理を実行する。すなわち、領域推定部 41は、動き推定部 12より供給された動き ベクトルに基づいて、領域推定範囲内のサンプル点に対応する次のフレームの対応 する点を抽出する。
[0105] ステップ S83において、領域推定部 41は、ステップ S82の処理で推定したサンプ ル点のうち、確度が予め設定されている閾値より低い動きベクトルに基づく点を対象 外とする処理を実行する。この処理に必要な動きベクトルの確度は、動き推定部 12よ り供給される。これにより、領域推定範囲内のサンプル点のうち、確度が高い動きべク トルに基づいて推定された点だけが抽出される。
[0106] ステップ S84において、領域推定部 41は、領域推定範囲内の動き推定結果での 全画面動きを抽出する。全画面動きとは、同一の動きに対応する領域を考え、その 面積が最大となる動きのことを意味する。具体的には、各サンプル点の動きに、その サンプル点におけるサンプル点間隔に比例する重みを付けて動きのヒストグラムを生 成し、この重み付け頻度が最大となる 1つの動き(1つの動きベクトル)が全画面動きと して抽出される。なお、ヒストグラムを生成する場合、例えば、動きの代表値を画素精 度で準備し、画素精度で 1異なる値を持つ動きについてもヒストグラムへの加算を行う ようにすることちでさる。
[0107] ステップ S85において、領域推定部 41は、全画面動きを持つ領域推定範囲内のサ ンプル点を領域推定の結果として抽出する。この場合における全画面動きを持つサ ンプル点としては、全画面動きと同一の動きを持つサンプル点はもちろんのこと、全 画面動きとの動きの差が予め設定されている所定の閾値以下である場合には、その サンプル点もここにおける全画面動きを持つサンプル点とすることも可能である。
[0108] このようにして、ステップ S43, S44, S106, S 108の処理で決定された領域推定範 囲内のサンプル点のうち、全画面動きを有するサンプル点力 追尾点と同一対象に 属すると推定される点として最終的に抽出(生成)される。
[0109] 次に、ステップ S86において、領域推定部 41は、領域推定範囲の更新処理を実行 する。その後、処理は、図 6のステップ S22に進む。
[0110] 図 16は、図 11のステップ S86の領域推定範囲の更新処理の詳細を表している。ス テツプ S101において、領域推定部 41は、領域の重心を算出する。この領域とは、図 11のステップ S85の処理で抽出されたサンプル点で構成される領域(追尾点と同一 対象に属すると推定される点で構成される領域)を意味する。すなわち、この領域に は 1つの動きベクトル (全画面動き)が対応している。例えば、図 17Aに示されるように 、図中白い四角形で示されるサンプル点のうち、領域推定範囲 81内のサンプル点の 中から、図 11のステップ S85の処理で全画面動きを持つサンプル点として、図 17A において黒い四角形で示されるサンプル点が抽出され、そのサンプル点で構成され る領域が、領域 82として抽出 (推定)される。そして、領域 82の重心 84がさらに算出 される。具体的には、各サンプル点にサンプル点間隔の重みを付けたサンプル点重 心が領域の重心として求められる。この処理は、現フレームにおける領域の位置を求 めるという意味を有する。
[0111] 次にステップ S102において、領域推定部 41は、領域の重心を全画面動きによりシ フトする処理を実行する。この処理は、領域推定範囲 81を領域の位置の動きに追従 させ、次フレームにおける推定位置に移動させるという意味を有する。図 17Bに示さ れるように、現フレームにおける追尾点 83が、その動きベクトル 88に基づいて次フレ ームにおいて追尾点 93として出現する場合、全画面動きの動きベクトル 90が追尾点 の動きベクトル 88にほぼ対応しているので、現フレームにおける重心 84を動きべタト ル(全画面動き) 90に基づいてシフトすることで、追尾点 93と同一のフレーム(次フレ ーム)上の点 94が求められる。この点 94を中心として領域推定範囲 91を設定すれば 、領域推定範囲 81を領域 82の位置の動きに追従させて、次のフレームにおける推 定位置に移動させることになる。
[0112] ステップ S103において、領域推定部 41は、領域推定結果に基づき、次の領域推 定範囲の大きさを決定する。具体的には、領域と推定された全てのサンプル点に関 するサンプル点の間隔(図 17Aにおける領域 82の中の黒 ヽ四角形で示される点の 間隔)の 2乗和を領域 82の面積と見なし、この面積よりも少し大きめの大きさとなるよう に、次フレームにおける領域推定範囲 91の大きさが決定される。すなわち、領域推 定範囲 91の大きさは、領域 82の中のサンプル点の数が多ければ広くなり、少なけれ ば狭くなる。このようにすることで、領域 82の拡大縮小に追従することができるばかり でなぐ領域推定範囲 81内の全画面領域が追尾対象の周辺領域となるのを防ぐこと ができる。
[0113] 図 11のステップ S84で抽出された全画面動きが、背景動きと一致する場合には、 動きにより背景と追尾対象を区別することができない。そこで、背景動き推定部 14は 背景動き推定処理を常に行っており(その詳細は、図 49を参照して後述する)、ステ ップ S104において、領域推定部 41は、背景動き推定部 14より供給される背景動き と、図 11のステップ S84の処理で抽出された全画面動きとがー致する力否かを判定 する。全画面動きと背景動きが一致する場合には、ステップ S105において、領域推 定部 41は、次の領域推定範囲の大きさを、今の領域推定範囲の大きさが最大となる ように制限する。これにより、背景が追尾対象として誤認識され、領域推定範囲の大 きさが拡大してしまうようなことが抑制される。
[0114] ステップ S104において、全画面動きと背景動きが一致しないと判定された場合に は、ステップ S 105の処理は必要がないのでスキップされる。
[0115] 次に、ステップ S106において、領域推定部 41は、シフト後の領域重心を中心とし て次の領域推定範囲の大きさを決定する。これにより、領域推定範囲が、その重心が 既に求めたシフト後の領域重心と一致し、かつ、その大きさが領域の広さに比例する ように決定される。
[0116] 図 17Bの例では、領域推定範囲 91が、動きベクトル(全画面動き) 90に基づくシフ ト後の重心 94を中心として、領域 82の面積に応じた広さに決定されている。
[0117] 領域推定範囲 91内での全画面動きを有する領域が追尾対象 (例えば、図 8の顔 5 04)の領域であることを担保する(確実にする)必要がある。そこで、ステップ S107に おいて、領域推定部 41は、追尾点が次の領域推定範囲に含まれるカゝ否かを判定し 、含まれていない場合には、ステップ S 108において、追尾点を含むように次の領域 推定範囲をシフトする処理を実行する。追尾点が次の領域推定範囲に含まれている 場合には、ステップ S108の処理は必要がないのでスキップされる。
[0118] この場合における具体的なシフトの方法としては、移動距離が最小となるようにする 方法、シフト前の領域推定範囲の重心から追尾点に向力うベクトルに沿って追尾点 が含まれるようになる最小距離だけ移動する方法などが考えられる。
[0119] なお、追尾のロバスト性を重視するために、領域に追尾点を含むようにするための シフトを行わな 、方法も考えられる。
[0120] 図 17Cの例においては、領域推定範囲 91が追尾点 93を含んでいないので、領域 推定範囲 101として示される位置 (追尾点 93をその左上に含む位置)に領域推定範 囲 91がシフトされる。
[0121] 図 17A乃至図 17Cは、ステップ S108のシフト処理が必要な場合を示しているが、 図 18A乃至図 18Cは、ステップ S 108のシフト処理が必要でない場合 (ステップ S 10 7にお ヽて追尾点が次の領域推定範囲に含まれると判定された場合)の例を表して いる。
[0122] 図 18A乃至図 18Cに示されるように、領域推定範囲 81内のすべてのサンプル点が 領域の点である場合には、図 16のステップ S108のシフト処理が必要なくなることに なる。
[0123] 図 17A乃至図 17Cと図 18A乃至図 18Cは、領域推定範囲が矩形である例を示し た力 図 19A乃至図 19Cと図 20A乃至図 20Cに示されるように、領域推定範囲は円 形とすることも可能である。図 19A乃至図 19Cは、図 17A乃至図 17Cに対応する図 であり、ステップ S108のシフト処理が必要である場合を表し、図 20A乃至図 20Cは 図 18A乃至図 18Cに対応する図であり、ステップ S108のシフト処理が必要でない場 合を表している。
[0124] 以上のようにして、図 16 (図 11のステップ S86)の領域推定範囲の更新処理により 、次フレームのための領域推定範囲の位置と大きさが追尾点を含むように決定される
[0125] 図 16の領域推定範囲の更新処理においては、領域推定範囲を矩形または円形の 固定形状としたが、可変形状とすることも可能である。この場合における図 11のステ ップ S86における領域推定範囲の更新処理の例について、図 21を参照して説明す る。
[0126] ステップ S131において、領域推定部 41は、図 11のステップ S84の処理で抽出さ れた全画面動きと背景動き推定部 14により推定された背景動きとがー致するか否か を判定する。両者の動きが一致しない場合には、ステップ S133に進み、領域推定部 41は、領域 (全画面動きと一致する画素で構成される領域)と推定されたすベての点 にっき、それぞれに対応する小領域を決定する(1個の点に対して 1個の小領域を決 定する)。
図 22Aと図 22Bの例においては、領域推定範囲 161のうち、図中黒い四角形で示さ れる領域の点に対応する小領域 171, 172が決定される。図中 171は 4つの点に対 応する 4つの小領域が重なりあった例を表示している。小領域の大きさは、例えば、 サンプル点の間隔に比例するように決定してもよ 、。
[0127] 次に、ステップ S134において、領域推定部 41は、ステップ S 133の処理で決定し た各小領域の和の領域を暫定領域推定範囲とする。図 22Cの例においては、小領 域 171と小領域 172の和の領域 181が暫定領域推定範囲とされる。小領域の和をと つた結果、不連続な複数の領域が形成される場合には、その中の最大面積を持つ 領域のみを暫定領域推定範囲とすることもできる。
[0128] ステップ S131において、全画面動きと背景動きとがー致すると判定された場合に は、ステップ S132において、領域推定部 41は、現在の領域推定範囲を暫定領域推 定範囲とする。現在の領域推定範囲を暫定推定領域範囲とするのは、背景動き推定 の結果と全画面動きが一致する場合には、動きにより背景と追尾対象を区別すること ができな!/、ので、現在の領域推定範囲を変更しな!ヽようにするためである。
[0129] ステップ S134またはステップ S132の処理の後、ステップ S 135において領域推定 部 41は、ステップ S 134またはステップ S 132で決定された暫定領域推定範囲の全 画面動きによるシフトで、次の領域推定範囲を決定する。図 22Cの例においては、暫 定領域推定範囲 181が全画面動きによる動きベクトル 183に基づ 、てシフトされ、暫 定領域推定範囲 182とされている。
[0130] ステップ S136において、領域推定部 41は、追尾点がステップ S135の処理で決定 された次の領域推定範囲に含まれるか否かを判定し、含まれない場合には、ステツ プ S137〖こ進み、追尾点を含むように次の領域推定範囲をシフトする。図 22Cと図 22 Dの例においては、領域推定範囲 182が追尾点 184を含んでいないので、追尾点 1 84を左上に含むようにシフトされ、領域推定範囲 191とされて 、る。
[0131] ステップ S136において、追尾点が次の領域推定範囲に含まれると判定された場合 には、ステップ S 137のシフト処理は必要ないのでスキップされる。 [0132] 次に図 10のステップ S62における乗り換え候補抽出処理について、図 23のフロー チャートを参照して説明する。
[0133] ステップ S161において、乗り換え候補抽出部 42は、全画面動きの領域と推定され たすベての点につき、それぞれに対応する推定動きでの点のシフト結果を乗り換え 候補として保持する。すなわち、領域推定結果として得られた点をそのまま用いるの ではなぐそれらを次のフレームでの使用のために、それぞれの動き推定結果に基 づきシフトされた結果を抽出する処理が行われ、その抽出された乗り換え候補が、乗 り換え候保持部 16に供給され、保持される。
[0134] この処理を図 8を参照して説明すると、次のようになる。すなわち、図 8の例におい て、フレーム n— 1, nでは追尾点 501が存在する力 フレーム n+ 1においては、図中 左側力も飛んできたボール 521により隠されてしまい、追尾点 501が存在しない。そ こでフレーム n+ 1において、追尾点を追尾対象としての顔 504上の他の点(例えば、 左目 503 (実際には右目 502にもつと近接した点))に乗り換える必要が生じる。そこ で、乗り換えが実際に必要になる前のフレームで、乗り換え候補を予め用意しておく のである。
[0135] 具体的には、図 8の例の場合、フレーム nからフレーム n+ 1への領域推定範囲 533 内での動き推定結果は、領域推定範囲 533において乗り換えが必要なことから、正 しく推定できない確率が高いことが予想される。すなわち、図 8の例では、乗り換えが 追尾点と、それと同一の対象物の一部が隠れることに起因して起きる。その結果、フ レーム nでの領域推定範囲 533のうち、フレーム n+ 1で対象が隠れる部分(図 8にお いて影を付した部分) 534については、動きが正しく推定されず、動きの確度が低い ことが推定される力 または確度が低くないと推定され、かつ、動き推定結果としては 意味のないものが得られることになる。
[0136] このような場合には、領域推定の際に用いることが可能な動き推定結果が減少する 、あるいは誤った動き推定結果が混入するなどの理由で、領域推定が誤る可能性が 高まる。一方、このような可能性は、一般的に、より時間的に前のフレーム n— 1からフ レーム nの間での領域推定においては、フレーム nからフレーム n+ 1での間での推 定に比較して低くなることが予想される。 [0137] そこで、リスク低減のため、領域推定結果をそのまま用いるのではなぐ前のフレー ム n— 1 (あるいは、時間的にもっと前のフレーム)で求めた領域推定結果を、その次の フレームでの移動先の乗り換え候補として用いるのが性能向上の上で望ましい。
[0138] ただし、領域推定結果をそのまま用いることも可能である。この場合の処理につい ては、図 38を参照して説明する。
[0139] 図 24は、図 10のステップ S63におけるテンプレート作成処理の詳細を表している。
ステップ S181においてテンプレート作成部 43は、領域 (全画面動きの領域)と推定さ れたすべての点につき、それぞれに対応する小領域決定する。図 25の例において は、領域の点 221に対応して小領域 222が決定されて!、る。
[0140] ステップ S182において、テンプレート作成部 43は、ステップ S 181の処理で決定さ れた小領域の和の領域をテンプレート範囲に設定する。図 25の例においては、小領 域 222の和の領域がテンプレート範囲 231とされている。
[0141] 次にステップ S183において、テンプレート作成部 43は、ステップ S182において設 定したテンプレート範囲の情報と画像情報力もテンプレートを作成し、テンプレート保 持部 18に供給し、保持させる。具体的には、テンプレート範囲 231内の画素データ がテンプレートとされる。
[0142] 図 26では、領域の点 221に対応する小領域 241が、図 25〖こおける小領域 222に 較べてより大きな面積とされている。その結果、小領域 241の和の領域のテンプレー ト範囲 251も、図 25のテンプレート範囲 231に較べてより広くなつている。
[0143] 小領域の大きさは、サンプル点の間隔に比例させることが考えられる力 その際の 比例定数は、面積がサンプル点間隔の自乗になるように決めることもできるし、それよ り大きくまたは小さく決めることも可能である。
[0144] なお、領域推定結果を用いず、例えば追尾点を中心とする固定の大きさや形状の 範囲をテンプレート範囲として用いることも可能である。
[0145] 図 27は、テンプレートと領域推定範囲の位置関係を表している。テンプレート範囲 303〖こは、追尾点 305が含まれている。テンプレート範囲 303に外接する外接矩形 3 01の図中左上の点がテンプレート基準点 304とされている。テンプレート基準点 304 から追尾点 305に向力うベクトル 306、並びにテンプレート基準点 304力 領域推定 範囲 302の図中左上の基準点 308に向力うベクトル 307が、テンプレート範囲 303の 情報とされる。テンプレートは、テンプレート範囲 303に含まれる画素で構成される。 ベクトル 306, 307は、テンプレートと同じ画像が検出された際の通常処理への復帰 に用いられる。
[0146] 以上の処理においては、乗り換え候補の場合と異なり、範囲、画素ともに、現フレー ムに対応するものをテンプレートとする例を説明したが、乗り換え候補の場合と同様 に、次フレームでの移動先をテンプレートとして用いることも可能である。
[0147] 以上のようにして、追尾点を含む画素データ力 なるテンプレートが乗り換え候補と 同様に、通常処理中に、予め作成される。
[0148] 図 6のステップ S26における領域推定関連処理は、領域推定関連処理部 15を、例 えば図 28に示されるように構成することで処理することも可能である。
[0149] この場合においても、領域推定関連処理部 15は、図 9における場合と同様に、領 域推定部 41、乗り換え候補抽出部 42、およびテンプレート作成部 43により構成され る力 この実施の形態の場合、領域推定部 41には、追尾点決定部 17より追尾点の 情報と入力画像が入力される。乗り換え候補抽出部 42には、領域推定部 41の出力 のみが供給されている。テンプレート作成部 43には、領域推定部 41の出力と入力画 像とが供給されている。
[0150] この場合においても、基本的な処理は、図 10に示される場合と同様に、ステップ S6 1において、領域推定処理が行われ、ステップ S62において、乗り換え候補抽出処 理が行われ、ステップ S63において、テンプレート作成処理が行われる。このうちのス テツプ S63のテンプレート作成処理は、図 24に示した場合と同様であるので、ステツ プ S61の領域推定処理と、ステップ S62の乗り換え候補抽出処理についてのみ以下 に説明する。
[0151] 最初に、図 29のフローチャートを参照して、ステップ S61における領域推定処理の 詳細について説明する。ステップ S201において、図 28の領域推定部 41は、追尾点 と同一対象に属する画像上の領域を推定するためにサンプル点を決定する。この処 理は、図 11のステップ S81の処理と同様の処理である。
[0152] ただし、このステップ S201の処理において対象とされるフレームは、追尾点を求め 終わったフレーム(追尾後の追尾点を含むフレーム)であり、この点、図 11のステップ S81においてサンプル点を求めるフレームが前フレームであるのと異なる。
[0153] 次に、このステップ S202において、領域推定部 41は、次フレーム(ステップ S 201 でサンプル点を決定したフレーム)の画像に空間方向のローパスフィルタを施す処理 を実行する。すなわちローパスフィルタを施すことにより、高周波成分が除去され、画 像が平滑ィ匕される。これにより、次のステップ S203における同色領域の成長処理が 容易になる。
[0154] 次に、ステップ S203において、領域推定部 41は、追尾点を出発点として、画素値 の差分が閾値 THimg未満であるという条件で、追尾点の同色領域を成長させ、同色 領域に含まれるサンプル点を領域の推定結果とする処理を実行する。領域の推定結 果としては、成長させた結果の同色領域に含まれるサンプル点が利用される。
[0155] 具体的には、例えば図 30Aに示されるように、追尾点 321に隣接する 8個の方向の 画素の画素値が読み取られる。すなわち、上方向、右上方向、右方向、右下方向、 下方向、左下方向、左方向、および左上方向の 8つの方向に隣接する画素の画素 値が読み取られる。読み取られた画素値と追尾点 321の画素値との差分が演算され る。そして、演算された差分値が閾値 THimg以上であるか否かが判定される。図 30A の場合、矢印を付して示される方向の画素値、すなわち上方向、右上方向、下方向 、左方向、および左上方向の画素値と追尾点 321の差分が閾値 THimg未満であり、 図中矢印を付さずに示されている方向、すなわち右方向、右下方向、および左下方 向の画素値と追尾点 321の差分が閾値 THimg以上であったとされる。
[0156] この場合、図 30Bに示されるように、差分が閾値 THimg未満である画素(図 30Aに おいて、追尾点 321に対して矢印で示される方向の画素)が追尾点 321と同色領域 の画素 322として登録される。同様の処理が同色領域に登録された各画素 322にお いて行われる。図 30Bに示される例では、図中左上の白い円で示される画素 322と それに隣接する画素 (既に同色領域であるとの判定が行われた画素を除く)の画素 値の差分が演算され、その差分が閾値 THimg以上である力否かが判定される。図 30 Bの例においては、右方向、右下方向、および下方向の画素は、既に同色領域の判 定処理が終了している方向なので、上方向、右上方向、左下方向、左方向、および 左上方向においての差分が演算される。そして、この例では、上方向、右上方向、お よび左上方向の 3つの方向の差分が閾値 THimg未満とされ、図 30Cに示されるように 、その方向の画素が追尾点 321と同色領域の画素として登録される。
[0157] 以上のような処理が順次繰り返されることで、図 31に示されるように、サンプル点の うち、同色領域 331に含まれる点が追尾点 321と同一対象物上の点として推定され る。
[0158] 図 29に示される領域推定処理(図 10のステップ S61)に続いて、図 28の乗り換え 候補抽出部 42において実行される図 10のステップ S62の乗り換え候補抽出処理は
、図 32のフローチャートに示されるようになる。
[0159] すなわち、ステップ S231において、乗り換え候補抽出部 42は、領域(同色領域)と 推定されたすベての点をそのまま乗り換え候補とし、それを乗り換え候補保持部 16 に供給し、保持させる。
[0160] 図 28の領域推定関連処理部 15において、図 29の領域推定処理(図 10のステップ S61)、図 32の乗り換え候補抽出処理(図 10のステップ S62)に引き続き、図 28のテ ンプレート作成部 43で実行される図 10のステップ S63のテンプレート作成処理は、 図 24に示される場合と同様であるので、その説明は省略する。
[0161] ただし、この場合においては、追尾点の同色領域をそのままテンプレートの範囲と することも可會である。
[0162] 以上に説明した図 2のステップ S1の通常処理に続いて行われるステップ S2の例外 処理の詳細について、図 33のフローチャートを参照して説明する。この処理は、上述 したように、図 6のステップ S24において追尾点の動きを推定することが不可能と判定 され、さらにステップ S28において追尾点を乗り換える乗り換え候補が選択できなか つたと判定された場合に実行されることになる。
[0163] ステップ S301において、制御部 19は、例外処理の初期化処理を実行する。この処 理の詳細は図 34のフローチャートに示されている。
[0164] ステップ S321において、制御部 19は、追尾点の追尾ができなくなった際(追尾点 の動きを推定することが不可能かつ、追尾点を乗り換える乗り換え候補が選択できな かった際)にシーンチェンジが起きていたか否かを判定する。シーンチェンジ検出部 13は、動き推定部 12の推定結果に基づ 、てシーンチェンがあつたか否かを常に監 視しており、制御部 19は、そのシーンチェンジ検出部 13の検出結果に基づいて、ス テツプ S321の判定を実行する。シーンチェンジ検出部 13の具体的処理については 、図 50と図 51を参照して後述する。
[0165] シーンチェンジが起きている場合、追尾ができなくなった理由がシーンチェンジが 発生したことによるものと推定して、ステップ S322において制御部 19は、モードをシ ーンチェンジに設定する。これに対して、ステップ S321においてシーンチェンジが発 生していないと判定された場合には、制御部 19は、ステップ S323においてモードを その他のモードに設定する。
[0166] ステップ S322またはステップ S323の処理の後、ステップ S324においてテンプレ ートマッチング部 11は、時間的に最も古いテンプレートを選択する処理を実行する。 具体的には、図 35に示されるように、例えばフレーム nからフレーム n+ 1に移行する とき、例外処理が実行されるものとすると、フレーム n— m+ 1からフレーム nに関して 生成され、テンプレート保持部 18に保持されている m個のフレームのテンプレートの 中から、時間的に最も古いテンプレートであるフレーム n— m+ 1に関して生成された テンプレートが選択される。
[0167] このように例外処理への移行直前のテンプレート(図 35の例の場合フレーム nに関 して生成されたテンプレート)を用いずに、時間的に少し前のテンプレートを選択する のは、追尾対象のォクルージョンなどで例外処理への移行が発生した場合には、移 行の直前には追尾対象が既にかなり隠れており、その時点のテンプレートでは、追 尾対象を充分に大きく捉えることができない可能性が高いからである。従って、このよ うに時間的に若干前のフレームにおけるテンプレートを選択することで、確実な追尾 が可能となる。
[0168] 次に、ステップ S325において、テンプレートマッチング部 11は、テンプレート探索 範囲を設定する処理を実行する。テンプレート探索範囲は、例えば、例外処理に移 行する直前の追尾点の位置がテンプレート探索範囲の中心となるように設定される。
[0169] すなわち、図 36に示されるように、フレーム nにおいて被写体の顔 504の右目 502 が追尾点 501として指定されて!、る場合にぉ 、て、図中左方向からボール 521が飛 んできて、フレーム n+ 1において追尾点 501を含む顔 504が隠れ、フレーム n+ 2に おいて、再び追尾点 501が現れる場合を想定する。この場合において、追尾点 501 ( テンプレート範囲 311に含まれる)を中心とする領域がテンプレート探索範囲 312とし て設定される。
[0170] ステップ S326において、テンプレートマッチング部 11は、例外処理への移行後の 経過フレーム数およびシーンチェンジ数を 0にリセットする。このフレーム数とシーン チェンジ数は、後述する図 33のステップ S305における継続判定処理(図 37のステツ プ S361, S363, S365, S367)【こお!ヽて使用される。
[0171] 以上のようにして、例外処理の初期化処理が終了した後、図 33のステップ S302に おいて、制御部 19は次のフレームを待つ処理を実行する。ステップ S303において、 テンプレートマッチング部 11は、テンプレート探索範囲内においてテンプレートマツ チング処理を行う。ステップ S304においてテンプレートマッチング部 11は、通常処 理への復帰が可能である力否かを判定する。
[0172] 具体的には、テンプレートマッチング処理により、数フレーム前のテンプレート(図 3 6のテンプレート範囲 311内の画素)と、テンプレート探索範囲内のマッチング対象の 画素の差分の絶対値和が演算される。より詳細には、テンプレート範囲 311内の所 定のブロックと、テンプレート探索範囲内の所定のブロックにおけるそれぞれの画素 の差分の絶対値和が演算される。ブロックの位置がテンプレート範囲 311内で順次 移動され、各ブロックの差分絶対値和が加算され、そのテンプレートの位置における 値とされる。そして、テンプレートをテンプレート探索範囲内で順次移動させた場合に おける差分の絶対値和が最も小さくなる位置とその値が検索される。ステップ S304 において、最小の差分の絶対値和が、予め設定されている所定の閾値と比較される 。差分の絶対値和が閾値以下である場合には、追尾点 (テンプレートに含まれている )を含む画像が再び出現したことになるので、通常処理への復帰が可能であると判定 され、処理は図 2のステップ S1の通常処理に戻る。
[0173] そして上述したように、図 7のステップ S41において、例外処理からの復帰であると 判定され、ステップ S44において、差分絶対値和が最小となる位置をテンプレートの マッチした位置として、このマッチした位置とテンプレートに対応して保持してあった テンプレート位置と追尾点領域推定範囲の位置関係から、追尾点と領域推定範囲の 設定が行われる。すなわち、図 27を参照して説明したように、追尾点 305を基準とす るベクトル 306, 307に基づいて、領域推定範囲 302が設定される。
[0174] ただし、図 10のステップ S61の領域推定処理において、領域推定範囲を用いない 手法を用いる場合 (例えば、図 29に示される領域推定処理が用いられる場合)には、 領域推定範囲の設定は行われな ヽ。
[0175] 図 33のステップ S304における通常処理への復帰が可能であるか否かの判定は、 最小の差分絶対値和をテンプレートのアクティビティで除算して得られる値を閾値と 比較することで行うようにしてもよい。この場合におけるアクティビティは、後述する図 43のアクティビティ算出部 602により、図 49のステップ S532において算出された値 を用いることができる。
[0176] あるいはまた、今回の最小の差分絶対値和を 1フレーム前における最小の差分絶 対値和で除算することで得られた値を所定の閾値と比較することで、通常処理への 復帰が可能であるカゝ否かを判定するようにしてもよい。この場合、アクティビティの計 算が不要となる。
[0177] すなわち、ステップ S304では、テンプレートとテンプレート探索範囲の相関が演算 され、相関値と閾値の比較に基づいて判定が行われる。
[0178] ステップ S304において、通常処理への復帰が可能ではないと判定された場合、ス テツプ S305に進み、継続判定処理が実行される。継続判定処理の詳細は、図 37の フローチャートを参照して後述するが、これにより、追尾処理が ¾続可能であるか否 かの判定が行われる。
[0179] ステップ S306において、制御部 19は、追尾点の追尾が «続可能であるか否かを 継続判定処理の結果に基づいて(後述する図 37のステップ S366, S368で設定さ れたフラグに基づ!/、て)判定する。追尾点の追尾処理が継続可能である場合には、 処理はステップ S302に戻り、それ以降の処理が繰り返し実行される。すなわち、追 尾点が再び出現するまで待機する処理が繰り返し実行される。
[0180] これに対して、ステップ S306において、追尾点の追尾処理が継続可能ではないと 判定された場合 (後述する図 37のステップ S365で、追尾点が消失した後の経過フレ ーム数が閾値 THfr以上と判定される力、または、ステップ S367でシーンチェンジ数 が閾値 THsc以上と判定された場合)、最早、追尾処理は不可能として、追尾処理は 終了される。
[0181] 図 37は、図 33のステップ S305における継続判定処理の詳細を表している。ステツ プ S361において、制御部 19は、変数としての経過フレーム数に 1を加算する処理を 実行する。経過フレーム数は、図 33のステップ S301の例外処理の初期化処理(図 3 4のステップ S326)【こお!/ヽて、予め 0【こリセットされて!/ヽる。
[0182] 次〖こステップ S362〖こおいて、制御部 19は、シーンチェンジがあるか否かを判定す る。シーンチェンジがある力否かは、シーンチェンジ検出部 13が、常にその検出処理 を実行しており、その検出結果に基づいて判定が可能である。シーンチェンジがある 場合には、ステップ S363に進み、制御部 19は変数としてのシーンチェンジ数に 1を 加算する。このシーンチェンジ数も、図 34のステップ S326の初期化処理において 0 にリセットされて 、る。通常処理力も例外処理への移行時にシーンチェンジが発生し て ヽな 、場合には、ステップ S363の処理はスキップされる。
[0183] 次に、ステップ S364において、制御部 19は、現在設定されているモードがシーン チェンジであるか否かを判定する。このモードは、図 34のステップ S322, S323にお V、て設定されたものである。現在設定されて!、るモードがシーンチェンジである場合 には、ステップ S367に進み、制御部 19は、シーンチェンジ数が予め設定されている 閾値 THscより小さいか否かを判定する。シーンチェンジ数が閾値 THscより小さい場 合には、ステップ S366に進み、制御部 19は継続可のフラグを設定し、シーンチェン ジ数が閾値 THsc以上である場合には、ステップ S368に進み、継続不可のフラグを 設定する。
[0184] 一方、ステップ S364において、モードがシーンチェンジではないと判定された場合
(モードがその他であると判定された場合)、ステップ S365に進み、制御部 19は、経 過フレーム数が閾値 THfrより小さいか否かを判定する。この経過フレーム数も、図 32 の例外処理の初期化処理のステップ S326において、予め 0にリセットされている。経 過フレーム数が閾値 THfrより小さいと判定された場合には、ステップ S366において、 継続可のフラグが設定され、経過フレーム数が閾値 THfr以上であると判定された場 合には、ステップ S368において、継続不可のフラグが設定される。
[0185] このように、テンプレートマッチング処理時におけるシーンチェンジ数が閾値 THsc 以上になる力、または経過フレーム数が閾値 THfr以上になった場合には、それ以上 の追尾処理は不可能とされる。
[0186] なお、モードがその他である場合には、シーンチェンジ数が 0であるという条件も加 えて、継続が可能である力否かを判定するようにしてもょ 、。
[0187] 以上にお!、ては、画像のフレームを処理単位とし、すべてのフレームを用いることを 前提としたが、フィールド単位で処理したり、すべてのフレームまたはフィールドを利 用するのではなく、所定の間隔で間弓 I V、て抽出されたフレームまたはフィールドを用 V、るようにすることも可能である。
[0188] また、以上においては、乗り換え候補として、推定した領域内の点の移動先を用い るようにした力 領域内の点をそのまま用いるようにすることも可能である。この場合、 図 2のステップ S1の通常処理は、図 6の処理に代えて、図 38の処理に変更される。
[0189] 図 38のステップ S401乃至ステップ S410の処理は、基本的に図 6のステップ S21 乃至ステップ S29の処理と同様の処理である力 図 6のステップ S22に対応する図 3 8のステップ S402の次のフレームを待つ処理の次に、ステップ S403の領域推定関 連処理が挿入されている点と、図 6におけるステップ S26における領域推定関連処 理に代えて、ステップ S407の領域推定範囲の更新処理が実行される点が異なって いる。その他の処理は、図 6における場合と同様であるので、その説明は省略する。
[0190] 図 38のステップ S403の領域推定関連処理の詳細は、図 10を参照して説明した場 合と同様となり、ステップ S407の領域推定範囲の更新処理は、図 16を参照して説明 した場合と同様の処理となる。
[0191] 通常処理を、図 38のフローチャートに示されるように実行した場合における、ステツ プ S403の領域推定関連処理(図 10の領域推定関連処理)の領域推定処理(図 10 のステップ S61における領域推定処理)は、図 39のフローチャートに示されるようにな る。
[0192] そのステップ S431乃至ステップ S435の処理は、基本的に図 11のステップ S81乃 至ステップ S86の処理と同様の処理となる。ただし、図 11のステップ S86における領 域推定範囲の更新処理が図 39においては省略されている。その他の処理は、図 11 における場合と同様である。すなわち、領域推定範囲の更新処理は、図 38のステツ プ S407において実行されるため、図 39の領域推定処理では不要とされるのである。
[0193] さらに、図 38の通常処理を行う場合におけるステップ S403の領域推定関連処理( 図 10の領域推定関連処理)の乗り換え候補抽出処理(図 10のステップ S62における 乗り換え候補抽出処理)は、図 40に示されるようになる。このステップ S451の処理は 、図 32におけるステップ S 231の乗り換え候補抽出処理と同様の処理となる。
[0194] 以上のように、通常処理を図 38のフローチャートに示されるように行った場合と、図 6に示されるように行った場合とにおける処理の違いを説明すると、図 41と図 42に示 されるようになる。
[0195] 図 6のフローチャートに示される通常処理を行った場合には、図 41に示されるように 、フレーム nにおいて、領域推定範囲 81内の図中黒い四角形で示される点 551によ り領域 82が構成されているとすると、次のフレーム n+ 1において、前のフレーム nに おける領域 82の各点 551をそれぞれの動きベクトル 553に基づいてシフトした位置 におけるフレーム n+ 1上の点 552が乗り換え候補とされる(図 23のステップ S161の 処理)。
[0196] 各点 551の動きベクトル 553は、全画面動きの動きベクトルと同じになることもあるが 、全画面動きと同じ動きとみなす精度によっては各点の推定動きに多少のばらつきが でる。例えば、水平方向、垂直方向とも、 ± 1画素の違いは同じとみなすとすると、 (0 , 0)の動きには、(一 1, 1)や(1, 0)の動きも含まれる。この場合、全画面動きが(0, 0 )であったとしても、各点 551が、(一 1, 1)、 (1, 0)等の動きを持っているときは、それ ぞれの動きの分だけシフトされる。移動先の点をそのまま乗り換え候補として用いるの ではなぐ予め求められたサンプル点のうち、最も近い点を乗り換え候補とすることも 可能である。勿論、処理負荷軽減のため、各点 551を、全画面動きの分だけシフトし てもよい。
[0197] これに対して、通常処理を図 38のフローチャートに示されるように実行した場合に おいては、図 42に示されるように、フレーム nにおける領域推定範囲 81内の点 561 が乗り換え候補とされる。 [0198] 次に、図 43を参照して、図 1の動き推定部 12の構成例について説明する。この動 き推定部 12は、動きベクトル検出部 606— 1、および動きベクトル確度算出部 606— 2 により構成されている。実施の形態においては、入力画像が、評価値算出部 601、ァ クテイビティ算出部 602、および動きベクトル検出部 606— 1に供給されている。
[0199] 動きベクトル検出部 606— 1は、入力画像力も動きベクトルを検出し、検出した動き ベクトルと入力画像を動きベクトル確度算出部 606— 2に供給する。また、動きべタト ル検出部 606— 1は、入力画像が既に動きベクトルを含む場合、画像データと動きべ タトルを分離して、動きベクトル確度算出部 606— 2に供給する。画像データとその動 きベクトルが既に分離された状態で入力される場合、動きベクトル検出部 606— 1は 省略することができる。
[0200] 動きベクトル確度算出部 606— 2は、入力された入力画像 (画像データ)に基づいて 、対応する動きベクトルの確度(以下、動きベクトル確度と称する)を演算し、得られた 確度を動きベクトル検出部 606— 1より供給された動きベクトルとともに出力する。
[0201] この実施の形態においては、動きベクトル確度算出部 606— 2は、評価値算出部 60 1、アクティビティ算出部 602、および演算部 606— 3により構成されている。演算部 6 06 - 3は、閾値判定部 603、正規化処理部 604、および統合処理部 605により構成 されている。
[0202] 図 43の動きベクトル検出部 606-1から出力された動きベクトルが、評価値算出部 6 01に入力され、入力画像 (画像データ)が、評価値算出部 601とアクティビティ算出 部 602に入力されている。
[0203] 評価値算出部 601は、入力画像の評価値を算出し、演算部 606— 3の正規ィ匕処理 部 604に供給する。アクティビティ算出部 602は、入力画像のアクティビティを算出し 、演算部 606 - 3の閾値判定部 603と正規化処理部 604に供給する。
[0204] 正規化処理部 604は、評価値算出部 601より供給された評価値を、アクティビティ 算出部 602より供給されたアクティビティに基づ 、て正規化し、得られた値を統合処 理部 605に供給する。閾値判定部 603は、アクティビティ算出部 602より供給された アクティビティを所定の閾値と比較し、その判定結果を統合処理部 605に供給する。 統合処理部 605は、正規化処理部 604から供給された正規化情報と、閾値判定部 6 03より供給された判定結果に基づいて、動きベクトル確度を演算し、得られた動きべ タトル確度を装置に出力する。このとき、ベクトル検出部 606— 1より供給された動きべ タトルも一緒に出力するようにしてもよい。
[0205] 次に図 44のフローチャートを参照して、動き推定部 12の動き演算処理の詳細につ いて説明する。動きベクトル検出部 606— 1は、ステップ S501において、入力画像を 取得し、ステップ S502で、入力画像のフレームを所定のブロックに分割し、ステップ S503で、時間的に後(または前)のフレームと比較することで動きベクトルを検出する 。具体的には、ブロックマッチグ法により動きベクトルが検出される。検出された動き ベクトルは、評価値算出部 601に供給される。
[0206] 以上の処理を図 45乃至図 48を参照して説明すると次のようになる。すなわち、図 4 4のステップ S501において、例えば、図 45に示されるように、フレーム F (第 1フレー
1 ム)乃至フレーム F (第 Nフレーム)の N個のフレームが順次取得されると、ステップ S
N
502において、 1つのフレームの画像が一辺 2L+ 1画素の正方形のブロックに分割 される。ここで、分割されたフレーム Fの任意のブロックをブロック Bとし、図 46に示さ n P
れるように、ブロック Bの中心座標(画素)を点 Ρ (Χ , Y )とする。
P P P
[0207] 次〖こステップ S503〖こおいて、例えば、図 47〖こ示されるよう〖こ、フレーム Fnの次のフ レームであるフレーム F において、ブロック Bをフレーム F 上の所定の走査範囲内 n+1 p n+1
で走査させながら、対応する画素の差分絶対値和が最小となる位置が調べられ、そ の値が最小となる位置のブロック (ブロック B )が検出される。その中心点 Q (X , Y ) q q q 力 sブロック Bの点 p (x , Υ )との対応点とされる。
Ρ Ρ Ρ
[0208] 図 48に示されるように、ブロック Βの中心点 Ρ (Χ , Υ )とブロック Βの中心点 Q (X ,
P P P Q Q
Y )とを結んで表される線 (矢印)が、動きベクトル V(vx,vy)として検出される。すな わち、次式に基づいて動きベクトル V (vx,vy)が演算される。
V(vx,vy) =Q (X , Y )-P (X , Υ )
Q Q P P …(1)
[0209] 図 44のステップ S504において、動きベクトル確度算出部 22により動きベクトル確 度演算処理が実行される。その詳細は、図 49を参照して後述する力 この処理により 、動きベクトル確度が定量的な数値として算出される。
[0210] ステップ S505において、動きベクトル確度算出部 606— 2は、 1つのフレームの全て のブロックに対して、動きベクトル確度の算出が終了した力否かを判定する。
[0211] 動きベクトル確度算出部 606— 2は、ステップ S505において、まだ全てのブロックに 対して動きベクトル確度が算出されて 、な 、と判定した場合、処理をステップ S504 に戻し、以降の処理を繰り返し実行する。全てのブロックに対して動きベクトル確度の 算出が終了したと判定された場合、そのフレームについての処理を終了する。以上 の処理は、各フレーム毎に行われる。
[0212] 次に図 49のフローチャートを参照して、図 44のステップ S504の動きベクトル確度 演算処理の詳細について説明する。ステップ S531において、評価値算出部 601は 、次式に基づいて評価値 Eval(P,Q,i,j)を演算する。
[0213] [数 1]
Eval (P, Q, I, j) =∑∑\ Fj (Xq + x, Yq +y)― / (XP + xf YP +y)\
••' (2)
[0214] 上記式(2)における総和∑∑は、 Xがー L力も Lについて、 yがー L力も Lについて行 われる。すなわち、簡単のため、図 50に示されるように、ブロック Bとブロック Bの一
P Q
辺を 5 ( = 2L+ 1 = 2 X 2+ 1)画素とする場合、フレーム Fのブロック Bの左上端の n p
座標(点 P (X -2, Y— 2) )に位置する画素 71の画素値と、画素 771に対応するフレ
P P
ーム F のブロック Bの座標(点 Q (X—2, Y— 2) )に位置する画素 811の画素値と n+1 q 1 q q
の差が演算される。同様の演算が、点 P (X—2, Y—2)乃至点 P (X + 2, Y + 2)
1 p p 25 p p に位置する画素のそれぞれに対応するブロック Bの点 Q (X— 2, Y— 2)乃至 Q (X q 1 q q 25 q
+ 2, Y + 2)に位置する画素の画素値とのそれぞれの差が演算される。 L= 2である 場合、 25個の差分が得られ、その絶対値の総和が演算される。
[0215] なお、上述したフレーム Fのブロック Bの中心座標の点 P (X , Y )に位置する画素 n p P P
(注目画素)、及びその対応点であるフレーム F のブロック Bの中心座標の点 Q (X n+1 q q
, Υ )に位置する画素(対応画素)の画素数は、少なくとも 1個であればよい。但し、複 数にする場合には、その数を同じにする必要がある。
[0216] この評価値は、一方のフレームの画像上の点と、他方のフレームの画像上の点の それぞれを中心とするブロックの評価値 (従って、動きベクトルの評価値)を示すもの であり、評価値力^に近づくほど、よく一致していることを表している。また、上記式(2 )において、 F;および は、時間的に異なるフレームを示し、上述した説明では、 Fnが Fに対応し、 F 力 に対応する。上記式(2)では、差分絶対和を評価値として!/、る i n+1 j
力 差分二乗和を評価値としてもよい。
[0217] ブロックマッチング法以外に、勾配法や、ベクトル検出方法によって評価値を演算 することも可會である。
[0218] 評価値算出部 601は、生成した評価値を正規化処理部 604に供給する。
[0219] ステップ S532において、アクティビティ算出部 602は、入力画像力もアクティビティ を算出する。アクティビティは、画像の複雑さを表す特徴量であり、図 51、図 52に示 されるように、各画素毎の注目画素 Y(x, y)と、それに隣接する 8画素、すなわち隣 接画素 Y (X— 1 , y-1) ,Y (x,y-l) ,Y(x+ l ,y—l) ,Υ(χ+ 1 ,y) ,Υ(χ+ l,y+ 1) ,Υ (χ, y+ 1) ,Y(x-l,y+ 1) ,Υ(χ-Ι,γ)との差分絶対和の平均値力 注目画素のァクティ ビティとして次式に基づ 、て演算される。
[0220] [数 2]
, . . , 、 ∑ =- ∑;=- I Y(x + y+j) - Y(xfy)\
Activity (x,y) = "- (3)
8
[0221] 図 52の例の場合、 3 X 3画素のうち、中央に位置する注目画素 Y(x, y)の値は 110 であり、それに隣接する 8個の画素(隣接画素 Y(x— 1, y-l) ,Y(x,y-l) ,Y(x+ l,y -1) ,Y(x+ l,y) ,Y(x+ l,y+ 1) ,Y(x,y+ 1) ,Y(x— l,y+ 1) ,Y(x— l,y) )の値は、 それぞれ 80, 70, 75, 100, 100, 100,80, 80である力ら、アクティビティ ίま次式で 表される。
Activity .y)
= { I 80-110 I + I 70-110 I + I 75-110 I + I 100-110 I
+ I 100-110 I + I 100-110 | + | 80-110 I + | 80— 110 I }
/8
= 24. 375
となる。
[0222] 動きベクトル確度を画素単位で算出する場合には、このアクティビティがそのまま動 きベクトル確度の算出に用いられる。複数の画素よりなるブロック単位で動きベクトル 確度を算出するには、ブロックのアクティビティがさらに算出される。
[0223] ブロック単位で動きベクトル確度を算出するため、ブロックのアクティビティは、例え ば、図 53Aに示されるように、一辺を 5 ( = 2L+ 1 = 2 X 2+ 1)画素としたブロック B
P
では、アクティビティ算出範囲 851aの中央に含まれる画素 771が注目画素とされ、 画素 771の値と、それに隣接する 8つの画素の値においてアクティビティが演算され る。
[0224] また、図 53B乃至 Fに示されるように、ブロック B内の画素が順に走査され、ァクティ
P
ビティ算出範囲 851b乃至 851fに含まれる注目画素と隣接画素とのアクティビティが 演算される。ブロック Bの全ての画素に対して演算されたアクティビティの総和がブロ
P
ック Bのブロックのアクティビティとされる。
P
[0225] 従って、次式で表されるブロック内の全画素のアクティビティの総和力 そのブロック のアクティビティ(ブロックアクティビティ) Blockactivity(U)と定義される。
[0226] [数 3]
Block a cttvitv (if j) = X Z-l Acnvitv (x. v) \ … (4)
[0227] 上記式(4)における総和は、 Xがー Lから Lにつ!/、て、 yがー Lから Lにつ!/、て行われ る。式 (4)の i,jは、ブロックの中心位置を表しており、式(3)の i,jとは異なるものである
[0228] なお、アクティビティとしては、この他、ブロックにおける分散値、ダイナミックレンジ、 その他の画素値の空間方向の変動を表す値などとすることも可能である。
[0229] 閾値判定部 603は、ステップ S533において、アクティビティ算出部 602により、ステ ップ S532の処理で算出されたブロックアクティビティ力 予め設定してある閾値(図 5 3を参照して後述する閾値 THa)より大きいか否かを判定する。その詳細は、図 54の フローチャートを参照して説明する力 この処理により、ブロックアクティビティが閾値
THaより大き 、か否かのフラグが設定される。
[0230] ステップ S534にお ヽて、正規化処理部 604は、正規化処理を実行する。その詳細 は、図 56を参照して後述する力 この処理によりステップ S31の処理で算出された評 価値、ステップ S532の処理で算出されたブロックアクティビティ、および閾値(図 55 を参照して後述する直線 903の傾き)に基づ 、た動きベクトル確度が演算される。 [0231] ステップ S535において、統合処理部 605により統合処理が実行される。その詳細 は、図 57を参照して後述する力 この処理によりステップ S533の処理(図 54のステツ プ 552またはステップ S553の処理)で設定されたフラグに基づ!/、て、図示せぬ装置 に出力する動きベクトル確度が決定される。
[0232] 次に、図 54を参照して、図 49のステップ S533の処理の閾値処理の詳細について 説明する。ステップ S551にお!/ヽて、閾値半 IJ定咅 603 ίま、図 49のステップ S532の処 理の結果、算出されたブロックアクティビティが閾値 THaより大きいか否かを判定する
[0233] 具体的には、実験の結果、ブロックアクティビティと評価値は、動きベクトルをパラメ ータとして、図 55に示される関係を有する。図 55において、横軸はブロックァクテイビ ティ Blockactivity(U)を表し、縦軸は評価値 Evalを表している。動きが正しく検出され て 、る場合 (正し 、動きベクトルが与えられて 、る場合)、そのブロックアクティビティと 評価値の値は、曲線 901より図中下側の領域 R1に分布する。これに対して誤った動 き(不正解の動きベクトル)が与えられた場合、そのブロックアクティビティと評価値の 値は、曲線 902より、図中左側の領域 R2に分布する(曲線 902より上側の領域 R2以 外と曲線 901より下側の領域 R1以外の領域には殆ど分布がない)。曲線 901と曲線 902は、点 Pにおいて交差する。この点 Pにおけるブロックアクティビティの値が閾値 THaとされる。閾値 THaは、ブロックアクティビティの値がそれより小さい場合には、対 応する動きベクトルが正しくない可能性があることを意味する(この点については後に 詳述する)。閾値判定部 603は、アクティビティ算出部 602より入力されたブロックァク テイビティの値力 この閾値 THaより大きいか否かを表すフラグを統合処理部 605に 出力する。
[0234] ステップ S551にお!/、て、ブロックアクティビティが閾値 THaより大き!/、と判定された 場合 (対応する動きベクトルが正しい可能性が高い場合)、ステップ S552に進み、閾 値判定部 603は、ブロックアクティビティが閾値 THaより大き ヽことを示すフラグを設定 する。
[0235] これに対して、ステップ S551において、ブロックアクティビティが閾値 THaより大きく はな ヽ (小さ!/、)と判定された場合 (対応する動きベクトルが正しくな 、可能性がある 場合)、ステップ S553に進み、ブロックアクティビティが大きくはない(小さい)ことを示 すフラグが設定される。
[0236] そして、閾値判定部 603は、入力されたブロックアクティビティが閾値より大きいか 否かを示すフラグを統合処理部 605に出力する。
[0237] 次に、図 56のフローチャートを参照して、図 49のステップ S534の正規化処理の詳 細について説明する。ステップ S571〖こおいて、正規化処理部 604は、図 49のステツ プ S 531の処理で算出された評価値、ステップ S 532の処理で算出されたブロックァ クテイビティ、および予め設定されている閾値(図 55の直線 903の傾き)に基づいて、 次式に従って動きベクトル確度 VCを演算する。
[0238] VC = 1 評価値 Zブロックアクティビティ · · ·(5)
[0239] 動きベクトル確度 VCのうち、評価値をブロックアクティビティで割り算して得られた値 は、その値によって規定される図 55のグラフ上の位置が、原点 Oと点 Pを結ぶ傾きが 1の直線 903より、図中下側の領域内であるの力 図中上側の領域内であるのかを表 す。すなわち、直線 903の傾きは 1であり、評価値をブロックアクティビティで割り算し て得られた値が 1より大きければ、その値に対応する点は、直線 903の上側の領域に 分布する点であることを意味する。そしてこの値を 1から減算して得られる動きべタト ル確度 VCは、その値力 、さい程 (負に大きい程)、対応する点が領域 R2に分布する 可能性が高 、ことを意味する。
[0240] これに対して、評価値をブロックアクティビティで割り算して得られた値が 1より小さけ れば、その値に対応する点は、直線 903の図中下側の領域に分布することを意味す る。そして、そのときの動きベクトル確度 VCは、その値が大きい程 (0に近い程)、対応 する点が領域 R1に分布することを意味する。正規化処理部 604は、このようにして演 算して得られた動きベクトル確度 VCを統合処理部 605に出力する。
[0241] ステップ S572において、正規化処理部 604は、式(5)に基づいて算出された動き ベクトル確度 VCが 0より小さいか否力 (動きベクトル確度 VCが負の値か否力)を判定 する。動きベクトル確度 VCが 0以上の値の場合、正規化処理部 604は、ステップ S57 3に進み、ステップ S571の処理で演算された動きベクトル確度 VCをそのまま統合処 理部 605に供給する。 [0242] これに対して、ステップ S572において、動きベクトル確度 VCが 0より小さい(動きべ タトル確度 VCが負の値)と判定された場合、ステップ S574に進み、正規化処理部 60 4は、動きベクトル確度 VCを固定値として 0に設定し、統合処理部 605に供給する。
[0243] 以上のようにして、動きベクトルが正しくな 、可能性がある(不正解ベクトルの可能 性がある)場合 (動きベクトル確度 VCが負の場合)、動きベクトル確度は 0に設定され る。
[0244] 次に、図 57のフローチャートを参照して、図 49のステップ S535の統合処理の詳細 について説明する。
[0245] 統合処理部 605は、ステップ S591において、ブロックアクティビティが閾値 THa以 下か否かを判定する。この判定は、閾値判定部 603より供給されたフラグに基づいて 行われる。ブロックアクティビティの値が閾値 THaより大きい場合には、ステップ S592 において、統合処理部 605は、正規ィ匕処理部 604によって演算された動きベクトル 確度 VCの値がそのまま動きベクトルとともに出力される。
[0246] これに対して、ブロックアクティビティが閾値 THa以下であると判定された場合には、 ステップ S593において、正規ィ匕処理部 604によって算出された動きベクトル確度 VC の値力^に設定され、出力される。
[0247] これは、正規化処理部 604において演算された動きベクトルの確度 VCの値が正で あつたとしても、ブロックアクティビティの値が閾値 THaより小さい場合には、正しい動 きベクトルが得られていない可能性がある力もである。すなわち、図 55に示されるよう に、原点 Oと点 Pの間においては、曲線 202が、曲線 901より図中下側に(直線 903 より下側に)突出することになる。ブロックアクティビティの値が閾値 THaより小さい区 間であって、曲線 901と曲線 902において囲まれる領域 R3においては、評価値をブ ロックアクティビティで割り算して得られる値は、領域 R1と R2の両方に分布し、正しい 動きベクトルが得られていない可能性が高い。そこで、このような分布状態である場 合には、動きベクトルの確度は低いものとして処理するようにする。このため、ステップ S593において、動きベクトル確度 VCは、その値が負である場合はもとより、正であつ たとしても、閾値 THaより小さい場合には、 0に設定される。このようにすることで、動き ベクトル確度 VCの値が正である場合には、正し!/、動きベクトルが得られて!/、る場合で あることを確実に表すことが可能となる。し力も、動きベクトル確度 VCの値が大きい程 、正 、動きベクトルが得られて 、る確率が高くなる(分布が領域 R1に含まれた確率 が高くなる)。
[0248] このことは、一般的に輝度変化が少な 、領域 (アクティビティが小さ!/、領域)では信 頼性が高い動きベクトルを検出することが困難であるとの経験上の法則とも一致する
[0249] 以上のようにして、動きベクトル確度が算出される。従って、動きベクトル確度を定量 的な数値として表すことが可能になり、信頼性の高い動きベクトルを検出することが可 能になる。なお、フレームの画像を処理単位として説明した力 フィールドを処理単位 としてちよい。
[0250] 図 58は,図 1の背景動き推定部 14の構成例を表している。この構成例においては 、背景動き推定部 14は、頻度分布算出部 1051と背景動き決定部 1052により構成さ れている。
[0251] 頻度分布算出部 1051は、動きベクトルの頻度分布を算出する。ただし、この頻度 には、動き推定部 12より供給される動きベクトル確度 VCを用いることで、確からしい 動きに重みが与えられるように、重み付けが行われる。背景動き決定部 1052は、頻 度分布算出部 1051により算出された頻度分布に基づいて、頻度が最大となる動き を背景動きとして決定する処理を行い、領域推定関連処理部 15へ出力する。
[0252] 図 59を参照して、背景動き推定部 14の背景動き推定処理について説明する。
[0253] ステップ S651において、頻度分布算出部 1051は、動き頻度分布を算出する。具 体的には、頻度分布算出部 1051は、背景動きの候補としての動きベクトルの X座標 と y座標がそれぞれ基準点から ± 16画素分の範囲で表されるとすると、 1089個(= 1 6 X 2 + 1) X (16 X 2+ 1) )の箱、すなわち動きベクトルがとり得る値に対応する座標 分の箱を用意し、動きベクトルが発生した場合、その動きベクトルに対応する座標に 1 を加算する。このようにすることで、動きベクトルの頻度分布を算出することができる。
[0254] ただし、 1個の動きベクトルが発生した場合、 1を加算していくと、確度が低い動きべ タトルの発生頻度が多 、場合、その確実性が低 、動きベクトルが背景動きとして決定 されてしまう恐れがある。そこで、頻度分布算出部 1051は、動きベクトルが発生した 場合、その動きベクトルに対応する箱 (座標)に、値 1を加算するのではなぐ値 1に動 きベクトル確度 VCを乗算した値(=動きベクトル確度 VCの値)を加算する。動きべタト ル確 VCの値は、 0から 1の間の値として正規化されており、その値が 1に近いほど確 度が高い値である。従って、このようにして得られた頻度分布は、動きベクトルをその 確度に基づいて重み付けした頻度分布となる。これにより、確度の低い動きが背景動 きとして決定される恐れが少なくなる。
[0255] 次に、ステップ S652において、頻度分布算出部 1051は、動き頻度分布を算出す る処理を全ブロックにつ 、て終了した力否かを判定する。まだ処理して!/、な 、ブロッ クが存在する場合には、ステップ S651に戻り、次のブロックについてステップ S651 の処理が実行される。
[0256] 以上のようにして、全画面に対して動き頻度分布算出処理が行われ、ステップ S65 2において、全ブロックの処理が終了したと判定された場合、ステップ S653に進み、 背景動き決定部 1052は、頻度分布の最大値を検索する処理を実行する。すなわち 、背景動き決定部 1052は、頻度分布算出部 1051により算出された頻度の中から最 大の頻度のものを選択し、その頻度に対応する動きベクトルを背景動きの動きべタト ルとして決定する。この背景動きの動きベクトルは、領域推定関連処理部 15に供給さ れ、例えば、図 16のステップ S104や図 21のステップ S131の全画面動きと背景動き がー致する力否かの判定処理に用いられる。
[0257] 図 60は、図 1のシーンチェンジ検出部 13の詳細な構成例を表している。この例に おいては、動きベクトル確度平均算出部 1071と閾値判定部 1072によりシーンチェ ンジ検出部 13が構成されて 、る。
[0258] 動きベクトル確度平均算出部 1071は、動き推定部 12より供給された動きベクトル 確度 VCの全画面の平均値を算出し、閾値判定部 1072に出力する。閾値判定部 10 72は、動きベクトル確度平均算出部 1071より供給された平均値を、予め定められて いる閾値と比較し、その比較結果に基づいて、シーンチェンジであるか否かを判定し 、判定結果を制御部 19に出力する。
[0259] 次に、図 61のフローチャートを参照して、シーンチェンジ検出部 13の動作について 説明する。ステップ S681において、動きベクトル確度平均算出部 1071は、ベクトル 確度の総和を算出する。具体的には、動きベクトル確度平均算出部 1071は、動き推 定部 12の統合処理部 605より出力された各ブロック毎に算出された動きベクトル確 度 VCの値を加算する処理を実行する。ステップ S682において、動きベクトル確度平 均算出部 1071は、ベクトル確度 VCの総和を算出する処理が全ブロックについて終 了した力否かを判定し、まだ終了していない場合には、ステップ S681の処理を繰り 返す。この処理を繰り返すことで、 1画面分の各ブロックの動きベクトル確度 VCの総 和が算出される。ステップ S682において 1画面全部についての動きベクトル確度 VC の総和の算出処理が終了したと判定された場合、ステップ S683に進み、動きべタト ル確度平均算出部 1071は、ベクトル確度 VCの平均値を算出する処理を実行する。 具体的には、ステップ S681の処理で算出された 1画面分のベクトル確度 VCの総和 を、足し込まれたブロック数で除算して得られた値が平均値として算出される。
[0260] ステップ S684において、閾値判定部 1072は、ステップ S683の処理で動きべタト ル確度平均算出部 1071により算出された動きベクトル確度 VCの平均値を、予め設 定されている閾値と比較し、閾値より小さいか否かを判定する。一般的に、動画中の 時刻が異なる 2フレーム間でシーンチェンジが発生すると、対応する画像が存在しな いため、動きベクトルを算出しても、その動きベクトルは確からしくないことになる。そこ で、ベクトル確度 VCの平均値が閾値より小さい場合には、ステップ S685において、 閾値判定部 1072はシーンチェンジフラグをオンし、閾値より小さくない場合(閾値以 上である場合)、ステップ S686において、シーンチェンジフラグをオフにする。シーン チェンジフラグのオンは、シーンチェンジがあったことを表し、そのオフは、シーンチェ ンジが無いことを表す。
[0261] このシーンチェンジフラグは、制御部 19へ供給され、図 34のステップ S321におけ るシーンチェンジの有無の判定、並びに図 37のステップ S362のシーンチェンジの有 無の判定に利用される。
[0262] 次に、以上のオブジェクト追尾装置を応用した画像処理装置について説明する。図 62は、オブジェクト追尾装置をテレビジョン受像機 1700に応用した場合の例を表し ている。チューナ 1701は、 RF信号を入力し、復調して画像信号と音声信号とに分離 し、画像信号を画像処理部 1702に出力し、音声信号を音声処理部 1707に出力す る。
[0263] 画像処理部 1702は、チューナ 1701より入力された画像信号を復調し、オブジェク ト追尾部 1703、ズーム画像作成部 1704、および選択部 1705に出力する。オブジェ タト追尾部 1703は、上述した図 1のオブジェクト追尾装置 1と実質的に同様の構成と されている。オブジェクト追尾部 1703は、入力画像力もユーザにより指定されたォブ ジェタトの追尾点を追尾する処理を実行し、その追尾点に関する座標情報をズーム 画像作成部 1704に出力する。ズーム画像作成部 1704は、追尾点を中心とするズ ーム画像を作成し、選択部 1705に出力する。選択部 1705は、画像処理部 1702よ り供給された画像またはズーム画像作成部 1704より供給された画像の一方をユー ザからの指示に基づいて選択し、画像ディスプレイ 1706に出力し、表示させる。
[0264] 音声処理部 1707は、チューナ 1701より入力された音声信号を復調し、スピーカ 7 08に出力する。
[0265] リモートコントローラ 1710は、ユーザにより操作され、その操作に対応する信号を制 御部 1709に出力する。制御部 1709は、例えばマイクロコンピュータなどにより構成 され、ユーザの指示に基づいて各部を制御する。リムーバブルメディア 1711は、半 導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどにより構成され、必要に応 じて装着され、制御部 1709に、プログラム、その他各種のデータを提供する。
[0266] 次に、テレビジョン受像機 1700の処理について、図 63のフローチャートを参照して 説明する。
[0267] ステップ S701において、チューナ 1701は、図示せぬアンテナを介して受信した RF信号から、ユーザにより指示されたチャンネルの信号を復調して、画像信号を画 像処理部 1702に出力し、音声信号を音声処理部 1707に出力する。音声信号は、 音声処理部 1707で復調された後、スピーカ 1708から出力される。
[0268] 画像処理部 1702は、入力された画像信号を復調し、オブジェクト追尾部 1703、ズ ーム画像作成部 1704、および選択部 1705に出力する。
[0269] ステップ S702において、オブジェクト追尾部 1703は、追尾が指示されたか否かを 判定し、追尾が指示されていないと判定された場合、ステップ S703, S704の処理を スキップする。ステップ S705において、選択部 1705は、画像処理部 1702より供給 される画像信号と、ズーム画像作成部 1704より入力される画像信号のいずれか一方 を制御部 1709からの制御に基づいて選択する。いまの場合、ユーザから特に指示 がなされていないので、制御部 1709は、選択部 1705に画像処理部 1702からの画 像信号を選択させる。ステップ S706において画像ディスプレイ 1706は、選択部 170 5により選択された画像を表示する。
[0270] ステップ S707において、制御部 1709は、ユーザの指示に基づいて画像表示処理 を終了するカゝ否かを判定する。すなわちユーザは、画像表示処理を終了するとき、リ モートコントローラ 1710を操作して、制御部 1709にそれを指示する。ユーザから終 了が指示されていない場合、処理はステップ S701に戻り、それ以降の処理が繰り返 し実行される。
[0271] 以上のようにして、チューナ 1701により受信された信号に対応する画像をそのまま 表示する通常の処理が実行される。
[0272] ユーザは、画像ディスプレイ 1706に表示されている画像を見て追尾したいと思う画 像が表示されたとき、リモートコントローラ 1710を操作することで、その画像を指定す る。この操作がなされたとき、ステップ S702において制御部 1709は、追尾が指示さ れたと判定し、オブジェクト追尾部 1703を制御する。オブジェクト追尾部 1703は、こ の制御に基づいて、ユーザにより指定された追尾点の追尾処理を開始する。この処 理は、上述したオブジェクト追尾装置 1の処理と同様の処理である。
[0273] ステップ S704において、ズーム画像作成部 1704は、オブジェクト追尾部 1703に より追尾されて 、る追尾点を中心とするズーム画像を生成し、選択部 1705に出力す る。
[0274] このズーム画像作成処理は、本出願人が先に提案しているクラス分類適応処理を 利用して行うことができる。例えば、特開 2002— 196737公報には、予め学習して得 た係数を用いて、 525i信号を 1080i信号に変換する処理が開示されている。この処 理は、垂直方向と水平方向の両方に 9Z4倍に画像を拡大する処理と実質的に同様 の処理である。ただし、画像ディスプレイ 706は、画素数が一定であるため、ズーム画 像作成部 704は、例えば 9Z4倍の画像を作成する場合、 525i信号を 1080i信号に 変換した後、追尾点を中心とする所定の数の画素(画像ディスプレイ 706に対応する 数の画素)を選択することでズーム画像を作成することができる。縮小する処理は、そ の逆の処理となる。
[0275] この原理に基づいて、任意の倍率のズーム画像を生成することができる。
[0276] 追尾が指示されている場合、ステップ S705において選択部 1705は、ズーム画像 作成部 1704により作成されたズーム画像を選択する。その結果、ステップ S706に おいて、画像ディスプレイ 1706は、ズーム画像作成部 1704により作成されたズーム 画像を表示することになる。
[0277] 以上のようにして、画像ディスプレイ 1706には、ユーザが指定した追尾点を中心と するズーム画像が表示される。倍率が 1に設定された場合には、追尾だけが行われ る。
[0278] 図 64は本発明を適用した画像処理装置 1801の機能的構成例を表している。この 画像処理装置 1801は、動きベクトル検出部 1821、および動きベクトル確度算出部 1 822により構成されている。
[0279] 動きベクトル検出部 1821は、入力画像力も動きベクトルを検出し、検出した動きべ タトルと入力画像を動きベクトル確度算出部 1822に供給する。また、動きベクトル検 出部 1821は、入力画像が既に動きベクトルを含む場合、画像データと動きベクトル を分離して、動きベクトル確度算出部 1822に供給する。画像データとその動きべタト ルが既に分離された状態で入力される場合、動きベクトル検出部 1821は省略するこ とがでさる。
[0280] 動きベクトル確度算出部 1822は、入力された入力画像 (画像データ)に基づいて、 対応する動きベクトルの確度(以下、動きベクトル確度と称する)を演算し、動きべタト ル確度を図示せぬ装置に出力する。
[0281] 図 65は、図 64の動きベクトル確度算出部 1822の構成例を表している。この実施の 形態においては、動きベクトル確度算出部 1822は、評価値算出部 1841、ァクテイビ ティ算出部 1842、および演算部 1843により構成されている。演算部 1843は、閾値 判定部 1851、正規化処理部 1852、および統合処理部 1853により構成されている
[0282] 図 64の動きベクトル検出部 1821から出力された動きベクトル力 評価値算出部 18 41に入力され、入力画像 (画像データ)が、評価値算出部 1841とアクティビティ算出 部 1842に入力されている。
[0283] 評価値算出部 1841は、入力画像の評価値を算出し、演算部 1843の正規ィ匕処理 部 1852に供給する。アクティビティ算出部 1842は、入力画像のアクティビティを算 出し、演算部 1843の閾値判定部 1851と正規化処理部 1852に供給する。
[0284] 正規ィ匕処理部 1852は、評価値算出部 1841より供給された評価値を、ァクティビテ ィ算出部 1842より供給されたアクティビティに基づいて正規ィ匕し、得られた値を統合 処理部 1853に供給する。閾値判定部 1851は、アクティビティ算出部 1842より供給 されたアクティビティを所定の閾値と比較し、その判定結果を統合処理部 1853に供 給する。統合処理部 1853は、正規化処理部 1852から供給された正規化情報と、閾 値判定部 1851より供給された判定結果に基づいて、動きベクトル確度を演算し、得 られた動きベクトル確度を図示せぬ装置に出力する。
[0285] 動きベクトル検出部 1821、動きベクトル確度算出部 1822、評価値算出部 1841、 アクティビティ算出部 1842、演算部 1843、閾値判定部 1851、正規化処理部 1852 、統合処理部 1853は、それぞれ上述した図 43の動きベクトル検出部 606— 1、動き ベクトル確度算出部 606— 2、評価値算出部 601、アクティビティ算出部 602、演算部 606 - 3、閾値判定部 603、正規化処理部 604、統合処理部 605と基本的に同様の 構成をしているため、ここではこれ以上の詳細な説明は省略する。
[0286] 上述した画像処理装置 1801は、例えば、パーソナルコンピュータなどで構成する ことができる。
[0287] この場合、画像処理装置 1は、例えば、図 66で示されるように構成される。 CPU (
Central Processing Unit) 1931は、 ROM (Read Only Memory) 1932に記憶されてい るプログラム、または記憶部 1939から RAM (Random Access Memory) 1933〖こロード されたプログラムに従って各種の処理を実行する。 RAM233にはまた、 CPU1931が 各種の処理を実行する上において必要なデータなども適宜記憶される。
[0288] CPU1931, ROM1932,および RAM1933は、バス 1934を介して相互に接続され ている。このバス 1934にはまた、入出力インタフェース 1935も接続されている。
[0289] 入出力インタフェース 1935には、キーボード、マウスなどよりなる入力部 1936, CRT (Cathode Ray Tube) , LCD (Liquid Crystal Display)などよりなるディスプレイ、 並びにスピーカなどよりなる出力部 1937、モデム、ターミナルアダプタなどより構成さ れる通信部 1938、ハードディスクなどより構成される記憶部 1939が接続されている 。通信部 1938は、図示せぬ LANやインターネットを介して他の装置との通信処理を 行う。
[0290] 入出力インタフェース 1935にはまた、ドライブ 1940が接続され、磁気ディスク、光 ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア 1941が適 宜装着され、それら力 読み出されたコンピュータプログラムが、必要に応じて記憶 部 1939にインストールされる。
[0291] 次に、本発明を応用した符号ィ匕装置 2261について、図 67を参照して説明する。
[0292] この符号ィ匕装置 2261においては、入力画像は、動き演算部 2271の動きベクトル 検出部 1821、動き補償部 2272、および選択部 2273に供給される。動き演算部 22 71は、上述した図 64の画像処理装置 1801と実質的に同様の構成とされている。動 きベクトル検出部 1821は、入力画像力 動きベクトルを検出し、検出した動きべタト ルを動き補償部 2272、および付加コード作成部 2275に出力する。また、動きべタト ル検出部 1821は、動きベクトル、および入力画像を動きベクトル確度算出部 1822 に出力する。
[0293] 動きベクトル確度算出部 1822は、動きベクトル検出部 1821より入力された動きべ タトル、および入力画像力も動きベクトル確度を算出し、制御部 2274に出力する。制 御部 2274は、入力された動きベクトル確度に基づいて選択部 2273、および付加コ ード作成部 2275を制御する。
[0294] 動き補償部 2272は、供給された入力画像と動きベクトル検出部 1821より供給され た動きベクトルに基づいて、動き補償を行い、動き補償した画像を選択部 2273に供 給する。選択部 2273は、制御部 2274の制御に基づいて、画素値符号ィ匕部 2276に 入力画像、または動き補償された画像を選択して出力する。画素値符号化部 2276 は、入力された画像の符号化を行い、統合部 2277に出力する。
[0295] 付加コード作成部 2275は、制御部 2274の制御に基づいて、各フレームの画像に 対し、動き補償を行ったカゝ否かを表す付加コードを作成し、動きベクトル検出部 182 1より入力された動きベクトルと合成し、必要に応じて、さらに動きベクトル確度を付加 して、統合部 2277に出力する。
[0296] 統合部 2277は、画素値符号化部 2276から入力された符号、および付加コード作 成部 2275から入力された付加コードを統合して図示せぬ装置に出力する。
[0297] 次に、符号ィ匕装置 2261の処理について、図 68のフローチャートを参照して説明す る。なお、ステップ S821乃至ステップ S825の処理では、画像が入力され、画像の各 フレームが所定のブロックに分割される。分割されたブロックに基づいて、動きべタト ルが検出され、各動きベクトルの確度 (動きベクトル確度)が算出され、全てのブロック に対して動きベクトル確度が算出されるまで同様の処理が繰り返し実行される。
[0298] その後、ステップ S826において、動き補償部 2272は、入力画像と動きベクトルに 基づいて動き補償を行う。すなわち、動きベクトルに基づいて、前後のフレームの画 像の差分を算出し、差分画像 (動き補償画像)を作成する。
[0299] ステップ S827において、選択部 2273は、制御部 2274の制御に基づいて、入力 画像、または動き補償部 2272より供給された動き補償された画像のどちらかを選択 する。すなわち、制御部 2274は、動きベクトル確度が充分大きいとき、選択部 2273 に、符号ィ匕する画像として動き補償された画像を選択させ、そうでないとき入力画像 を選択させる。動きベクトル確度に基づいて、入力画像と動き補償された画像のいず れかが選択されるので、信頼性の低 、動きベクトルによって動き補償された画像が利 用されることを防ぐことが可能となる。選択部 2273は、選択した画像を画素値符号化 部 2276に供給する。
[0300] ステップ S828において、画素値符号化部 2276は、ステップ S828の処理で選択さ れた画像 (入力画像、または動き補償された画像)の符号化を行う。
[0301] ステップ S829において、付加コード作成部 2275は、制御部 2274からの制御に基 づ ヽて、復号時に必要な符号化された画像が動き補償された画像か否かを表す付 加コードを作成する。この付加コードには、動きベクトル確度を含めることができる。
[0302] ステップ S830において、統合部 2277は、ステップ S828の処理により符号化され た画像とステップ S829の処理により作成された付加コードを統合し、図示せぬ装置 に出力する。 [0303] 以上のようにして、画像が符号化され、正しくな 、可能性がある(不正解ベクトルの 可能性がある)動きベクトルに基づいて動き補償された画像が利用されることを防ぐこ とが可能となる。従って、信頼性のない動きベクトルを用いて動き補償を行うことで画 像が破綻してしまうことを防ぎ、復号時に高画質な画像を得ることが可能となる。
[0304] 図 69は、本発明を手振れ補正装置 2301に応用した場合の例を表している。手振 れ補正装置 2301は、例えば、デジタルビデオカメラ等に適用される。
[0305] 入力画像は、背景動き検出部 2311、および出力画像生成部 2314に入力される。
背景動き検出部 2311は、入力画像力も背景動きを検出し、変位蓄積部 2312に出 力する。背景動き検出部 2311の詳細な構成は図 70を参照して後述する。変位蓄積 部 2312は、入力された背景動きから変位量を蓄積し、蓄積した変位量を手振れ判 定部 2313、および出力画像生成部 2314に出力する。手振れ判定部 2313は、入力 された変位情報を所定の閾値に基づいて、手振れ力否かを判定し、判定結果を出力 画像生成部 2314に出力する。
[0306] 出力画像生成部 2314は、供給されている入力画像から、変位蓄積部 2312より入 力された変位量と手振れ判定部 2313から入力された判定結果に基づいて、出力画 像を生成し、例えば、 HDD (Hard Disk Drive)、ビデオテープ等のような書き込み可 能な記録媒体 315に記録する。また、出力画像生成部 2314は、生成した画像を、例 えば、 LCD (Liquid Crystal Display)等で構成される表示部 2316に出力し、表示させ る。
[0307] 図 70は、図 69の背景動き検出部 2311の詳細な構成例を表している。この構成例 においては、背景動き検出部 2311は、動き演算部 2321、頻度分布算出部 2322、 および背景動き決定部 2323により構成されている。動き演算部 2321は、上述した 図 63の画像処理装置 1801と実質的に同様の構成とされている。
[0308] 入力画像は、動き演算部 2321の動きベクトル検出部 1821に供給される。動きべク トル検出部 1821は、入力画像力 動きベクトルを検出し、検出した動きベクトル、お よび入力画像を動きベクトル確度算出部 1822に出力する。動きベクトル確度算出部 1822は、入力された動きベクトルおよび入力画像に基づいて、対応する動きべタト ルの確度 (動きベクトル確度)を算出し、頻度分布算出部 2322に出力する。 [0309] 頻度分布算出部 2322は、動きベクトルの頻度分布を算出する。ただし、この頻度 には、動き演算部 2321より供給される動きベクトル確度 VCを用いることで、確からし い動きに重みが与えられるように、重み付けが行われる。背景動き決定部 2323は、 頻度分布算出部 2322により算出された頻度分布に基づいて、頻度が最大となる動 きを背景動きとして決定する処理を行い、変位蓄積部 2312へ出力する。
[0310] 次に、図 71のフローチャートを参照して、手振れ補正装置 2301の手振れ補正処 理を説明する。ステップ S831乃至ステップ S834の処理の処理で、入力画像が取得 され、画像のフレームが所定のブロックに分割される。分割されたブロックに基づいて 、例えば、ブロックマッチング法により動きベクトルが検出され、各動きベクトルの確度 (動きベクトル確度)が算出される。
[0311] ステップ S835において、頻度分布算出部 2322は、動き頻度分布を算出する。具 体的には、頻度分布算出部 2322は、例えば、背景動きの候補としての動きベクトル の X座標と y座標がそれぞれ基準点から ± 16画素分の範囲で表されるとすると、 108 9個( = 16 X 2+ 1) X (16 X 2+ 1) )の箱、すなわち動きベクトルが取り得る値に対応 する座標分の箱を用意し、動きベクトルが発生した場合、その動きベクトルに対応す る座標に 1を加算する。このようにすることで、動きベクトルの頻度分布を算出すること ができる。
[0312] ただし、 1個の動きベクトルが発生した場合、 1を加算していくと、確度が低い動きべ タトルの発生頻度が多 、場合、その確実性が低 、動きベクトルが背景動きとして決定 されてしまう恐れがある。そこで、頻度分布算出部 2322は、動きベクトルが発生した 場合、その動きベクトルに対応する箱 (座標)に、値 1を加算するのではなぐ値 1に動 きベクトル確度 VCを乗算した値(=動きベクトル確度 VCの値)を加算する。動きべタト ル確度 VCの値は、 0から 1の間の値として正規化されており、その値が 1に近いほど 確度が高い値である。従って、このようにして得られた頻度分布は、動きベクトルをそ の確度に基づいて重み付けした頻度分布となる。これにより、確度の低い動きが背景 動きとして決定される恐れが少なくなる。
[0313] 次に、ステップ S836において、動きベクトル確度算出部 1822は、全てのブロックに 対して動きベクトルの確度が算出された力否かを判定する。まだ処理して 、な 、プロ ックが存在する場合には、ステップ S834に戻り、次のブロックについてステップ S834 、およびステップ S835の処理が繰り返し実行される。
[0314] 以上のようにして、全画面に対して動き頻度分布算出処理が行われた場合、ステツ プ S837に進み、背景動き決定部 2323は、頻度分布の最大値を検索する処理を実 行する。すなわち、背景動き決定部 2323は、頻度分布算出部 2322により算出され た頻度の中から最大の頻度のものを選択し、その頻度に対応する動きベクトルを背 景動きの動きベクトルとして決定する。この背景動きの動きベクトルは、変位蓄積部 2 312に供給される。
[0315] ステップ S838において、変位蓄積部 2312は、各フレームの背景動きとしての動き ベクトルを順次記憶する。
[0316] ステップ S839において、手振れ判定部 2313は、背景動きとしての動きベクトルの 変位量 (絶対値)が予め設定されている閾値より大きいか否かを判定することで、入 力画像がユーザの手振れによってブレた画像か否かを判定する。変位量が閾値より 大きい場合、手振れであると判定され、閾値より小さい場合、手振れではないと判定 される。手振れ判定部 2313は、判定結果を出力画像生成部 2314に供給する。
[0317] ステップ S839において、手振れ判定部 2313は、手振れが発生したと判定された 場合、ステップ S840において、出力画像生成部 2314は、そのときの変位量とは逆 の変位量分シフトした画像を生成し、出力する。これにより、ユーザは、手振れの少な V、画像を記録または見ることが可能となる。
[0318] これに対して、ステップ S839において、手振れではなかったと判定された場合、ス テツプ S841に進み、出力画像生成部 2314は、入力された画像をそのまま出力する 。出力された画像は、記録媒体 2315に記録され、また表示部 2316に表示される。
[0319] 以上のようにして、手振れが検出、補正される。動きベクトル確度を利用することで、 背景動きを精度良く検出することが可能となり、ユーザに手振れの少ない画像を提供 することが可能となる。
[0320] 図 72は、本発明を適用した蓄積装置 2341の例を表している。 HDD (Hard Disk
Drive)レコーダとしての蓄積装置 2341は、選択部 2351、記録媒体(HDD) 2352、ィ ンデッタス作成部 2353、シーンチェンジ検出部 2354、制御部 2355、インデックステ 一ブル 2356、選択部 2357、表示画像作成部 2358、全体制御部 2359、指示入力 部 2360で構成されている。
[0321] 選択部 2351は、全体制御部 2351の制御に基づいて記録媒体 2352に記録され ている画像、または入力画像を選択し、インデックス作成部 2353、シーンチェンジ検 出部 2354、および選択部 2357に供給する。 HDDで構成される記録媒体 2352には 、全体制御部 2359の制御に基づ ヽて画像が記録される。
[0322] シーンチェンジ検出部 2354は、供給された画像力もシーンチェンジを検出し、検 出結果を制御部 2355に供給する。制御部 2355は、供給された検出結果に基づい てインデックス作成部 2353、およびインデックステーブル 2356を制御する。
[0323] インデックス作成部 2353は、制御部 2355の制御〖こ基づいて、記録媒体 2352に 記録された画像であって、シーンチェンジと判定されたときの各シーンの先頭の画像 を縮小した画像であるインデックス画像、およびそのインデックス画像に対応する画 像の記録媒体 2352上での位置を特定する付加情報 (タイムコード、アドレスなど)を 抽出し、インデックステーブル 2356に供給する。
[0324] インデックステーブル 2356は、供給されたインデックス画像とそれに対応する付カロ 情報を保持する。また、インデックステーブル 2356は、制御部 2355の制御に基づい て、保持して!/ヽるインデックス画像に対応する付加情報を全体制御部 2359に供給す る。
[0325] 選択部 2357は、全体制御部 2359の指示に従って、選択部 2351から供給された 画像、またはインデックステーブル 2356から入力されたインデックス画像の一方を選 択し、表示画像作成部 2358に出力する。表示画像作成部 2358は、全体制御部 23 59の指示に従って、入力された画像から、画像表示装置 2365で表示可能な画像を 作成、出力し、表示させる。
[0326] 制御部 2355は、シーンチェンジ検出部 2354から出力されるシーンチェンジフラグ 、および全体制御部 2359の制御に基づいて、インデックス作成部 2353やインデック ステーブル 2356を制御する。
[0327] 全体制御部 2359は、例えばマイクロコンピュータなどにより構成され、各部を制御 する。指示入力部 2360は、各種のボタン、スィッチ、あるいはリモートコントローラな どにより構成され、ユーザ力もの指示に対応する信号を全体制御部 2359に出力す る。
[0328] 図 73は、図 72のシーンチェンジ検出部 2354の詳細な構成例を表している。この 例においては、動き演算部 2371、動きベクトル確度平均値算出部 2372、閾値判定 部 2373によりシーンチェンジ検出部 2354が構成されている。動き演算部 2371は、 上述した図 64の画像処理装置 1801と実質的に同様の構成とされている。
[0329] 動きベクトル検出部 1821は、選択部 2351より入力された画像力も動きベクトルを 検出し、検出した動きベクトル、および入力画像を動きベクトル確度算出部 1822に 出力する。動きベクトル確度算出部 1822は、入力された動きベクトルおよび入力画 像に基づいて、対応する動きベクトルの確度 (動きベクトル確度)を算出し、動きべタト ル確度平均値算出部 2372に出力する。
[0330] 動きベクトル確度平均値算出部 2372は、動き演算部 2371より供給された動きべク トル確度 VCの全画面の平均値を算出し、閾値判定部 2373に出力する。閾値判定 部 2373は、動きベクトル確度平均値算出部 2372より供給された平均値を、予め定 められている閾値と比較し、その比較結果に基づいて、シーンチェンジであるか否か を判定し、判定結果を制御部 2355に出力する。
[0331] 次に、図 74のフローチャートを参照して、蓄積装置 2341が記録媒体 2352に画像 を記録する場合に実行されるインデックス画像作成処理の詳細について説明する。 この処理は、入力された画像が記録媒体 2352に記録されているとき実行される。
[0332] ステップ S871乃至ステップ S874の処理のそれぞれは、図 44を参照して説明した ステップ S501乃至 S504の処理と同様である。すなわち、これらの処理で画像が入 力され、画像のフレームが所定のブロックに分割される。分割されたブロックに基づい て、例えば、ブロックマッチング法により動きベクトルが検出され、各動きベクトルの確 度 (動きベクトル確度)が算出される。
[0333] ステップ S875において、動きベクトル確度平均値算出部 2372は、選択部 2351を 介して入力される画像 (記録媒体 2352に記録中の画像)の動きベクトル確度の総和 を算出する。具体的には、動きベクトル確度平均値算出部 2372は、動き演算部 237 1の動きベクトル確度算出部 1822の統合処理部 1853より出力された各ブロック毎に 算出された動きベクトル確度 VCの値を加算する処理を実行する。ステップ S876にお いて、動きベクトル確度算出部 1822は、全ブロックについて動きベクトル確度 VCを 算出した力否かを判定し、まだ終了していない場合には、ステップ S874およびステツ プ S875の処理を繰り返す。これらの処理を繰り返すことで、 1画面分の全ブロックの 動きベクトル確度 VCの総和が算出される。ステップ S876において 1画面全部につい ての動きベクトル確度 VCの総和の算出処理が終了したと判定された場合、ステップ S 877に進み、動きベクトル確度平均値算出部 2372は、動きベクトル確度 VCの平均 値を算出する処理を実行する。具体的には、ステップ S875の処理で算出された 1画 面分の動きベクトル確度 VCの総和を、足し込まれたブロック数で除算して得られた値 が平均値として算出される。従って、この平均値は 1画面(1フレーム)について 1個と なる。
[0334] ステップ S878において、閾値判定部 2373は、ステップ S877の処理で動きべタト ル確度平均値算出部 2373により算出された動きベクトル確度 VCの平均値を、予め 設定されている閾値と比較し、その比較結果を制御部 2355に出力する。ステップ S8 79において、制御部 2355は、閾値判定部 2373の比較結果に基づいて、平均値が 閾値より小さいか否かを判定する。一般的に動画中の連続する 2フレーム間でシーン チェンジが発生すると、対応する画像が存在しないため、動きベクトルを算出しても、 その動きベクトルは確からしくないことになる。そこで、動きベクトル確度 VCの平均値 が閾値より小さい場合には、制御部 2355は、ステップ S880において、インデックス 作成部 2353を制御し、インデックス画像を作成させる。
[0335] すなわち、ステップ S881において、インデックス作成部 2353は、制御部 2355の 制御に基づいて、新たなシーンの先頭のフレームの画像のサイズを縮小し、インデッ タス画像を生成する。インデックス画像が、例えば 1画面中に 3 X 3個配置されて表示 される場合、元の画像の縦方向と横方向のサイズをそれぞれ 1/3に縮小することでィ ンデッタス画像が生成される。また、このとき、インデックス作成部 2353は、そのフレ ームの画像の記録媒体 2352上での記録位置を特定する付加情報 (タイムコード、ァ ドレスなど)を抽出する。
[0336] ステップ S881において、インデック作成部 2353は、ステップ S880の処理で作成し たインデックス画像、およびそれに対応する付加情報をインデックステーブル 2356 に記録する。
[0337] ステップ S879で、動きベクトル確度 VCの平均値が閾値以上であると判定された場 合、シーンチェンジが発生した可能性は低いので、ステップ S880,S881の処理はス キップされ、インデックス画像は作成されない。
[0338] その後、ステップ S882で、制御部 2355は、ユーザより、記録の終了が指令された か否かを判定し、終了が指示されていない場合には処理はステップ S871に戻り、そ れ以降の処理が繰り返される。記録の終了が指示された場合、処理は終了される。
[0339] 以上のようにして、記録動作中にシーンチェンジが自動的に検出され、インデックス 画像が自動的に作成される。
[0340] 次に図 75のフローチャートを参照して、蓄積装置 2341の画像表示装置 2365に対 する画像出力処理を説明する。この処理は、ユーザにより記録画像の再生出力が指 令されたとき実行される。
[0341] ステップ S901において、全体制御部 2359は、ユーザの指示入力部 2360の操作 に基づいて、記録媒体 2352に記録されている画像を再生出力させる。選択部 2351 は、記録媒体 2352により再生された画像を、選択部 2357を介して、表示画像作成 部 2358に供給する。表示画像作成部 2358は、入力された画像を画像表示装置 23 65に表示可能な画像に変換し、画像表示装置 2365に出力し、表示させる。
[0342] ステップ S902において、全体制御部 2359は、ユーザによって指示入力部 2360 が操作されることでインデックス画像の表示が指示されたカゝ否かを判定する。ユーザ からインデックス画像を表示する指示が入力されて 、な 、場合、処理はステップ S 90 1に戻り、それ以降の処理が繰り返し実行される。すなわち、記録媒体 2352の記録 画像を画像表示装置 2365に再生、出力(表示)する処理が継続される。
[0343] これに対して、ユーザからインデックス画像の表示が指示された場合、ステップ 903 において、全体制御部 2359は、インデックステーブル 2356を制御し、そこに記録さ れているインデックス画像を出力させる。すなわち、インデックステーブル 2356は、ィ ンデッタス画像を一覧として読み出し、選択部 2357を介して、表示画像作成部 235 8に出力する。表示画像作成部 2358は、入力されたインデックス画像の一覧を画像 表示装置 2365に出力し、表示させる。これにより、画像表示装置 2365には、 1画面 中〖こ、 3 X 3個のインデックス画像が配置された一覧が表示される。
[0344] ユーザは、指示入力部 2360を操作することで、複数表示されて!、るインデックス画 像 (インデックス画像の一覧)の中から、 1つを選択することができる。そこで、ステップ S906〖こおいて、全体制御部 2359は、画像表示装置 2365に表示されているインデ ックス画像が選択されたカゝ否かを判定する。インデックス画像が選択されて ヽな ヽと 判定された場合、処理はステップ S903に戻り、それ以降の処理が繰り返し実行され る。すなわち、インデックス画像の一覧が画像表示装置 2365により継続的に表示さ れる。
[0345] これに対し、インデックス画像が選択されたと判定された場合 (ユーザからインデック ス画像の一覧の中の所望のインデックス画像が選択 (指示)された場合)、ステップ S 905において、全体制御部 2359は、その選択されたインデックス画像に対応する画 像力も始まる記録画像を記録媒体 2352から再生させ、選択部 2351、選択部 2357 および表示画像作成部 2358を介し画像表示装置 2365に出力し、表示させる。すな わち、インデックス画像が選択されたと判定された場合、全体制御部 2359は、インデ ックステーブル 2356から、ステップ S904の処理で選択されたインデックス画像に対 応する付加情報 (タイムコード、アドレスなど)を読み込み、記録媒体 2352を制御し、 そのインデックス画像に対応する画像からそれに続く画像を再生させ、画像表示装 置 2365に出力し、表示させる。
[0346] ステップ S906において、全体制御部 2359は、終了が指示されたか否かを判定す る。ユーザによって指示入力部 2360が操作されることで、画像の出力(表示)終了の 指示が入力されたか否かが判定される。終了の指示が入力されていないと判定され た場合、処理はステップ S901に戻り、それ以降の処理が繰り返し実行される。これに 対し、終了の指示が入力されたと判定された場合、処理は終了する。
[0347] また、蓄積装置 2341は、その記録媒体が例えば、 DVD,ビデオテープ等である場 合にも適用可能である。
[0348] 上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェア により実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、 そのソフトウェアを構成するプログラム力 専用のハードウェアに組み込まれているコ ンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行 することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録 媒体からインストールされる。
[0349] 本明細書において、上述した一連の処理を実行するステップは、記載された順序 に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても 、並列的あるいは個別に実行される処理を含むものである。
[0350] 図 76は、本発明を監視カメラシステムに適用した場合の例を表している。この監視 カメラシステム 2800においては、 CCDビデオカメラ等よりなる撮像部 2801により撮像 された画像が画像ディスプレイ 2802に表示される。追尾対象検出部 2803は、撮像 部 2801より入力された画像から追尾対象を検出し、検出結果をオブジェクト追尾部 2805に出力する。オブジェクト追尾部 2805は、撮像部 2801より供給された画像中 の、追尾対象検出部 2803により指定された追尾対象を追尾するように動作する。ォ ブジェクト追尾部 2805は、上述した図 1のオブジェクト追尾装置 1と基本的に同様の 構成を有している。カメラ駆動部 2804は、オブジェクト追尾部 2805からの制御に基 づいて、撮像部 2801が追尾対象の追尾点を中心とする画像を撮影するように撮像 部 2801を駆動する。
[0351] 制御部 2806は、例えば、マイクロコンピュータなどにより構成され、各部を制御する 。制御部 2806には、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなど〖こ より構成されるリムーバブルメディア 2807が必要に応じて接続され、プログラム、その 他各種のデータが必要に応じて供給される。
[0352] 次に、図 77のフローチャートを参照して、監視処理の動作について説明する。監視 システム 2800の電源がオンされているとき、撮像部 2801は監視領域を撮像し、その 撮像して得られた画像を追尾対象検出部 2803、オブジェクト追尾部 2805、および 画像ディスプレイ 2802に出力している。追尾対象検出部 2803は、ステップ S931に おいて、撮像部 2801から入力された画像から追尾対象を検出する処理を実行する 。追尾対象検出部 2803は、例えば、動く物体が検出された場合、その動く物体を追 尾対象として検出する。追尾対象検出部 2803は、追尾対象の中から、例えば、最も 輝度の高い点、あるいは追尾対象の中心の点などを追尾点として検出し、オブジェク ト追尾部 2805に出力する。
[0353] ステップ S932において、オブジェクト追尾部 2805は、ステップ S931で検出された 追尾点を追尾する追尾処理を実行する。この追尾処理は、上述した図 1のオブジェク ト追尾装置 1の処理と同様の処理である。
[0354] ステップ S933において、オブジェクト追尾部 2805は、追尾点の画面上の位置を検 出する。そして、ステップ S934においてオブジェクト追尾部 2805は、ステップ S933 の処理により検出された追尾点の位置と画像の中央との差を検出する。ステップ S93 5において、オブジェクト追尾部 2805は、ステップ S934の処理で検出した差に対応 するカメラ駆動信号を生成し、カメラ駆動部 2804に出力する。ステップ S936におい て、カメラ駆動部 2804はカメラ駆動信号に基づいて撮像部 2801を駆動する。これに より撮像部 2801は、追尾点が画面の中央に位置するようにパンまたはチルトする。
[0355] ステップ S937において、制御部 2806は、ユーザからの指示に基づいて監視処理 を終了する力否かを判定し、ユーザから終了が指示されていない場合には、ステップ S931に戻り、それ以降の処理を繰り返し実行する。ユーザから監視処理の終了が指 示された場合、ステップ S937において終了すると判定され、制御部 2806は監視処 理を終了する。
[0356] 以上のようにして、この監視カメラシステム 2800においては、動く物体が自動的に 追尾点として検出され、その追尾点を中心とする画像が画像ディスプレイ 2802に表 示される。これにより、より簡単かつ確実に、監視処理を行うことが可能となる。
[0357] 図 78は、本発明を適用した他の監視カメラシステムの構成例を表している。この監 視力メラシステム 2900は、撮像部 2901、画像ディスプレイ 2902、オブジェクト追尾 部 2903、カメラ駆動部 2904、制御部 2905、指示入力部 2906、およびリムーパブ ルメディア 2907により構成されている。
[0358] 撮像部 2901は、撮像部 2801と同様に、 CCDビデオカメラなどにより構成され、撮 像した画像を画像ディスプレイ 2902とオブジェクト追尾部 2903に出力する。画像デ イスプレイ 2902は、入力された画像を表示する。オブジェクト追尾部 2903は、上述し た図 1のオブジェクト追尾装置 1と基本的に同様の構成とされている。カメラ駆動部 29 04は、オブジェクト追尾部 2903からの制御に基づいて、撮像部 2901を所定の方向 にパン、チルト駆動する。
[0359] 制御部 2905は、例えばマイクロコンピュータなどにより構成され、各部を制御する。
指示入力部 2906は、各種のボタン、スィッチ、あるいはリモートコントローラなどにより 構成され、ユーザ力もの指示に対応する信号を制御部 2905に出力する。リムーパブ ルメディア 2907は、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどによ り構成され、必要に応じて接続され、制御部 2905に必要なプログラムやデータなど を適宜供給する。
[0360] 次に、図 79のフローチャートを参照して、その動作について説明する。
[0361] ステップ S961において、制御部 2905は、ユーザより追尾点が指定されたか否かを 判定する。追尾点が指定されていなければ、ステップ S969に進み、制御部 2905は 、ユーザより処理の終了が指示された力否かを判定し、終了が指示されていなけれ ば、ステップ S961に戻り、それ以降の処理を繰り返し実行する。
[0362] すなわち、この間、撮像部 2901が撮像エリアを撮像して得られた画像が画像デイス プレイ 2902に出力され、表示されている。この画像を見て、監視エリアを監視する処 理を終了させる場合、ユーザ (監視者)は指示入力部 2906を操作して終了を指令す る。終了が指令されたとき、制御部 2905は、監視処理を終了する。
[0363] 一方、ユーザは、画像ディスプレイ 2902に表示されている画像を見て、例えば不 審者などが表示されたとき、その不審者の所定の点を追尾点として指定する。この指 定は、指示入力部 2906を操作することで行われる。ユーザが追尾点を指定したとき 、ステップ S961において、追尾点が指定されたと判定され、ステップ S962に進み、 追尾処理が実行される。以下、ステップ S962乃至ステップ S967において実行され る処理は、図 77のステップ S932乃至ステップ S937において行われる処理と同様の 処理である。すなわち、これにより、撮像部 2901が指定された追尾点が画面の中央 に来るように駆動される。
[0364] ステップ S967において、制御部 2905は、監視の終了が指示されたか否かを判定 し、指示された場合処理を終了するが、指示されていない場合には、ステップ S968 に進み、ユーザより追尾の解除が指示された力否かを判定する。ユーザは、例えば、 一旦追尾を指定したものが不審者でないとわ力つたとき、指示入力部 2906を操作し て、追尾の解除を指示することができる。制御部 2905は、ステップ S968で、追尾の 解除が指示されていないと判定された場合、ステップ S962に戻り、それ以降の処理 を実行する。すなわち、この場合には、指定された追尾点を追尾する処理が継続さ れる。
[0365] ステップ S968において追尾の解除が指示されたと判定された場合、追尾処理は解 除され、処理はステップ S961に戻り、それ以降の処理が繰り返し実行される。
[0366] 以上のようにして、この監視カメラシステム 2900においては、ユーザが指示した追 尾点の画像が画像ディスプレイ 2902の中央に表示される。従って、ユーザは、所望 の画像を任意に選択して、きめ細やかに監視を行うことが可能となる。
[0367] 本発明は、テレビジョン受像機や監視カメラシステムに限らず、各種の画像処理装 置に適応することが可能である。
[0368] なお、以上においては、画像の処理単位をフレームとした力 フィールドを処理単 位とする場合にも本発明は適用が可能である。
[0369] 上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェア により実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、 そのソフトウェアを構成するプログラム力 専用のハードウェアに組み込まれているコ ンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行 することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録 媒体からインストールされる。
[0370] この記録媒体は、図 76、または図 78に示されるように、装置本体とは別に、ユーザ にプログラムを提供するために配布される、プログラムが記録されて ヽる磁気ディスク (フロッピディスクを含む)、光ディスク(CD- ROM(Compact Disk-Read Only
Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク (MD (Mini-Disk)を含 む)、もしくは半導体メモリなどよりなるリムーバブルメディア 2807, 2907により構成さ れるだけでなぐ装置本体に予め組み込まれた状態でユーザに提供される、プロダラ ムが記録されている ROMゃノヽードディスクなどで構成される。
[0371] なお、本明細書にぉ 、て、記録媒体に記録されるプログラムを記述するステップは 、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的 に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
[0372] また、本明細書において、システムとは、複数の装置により構成される装置全体を 表すものである。
[0373] 図 80は、本発明を監視カメラシステムに適用した場合の構成例を表している。この 監視カメラシステム 3001においては、 CCDビデオカメラ等よりなる撮像部 3021により 撮像された画像が画像ディスプレイ 3023に表示される。追尾対象検出部 3024は、 撮像部 3021より入力された画像から追尾対象を検出し、検出結果をオブジェクト追 尾部 3026に出力する。オブジェクト追尾部 3026は、上述した図 1のオブジェクト追 尾装置 1と基本的に同様の構成を有して!/、る。
[0374] オブジェクト追尾部 3026は、撮像部 3021より供給された画像中の、追尾対象検出 部 3024により指定された追尾点を追尾するように動作する。エリア設定部 3025は、 オブジェクト追尾部 3026からの出力結果に基づいて、撮像部 3021により撮像され た画像の中から、追尾点を含むオブジェクトの周辺の所定の領域 (エリア)を設定し、 その領域を指定する位置情報を画像補正部 3022に出力する。画像補正部 3022は 、撮像部 3021により撮像された画像の中のエリア設定部 3025により設定された領 域について、画像のぼけ(フォーカスぼけ)を除去する補正を行い、画像ディスプレイ 3023に出力する。カメラ駆動部 3029は、オブジェクト追尾部 3026からの制御に基 づいて、撮像部 3021が追尾点を中心とする画像を撮影するように撮像部 3021を駆 動する。
[0375] 制御部 3027は、例えば、マイクロコンピュータなどにより構成され、各部を制御する 。制御部 3027には、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなど〖こ より構成されるリムーバブルメディア 3028が必要に応じて接続され、プログラム、その 他各種のデータが必要に応じて供給される。制御部 3027は、また、図示せぬ入出 力インタフェースを介して、ユーザからの指示(コマンドなど)の入力を受け付ける。
[0376] 次に、図 81のフローチャートを参照して、監視処理の動作について説明する。監視 システム 3001の電源がオンされているとき、撮像部 3021は監視する領域を撮像し、 その撮像して得られた画像を追尾対象検出部 3024、オブジェクト追尾部 3026、お よび画像補正部 3022を介して画像ディスプレイ 3023に出力する。追尾対象検出部 3024は、ステップ S 1001において、撮像部 3021から入力された画像から追尾対象 を検出する処理を実行する。追尾対象検出部 3024は、例えば、動く物体が検出さ れた場合、その動く物体を追尾対象として検出する。追尾対象検出部 3024は、追尾 対象の中から、例えば、最も輝度の高い点、あるいは追尾対象の中心の点などを追 尾点として検出し、オブジェクト追尾部 3026に出力する。
[0377] ステップ S1002において、オブジェクト追尾部 3026は、ステップ S1001で検出さ れた追尾点を追尾する追尾処理を実行する。この処理により、撮像部 8021により撮 像された画像の中の追尾対象となるオブジェクト (例えば、人、動物など)の中の追尾 点 (例えば、目、頭の中心)が追尾され、その追尾位置を表す位置情報がエリア設定 部 3025に出力される。
[0378] ステップ S1003において、エリア設定部 3025は、オブジェクト追尾部 3026からの 出力に基づいて、追尾対象のオブジェクトの周辺の所定の領域 (例えば、追尾点を 中心として、所定の大きさの四角形で表される領域)を補正対象エリアとして設定する
[0379] ステップ S1004において、画像補正部 3022は、撮像部 3021により撮像された画 像の中で、エリア設定部 3025により設定された補正対象エリア内の画像を補正する 画像補正処理を実行する。画像補正処理の詳細については、図 93を参照して後述 するが、この処理により、補正対象エリア内の画像について、画像のぼけが除去され た鮮明な映像が提供される。
[0380] ステップ S1005において、画像ディスプレイ 3023は、ステップ S 1004で補正され た画像、すなわち、撮像部 3021により撮像された画像であって、特に、補正対象エリ ァ内のみが鮮明になるように補正された画像を出力する。
[0381] ステップ S1006において、オブジェクト追尾部 3026は、ステップ S1002の処理によ る追尾結果に基づいて、オブジェクトの移動を検出し、移動したオブジェクトを撮像で きるようにカメラを駆動させるカメラ駆動信号を生成し、カメラ駆動部 3027に出力する 。ステップ S1007において、カメラ駆動部 3027はカメラ駆動信号に基づいて撮像部 3021を駆動する。これにより撮像部 3021は、追尾点が画面の力も外れてしまうこと がな 、ようにカメラをパンまたはチルトする。
[0382] ステップ S1008において、制御部 3027は、ユーザからの指示に基づいて監視処 理を終了する力否かを判定し、ユーザから終了が指示されていない場合には、ステツ プ S1001に戻り、それ以降の処理を繰り返し実行する。ユーザから監視処理の終了 が指示された場合、ステップ S1008において終了すると判定され、制御部 3027は 監視処理を終了する。
[0383] なお、追尾対象検出部 3024から出力された追尾点の情報に基づいて、検出され た追尾対象を追尾させるとともに、画像ディスプレイ 3023に表示される画面の中に、 追尾点が表示されるように(追尾点が画面の外にでないように)、カメラ駆動部 3029 に制御信号が出力され、カメラ (撮像部 3021)の駆動が制御され、また、追尾点の画 面上での位置の情報などの追尾結果が、エリア設定部 3025、制御部 3027などに出 力される。
[0384] 図 82A乃至 Cは、このとき画像ディスプレイ 3023に表示される画像の例を、時系列 に示した図である。図 82Aは、撮像部 3021により、追尾対象となるオブジェクト 3051 が撮像された画像の例であり、この例では、図中左方向に走って移動する人が、ォブ ジェタト 3051として撮像されている。図 82Bでは、オブジェクト 3051力 図 82Aの位 置から図中左に移動しており、図 82Cでは、オブジェクト 3051が、図 82Bの位置から さらに左に移動している。
[0385] 追尾対象検出部 3024は、図 81のステップ S1001で、オブジェクト 3051を検出し、 このオブジェクト 3051 (人)の目を、追尾点 3051 Aとしてオブジェクト追尾部 3026に 出力する。ステップ S1002ではオブジェクト追尾部 3026により追尾処理が行われ、 エリア設定部 3025により、ステップ S 1003で追尾対象のオブジェクト 3051 (追尾点 3 051 A)の周辺の所定領域が補正対象エリア 3052として設定される。
[0386] 上述したように、オブジェクト追尾部 3026は、追尾点 3051Aに基づいて、オブジェ タト 3051を追尾するので、オブジェクト 3051が移動すると、追尾点 3051Aも移動し 、その追尾結果 (位置)がエリア設定部 3025に出力される。このため、図 82A乃至図 82Cに示されるように、オブジェクト 3051が図中左に移動していくと、補正対象エリア 3052も図中左に移動していく。 [0387] 移動するオブジェクト 3051 (追尾点 3051 A)に対応する補正対象エリア 3052の設 定は、例えば、次のようにして行われる。図 83は、補正対象エリアとして、追尾点の周 辺に所定の大きさの四角形の領域が設定される例を示す。同図において、最初に補 正対象エリア 3071Aが設定されたものとする。最初の補正対象エリア 3071Aとして は、例えば、追尾点 3051Aを基準として、それを中心とする一定の範囲が設定され る。勿論、ユーザにより指定された場合には、その指定された範囲が補正対象エリア 3071Aとして設定される。このときエリア設定部 25は、補正対象エリア 3071Aの左 上の角の座標(χ,γ)を、内蔵するメモリに記憶する。オブジェクト 3051の追尾点 305 1Aが移動すると、オブジェクト追尾部 3026による追尾が行われ、追尾点 3051Aの、 画面上における X軸方向(図中左右の方向)、 Υ軸方向(図中上下方向)の位置 (また は移動距離)の情報が、追尾結果としてエリア設定部 3025に供給される。
[0388] そして、上述した左上の角の座標に基づいて、補正対象エリアが設定される。例え ば、追尾点 3051Aが画面上で、 X軸方向に χ、 Υ軸方向に yだけそれぞれ移動すると 、エリア設定部 3025は、補正対象エリア 3071Aの左上の座標 (Χ,Υ)に、 χと yを加算 し、座標 (X+x, Y+y)を計算し、その座標を新たな補正対象エリア 3071Bの左上の 角の座標として記憶するとともに、補正対象エリア 3071Bを設定する。追尾点 3051 八カ¾ (軸方向に a、 Y軸方向に bだけさらに移動すると、エリア設定部 3025は、補正対 象エリア 3071Aの左上の座標(Χ+χ,Υ+y)に、 aと bをカ卩算し、座標(X+x+a, Y+y+b) を計算し、その座標を新たな補正対象エリア 3071Cの左上の角の座標として記憶す るとともに、補正対象エリア 3071Cを設定する。
[0389] このように、オブジェクト(追尾点)の移動に伴って、補正対象エリアも移動していく。
[0390] また、上述したように、補正対象エリア 3052内の画像については、画像補正部 302 2による画像補正処理(図 81のステップ S1004)が行われ、画像のぼけが除去されて 、画像ディスプレイ 3023に表示される。従って、図 82A乃至 Cに示される画像は、補 正対象エリア 3052内が鮮明に表示され、補正対象エリア 3052の外の領域 (背景) である背景 3053の画像は、補正対象エリア 3052内の画像と比較すると、相対的に 不鮮明に表示される。
[0391] このようにすることで、画像ディスプレイ 3023に表示される画像の中で、補正対象 エリア 3052内のオブジェクト 3051が、常に鮮明に表示されるので、画像ディスプレイ 3023を観察するユーザは、自然にオブジェクト 3051を注目するようになり、その結 果、例えば不審者の侵入、物体の移動などをより迅速に発見することができる。また、 オブジェクト 3051は、鮮明に表示されるので、移動するオブジェクト(例えば、人物) が何 (誰)であるの力、ユーザに、正確に認識させることができる。
[0392] 前述の通り、オブジェクト追尾部 3026は、上述した図 1のオブジェクト追尾装置 1と 基本的に同様の構成を有しているため、その構成および動作に関して、ここでのこれ 以上の詳細な説明を省略する。
[0393] 以上のように、図 80のオブジェクト追尾部 3026を構成することにより、追尾すべき オブジェクト 3051 (図 82)が回転したり、ォクルージョンが発生したり、あるいはシーン チェンジにより、オブジェクト 3051の追尾点 3051Aが一時的に表示されなくなるよう な場合でも、画像の中で移動するオブジェクト 3051 (追尾点 3051 A)を正確に追尾 することができる。
[0394] このようにして追尾されるオブジェクト 3051の追尾点 3051Aの位置情報力 図 80 のオブジェクト追尾部 3026による追尾結果としてエリア設定部 3025に出力されるこ とにより、エリア設定部 3025によって、上述したように補正対象エリア 3052が設定さ れる。そして、画像補正部 3022が補正対象エリア 3052の中の画像のぼけ(フォー力 スぼけ)を除去する。
[0395] 次に、図 80の画像補正部 3022の詳細な構成例と、その動作について説明する。
図 84は、画像補正部 3022の詳細な構成例を示すブロック図である。この例では画 像補正部 3022に、エリア設定部 3025の出力信号に基づいて制御信号を生成し、 その制御信号を各部に供給する制御信号生成部 3741、入力画像の特徴を検出す る画像特徴検出部 3742、制御信号に基づいて、アドレスの演算を行うアドレス演算 部 3743、アドレス演算部 3743により演算されたアドレスに基づいて、予め記憶され た所定の係数を出力する係数 ROM3744、および入力画像の中の所定の領域に対 応する複数の画素を抽出する領域抽出部 3745が設けられている。
[0396] また、領域抽出部 3745から出力された画素のレベルに対して、係数 ROM3744か ら出力された係数に基づく積和演算を行い、新たに修正された画素レベルを出力す る積和演算部 3746、および積和演算部 3746の出力結果と制御信号に基づいて、 補正対象エリア 3052内の画像と、背景 3053を合成し、出力する画像合成部 3747 が設けられている。
[0397] 図 85は、制御信号生成部 3741が生成する制御信号の例を示す図である。制御信 号 Aは、入力画像の中の修正すべき部分 (補正対象エリア 3052)を特定する信号で あり、エリア設定部 3025の出力に基づいて生成され、領域抽出部 3745と画像合成 部 3747に供給される。制御信号 Bは、後述するぼけの度合いを表すパラメータ σを 特定する信号であり、アドレス演算部 3743に供給される。ノ ラメータ σの値は、例え ば、制御部 3027を介して行われる、ユーザの指定に基づいて特定されるようにして ちょいし、予め設定されるようにしてちょい。
[0398] 制御信号 Cは、後述するぼけのモデル式を解くために用いられる関係式の重み Wa の切り替えを指定する信号であり、アドレス演算部 3743に供給される。制御信号 Dは 、画像の特徴を検出するとき用いられる閾値の切り替えを指定する信号であり、画像 特徴検出部 742に供給される。制御信号 Cと Dについては、監視カメラシステム 3001 の特性などを考慮して予め設定されるようにしてもょ 、し、制御部 3027を介して行わ れる、ユーザの指定に基づ 、て生成されるようにしてもょ 、。
[0399] 次に、画像のぼけの原理について説明する。いま、カメラのピントが適正に設定さ れ被写体がフォーカスぼけして 、な 、画像の画素のレベル Xを真値とし、カメラのピ ントが外れて被写体がフォーカスぼけした画像の画素のレベル Yを観測値とする。画 像を構成する複数の画素を表現するために、画像の水平方向の座標を Xであらわし 、垂直方向の座標を yで表すと、真値は、 X(x,y)で表され、観測値は、 Y(x,y)で表す ことができる。
[0400] 本発明では、ぼけのモデル式として、式(6)を適用する。式(6)においては、式(7) に示されるガウス関数を用い、真値 X(x,y)にガウス関数を畳み込むことにより観測値 Y(x,y)が得られる。
[0401] 画
- r< i < r
— rく」く r
Y (x, y) = ∑ [W ( i , j ) x X (x+ i , y+j ) ] · · · ( 6 ) [0402] [数 5]
1
"、 J, ■ ノ e -2σ
[0403] 式(6)にお 、て、パラメータ σは、ぼけの度合 、を表すパラメータである。
[0404] 式(6)によれば、 1つの観測値 Y (x, y)は、変数 iと j (一 r< i<r, r<j <r)により変 化する複数の真値 X(x+i, y+j)を係数 Wで重みづけすることにより求められる。従 つて、ぼけのない画像の 1つの画素のレベルは、ぼけた画像の複数の画素のレベル に基づいて得られたものとされる。
[0405] また、上述したパラメータ σの値により画像のぼけの度合 、が変化する。パラメータ σの値が比較的小さい場合、真値の情報が観測値において広範囲に拡散されてお らず、比較的ぼけの小さい画像となる。これに対して、パラメータ σの値が比較的大き い場合、真値の情報が観測値において広範囲に拡散され、比較的ぼけの大きい画 像となる。
[0406] このように、パラメータ σの値の変化により、画像のぼけの度合いは変化する。この ため、画像のぼけを正確に修正するためには、パラメータ σの値を適切に求める必 要がある。本発明においては、パラメータ σの値をユーザが指定する。あるいは、監 視力メラシステム 1の特性などが考慮され、最適な値が予め設定されるようにしてもよ い。
[0407] 図 86乃至図 89を参照して、画像のぼけの原理についてさらに詳しく説明する。図 8 6Αは、簡単のため、画素が水平方向に一次元に配列されたものとして、ある画像に おける、真値 Χ0乃至 Χ8を表す図である。図 86Cは、図 86Αに対応する観測値を表 す図である。図 86Βは、係数 W(i)の大きさを棒グラフ状に表した図である。この例で は、変数 iが、— 2< i< 2とされ、中央の棒グラフが、係数 W(0)とされ、左端の棒グラフ 力 順番に係数 W(-2), W(-l), W(0), W(l), W(2)とされる。
[0408] ここで、式(6)に基づ!/、て、図 86Cの観測値 Y2を求めると、次のようになる。
[0409] Y2 = W(-2)X2 + W(-1)X3 + W(0)X4+ W(1)X5 + W(2)X6
[0410] 同様にして、図 86Cの観測値 Y0を求める場合、真値の中で、図 87の枠 3790—1で 示される部分に基づいて、演算を行うことにより、次のように観測値 Υ0が求められる。 [0411] Y0= W(-2)X0 + W(-1)X1 + W(0)X2 + W(1)X3 + W(2)X4
[0412] さらに、観測値 Ylを求める場合、図 87の枠 3790— 2で示される部分に基づいて、 演算を行うことにより、次のように観測値 Y1が求められる。
[0413] Yl =W(-2)X1 + W(-1)X2 + W(0)X3 + W(1)X4 + W(2)X5
[0414] Y3、Y4についても、同様にして求めることができる。
[0415] 図 88と図 89は、図 86Αと図 86Cの関係を 2次元で表したものである。すなわち、図 84を構成する各画素のレベルは、観測値であり、図 89を構成する各画素のレベルを 真値として、得られたものである。この場合、図 88における画素 Αに対応する観測値 Y(x,y)は次のようにして求められる。
[0416] (Y (X, y) = W(-2,-2)X(x-2, y-2) +W(— 1,— 2)X(x— 1, y-2)
+W(0,.2)X(x, y-2). . . +W(2, 2)X(x+2, y+ 2)
[0417] すなわち、図 88の画素 Aに対応する観測値は、図 89において画素 A' (画素 Aに対 応する)を中心として枠 aで示される 25 (=5 X 5)個の画素に対応する真値に基づ!/、 て求められる。同様に、図 88の画素 B (画素 Aの図中右隣の画素)に対応する観測 値は、図 89において、画素 B' (画素 Bに対応する)を中心とした 25個の画素に対応 する真値に基づいて求められ、図 88の画素 Cに対応する観測値は、図 89において 、画素 C' (画素 Cに対応する)を中心とした 25個の画素に対応する真値に基づいて 求められる。図 88の画素 Bと Cに対応する観測値 Y(x+l,y)と Y(x+2,y)を求める式を次 に示す。
[0418] 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). . .
+W(2,2)X(x+3,y+2)
[0419] 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). . .
+W(2,2)X
(x+4,y+2)
[0420] このようにして、図 88の各画素に対応する観測値をもとめていくと、式(8)乃至(11
)に示されるような行列式が得られる
[0421] [数 6]
Figure imgf000078_0001
[0422] [数 7]
Figure imgf000078_0002
[数 8]
Figure imgf000078_0003
[0424] [数 9]
Yf = wfxf
[0425] ここで、式(11)に示した行列式において、行列 Wfの逆行列を求めることができれ ば、観測値 Yfに基づいて真値 Χί^求めることができる。すなわち、ぼけた画像の画素 に基づいて、ぼけのない画像の画素を得ることができ、ぼけた画像を修正することが できる。
[0426] しかし、式(8)乃至式(11)に示した行列式は、図 86乃至図 89を参照して上述した ように、観測値の画素に対して、真値の画素が多ぐこのままでは逆行列を求めること ができない (例えば、図 87の例では、観測値の画素 1個に対して真値の画素 5個が 必要となる。 )o
[0427] そこで、式(8)乃至式(11)にカ卩えて、式(12)乃至式(15)に示される関係
式を導入する。
[0428] [数 10]
a(p1)W1 (p2) (X(x,y)-X(x, y-D) =0 · · · (12)
[0429] [数 11]
a(p1)W2(p2) (X(x,y)-X(x+1, y)) =0 · · · (13)
[0430] [数 12]
Wa(Pi)W3(p2) (X(x,y)-X(x, y+D) =0 · · · (14)
[0431] [数 13]
a(p1)W4(p2) (X(x,y)-X(x-1, y)) =0 · · · (15)
[0432] 式(12)乃至式(15)は、隣接する画素のレベルの差分について限定をカ卩えるもの であり、求めるべき真値が、画像の平坦な(隣接する画素のレベルと大きな差がない) 部分である場合には矛盾がない。しかし、求めるべき真値がエッジ部分である(隣接 する画素のレベルと大きな差がある)場合には矛盾が生じ、修正した画像に劣化が 生じる恐れがある。このため、ぼけた画像を適正に修正するためには、式(12)乃至 式(15)の 4つの関係式を、真値のエッジ部分をまたがないように画素ごとに使い分け る必要がある。
[0433] そこで、画像特徴検出部 3742にお ヽて、入力画像の中のエッジ部分と平坦部分 の判定を行い、どの方向(例えば、上下左右)に平坦になっているかを表すコード p2 を生成する。なお、画像特徴検出部 3742の詳細な動作については、図 94を参照し て後述する。また、本発明では、入力画像 (観測値)の中のエッジ部分と平坦部分の 判定結果が、真値の中でのエッジ部分と平坦部分の判定結果に等 、と仮定する。
[0434] 式(12)乃至式(15)において、コード p2の関数である関数 W1乃至 W4は、重み関 数とされる。本発明においては、コード p2に応じてこの重み関数 W1乃至 W4が制御 されることで,画素ごとの関係式の使い分けが行われるようにする。図 90にコード p2 に対応する重み関数 Wl乃至 W4の値を示す。この重み関数の値が大きい場合、式( 12)乃至式 (15)において平坦であるという意味合いが強くなり、重み関数の値が小さ V、場合、その意味合!、が弱くなる(エッジである意味合 、が強くなる)。
[0435] コード p2は、 4ビットにより構成されており、それぞれのビットは、左力も順番に、上、 右、下または左方向に平坦か否かを示しており、その方向に平坦である場合には、 対応するビットが「1」に設定される。例えば、コード p2が「0001」の場合、注目画素の 左方向に平坦であり、それ以外の方向は平坦ではない(エッジが存在する)ことを表 す。このため、コード p2が「0001」の場合、重み関数 W4の値が大きくなり、式(12)乃 至式(15)の 4つの関係式の中で式( 15)の重みが大きくなる。このようにすることで、 コード p2により、 4つの関係式の重みを変化させることができ、 4つの関係式を、エッジ をまたがな 、ように画素ごとに使!、分けることができる。
[0436] 例えば、図 91に示されるように、注目画素 Xaの上方向と左方向が平坦であり、右方 向と下方向がエッジである場合、コード p2により、式(12)乃至式(15)の 4つの関係 式の重みを変化させることにより、隣接する画素のレベルの差分について、「Xa— Xb = 0」、「Xa— Xc = 0」という限定が加えられるが、「Xa— Xd = 0」、「Xa— Xe = 0」という 限定は加えられない。なお、 Xb, Xc, Xd, Xeは、それぞれ注目画素 Xaの右、下、上 、または左に隣接する画素を表す。
[0437] また、式(12)乃至式(15)において、関数 Waは、別の重み関数であり、やはりコー ド piにより重み関数 Waの値が変化する。重み関数 Waの値を変化させることで、修正 された画像の全体のノイズ、ディテールを制御することができる。重み関数 Waの値が 大きいと、修正された画像においてノイズの影響が小さく感じられ、ノイズ感が減少す る。また、重み関数 Waの値が小さいと、修正された画像においてディテールが強調さ れたように感じられ、ディテール感が向上する。なお、重み関数 Waの値を変化させる コード piは、図 85の制御信号 Cに対応している。
[0438] このように、式(8)乃至式(11)にカ卩えて、式(12)乃至式(15)に示される関係式を 導入する。これにより、式(16)に示されるような逆行列を演算することが可能になり、 その結果、観測値に基づ 、て真値を求めることができる。
[0439] [数 14] XS = WS _1 YS · · · (16)
[0440] 本発明では、観測値 Ysにかかる係数 Ws-1が係数 ROM3744に予め保持され、領 域抽出部 3745により抽出された入力画像に対して、式(16)の行列式の演算 (積和 演算)が積和演算部 3746により行われる。このようにすることで、画像の修正を行う 都度、逆行列演算を行う必要がなぐ積和演算だけでぼけを修正することが可能にな る。ただし、入力画像に応じて、パラメータ σや、上述した 4つの関係式が異なるため 、想定しうるそれらの全ての組み合わせでの逆行列演算を予め行っておき、パラメ一 タ σ、コード ρ2などに対応するアドレスを定めて、そのアドレス毎に異なる係数が係数 ROM3744に格納される。
[0441] し力し、例えば、図 89に示される枠 (t)内の 25 (=5 X 5)個のすべてに画素において 、重み関数 W1乃至 W4の組み合わせを変化させ、 4つの関係式を切り替えた場合、 15(=図 55に示した関数 W1乃至 W4の組み合わせ)の 25 (枠 (t)内の画素数)乗の組 み合わせが存在し、それぞれの組み合わせごとに逆行列演算を行うと、係数の数が 膨大になり、係数 ROM3744の容量には制限があるため、全ての係数を格納しきれ なくなるおそれがある。このような場合、枠 (t)内の中心画素である Xtのみ、その特徴 に基づいて、コード p2を変化させて関係式を切り替え、枠 (t)内の画素 Xt以外画素の 関係式については、例えばコード p2が擬似的に、「1111」に固定されるようにしてもよ い。このようにすることで、係数の組み合わせを 15通りに限定することができる。
[0442] なお以上においては、ぼけの原理 (モデル式)を説明するために、ガウス関数の定 義域を、 -2≤ (x,y)≤2としたが、実際には、パラメータ σの値が十分大きくても対応 できるような範囲が設定される。また、式(12)乃至式(15)に示した関係式について も,画像の特徴を記述する式であれば,これに限定されるものではない。さらに、係 数 ROM3744の容量に制限がある場合の例として、ぼけの中心位相(Xt)のみに限 定して関係式を切り替える例を説明したが、それに限定されるものではなぐ係数 ROM3744の容量に応じて、関係式の切り替え方法を変えてもよ!、。
[0443] 次に図 92を参照して、画像補正部 3022によるぼけ修正処理について説明する。
ステップ S1801において、画像補正部 3022は、処理対象領域を検出する。この処 理対象領域は、ぼけの修正を行うべき領域、すなわち補正対象エリア 3052であり、 エリア設定部 3025から出力される信号に基づいて検出される。
[0444] ステップ S1802において、画像補正部 22は、パラメータ σの値を取得する。パラメ ータ σは、ユーザにより指定されるようにしてもよいし、予め設定された値が取得され るようにしてもよい。ステップ S1803において、画像補正部 22は、図 93を参照して後 述する画像補正処理を実行する。これにより、ぼけた画像が修正され、出力される。
[0445] このようにして、補正対象エリア 3052内の画像については、画像のぼけが除去され て鮮明な画像となる。
[0446] 次に、図 93を参照して、図 92のステップ S1803の画像補正処理の詳細について 説明する。
[0447] ステップ S1821において、画像特徴検出部 3742は、図 94を参照して後述する画 像特徴検出処理を実行する。これにより、注目画素に対して、どの方向に平坦なのか が判定され、図 90を参照して上述したコード ρ2が生成され、アドレス演算部 3743に 出力される。
[0448] ステップ S1822において、アドレス演算部 3743は、係数 ROM3744のアドレスを 演算する。係数 ROM3744のアドレスは、例えば、コード ρ2に対応する 4ビット(画像 特徴検出部 3742の出力)、パラメータ σの値を表す 4ビット(図 85の制御信号 Β)、 および、上述した 4つの関係式の重み関数 Waを切り替えるコード piに対応する 2ビッ ト(図 85の制御信号 C)により構成され、 0乃至 1023の 1024 (2の 10乗)個アドレスが 存在する。アドレス演算部 3743は、画像特徴検出部 3742の出力、制御信号 B、お よび制御信号 Cに基づ 、て、対応するアドレスを演算する。
[0449] ステップ S1823において、アドレス演算部 3743は、ステップ S 1822で演算したアド レスに基づいて、係数 ROM3744から係数を読み出し、積和演算部 3746に供給す る。
[0450] ステップ S1824において、積和演算部 3746は、ステップ S1823で読み出された 係数に基づいて、画素毎に積和演算を行い、その結果を後処理部 3747に出力する 。これにより、上述したように、観測値力 真値が求められ、ぼけた画像が修正される [0451] ステップ S1825において、画像合成部 3747は、図 97を参照して後述する画像合 成処理を実行する。これにより、画素毎に、積和演算部 3746の処理結果を出力する 力 入力画像をそのまま出力するかが判定される。ステップ S1826において、後処理 部 3747は、補正後処理され、選択された画像を出力する。
[0452] 次に図 94を参照して、図 93のステップ S1821の画像特徴検出処理について説明 する。ステップ S 1841において、画像特徴検出部 3742は、ブロックを抽出し、ステツ プ S1842において、ステップ S1841で抽出されたブロック間の差分を演算する(その 詳細は、図 96を参照して後述する)。ステップ S1843において、画像特徴検出部 37 42は、ステップ S 1842で演算されたブロック差分を予め設定されている閾値と比較し 、その比較結果に基づいて、ステップ S1844において、注目画素に対して平坦な方 向を表すコードであるコード p2を出力する。
[0453] 図 95と図 96を参照して、画像特徴検出処理について、さらに詳しく説明する。図 9 5は、画像特徴検出部 3742の詳細な構成例を示すブロック図である。同図の左側に は、入力された画像の中から所定のブロックを抽出するブロック切り出し部 3841— 1 乃至 3841— 5が設けられている。ブロック切り出し部 3841— 1乃至 3841— 5は、例え ば、図 96A乃至図 96Eに示されるように、図中黒い丸で示される注目画素(いま修正 すべき画素)の周辺の、注目画素を含む 9 (=3 X 3)個の画素で構成される 5つのブロ ックを抽出する。
[0454] 図 96Aに示されるブロック 3881は、その中心に注目画素を有する中心ブロックで あり、ブロック切り出し部 3841— 5により抽出される。図 96Bに示されるブロック 3882 は、ブロック 3881を画素 1個分図中上に移動した上側ブロックであり、ブロック切り出 し咅 3841— 3により抽出される。図 96Cに示されるブロック 3883ίま、ブロック 3881を 画素 1個分図中左に移動した左側ブロックであり、ブロック切り出し部 3841— 4により 抽出される。
[0455] 図 96Dに示されるブロック 3884は、ブロック 3881を画素 1個分図中下に移動した 下側ブロックであり、ブロック切り出し部 3841— 1により抽出される。図 96Εに示される ブロック 3885は、ブロック 3881を画素 1個分図中右に移動した右側ブロックであり、 ブロック切り出し部 3841— 2により抽出される。ステップ S 1841においては、注目画 素毎に、ブロック 3881乃至 3885の 5つのブロックが抽出される。
[0456] ブロック切り出し部 3841— 1乃至 3841— 5により抽出された各ブロックを構成する画 素の情報は、ブロック差分演算部 3842— 1乃至 3842— 4に出力される。ブロック差分 演算部 3842— 1乃至 3842-4は、各ブロックの画素の差分を、例えば、次のようにし て演算する。
[0457] いま、ブロック 3881の 9個の画素のうち一番上の行の 3個の画素(のレベル)を左か ら a (3881) , b (3881) , c(3881)とする。中央の行の 3個の画素を左から d (3881) , e ( 3881) , 3881)とする。一番下の行の 3個の画素を左から g(3881) , h (3881) , i(3881) とする。同様に、ブロック 3884の 9個の画素についても、一番上の行の 3個の画素( のレベル)を左から a (3884) , b (3884) , c(3884)とし、中央の行の 3個の画素を左から d (3884) , e (3884) , 3884)とし、一番上の行の 3個の画素を左から g (3884) , h (3884 ) , i(3884)とする。ブロック差分演算部 3842— 1は、ブロック差分 B(l)を次のように演 算する。
[0458] B(l)= I a(3881)-a(3884) | + | b(3881)-b(3884) | + | c(3881)-c(3884) | H
+ I i(3881)-i(3884) |
[0459] すなわち、ブロック差分 B(l)は、ブロック 3881 (中心)とブロック 3884 (下)において 対応する各画素のレベルの差分の絶対値の総和である。同様にして、ブロック差分 演算部 3842— 2は、ブロック 3881 (中心)とブロック 3885 (右)において対応する各 画素のレベルの差分の絶対値の総和を求め、ブロック差分 B (2)を演算する。さらに 、ブロック差分演算部 3842—3は、ブロック 3881 (中心)とブロック 3882 (上)につい て、ブロック差分演算部 3842—3は、ブロック 3881 (中心)とブロック 3883 (左)につ いて、それぞれ対応する各画素のレベルの差分の絶対値の総和を求め、ブロック差 分 B (3)と B (4)を演算する。
[0460] ステップ S1842においては、このように中心ブロックと上下左右の 4方向のブロック との差分であるブロック差分 B (l)乃至 B (4)が演算され、その結果は、対応する閾値 判定部 3843-1乃至 3843-4にそれぞれ出力されると同時に、最小方向判定部 84 4にも供給される。
[0461] 閾値判定部 3843— 1乃至 3843-4は、それぞれブロック差分 B (l)乃至 B (4)を予 め設定された閾値と比較し、その大小を判定する。なお、この閾値は制御信号 Dに基 づいて切り替えられる。閾値判定部 3843— 1乃至 3843-4は、それぞれブロック差分 B (1)乃至 B (4)が予め設定された閾値より大き!/、場合、その方向はエッジ部分であ ると判定し、「0」を出力し、閾値より小さい場合、その方向は平坦な部分であると判定 し、「1」を出力する。
[0462] ステップ S1843おいては、このようにしてブロック差分と閾値の比較が行われる。閾 値判定部 3843— 1乃至 3843-4の出力結果は、 4ビットのコードとしてセレクタ 845に 出力される。例えば、ブロック差分 B (l)、 B (3)および B (4)が閾値より小さぐブロッ ク差分 B (2)が閾値より大きい場合、コードとして「1011」が出力される。
[0463] ところで、ブロック差分 B (l)乃至 B (4)が、全て閾値より大きくなつてしまう場合 (平 坦な部分がない場合)も考えられる。この場合、閾値判定部 3843- 1乃至 3843-4か ら、コードとして「0000」が出力される。し力し、図 90に示されるように、コード p2が「 0000」の場合、対応する重み関数 W1乃至 W4が特定できない。そこで、セレクタ 384 5は、閾値判定部 3843— 1乃至 3843-4からの出力結果が「0000」か否かを判定し、 閾値判定部 3843— 1乃至 3843-4力もの出力結果が「0000」であると判定された場 合、最小方向判定部 3844からの出力をコード p2として出力する。
[0464] 最小方向判定部 3844は、ブロック差分 B (1)乃至 B (4)の中で、最小の値を判定し 、判定結果に対応した 4ビットのコードを、閾値判定部 3843— 1乃至 3843-4がコー ドを出力するのと同じタイミングで、セレクタ 3845に出力する。例えば、ブロック差分 (1)乃至 (4)の中で、 B(l)が最小であると判定された場合、最小方向判定部 384 4は、コードとして「1000」をセレクタ 3845に出力する。
[0465] このようにすることで、閾値判定部 3843— 1乃至 3843-4からコード「0000」が出力 されても、最小方向判定部 3844から出力されたコード「1000」がコード p2として出力 されるようにすることができる。勿論、閾値判定部 3843— 1乃至 3843-4力もの出力 結果が「0000」ではない場合は、閾値判定部 3843— 1乃至 3843— 4からの出力結果 力 Sコード p2として出力される。ステップ S3844においては、このようにしてコード p2が 生成され、アドレス演算部 743に出力される。
[0466] 次に、図 97を参照して、図 93のステップ S1825の画像合成処理について説明す る。ステップ S1861において、画像合成部 3747は、積和演算部 3746からの出力結 果に基づいて、画素の分散度を演算する。これにより、注目画素の周囲の画素の分 散度合いが演算される。ステップ S 1862において、画像合成部 3747は、ステップ S1 862で演算された分散度は予め設定された閾値より大きいか否かを判定する。
[0467] ステップ S1862において、分散度が閾値より大きいと判定された場合、画像合成部 3747は、ステップ S1863において、注目画素に対応する入力画像入れ替えフラグ を ONに設定する。一方、分散度が閾値より大きくないと判定された場合、画像合成 部 3747は、ステップ S1864において、注目画素に対応する入力画像入れ替えフラ グを OFFに設定する。
[0468] 入力画像において、もともとぼけていない部分の画素に対して、積和演算部 3746 により積和演算を行うと、その画素の周囲の画像のアクティビティが大きくなり、かえつ て画像が劣化してしまう場合がある。ここで、分散度が閾値より大きい場合、その画素 は劣化した画素であると判定され、入力画像入れ替えフラグ力 SONに設定される。入 力画像入れ替えフラグが ONに設定された画素は、出力されるとき、入力画像の画素 と入れ替えられて (元の状態に戻されて)出力される。
[0469] ステップ S1865において、画像合成部 3747は、全ての画素についてチェックした か否かを判定し、まだ全画素をチェックしていないと判定された場合、ステップ S186 1に戻り、それ以降の処理が繰り返し実行される。ステップ S1865において、全ての 画素についてチェックしたと判定された場合、ステップ S1866において、画像合成部 3747は、画像が補正され、ぼけが除去された補正対象エリア 3052内の画像と、背 景 3053の画像を合成し、画像ディスプレイ 3023に出力する。
[0470] このようにして、画素毎に、積和演算結果を出力するか、または入力画像の画素を そのまま出力するかが判定される。このようにすることで、入力画像の中で、もともとぼ けていない部分に対して、画像の修正を行うことにより、かえって画像が劣化してしま うことを防止することができる。
[0471] この点について、図 98と図 99を参照して、さらに詳しく説明する。図 98は、画像合 成部 3747の構成例を示すブロック図である。積和演算部 3746からの出力結果が、 ブロック切り出し部 3901に入力され、ブロック切り出し部 3901は、図 99に示されるよ うに、注目画素 a5を中心とした 9 ( = 3 X 3)個の画素 al乃至 a9を切り出し、分散演算 部 3802に出力する。分散演算部 3802は、分散度を次のようにして演算する。
[0472] [数 15]
9 つ
V = ∑ ( a*— m) · * · (17)
*=1
[0473] ここで、 mは、ブロック内の 9個の画素(のレベル)の平均値を表し、 vは、それぞれ の画素の平均値との差の 2乗の総和であり、ブロック内の画素の分散度を表す。ステ ップ S1861においては、このようにして分散度が演算され、演算結果が閾値判定部 3 903に出力される。
[0474] 閾値判定部 3903は、分散演算部 3902からの出力結果 (分散度)と予め設定され た閾値を比較し、分散度が閾値より大きいと判定された場合、画像合成部 3747は、 注目画素に対応する入力画像入れ替えフラグを ONに設定するように選択部 3904 を制御する。分散度が閾値より大きくないと判定された場合、画像合成部 3747は、 注目画素に対応する入力画像入れ替えフラグを OFFに設定するように選択部 3804 を制御する。ステップ S1862乃至 S1864においては、このように、分散度が閾値より 大きいか否かが判定され、判定結果に基づいて、入力画像入れ替えフラグが設定さ れる。
[0475] そして、切り替え部 3905により、選択部 3904による最終処理結果と、入力画像の 画素が切り替えられ、出力される。すなわち補正対象エリア 3052内の画像の画素は 、選択部 3904による最終処理結果とされ、背景 3053の画像の画素は、入力画像の 画素となるように切り替えられる。
[0476] このようにして、オブジェクト 3051 (図 82)が追尾され、オブジェクト 3051が含まれ る補正対象エリア 3052内の画像のみ力 画像のぼけが除去されるように修正 (補正) され鮮明に表示される。一方、背景 3053の画像は、画像のぼけが除去されずに表 示されるので、自然に、ユーザを、移動するオブジェクト 3051に注目させることができ る。
[0477] 以上においては、画像補正部 3022により、撮像部 3021により撮像された画像の 中の補正対象エリア 3052内の画像について、画像のぼけが除去されるように、補正 される例について説明した力 画像補正部 3022により、画像のぼけが除去されること なぐ補正対象エリア 3052内の画像について、例えば、画像を構成する各画素の輝 度や色などの設定が変更され、単純にハイライト表示されるように、画像が補正される ようにしてもよい。このようにすることで、ユーザがオブジェクト 3051を正確に視認する ことができなくなるおそれはあるものの、やはり、自然に、ユーザを、移動するオブジェ タト 3051に注目させることができ、また、画像のぼけが除去されるように補正される場 合と比較して、画像補正部 3022を、より簡単な構成とすることができ、その結果、監 視力メラシステム 1を、より低コストで実現することができる。
[0478] なお、上述した一連の処理をノヽードウエアで実現する力、ソフトウェアで実現するか は問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフ トウエアを構成するプログラム力 専用のハードウェアに組み込まれているコンビユー タ、または、各種のプログラムをインストールすることで、各種の機能を実行することが 可能な、汎用のパーソナルコンピュータなどに、ネットワークやリムーバブルメディアな どの記録媒体力 インストールされる。
[0479] また、本明細書にぉ 、て上述した一連の処理を実行するステップは、記載された順 序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくと も、並列的あるいは個別に実行される処理をも含むものである。

Claims

請求の範囲
[1] 時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理 単位における追尾点としての第 2の点の位置を推定する位置推定手段と、
前記第 2の点の位置が推定可能でない場合における前記第 1の点の候補としての 推定点を生成する生成手段と、
前記後の処理単位における前記第 2の点の位置が推定可能である場合、前記位 置推定手段による前記推定結果に基づいて、前記後の処理単位における前記第 2 の点を決定する決定手段と、
前記後の処理単位における前記第 2の点の位置が推定可能でな 、場合、前記推 定点の中から前記第 1の点を選択する選択手段と
を備えることを特徴とする画像処理装置。
[2] 前記処理単位はフレームである
ことを特徴とする請求項 1に記載の画像処理装置。
[3] 前記位置推定手段は、さらに位置の推定の確度を演算し、演算された前記確度が 基準値より大きい場合、前記第 2の点の位置が推定可能であると判定する
ことを特徴とする請求項 1に記載の画像処理装置。
[4] 前記位置推定手段は、前記後の処理単位における前記第 2の点の位置が推定可 能でない場合、前記選択手段にて選択された前記第 1の点に基づいて、前記第 2の 点の位置を推定する
ことを特徴とする請求項 1に記載の画像処理装置。
[5] 前記位置推定手段は、前記第 2の点の位置が推定可能である場合に、前記第 2の 点の位置を新たな第 1の点として、次の処理単位の画像上の追尾点の位置の推定を 行う
ことを特徴とする請求項 1記載の画像処理装置。
[6] 前記生成手段は、
前記第 1の点と同一の対象物に属する 1つ以上の点の集合を前記前の処理単位、 または前記前の処理単位よりさらに前の処理単位において対象領域として推定する 領域推定手段と、 前記対象領域に基づき前記推定点を生成する推定点生成手段とを有する ことを特徴とする請求項 1に記載の画像処理装置。
[7] 前記領域推定手段は、
推定対象である前記対象領域に少なくとも重なる位置を予測により求め、前記予測 された位置であって、対象領域を推定する処理単位における前記追尾点を含む位 置に領域推定範囲を設定し、
設定した領域推定範囲の中でサンプル点を設定し、前記サンプル点のうち、同一 の動きを有するサンプル点の集合力 なる領域であって最も大きい面積を持つサン プル点の集合からなる領域を前記対象領域と推定する
ことを特徴とする請求項 6に記載の画像処理装置。
[8] 前記領域推定範囲は、固定形状である
ことを特徴とする請求項 7に記載の画像処理装置。
[9] 前記領域推定範囲は、可変形状である
ことを特徴とする請求項 7に記載の画像処理装置。
[10] 前記領域推定手段は、前記前の処理単位よりさらに前の処理単位において前記対 象領域を推定し、
前記生成手段は、前記対象領域の前記前の処理単位における推定された前記対 象領域中の点を前記推定点として生成する
ことを特徴とする請求項 7に記載の画像処理装置。
[11] 前記領域推定手段は、前記前の処理単位において前記対象領域を推定し、
前記生成手段は、前記対象領域を構成する点を前記推定点として生成する ことを特徴とする請求項 7に記載の画像処理装置。
[12] 前記領域推定手段は、前記第 1の点と類似する画素値を有する点であって隣接す る点およびその隣接する点にさらに隣接する点を、前記対象領域と推定する
ことを特徴とする請求項 6に記載の画像処理装置。
[13] 前記領域推定手段は、前記前の処理単位よりも更に前の処理単位における前記第 1 の点を含む所定の大きさの領域の中のサンプル点を抽出し、前記サンプル点のうち 、同一の動きを有するサンプル点の領域であって最も大きい面積の領域を、その同 一の動きの分だけシフトした前記前の処理単位上の点を含む領域を対象領域と推定 する
ことを特徴とする請求項 6に記載の画像処理装置。
[14] テンプレートを作成するテンプレート作成手段と、
前記推定点に基づ ヽて前記第 2の点を決定することができな ヽ場合、前記後の処 理単位における所定の領域であるブロックと、そのブロックの処理単位より 1処理単位 以上前の処理単位の前記テンプレートの所定の領域であるブロックとの相関を算出 する相関算出手段とをさらに備え、
前記相関算出手段により算出された前記相関に基づいて、相関が高いと判定され た場合、少なくとも前記決定手段を用いて追尾点を検出する
ことを特徴とする請求項 6に記載の画像処理装置。
[15] 前記テンプレート作成手段は、
前記追尾点周辺の所定の領域を前記テンプレートとする
ことを特徴とする請求項 14記載の画像処理装置。
[16] 前記テンプレート作成手段は、
前記対象領域に基づいて前記テンプレートを作成する
ことを特徴とする請求項 14記載の画像処理装置。
[17] 前記相関算出手段により算出された前記相関に基づいて、相関が高いと判定され た場合、前記後の処理単位における所定の領域であるブロックより 1処理単位以上 前の処理単位における前記テンプレートの所定の領域であるブロックと前記追尾点と の関係と、相関が高いと判定された前記ブロックの位置とに基づいて、前記第 2の点 を定める
ことを特徴とする請求項 14記載の画像処理装置。
[18] 前記テンプレート作成手段は、前記対象領域中のサンプル点および、サンプル点 の所定の周縁領域力もなる領域をテンプレートとする
ことを特徴とする請求項 14に記載の画像処理装置。
[19] 前記相関算出手段は、前記後の処理単位におけるブロックと、そのブロックの処理 単位より 1処理単位以上前の処理単位の前記テンプレートのブロックとの誤差を演算 することで、前記相関を算出する
ことを特徴とする請求項 14記載の画像処理装置。
[20] シーンチェンジを検出する検出手段をさらに備え、
前記位置推定手段と前記選択手段は、それぞれの処理を、予め定められた条件に 基づいて終了するとともに、前記推定点の中力 前記第 2の点を選択することができ な 、時における前記シーンチェンジの有無に基づ 、て前記条件を変更する ことを特徴とする請求項 1に記載の画像処理装置。
[21] 前記決定手段は、さらに、
前記時間的に前の処理単位の前記第 1の点を含む少なくとも 1つ以上の画素であ る注目画素と、前記時間的に後の処理単位の少なくとも 1つ以上の画素であって、前 記注目画素の動きベクトルに基づいて規定される対応画素との相関を表す評価値を 算出する評価値算出手段と、
前記注目画素を基準とする画素値の変動を表す変動値を算出する変動値算出手 段と、
前記評価値と前記変動値に基づ!/、て、前記動きベクトルの確度を演算する確度演 算手段と
を備えることを特徴とする請求項 1に記載の画像処理装置。
[22] 前記注目画素の画素数と前記対応画素の画素数は同じである
ことを特徴とする請求項 21に記載の画像処理装置。
[23] 前記変動値は、画素値の空間方向の変動を表わす値である
ことを特徴とする請求項 21に記載の画像処理装置。
[24] 前記変動値は、分散値、またはダイナミックレンジである
ことを特徴とする請求項 21に記載の画像処理装置。
[25] 前記処理単位は、フレームまたはフィールドである
ことを特徴とする請求項 21に記載の画像処理装置。
[26] 前記確度演算手段は、前記評価値を前記変動値で正規化した値に基づ!、て前記 動きベクトルの確度を演算する
ことを特徴とする請求項 21に記載の画像処理装置。
[27] 前記確度演算手段は、前記変動値が所定の閾値よりも大きい場合には、前記評価 値を前記変動値で正規化した値を前記動きベクトルの確度とし、前記変動値が前記 閾値よりも小さい場合には、前記動きベクトルの確度が低いことを表わす固定値を選 択する
ことを特徴とする請求項 21に記載の画像処理装置。
[28] 前記評価値算出手段は、前記注目画素を含むブロックと、前記対応画素を含むブ ロックの画素の差分の絶対値の総和として前記評価値を演算する
ことを特徴とする請求項 21に記載の画像処理装置。
[29] 前記変動値算出手段は、前記注目画素を含むブロックにおいて、前記注目画素と それに隣接する隣接画素との差分の絶対値の総和を前記隣接画素の数で除算して 得られた値の、前記ブロック内の総和として前記変動値を演算する
ことを特徴とする請求項 21に記載の画像処理装置。
[30] 前記確度演算手段は、
前記変動値を第 1の基準値と比較する比較手段と、
第 2の基準値と、前記評価値を前記変動値で正規化した値との差を演算する差 演算手段と、
前記比較手段による比較結果と、前記差演算手段により演算された差に基づい て、前記動きベクトルの確度を演算し、出力する出力手段と
を備えることを特徴とする請求項 21に記載の画像処理装置。
[31] 入力画像から前記動きベクトルを検出し、前記評価値算出手段に供給する動きべ タトル検出手段と、
前記動きベクトル検出手段により検出された前記動きベクトルに基づいて、前記入 力画像を動き補償する動き補償手段と、
前記動き補償手段により動き補償された画像と動き補償されて ヽな!ヽ画像の ヽず れかを、前記動きベクトルの確度に基づ 、て選択する選択手段と、
前記選択手段により選択された画像を符号化する符号化手段と
をさらに備えることを特徴とする請求項 21に記載の画像処理装置。
[32] 前記動きベクトルの確度で重み付けされた頻度分布を算出する頻度分布算出手段 と、
前記頻度分布算出手段により算出された前記頻度分布の最大値を検出し、検出さ れた前記最大値に基づいて、背景動きを検出する最大値検出手段と
をさらに備えることを特徴とする請求項 21に記載の画像処理装置。
[33] 前記動きベクトルの確度の前記処理単位における平均値を算出する平均値算出 手段と、
前記平均値算出手段により算出された前記平均値を基準値と比較し、その比較結 果に基づいてシーンチェンジの有無を判定する判定手段と
をさらに備えることを特徴とする請求項 21に記載の画像処理装置。
[34] 前記平均値算出手段は、 1つの前記処理単位について、 1つの前記平均値を演算 する
ことを特徴とする請求項 33に記載の画像処理装置。
[35] 画像の中の移動するオブジェクトにおける前記第 1の点を検出する第 1の点検出手 段と、
前記推定結果に基づいて、前記画像の中の前記オブジェクトの周囲に予め設定さ れた大きさの補正領域を設定する補正領域設定手段と、
前記画像の中の前記補正領域内の画像を補正する補正手段と、
前記補正領域内が前記補正手段により補正された画像の表示を制御する表示制 御手段と
をさらに備えることを特徴とする請求項 1に記載の画像処理装置。
[36] 前記補正手段は、前記画像のぼけを補正する
ことを特徴とする請求項 35に記載の画像処理装置。
[37] 前記補正手段は、
前記補正領域内の画像を特定する制御信号と、画像のぼけの度合!ヽ表すパラメ ータを供給する供給手段と、
前記制御信号に基づいて特定された前記補正領域内の画像の特徴を検出し、 検出された特徴を表す特徴コードを出力する特徴検出手段と、
前記画像のぼけの度合いを表すパラメータと、前記特徴検出手段により出力され た特徴コードに対応する係数を記憶する記憶手段と、
前記記憶手段から、前記パラメータと前記特徴検出手段により出力された前記特 徴コードに対応する係数を読み出す読み出し手段と、
前記読み出し手段により読み出された係数に基づいて、入力画像の画素の値に 対して積和演算を行う積和演算手段と、
前記積和演算手段による演算結果と前記入力画像の画素の値を選択して出力 する選択出力手段とを備え、
前記補正領域内の画像のぼけを除去するように補正する
ことを特徴とする請求項 36に記載の画像処理装置。
[38] 前記第 1の点検出手段は、
入力画像の中から、積和演算を行う画素の周囲の、予め設定された第 1の領域に 含まれる複数の画素を抽出する第 1の抽出手段と、
前記第 1の領域と、垂直または水平の複数の方向に連続した、複数の第 2の領域 に含まれる複数の画素を抽出する第 2の抽出手段と、
前記第 1の抽出手段により抽出された画素と、前記第 2の抽出手段により抽出さ れた画素において、対応する画素の値の差分の絶対値の総和を求めて、複数のブ ロック差分を演算するブロック差分演算手段と、
前記ブロック差分が、予め設定された閾値より大きいか否かを判定する差分判定 手段と
を備えることを特徴とする請求項 37に記載の画像処理装置。
[39] 前記パラメータは、ぼけた画像の画素とぼけていない画像の画素の関係を表すモ デル式におけるガウス関数のパラメータである
ことを特徴とする請求項 37に記載の画像処理装置。
[40] 前記記憶手段により記憶される係数は、前記モデル式の逆行列を演算することによ り求められた係数である
ことを特徴とする請求項 39に記載の画像処理装置。
[41] 前記選択出力手段は、
前記積和演算手段により積和演算が行われた複数の画素を抽出する第 1の抽出 手段と、
前記第 1の抽出手段により抽出された複数の画素の分散の度合いを表す分散度 を演算する分散演算手段と、
前記分散演算手段により演算された分散度が予め設定された閾値より大きいか 否かを判定する分散判定手段と
を備えることを特徴とする請求項 37に記載の画像処理装置。
[42] 前記選択出力手段は、前記分散判定手段の判定結果に基づいて、出力する画素 の値を、前記積和演算手段による演算結果、または前記入力画像の画素の値のい ずれ力から選択する画素選択手段
をさらに備えることを特徴とする請求項 41に記載の画像処理装置。
[43] 時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理 単位における追尾点としての第 2の点の位置を推定する推定ステップと、
前記第 2の点の位置が推定可能でない場合における前記第 1の点の候補としての 推定点を生成する生成ステップと、
前記後の処理単位における前記第 2の点の位置が推定可能である場合、前記位 置推定ステップの処理による前記推定結果に基づ 、て、前記後の処理単位における 前記第 2の点を決定する決定ステップと、
前記後の処理単位における前記第 2の点の位置が推定可能でな 、場合、前記推 定点の中から前記第 1の点を選択する選択ステップと
を含むことを特徴とする画像処理方法。
[44] 前記決定ステップの処理には、
前記時間的に前の処理単位の前記第 1の点を含む少なくとも 1つ以上の画素であ る注目画素と、前記時間的に後の処理単位の少なくとも 1つ以上の画素であって、前 記注目画素の動きベクトルに基づいて規定される対応画素との相関を表す評価値を 算出する評価値算出ステップと、
前記注目画素を基準とする画素値の変動を表す変動値を算出する変動値算出ス テツプと、
前記評価値と前記変動値に基づ!/、て、前記動きベクトルの確度を演算する確度演 算ステップと
が含まれることを特徴とする請求項 43に記載の画像処理方法。
[45] 画像の中の移動するオブジェクトにおける前記第 1の点を検出する第 1の点検出ス テツプと、
前記推定結果に基づ 、て、前記画像の中に前記オブジェクトの周囲に予め設定さ れた大きさの補正領域を設定する補正領域設定ステップと、
前記画像の中の前記補正領域内の画像を補正する補正ステップと、
前記補正領域内が前記補正ステップの処理により補正された画像の表示を制御す る表示制御ステップと
をさらに含むことを特徴とする請求項 43に記載の画像処理方法。
[46] 時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理 単位における追尾点としての第 2の点の位置を推定する推定ステップと、
前記第 2の点の位置が推定可能でない場合における前記第 1の点の候補としての 推定点を生成する生成ステップと、
前記後の処理単位における前記第 2の点の位置が推定可能である場合、前記位 置推定ステップの処理による前記推定結果に基づ 、て、前記後の処理単位における 前記第 2の点を決定する決定ステップと、
前記後の処理単位における前記第 2の点の位置が推定可能でな 、場合、前記推 定点の中から前記第 1の点を選択する選択ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている 記録媒体。
[47] 時間的に前の処理単位の画像上の追尾点としての第 1の点の時間的に後の処理 単位における追尾点としての第 2の点の位置を推定する推定ステップと、
前記第 2の点の位置が推定可能でない場合における前記第 1の点の候補としての 推定点を生成する生成ステップと、
前記後の処理単位における前記第 2の点の位置が推定可能である場合、前記位 置推定ステップの処理による前記推定結果に基づ 、て、前記後の処理単位における 前記第 2の点を決定する決定ステップと、 前記後の処理単位における前記第 2の点の位置が推定可能でな 、場合、前記推 定点の中から前記第 1の点を選択する選択ステップと
をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2005/000063 2004-01-06 2005-01-06 画像処理装置および方法、記録媒体、並びにプログラム WO2005066897A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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