An image processing method for performing segmentation on an image based on motions of blocks, each of which is made up of one pixel or adjacent pixels, said method comprising: an image receiving step of receiving temporally successive images; a motion analyzing step of calculating the motions of the blocks using at least two temporally different images and calculating, based on the motions of the blocks, temporal motion trajectories of the blocks in the temporally successive images; and a distance calculating step of calculating distances, each of which indicates a similarity of the motions of the blocks based on (a) a difference of positions or (b) an angle between a temporal motion trajectory of a block i and a temporal motion trajectory of a block other than the block i calculated in said motion analyzing step; characterised in that the distance calculated in the distance calculating step is alternatively based on (c) an angle difference and a fluctuation component of the angle difference, between the temporal motion trajectory of the block i and the temporal motion trajectory of the block other than the block i calculated in said motion analyzing step; and by a nonlinear space processing step of projecting the distances calculated in said distance calculating step into a nonlinear space by calculating nonlinearized distances using one of the following alternatives: (i) infinitizing distances among distances to block i which are greater than the k-th smallest distances; (ii) infinitizing distances among the distances to the block i which are greater than a threshold; and (iii) transforming the distances using an exponential function; and transforming the nonlinearized distances into geodesic distances; a dimensionality reduction step of transforming the geodesic distances into vectors by dimensionality reduction using eigen vectors; and a clustering step of performing clustering of the vectors for segmenting a single articulated object, whose shape changes, into segment regions, by setting an empirically determined number of clusters according to a scene to be used; wherein, in said clustering step, a plurality of articulated moving objects in the temporally successive images can also be detected by setting the number of clusters equal to another empirically determined value and setting the value of k in step (i) or the value of TH in step (ii) to a larger value than when performing segmentation of a single articulated object into segment regions. an image receiving step of receiving temporally successive images; a motion analyzing step of calculating the motions of the blocks using at least two temporally different images and calculating, based on the motions of the blocks, temporal motion trajectories of the blocks in the temporally successive images; and a distance calculating step of calculating distances, each of which indicates a similarity of the motions of the blocks based on (a) a difference of positions or (b) an angle between a temporal motion trajectory of a block i and a temporal motion trajectory of a block other than the block i calculated in said motion analyzing step; characterised in that the distance calculated in the distance calculating step is alternatively based on (c) an angle difference and a fluctuation component of the angle difference, between the temporal motion trajectory of the block i and the temporal motion trajectory of the block other than the block i calculated in said motion analyzing step; and by the distance calculated in the distance calculating step is alternatively based on (c) an angle difference and a fluctuation component of the angle difference, between the temporal motion trajectory of the block i and the temporal motion trajectory of the block other than the block i calculated in said motion analyzing step; and by a nonlinear space processing step of projecting the distances calculated in said distance calculating step into a nonlinear space by calculating nonlinearized distances using one of the following alternatives: (i) infinitizing distances among distances to block i which are greater than the k-th smallest distances; (ii) infinitizing distances among the distances to the block i which are greater than a threshold; and (iii) transforming the distances using an exponential function; and (i) infinitizing distances among distances to block i which are greater than the k-th smallest distances; (ii) infinitizing distances among the distances to the block i which are greater than a threshold; and (iii) transforming the distances using an exponential function; and transforming the nonlinearized distances into geodesic distances; a dimensionality reduction step of transforming the geodesic distances into vectors by dimensionality reduction using eigen vectors; and a clustering step of performing clustering of the vectors for segmenting a single articulated object, whose shape changes, into segment regions, by setting an empirically determined number of clusters according to a scene to be used; wherein, in said clustering step, a plurality of articulated moving objects in the temporally successive images can also be detected by setting the number of clusters equal to another empirically determined value and setting the value of k in step (i) or the value of TH in step (ii) to a larger value than when performing segmentation of a single articulated object into segment regions.