# Patent

## Title
Image processing apparatus, dynamic picture reproduction apparatus, and processing method and program for the same

## Abstract

A synthetic dynamic image is output by first transforming each frame of a first dynamic image based on a relative positional relationship between each frame of the first dynamic image to create a first transformed dynamic image. Next, each frame of a second dynamic image is transformed based on a relative positional relationship between at least one frame including the first dynamic image and at least one frame including the second dynamic image, and a relative positional relationship between each frame of the second dynamic image to create a second transformed dynamic image. Finally, the synthesized dynamic image is synthesized by aligning, for each frame of the first transformed dynamic image and the second transformed dynamic image, a position in the first transformed dynamic image with a position in the second transformed dynamic image.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of and claims the benefit of priority under 35 U.S.C. §120 from U.S. application Ser. No. 12/526,058, filed Aug. 6, 2009, the entire contents of which is incorporated herein by reference, and which is a national stage application of International Application No. PCT/JP08/72138, filed Dec. 5, 2008, which is based upon and claims the benefit of priority under 35 U.S.C. §119 from prior filed Japanese Patent Application No. 2007-317769, filed Dec. 7, 2007.


TECHNICAL FIELD
This invention relates to an image processing apparatus, and particularly to an image processing apparatus and a dynamic picture reproduction apparatus which can reproduce dynamic pictures and a processing method for them as well as a program for causing a computer to execute the method.
BACKGROUND ART
In recent years, digital video cameras have been popularized. Therefore, for example, while a family is traveling, an image of a manner of the journey is frequently picked up by a digital video camera. Further, for example, where a plurality of families are traveling, the same landscape is sometimes recorded as a plurality of dynamic pictures by a plurality of digital video cameras.
A dynamic picture picked up in this manner can be reproduced, for example at home, using a dynamic picture reproduction apparatus, on a display unit of the dynamic picture production apparatus. Further, for example, where a plurality of dynamic pictures of the same landscape are picked up at the same time, since the dynamic pictures of the same landscape in different image pickup directions are watched simultaneously, it may be demanded to reproduce the dynamic pictures simultaneously in a timed relationship on the same display unit.
For example, a reproduction apparatus wherein a plurality of dynamic picture images are reproduced simultaneously on a single display apparatus has been proposed (refer to, for example, Japanese Patent Laid-Open No. Hei 05-292490 (FIG. 3)).
DISCLOSURE OF INVENTION
According to the related art described above, since a plurality of dynamic pictures picked up with regard to the same landscape can be watched simultaneously on the same display apparatus, the dynamic pictures including the same landscape image can be watched in the different image pickup directions in comparison with a case wherein one dynamic picture is reproduced.
However, with the related art described above, where a plurality of dynamic pictures are reproduced simultaneously by a single display apparatus, since the dynamic pictures are reproduced at positions having no relation to the image pickup directions of the individual dynamic pictures on the display apparatus, sometimes it is not easy to grasp a relationship of one of the dynamic pictures to the other dynamic picture. For example, where a plurality of dynamic pictures picked up when a plurality of families travel are reproduced, there is the possibility that it may be difficult to grasp a relationship of a landscape image included in one of the dynamic pictures to another landscape image included in the other dynamic picture. Where it is difficult to grasp a relationship between images of a plurality of dynamic pictures in this manner, although the plural dynamic pictures picked up from the same landscape are reproduced at the same time, the interest by reproduction of the plural dynamic pictures may be degraded. Therefore, it is considered that, for example, when a plurality of dynamic pictures of the same landscape are picked up simultaneously, if the plural dynamic pictures can be watched while a relationship of the dynamic pictures is grasped readily, then the interest by reproduction of the plural dynamic pictures further increases when the dynamic pictures are viewed.
Therefore, it is an object of the present invention to make it possible to grasp, when a plurality of dynamic pictures picked up by an image pickup apparatus are reproduced, a relationship of a plurality of the dynamic pictures.
The present invention has been made to solve the subject described above, and according to a first aspect of the present invention, there are provided an image processing apparatus including dynamic picture storage means for storing a first dynamic picture and a second dynamic picture which are dynamic pictures picked up by an image pickup apparatus, transformation information storage means for storing first transformation information for transforming, with reference to one image which forms the first dynamic picture, the other images of the first dynamic picture and second transformation information for transforming, with reference to one image which forms the second dynamic picture, the other images of the second dynamic picture in an associated relationship with the individual images, relative relationship information storage means for storing relative relationship information representative of a relative positional relationship between at least one of the images which form the first dynamic picture and at least one of the images which form the second dynamic picture, image storage means for storing history images, outputting means for outputting at least one of the first dynamic picture and the second dynamic picture, object image transformation information calculation means for calculating object image transformation information to be used, where at least one of the images which form the first dynamic picture is determined as a reference image and the images which form the second dynamic picture are determined as object images, for transformation of the object images based on the relative relationship information, the first transformation information and the second transformation information, image transformation means for successively transforming the object images associated with the second transformation information based on the object image transformation information and the second transformation information and successively transforming the images which form the first dynamic picture associated with the first transformation information based on the first transformation information, image synthesis means for storing the reference image at a predetermined position of a storage region of the image storage means and synthesizing the transformed images with at least one of the reference image and the history images to form a synthesized image and then storing the synthesized image as a new history image into the image storage means, and control means for controlling the outputting means to successively output the synthesized images, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, object image transformation information to be used for transformation of the object images is calculated based on the relative relationship information, first transformation information and second transformation information. Then, based on the object image transformation information and the second transformation information, the object images associated with the second transformation information are successively transformed, and based on the first transformation information, the images which form the first dynamic picture associated with the first transformation information are successively transformed. Then, the reference image is stored into the predetermined position in the storage region, and the transformed images are synthesized with at least one of the reference image and the history images. Then, the thus synthesized image is stored as a new history image, and such history images are successively outputted.
Further, according to this first aspect, the relative relationship information storage means may store the relative relationship information of a plurality of combinations each including one image which forms the first dynamic picture and one image which forms the second dynamic picture, the image processing apparatus further including correction value calculation means for calculating a correction value for correcting at least one of the first transformation information and the second transformation information based on the plural pieces of relative relationship information, the first transformation information and the second transformation information, the transformation means using the calculated correction value to correct at least one of the first transformation information and the second transformation information such that the transformation is carried out using the transformation information after the correction. This brings the following operation. In particular, the correction value for correcting at least one of the first transformation information and the second transformation information is calculated based on the plural pieces of relative relationship information, first transformation information and second transformation information. Then, this calculated correction value is used to correct at least one of the first transformation information and the second transformation information, and this transformation information after the correction is used to carry out the transformation.
Further, according to the first aspect, the image processing apparatus may further include operation acceptance means for accepting a designation operation of designating positions on a first image which is an image which forms the first dynamic picture and a second image which is an image which forms the second dynamic picture, selection means for selecting the designated positions of the first image and the second image as coincident points of the first image and the second image, relative relationship information calculation means for calculating the relative relationship information regarding the first image and the second image based on the selected coincident points, and recording control means for recording the calculated relative relationship information in an associated relationship with the first dynamic picture and the second dynamic picture as well as the first image and the second image into the relative relationship information storage means. This brings the following operation. In particular, when a designation operation of designating positions on the first image and the second image is accepted, the designated positions of the first image and the second image are selected as coincident points of the first image and the second image. Then, based on the selected coincident points, relative relationship information regarding the first image and the second image is calculated, and the calculated relative relationship information is recorded in an associated relationship with the first dynamic picture and the second dynamic picture as well as the first image and the second image.
Further, according to this first aspect, the image processing apparatus may further include coincident point search means for searching for coincident points on a first image which is an image which forms the first dynamic picture and a second image which is an image which forms the second dynamic picture, relative relationship information calculation means for calculating the relative relationship information regarding the first image and the second image based on the searched out coincident points, and recording control means for recording the calculated relative relationship information in an associated relationship with the first dynamic picture and the second dynamic picture as well as the first image and the second image into the relative relationship information storage means. This brings the following operation. In particular, coincident points on the first image and the second image are searched for, and relative relationship information regarding the first image and the second image is calculated based on the searched out coincident points. Then, the calculated relative relationship information is recorded in an associated relationship with the first dynamic picture and the second dynamic picture as well as the first image and the second image.
Further, according to the first aspect, the image processing apparatus may further include outputting region extraction means for extracting an image included in an outputting region which is a region which makes an object of outputting by the outputting means as an output image from the new history image stored in the image storage means, the image synthesis means synthesizing the transformed images by overwriting on the output image to produce a new output image, the control means controlling the outputting means to successively output the new output image. This brings the following operation. In particular, an image included in the outputting region which is an object of outputting is extracted as an output image from the new history image, and the transformed images are synthesized by overwriting on the output image to produce a new output image, and such new output images are successively outputted.
Meanwhile, according to a second aspect of the present invention, there are provided an image processing apparatus including dynamic picture inputting means for inputting a first dynamic picture and a second dynamic picture which are dynamic pictures picked up by an image pickup apparatus, transformation information calculation means for calculating first transformation information for transforming, with reference to one image which forms the first dynamic picture, the other images of the first dynamic picture and second transformation information for transforming, with reference to one image which forms the second dynamic picture, the other images of the second dynamic picture based on images which form the dynamic pictures, coincident point search means for searching for coincident points on a first image which is an image which forms the first dynamic picture and a second image which is an image which forms the second dynamic picture, relative relationship information calculation means for calculating relative relationship information representative of a relative positional relationship between at least one of the images which form the first dynamic picture and at least one of the images which form the second dynamic picture based on the searched out coincident points, image storage means for storing history images, outputting means for outputting at least one of the first dynamic picture and the second dynamic picture, object image transformation information calculation means for calculating object image transformation information to be used, where at least one of the images which form the first dynamic picture is determined as a reference image and the images which form the second dynamic picture are determined as object images, for transformation of the object images based on the relative relationship information, the first transformation information and the second transformation information, image transformation means for successively transforming the object images relating to the second transformation information based on the object image transformation information and the second transformation information and successively transforming the images which form the first dynamic picture relating to the first transformation information based on the first transformation information, image synthesis means for storing the reference image at a predetermined position of a storage region of the image storage means and synthesizing the transformed images with at least one of the reference image and the history images to form a synthesized image and then storing the synthesized image as a new history image into the image storage means, and control means for controlling the outputting means to successively output the synthesized images, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, if a first dynamic picture and a second dynamic picture are inputted, then first transformation information and second transformation information are calculated based on the images, and coincident points on the first image and the second image are searched for. Then, relative relationship information regarding the first image and the second image is calculated based on the searched out coincident points, and object image transformation information to be used for transformation of the object images is calculated based on the relative relationship information, first transformation information and second transformation information. Then, the object images relating to the second transformation information are successively transformed based on the object image transformation information and the second transformation information, and the images which form the first dynamic picture relating to the first transformation information are successively transformed based on the first transformation information. Then, a reference image is stored into the predetermined position in the storage region, and the transformed images are synthesized with at least one of the reference image and the history images. Then, the synthesized image is stored as a new history image, and such synthesized images are successively outputted.
Further, according to the second aspect, the transformation information calculation means may successively calculate the first transformation information and the second transformation information for each of frames which form the first dynamic picture and the second dynamic picture, the image transformation means transforming images which form the first dynamic picture and the second dynamic picture for each of the frames, the image synthesis means successively synthesizing the transformed images for each of the frames, the control means causing the synthesized images to be successively outputted for each of the frames. This brings the following operation. In particular, the first transformation information and the second transformation information are successively calculated for each of frames which form the first dynamic picture and the second dynamic picture, and the images which form the first dynamic picture and the second dynamic picture are successively transformed. Then, the transformed images are successively synthesized for each of the frames, and such synthesized images are successively outputted for each of the frames.
Further, according to the second aspect, the transformation information calculation means may include characteristic point extraction means for extracting characteristic points of the images based on pixels which form the images, movement amount calculation means for calculating a movement amount regarding each of the images based on the extracted characteristic points, and transformation parameter calculation means for calculating predetermined transformation parameters based on the calculated movement amounts to calculate the first transformation information and the second transformation information. This brings the following operation. In particular, characteristic points of each of the images are extracted based on each of pixels which form the images, and a movement amount regarding each of the images is calculated based on the extracted characteristic points. Further, predetermined transformation parameters are calculated based on the calculated movement amounts to calculate the transformation information.
Further, according to the second aspect, the characteristic point extraction means may be formed from a multi-core processor, and the multi-core processor may carry out parallel processing for the pixels which form the images by SIMD mathematical operation to extract the characteristic amounts of the images. This brings operation that the multi-core processor carries out parallel processing for the pixels which form the images by SIMD mathematical operation to extract the characteristic amounts of the images.
Further, according to the second aspect, the movement amount calculation means may be formed from a multi-core processor, and the multi-core processor may carry out parallel processing for the extracted characteristic points by SIMD mathematical operation to calculate the movement amounts of the images. This brings that the multi-core processor carries out parallel processing for the extracted characteristic points by SIMD mathematical operation to calculate the movement amounts regarding the images.
Meanwhile, according to a third aspect of the present invention, there are provided an image processing apparatus including dynamic picture acquisition means for acquiring a first dynamic picture, which is a dynamic picture picked up by an image pickup apparatus, and a second dynamic picture in which first transformation information for transforming, with reference to one image which forms the first dynamic picture, the other images of the first dynamic picture and second transformation information for transforming, with reference to one of images of the second dynamic picture, the other images of the second dynamic picture are recorded in an associated relationship for each of the images, respectively, and relative relationship information representative of a relative positional relationship of at least one of the images which form the first dynamic picture and at least one of the images which form the second dynamic picture is recorded in an associated relationship, image storage means for storing history images, outputting means for outputting at least one of the first dynamic picture and the second dynamic picture, object image transformation information calculation means for calculating object image transformation information to be used, where at least one of the images which form the first dynamic picture is determined as a reference image and the images which form the second dynamic picture are determined as object images, for transformation of the object images based on the relative relationship information, the first transformation information and the second transformation information, image transformation means for successively transforming the object images associated with the second transformation information based on the object image transformation information and the second transformation information and successively transforming the images which form the first dynamic picture associated with the first transformation information based on the first transformation information, image synthesis means for storing the reference image at a predetermined position of a storage region of the image storage means and synthesizing the transformed images with at least one of the reference image and the history images to form a synthesized image and then storing the synthesized image as a new history image into the image storage means, and control means for controlling the outputting means to successively output the synthesized images, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, when the first dynamic picture and the second dynamic picture are acquired, object image transformation information to be used for transformation of object images is calculated based on the relative relationship information, first transformation information and second transformation information. Then, based on the object image transformation information and the second transformation information, the object images regarding the second transformation information are successively transformed, and based on the first transformation information, the images which form the first dynamic picture relating to the first transformation information are successively transformed. Then, a reference image is stored into the predetermined position in the storage region, and the transformed images are synthesized with at least one of the reference image and the history images. Then, the synthesized image is stored as a new history image, and such synthesized images are successively outputted.
Further, according to a fourth aspect of the present invention, there are provided an image processing apparatus including dynamic picture storage means for storing a first dynamic picture and a second dynamic picture which are dynamic pictures picked up by an image pickup apparatus, transformation information storage means for storing first transformation information for transforming, with reference to one image which forms the first dynamic picture, the other images of the first dynamic picture and second transformation information for transforming, with reference to one image which forms the second dynamic picture, the other images of the second dynamic picture in an associated relationship with the individual images, relative relationship information storage means for storing relative relationship information representative of a relative positional relationship between at least one of the images which form the first dynamic picture and at least one of the images which form the second dynamic picture, object image transformation information calculation means for calculating object image transformation information to be used, where at least one of the images which form the first dynamic picture is determined as a reference image and the images which form the second dynamic picture are determined as object images, for transformation of the object images based on the relative relationship information, the first transformation information and the second transformation information, image transformation means for successively transforming the object images associated with the second transformation information based on the object image transformation information and the second transformation information and successively transforming the images which form the first dynamic picture associated with the first transformation information based on the first transformation information, image storage means for storing the transformed images, and control means for causing the outputting means to successively output the images of the first dynamic picture and the second dynamic picture stored last in the image storage means, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, object image transformation information to be used for transformation of the object images is calculated based on the relative relationship information, first transformation information and second transformation information, and the object images are successively transformed based on the object image transformation information and the second transformation information. Further, the images which form the first dynamic picture are successively transformed based on the first transformation information, and the transformed images are stored. Thereafter, the outputting means is controlled to successively output the images of the first dynamic picture and the second dynamic picture stored last.
Further, according to a fifth aspect of the present invention, there are provided an image processing apparatus including image synthesis means for synthesizing first images which form a picked up dynamic picture based on first movement information of an image pickup apparatus upon image pickup to form a first synthesized image and synthesizing second images which form the picked up dynamic picture based on second movement information upon image pickup upon image pickup to form a second synthesized image, and relative position information means for calculating relative position information representative of a relative positional relationship of the second movement information to the first movement information with reference to at least one of the images included in the first synthesized image, the image synthesis means synthesizing the first synthesized image and the second synthesized image based on the relative position information, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, first images are synthesized based on the first movement information of the image pickup apparatus upon image pickup to form a first synthesized image, and second images which form the picked up dynamic picture are synthesized based on the second movement information upon image pickup upon image pickup to form a second synthesized image. Then, relative position information representative of a relative positional relationship of the second movement information to the first movement information with reference to at least one of the images included in the first synthesized image is calculated, and the first synthesized image and the second synthesized image are synthesized based on the relative position information.
Further, according to a sixth aspect of the present invention, there are provided a dynamic picture reproduction apparatus including dynamic picture storage means for storing a first dynamic picture and a second dynamic picture which are dynamic pictures picked up by an image pickup apparatus, transformation information storage means for storing first transformation information for transforming, with reference to one image which forms the first dynamic picture, the other images of the first dynamic picture and second transformation information for transforming, with reference to one image which forms the second dynamic picture, the other images of the second dynamic picture in an associated relationship with the individual images, relative relationship information storage means for storing relative relationship information representative of a relative positional relationship between at least one of the images which form the first dynamic picture and at least one of the images which form the second dynamic picture, image storage means for storing history images, display means for displaying at least one of the first dynamic picture and the second dynamic picture, object image transformation information calculation means for calculating object image transformation information to be used, where at least one of the images which form the first dynamic picture is determined as a reference image and the images which form the second dynamic picture are determined as object images, for transformation of the object images based on the relative relationship information, the first transformation information and the second transformation information, image transformation means for successively transforming the object images associated with the second transformation information based on the object image transformation information and the second transformation information and successively transforming the images which form the first dynamic picture associated with the first transformation information based on the first transformation information, image synthesis means for storing the reference image at a predetermined position of a storage region of the image storage means and synthesizing the transformed images with at least one of the reference image and the history images to form a synthesized image and then storing the synthesized image as a new history image into the image storage means, and control means for controlling the display means to successively display the synthesized images, and a processing method for the image processing apparatus as well as a program for causing a computer to execute the method. This brings the following operation. In particular, object image transformation information to be used for transformation of the object images is calculated based on the relative relationship information, first transformation information and second transformation information, and based on this object image transformation information and the second transformation information, the object images associated with the second transformation information are successively transformed. Further, based on the first transformation information, the images which form the first dynamic picture associated with the first transformation information are successively transformed, and a reference image is stored into the predetermined position in the storage region. Then, the transformed images are synthesized with at least one of the reference image and the history images, and this synthesized image is stored as a new history image, and such synthesized images are successively displayed.
According to the present invention, a superior effect that it is made possible, where a plurality of dynamic pictures picked up by an image pickup apparatus are to be reproduced, to grasp a relationship of the plural dynamic pictures can be achieved.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram showing an example of a functional configuration of an image processing apparatus 100 according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an example of a functional configuration of a camera work detection section 120 in the embodiment of the present invention.
FIG. 3 is a block diagram showing an example of a functional configuration of a coincident point search section 340 in the embodiment of the present invention.
FIG. 4 is views schematically showing files recorded in a dynamic picture storage section 200 and a metadata storage section 210 in the embodiment of the present invention.
FIG. 5 is a view schematically showing files recorded in the dynamic picture storage section 200 and a relative relationship information storage section 220 in the embodiment of the present invention.
FIG. 6 is views showing an example of images corresponding to frames which form a dynamic picture.
FIG. 7 is views showing images simplified by omitting the background and so forth from the images corresponding to the frames which form a dynamic picture.
FIG. 8 is a flow chart illustrating a processing procedure of an affine transformation parameter detection process by the image processing apparatus 100 in the embodiment of the present invention.
FIG. 9 is views schematically illustrating an affine transformation parameter calculation method for calculating an affine transformation parameter regarding two images by selecting a coincident point included in the images and synthesis of the two images based on the selected coincident point.
FIG. 10 is views schematically illustrating an affine transformation parameter calculation method for calculating an affine transformation parameter regarding two images by selecting a coincident point included in images.
FIG. 11 is views illustrating an example of transition of dynamic pictures picked up by a camera.
FIG. 12 is views showing images corresponding to immediately preceding frames regarding the images shown in FIG. 11 in broken lines and illustrating an optical flow detected.
FIG. 13 is views illustrating an example of display images in a case wherein a dynamic picture including images 401 to 403 shown in FIG. 11 is reproduced.
FIG. 14 is views illustrating an example of transition of dynamic pictures picked up by a camera.
FIG. 15 is views showing images corresponding to immediately preceding frames regarding the images shown in FIG. 14 in broken lines and illustrating an optical flow detected.
FIG. 16 is views illustrating an example of display images in a case wherein a dynamic picture including images 421 to 423 shown in FIG. 14 is reproduced.
FIG. 17 is views illustrating an example of transition of dynamic pictures picked up by a camera.
FIG. 18 is views showing images corresponding to immediately preceding frames regarding the images shown in FIG. 17 in broken lines and illustrating an optical flow detected.
FIG. 19 is views illustrating an example of display images in a case wherein a dynamic picture including images 441 to 443 shown in FIG. 17 is reproduced.
FIG. 20 is views schematically illustrating a relationship between frames of a dynamic picture file stored in the dynamic picture storage section 200 in the embodiment of the present invention and display regions.
FIG. 21 is views schematically illustrating a flow of frames of the dynamic picture file stored in the dynamic picture storage section 200 in the embodiment of the present invention.
FIG. 22 is views showing a display example (image 480) in a case wherein a dynamic picture picked up by a camera is reproduced and an image 484 before a current image 482 of the image 480 is affine-transformed.
FIG. 23 is views showing an image 485 where an image region surrounded by a framework 483 shown in FIG. 22 is displayed in an enlarged scale and an image 487 stored in a display memory 270 in a state wherein a current image after affine transformation is stored into an image memory 250.
FIG. 24 is views schematically illustrating an example of synthesis where two dynamic pictures are synthesized.
FIG. 25 is views schematically illustrating an example of synthesis where two dynamic pictures are synthesized.
FIG. 26 is views illustrating display examples in a case wherein the synthesized image shown in FIG. 25 is displayed on a display section 290.
FIG. 27 is a view schematically illustrating files recorded in the dynamic picture storage section 200 and the relative relationship information storage section 220 in the embodiment of the present invention.
FIG. 28 is views schematically showing images which form dynamic picture file (#10) 600 and (#11) 610 shown in FIG. 27 and images synthesized based on image pickup objects included in the images.
FIG. 29 is views illustrating an example of synthesis where the dynamic picture file (#10) 600 and (#11) 610 are synthesized while being affine-transformed using relative relation information associated with an image A1 (601) and another image B1 (611).
FIG. 30 is a view illustrating an outline of a calculation method where an interpolation matrix is calculated based on an error matrix representative of displacements.
FIG. 31 is views illustrating an example of synthesis where images A2 (602) to A9 (609) are transformed using interpolation matrices Int1 to Int8.
FIG. 32 is views illustrating an example of transition of a plurality of dynamic pictures picked up by a camera.
FIG. 33 is views illustrating another example of transition of a plurality of dynamic pictures picked up by a camera.
FIG. 34 is views illustrating a further example of transition of a plurality of dynamic pictures picked up by a camera.
FIG. 35 is views illustrating a still further example of transition of a plurality of dynamic pictures picked up by a camera.
FIG. 36 is views illustrating a yet further example of transition of a plurality of dynamic pictures picked up by a camera.
FIG. 37 is views illustrating a yet further example of transition of dynamic pictures picked up by a camera.
FIG. 38 is views illustrating a yet further example of transition of dynamic pictures picked up by a camera.
FIG. 39 is a view schematically illustrating files recorded in the dynamic picture storage section 200 and the relative relationship information storage section 220 in the embodiment of the present invention.
FIG. 40 is views showing images where coincident points included in images regarding three dynamic pictures are selected.
FIG. 41 is a view showing an example in a case wherein the three images are synthesized based on the coincident points selected on the images regarding the three dynamic pictures.
FIG. 42 is views schematically illustrating an example of synthesis where three dynamic pictures are synthesized.
FIG. 43 is views showing an example in a case wherein a still picture and a plurality of dynamic pictures are synthesized.
FIG. 44 is a flow chart illustrating a processing procedure of a coincident point selection process carried out in response to a manual operation by the image processing apparatus 100 in the embodiment of the present invention.
FIG. 45 is a flow chart illustrating a processing procedure of a coincident point search process by the image processing apparatus 100 in the embodiment of the present invention.
FIG. 46 is a flow chart illustrating a processing procedure of a synthesis reproduction process of a plurality of dynamic pictures by the image processing apparatus 100 in the embodiment of the present invention.
FIG. 47 is a flow chart illustrating a processing procedure of the synthesis reproduction process of a plurality of dynamic pictures by the image processing apparatus 100 in the embodiment of the present invention.
FIG. 48 is a view showing an example of a configuration of a multi-core processor 800 in the embodiment of the present invention.
FIG. 49 is a view showing an example of a configuration of a controlling processor core 801 in the embodiment of the present invention.
FIG. 50 is a view showing an example of a configuration of a mathematical operation processor core (#1) 811 in the embodiment of the present invention.
FIG. 51 is a view schematically illustrating a mathematical operation method of the multi-core processor 800 in the embodiment of the present invention.
FIG. 52 is a view schematically illustrating flows of a program and data where mathematical operation is carried out by the multi-core processor 800 in the embodiment of the present invention.
FIG. 53 is views illustrating an outline of a mathematical operation method wherein processes for a plurality of data are carried out in accordance with individual instructions and an outline of SIMD mathematical operation wherein a process for a plurality of data is carried out in accordance with a single instruction.
FIG. 54 is a view showing an example of a configuration of a program executed by the controlling processor core 801 or the mathematical operation processor core (#1) 811 in the embodiment of the present invention.
FIG. 55 is a view schematically illustrating a data structure and a flow of processes for image data stored in a main memory 781 in the embodiment of the present invention where a filtering process is carried out using a Sobel filter 830.
FIG. 56 is a view schematically illustrating a flow of data where SIMD mathematical operation is carried out for image data stored in the main memory 781 in the embodiment of the present invention using the Sobel filter 830.
FIG. 57 is a view schematically illustrating a vector production method for producing nine vectors from image data stored in a first buffer 831 where a filtering process is carried out using the Sobel filter 830 in the embodiment of the present invention.
FIG. 58 is views schematically illustrating a vector mathematical operation method for carrying out vector mathematical operation using an SIMD instruction regarding vector data 841 to 849 where a filtering process is carried out using the Sobel filter 830 in the embodiment of the present invention.
FIG. 59 is a view schematically illustrating a flow of a camera work parameter calculation process in the embodiment of the present invention in a time series.
FIG. 60 is views schematically showing a blu-ray disk 880 which is an example of a recording medium, data 881 to 884 recorded on the blu-ray disk 880 and an internal configuration of a blu-ray reproduction machine 890 which can reproduce the blu-ray disk 880.



BEST MODE FOR CARRYING OUT THE INVENTION
In the following, an embodiment of the present invention is described in detail with reference to the drawings.
FIG. 1 is a block diagram showing an example of a functional configuration of an image processing apparatus 100 according to the embodiment of the present invention. The image processing apparatus 100 includes a dynamic picture inputting section 110, a camera work detection section 120, a recording control section 130, a file acquisition section 140, an image transformation section 150, an operation acceptance section 160, a coincident point selection section 170, a relative relationship information calculation section 180, an object image transformation information calculation section 190, a dynamic picture storage section 200, a metadata storage section 210, a relative relationship information storage section 220, a correction value calculation section 230, an image synthesis section 240, an image memory 250, a display region extraction section 260, a display memory 270, a display control section 280, a display section 290, and a coincident point search section 340. The image processing apparatus 100 can be implemented by a personal computer which can extract characteristic amounts by an image analysis from a dynamic picture picked up by an image pickup apparatus such as, for example, a digital video camera and carry out various image processes using the extracted characteristic amounts.
The dynamic picture inputting section 110 is a dynamic picture inputting section configured to input dynamic pictures picked up by an image pickup apparatus (hereinafter referred to merely as “camera”) such as a digital video camera and outputs the inputted dynamic pictures to the camera work detection section 120.
The camera work detection section 120 analyzes the dynamic pictures outputted from the dynamic picture inputting section 110 to detect movement information (camera work) of the camera upon image pickup and outputs affine transformation parameters (camera work parameters) calculated based on the movement information of the camera to the recording control section 130. In particular, the camera work detection section 120 extracts characteristic points from each of images which form dynamic pictures and extract an optical flow (motion vector) regarding each of the characteristic points. Then, the camera work detection section 120 analyzes the extracted optical flows regarding the characteristic points to select those characteristic points which indicate a dominant movement and estimates the movement of the camera based on the optical flows regarding the characteristic points which indicate the dominant movement. Here, the dominant movement signifies an orderly movement indicated by a comparatively great number of optical flows from among optical flows regarding a plurality of characteristic points. It is to be noted that the camera work detection section 120 is described in detail with reference to FIG. 2.
The recording control section 130 records dynamic pictures outputted from the dynamic picture inputting section 110 as a dynamic picture file into the dynamic picture storage section 200 and records affine transformation parameters outputted from the camera work detection section 120 as a metadata file into the metadata storage section 210 in an associated relationship with corresponding dynamic pictures and frames. Further, the recording control section 130 records the affine transformation parameters outputted from the relative relationship information calculation section 180 into the relative relationship information storage section 220 in an associated relationship with dynamic pictures and frames corresponding to the affine transformation parameters.
The dynamic picture storage section 200 stores dynamic pictures outputted from the dynamic picture inputting section 110 as a dynamic picture file under the control of the recording control section 130. Further, the dynamic picture storage section 200 supplies the dynamic picture file in accordance with a request from the file acquisition section 140 to the file acquisition section 140 and supplies at least two dynamic picture files in accordance with a request from the coincident point search section 340 to the coincident point search section 340. It is to be noted that dynamic picture files stored in the dynamic picture storage section 200 are hereinafter described with reference to FIGS. 4 and 5.
The metadata storage section 210 stores affine transformation parameters outputted from the camera work detection section 120 as a metadata file under the control of the recording control section 130. Further, the metadata storage section 210 supplies the metadata file to the file acquisition section 140 in accordance with a request from the file acquisition section 140. It is to be noted that metadata files stored in the metadata storage section 210 are hereinafter described in detail with reference to FIG. 4.
The relative relationship information storage section 220 stores affine transformation parameters outputted from the relative relationship information calculation section 180 and corresponding dynamic pictures and frames in an associated relationship with each other as a relative relationship metadata file under the control of the recording control section 130. Further, the relative relationship information storage section 220 supplies a relative relationship metadata file to the file acquisition section 140 in accordance with a request from the file acquisition section 140. It is to be noted that a relative relationship metadata file stored in the relative relationship information storage section 220 is hereinafter described in detail with reference to FIG. 5.
The file acquisition section 140 acquires at least one or a plurality of dynamic picture files stored in the dynamic picture storage section 200, a metadata file stored in an associated relationship with each of the dynamic picture files in the metadata storage section 210 and a relative relationship metadata file stored in an associated relationship commonly with the dynamic picture files in the relative relationship information storage section 220 and supplies information of the acquired files to the individual sections in response to an operation input accepted by the operation acceptance section 160. In particular, when an operation input for ordinary dynamic picture reproduction is accepted by the operation acceptance section 160, the file acquisition section 140 acquires one or a plurality of dynamic picture files stored in the dynamic picture storage section 200 and successively outputs dynamic pictures of the acquired dynamic picture files to the coincident point selection section 170 and the display memory 270. When the ordinary dynamic picture reproduction is being carried out, if an operation input for stopping of the dynamic picture reproduction is accepted by the operation acceptance section 160, the file acquisition section 140 stops the outputting of dynamic pictures. Further, when an operation input which designates a plural dynamic picture synthesis reproduction mode wherein a plurality of dynamic pictures are reproduced while they are synthesized is accepted by the operation acceptance section 160, the file acquisition section 140 acquires a plurality of dynamic picture files stored in the dynamic picture storage section 200, metadata files stored in an associated relationship individually with the dynamic picture files in the metadata storage section 210 and a relative relationship metadata file stored in an associated relationship commonly with the dynamic picture files in the relative relationship information storage section 220, and outputs dynamic pictures of the acquired dynamic picture files and affine transformation parameters of the acquired metadata files to the image transformation section 150. Further, the file acquisition section 140 outputs the contents of the acquired metadata files and relative relationship metadata files to the object image transformation information calculation section 190 and the correction value calculation section 230.
The image transformation section 150 carries out affine transformation of images, which form dynamic pictures of a dynamic picture file outputted from the file acquisition section 140, for each frame using affine transformation data corresponding to the images, and outputs the affine-transformed images to the image synthesis section 240. Here, where the plural dynamic picture synthesis reproduction mode is designated, the image transformation section 150 determines one of the plural dynamic pictures of an object of reproduction as a reference dynamic picture and carries out affine transformation of the reference dynamic picture for each frame using affine transformation parameters corresponding to the images which form the reference dynamic picture. Meanwhile, as regards the other dynamic pictures than the reference dynamic picture from among the plural dynamic pictures which are an object of reproduction, the image transformation section 150 carries out affine transformation for each frame using object image transformation information (affine transformation parameters) calculated by the object image transformation information calculation section 190 and affine transformation parameters corresponding to the images which form the dynamic pictures. Further, where a correction value is outputted from the correction value calculation section 230, the image transformation section 150 corrects the value of an affine transformation parameter based on the correction value and carries out affine transformation using the affine transformation parameters after the correction. It is to be noted that such image transformation is described in detail with reference to FIGS. 11 to 21 and so forth. Further, a transformation method for the other dynamic pictures is hereinafter described in detail with reference to FIG. 24 and so forth. Furthermore, correction of an affine transformation parameter with a correction value is described in detail with reference to FIGS. 28 to 31.
The operation acceptance section 160 includes a keyboard including various inputting keys and a mouse (pointing device), and outputs, if an operation input from the mouse and so forth is accepted, the contents of the accepted operation input to the file acquisition section 140, coincident point selection section 170, image synthesis section 240, display region extraction section 260 or coincident point search section 340. On the operation acceptance section 160, for example, an operation selection key for selecting a desired dynamic picture from within one or a plurality of dynamic picture files stored in the dynamic picture storage section 200, a reproduction instruction key for designating ordinary dynamic picture reproduction, a stopping key for stopping a dynamic picture being reproduced, a display magnification designation key for designating a display magnification of a dynamic picture, a plural dynamic picture synthesis reproduction setting key for setting the plural dynamic picture synthesis reproduction mode and so forth are provided. It is to be noted that, as regards the keys mentioned, a plurality of functions may be allocated to one key. Further, at least part of the operation acceptance section 160 and the display section 290 may be formed integrally as a touch panel. It is to be noted that, as an operation of the mouse, for example, “left click” signifies depression of the left side button of the mouse only once, and “right click” signifies depression of the right side button of the mouse only once.
The coincident point selection section 170 selects, when an operation input of a designation operation of designating a coincident point is accepted by the operation acceptance section 160, a coincident point of images which form a dynamic picture of a dynamic picture file outputted from the file acquisition section 140. Where at least three coincident points are selected with regard to one image, the coincident point selection section 170 outputs the positions and the selection order of the selected coincident points and the images of an object of selection to the relative relationship information calculation section 180. The selection operation of coincident points may be carried out simultaneously for a plurality of images or may be carried out successively for each one dynamic picture.
The coincident point search section 340 searches, where an operation input for producing relative relationship information regarding at least two dynamic pictures in a plurality of dynamic files stored in the dynamic picture storage section 200 is accepted by the operation acceptance section 160, for at least three coincident points regarding the images which form the designated plural dynamic pictures, and outputs the images including the positions of the searched out coincident points to the relative relationship information calculation section 180. The search for coincident points can be implemented, for example, by using a technique for general object recognition or the like (for example, refer to Japanese Patent Laid-Open No. 2002-65399) by which an article included in an image can be recognized irrespective of the size of the image. Further, the coincident point search section 340 is described in detail with reference to FIG. 3.
The relative relationship information calculation section 180 calculates, based on at least two images and at least three coincident points of the images outputted from the coincident point selection section 170 or the coincident point search section 340, affine transformation parameters as relative relationship information regarding the images, and outputs the calculated affine transformation parameters and a dynamic picture ID and frame numbers of the images used for the calculation of the affine transformation parameters to the recording control section 130. It is to be noted that the calculation of the affine transformation parameters regarding the images are described in detail with reference to FIGS. 9 and 10. Further, while, in the embodiment of the present invention, an example wherein affine transformation parameters are used as relative relationship information is described, some other image transformation information such as projection transformation parameters may be used. It is to be noted that the affine transformation parameters can be determined by calculation using vectors at three points, and projection transformation parameters can be determined by calculation using vectors at four points.
When the plural dynamic picture synthesis reproduction mode is designated, where at least one image which forms one dynamic picture from among a plurality of dynamic pictures of an object of reproduction is determined as a reference image and the images which form the other dynamic pictures are determined as object images, the object image transformation information calculation section 190 calculates, based on affine transformation parameters of a metadata file and a relative relationship metadata file outputted from the file acquisition section 140, object image transformation information to be used for transformation of the object images. Then, the object image transformation information calculation section 190 outputs the calculated object image transformation information to the image transformation section 150. As a reference image for one dynamic picture, for example, an image corresponding to a top frame among images which form one dynamic picture can be used. Further, the object image transformation information is, for example, affine transformation parameters used for transformation of object image with respect to the reference image. It is to be noted that the calculation of the object image transformation information is described in detail with reference to FIG. 24 and so forth.
When the plural dynamic picture synthesis reproduction mode is designated, where at least two affine transformation parameters are placed in a relative relationship metadata file outputted from the file acquisition section 140, the correction value calculation section 230 calculates a correction value for correcting the displacement of the image position by the affine transformation. In particular, the correction value calculation section 230 calculates, based on affine transformation parameters of a metadata file and a relative relationship metadata file outputted from the file acquisition section 140, a correction value for correcting the transformation position between frames corresponding to the affine transformation parameters stored in the relative relationship metadata file, and outputs the calculated correction value to the image transformation section 150. As this correction value, for example, a correction value for carrying out linear interpolation can be used. It is to be noted that the calculation of a correction value is described in detail with reference to FIGS. 28 to 31.
The image synthesis section 240 synthesizes images by overwriting an image after affine transformation by the image transformation section 150 on a synthesis image corresponding to frames up to the immediately preceding frame retained in the image memory 250 and stores the synthesized new synthesis image into the image memory 250. Further, where the plural dynamic picture synthesis reproduction mode is designated, the image synthesis section 240 synthesizes images by overwriting the images affine-transformed by the image transformation section 150 with reference to the reference image on the synthesis images corresponding to the frames up to the immediately preceding frame retained in the image memory 250, and stores the synthesized new synthesis image into the image memory 250. It is to be noted that the image synthesis section 240 synthesizes images by overwriting a current image after affine transformation by the image transformation section 150 on the synthesis image retained in the display memory 270 based on the position of the current image in the display region outputted from the display region extraction section 260. Further, also where the plural dynamic picture synthesis reproduction mode is designated, the image synthesis section 240 similarly synthesizes images by overwriting the individual current images after affine transformation by the image transformation section 150 on the synthesis image retained in the display memory 270 based on the positions of the current images in the display region outputted from the display region extraction section 260. Here, the size of the current image synthesized in the display memory 270 is determined based on the value of the display magnification. It is to be noted that the synthesis of a current image in the display memory 270 is described in detail with reference to FIG. 21 and so forth. It is to be noted that the reproduction starting position of a plurality of dynamic pictures may be determined individually in response to an operation input from the operation acceptance section 160. It is to be noted that such image synthesis is described in detail with reference to FIGS. 11 to 26 and so forth.
The image memory 250 is a work buffer for retaining a synthesis image synthesized by the image synthesis section 240 and supplies the retained synthesis image to the image synthesis section 240 or the display region extraction section 260. In other words, the image memory 250 is an image memory for retaining history images.
The display region extraction section 260 extracts, from a synthesis image retained in the image memory 250, an image existing in a range of a display region which is a region of an object of display and stores the extracted image into the display memory 270. It is to be noted that the extraction of an image included in the range of the display region is described in detail with reference to FIGS. 20 and 21, and the calculation of the position of a current image in the display region is described in detail with reference to FIG. 21.
The display memory 270 is a displaying buffer for retaining an image extracted from the image memory 250 by the display region extraction section 260, and an image retained in the display memory 270 is displayed on the display section 290. It is to be noted that an image retained in the display memory 270 is described in detail with reference to FIGS. 21 to 23 and so forth.
The display control section 280 controls the display section 290 to successively display synthesis images retained in the display memory 270 for each frame.
The display section 290 displays a synthesis image stored in the display memory 270 under the control of the display control section 280. For example, the display section 290 can be implemented by a display unit of a personal computer or a television set. It is to be noted that display examples of a synthesis image are described in detail with reference to FIGS. 32 to 36 and so forth. Here, where a coincident point of images which form a dynamic picture is selected, a cursor (mouse pointer) which moves in response to a movement of the mouse is displayed in the screen image displayed on the display section 290 as shown in (a) and (b) of FIG. 9.
FIG. 2 is a block diagram showing an example of a functional configuration of the camera work detection section 120 in the embodiment of the present invention. The camera work detection section 120 includes a characteristic point extraction unit 121, an optical flow calculation unit 122 and a camera work parameter calculation unit 123.
The characteristic point extraction unit 121 extracts characteristic points from an image corresponding to a frame which forms a dynamic picture outputted from the dynamic picture inputting section 110 and outputs the extracted characteristic points to the optical flow calculation unit 122. Here, the characteristic point extraction unit 121 extracts, regarding a frame at the top of frames which form a dynamic picture outputted from the dynamic picture inputting section 110, characteristic points from an entire image, but, regarding frames other than the top frame, characteristic points from a regional portion picked up newly in comparison with an image corresponding to the immediately preceding frame. It is to be noted that, as a characteristic point, for example, a point at which the gradient is high on an edge in a vertical direction or a horizontal direction (the point is generally called “corner point.” In the following description, the point is referred to as “corner point”) can be extracted. This corner point is a characteristic point tough against calculation of an optical flow and can be determined using edge detection. It is to be noted that the extraction of a corner point is described in detail with reference to FIGS. 6 and 7. Further, in this example, while the characteristic point extraction unit 121 extracts, regarding the top frame, characteristic points from the entire image and, regarding the frames other than the top frame, characteristic points from a regional portion picked up newly in comparison with the immediately preceding image, also regarding the frames other than the top frame, characteristic points may be extracted from the entire image.
The optical flow calculation unit 122 calculates an optical flow for each characteristic point outputted from the characteristic point extraction unit 121 and outputs the optical flow determined by the calculation to the camera work parameter calculation unit 123. In particular, the optical flow calculation unit 122 compares two successive frames (current frame and immediately preceding frame) which form a dynamic picture outputted from the dynamic picture inputting section 110 with each other to determine optical flows corresponding to individual characteristic points of the image corresponding to the immediately preceding frame as optical flows of the current frame. Further, an optical flow is determined for each of frames which form a dynamic picture. It is to be noted that, as a detection method for detecting an optical flow, such detection methods as a slope method and a block matching method can be used. It is to be noted that the calculation of an optical flow is described in detail with reference to FIGS. 6 and 7.
The camera work parameter calculation unit 123 uses optical flows corresponding to characteristic points outputted from the optical flow calculation unit 122 to carry out a camera work parameter calculation process of calculating camera work parameters, and outputs calculated camera work parameters to the recording control section 130. Here, in the embodiment of the present invention, images of a plurality of dynamic pictures of an object of reproduction are transformed and displayed in conformity with a movement of the camera. In order to carry out the transformation of the images, a movement of the camera is extracted using the optical flows calculated by the optical flow calculation unit 122, and camera work parameters (transformation parameters) are calculated based on the extracted movement. It is to be noted that, in the embodiment of the present invention, an example wherein, as an image transformation method for transforming an image which forms a dynamic picture of an object reproduction, affine transformation is used is described. Further, an example wherein, as camera work parameters, affine transformation parameters corresponding to an inverse matrix to a matrix of affine transformation parameters calculated based on optical flows are used is described. In particular, in the embodiment of the present invention, the affine transform parameters to be used as transformation information are defined as affine transformation parameters which correspond not to an affine matrix which represents movements of characteristic points between successive images but to an affine matrix which represents, where one of successive images is determined as a reference image, to where an image next to the reference image moves. Further, although an example wherein affine transformation parameters are used as camera work parameters is described, some other image transformation method such as projection transformation may be used. It is to be noted that affine transformation parameters can be determined by calculation using vectors at three points. Meanwhile, projection transformation parameters can be determined by calculation using vectors at four points. Here, camera work parameters are transformation information for transforming, using at least one of picked up images which form a picked up dynamic picture as a reference, the other picked up images, and at least includes position information and posture information described in accordance with the coordinate system of the camera. In other words, camera work parameters include information relating to the position and the posture of the camera where image pickup is carried out by an image pickup person. Further, a movement of the camera by an operation of the image pickup person such as, for example, zoom-in, zoom-out, panning, tilting or rotation can be estimated based on affine transformation parameters determined by the camera work parameter calculation unit 123. It is to be noted that the calculation of an affine transformation parameter is described in detail with reference to FIGS. 6 and 7.
FIG. 3 is a block diagram showing an example of a functional configuration of the coincident point search section 340 in the embodiment of the present invention. The coincident point search section 340 includes a dynamic picture acquisition unit 141, a multiple resolution production unit 341, a characteristic point extraction unit 342, a characteristic amount extraction unit 343, a model dictionary registration unit 344, a multiple resolution production unit 345, a characteristic point extraction unit 346, a characteristic amount extraction unit 347, a kd tree construction unit 348, and a characteristic amount comparison unit 349. And, the coincident point search section 340 calculates a partial coincidence degree between frames which form a plurality of dynamic pictures and automatically associates the plural dynamic pictures with each other based on the calculated coincidence degree.
The dynamic picture acquisition unit 141 acquires two dynamic picture files stored in the dynamic picture storage section 200 in response to an operation input for dynamic picture acquisition from the operation acceptance section 160, and outputs images which form one of the acquired dynamic picture files for each frame to the multiple resolution production unit 341. Further, the dynamic picture acquisition unit 141 outputs images which form the other dynamic picture files for each frame to the multiple resolution production unit 345.
The multiple resolution production unit 341 lowers the resolution of an image outputted from the dynamic picture acquisition unit 141 at a ratio determined in advance to produce a multiple resolution image formed from images of a plurality of different resolutions with finer accuracy than upon recognition, and outputs the produced multiple resolution image to the characteristic point extraction unit 342.
The characteristic point extraction unit 342 extracts characteristic points from images of different resolutions of a multiple resolution image outputted from the multiple resolution production unit 341 and outputs the extracted characteristic points to the characteristic amount extraction unit 343. For the extraction method of characteristic points, for example, a method similar to a characteristic point extraction method by the characteristic point extraction unit 121 shown in FIG. 2 can be used.
The characteristic amount extraction unit 343 extracts at least two local characteristic amounts at characteristic points outputted from the characteristic point extraction unit 342 and registers the extracted characteristic amounts into the model dictionary registration unit 344. Here, the two local characteristic amounts extracted by the characteristic amount extraction unit 343 include a direction histogram of the concentration gradient in the proximity of the characteristic point extracted as a first type characteristic amount and a dimension degeneration concentration gradient vector extracted as a second type characteristic amount.
The model dictionary registration unit 344 registers characteristic amounts outputted from the characteristic amount extraction unit 343 and supplies the registered characteristic amounts to the kd tree construction unit 348.
The multiple resolution production unit 345 lowers the resolution of an image outputted from the dynamic picture acquisition unit 141 at a ratio determined in advance to produce a multiple resolution image formed from a plurality of images of different resolutions with accuracy rougher than that upon learning and outputs the produced multiple resolution image to the characteristic point extraction unit 346.
The characteristic point extraction unit 346 extracts characteristic points from each of images of different resolutions of a multiple resolution image outputted from the multiple resolution production unit 345 and outputs the extracted characteristic points to the characteristic amount extraction unit 343. For this extraction method of characteristic points, for example, a method similar to that of the characteristic point extraction unit 342 can be used.
The characteristic amount extraction unit 347 extracts at least two local characteristic amounts at characteristic points outputted from the characteristic point extraction unit 342 and outputs the extracted characteristic amounts to the characteristic amount comparison unit 349. For the characteristic amount extraction, for example, a method similar to that of the characteristic amount extraction unit 343 can be used.
The kd tree construction unit 348 constructs a kd tree for use for comparison of characteristic amounts by the characteristic amount comparison unit 349 based on characteristic amounts registered in the model dictionary registration unit 344, and outputs the constructed kd tree to the characteristic amount comparison unit 349. Here, where characteristic amounts are to be compared by the characteristic amount comparison unit 349, the characteristic amount comparison unit 349 compares characteristic point characteristic amounts extracted from the characteristic amount extraction unit 347 and characteristic point characteristic amounts registered in the model dictionary registration unit 344 with each other to search for a combination of a characteristic point characteristic amount extracted from the characteristic amount extraction unit 347 and a similar characteristic point characteristic amount registered in the model dictionary registration unit 344. The simplest method as the characteristic amount comparison method is the total inspection. In particular, a method of carrying out calculation of the characteristic amount similarity degree of each of characteristic point characteristic amounts extracted from the characteristic amount extraction unit 347 to the characteristic point characteristic amounts registered in the model dictionary registration unit 344 and selecting, based on the calculated similarity degrees, a combination of similar characteristic point characteristic amounts is the simplest method. However, the method by the total search requires long processing time. Therefore, in the embodiment of the present invention, in order to search for data at a high speed from a large amount of data group, an example which uses a tree search method which uses a data structure called kd tree (J. H. Friedman, J. L. Bentley and R. A. Finkel: “An algorithm for finding best matches in logarithmic expected time,” ACM Transaction on Mathematical Software, Vol. 3, No. 3, pp. 209-226, September 1977) is described. The kd tree is a tree which has a k-dimensional tree structure. It is to be noted that, in the embodiment of the present invention, a 36d tree (k=36) of characteristic amounts of the type 1 and an 18d tree (k=18) of characteristic amounts of the type 2 are constructed. In each leaf (terminal node) of the constructed tree, one characteristic point characteristic amount is retained together with information of a label or the like for reference with regard to of which characteristic point the characteristic amount is, from which one of the scales the characteristic point is extracted, of which one of images of a multiple resolution image group the scales are and of which frame the multiple resolution image group is.
The characteristic amount comparison unit 349 compares characteristic point characteristic amounts extracted from the characteristic amount extraction unit 347 with characteristic point characteristic amounts represented as a Kd tree constructed by the kd tree construction unit 348 with each other to carry out k-NN (k Nearest Neighbor) search to calculate the similarity degree to search for a combination of similar characteristic point characteristic amounts and outputs the position of the characteristic point corresponding to the searched out combination of the characteristic point characteristic amounts as a coincident point to the relative relationship information calculation section 180. Here, characteristic amounts regarding one or a plurality of dynamic pictures may be registered in advance in the model dictionary registration unit 344 such that the dynamic picture acquisition unit 141 successively acquires other dynamic picture files stored in the dynamic picture storage section 200 to successively search for a coincident point between the registered dynamic pictures and the other dynamic pictures. Or, the coincident point search section 340 may successively acquire the dynamic picture files stored in the dynamic picture storage section 200 to automatically and successively search for a coincident point regarding the dynamic picture files stored in the dynamic picture storage section 200. It is to be noted that the coincident point of an object of the search is described in detail with reference to FIG. 10.
FIG. 4 is views schematically showing files recorded in the dynamic picture storage section 200 and the metadata storage section 210 in the embodiment of the present invention. In (a) of FIG. 4, dynamic picture files 201 to 204 stored in the dynamic picture storage section 200 and metadata files 211 to 213 stored in an associated relationship with the dynamic picture files 201 to 204 in the metadata storage section 210 are illustrated. Here, it is assumed that a dynamic picture ID which is identification information for identifying each of the dynamic picture files stored in the dynamic picture storage section 200 is applied to each dynamic picture file. For example, “#1” is applied to the dynamic picture file 201; “#2” is applied to the dynamic picture file 202; and “#n” is applied to the dynamic picture file 204.
(b) of FIG. 4 is a view schematically illustrating the dynamic picture file 201 stored in the dynamic picture storage section 200 and the metadata file 211 stored in an associated relationship with the dynamic picture file 201 in the metadata storage section 210. Here, the dynamic picture file 201 is a file of dynamic pictures formed from n frames, and the n frames are denoted as frames “1” 205 to “n” 208.
Meanwhile, a dynamic picture ID 214, a frame number 215 and an affine transformation parameter 216 are stored in an associated relationship with each other into the metadata file 211.
The dynamic picture ID 214 is a dynamic picture IC applied to a corresponding dynamic picture file, and, for example, “#1” applied to the dynamic picture file 201 is stored in the dynamic picture ID 214.
The frame number 215 is a serial number of each of frames which form a dynamic picture of a corresponding dynamic picture file, and, for example, “1” to “n” corresponding to the frames “1” 205 to “n” 208 which form a dynamic picture of the dynamic picture file 201 are placed in the frame number 215.
The affine transformation parameter 216 is an affine transformation parameter calculated for each frame of a dynamic picture corresponding to the frame number 215. It is to be noted that affine transform parameters 216 “a1, b1, c1, d1, e1, f1” corresponding to “1” of the frame number 215 are affine transform parameters of a unit matrix. Further, “am, bm, cm, dm, em, fm” of the affine transformation parameter 216 corresponding to “m (m is an integer equal to or higher than two)” of the frame number 215 are affine transformation parameters for the frame “m−1” immediately preceding to the frame “m.”
FIG. 5 is a view schematically showing files recorded in the dynamic picture storage section 200 and the relative relationship information storage section 220 in the embodiment of the present invention. In the present example, the dynamic picture files 201 to 204 stored in the dynamic picture storage section 200 and relative relationship metadata files 221 to 223 stored in an associated relationship with the dynamic picture files 201 to 204 in the relative relationship information storage section 220 are schematically illustrated. In the present example, an example is described wherein frames “5” 361 and “8” 362 which form the dynamic picture file (#1) 201, frames “7” 363 and “9” 364 which form the dynamic picture file (#2) 202 and frames “3” 365 and “10” 366 which form the dynamic picture file (#3) 203 are stored in an associated relationship with the relative relationship metadata files 221 to 223 stored in the relative relationship information storage section 220. It is to be noted that description of dynamic picture files stored in the dynamic picture storage section 200 is omitted here because they are the same as the dynamic picture files shown in FIG. 4.
In the relative relationship metadata files 221 to 223, a dynamic picture ID 224, a frame number 225 and an affine transformation parameter 226 are stored in an associated relationship with each other.
The dynamic picture ID 224 is a dynamic picture ID applied to two dynamic picture files corresponding to two images which individually include at least three coincident points, and, for example, in the relative relationship metadata file 221, “#1” applied to the dynamic picture file 201 and “#2” applied to the dynamic picture file 202 are stored.
The frame number 225 is a serial number of two frames corresponding to two images including at least three coincident points, and, for example, in the relative relationship metadata file 221, the frame number “5” of the frame which forms a dynamic picture of the dynamic picture file 201 and the frame number “7” of a frame which forms a dynamic picture of the dynamic picture file 202 are placed.
The affine transformation parameter 226 indicates affine transformation parameters calculated for at least two images corresponding to the dynamic picture ID 224 and the frame number 225, and, for example, in the relative relationship metadata file 221, “ao, bo, co, do, eo, fo” are placed as affine transformation parameters corresponding to the frame “5” which forms a dynamic picture of the dynamic picture file 201 and the frame “7” which forms a dynamic picture of the dynamic picture file 202. It is to be noted that, in the embodiment of the present invention, the affine transformation parameter 226 indicates affine transformation parameters in a case wherein an image corresponding to a frame number on the lower side shown in FIG. 5 from between the corresponding dynamic picture ID 224 and frame number 225 is determined as a reference image and another frame number of the upper side is determined as an object image. For example, the affine transformation parameter 226 placed in the relative relationship metadata file 221 indicates affine transform parameters for the frame “7” 363 which forms a dynamic picture of the dynamic picture file (#2) 202 of the frame “5” 361 which forms a dynamic picture of the dynamic picture file (#1) 201.
Now, a detection method of detecting an affine transformation parameter to be used for image transformation is described in detail with reference to the drawings.
(a) to (c) of FIG. 6 are views showing an example of images corresponding to frames which form a dynamic picture. (a) of FIG. 7 is a view showing an image simplified by omitting the background and so forth from an image corresponding to a frame preceding by one to a frame corresponding to an image 300 shown in FIG. 6. Meanwhile, (b) and (c) of FIG. 7 are views showing images simplified by omitting the background and so forth from the image 300 shown in FIG. 6.
The images 300, 320 and 330 shown in FIGS. 6 and 7 include images 301, 321 and 331 of a horse on which a person mounts and images 302, 322 and 332 of a snake lying in front of the images 301, 321 and 331 of the horse. Further, as shown in FIG. 6, a flag, chairs and so forth exist on the background of the images, and the flag is trailing by wind.
The image 320 shown in (a) of FIG. 7 is an image obtained by simplifying an image corresponding to a frame preceding by one to a frame corresponding to the image 300, 330 shown in (a) to (c) of FIG. 6 and (b) and (c) of FIG. 7. Further, the images 320 and 330 corresponding to two successive frames are images indicative of transition where the size of an image pickup object in a screen image gradually increases. In particular, upon image pickup of the images, a zoom-in operation which is an operation of gradually making the image pickup object in the screen image larger is carried out.
The embodiment of the present invention is described below taking a method wherein characteristic points are detected from an image which forms a dynamic picture and optical flows corresponding to the characteristic points are used to calculate affine transformation parameters as an example. Further, the present example is described in regard to a case wherein a corner point is used as a characteristic point.
Here, in (a) to (c) of FIG. 7, description is given taking a method wherein optical flows corresponding to three corner points detected from the images 320 and 330 are used to calculate affine transformation parameters as an example.
For example, it is assumed that, in the image 320 shown in (a) of FIG. 7, a corner point 323 in the proximity of the mouth of the image 321 of a horse, another corner point 324 in the proximity of the hip of the person of the image 321 of the horse and a further corner point 325 in the proximity of the mouth of the image 322 of the snake are detected. In this instance, from the image 330 shown in (b) of FIG. 7, optical flows 337, 338 and 339 for the corner points 323, 324 and 325 of the image 320 are detected by a slope method, a block matching method or the like. Then, based on the detected optical flows 337, 338 and 339, the corner points 333, 334 and 335 corresponding to the corner points 323, 324 and 325 of the image 320 are detected.
Here, for example, since the images 321 and 331 of the horse and the images 322 and 332 of the snake included in the images 320 and 330 shown in (a) and (b) of FIG. 7 do not move independently of a movement of the camera since they are placed on the surface of the earth. Therefore, a movement of the camera can be estimated accurately based on optical flows determined in regard to corner points detected from the images 321 and 331 of the horse or the images 322 and 332 of the snake. For example, it can be estimated that the image 330 is an image obtained by expanding the image 320 with respect to the center provided at a point 336. Consequently, it can be decided that the movement of the camera upon image pickup of the image 330 is a zoom-in operation centered at the point 336. In this manner, if corner points are detected with regard to a physical solid which does not move independently of a movement of the camera, then the movement of the camera which has fixed regularity can be detected accurately based on optical flows determined with regard to the corner points. Therefore, affine transformation parameters can be determined by calculation using the optical flows determined with regard to the corner points.
However, it is considered that an image sometimes includes a physical solid which moves independently of the movement of the camera like a flag trailing by wind. For example, the image 300 shown in FIG. 6 includes a flag which is trailing by wind. If corner points are detected from a physical solid which moves independently of the movement of the camera like a flag trailing by wind in this manner and optical flows determined with regard to the corner points are used to estimate the movement of the camera, then the movement of the camera cannot be estimated accurately.
For example, each optical flow detected from the image 300 shown in (b) of FIG. 6 is indicated by an arrow mark, and a corner point detected from the optical flow is indicated by a round mark with a blank inside at an end of the arrow mark. Here, corner points 303 to 305 are corner points corresponding to the corner points 333 to 335 shown in (b) and (c) of FIG. 7. Meanwhile, corner points 306 to 311 are corner points detected with regard to the flag which exists on the background with respect to the image 301 of the horse. Then, since the flag is trailing by wind, a movement of the flag by an influence of the wind is detected as an optical flow. In particular, the optical flows corresponding to the corner points 306 to 311 are detected in regard to the flag which moves independently of the movement of the camera. Therefore, if three optical flows used for calculation of affine transformation parameters include an optical flow corresponding to at least one corner point from among the corner points 306 to 311, then an accurate movement of the camera cannot be detected. In this instance, accurate affine transformation parameters cannot be calculated.
As described above, for example, optical flows regarding a physical solid which moves independently of the movement of the camera (optical flows corresponding to the corner points 306 to 311 shown in (b) of FIG. 6) and optical flows having fixed regularity in a relation to the movement of the camera (optical flows other than the optical flows corresponding to the corner points 306 to 311 shown in (b) of FIG. 6) are sometimes detected from picked up images.
Therefore, in the embodiment of the present invention, an example wherein an affine transformation parameter calculation process for calculating affine transformation parameters based on three optical flows is carried out several times to determine a plurality of affine transformation parameters and optimum affine transformation parameters are selected from among the plural affine transformation parameters is described. It is to be noted that, in this example, it is assumed that the size of a moving physical solid included in each of images which form a dynamic picture is comparatively small with respect to the area of the images.
Here, the affine transformation is described briefly. Where the position of a source of movement on a two-dimensional system is represented by (x, y) and the position of a destination of the movement after the affine transformation on the two-dimensional system is represented by (x′, y′), the determinant of the affine transformation can be represented by the following expression 1:




  
    
      
        [
        
          Expression
          ⁢
          
            
          
          ⁢
          1
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        
          [
          
            
              
                
                  x
                  ′
                
              
              
                
                  y
                  ′
                
              
              
                1
              
            
          
          ]
        
        =
        
          
            [
            
              
                
                  x
                
                
                  y
                
                
                  1
                
              
            
            ]
          
          ⁡
          
            [
            
              
                
                  a
                
                
                  d
                
                
                  0
                
              
              
                
                  b
                
                
                  e
                
                
                  0
                
              
              
                
                  c
                
                
                  f
                
                
                  1
                
              
            
            ]
          
        
      
    
    
      
        (
        
          expression
          ⁢
          
            
          
          ⁢
          1
        
        )
      
    
  




Here, a to f are affine transformation parameters. Further, the affine matrix AM depending upon the affine transformation parameters can be determined by the following expression. In this instance, a zoom component XZ in the X direction, a zoom component YZ in the Y direction, a translation component XT in the X direction, a translation component YT in the Y direction and a rotation component R can be individually determined by the following expressions. It is to be noted that, in the case of a unit matrix, a=e=1, b=c=d=f=0.




  
    
      
        
          AM
          =
          
            [
            
              
                
                  a
                
                
                  b
                
                
                  c
                
              
              
                
                  d
                
                
                  e
                
                
                  f
                
              
            
            ]
          
        
        ⁢
        
          

        
        ⁢
        
          XZ
          =
          
            
              
                
                  
                    a
                    2
                  
                  +
                  
                    d
                    2
                  
                
              
              ⁢
              
                
              
              ⁢
              YZ
            
            =
            
              
                
                  b
                  2
                
                +
                
                  e
                  2
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          XT
          =
          
            
              c
              ⁢
              
                
              
              ⁢
              YT
            
            =
            f
          
        
        ⁢
        
          

        
        ⁢
        
          R
          =
          
            
              tan
              
                -
                1
              
            
            ⁡
            
              [
              
                d
                a
              
              ]
            
          
        
      
    
    
      
        [
        
          Expression
          ⁢
          
            
          
          ⁢
          2
        
        ]
      
    
  




Now, a calculation method of an affine transformation parameter is described.
First, three characteristic points are selected from among characteristic points in which optical flows are detected in an image corresponding to a current frame which is one of frames which form a dynamic picture. For example, three corner points are selected at random from among corner points (indicated by a round mark with a blank inside) detected from the image 300 shown in (b) of FIG. 6. It is to be noted that, where a projection transformation parameter is used as a camera work parameter, four characteristic points are selected at random.
Then, affine transformation parameters are calculated using three optical flows corresponding to the selected three characteristic points. For example, affine transformation parameters are calculated using optical flows (indicated by arrow marks connected to round marks with a blank inside) corresponding to three corner points selected from among the corner points (indicated by round marks with a blank inside) of the image 300 shown in (b) of FIG. 6. The affine transformation parameters can be determined using the expression 1.
Then, based on the determined affine transformation parameters, a score of the affine transformation parameters is calculated. In particular, the position of destinations of the movement of all characteristic points of an image corresponding to a frame immediately preceding to the current frame is determined using the determined affine transformation parameters. Then, the positions of the characteristic points determined using the affine transformation parameters and the positions of the characteristic points detected from the current frame are compared with each other to calculate a difference value of the positions of the two characteristic points corresponding to each other for each characteristic point. As the difference value, for example, the absolute distance between the positions of the two characteristic points corresponding to each other is calculated. Then, the calculated difference value and a threshold value set in advance are compared with each other for each characteristic point to determine the number of those characteristic points whose difference value is lower than the threshold value as a score of the affine transformation parameters. In this manner, a process of selecting three characteristic points at random from among characteristic points whose optical flow is detected and calculating the score of the affine transformation parameters based on the optical flows corresponding to these characteristic points in this manner is repeated by a predetermined number of times to calculate a plurality of scores of the affine transformation parameters. The predetermined number of times may be set suitably in response to the type of an image of an object of comparison, the processing capacity of the image processing apparatus 100 and so forth, or a fixed value may be used. As the predetermined number of times, for example, approximately 20 times may be set taking the processing capacity of the image processing apparatus 100 into consideration.
For example, a case is considered wherein three corner points other than the corner points 306 to 311 are selected from among corner points detected from the image 300 shown in (b) of FIG. 6. If affine transformation parameters are calculated using three optical flows corresponding to the three corner points selected in this manner, then since the three optical flows have fixed regularity as described hereinabove, affine transformation parameters with which an image corresponding to the immediately preceding frame is transformed in accordance with a fixed rule are determined. Therefore, a difference value determined with regard to the corner points other than the corner points 306 to 311 between the position of a corner point determined using the affine transformation parameters and the position of a corner point detected from the current frame has a comparatively low value. Therefore, the score of the affine transformation parameters has a comparatively high value.
On the other hand, another case is considered wherein three corner points including at least one of the corner points 306 to 311 are selected from among the corner points detected from the image 300 shown in (b) of FIG. 6. If affine transformation parameters are calculated using three optical flows corresponding to the three corner points selected in this manner, then since the three optical flows include an optical flow which does not have the fixed regularity, affine transformation parameters with which the image corresponding to the immediately preceding frame is transformed in accordance with the fixed rule are determined. Therefore, the difference value determined between the position of a corner point determined using the affine transformation parameters and the position of a corner point detected from the current frame exhibits a comparatively high value at an arbitrary corner point. Therefore, the score of the affine transformation parameters exhibits a low value.
Then, the affine transformation parameter which exhibits the highest value of the score among the scores of the determined plural affine transformation parameters is selected as a representative affine transformation parameter. Then, the selected representative affine transformation parameter is recorded in an associated relationship with the current frame into the dynamic picture storage section 200. Consequently, when an image which forms a dynamic picture is affine transformed, it can be affine transformed using optimum affine transformation parameters.
As described above, even where each of images which form a dynamic picture includes a physical solid which is moving (moving physical solid) such as a person or a car, where the size of the moving physical solid with respect to the area of the image is comparatively small, a movement of the camera can be extracted without being influenced by the moving physical solid.
Further, by extracting a movement of the camera, it is possible to estimate a movement considered to be caused intentionally by an image pickup person such as zoom-in, zoom-out, panning, tilting or rotation.
Now, operation of the image processing apparatus 100 according to the embodiment of the present invention is described with reference to the drawings.
FIG. 8 is a flow chart illustrating a processing procedure of an affine transformation parameter detection process by the image processing apparatus 100 according to the embodiment of the present invention.
First, a dynamic picture file is inputted to the dynamic picture inputting section 110 (step S900). Then, the dynamic picture file inputted to the dynamic picture inputting section 110 is decoded, and images of one frame are acquired in an order of a time series (step S901). Then, it is decided whether or not the acquired one frame is the top frame of the dynamic picture file inputted to the dynamic picture inputting section 110 (step S902). If the acquired one frame is the top frame (step S902), then characteristic points are extracted from the entire images corresponding to the top frame (step S903). For example, a plurality of corner points of the images are extracted as seen in (b) of FIG. 6. Then, affine transformation parameters of a unit matrix are selected as affine transformation parameters (step S904), whereafter the processing advances to step S914.
On the other hand, if the acquired one frame is not the top frame (step S902), then characteristic points are extracted from a region picked up newly with reference to an image corresponding to the immediately preceding frame (step S905). In particular, since characteristic points extracted already from the images corresponding to the immediately preceding frames can be determined from the optical flows corresponding to the characteristic points, they are not extracted from the images corresponding to the current frame.
Then, optical flows regarding the characteristic points extracted from the images corresponding to the immediately preceding frame are calculated (step S906). In particular, optical flows regarding the corner points are calculated as seen in (b) of FIG. 6.
Thereafter, the variable i is initialized to “1” (step S907). Then, M characteristic points are selected from among the characteristic points with regard to which the optical flows are detected (step S908). For example, where affine transformation parameters are used as camera work parameters, three characteristic points are selected at random. On the other hand, if projection transformation parameters are used as camera work parameters, four characteristic points are selected at random. Then, affine transformation parameters are calculated based on the M optical flows calculated corresponding to the selected M characteristic points (step S909).
Then, the score of the affine transformation parameters is calculated based on the affine transformation parameters determined by the calculation (step S910). In particular, the affine transformation parameters determined by the calculation are used to determine the position of the destination of movement of all characteristic points in the images corresponding to the immediately preceding frame. Then, the positions of the characteristic points determined using the affine transformation parameters and the positions of the characteristic points of the images corresponding to the current frame determined upon the calculation of the optical flows at step S906 are compared with each other to calculate the difference value between the positions of each two corresponding characteristic points for each characteristic point. As the difference value, for example, the absolute distance between each two corresponding positions is calculated. Then, the calculated difference values and a threshold value set in advance are compared with each other for each characteristic point, and the number of those characteristic points whose difference value is lower than the threshold value is determined as a score of the affine transformation parameters.
Then, “1” is added to the variable i (step S911), and it is decided whether or not the variable i is higher than a constant N (step S912). If the variable i is lower than the constant N (step S912), then the processing returns to step S908 to repeat the score calculation process of affine transformation parameters (steps S908 to S910). For example, 20 can be used as the constant N.
On the other hand, if the variable i is higher than the constant N (step S912), then those affine transformation parameters whose score has the highest value from among the determined scores of the affine transformation parameters are selected as representative affine transformation parameters (step S913). Then, the affine transformation parameters of an inverse matrix to the matrix of the selected representative affine transformation parameters are recorded in an associated relationship with the current frame into the dynamic picture storage section 200 (step S914). It is to be noted that, if the current frame is the top frame, the affine transformation parameters of the selected unit matrix are recorded in an associated relationship with the top frame into the dynamic picture storage section 200. Then, the images corresponding to the current frame and the characteristic points of the images are stored by overwriting (step S915).
Then, it is decided whether or not the current frame is the last frame of the dynamic picture file inputted to the dynamic picture inputting section 110 (step S916). If the current frame is not the last frame, (step S916), then the processing returns to step S901 to repeat the affine transformation parameter detection process (steps S901 to S915). On the other hand, if the current frame is the last frame (step S916), then the affine transformation parameter detection process is ended.
While, in the embodiment of the present invention, an example wherein affine transformation parameters are detected based on optical flows detected from images which form a dynamic picture is described as detection of camera work parameters, a sensor such as an acceleration sensor or a gyro sensor, or a zoom button which is used when a zooming operation is to be carried out may be provided such that the amount of movement of the camera upon image pickup is detected through the sensor or the zoom button and camera work parameters are determined based on the amount of movement of the camera. It is to be noted that, the amount of movement of the camera detected upon image pickup can be used to decide whether or not camera work parameters determined by the camera work parameter calculation unit 123 are correct. Further, the camera work parameter calculation unit 123 may detect a plurality of camera work parameters such that one of the plural camera work parameters is used based on the amount of movement of the camera detected upon image pickup.
FIG. 9 is views schematically illustrating an affine transformation parameter calculation method for calculating affine transformation parameters regarding two images by selecting coincident points included in the images and synthesis of the two images based on selected coincident points. (a) of FIG. 9 shows an image 370 which is an example of a reference image which forms one dynamic picture which is used as a reference, and (b) of FIG. 9 shows an image 376 which is an example of a comparison object image which forms another dynamic picture which is used as an object of comparison. The images 370 and 376 shown in (a) and (b) of FIG. 9 are images illustrating a state wherein two dynamic pictures including one of the images 370 and 376 are stopped during reproduction on the display section 290. In the present example, a selection method wherein, in a state wherein the dynamic picture is stopped at the display section 290, a coincident point on the image displayed upon the stopping of the dynamic picture is designated manually is illustrated schematically. (c) of FIG. 9 illustrates an example of detection of an optical flow used when coincident points selected on the images 370 and 376 are used to calculate an affine transform parameter. Meanwhile, (d) of FIG. 9 illustrates an example wherein the images 370 and 376 are synthesized based on the coincident points selected on the images 370 and 376.
It is assumed that the images 370 and 376 shown in (a) and (b) of FIG. 9 include a house 371 which is the same object. Here, where relative relationship metadata files regarding the dynamic picture including the image 370 and the dynamic picture including the image 376 are to be produced by manual operation of a user, the user would reproduce the two dynamic pictures by manual operation so that images which include the same object are displayed on the display section 290. For example, the images 370 and 376 which include the house 371 which is the same object are displayed on the display section 290. In this instance, the two images of the images 370 and 376 may be displayed on the same screen of the display section 290, or one image may be displayed successively.
For example, in the state wherein the image 370 shown in (a) of FIG. 9 is displayed on the display section 290, the user would carry out an operation input on the operation acceptance section 160 to designate an upper portion 372 of the roof of the house 371 and corner portions 373 and 374 of the lower side of the house 371 using a cursor 375. A desired portion can be designated, for example, by carrying out a left clicking operation in a state wherein the cursor 375 is superposed at the portion to be designated. Where a designation operation is carried out in this manner, for example, a round mark may be applied to a portion for which the designation operation is carried out as seen in (a) of FIG. 9 so that the user can recognize the portion. Also on the image 376 shown in (b) of FIG. 9, an upper portion 377 of the roof of the house 371 and corner portions 378 and 379 of the lower side of the house 371 are designated similarly. When the designation operations are carried out, the coincident point selection section 170 selects the designated positions as coincident points on the images and outputs the selected positions of the coincident points and the order of such designation to the relative relationship information calculation section 180 together with the images.
As shown in (a) and (b) of FIG. 9, where three coincident points are selected individually on the two images 370 and 376, the relative relationship information calculation section 180 calculates vectors based on the coincident points and uses the calculated vectors to calculate affine transformation parameters. Each of the vectors is calculated, for example, as a combination of corresponding coincident points which are selected on the two images based on the order of the designated coincident points. For example, if a designation operation is carried out in order of the upper portion 372 of the roof of the house 371 of the image 370 and the corner portions 373 and 374 of the lower side of the house 371 and then a designation operation is carried out in order of the upper portion 377 of the roof of the house 371 of the image 376 and the corner portions 378 and 379 of the lower side of the house 371, then a vector is calculated with regard to the upper portion 372 of the image 370 and the upper portion 377 of the image 376 and a vector is calculated with regard to the corner portion 373 of the image 370 and the corner portion 378 of the image 376 and then a vector is calculated with regard to the corner portion 374 of the image 370 and the corner portion 379 of the image 376. In this manner, the vectors calculated based on the coincident points selected on the images 370 and 376 are indicated by arrow marks 381 to 383 in (c) of FIG. 9. It is to be noted that, on an image 380 shown in (c) of FIG. 9, a line included in the image 370 shown in (a) of FIG. 9 is indicated by a broken line, and a line included in the image 376 shown in (b) of FIG. 9 is indicated by a solid line. The vectors calculated in this manner are used to calculate affine transformation parameters. The calculation method of affine transformation parameters is similar to the calculation method illustrated in FIGS. 6 and 7. It is to be noted that, in the embodiment of the present invention, an example wherein affine transformation parameters corresponding to an inverse matrix to a matrix of affine transformation parameters calculated using coincident points are used as relative relationship parameters is described. In other words, affine transformation parameters to be used as relative relationship metadata are defined as affine transformation parameters corresponding not to an affine transformation matrix represented by vectors between two images whose coincident points are determined but to an affine matrix which represents, where one of two images is determined as a reference image, to which position the other image moves.
It is to be noted that the relative relationship information calculation section 180 may calculate affine transformation parameters without using the designated order. For example, a vector is calculated with regard to each of combinations of the three points selected as coincident points on the images. Where three coincident points are individually selected on the two images, six combinations are available as combinations of the coincident points of the images. Then, the vectors calculated with regard to the six combinations are used to calculate six affine transformation parameters. Then, determining one of the two images as a reference image while the other image is determined as a comparison object image, the six calculated affine transformation parameters are used to successively affine transform the comparison object image. Consequently, one reference image and six affine-transformed comparison object images are produced. Then, pixels existing in the inside of a triangle having apexes at the three coincident points of the reference image and pixels existing in the inside of a triangle having apexes at the three coincident points of the affine-transformed comparison object image are compared with each other to successively calculate the difference value in luminance value between the pixels existing in the inside of the triangles. Consequently, a total value of the square values of the six difference values corresponding to the six affine transformation parameters is calculated. Then, that affine transformation parameter which exhibits the lowest difference value is selected from among the thus calculated six difference values, and the selected affine transformation parameter is determined as an affine transformation parameter regarding the two images for which the coincident point designation operation has been carried out.
Further, for example, where the affine transformation parameters calculated based on the coincident points selected on the images 370 and 376 are used to affine transform and overwrite the image 370 on the image 376, an image 384 shown in (d) of FIG. 9 is produced. By synthesizing the images 370 and 376 using the calculated affine transformation parameters in this manner, a synthesis image in which the background around the house 371 is included over a wider range than the background of the images is produced.
FIG. 10 is views schematically showing an affine transformation parameter calculation method of calculating affine transformation parameters regarding two images by selecting coincident points included in the images. Here, an example wherein coincident points included in the images are searched for by the coincident point search section 340 shown in FIGS. 1 and 3 and the searched out coincident points are used to calculate affine transformation parameters regarding the two images is described. It is to be noted that images 370, 376 and 380 shown in (a) to (c) of FIG. 10 are the same as the images 370, 376 and 380 shown in (a) to (c) of FIG. 9 except that each of characteristic points searched out by the coincident point search section 340 is indicated by a round mark. As described hereinabove, the coincident point search section 340 calculates a partial coincidence degree between frames which form a dynamic picture and automatically associates the plural images with each other based on such calculated coincidence degrees. Where a search for coincident points between two dynamic pictures is carried out, for example, characteristic points 801 to 810 and 377 to 379 are extracted as characteristic points of the image 370 and characteristic points 811 to 823 and 377 to 379 are extracted as characteristic points of the image 376. Then, from among the extracted characteristic points, combinations of similar characteristic points of the images are selected. For example, on the images 370 and 376, the characteristic points 805 to 810 and 372 to 374 and the characteristic points 818 to 823 and 377 to 379 are selected. In (a) and (b) of FIG. 10, the matching characteristic points are indicated by a thick round mark. From among the characteristic points selected in this manner, three characteristic points to be used for calculation of affine transformation parameters are searched out as coincident points. For example, on the images 370 and 376, the characteristic points 372 to 374 and the characteristic points 377 to 379 are searched out as coincident points. The search for coincident points selects a combination of characteristic points which exhibit, for example, the highest score in similarity degree. Then, vectors are calculated based on the searched out coincident points, and affine transformation parameters are calculated based on the vectors. It is to be noted that the calculation of the affine transformation parameters is carried out by a method similar to the calculation method illustrated in FIG. 9.
Now, a case wherein one dynamic picture is reproduced and displayed using affine transformation parameters calculated by the camera work detection section 120 is described in detail with reference to the drawings. It is to be noted that the images shown in FIGS. 11 to 19 are simplified for description and the amount of movement between two successive frames is illustrated in an exaggerated manner.
First, a case wherein, upon image pickup of the camera, although the magnification is not varied, the direction of the lens of the camera is moved in one of the upward, downward, leftward and rightward directions from the center provided by the position of the camera is described.
FIG. 11 is views illustrating an example of transition of a dynamic picture picked up by a camera. FIG. 11 is views showing images 401 to 403 corresponding to successive frames included in a dynamic picture where an image of a person 400 is picked up on the background of mountains. In this example, a case is illustrated wherein the image pickup person carries out image pickup while the direction of the lens of the camera is moved rightwardly and upwardly. In this instance, the person 400 included in the dynamic picture picked up by the camera moves from the right side to the left side and moves to the lower side on the images which form the dynamic picture.
FIG. 12 is views wherein an image corresponding to an immediately preceding frame is indicated by broken lines and which illustrates an example of optical flows detected. An image 401 shown in (a) of FIG. 12 is the same as the image 401 shown in (a) of FIG. 11. Meanwhile, solid line portions of an image 402 shown in (b) of FIG. 12 are the same as those of the image 402 shown in (b) of FIG. 11, and broken line portions of the image 402 shown in (b) of FIG. 12 are the same as the solid line portions of the image 401 shown in (a) of FIG. 12. Further, arrow marks 404 to 406 on the image 402 shown in (b) of FIG. 12 illustrate an example of optical flows detected from the image 402. Similarly, solid line portions of an image 403 shown in (c) of FIG. 12 are the same as the solid line portions of the image 403 shown in (c) of FIG. 11, and broken line portions of the image 403 are the same as the solid line portions of the image 402 shown in (b) of FIG. 12. Further, arrow marks 407 to 409 on the image 403 shown in (c) of FIG. 12 illustrate an example of optical flows detected from the image 403.
As shown in (b) and (c) of FIG. 12, the person 400 and the mountains of the background included in the image move in conformity with the movement of the camera. Based on optical flows detected from the movement, affine transformation parameters can be determined for each frame.
FIG. 13 is views illustrating an example of image synthesis where dynamic pictures including the images 401 to 403 shown in FIG. 11 are reproduced while synthesized. It is to be noted that, since, in the embodiment of the present invention, images which form two dynamic pictures are synthesized, as the reproduction time goes by, the image displayed on the display section 290 becomes greater than an ordinary image. Therefore, the image displayed first is displayed in a small size in comparison with the size of the display region of the display section 290. It is to be noted that the size, position and so forth of the image to be displayed first may be designated by the user.
As shown in (a) of FIG. 13, only the image 401 corresponding to the first frame is displayed first. Here, where the matrix (matrix of 3 rows×3 columns) of affine transformation parameters corresponding to the image 401 is represented by A1, the value of A1 is determined, and the image 401 is affine transformed with the determined matrix of A1 with reference to the position and the magnitude of the image 401 of the top frame. Here, since A is a unit matrix, the position and the magnitude of the image 401 are not transformed. Then, where an image 402 corresponding to the next frame is to be displayed, the image 402 is affine transformed using affine transformation parameters associated with this frame. In particular, where the matrix of affine transformation parameters corresponding to the image 402 is represented by A2 and the matrix of the affine transformation parameters corresponding to the image 401 is represented by A1, the value of A1×A2 is determined, and the image 402 is affine transformed based on the determined matrix of A1×A2 with reference to the position and the size of the image 401 of the top frame. In the image shown in (b) of FIG. 13, only the position of the image 402 is transformed. Then, the image 402 affine transformed with the affine transformation parameters is overwritten such that it overlaps with the image 401 corresponding to the immediately preceding frame. In particular, in a region 410 which overlaps with the image 402, the image 402 is overwritten. Further, in the region of the image 401 which does not overlap with the image 402, the image of the image 401 is synthesized. In particular, where the image 402 corresponding to the second frame is displayed, an image in which the entire portion of the image 402 and the portion of the image 401 corresponding to a region 411 are synthesized is displayed as shown in (b) of FIG. 13. Further, it is possible to cause an image framework representing that the image therein is the latest image from within the displayed image to be displayed around the image corresponding to the current frame. In (b) of FIG. 13, an image framework is displayed on the image 402. Further, affine transformation parameters obtained by affine transformation of the image 402 are stored into the image transformation section 150.
Then, where the image 403 corresponding to the succeeding frame is to be displayed, affine transformation parameters associated with this frame are used to affine transform the image 403. In particular, the image 403 is affine transformed with the affine transformation parameters determined using the matrix of the affine transformation parameters corresponding to the image 403 and the matrix of the affine transformation parameters corresponding to the image 402 used for the immediately preceding affine transformation. In particular, where the matrix of the affine transformation parameters corresponding to the image 403 is represented by A3 and the matrix of the affine transformation parameters corresponding to the image 402 is represented by A2 while the matrix of the affine transformation parameters corresponding to the image 401 is represented by A1, the value of A1×A2×A3 is determined, and the image 403 is affine transformed with the determined matrix of A1×A2×A3 with reference to the position and the size of the image 401 of the top frame. In the image shown in (c) of FIG. 13, only the position of the image 403 is transformed. Then, the image 403 affine transformed with the affine transformation parameters is overwritten in such a manner as to overlap with the synthesis image of the images 401 and 402 corresponding to the preceding frames. In particular, in regions 413 and 414 in the region of the synthesis image of the images 401 and 402 which overlaps with the image 403, the image of the image 403 is overwritten. On the other hand, in the regions 411 and 412 in the region of the synthesis image of the images 401 and 402 which does not overlap with the image 403, the synthesis image of the images 401 and 402 is synthesized. In particular, where the image 403 corresponding to the third frame is to be displayed, an image wherein the entire portion of the image 403, the portion of the image 401 corresponding to the region 411 and the portion of the image 402 which corresponds to the region 412 are synthesized is displayed. Further, where an image framework representing that the image therein is the latest image in the displayed images is to be displayed around the image corresponding to the current frame, the image framework is displayed on the image 403 shown in (c) of FIG. 13. Further, the affine transformation parameters obtained by the affine transformation of the image 403 are stored into the image transformation section 150. In other words, the affine transformation parameters determined by multiplication of the matrices of the affine transformation parameters corresponding to the images 402 and 403 are stored into the image transformation section 150. In the manner, when an image corresponding to a current frame is to be affine transformed, it is affine transformed with the affine transformation parameters determined using the matrix of the affine transformation parameters corresponding to the current frame and the matrices of the affine transformation parameters corresponding to the frames up to the immediately preceding frame. The affine transformation parameters determined upon this affine transformation are stored into the image transformation section 150 and used for next affine transformation. This similarly applies also to the cases of FIGS. 16 and 19.
Now, a case wherein the magnification is varied upon image pickup of the camera although the direction of the lens of the camera is not moved is described.
FIG. 14 is views illustrating an example of transition of dynamic pictures picked up by a camera. FIG. 14 is views showing images 421 to 423 corresponding to successive frames included in the dynamic picture where an image of a person 420 is picked up on the background of mountains. In the present example, a case wherein the image pickup person carries out image pickup while successively raising the magnification of the lens of the camera is described. In this instance, the person 420 included in the dynamic picture picked up by the camera gradually becomes larger in the images which form the dynamic picture. It is to be noted that, although the position of the camera sometimes moves a little when the magnification is raised, in the present example, description is given without taking the movement of the position of the camera into consideration.
FIG. 15 is views wherein an image corresponding to an immediately preceding frame in the images shown in FIG. 14 is indicated by broken lines and an example of optical flows detected is shown. An image 421 shown in (a) of FIG. 15 is the same as the image 421 shown in (a) of FIG. 14. Meanwhile, solid line portions of an image 422 shown in (b) of FIG. 15 are the same as those of the image 422 shown in (b) of FIG. 14 while broken line portions of the image 422 shown in (b) of FIG. 15 are the same as the solid line portions of the image 421 shown in (a) of FIG. 14. Further, arrow marks 424 to 426 on the image 422 shown in (b) of FIG. 15 indicate an example of optical flows detected from the image 422. Similarly, solid line portions of an image 423 shown in (c) of FIG. 15 are the same as those of the image 423 shown in (c) of FIG. 14 while broken line portions of the image 423 shown in (c) of FIG. 15 are the same as the solid line portions of the image 422 shown in (b) of FIG. 14. Further, arrow marks 427 to 429 on the image 423 shown in (c) of FIG. 15 indicate an example of optical flows detected from the image 423.
As shown in (b) and (c) of FIG. 15, the size of the person 420 and the mountains of the background included in the image varies in accordance with the variation of the magnification. Affine transformation parameters can be determined for each frame based on optical flows detected by the variation.
FIG. 16 is views illustrating an example of display in a case wherein the dynamic picture including the images 421 to 423 shown in FIG. 14 is reproduced.
As shown in (a) of FIG. 16, only the image 421 corresponding to the top frame is displayed first. Then, where the image 422 corresponding to the succeeding frame is to be displayed, the image 422 is affine transformed using affine transformation parameters associated with this frame. In the case of the image shown in (b) of FIG. 16, only the size of the image 422 is transformed. Then, the image 422 affine transformed with the affine transformation parameters is overwritten in such a manner as to overlap with the image 421 corresponding to the immediately preceding frame. In particular, in a region in the region of the image 421 which overlaps with the image 422, the image of the image 422 is overwritten. In this instance, since the image 421 overlaps with the overall region of the image 422, the entire image 422 is overwritten on the image 421. On the other hand, a region 431 in the region of the image 421 which does not overlap with the image 422, the image of the image 421 is synthesized. In particular, when the image 422 corresponding to the second frame is to be displayed, an image wherein the entire portion of the image 422 and the portion of the image 421 which corresponds to the region 431 are synthesized is displayed as shown in (b) of FIG. 16. Further, an image framework indicating that the image therein is the latest image from within the display images can be displayed around the image corresponding to the current frame. In (b) of FIG. 16, the image framework is displayed on the image 422. Further, the affine transformation parameters obtained by affine transformation of the image 422 are stored into the image transformation section 150.
Thereafter, where the image 423 corresponding to the next frame is to be displayed, the image 423 is affine transformed using the affine transformation parameters associated with this frame. In particular, the image 423 is affine transformed with affine transformation parameters determined by multiplication of the matrix of the affine transformation parameters corresponding to the image 423 and the matrix of the affine transformation parameters corresponding to the image 422 used for the immediately preceding affine transformation. In the image shown in (c) of FIG. 16, only the size of the image 423 is transformed. Then, the affine transformed image 423 is overwritten so as to overlap with the synthesized image of the images 421 and 422 corresponding to the preceding frames. In particular, in a region in the region of the synthesis image of the images 421 and 422 which overlaps with the image 423, the image of the image 423 is overwritten. In this instance, since the image 423 overlaps with the entire region of the images 421 and 422, the entire image of the image 423 is overwritten on the synthesized image of the images 421 and 422. On the other hand, in regions 432 and 433 in the region of the synthesized image of the images 421 and 422 which do not overlap with the image 423, the synthesized image of the images 421 and 422 is synthesized. In particular, where the image 423 corresponding to the third frame is to be displayed, an image wherein the entire portion of the image 423, the portion of the image 421 which corresponds to the region 432 and the portion of the image 422 which corresponds to the region 433 are synthesized is displayed as shown in (c) of FIG. 16. On the other hand, where an image framework representing that the image therein is the latest image from among the displayed images is to be displayed around the image corresponding to the current frame, the image framework is displayed on the image 423 shown in (c) of FIG. 16. Further, the affine transformation parameters used in the affine transformation of the image 423 are stored into the image transformation section 150. In other words, the affine transformation parameters determined using the affine transformation parameters corresponding to the images 422 and 423 are stored into the image transformation section 150.
Now, a case wherein, upon image pickup of the camera, the camera is rotated around the image pickup direction although the direction or the magnification of the lens of the camera is not varied is described.
FIG. 17 is views illustrating an example of transition of dynamic pictures picked up by the camera. FIG. 17 is views showing images 441 to 443 corresponding to successive frames included in the dynamic pictures where an image of a person 440 is picked up on the background of mountains. In this example, a case wherein the image pickup person carries out image pickup while rotating the camera around the image pickup direction is illustrated. In this instance, the person 440 included in the dynamic pictures picked up by the camera successively rotates on the images which form the dynamic pictures. It is to be noted that, although the position of the camera sometimes moves a little by the rotation of the camera, this example is described without taking the movement of the position of the camera into consideration.
FIG. 18 is views wherein an image corresponding to an immediately preceding frame in the images shown in FIG. 17 is indicated by broken lines and an example of optical flows detected is illustrated. An image 441 shown in (a) of FIG. 18 is the same as the image 441 shown in (a) of FIG. 17. Meanwhile, solid line portions of an image 442 shown in (b) of FIG. 18 are the same as those of the image 442 shown in (b) of FIG. 17 while broken line portions of the image 442 shown in (b) of FIG. 18 are the same as the solid line portions of the image 441 shown in (a) of FIG. 17. Further, arrow marks 444 to 446 on the image 442 shown in (b) of FIG. 18 indicate an example of optical flows detected from the image 442. Similarly, solid line portions of an image 443 shown in (c) of FIG. 18 are the same as those of the image 443 shown in (c) of FIG. 17 while broken line portions of the image 443 shown in (c) of FIG. 18 are the same as the solid line portions of the image 442 shown in (b) of FIG. 17. Further, arrow marks 447 to 449 on the image 443 shown in (c) of FIG. 18 indicate an example of optical flows detected from the image 443.
As shown in (b) and (c) of FIG. 18, the person 440 and the mountains of the background included in the images rotationally move in conformity with the rotation of the camera. Affine transformation parameters can be determined for each frame based on optical flows detected by the rotational movement.
FIG. 19 is views showing an example of display in a case wherein dynamic pictures including the images 441 to 443 shown in FIG. 17 are reproduced.
As shown in (a) of FIG. 19, only an image 441 corresponding to the top frame is displayed first. Then, where an image 442 corresponding to the next frame is to be displayed, the image 442 is affine transformed using affine transformation parameters associated with this frame. In the image shown in (b) of FIG. 19, only the angle of the image 442 is transformed. Then, the image 442 affine transformed with the affine transformation parameters is overwritten so as to overlap with the image 441 corresponding to the immediately preceding frame. In particular, in a region 450 in the region of the image 441 which overlaps with the image 442, the image of the image 442 is overwritten. Meanwhile, in regions 451 and 452 in the region of the image 441 which do not overlap with the image 442, the image of the image 441 is synthesized. In particular, where the image 442 corresponding to the second frame is to be displayed, an image wherein the entire portion of the image 442 and portions of the image 441 which correspond to the regions 451 and 452 are synthesized is displayed. Further, it is possible to display an image framework, which represents that the image therein is the latest image from among the displayed images, around the image corresponding to the current frame. In (b) of FIG. 19, the image framework is displayed on the image 442. Further, the affine transformation parameters obtained by the affine transformation of the image 442 are stored into the image transformation section 150.
Then, where an image 443 corresponding to the next frame is to be displayed, the image 443 is affine transformed using the affine transformation parameters associated with this frame. In other words, the image 443 is affine transformed using the matrix of the affine transformation parameters corresponding to the image 443 and the matrix of the affine transformation parameters corresponding to the image 442 used in the immediately preceding affine transformation. In the image shown in (c) of FIG. 19, only the angle of the image 443 is transformed. Then, the affine transformed image 443 is overwritten so as to overlap with the synthesized image of the images 441 and 442 corresponding to the preceding frames. In particular, in regions 453 to 457 in the region of the synthesized image of the images 441 and 442 which overlap with the image 443, the image of the image 443 is overwritten. On the other hand, in regions 458 to 461 in the region of the synthesized image of the images 441 and 442 which do not overlap with the image 443, the synthesized image of the images 441 and 442 is further synthesized. In particular, where the image 443 corresponding to the third frame is to be displayed, an image wherein the entire portion of the image 443, the portion of the image 441 which corresponds to the region 459 and portions of the image 442 which correspond to the regions 458 and 460 is displayed as shown in (c) of FIG. 19 is displayed. On the other hand, where an image framework representing that the image therein is the latest image from among the displayed images is to be displayed around the image corresponding to the current frame, the image framework is displayed on the image 443 shown in (c) of FIG. 19. Further, the affine transformation parameters used in the affine transformation of the image 443 are stored into the image transformation section 150. In other words, the affine transformation parameters determined using the affine transformation parameters corresponding to the images 442 and 443 are stored into the image transformation section 150.
FIG. 20 is views schematically illustrating a relationship between frames of dynamic image files stored in the dynamic picture storage section 200 in the embodiment of the present invention and the display region. Here, only the operation acceptance section 160, metadata storage section 210 and image memory 250 are displayed, but illustration of the components other than them is omitted. Further, description is given taking a case wherein a synthesized image is produced in the image memory 250 using the affine transformation parameters 216 stored in the metadata file 211 in regard to the frames “1” to “3” which form the dynamic picture file 201 shown in (b) of FIG. 4 as an example. It is to be noted that, in FIG. 20, a case wherein one dynamic picture is stored into the image memory 250 is illustrated as an example, also where a plurality of dynamic pictures are to be stored into the image memory 250, similar synthesis is carried out.
(a) of FIG. 20 illustrates a case wherein a frame 1 (205) which is the first frame from among frames which form the dynamic picture file 201 illustrated in (b) of FIG. 4 is stored into the image memory 250. For example, as shown in (a) of FIG. 20, an image 471 corresponding to the frame 1 (205) of the dynamic picture file 201 is stored into the image memory 250. Here, as the position of the image memory 250 into which the image 471 corresponding to the first frame is stored, the image 471 may be stored into a position set in advance or may be stored into a position designated by the user through the operation acceptance section 160. Or, for example, the metadata files associated with a plurality of dynamic pictures which make an object of reproduction or affine transformation parameters of the relative relationship metadata may be used such that the size of the synthesized image to be produced from the frames of a plurality of dynamic pictures are calculated and the position into which the image 471 is to be stored is determined based on the calculation. It is to be noted that the following description is given assuming that the position of the left top of the image 471 disposed on the image memory 250 is determined as the origin, the horizontal direction (axis of abscissa) is the x axis and the vertical direction (axis of ordinate) is the y axis.
As shown in (a) of FIG. 20, the display region where the image 471 is disposed on the image memory 250 is determined as a display region 470. The display region 470 may be determined in response to a value of a display magnification accepted by the operation acceptance section 160 based on the position and the size of a synthesized image produced from a plurality of dynamic pictures. It is to be noted that the position of the display region 470 on the image 471 can be determined from affine transformation parameters. In particular, where the display magnification of “0.5” times that with which the current image is zoomed out is designated, those affine transformation parameters with which the zoom components in the x direction and the y direction are doubled are used to set the display region. Also in regard to a case wherein the display region is moved in parallel or is rotated with respect to the current image, the position and the range of the display region can be determined using affine transformation parameters.
(b) of FIG. 20 illustrates a case wherein a frame 2 (206) from among the frames which form the dynamic picture file 201 shown in (b) of FIG. 4 is stored into the image memory 250. In this instance, an image 472 corresponding to the frame 2 (206) is transformed using the affine transformation parameters 216 stored in the metadata file 211 in an associated relationship with “1” and “2” of the frame number 215 as described hereinabove and is synthesized with the image 471 by overwriting. Here, where the current image protrudes from within the range of the display region at present, the display region may be varied so that the current image is entirely included in the range of the display region at present.
(c) of FIG. 20 illustrates a case wherein a frame 3 from among the frames which form the dynamic picture file 201 shown in (b) of FIG. 4 is stored into the image memory 250. Also in this instance, as described above, an image 473 corresponding to the frame 3 is transformed using the affine transformation parameters 216 stored in the metadata file 211 in an associated relationship with the frame numbers 215 “1” to “3” and is synthesized by overwriting with the images 471 and 352.
As described above, by displaying an image existing in a range of a display region disposed on the image memory 250, synthesized images during reproduction can be successively displayed. Here, when a current image is affine transformed and synthesized into the image memory 684, conversion of the picture quality such as a resolution conversion process, a compression process and so forth for conversion into a lower resolution is sometimes carried out. Therefore, where the display magnification is to be raised to display the current image in an enlarged scale, the synthesized image including the current image may possibly become blur. Therefore, in the present example, with regard to the current image being currently reproduced, an image before synthesized into the image memory 250 is used to display a synthesized image. In the following, this displaying method is described in detail with reference to the drawings.
FIG. 21 is a view schematically illustrating a flow of frames of a dynamic picture file stored in the dynamic picture storage section 200 in the embodiment of the present invention. Here, only a relationship of the operation acceptance section 160, dynamic picture storage section 200, metadata storage section 210, image memory 250 and display memory 270 is illustrated while illustration of the other configuration is omitted. It is to be noted that, while FIG. 21 illustrates a case wherein one dynamic picture is displayed on the display section 290 as an example, also where a plurality of dynamic pictures are to be displayed on the display section 290, they are synthesized similarly.
(a) of FIG. 21 shows the dynamic picture file 201 and the metadata file 211 shown in (b) of FIG. 4 in a simplified form. In the following, an example wherein images corresponding to a frame i (207) which forms the dynamic picture file 201 is displayed is described. In other words, it is assumed that, with regard to the images which correspond to the frames 1 to “i−1” which form the dynamic picture file 201, a synthesized image is produced already.
(b) of FIG. 21 schematically shows the image memory 250 in which a synthesized image in which the images corresponding to the frames which form the dynamic picture file 201 are synthesized is stored. As shown in (b) of FIG. 20, an image 471 corresponding to a frame 1 (661) which forms the dynamic picture file 201 is first stored into the image memory 250. Then, after the image 471 is stored into the image memory 250, the images corresponding to the frames 2 to “i−1” which form the dynamic picture file 201 are successively affine transformed using the values of the affine transformation parameter 216 stored in the metadata file 211 in an associated relationship with the frames 2 to “i−1,” and the affine transformed images are successively stored by overwriting into the image memory 250. Then, from the synthesized image stored in the image memory 250, an image existing in a display region determined in response to an operation input or the like for designation of a display magnification from the operation acceptance section 160 is extracted for each frame by the display region extraction section 260.
In the state wherein the synthesized image of the images corresponding to the frames 1 to “i−1” is stored in the image memory 250, the image corresponding to the frame i (207) which forms the dynamic picture file 201 is affine transformed using the affine transformation parameters 216 stored in the metadata file 211 in an associated relationship with the frames 1 to “i,” and the affine transformed current image 474 is stored by overwriting into the image memory 250. Then, an image existing in the display region 470 is extracted from the synthesized image stored in the image memory 250 by the display region extraction section 260, and the extracted image is stored, for example, into the display memory 270 as illustrated in (c) of FIG. 21.
(c) of FIG. 21 schematically illustrates the display memory 270 in which images extracted by the display region extraction section 260 are stored. Here, for an current image 475 which corresponds to the current frame from among the images extracted by the display region extraction section 260, not the current image 474 extracted from the image memory 250 by the display region extraction section 260 but an image acquired from the dynamic picture storage section 200 and affine transformed by the image transformation section 150 is used. Here, the storage position of the current image 475 in the display memory 270 can be determined based on the position and the size of the current image 474 in the image memory 250 and the position and the size of the display region 470 in the image memory 250. For example, where the matrix of affine transformation parameters stored in an associated relationship with “1” to “i” of the frame number 215 in the metadata file 211 is represented by A1, . . . , Ai and the matrix of affine transformation parameters for determining the display region 470 (for example, a matrix with reference to the image memory 250) is represented by C, the storage position of the current image 475 in the display memory 270 can be determined using Inv(C)×A1× . . . ×Ai with reference to the position of the image 471.
As shown in (c) of FIG. 21, the images extracted by the display region extraction section 260 are stored into the display memory 270, and an image acquired from the dynamic picture storage section 200 and affine transformed by the image transformation section 150 is stored by overwriting on the images extracted by the display region extraction section 260. Then, the image stored in the display memory 270 is displayed on the display section 290. In this manner, as regards the current image, a comparatively clean current image can be displayed by using an image in a state before the image is subjected to such processing as reduction and stored into the image memory 250 after affine transformation. Further, also in a case wherein expansion or the like is carried out by an operation of the user, the current image can be displayed in a clean state.
As described above, since, for the current image, an image affine transformed after acquired from the dynamic picture storage section 200 can be used in place of a synthesized image stored in the image memory 250, a comparatively clean image can be viewed. This display example is described in detail with reference to FIGS. 22 and 23.
(a) of FIG. 22 is a view showing an example of display in a case wherein a dynamic picture picked up by a camera is reproduced. In this example, an image 480 during reproduction of a dynamic picture where an image of a parent and a child who are playing in an open space of a lawn on which a large building stands is picked up while the camera is moved principally in the leftward and rightward direction. Here, in the image 480, an image 481 synthesized from images corresponding to claims which form the dynamic picture is formed in a panorama fashion. Further, an image corresponding to the current frame in the image 480 is a current image 482.
Here, a case wherein an image region surrounded by a framework 483 is displayed in an enlarged scale is described. Where an image displayed on the display section 290 is to be displayed in an enlarged or reduced scale, the user can operate a display magnification designation key on the operation acceptance section 160 to designate a desired display magnification. For example, where the image 480 is displayed on the display section 290 as shown in (a) of FIG. 22, if an image region surrounded by the framework 483 is to be displayed in an enlarged scale, then the user can operate the display magnification designation key on the operation acceptance section 160 to designate a display magnification and designate a position to display the image region surrounded by the framework 483 in an enlarged scale.
(b) of FIG. 22 is a view showing an image 484 in a state before the current image 482 in the image 480 is affine transformed.
(a) of FIG. 23 is a view showing an image 485 in a case wherein the image region surrounded by the framework 483 shown in (a) of FIG. 22 is displayed in an enlarged scale. The image 485 shown in (a) of FIG. 23 is an image synthesized in the display memory 270 in a state before the current image after affine transformation is stored into the image memory 250. In this manner, in the region of a current image 486, a comparatively definite image in a state before stored into the image memory 250 is displayed in the region of the current image 486. Therefore, where the current image 486 and the region other than this region are compared with each other, the current image 486 which is cleaner than that in the other region can be observed. Meanwhile, an image 487 shown in (b) of FIG. 23 is an image stored in the display memory 270 in a state wherein the current image after affine transformation is stored in the image memory 250. Where the image 487 is displayed in this manner, also in the region of a current image 488, an image of a degree similar to that of an image in the other region is displayed. In particular, with the embodiment of the present invention, when images are synthesized and displayed, although a history image stored in the display memory 270 is sometimes compressed, for an image at present (current image), a non-compressed image or an image of a resolution higher than that of a history image can be used, and therefore, image synthesis display of high picture quality can be implemented.
While the foregoing description is given taking a case wherein images which form one dynamic picture are synthesized with each other as an example, in the following description, examples of synthesis in a case wherein images of two dynamic pictures are synthesized are described in detail with reference to the drawings.
FIG. 24 is views schematically illustrating an example of synthesis in a case wherein two dynamic pictures are synthesized. In this example, a case wherein images 501 to 514 which form a dynamic picture 500 and images 521 to 527 which form a dynamic picture 520 are synthesized is described. Further, it is assumed that images 508 and 524 indicated by oblique lines applied therein are images corresponding to frame numbers included in relative relationship metadata regarding the dynamic pictures 500 and 520.
In (a) of FIG. 24, a case wherein the images 501 to 514 which form the dynamic picture 500 are successively affine transformed using affine transformation parameters stored in an associated relationship with individual frames and synthesized on the image memory 250 is illustrated. For example, the image 501 which corresponds to the top frame is stored into the image memory 250 first. Then, the images 502 to 514 are successively affine transformed with reference to the image 501 and synthesized in the image memory 250. A flow of the current image by the affine transformation is indicated by an arrow mark 515. In other words, the images 501 to 514 are successively synthesized along the arrow mark 515.
In (b) of FIG. 24, a case wherein the images 521 to 527 which form the dynamic picture 520 are successively affine transformed using affine transformation parameters stored in an associated relationship with individual frames and synthesized on the image memory 250 is illustrated. Meanwhile, in (c) of FIG. 24, relative relationship positions of the image 508 and the image 524 in a case wherein the image 524 is affine transformed with reference to the image 501 with affine transformation parameters included in relative relationship metadata regarding the dynamic pictures 500 and 520 are shown. Here, the synthesized image shown in (b) of FIG. 24 shows an image synthesized from the images 521 to 527 with reference to the relative relationship positions of the image 508 and the image 524 shown in (c) of FIG. 24. A flow of the current image by the affine transformation in this instance is indicated by an arrow mark 528. In particular, the images 521 to 527 are successively synthesized along the arrow mark 528. An example of synthesis in a case wherein the synthesized image shown in (a) of FIG. 24 and the synthesized image shown in (b) of FIG. 24 are synthesized with reference to the relative relationship positions of the image 508 and the image 524 shown in (c) of FIG. 24. It is to be noted that, in the example shown in (d) of FIG. 24, an example wherein the images 508 and 524 are reproduced at the same time and the images reproduced at the same time are synthesized by overwriting the dynamic picture 520 on the dynamic picture 500 is illustrated.
Here, a particular calculation method regarding the storage positions of the individual dynamic pictures is described. First, the position of at least one dynamic picture which forms one of a plurality of dynamic pictures is determined. For example, the position of the image 501 which corresponds to the top frame which forms the dynamic picture 500 is determined. The thus determined position may be designated by the user through the operation acceptance section 160 or may be determined using a position calculated by the calculation described hereinabove. Then, the storage position of at least one of images which form the other dynamic picture is calculated. For example, matrices of affine transformation parameters associated with individual frames corresponding to the images 501 to 514 are represented by A1 to A14. Meanwhile, matrices of affine transformation parameters associated with frames corresponding to the images 521 to 527 are represented by B1 to B7. Further, a matrix of affine transformation parameters of relative relationship metadata stored in an associated relationship with the dynamic pictures 500 and 520 is represented by C1. Here, the reference image is the image 501. Where the storage position of the image 501 on the image memory 250 is determined as a reference, the storage position of the image 508 is calculated by multiplication of A1 to A8. In other words, the storage position of the image 508 is calculated using A1× . . . ×A8. Meanwhile, where the storage position of the image 501 on the image memory 250 is determined as a reference, the storage position of the image 524 is calculated by multiplication of A1 to A8 and C1. In other words, the storage position of the image 501 is calculated using A1× . . . ×A8×C1. Here, for example, where the storage position of the image 521 corresponding to the top frame of the dynamic picture 520 is to be calculated, it can be calculated by multiplication of A1 to A8 and C1 and an inverse matrix of B1 to B4. In other words, the storage position of the image 521 can be calculated using “A1× . . . ×A8×C1×Inv(B1× . . . ×B4).” Also the storage position of any other image which forms the dynamic picture 520 can be calculated using A1 to A8 and C1 and an inverse matrix of B1 to B4 or B5 to B7.
On the other hand, where an image which forms a dynamic picture other than the dynamic picture which includes the reference image is to be affine transformed, it is carried out using a matrix used for calculation of the storage position of the image corresponding to the top frame and affine transformation parameters associated with the image. For example, where the image 522 of the dynamic picture 520 is to be affine transformed, it is transformed with a matrix of “A1× . . . ×A8×C1×Inv(B3×B4)” using a matrix B2 which corresponds to the image 522. Also where, for example, the image 523 of the dynamic picture 520 is to be affine transformed, it is transformed with the matrix of “A1× . . . ×A8×C1×Inv(B4)” similarly. Each image of the dynamic picture 520 is transformed similarly.
In the manner, where a plurality of dynamic pictures are to be synthesized and reproduced, after the position and the size of a reference image of one of the dynamic pictures on the image memory 250 is determined, the position and the size of each image can be calculated using metadata files individually associated with the dynamic pictures and relative relationship metadata files associated with the individual dynamic pictures. Therefore, where a plurality of dynamic pictures are to be synthesized and reproduced, it is possible to reproduce the dynamic pictures from any position. For example, an example wherein the image 521 which forms the dynamic picture 520 is synthesized after the images 501 to 504 which form the dynamic picture 500 are synthesized on the image memory 250 is illustrated in (d) of FIG. 24. In particular, the images 505 and 521 are synthesized simultaneously, and then the images 506 and 522 are synthesized simultaneously. Also thereafter, synthesis is carried out similarly. It is to be noted that, while this example illustrates an example wherein images reproduced at the same time are synthesized by overwriting the dynamic picture 520 on the dynamic picture 500, the dynamic picture to be overwritten may be designated through the operation acceptance section 160.
FIG. 25 is views schematically illustrating an example of synthesis in a case wherein two dynamic pictures are synthesized. In (a) of FIG. 25, transition of images 531 to 537 which form a dynamic picture 530 is illustrated, and in (b) of FIG. 25, transition of images 541 to 547 which form another dynamic picture 540 is illustrated while (c) of FIG. 25 illustrates transition of images 551 to 557 which are synthesized images where the dynamic pictures 530 and 540 are synthesized. It is to be noted that it is assumed that the dynamic pictures 530 and 540 are dynamic pictures recorded at time t1 to time t7. Further, it is assumed that the images 533 and 543 at time t3 are images corresponding to the images 370 and 376 shown in FIG. 9 and a selection operation of coincident points shown in FIG. 9 has been carried out with regard to the images 533 and 543. Further, it is assumed that the dynamic pictures 530 and 540 are synthesized using relative relationship metadata calculated by the selection operation.
FIG. 26 is views illustrating an example of display in a case wherein the synthesized images shown in FIG. 25 are displayed on the display section 290. Images 561 to 567 are images representative of transition of the synthesized image synthesized from the dynamic pictures 530 and 540, and solid lines indicate a current image while broken lines indicate a region of each image preceding to the current image. As seen in FIG. 26, the background around the house 371 shown in FIG. 9 is displayed in an expanding fashion from the house 371. Where the dynamic pictures 530 and 540 picked up at a substantially same location using different cameras are to be reproduced at the same time in this manner, by synthesizing the dynamic pictures 530 and 540, the two dynamic pictures can be reproduced and enjoyed while watching the background and so forth, which cannot not usually be observed on an ordinary dynamic picture. Further, by synthesizing the dynamic pictures 530 and 540, the relative relationship of the image pickup locations of the dynamic pictures 530 and 540 can be grasped readily. While this example illustrates an example wherein, as regards images picked up at the same time, an image which forms the dynamic picture 540 is synthesized by overwriting on an image which forms the dynamic picture 530, which one of the images should be overwritten may be selected in response to an operation input from the operation acceptance section 160. Further, while an example wherein images of the same image pickup time are synthesized in accordance with the time, images of different time points may be successively synthesized from a position corresponding to an operation input from the operation acceptance section 160.
In the description above, two dynamic pictures are synthesized and reproduced using one affine transformation parameter placed in relative relationship metadata associated with the two dynamic pictures is described. In the following, an example wherein, where two or more affine transformation parameters are placed in relative relationship metadata associated with two dynamic pictures, the two or more affine transformation parameters are used to synthesize and reproduce two dynamic pictures is described in detail with reference to the drawings. In this example, a linear interpolation method of interpolating, where two dynamic pictures are to be synthesized and reproduced, a displacement of a positional relationship between the dynamic pictures using two or more affine transformation parameters is described in detail with reference to the drawings.
FIG. 27 is a view schematically illustrating files recorded in the dynamic picture storage section 200 and the relative relationship information storage section 220 in the embodiment of the present invention. In this example, FIG. 27 is a view schematically illustrating dynamic picture files (#10) 600 and (#11) 610 stored in the dynamic picture storage section 200 and a relative relationship metadata file 630 stored in the relative relationship information storage section 220 in an associated relationship with the dynamic picture files (#10) 600 and (#11) 610. In this instance, an example wherein a frame “1” 601 and another frame “9” 609 which form the dynamic picture files (#10) 600 and (#11) 610 and another frame “1” 611 and a further frame “9” 619 which form the dynamic picture file (#11) 610 are stored in an associated relationship with the relative relationship metadata file 630 stored in the relative relationship information storage section 220 is described. It is to be noted that description here of the configuration of the dynamic picture files stored in the dynamic picture storage section 200 is omitted because it is the same as that of the dynamic picture file shown in FIGS. 4 and 5. Further, description of the configuration of the relative relationship metadata file stored in the relative relationship information storage section 220 is omitted here because it is similar to that of the relative relationship metadata file shown in FIG. 5 except that two affine transformation parameters are stored in one relative relationship metadata file.
In the relative relationship metadata file 630, a dynamic picture ID 224, a frame number 225 and an affine transformation parameter 226 are stored in an associated relationship with each other. Further, affine transformation parameters regarding relative relationships of two images from among images which form the dynamic picture files (#10) 600 and (#11) 610 are stored in the relative relationship metadata file 630. It is to be noted that, while, in this example, an example wherein two affine transformation parameters are stored is described, it can be applied also to another case wherein three or more affine transformation parameters are stored.
FIG. 28 is views schematically showing images which form the dynamic picture files (#10) 600 and (#11) 610 shown in FIG. 27 and images synthesized based on image pickup objects included in the images. (a) of FIG. 28 shows images A1 (601) to A9 (609) which form the dynamic picture file (#10) 600 and images B1 (611) to B9 (619) which form the dynamic picture file (#11) 610. Further, (b) of FIG. 28 is a view showing an image 720 synthesized, based on image pickup objects included in the images A1 (601) to A9 (609) and B1 (611) to B9 (619), from the images. It is to be noted that, in FIG. 28, some images are omitted.
In (a) and (b) of FIG. 28, it is assumed that a coincident image pickup object is included in the image A1 (601) and the image B1 (611) and in the image A9 (609) and the image B9 (619). Regions which include the coincident image pickup object in the image A1 (601) and the image B1 (611) are defined as regions 721 and 722, respectively, and regions which include the coincident image pickup object in the image A9 (609) and the image B9 (619) are defined as regions 723 and 724, respectively.
Here, a case wherein, for example, a dynamic picture is reproduced using affine transformation parameters “ar, br, cr, dr, er, fr” stored in the relative relationship metadata file 630 in an associated relationship with the image A1 (601) and the image B1 (611) is considered. In this instance, the image A1 (601) is affine transformed with reference to the position of the image B1 (611). Then, the image A2 (602) and succeeding images are successively affine transformed, and the image B2 (612) and succeeding images are successively affine transformed. Consequently, the positional relationship between the image A9 (609) and the image B9 (619) wherein the region 723 of the image A9 (609) and the region 724 of the image B9 (619) overlap with each other should exhibit a correct positional relationship. However, in such a case that an error of an affine transformation parameter calculated by the camera work detection section 120 is accumulated as a comparatively high value through a plurality of affine transformation operations, there is the possibility that the image A9 (609) and the image B9 (619) which originally should overlap with each other at an accurate position may not overlap with each other, for example, as shown in (a) of FIG. 29.
(a) of FIG. 29 is a view illustrating an example of synthesis in a case wherein the dynamic image files (#10) 600 and (#11) 610 are synthesized while being affine transformed using the affine transformation parameters “ar, br, cr, dr, er, fr” associated with the image A1 (601) and the image B1 (611). In the example illustrated in (a) of FIG. 29, an example wherein errors of affine transformation parameters associated with individual frames are accumulated such that the image A1 (601) to the image A9 (609) are individually transformed so as to be displaced upwardly is illustrated.
Where the image A9 (609) and the image B9 (619) which should originally overlap with each other at an accurate position as shown in (b) of FIG. 28 do not overlap with each other as shown in (a) of FIG. 29, although the region 723 of the image A9 (609) and the region 724 of the image B9 (619) include the same object, this same object is displayed at different positions. In this instance, there is the possibility that it may become difficult to reproduce the image pickup object accurately. Further, where succeeding images are synthesized while being affine transformed, the accumulation of the error of affine transformation parameters increases, resulting in the possibility that the image pickup object cannot be reproduced accurately.
Therefore, it seems a possible idea, for example, to use affine transformation parameters “as, bs, cs, ds, es, fs” stored in the relative relationship metadata file 630 in an associated relationship with the image A9 (609) and the image B9 (619) to correct the position of the image A9 (609) as shown in (b) of FIG. 29. For example, it is possible to affine transform the image A9 (609) using the affine transformation parameters “as, bs, cs, ds, es, fs” with reference to the image B9 (619) to move the image A9 (609) to an accurate position as indicated by an arrow mark 625. However, in this instance, since the positions of the image A8 (608) and the image A9 (609) are spaced away from each other, when the image A9 (609) is displayed, an unnatural image is displayed. Therefore, in this example, an example wherein the image A1 (601) to the image A9 (609) are linearly interpolated based on the affine transformation parameters “as, bs, cs, ds, es, fs” associated with the image A9 (609) and the image B9 (619) is described.
Here, the position of the image A1 (601) can be calculated using the affine transformation parameters “ar, br, cr, dr, er, fr” with reference to the position of the image B1 (611). Meanwhile, the positions of the images A2 (602) to A9 (609) can be calculated using affine transformation parameters corresponding to the individual frames. Further, the position of the image A9 (609) can be calculated using the affine transformation parameters “as, bs, cs, ds, es, fs” with reference to the position of the image B9 (619).
Accordingly, the displacement between the position of the image A9 (609) calculated based on the affine transformation parameters “ar, br, cr, dr, er, fr” associated with the image A1 (601) and the image B1 (611) and the affine transformation parameters associated with the image A1 (601) to the image A9 (609) and the position of the image A9 (609) calculated using the affine transformation parameters “ar, br, cr, dr, er, fr” with reference to the image B9 (619) is determined, and a matrix which distributes the displacement equally is produced. Then, by correcting the affine transformation parameters associated with the image A2 (602) to the image A9 (609) using the matrix calculated based on the displacement, interpolation of the image A2 (602) to the image A9 (609) can be carried out. By this, displacements which appear with the image A2 (602) to the image A8 (608) can be used for correction to an accurate position.
Here, a calculation method for an interpolation matrix for correcting affine transformation parameters associated with each image is described. Matrices corresponding to affine transformation parameters associated with the image A1 (601) to the image A9 (609) are represented by Ca1 to Ca9, respectively; matrices corresponding to affine transformation parameters associated with the image B1 (611) to the image B9 (619) are represented by Cb1 to Cb9, respectively; a matrix corresponding to the affine transformation parameters “ar, br, cr, dr, er, fr” associated with the image A1 (601) and the image B1 (611) is represented by AM1; and a matrix corresponding to the affine transformation parameters “as, bs, cs, ds, es, fs” stored in the relative relationship metadata file 630 in an associated relationship with the image A9 (609) and the image B9 (619) is represented by AM2.
A matrix Pa9 for calculating the position of the image A9 (601) in a case wherein the image B1 (611) is determined as a reference is represented by the following expression 3:

Pa9=Cb1×Cb2× . . . ×Cb9×AM2  (expression 3)

Meanwhile, a matrix P′a9 for calculating the position of the image A9 (601) in a case wherein the image B1 (611) is determined as a reference can be represented also by the following expression 4:

P′a9=AM1×Ca1×Ca2× . . . ×Ca9  (expression 4)

Here, since the matrices Pa9 and P′a9 are matrices for calculating the position of the image A9 (601) in a case wherein the image B1 (611) is determined as a reference, they should be the same as each other. However, as described hereinabove, the matrices Pa9 and P′a9 sometimes suffer from displacement. Therefore, where a matrix representative of the displacement between the matrices Pa9 and P′a9 is represented as an error matrix Ea9, since Ea9×P′a9=Pa9, the error matrix Ea9 can be calculated by the following expression 5:

Ea9=Pa9×Inv(P′a9)  (expression 5)

Now, an interpolation matrix calculation method of calculating an interpolation matrix based on an error matrix representative of the displacement is described in detail with reference to the drawings.
FIG. 30 is a view illustrating an outline of a calculation method in a case wherein an interpolation matrix is calculated based on an error matrix representative of displacement. In the figure, a graph in a case wherein the axis of abscissa is the x axis and the axis of ordinate is the y axis is shown. Further, in this example, an example wherein three interpolation matrices are calculated based on the error matrix Ea9 is described.
First, on the graph shown in the figure, a triangle 570 having apexes at the coordinates (0, 0), (1, 0) and (0, 1) is disposed. Then, the triangle 570 is multiplied by the error matrix Ea9 to calculate a triangle of the destination of movement. For example, the triangle of the object of movement is set to a triangle 571. In this instance, three motion vectors 572 to 574 interconnecting the apexes of the triangles 570 and 571 are calculated.
Then, the motion vectors calculated are divided into a number of portions equal to the number of interpolation matrices to be calculated. Then, divisional points of the motion vectors divided into the number of interpolation matrices are used to form triangles. For example, each of the motion vectors 572 to 574 is divided into three portions, and triangles 575 and 576 having apexes at the dividing points are produced.
Then, affine matrices for affine transforming the triangles 575, 576 and 571 produced newly are calculated from the triangle 570 disposed first. Then, the affine matrices calculated in this manner are determined as interpolation matrices. For example, in the figure, three interpolation matrices are calculated. It is to be noted that one of the three interpolation matrices is the error matrix Ea9.
As described above, a predetermined number of interpolation matrices can be calculated based on the error matrix Ea9. Therefore, eight interpolation matrices are calculated based on the error matrix Ea9 by the interpolation matrix calculation method illustrated in the figure, and the interpolation matrices are indicated as interpolation matrices Int (Interporate: interpolation) 1 to Int8. Here, the interpolation matrix Int1 corrects the affine transformation parameters of the image A2 (602), and the interpolation matrix Int2 corrects the affine transformation parameters of the image A3 (603). The other interpolation matrices correct the affine transformation parameters similarly, and the interpolation matrix Int8 corrects the affine transformation parameters of the image A9 (609). Further, Int8=Ea9.
FIG. 31 is views illustrating an example of synthesis in a case wherein the interpolation matrices Int1 to Int8 described above are used to transform the images A2 (602) to A9 (609). In (a) of FIG. 31, the images A2 (602) to A9 (609) are indicated by broken lines and the images A2 (602) to A9 (609) after correction are indicated by solid lines, and transition of them is indicated by arrow marks. In (b) of FIG. 31, the images A1 (601) to A9 (609) after the correction and the images A1 (601) to A9 (609) are shown.
By using the interpolation matrices Int1 to Int8 determined in such a manner as described above to successively transform the images A2 (602) to A9 (609), the displacement which occurs with the images A2 (602) to A8 (608) can be eliminated to correct them to respective accurate positions as seen in the figure. For example, in a case wherein the matrices Int1 to Int8 are used to transform the images A2 (602) to A9 (609), where the image A2 (602) is to be affine transformed, it is affine transformed using a matrix (AM1×Ca1×Ca2×Int1). Further, where the image A3 (603) is to be affine transformed, it is affine transformed using a matrix (AM1×Ca1×Ca2×Ca3×Int2). This similarly applies to affine transformation of the other images, and where the image A9 (609) is to be affine transformed, it is affine transformed using a matrix (AM1×Ca1×Ca2× . . . ×Ca9×Int8).
It is to be noted that, in place of carrying out correction for all of the images A2 (602) to A8 (608), for example, only the image A5 (605) which is positioned in the middle of the images may be corrected or only the alternate images A3 (603), A5 (605) A3, and image A7 (607) may be corrected. In this instance, the interpolation matrix int is calculated based on the number of images which make an object of correction.
It is to be noted that, where a plurality of dynamic pictures are reproduced while being synthesized by carrying out correction with an interpolation matrix for a comparatively great number of images, smooth positioning is possible in regard to synthesis of the dynamic pictures. Consequently, the user can readily observe transition of images which form a dynamic picture. It is to be noted that, while, in this example, an example wherein one of two dynamic pictures is determined as a reference dynamic picture and the other dynamic picture than the reference dynamic picture is linearly interpolated is described, the interpolation matrix calculation method can be applied similarly also to another case wherein linear interpolation is carried out with regard to two dynamic pictures.
Now, an example of display in a case wherein a plurality of dynamic pictures picked up by a camera actually are synthesized and reproduced is described. In the display example described below, an example wherein a synthesized image is displayed only in a region in which images corresponding to a current frame which forms at least one of a plurality of dynamic pictures and a preceding frame from within a display region of the display section 290 while the other region is displayed dark are described. Further, a framework is displayed around images corresponding to the current frame. In other words, a framework for a number of dynamic pictures which make an object of reproduction is displayed. It is to be noted that, in the display example described below, a display example from midway during reproduction of two dynamic pictures is shown. Further, although actually a synthesized image is successively displayed for every frame, in the figures, a display example for every predetermined number of frame intervals is shown in the figure while illustration of a synthesized image displayed between the frames is omitted. Therefore, the movement of the framework corresponding to the current frame is illustrated in an exaggerated fashion in the figures.
FIGS. 32 to 36 are views illustrating an example of transition of a plurality of dynamic pictures picked up by a camera. In the figures, images 730 to 744 which form dynamic pictures in a case wherein an image of members of a family who are enjoying in an open space of a park is successively picked up at the same time by two cameras while the cameras are being moved are shown. While, in this example, an example wherein dynamic pictures at the same image pickup time are reproduced at the same time is described, the dynamic pictures may be reproduced with the reproduction time displaced therebetween independently of the image pickup time.
Among the images 730 to 744 shown in the figures, the images which correspond to the current frame are the images 750 and 751. It is to be noted that, among the images 730 to 744 shown in the figures, the current images are denoted by the same reference characters 750 and 751 even if synthesized images of them are different from each other. As shown in the figures, image pickup object substances (open space of the park and so forth) included in a picked up image are fixed on the screen, and the images 750 and 751 corresponding to the current frames move on the screen in accordance with the movement of each camera. By using such display, two images corresponding to the current frames can be shown to an accessing person such that they move in accordance with the movement of the two cameras in the display region displayed dark on the display section 290. Further, since the two dynamic pictures are synthesized in an associated relationship using relative relationship information, the synthesized image produced from the two dynamic pictures is displayed as if it were formed from one dynamic picture. Also where a current image moves on the synthesized image, it moves such that the position on the synthesized image and the position on the current image are synchronized with each other.
FIGS. 37 and 38 are views illustrating an example of transition of a dynamic picture picked up by a camera. In the figures, a case wherein the two dynamic pictures shown in FIGS. 32 to 36 are reproduced one by one is illustrated. Images 760 to 765 shown in FIGS. 37 and 38 are images at substantially same time with that of the images 736 to 738 shown in FIG. 34. It is to be noted that, in the images 760 to 765 shown in FIGS. 37 and 38, a framework is added around an image corresponding to the current frame. In this manner, where the images 730 to 744 shown in FIGS. 32 to 36 and the images 760 to 765 shown in FIGS. 37 and 38 are compared with each other, a synthesized image is produced over a comparatively great region in the images 730 to 744 shown in FIGS. 32 to 36. Therefore, the synthesized image can be observed more readily by the viewer.
While, in the foregoing description, an example wherein two dynamic pictures are reproduced while being synthesized using a relative relationship metadata file in which affine transformation parameters regarding the two dynamic pictures are stored is described, it is possible to store affine transformation parameters regarding three or more dynamic pictures in one relative relationship metadata file and use the affine transformation parameters to reproduce the three or more dynamic pictures while synthesizing them. In the following, an example wherein three or more dynamic pictures are reproduced while being synthesized is described in detail with reference to the drawings.
FIG. 39 is a view schematically showing files recorded in the dynamic picture storage section 200 and the relative relationship information storage section 220 in the embodiment of the present invention. FIG. 39 in this example is a view schematically showing dynamic picture files (#12) 651 to (#14) 653 stored in the dynamic picture storage section 200 and a relative relationship metadata file 660 stored in the relative relationship information storage section 220 in an associated relationship with the dynamic picture files (#12) 651 to (#14) 653. In this example, an example wherein affine transformation parameters regarding the three dynamic picture files (#12) 651 to (#14) 653 are stored in the one relative relationship metadata file 660 is described. It is to be noted that description of the configuration of the dynamic picture files stored in the dynamic picture storage section 200 is omitted here because the configuration is similar to that of the dynamic picture files shown in FIGS. 4 and 5 and so forth. Further, description of the configuration of the relative relationship metadata file stored in the relative relationship information storage section 220 is omitted here because the configuration is similar to that of the relative relationship metadata file shown in FIG. 5 except that affine transformation parameters regarding three or more dynamic pictures are stored in the one relative relationship metadata file.
In the relative relationship metadata file 660, a dynamic picture ID 224, a frame number 225 and an affine transformation parameter 226 are stored in an associated relationship with each other. Further, affine transformation parameters regarding a relative relationship of each two images among images which form the dynamic picture files (#12) 651 to (#14) 653 are stored in a relative relationship metadata file 630. In particular, affine transformation parameters “at, bt, ct, dt, et, ft” for calculating the position of the frame “5” 656 which forms the dynamic picture file (#13) 652 in a case wherein the frame “2” 654 which forms the dynamic picture file (#12) 651 is determined as a reference and affine transformation parameters “au, bu, cu, du, eu, fu” for calculating the position of the frame “6” 657 which forms the dynamic picture file (#14) 653 in a case wherein the frame “9” 655 which forms the dynamic picture file (#12) 651 is determined as a reference are stored in the relative relationship metadata file 630. Consequently, where three dynamic pictures are reproduced while being synthesized, the dynamic pictures can be reproduced with the relative relationship of the three dynamic pictures taken into consideration.
FIG. 40 is views showing images where coincident points included in images regarding three dynamic pictures are selected. It is to be noted that the images 370 and 376 shown in (a) and (b) of FIG. 40 are the same as the images 370 and 376 shown in (a) and (b) of FIG. 9, and it is assumed that the coincident points 372 to 374 and 377 to 379 are selected. Further, it is assumed that, in the image 376 shown in (b) of FIG. 40, as coincident points other than the coincident points 377 to 379, upper portions 671 to 673 of utility poles positioned on the right side of a house 371 are selected. It is assumed that, in an image 674 shown in (c) of FIG. 40, upper portions 675 to 677 of the utility posts are selected. It is to be noted that description of the selection of a coincident point on the images shown in (a) to (c) of FIG. 40 and the calculation of an affine transformation parameter is omitted here because they are similar to that of the method illustrated in FIG. 9.
FIG. 41 is a view showing an example of a case wherein three images are synthesized based on coincident points selected on an image regarding three dynamic pictures. FIG. 41 shows a synthesized image 680 synthesized through affine transformation of the images 370, 376 and 674 using affine transformation parameters calculated based on coincident points selected on the images 370, 376 and 674 shown in (a) to (c) of FIG. 40. By synthesizing three dynamic pictures using calculated affine transformation parameters in this manner, the synthesized image 680 in which the background around the house 371 is included over a greater range than that of the background in each image is produced.
FIG. 42 is views schematically illustrating an example of synthesis in a case wherein three dynamic pictures are synthesized. In this example, a case wherein images 501 to 514 which form a dynamic picture 500, images 521 to 527 which form another dynamic picture 520 and images 691 to 697 which form a further dynamic picture 690 are synthesized is described. It is to be noted that description of the images 501 to 514 which form the dynamic picture 500 and the images 521 to 527 which form the dynamic picture 520 is omitted here because they are the same as those shown in FIG. 24. Further, it is assumed that the images 508 and 524 indicated by slanting lines applied in the inside thereof are images corresponding to frame numbers included in the relative relationship metadata regarding the dynamic pictures 500 and 520, and similarly, the images 510 and 694 indicated by slanting lines applied in the inside thereof are images corresponding to frame numbers included in the relative relationship metadata regarding the dynamic pictures 500 and 690. The dynamic picture 500 shown in (a) of FIG. 42 is similar to the dynamic picture 500 shown in FIG. 24 except the image 510 indicated by slanting lines applied in the inside thereof.
(b) of FIG. 42 illustrates a case wherein the images 691 to 697 which form the dynamic picture 690 are successively affine transformed using affine transformation parameters stored in an associated relationship with individual frames and then are synthesized on the image memory 250. Here, the synthesized image shown in (b) of FIG. 42 is that in a case wherein the images 691 to 697 are synthesized with reference to relative relationship positions of the image 510 and the image 694. A flow of the current image by affine transformation in this instance is indicated by an arrow mark 698. In other words, the images 691 to 697 are successively synthesized along the arrow mark 698. An example of synthesis in a case wherein the synthesized image shown in (a) of FIG. 42, the synthesized image shown in (b) of FIG. 42 and the synthesized image shown in (b) of FIG. 24 are synthesized in this manner with reference to the relative relationship positions of the image 510 and the image 694 is shown in (c) of FIG. 42. It is to be noted that, in the example shown in (c) of FIG. 42, an example wherein the images 508 and 524 are reproduced at the same time and the images 510 and 694 are reproduced at the same time is illustrated, and an example wherein the images reproduced at the same time are synthesized such that the dynamic picture 520 is overwritten on the dynamic picture 500 and the dynamic picture 690 is overwritten on the dynamic picture 500 is illustrated. It is to be noted that, for a calculation method regarding particular storage positions of the dynamic pictures, a calculation method similar to the calculation method illustrated in FIG. 24 can be used. It is to be noted that, even in a case wherein relative relationship metadata regarding a plurality of dynamic pictures which make an object of reproduction does not exist, it is possible to use relative relationship metadata regarding other dynamic pictures to synthesize and reproduce the plural dynamic pictures of an object of reproduction. For example, where the dynamic picture 520 and the dynamic picture 690 from among the dynamic picture 500, dynamic picture 520 and dynamic picture 690 shown in (c) of FIG. 42 are to be synthesized, relative relationship metadata regarding the dynamic pictures 500 and 520 and relative relationship metadata regarding the dynamic pictures 500 and 690 can be used to calculate the position of any other dynamic picture where one of the dynamic picture 520 and the dynamic picture 690 is determined as a reference dynamic picture. For example, where the dynamic picture 520 is determined as a reference dynamic picture, the position of the image 508 which forms the dynamic picture 500 can be calculated using the relative relationship positions of the image 508 and the image 524. Further, the position of the image 510 can be calculated based on the image 508. Then, the position of the images which form the dynamic picture 690 in the case wherein the image 510 is determined as a reference can be calculated using the relative relationship positions of the image 510 and the image 694. In this manner, also the dynamic picture 520 and the dynamic picture 690 which do not have common relative relationship metadata can be synthesized and reproduced through the dynamic picture 500. This can be applied similarly also to a case wherein a plurality of dynamic pictures are synthesized and reproduced through two or more dynamic pictures.
FIG. 43 is views illustrating an example in a case wherein a still picture and a plurality of dynamic pictures are synthesized. (a) of FIG. 43 is a view illustrating a case wherein images 701 to 718 which are still pictures are stored in the image memory 250, and (b) of FIG. 43 is a view illustrating a case wherein dynamic pictures 500, 520 and 690 are synthesized by overwriting on the images 701 to 718 stored in the image memory 250. In the figures, framework lines of the images 701 to 718 are indicated by a thick line. As shown in the figures, still pictures can be synthesized together with a plurality of dynamic pictures. In this instance, affine transformation parameters regarding a relative relationship between the still pictures and at least one image which forms the dynamic pictures are stored as a relative relationship metadata file, and this relative relationship metadata file is used to carry out synthesis. Further, still pictures may be synthesized between images which form dynamic pictures, or still pictures may be synthesized on dynamic pictures.
Further, the image processing apparatus 100 according to the embodiment of the present invention may be connected to a network such as the Internet such that dynamic pictures may be reproduced in combination with an image or a dynamic picture received through the network. For example, the image processing apparatus can receive a landscape image of a predetermined park through the Internet and reproduce a dynamic picture, in which an image of a child is picked up, while synthesizing the same on a background image which is the received landscape image of the park. By this, such an artificial reproduction image that the child moves in the park can be provided.
Now, operation of the image processing apparatus 100 according to the embodiment of the present invention is described with reference to the drawings.
FIG. 44 is a flow chart illustrating a processing procedure of a coincident point selection process by manual operation by the image processing apparatus 100 according to the embodiment of the present invention.
First, it is decided whether or not an instruction to reproduce a dynamic picture stored in the dynamic picture storage section 200 is accepted by the operation acceptance section 160 (step S921). If an instruction to reproduce a dynamic picture is not accepted by the operation acceptance section 160 (step S921), then the processing advances to step S923. If an instruction to reproduce a dynamic picture is accepted by the operation acceptance section 160 (step S921), then the file acquisition section 140 acquires a designated dynamic picture file, and a dynamic picture of the acquired dynamic picture file is displayed on the display section 290 (step S922).
Then, it is decided whether or not a stopping instruction of the dynamic picture being reproduced by the display section 290 is accepted by the operation acceptance section 160 (step S923). If a stopping instruction of the dynamic picture being reproduced is not accepted by the operation acceptance section 160 (step S923), then the processing advances to step S925. If a stopping instruction of the dynamic picture being reproduced is accepted by the operation acceptance section 160 (step S923), then the reproduction operation of the dynamic picture of the object of the stopping instruction is stopped and a state wherein an image of the dynamic picture when the stopping instruction is received remains displayed on the display section 290 is established (step S924).
Then, the coincident point selection section 170 selects a position designated by the user on the image displayed on the display section 290 as a coincident point. Then, it is decided whether or not the positions of three points are designated on the same image (step S925). If the positions of three points are not designated on the same image (step S925), then the processing returns to step S921 so that the coincident point selection process is repeated (steps S921 to S924). On the other hand, if the positions of three points are designated on the same image (step S925), then the coincident point selection section 170 decides whether or not an instruction to calculate relative relationship information based on the designated positions is accepted by the operation acceptance section 160 (step S926).
If an instruction to calculate relative relationship information is not accepted (step S926), then the processing returns to step S921 to repeat the coincident point selection process. On the other hand, if an instruction to calculate relative relationship information is accepted (step S926), then the coincident point selection section 170 decides whether or not three coincident points are selected on each of the same images which form at least the two dynamic pictures (step S927).
If three coincident points are not selected on each of the same images which form at least two dynamic pictures (step S927), then the processing returns to step S921 to repeat the coincident point selection process. On the other hand, if three coincident points are selected on each of the same images which form at least two dynamic pictures (step S927), then the coincident point selection section 170 outputs the positions of the selected coincident points on the images in an associated relationship with the corresponding images and dynamic pictures to the relative relationship information calculation section 180 (step S928).
Then, the relative relationship information calculation section 180 calculates affine transformation parameters based on the positions of the coincident points at least on the two images outputted from the coincident point selection section 170 (step S928). Then, the recording control section 130 records the calculated affine transformation parameters and the frame numbers of the images and the dynamic picture IDs of the dynamic pictures which correspond to the calculated affine transformation parameters in an associated relationship with each other into the relative relationship information storage section 220 (step S929).
FIG. 45 is a flow chart illustrating a processing procedure of a coincident point search process by the image processing apparatus 100 in the embodiment of the present invention. In this example, an example wherein characteristic amounts are registered in advance in the model dictionary registration unit 344 and a search for a coincident point is carried out using the characteristic amounts is described.
First, it is decided whether or not an operation input for dynamic picture selection is accepted by the operation acceptance section 160 (step S931). If an operation input for dynamic picture selection is not accepted by the operation acceptance section 160 (step S931), then it is waited that an operation input for dynamic picture selection is accepted. On the other hand, if an operation input for dynamic picture selection is accepted by the operation acceptance section 160 (step S931), then the dynamic picture acquisition unit 141 acquires a dynamic picture file stored in the dynamic picture storage section 200 in response to the operation input for dynamic picture selection from the operation acceptance section 160 (step S932).
Then, the multiple resolution production unit 345 produces a multiple resolution image of the images which form the acquired dynamic picture (step S933). Then, the characteristic point extraction unit 346 extracts characteristic points regarding the images of the different resolutions of the multiple resolution image (step S934). Thereafter, the characteristic amount extraction unit 347 extracts at least two local characteristic amounts of the extracted characteristic points (step S935).
Then, the characteristic amount comparison unit 349 compares the extracted characteristic point characteristic amounts and characteristic point characteristic amounts registered in the model dictionary registration unit 344 and represented as a Kd tree constructed by the kd tree construction unit 348 with each other to calculate the similarity degree (step S936). Then, the characteristic amount comparison unit 349 selects a combination of the characteristic points which indicate the highest value of the similarity degree determined by the calculation as a coincident point (step S937).
Then, the relative relationship information calculation section 180 calculates affine transformation parameters based on the position of each of the selected coincident points (step S938). Then, the recording control section 130 records the calculated affine transformation parameters and the dynamic picture IDs and the frame numbers regarding the two images of the object of calculation of the affine transformation parameters into the relative relationship information storage section 220 (step S939).
FIG. 46 is a flow chart illustrating a processing procedure of a synthesis reproduction process of a plurality of dynamic pictures by the image processing apparatus 100 according to the embodiment of the present invention.
First, it is decided whether or not a selection operation for selecting at least two dynamic picture files from among a plurality of dynamic picture files stored in the dynamic picture storage section 200 is accepted by the operation acceptance section 160 (step S961). If a selection operation for selecting at least two dynamic picture files is not accepted (step S961), then the processing returns to step S961. On the other hand, if a selection operation for selecting at least two dynamic picture files is accepted (step S961), then it is decided whether or not a designation operation for designating a plural dynamic picture synthesis reproduction mode is accepted by the operation acceptance section 160 (step S962).
If a designation operation for designating a plural dynamic picture synthesis reproduction mode is accepted (step S962), then it is decided whether or not a relative relationship metadata file associated with each of the selected dynamic picture files exists in the relative relationship information storage section 220 (step S963). If a relative relationship metadata file associated with each of the selected dynamic picture files exists (step S963), then a plural dynamic picture synthesis reproduction process is executed (step S970). This plural dynamic picture synthesis reproduction process is described in detail with reference to FIG. 47.
On the other hand, if a designation operation for designating a plural dynamic picture synthesis reproduction mode is not accepted (step S962) or if a relative relationship metadata file associated with each of the selected dynamic picture files does not exist (step S963), then each of the selected dynamic files is reproduced and displayed (step S964). As this reproduction display, ordinary reproduction of a plurality of dynamic pictures is carried out.
FIG. 47 is a flow chart illustrating a processing procedure of the plural dynamic picture synthesis reproduction process (processing procedure at step S970 illustrated in FIG. 46) by the image processing apparatus 100 according to the embodiment of the present invention. In this example, an example is described wherein, as a reference image of one dynamic picture, an image corresponding to the top frame among images which form the one dynamic picture is used.
First, a work buffer having a size greater than that of images which form the dynamic picture is assured in the image memory 250 (step S971). Then, the file acquisition section 140 acquires a plurality of dynamic files selected by the operation acceptance section 160 from the dynamic picture storage section 200 and acquires a metadata file and a relative relationship metadata file associated with the dynamic picture files from the metadata storage section 210 or the relative relationship information storage section 220 (step S972).
Then, the object image transformation information calculation section 190 calculates, based on the affine transformation parameters of the metadata file and the relative relationship metadata file, affine transformation parameters (object image transformation information) used for transformation of object images where at least one image which forms one dynamic picture among a plurality of dynamic pictures which make an object of reproduction is determined as a reference image and images which form the other dynamic pictures are determined as the object images (step S973). Then, the correction value calculation section 230 calculates, based on the affine transformation parameters of the metadata file and the relative relationship metadata file, based on at least two affine transformation parameters stored in the relative relationship metadata file and affine transformation parameters of the metadata file, correction values for correcting displacement of the image positions by the affine transformation (step S974).
Then, the file acquisition section 140 decodes the dynamic picture files to acquire a current frame which is one frame which forms each of the dynamic picture files with respect to the dynamic picture files (step S975). Then, the file acquisition section 140 acquires affine transformation parameters corresponding to the acquired current frames from the metadata file (step S976). Here, where the current frame is the top frame, affine transformation parameters of a unit matrix are acquired.
Then, the image transformation section 150 uses the affine transformation parameters to affine transform the images corresponding to the current frames (step S977). Here, the other dynamic pictures than the reference dynamic picture from among the plural dynamic pictures which make an object of reproduction are affine transformed using the object image transformation information (affine transformation parameters) and the affine transformation parameters which correspond to the images which form the dynamic pictures. Further, in a case wherein correction values are calculated by the correction value calculation section 230, when an image which makes an object of correction is to be transformed, the calculated correction value is used to correct the value of the affine transformation parameters and the affine transformation parameters after the correction are used to affine transform the images corresponding to the current frames. It is to be noted that, where the current frame is the top frame, when the reference image is to be transformed, since a unit matrix is used to carry out affine transformation, the actual image is not transformed. Further, where an image of any other dynamic picture than the reference dynamic picture is to be transformed, affine transformation parameters (object image transformation information) are used to transform an image corresponding to the top frame. In other words, the images corresponding to the top frames which form the dynamic pictures are stored in an affine transformed state into the image memory 250 except the reference image.
Then, the image synthesis section 240 synthesizes the affine transformed images corresponding to the current frames by overwriting on the synthesized images of the images corresponding to frames preceding to the current frames and stores the images on which the images corresponding to the current images are synthesized into the image memory 250 (step S978). Here, where the image corresponding to the top frame is the reference image, it is stored in a non-affine transformed state into the image memory 250. Further, if the image corresponding to the top frame is not the reference image, then an image affine transformed based on the affine transformation parameters calculated by the object image transformation information calculation section 190 is stored into the image memory 250. Further, where two current images corresponding to two dynamic pictures overlap with each other, one of them is synthesized by overwriting. The dynamic picture to be overwritten may be selected by the user through the operation acceptance section 160, or one of an image which forms a dynamic picture corresponding to the reference image and an image which forms a dynamic picture corresponding to an object image may be determined in advance as a dynamic picture to be overwritten. Or, the dynamic picture to be overwritten may be changed by the operation acceptance section 160 during synthesis reproduction.
Then, the display region extraction section 260 determines the position and the size of the display region using affine transformation parameters corresponding to the designated display magnification and position (step S979). Then, the display region extraction section 260 extracts a synthesized image included in the display region from the image memory 250 (step S980). Thereafter, the display region extraction section 260 stores the synthesized image extracted from the image memory 250 into the display memory 270 (step S981).
Then, the display region extraction section 260 determines the position of the current image in the display memory 270 using the matrix of affine transformation parameters used in the transformation of the current image and an inverse matrix to the matrix of affine transformation parameters used for the determination of the display region (step S982). In this instance, the position regarding the two current images is determined. Then, the image synthesis section 240 synthesizes the two affine transformed current images by overwriting on the synthesized image stored in the display memory 270 (step S983). Then, the synthesized image stored in the display memory 270 is displayed on the display section 290 (step S984).
Then, it is decided whether or not each of the current frames among the frames which form the inputted dynamic picture files is the last frame (step S985). If the current frame is not the last frame (step S985), then the processing returns to step S975 to repeat the synthesized image display process (steps S975 to S984). On the other hand, if the current frame is the last frame (step S985), the assured work buffer is released (step S986), and the dynamic picture reproduction process is ended.
Now, a case wherein a characteristic point extraction process and an optical flow calculation process are carried out by a multi-core processor in the embodiment of the present invention is described in detail with reference to the drawings.
FIG. 48 is a view showing an example of a configuration of a multi-core processor 800 in the embodiment of the present invention. The multi-core processor 800 is a processor wherein a plurality of processor cores of different types are incorporated in one CPU (Central Processing Unit) package. In particular, the multi-core processor 800 incorporates a plurality of processor cores of two different types including cores of one type corresponding to all uses (applications) and cores of another type optimized to some degree for a predetermined application in order to maintain the processing performance of each processor core item and achieve a simple configuration.
The multi-core processor 800 includes a controlling processor core 801, mathematical operation processor cores (#1) 811 to (#8) 818, and a bus 802, and is connected to a main memory 781. Further, the multi-core processor 800 is connected to other devices such as, for example, a graphics device 782 and an I/O device 783. As the multi-core processor 800, for example, the “Cell (cell: Cell Broadband Engine)” which is a microprocessor which has been developed by the assignee of the present invention and so forth can be adopted.
The controlling processor core 801 is a controlling processor core which principally carries out frequent thread changeover of an operating system or the like. It is to be noted that the controlling processor core 801 is described in detail with reference to FIG. 49.
The mathematical operation processor cores (#1) 811 to (#8) 818 are simple and small-sized mathematical operation processor cores which are good at processing of the multimedia type. It is to be noted that the mathematical operation processor cores (#1) 811 to (#8) 818 are described in detail with reference to FIG. 50.
The bus 802 is a high-speed bus called EIB (Element Interconnect Bus), and the controlling processor core 801 and the mathematical operation processor cores (#1) 811 to (#8) 818 are connected to each other by the bus 802 such that data accessing by each processor core is carried out through the bus 802.
The main memory 781 is connected to the bus 802 and is a main memory which stores various programs to be loaded into the processor cores and data necessary for processing of the processor cores and stores data processed by the processor cores.
The graphics device 782 is a graphics device connected to the bus 802, and the I/O device 783 is an external inputting/outputting device connected to the bus 802.
FIG. 49 is a view showing an example of a configuration of the controlling processor core 801 in the embodiment of the present invention. The controlling processor core 801 includes a controlling processor unit 803 and a controlling processor storage system 806.
The controlling processor unit 803 is a unit which serves as a core for carrying out a mathematical operation process of the controlling processor core 801 and includes an instruction set based on an architecture of a microprocessor, and an instruction cache 804 and a data cache 805 are incorporated as primary caches in the controlling processor unit 803. The instruction cache 804 is an instruction cache of, for example, 32 KB, and the data cache 805 is a data cache of, for example, 32 KB.
The controlling processor storage system 806 is a unit for controlling data accessing to the main memory 781 from the controlling processor unit 803, and a secondary cache 807 of 512 KB is incorporated in the controlling processor storage system 806 in order to speed up memory accessing from the controlling processor unit 803.
FIG. 50 is a view showing an example of a configuration of the mathematical operation processor core (#1) 811 in the embodiment of the present invention. The mathematical operation processor core (#1) 811 includes a mathematical operation processor unit 820 and a memory flow controller 822. It is to be noted that description of the mathematical operation processor cores (#2) 812 to (#8) 818 is omitted here because they have a configuration similar to that of the mathematical operation processor core (#1) 811.
The mathematical operation processor unit 820 is a unit which serves as a core for carrying out a mathematical operation process of the mathematical operation processor core (#1) 811 and includes a unique instruction set different from that of the controlling processor unit 803 of the controlling processor core 801. Further, a local store (LS: Local Store) 821 is incorporated in the mathematical operation processor unit 820.
The local store 821 is a memory for exclusive use for the mathematical operation processor unit 820 and is only one memory which can be referred to directly from the mathematical operation processor unit 820. As the local store 821, for example, a memory having a capacity of, for example, 256 Kbytes can be used. It is to be noted that, in order for the mathematical operation processor unit 820 to access a local store on the main memory 781 or the other mathematical operation processor cores (mathematical operation processor cores (#2) 812 to (#8) 818), it is necessary to utilize the memory flow controller 822.
The memory flow controller 822 is a unit for transferring data to and from the main memory 781, the other mathematical operation processor cores and so forth, and is a unit called MFC (Memory Flow Controller). Here, the mathematical operation processor unit 820 issues a request for data transfer or the like to the memory flow controller 822 through an interface called channel.
As a programming model of the multi-core processor 800 described above, various programming models have been proposed. As the most basic model among the programming models, a model wherein a main program is executed on the controlling processor core 801 and sub programs are executed on the mathematical operation processor cores (#1) 811 to (#8) 818 is known. In the embodiment of the present invention, a mathematical operation method of the multi-core processor 800 which uses this model is described in detail with reference to the drawings.
FIG. 51 is a view schematically illustrating a mathematical operation method of the multi-core processor 800 in the embodiment of the present invention. In this example, a case wherein, where the controlling processor core 801 executes a task 784 using data 785, it uses data 787 (part of the data 785) necessary for processing of the task 784 which is part of the task 784 is described as an example.
As shown in the figure, where the controlling processor core 801 executes the task 784 using the data 785, it causes the mathematical operation processor cores to execute a task 786 using the data 787 (part of the data 785) necessary for processing of the task 786 which is part of the task 784. In the embodiment of the present invention, a mathematical operation process is carried out by each mathematical operation processor core for each of frames which form a dynamic picture.
Where the multi-core processor 800 carries out mathematical operation in such a manner as illustrated in the figure, a large amount of mathematical operation can be carried out in comparatively short time making use of the mathematical operation processor cores (#1) 811 to (#8) 818 in parallel, and a comparatively great number of mathematical operation processes can be carried out with a further reduced number of instructions making use of SIMD (Single Instruction/Multiple Data: single instruction/multiple data) mathematical operation on the mathematical operation processor cores (#1) 811 to (#8) 818. It is to be noted that the SIMD mathematical operation is described in detail with reference to FIGS. 55 to 58 and so forth.
FIG. 52 is a view schematically illustrating flows of programs and data in a case wherein mathematical operation is carried out by the multi-core processor 800 in the embodiment of the present invention. Here, while description is given taking the mathematical operation processor core (#1) 811 from among the mathematical operation processor cores (#1) 811 to (#8) 818 as an example, such mathematical operation as described above can be carried out similarly also by the mathematical operation processor cores (#2) 812 to (#8) 818.
First, the controlling processor core 801 sends an instruction to load a mathematical operation processor core program 823 stored in the main memory 781 into the local store 821 of the mathematical operation processor core (#1) 811 to the mathematical operation processor core (#1) 811. Consequently, the mathematical operation processor core (#1) 811 loads the mathematical operation processor core program 823 stored in the main memory 781 into the local store 821.
Then, the controlling processor core 801 issues an instruction to execute a mathematical operation processor core program 825 stored in the local store 821 to the mathematical operation processor core (#1) 811.
Thereafter, the mathematical operation processor core (#1) 811 transfers data 824 necessary for an execution process of the mathematical operation processor core program 825 stored in the local store 821 from the main memory 781 to the local store 821.
Then, the mathematical operation processor core (#1) 811 works data 826 transferred from the main memory 781 based on the mathematical operation processor core program 825 stored in the local store 821, executes a process in accordance with a condition and stores a result of the process into the local store 821.
Then, the mathematical operation processor core (#1) 811 transfers a result of the process executed based on the mathematical operation processor core program 825 stored in the local store 821 from the local store 821 to the main memory 781.
Thereafter, the mathematical operation processor core (#1) 811 issues a notification of an end of the mathematical operation process to the controlling processor core 801.
Now, SIMD mathematical operation carried out using the multi-core processor 800 is described in detail with reference to the drawings. Here, the SIMD mathematical operation is a mathematical operation method wherein a process for a plurality of data is carried out by one instruction.
(a) of FIG. 53 is a view schematically illustrating an outline of the mathematical operation method wherein a instruction for a plurality of data is carried out by an operation for each of the data. The mathematical operation method illustrated in (a) of FIG. 53 is an ordinary mathematical operation method and is called, for example, scalar mathematical operation. For example, a processing result of data “C1” is determined by an instruction to add data “A1” and data “B1.” Also with regard to the other three mathematical operations, an instruction to add data “A2,” “A3” and “A4” and data “B2,” “B3” and “B4” in the same rows is carried out for each process similarly, and by this instruction, the values in the individual rows are subjected to addition processing and results of the processing are determined as data “C2,” “C3” and “C4.” In this manner, in the scalar mathematical operation, as regards processing for a plurality of data, it is necessary to carry out an instruction for each of them.
(b) of FIG. 53 is a view schematically illustrating an outline of the SIMD mathematical operation which is a mathematical operation method wherein a process for a plurality of data is carried out by a single instruction. Here, data brought together for SIMD mathematical operation (data surrounded by each of broken lines 827 and 828) are sometimes called vector data. Further, SIMD mathematical operation carried out using such vector data is sometimes called vector mathematical operation.
For example, by one instruction to add vector data “A1,” “A2,” “A3” and “A4” surrounded by the broken line 827 and vector data “B1,” “B2,” “B3” and “B4” surrounded by the broken line 828, processing results of “C1,” “C2,” “C3” and “C4” (data surrounded by a further broken line 829) are determined. Since, in the SIMD mathematical operation, a process for a plurality of data can be carried out by a single instruction in this manner, a mathematical operation process can be carried out rapidly. Further, the instruction regarding the SIMD mathematical operations is issued by the controlling processor core 801 of the multi-core processor 800, and the mathematical operation process of the plural data according to the instruction is carried out in parallel by the mathematical operation processor cores (#1) 811 to (#8) 818.
On the other hand, for example, processing to add the data “A1” and “B1,” subtract the data “A2” and “B2,” multiply by the data “A3” and “B3” and divide by the data “A4” and “B4” cannot be carried out by the SIMD mathematical operation. In other words, where different processes are to be carried out individually for a plurality of data, processing by the SIMD mathematical operation cannot be carried out.
Now, a particular mathematical operation method of the SIMD mathematical operation in a case wherein the characteristic point extraction process and the optical flow calculation process are carried out is described in detail with reference to the drawings.
FIG. 54 is a view showing an example of a configuration of a program executed by the controlling processor core 801 or the mathematical operation processor core (#1) 811 in the embodiment of the present invention. While processing only by the mathematical operation processor core (#1) 811 is illustrated here, similar processing is carried out also by the mathematical operation processor cores (#2) 812 to (#8) 818.
The controlling processor core 801 executes, as a decode 851, a decode 852, an interlace 853 and a resize 854. The decode 852 is a process of decoding a dynamic picture file. The interlace 853 is a process of deinterlacing decoded frames. The resize 854 is a process of reducing the deinterlaced frames.
Further, the controlling processor core 801 executes, as mathematical operation processor core management 856, instruction transmission 857 and 859 and end notification reception 858 and 860. The instruction transmission 857 and 859 is a process of transmitting an execution instruction of SIMD mathematical operation to the mathematical operation processor cores (#1) 811 to (#8) 818, and the end notification reception 858 and 860 is a process of receiving an end notification of SIMD mathematical operation from the mathematical operation processor cores (#1) 811 to (#8) 818 responsive to the instruction described above. Further, the controlling processor core 801 executes, as camera work detection 861, a camera work parameter calculation process 862. The camera work parameter calculation process 862 is a process of calculating affine transformation parameters for each frame based on optical flows calculated by SIMD mathematical operation by the mathematical operation processor cores (#1) 811 to (#8) 818.
The mathematical operation processor core (#1) 811 executes, as a characteristic point extraction process 863, a Sobel filter (Sobel Filter) process 864, a second moment matrix (Second Moment Matrix) process 865, a separable filter (Separable Filter) process 866, a Harris corner point extraction (Calc Harris) process 867, a dilation process (Dilation) 868 and a re-arrangement section (Sort) 869.
The Sobel filter process 864 is a process of calculating a value dx in the x direction obtained using a filter of P2 (x direction) and a value dy in the y direction obtained using a filter in the Y direction. It is to be noted that the calculation of the value dx in the x direction is described in detail with reference to FIGS. 55 to 58.
The second moment matrix process 865 is a process of calculating the values of dx2, dy2 and dx·dy using dx and dy calculated by the Sobel filter process 864.
The separable filter process 866 is a process of applying a Gaussian filter (shading process) to images of dx2, dy2 and dx·dy calculated by the second moment matrix process 865.
The Harris corner point extraction process 867 is a process of calculating a score of the Harris corner using the values of dx2, dy2 and dx·dy for which the shading process has been carried out by the separable filter process 866. The score S of the Harris corner is calculated, for example, in accordance with the following expression:

S=(dx2×dy2−dx·dy×dx·dy)/(dx2+dy2+ε)

The dilation process 868 is a process of carrying out a shading process for an image configured with the score of the Harris corner calculated by the Harris corner point extraction process 867.
The re-arrangement process 869 is a process of arranging pixels in the descending order of the Harris corner calculated by the Harris corner point extraction process 867, picking up a predetermined number of the pixels having comparatively high scores and extracting the picked up points as characteristic points.
The mathematical operation processor core (#1) 811 executes, as an optical flow (Optical Flow) mathematical operation process 870, a pyramid image (Make Pyramid Image) process 871 and an optical flow calculation (Calc Optical Flow) process 872.
The pyramid image process 871 is a process of successively producing images reduced to a predetermined number of stages from a picture size upon image pickup by a camera, and a produced image is called multiple resolution image.
The optical flow calculation process 872 is a process of calculating optical flows regarding the smallest image from among multiple resolution images produced by the pyramid image process 871 and calculating optical flows again regarding an image of a resolution higher by one rank using a result of the calculation, and the series of processes is carried out repetitively until the largest image is reached.
In this manner, for example, as regards the characteristic point extraction process carried out by the characteristic point extraction unit 121 shown in FIG. 2 and so forth and the optical flow calculation process carried out by the optical flow calculation unit 122, a processing result can be determined by parallel processing by SIMD mathematical operation using the multi-core processor 800. It is to be noted that the characteristic point extraction process and the optical flow calculation process illustrated in FIG. 54 and so forth are an example, and SIMD mathematical operation by the multi-core processor 800 may be carried out using some other process which is configured from various filter processes, threshold value processes and so forth for images which form a dynamic picture.
FIG. 55 is a view schematically illustrating a data structure and a flow of processes in a case wherein a filtering process is carried out using the Sobel filter 830 for image data stored in the main memory 781 in the embodiment of the present invention (image data corresponding to one frame which forms a dynamic picture picked up by a camera). It is to be noted that image data stored in the main memory 781 in the figure are illustrated in a simplified form wherein the number of pixels in the horizontal direction is 32. Further, the Sobel filter 830 is a 3×3 edge extraction filter. As shown in the figure, a filtering process using the Sobel filter 830 is carried out for image data stored in the main memory 781, and a result of the filtering process is outputted. In this example, an example wherein four filtering results are obtained at a time using SIMD mathematical operation is described.
FIG. 56 is a view schematically illustrating flows of data in a case wherein SIMD mathematical operation is carried out using the Sobel filter 830 for image data stored in the main memory 781 in the embodiment of the present invention. First, a predetermined number of lines (for example, three lines) including the first line of image data stored in the main memory 781 are DMA (Direct Memory Access) transferred to the first buffer 831 provided in the local store 821 of a mathematical operation processor core, and a predetermined number of lines displaced downwardly by one line from the lines DMA transferred to the first buffer 831 are DMA transferred to a second buffer 832. By using the double buffers in this manner, delay by the DMA transfer can be covered up.
FIG. 57 is a view schematically illustrating a vector production method for producing nine vectors from image data stored in the first buffer 831 in a case wherein the Sobel filter 830 in the embodiment of the present invention is used to carry out a filtering process. After DMA transfer is carried out as illustrated in FIG. 56, nine vectors are produced from image data stored in the first buffer 831. In particular, vector data 841 is produced from four data from the left corner in one line of image data stored in the first buffer 831, and vector data 842 is produced from four data displaced by one to the right side from the four data. Similarly, vector data 843 is produced from four data displaced by one to the right side from the latter four data. Also in the second line and the third line, vector data 844 to 849 are produced each from four data similarly.
FIG. 58 is a view schematically illustrating a vector mathematical operation method for carrying out vector mathematical operation using a SIMD instruction with regard to the vector data 841 to 849 in a case wherein a filtering process is carried out using the Sobel filter 830 in the embodiment of the present invention. In particular, SIMD mathematical operation is carried out successively for the vector data 841 to 843 to determine a vector A. In this SIMD mathematical operation, SIMD mathematical operation of ‘“−1”×“vector data 841”’ is executed first. Then, SIMD mathematical operation of ‘“0”×“vector data 842”’ is executed, and then SIMD mathematical operation of ‘“1”×“vector data 843”’ is executed. Here, ‘“0”×“vector data 842”’ can be omitted because it is decided that the result of the mathematical operation is “0.” Further, ‘“1”×“vector data 843”’ can be omitted because it is decided that the result of the mathematical operation has a value equal to that of the “vector data 843.”
Then, an addition process of a result of the mathematical operation of ‘“−1”×“vector data 841”’ and a result of the mathematical operation of ‘“0”×“vector data 842”’ is executed by SIMD mathematical operation, and then an addition process of a result of the addition process and a result of the mathematical operation of ‘“1”×“vector data 843”’ is executed by SIMD mathematical operation. Here, mathematical operation of a data structure of, for example, “vector data 1”×“vector data 2”+“vector data 3” can be executed by SIMD mathematical operation. Therefore, in the mathematical operation of the vector A, for example, the SIMD mathematical operation of ‘“0”×“vector data 842”’ and ‘“1”×“vector data 843”’ may be omitted while ‘“−1”×“vector data 841”’+“vector data 843”’ is executed by a single operation of SIMD mathematical operation.
Similarly, SIMD mathematical operation is carried out with regard to the vector data 844 to 846 to determine a vector B, and SIMD mathematical operation is carried out with regard to the vector data 847 to 849 to determine a vector C.
Then, SIMD mathematical operation is carried out with regard to the vectors A to C determined by the SIMD mathematical operation to determine a vector D. In this manner, by carrying out SIMD mathematical operation, a number of results equal to the number of vector components (in this example, four data) can be obtained at a time.
After the vector D is calculated, similar processing is repetitively executed while the position of data to be extracted from among image data stored in the first buffer 831 illustrated in FIG. 56 is successively shifted by one to the right side to successively carry out calculation of the vector D. Then, if the processing up to the right end of the image data stored in the first buffer 831 shown in FIG. 56 comes to an end, then results of the processing are DMA transferred to the main memory 781.
Then, the predetermined number of lines displaced by one line from the lines DMA transferred to the second buffer 832 from among the image data stored in the main memory 781 are DMA transferred to the first buffer 831, and the processing described above is carried out repetitively for the image data stored in the second buffer 832. Then, similar processing is carried out repetitively until the lower end line from among the lines of the image data stored in the main memory 781 is reached.
Similarly, speeding up of the processing for characteristic point extraction and optical flow calculation can be implemented by carrying out most part of the processing by SIMD mathematical operation.
FIG. 59 is a view schematically illustrating flows of a camera work parameter calculation process in the embodiment of the present invention in a time series. For example, by carrying out SIMD mathematical operation using the multi-core processor 800 as described above, decoding and analysis processes regarding a dynamic picture can be carried out in parallel. Therefore, it is possible to reduce the analysis time for one frame which forms a dynamic picture in comparison with the decoding time.
For example, in the figure, t1 denotes a period of time required for a decoding process of one frame, which forms a dynamic picture, by the controlling processor core 801, t2 a period of time required for a characteristic point extraction process of one frame, which forms a dynamic picture, by the mathematical operation processor cores (#1) 811 to (#8) 818, t3 a period of time required for an optical flow calculation process for one frame, which forms a dynamic picture, by the mathematical operation processor cores (#1) 811 to (#8) 818, and t4 a period of time required for a camera work detection process of one frame, which forms a dynamic picture, by the controlling processor core 801. It is to be noted that t5 denotes a period of time required for a camera work detection process for one frame, which forms a dynamic picture, by the controlling processor core 801 and the mathematical operation processor cores (#1) 811 to (#8) 818. Further, t6, t6 denotes a period of time required for a process for managing the mathematical operation processor cores (#1) 811 to (#8) 818 by the controlling processor core 801. For example, t1 can be set to “25.0 ms,” t2 to “7.9 ms,” t3 to “6.7 ms,” t4 to “1.2 ms,” and t5 to “15.8 ms.”
Now, a case wherein a dynamic picture content which uses a data file in the embodiment of the present invention is reproduced is described in detail with reference to the drawings.
(a) of FIG. 60 is a top plan view schematically showing a blu-ray disk (Blu-ray Disc (registered trademark)) 880 which is an example of a recording medium, and (b) of FIG. 60 is a view schematically showing data 881 to 884 recorded on the blu-ray disk 880. On the blu-ray disk 880, for example, together with the dynamic picture content 882 which is a dynamic picture picked up by a camera or the like, the subtitle 883 of the dynamic picture content 882 and the metadata 884 obtained by analysis of the dynamic picture content 882 (for example, the metadata file illustrated in (b) of FIG. 4 and the relative relationship metadata file illustrated in FIG. 5), the Java (registered trademark) program 881 for dynamic picture reproduction in the embodiment of the present invention is recorded.
(c) of FIG. 60 is a view schematically showing an internal configuration of a blu-ray reproduction machine (Blu-ray Disc Player) 890 which can reproduce the blu-ray disk 880. Here, since the blu-ray reproduction machine 890 which can reproduce a blu-ray disk incorporates a Java (registered trademark) VM (Java (registered trademark) virtual machine) and a library 893 as a standard function together with a CPU 891 and an OS 892, it can execute a Java (registered trademark) program. Therefore, if the blu-ray disk 880 is loaded into the blu-ray reproduction machine 890, then the blu-ray reproduction machine 890 can load and execute the Java (registered trademark) program 881. Consequently, in a case wherein the blu-ray reproduction machine 890 reproduces the dynamic picture content 882, the metadata 884 can be used to carry out dynamic picture production in the embodiment of the present invention. In other words, dynamic picture production in the embodiment of the present invention can be implemented on all blu-ray reproduction machines without using PC software for exclusive use or the like.
As described above, in the embodiment of the present invention, when a plurality of dynamic pictures are reproduced, since images corresponding to frames preceding to an image displayed currently are displayed while being synthesized with the current image, the background or the like picked up within at least a partial time zone can be accessed readily together with an object centered in the image pickup. Therefore, for example, if it is desired to watch the background or the like picked up within at least a partial time zone again, then even if a rewinding operation, a search operation or the like is not carried out, the background or the like can be watched simultaneously with the image currently displayed. Further, when a dynamic picture picked up by a camera is accessed, the contents of the dynamic picture can be grasped readily. Furthermore, where a dynamic picture which includes the same object, since, at a location of the object, a plurality of dynamic pictures are displayed in an overlapping relationship, a relative relationship of the plural dynamic pictures can be grasped readily. Further, since an image corresponding to a preceding frame is fixed, an accessing person can recognize a spatial expanse readily.
In particular, a plurality of dynamic pictures can be developed spatially and enjoyed making use of frames in the past. Consequently, since such an enjoying method as, for example, to complete a panorama image while a plurality of dynamic pictures are reproduced can be provided, the accessing person can enjoy the dynamic pictures with much interest. Further, since, as regards a current image, images in states before the current image is stored into the image memory 250 can be successively displayed, a comparatively clean image can be displayed.
Further, while, in the description of the embodiment of the present invention, an example wherein affine transformation parameters detected in advance are used to carry out reproduction and display is described, affine transformation parameters may be calculated upon reproduction such that the calculated affine transformation parameters are used for reproduction and display. For example, by calculating affine transformation parameters by SIMD mathematical operation using a multi-core processor, it is possible to calculate affine transformation parameters for one frame within processing time for decoding of one frame. Consequently, even where a dynamic picture with regard to which affine transformation parameters are not calculated is to be reproduced, it is possible to carry out dynamic picture reproduction while affine transformation parameters are calculated, and therefore, enjoyment in spatial development of a dynamic picture can be carried out rapidly.
Further, in the description of the embodiment of the present invention, an example is described wherein a plurality of dynamic picture files are stored into the dynamic picture storage section 200 and affine transformation parameters corresponding to the dynamic pictures are stored as a metadata file in an associated relationship with the corresponding dynamic pictures and frames into the metadata storage section 210 and besides relative relationship information regarding the plural dynamic pictures is stored into the relative relationship information storage section 220, a dynamic picture, affine transformation parameters corresponding to the dynamic picture and relative relationship information regarding the dynamic picture may be recorded in an associated relationship with each other as a dynamic picture file into a dynamic picture storage section such that, upon reproduction, the information is extracted from the dynamic picture file and used.
Further, for example, in a case wherein a dynamic picture picked up with SD (Standard Definition) picture quality is enjoyed or a dynamic picture picked up using a dynamic picture storage function of a digital still camera or a portable telephone set or the like is enjoyed on a high definition TV (television) receiver, if the dynamic picture is displayed in a state of an original image size, then the number of pixels of the high definition TV system cannot sometimes be made most of. Further, if enlarged display is carried out, then roughness of an image frequently stands out. Thus, if the display described in the description of the embodiment of the present invention is used, then roughness of an image does not stand out and enjoyment which makes use of the number of pixels of the high definition TV system can be achieved.
It is to be noted that a synthesized image synthesized by the image synthesis section 240 may be recorded on a recording medium or the like such that it is used for other reproduction or display. Further, while, in the description of the embodiment of the present invention, an example wherein synthesized images corresponding to frames preceding to a current frame are displayed is described, such synthesized images may be successively erased as time passes. In this instance, such arrangement as to erase the synthesized images leaving afterimages may be applied. Further, such arrangement as to display an image corresponding to a current frame in color but display synthesized images corresponding to frames preceding to the current frame such that the display thereof gradually changes from the color display to sepia color display as time passes may be applied.
Further, while, in the description of the embodiment of the present invention, description is given taking an image processing apparatus wherein an image synthesized by the image synthesis section is displayed on the display section as an example, the embodiment of the present invention can be applied to an image processing apparatus which includes image outputting means for outputting image information for allowing the image synthesized by the image synthesis section to be displayed on another image display apparatus. Further, the embodiment of the present invention can be applied to a dynamic picture reproduction apparatus which can reproduce a dynamic picture, an image pickup apparatus such as a digital video camera which can reproduce a picked up dynamic picture and so forth.
Further, while, in the description of the embodiment of the present invention, a dynamic picture picked up by a camera is described, the embodiment of the present invention can be applied, for example, also to a dynamic picture after edited in a case wherein a dynamic picture picked up by a camera is edited, a dynamic picture in which an animation or the like is synthesized and so forth. Further, while, in the description of the embodiment of the present invention, an example wherein some or all of history images are displayed is described, only a plurality of transformed current images may be displayed. In other words, only a plurality of current images stored last into the image memory may be successively displayed.
It is to be noted that the embodiment of the present invention indicates an example for carrying out the present invention and has a corresponding relationship to invention specifying matters in the claims as described below. However, the present invention is not limited to this, but various modifications can be applied without departing from the subject matter of the present invention.
In particular, in claim 1, the dynamic picture storage means corresponds, for example, to the dynamic picture storage section 200. Meanwhile, the transformation information storage means corresponds, for example, to the metadata storage section 210. Further, the relative relationship information storage means corresponds, for example, to the relative relationship information storage section 220. Further, the image storage means corresponds, for example, to the image memory 250. Further, the outputting means corresponds, for example, to the display section 290. Further, the object image transformation information calculation means corresponds, for example, to the object image transformation information calculation section 190. Further, the image transformation means corresponds, for example, to the image transformation section 150. Further, the image synthesis means corresponds, for example, to the image synthesis section 240. Further, the control means corresponds, for example, to the display control section 280.
Further, in claim 2, the correction value calculation means corresponds, for example, to the correction value calculation section 230.
Further, in claim 3, the operation acceptance means corresponds, for example, to the operation acceptance section 160. Further, the selection means corresponds, for example, to the coincident point selection section 170. Further, the relative relationship information calculation means corresponds, for example, to the relative relationship information calculation section 180. Further, the recording control means corresponds, for example, to the recording control section 130.
Further, in claim 4, the coincident point search means corresponds, for example, to the coincident point search section 340. Further, the relative relationship information calculation means corresponds, for example, to the relative relationship information calculation section 180. Further, the recording control means corresponds, for example, to the recording control section 130.
Further, in claim 5, the outputting region extraction means corresponds, for example, to the display region extraction section 260.
Further, in claim 6, the dynamic picture inputting means corresponds, for example, to the dynamic picture inputting section 110. Further, the transformation information calculation means corresponds, for example, to the camera work detection section 120. Further, the coincident point search means corresponds, for example, to the coincident point search section 340. Further, the relative relationship information calculation means corresponds, for example, to the relative relationship information calculation section 180. Further, the image storage means corresponds, for example, to the image memory 250. Further, the outputting means corresponds, for example, to the display section 290. Further, the object image transformation information calculation means corresponds, for example, to the object image transformation information calculation section 190. Further, the image transformation means corresponds, for example, to the image transformation section 150. Further, the image synthesis means corresponds, for example, to the image synthesis section 240. Further, the control means corresponds, for example, to the display control section 280.
Further, in claim 8, the characteristic point extraction means corresponds, for example, to the characteristic point extraction unit 121. Further, the movement amount calculation means corresponds, for example, to the optical flow calculation unit 122. Further, the transformation parameter calculation means corresponds, for example, to the camera work parameter calculation unit 123.
Further, in claim 11, the dynamic picture acquisition means corresponds, for example, to the file acquisition section 140. Further, the image storage means corresponds, for example, to the image memory 250. Further, the outputting means corresponds, for example, to the display section 290. Further, the object image transformation information calculation means corresponds, for example, to the object image transformation information calculation section 190. Further, the image transformation means corresponds, for example, to the image transformation section 150. Further, the image synthesis means corresponds, for example, to the image synthesis section 240. Further, the control means corresponds, for example, to the display control section 280.
Further, in claim 12, the dynamic picture storage means corresponds, for example, to the dynamic picture storage section 200. Further, the transformation information storage means corresponds, for example, to the metadata storage section 210. Further, the relative relationship information storage means corresponds, for example, to the relative relationship information storage section 220. Further, the object image transformation information calculation means corresponds, for example, to the object image transformation information calculation section 190. Further, the image transformation means corresponds, for example, to the image transformation section 150. Further, the image storage means corresponds, for example, to the image memory 250. Further, the control means corresponds, for example, to the display control section 280.
Further, in claim 13, the image synthesis means corresponds, for example, to the image synthesis section 240. Further, the relative position information means corresponds, for example, to the object image transformation information calculation section 190 and the image transformation section 150.
Further, in claim 14, the dynamic picture storage means corresponds, for example, to the dynamic picture storage section 200. Further, the transformation information storage means corresponds, for example, to the metadata storage section 210. Further, the relative relationship information storage means corresponds, for example, to the relative relationship information storage section 220. Further, the image storage means corresponds, for example, to the image memory 250. Further, the display means corresponds, for example, to the display section 290. Further, the object image transformation information calculation means corresponds, for example, to the object image transformation information calculation section 190. Further, the image transformation means corresponds, for example, to the image transformation section 150. Further, the image synthesis means corresponds, for example, to the image synthesis section 240. Further, the control means corresponds, for example, to the display control section 280.
Further, in claim 15 or 16, the object image transformation information calculation step corresponds, for example, to the step S973. Further, the image transformation step corresponds, for example, to the step S977. Further, the image synthesis step corresponds, for example, to the step S978. Further, the control step corresponds, for example, to the step S984.
It is to be noted that the processing procedure described in the description of the embodiment of the present invention may be grasped as a method which has the series of steps described above or may be grasped as a program for causing a computer to execute the series of steps or a recording medium on which the program is stored.

## Claims

1. An image processing apparatus for processing a first dynamic image and a second dynamic image, each of the first dynamic image and the second dynamic image including a plurality of frames, the image processing apparatus comprising:
circuitry configured to
transform each frame of the first dynamic image to create a first transformed dynamic image, the transforming based on a first transformation information that represents a relative positional relationship between each frame of the first dynamic image;
transform each frame of the second dynamic image to create a second transformed dynamic image, the transforming based on a relative relationship information and a second transformation information, the relative relationship information representing a relative positional relationship between at least one frame including the first dynamic image and at least one frame including the second dynamic image, and the second transformation information representing a relative positional relationship between each frame of the second dynamic image; and
synthesize the first transformed dynamic image and the second transformed dynamic image to create a synthesized dynamic image by aligning, for each frame of the first transformed dynamic image and the second transformed dynamic image, a position in the first transformed dynamic image with a position in the second transformed dynamic image.

2. The image processing apparatus according to claim 1, wherein the circuitry is further configured to calculate the relative relationship information.

3. The image processing apparatus according to claim 1, wherein the circuitry is further configured to synthesize the first transformed dynamic image and the second transformed dynamic image to create a time synthesized dynamic image by aligning, for each frame of the first transformed dynamic image and the second transformed dynamic image, a time axis of the first transformed dynamic image with a time axis of the second transformed dynamic image.

4. The image processing apparatus according to claim 1, wherein the circuitry is further configured to calculate a correction value to correct at least one of the first transformed dynamic image and the second transformed dynamic image.

5. The image processing apparatus according to claim 1, wherein the circuitry is further configured to, for at least one frame of the first transformed dynamic image and the second transformed dynamic image, designate the position of the first transformed dynamic image and position of the second transformed dynamic image that are aligned when the first transformed dynamic image and the second transformed dynamic image are synthesized.

6. The image processing apparatus according to claim 1, wherein the circuitry is further configured to
search for coincident points in each frame of the first dynamic image and the second dynamic image; and
calculate the relative relationship information between each frame of the first dynamic image representing the relative positional relationship between at least one frame including the first dynamic image based on the coincident points.

7. The image processing apparatus according to claim 1, wherein
the circuitry is further configured to
extract an output image from an output region;
overwrite the output image with the synthesized dynamic image as a new output image; and
successively output the new output image in the output region.

8. The image processing apparatus according to claim 1, wherein
the circuitry is further configured to
extract characteristic points from the first dynamic image and the second dynamic image;
calculate a movement amount regarding the first dynamic image and the second dynamic image with respect to each of the characteristic points; and
calculate transformation parameters based on the calculated movement amount to calculate the first transformation information and the second transformation information.

9. The image processing apparatus according to claim 1, wherein the circuitry includes a multi-core processor, and
the multi-core processor is configured to perform parallel processing to transform each frame of the first dynamic image, transform each frame of the second dynamic image, and synthesize the first transformed dynamic image and the second transformed dynamic image to create the synthesized dynamic image.

10. The image processing apparatus according to claim 1, wherein the circuitry is configured to create the synthesized dynamic image so that each frame of the synthesized dynamic image is larger than each frame of the first dynamic image and the second dynamic image.

11. The image processing apparatus according to claim 1, wherein the circuitry is configured to create the synthesized dynamic image so that, with each succeeding frame of the synthesized dynamic image, an area of the synthesized dynamic image becomes larger.

12. A method for processing a first dynamic image and a second dynamic image, each of the first dynamic image and the second dynamic image including a plurality of frames, the method comprising:
transforming, by circuitry, each frame of the first dynamic image to create a first transformed dynamic image, the transforming based on a first transformation information that represents a relative positional relationship between each frame of the first dynamic image;
transforming, by the circuitry, each frame of the second dynamic image to create a second transformed dynamic image, the transforming based on a relative relationship information and a second transformation information, the relative relationship information representing a relative positional relationship between at least one frame including the first dynamic image and at least one frame including the second dynamic image, and the second transformation information representing a relative positional relationship between each frame of the second dynamic image; and
synthesizing, by the circuitry, the first transformed dynamic image and the second transformed dynamic image to create a synthesized dynamic image by aligning, for each frame of the first transformed dynamic image and the second transformed dynamic image, a position in the first transformed dynamic image with a position in the second transformed dynamic image.

13. The method according to claim 12, further comprising:
creating, by the circuitry, the synthesized dynamic image so that each frame of the synthesized dynamic image is larger than each frame of the first dynamic image and the second dynamic image.

14. The method according to claim 12, further comprising:
creating, by the circuitry, the synthesized dynamic image so that, with each succeeding frame of the synthesized dynamic image, an area of the synthesized dynamic image becomes larger.

15. The method according to claim 12, further comprising:
searching for coincident points in each frame of the first dynamic image and the second dynamic image; and
calculating, by the circuitry, the relative relationship information between each frame of the first dynamic image representing the relative positional relationship between at least one frame including the first dynamic image based on the coincident points.

16. The method according to claim 12, further comprising:
extracting an output image from an output region;
overwriting the output image with the synthesized dynamic image as a new output image; and
successively outputting the new output image in the output region.

17. The method according to claim 12, further comprising:
extracting characteristic points from the first dynamic image and the second dynamic image;
calculating, by the circuitry, a movement amount regarding the first dynamic image and the second dynamic image with respect to each of the characteristic points; and
calculating, by the circuitry, transformation parameters based on the calculated movement amount to calculate the first transformation information and the second transformation information.

18. A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to execute a process for a first dynamic image and a second dynamic image, each of the first dynamic image and the second dynamic image including a plurality of frames, the process comprising:
transforming each frame of the first dynamic image to create a first transformed dynamic image, the transforming based on a first transformation information that represents a relative positional relationship between each frame of the first dynamic image;
transforming each frame of the second dynamic image to create a second transformed dynamic image, the transforming based on a relative relationship information and a second transformation information, the relative relationship information representing a relative positional relationship between at least one frame including the first dynamic image and at least one frame including the second dynamic image, and the second transformation information representing a relative positional relationship between each frame of the second dynamic image; and
synthesizing the first transformed dynamic image and the second transformed dynamic image to create a synthesized dynamic image by aligning, for each frame of the first transformed dynamic image and the second transformed dynamic image, a position in the first transformed dynamic image with a position in the second transformed dynamic image.

19. The non-transitory computer-readable medium according to claim 18, wherein the process further comprises creating the synthesized dynamic image so that each frame of the synthesized dynamic image is larger than each frame of the first dynamic image and the second dynamic image.

20. The non-transitory computer-readable medium according to claim 18, wherein the process further comprises creating the synthesized dynamic image so that, with each succeeding frame of the synthesized dynamic image, an area of the synthesized dynamic image becomes larger.