WO2009081732A1 - 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム - Google Patents

画像処理装置、動画再生装置、これらにおける処理方法およびプログラム Download PDF

Info

Publication number
WO2009081732A1
WO2009081732A1 PCT/JP2008/072402 JP2008072402W WO2009081732A1 WO 2009081732 A1 WO2009081732 A1 WO 2009081732A1 JP 2008072402 W JP2008072402 W JP 2008072402W WO 2009081732 A1 WO2009081732 A1 WO 2009081732A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
captured
captured image
history
unit
Prior art date
Application number
PCT/JP2008/072402
Other languages
English (en)
French (fr)
Inventor
Yasutaka Fukumoto
Qihong Wang
Masatomo Kurata
Shingo Tsurumi
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP08865920A priority Critical patent/EP2180699A4/en
Priority to US12/524,777 priority patent/US8515256B2/en
Publication of WO2009081732A1 publication Critical patent/WO2009081732A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/16Spatio-temporal transformations, e.g. video cubism
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor

Definitions

  • the present invention relates to an image processing apparatus, and more particularly, to an image processing apparatus capable of reproducing a moving image, a moving image reproducing apparatus, a processing method in these, and a program for causing a computer to execute the method.
  • the moving image shot in this way can be reproduced on the display using a moving image reproducing device at home, for example.
  • a moving image reproducing device at home For example, when browsing a moving image shot mainly about his / her child, a moving image mainly including his / her child is reproduced.
  • the playback time is long and the same target video is being browsed continuously, the viewer's interest in the video being played may decrease as the playback time elapses. Therefore, in order to increase the interest of the viewer, it may be possible to display other images related to the currently displayed image.
  • an image display method has been proposed in which a video index (still image) is scroll-displayed along with the moving image along with the moving image (see, for example, Japanese Patent Application Laid-Open No. 11-289517 (FIG. 7)).
  • past, present, and future still images based on moving images are displayed as video indexes
  • past, present, and future still images can be viewed together with the currently displayed video. Can do. For this reason, for example, when viewing a video taken at a kindergarten event where a child attends a school, even if his child is displayed as the current video, as a still or past still image, There are cases where the scenery of the event related to the current video is displayed. In this case, since the scene of the event can be seen while watching the state of the child, it becomes easy to grasp the state of the event, and the viewer's interest can be increased.
  • each image composing the moving image is converted based on the motion information of the imaging device so that the state around the central person can be properly grasped while browsing the central person being photographed. It is conceivable that the converted images are reproduced while being sequentially synthesized.
  • the photographer quickly moves the imaging apparatus in the left-right direction, there is a possibility that appropriate motion information cannot be detected.
  • the photographer stops the recording operation of the captured image and then resumes the recording operation with a different scene as the subject the appropriate motion information can be detected before and after the scene change. It may not be possible.
  • the present invention has an object of easily grasping the contents of a moving image when browsing the moving image taken by the imaging device.
  • a first aspect of the present invention is a moving image storage unit that stores a captured moving image captured by an imaging device, and a first imaging that constitutes the captured moving image.
  • Conversion information storage means for storing, for each second captured image, conversion information for converting a second captured image positioned after the first captured image on the time axis of the captured moving image on the time axis of the image
  • An image holding unit that holds a history image including each captured image located before the second captured image on the time axis, and a feature amount extracting unit that extracts a feature amount related to the second captured image
  • Image conversion means for converting the second captured image based on the conversion information
  • determination means for determining whether or not the second captured image and the history image need to be combined based on the extracted feature amount; ,Up If the determination means determines that the second captured image and the history image are to be combined, the converted second captured image is combined with the history image held in the image holding means to create a new one.
  • the determination unit determines that the second captured image and the history image are not combined, the history image stored in the image holding unit is added to the history image.
  • the feature amount related to the second captured image is extracted, the second captured image is converted based on the conversion information, and the necessity of combining the second captured image and the history image is determined based on the feature amount.
  • the converted second captured image is combined with the history image to obtain a new history image, and the second captured image and the history image are combined.
  • the second captured image is held in the image holding unit without combining the second captured image with the history image.
  • the image synthesizing unit holds the history held in the image holding unit when the determining unit determines not to synthesize the second captured image and the history image.
  • the image may be erased and the second captured image may be held in the image holding unit as a new history image.
  • the history image is erased, and the second captured image is held as a new history image in the image holding unit.
  • the image synthesizing unit is arranged to arrange the history image in the image holding unit when the determining unit determines not to synthesize the second captured image and the history image.
  • the second captured image may be arranged at a position different from that in the image holding unit and held as a new history image.
  • the second captured image is arranged at a position different from the arrangement position of the history image to obtain a new history image. Bring.
  • the feature amount extraction unit extracts the feature amount by detecting a constant change in each image constituting the captured moving image, and the determination unit includes the extracted feature.
  • the determination unit includes the extracted feature.
  • the conversion information includes elements relating to enlargement / reduction, translational movement, and rotation
  • the feature amount extraction means is a translation component based on the conversion information related to the second captured image.
  • the rotation component and the enlargement / reduction component are extracted, and the determination means compares at least one of the extracted translation component, the rotation component, and the enlargement / reduction component with a predetermined threshold value to compare the synthesized component.
  • the necessity may be determined.
  • the translation component, the rotation component, and the enlargement / reduction component are extracted based on the conversion information related to the second captured image, and at least one of the extracted translation component, rotation component, and enlargement / reduction component and a predetermined threshold value are extracted. Is brought about to determine the necessity of synthesis.
  • the feature amount extraction unit relates to each captured image from a captured image located a predetermined number of times before the second captured image on the time axis to the second captured image. Based on the conversion information, the translation component, the rotation component, and the enlargement / reduction component are extracted, and the average values of the extracted translation component, rotation component, and enlargement / reduction component are respectively calculated. The necessity of the synthesis may be determined by comparing at least one of average values of the translation component, the rotation component, and the enlargement / reduction component with a predetermined threshold value.
  • the translation component, the rotation component, and the enlargement / reduction component are calculated based on the conversion information related to each captured image from the captured image located at a predetermined number of times before the second captured image on the time axis to the second captured image. And calculating average values of the extracted translation component, rotation component, and enlargement / reduction component, respectively, and calculating at least one of the calculated average values of the translation component, rotation component, and enlargement / reduction component, and a predetermined threshold value.
  • the feature amount extraction unit relates to each captured image from a captured image located a predetermined number of times before the second captured image on the time axis to the second captured image. Based on the conversion information, the translation component, the rotation component, and the enlargement / reduction component are extracted, and the integrated values of the extracted translation component, rotation component, and enlargement / reduction component are respectively calculated. The necessity of the synthesis may be determined by comparing at least one integrated value of the translation component, the rotation component, and the enlargement / reduction component with a predetermined threshold value.
  • the translation component, the rotation component, and the enlargement / reduction component are calculated based on the conversion information relating to each captured image from the captured image located before the second captured image to the second captured image on the inter-axis. Extracting, calculating an integrated value of the extracted translation component, rotation component, and enlargement / reduction component, respectively, and calculating at least one of the calculated integration values of the translation component, rotation component, and enlargement / reduction component, and a predetermined threshold value. By comparing the above, it is possible to determine the necessity of synthesis.
  • a second aspect of the present invention provides a moving image storage unit that stores a captured moving image captured by the imaging apparatus, and the time axis of the captured moving image based on the first captured image that constitutes the captured moving image.
  • Conversion information storage means for storing, for each second captured image, conversion information for converting a second captured image located after one captured image, and more than the second captured image on the time axis.
  • Image holding means for holding a history image including each captured image located in front, and synthesis of the second captured image and the history image based on an elapsed time since the history image was held in the image holding means
  • Determining means for determining necessity of the image, image converting means for converting the second captured image based on the conversion information, and determining that the second captured image and the history image are synthesized by the determining means.
  • the converted second captured image is combined with the history image held in the image holding means and is held in the image holding means as a new history image.
  • the second captured image is combined with the history image held in the image holding unit without combining the second captured image with the second captured image.
  • An image processing apparatus, an image processing method, and a program for causing a computer to execute the image processing apparatus comprising:
  • the converted second captured image is combined with the history image to obtain a new history image, and the second captured image and the history image are combined.
  • the second captured image is held in the image holding unit without combining the second captured image with the history image.
  • a moving image storage unit for storing a captured moving image captured by the imaging device, and the time axis of the captured moving image based on the first captured image constituting the captured moving image.
  • Conversion information storage means for storing, for each second captured image, conversion information for converting a second captured image located after one captured image, and more than the second captured image on the time axis.
  • An image holding unit that holds a history image including each captured image located in front, a feature amount extracting unit that extracts a feature amount related to the second captured image, and the conversion information based on the extracted feature amount Conversion information correcting means for correcting, image converting means for converting the second captured image based on the corrected conversion information, and the history image held in the image holding means
  • the feature amount related to the second captured image is extracted, the conversion information is corrected based on the extracted feature amount, the second captured image is converted based on the corrected conversion information, and the history image The second captured image after the conversion is combined and the image holding means holds it as a new history image.
  • the conversion information correction unit determines whether or not the conversion information needs to be corrected by comparing the extracted feature amount with a predetermined threshold, and corrects the conversion information. When it is determined that the conversion information is necessary, the conversion information is corrected, and when the conversion information is corrected, the image conversion unit converts the second captured image based on the corrected conversion information. If the conversion information is not corrected, the second captured image may be converted based on the conversion information. Thus, by comparing the extracted feature amount with a predetermined threshold value, it is determined whether or not the conversion information needs to be corrected. If it is determined that the conversion information needs to be corrected, the conversion information is corrected and converted. When the information is corrected, the second captured image is converted based on the corrected conversion information, and when the conversion information is not corrected, the second captured image is converted based on the conversion information. Bring about an effect.
  • the conversion information correction means may correct the conversion information to predetermined conversion information when it is determined that the conversion information needs to be corrected. Thereby, when it is determined that conversion information needs to be corrected, the conversion information is corrected to predetermined conversion information.
  • the conversion information correction unit relates to a captured image located in the forward direction of the second captured image on the time axis when it is determined that the conversion information needs to be corrected. You may make it correct
  • a feature amount extracting means for extracting a feature amount relating to a captured image that constitutes a captured moving image captured by an imaging device, and a composite image division based on the extracted feature amount.
  • the captured image is combined with the composite image that has already been formed based on the motion information of the imaging device at the time of imaging.
  • an image composition means for creating a new composite image different from the composite image already formed based on the motion information when it is determined by the determination means to divide the composite image.
  • the feature amount related to the captured image constituting the captured moving image captured by the imaging device is extracted, the necessity of dividing the composite image is determined based on the extracted feature amount, and the composite image is determined not to be divided. If it is determined that the captured image is synthesized with the synthesized image already formed based on the motion information and the synthesized image is divided, the synthesized image already formed based on the motion information Has the effect of creating different new composite images.
  • a moving image storage unit for storing a captured moving image captured by the imaging apparatus, and the time axis of the captured moving image with respect to the first captured image constituting the captured moving image.
  • Conversion information storage means for storing, for each second captured image, conversion information for converting a second captured image located after one captured image, and more than the second captured image on the time axis.
  • An image holding unit that holds a history image including each captured image located in front, a feature amount extracting unit that extracts a feature amount related to the second captured image, and the second captured image based on the conversion information
  • An image converting means for converting; a determining means for determining whether or not to synthesize the second captured image and the history image based on the extracted feature quantity; and the second captured image and the above by the determining means.
  • Image synthesizing means for holding the two captured images in the image holding means, and display control means for sequentially displaying the new history image held in the image holding means or the second captured image on the display means. And a processing method thereof and a program for causing a computer to execute the method.
  • the feature amount related to the second captured image is extracted, the second captured image is converted based on the conversion information, and the necessity of combining the second captured image and the history image is determined based on the feature amount.
  • the converted second captured image is combined with the history image to obtain a new history image, and the second captured image and the history image are combined. If it is determined that the second captured image is not combined with the history image, the second captured image is held in the image holding unit without combining the second captured image with the history image, and the new history image held in the image holding unit or the second The captured images are sequentially displayed.
  • the present invention when viewing a moving image taken by an imaging device, it is possible to achieve an excellent effect that the content of the moving image can be easily grasped.
  • FIG. 1 is a block diagram illustrating a functional configuration example of an image processing apparatus 100 according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a functional configuration example of the camera work detection unit 120 according to the embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a functional configuration example of the feature amount extraction unit 150 according to the embodiment of the present invention.
  • FIG. 4 is a diagram schematically showing a case where images corresponding to the respective frames constituting the moving image are arranged in time series.
  • FIG. 5 is a diagram schematically showing each file recorded in the moving image storage unit 200 and the metadata storage unit 210 in the embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example of an image corresponding to a frame constituting a moving image.
  • FIG. 1 is a block diagram illustrating a functional configuration example of an image processing apparatus 100 according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a functional configuration example of the camera work detection unit 120 according
  • FIG. 7 is a diagram showing an image simplified by omitting the background and the like for the image corresponding to the frame constituting the moving image.
  • FIG. 8 is a diagram illustrating a case where a rectangle 340 is transformed using predetermined affine transformation parameters.
  • FIG. 9 is a flowchart showing a processing procedure of affine transformation parameter detection processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an example of transition of a moving image captured by a camera.
  • FIG. 11 is a diagram illustrating an example of an optical flow detected in each image illustrated in FIG. 10 while an image corresponding to the immediately preceding frame is indicated by a broken line.
  • FIG. 12 is a diagram illustrating a display example when a moving image including the images 401 to 403 illustrated in FIG. 10 is reproduced.
  • FIG. 13 is a diagram illustrating an example of transition of a moving image captured by a camera.
  • FIG. 14 is a diagram showing an example of an optical flow detected in each image shown in FIG. 13 while an image corresponding to the immediately preceding frame is indicated by a broken line.
  • FIG. 15 is a diagram illustrating a display example when a moving image including the images 421 to 423 illustrated in FIG. 13 is reproduced.
  • FIG. 16 is a diagram illustrating an example of transition of a moving image captured by the camera.
  • FIG. 17 is a diagram illustrating an example of an optical flow detected while the image corresponding to the immediately preceding frame is indicated by a broken line in each image illustrated in FIG. 16.
  • FIG. 18 is a diagram illustrating a display example when a moving image including the images 441 to 443 illustrated in FIG. 16 is reproduced.
  • FIG. 19 is a diagram schematically showing the relationship between each frame of the moving image file stored in the moving image storage unit 200 and the display area in the embodiment of the present invention.
  • FIG. 20 is a diagram schematically showing the flow of each frame of the moving image file stored in the moving image storage unit 200 according to the embodiment of the present invention.
  • FIG. 21 is a diagram showing a display example (image 480) in the case of reproducing a moving image shot by a camera and an image 484 in a state before the current image 482 in the image 480 is affine transformed.
  • FIG. 22 shows the image 485 when the image region surrounded by the frame 483 shown in FIG. 21 is enlarged and the current image after the affine transformation is saved in the display memory 240 in a state where it is saved in the image memory 220.
  • FIG. FIG. 23 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 24 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 25 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 26 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 27 is a diagram schematically illustrating a case where the images 501 to 517 constituting the moving image file 500 are combined.
  • FIG. 28 is a diagram schematically showing the relationship between each frame constituting the moving image and the scene change score calculated for these frames.
  • FIG. 29 is a diagram schematically illustrating a case where images 551 to 567 constituting the moving image 530 are combined.
  • FIG. 30 is a diagram schematically illustrating a case where images 551 to 567 constituting the moving image 530 are combined.
  • FIG. 31 is a diagram illustrating an example of a composite image formed by a moving image shot by a camera.
  • FIG. 32 is a diagram illustrating an example of a composite image formed by a moving image shot by a camera.
  • FIG. 33 is a flowchart showing a processing procedure of moving image reproduction processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • FIG. 34 is a flowchart showing the conversion information correction processing procedure in the processing procedure of the moving image reproduction processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • FIG. 35 is a flowchart illustrating a composite image division determination processing procedure in a processing procedure of a moving image reproduction process performed by the image processing apparatus 100 according to the embodiment of the present invention.
  • FIG. 36 is a diagram showing a configuration example of the multi-core processor 800 in the embodiment of the present invention.
  • FIG. 37 is a diagram showing a configuration example of the control processor core 801 in the embodiment of the present invention.
  • FIG. 38 is a diagram showing a configuration example of the arithmetic processor core (# 1) 811 in the embodiment of the present invention.
  • FIG. 39 is a diagram schematically showing a calculation method of the multi-core processor 800 in the embodiment of the present invention.
  • FIG. 40 is a diagram schematically showing the flow of programs and data in the case where operations are performed by the multi-core processor 800 in the embodiment of the present invention.
  • FIG. 41 is a diagram schematically illustrating an outline of an arithmetic method in which processing for a plurality of data is performed by each instruction, and an outline of SIMD arithmetic in which processing for a plurality of data is performed by one instruction.
  • FIG. 42 is a diagram showing a configuration example of a program executed by the control processor core 801 or the arithmetic processor core (# 1) 811 in the embodiment of the present invention.
  • FIG. 43 is a diagram schematically showing a data structure and a processing flow when filtering processing is performed on the image data stored in the main memory 781 using the Sobel filter 830 according to the embodiment of the present invention.
  • FIG. 44 is a diagram schematically showing a data flow when SIMD calculation is performed using the Sobel filter 830 on the image data stored in the main memory 781 according to the embodiment of the present invention.
  • FIG. 45 schematically shows a vector creation method for creating nine vectors from image data stored in the first buffer 831 when filtering is performed using the Sobel filter 830 according to the embodiment of the present invention.
  • FIG. 46 is a diagram schematically showing a vector operation method for performing vector operation using SIMD instructions for the vector data 841 to 849 when performing filtering using the Sobel filter 830 according to the embodiment of the present invention.
  • FIG. 47 is a diagram schematically showing the flow of camera work parameter calculation processing in the embodiment of the present invention in time series.
  • FIG. 48 is a diagram schematically showing an internal configuration of a Blu-ray player 890 capable of reproducing the Blu-ray disc 880 and each data 881 to 884 recorded on the Blu-ray disc 880 as an example of a recording medium. It is.
  • FIG. 1 is a block diagram illustrating a functional configuration example of an image processing apparatus 100 according to an embodiment of the present invention.
  • the image processing apparatus 100 includes a moving image input unit 110, a camera work detection unit 120, a recording control unit 130, a file acquisition unit 140, a feature amount extraction unit 150, a conversion information correction unit 160, and a composite image division determination unit. 170, an image conversion unit 180, an image composition unit 190, a moving image storage unit 200, a metadata storage unit 210, an image memory 220, a display area extraction unit 230, a display memory 240, and a display control unit 250. And a display unit 260 and an operation receiving unit 270.
  • the image processing apparatus 100 is a personal computer that can extract a feature amount by video analysis from a moving image shot by an imaging device such as a digital video camera and perform various image processing using the extracted feature amount. It can be realized by a computer.
  • the moving image input unit 110 is a moving image input unit that inputs a moving image captured by an imaging device such as a digital video camera (hereinafter simply referred to as “camera”).
  • the input moving image is input to the camera work detection unit 120. Output.
  • the camera work detection unit 120 analyzes the moving image output from the moving image input unit 110 to detect camera movement information (camera work) at the time of shooting, and is calculated based on the camera movement information.
  • the affine transformation parameters (camera work parameters) are output to the recording control unit 130. That is, the camera work detection unit 120 extracts a feature point from each image constituting the moving image, extracts an optical flow (motion vector) for the feature point, and analyzes the optical flow for the extracted feature point. A feature point that shows dominant motion is selected, and camera motion is estimated based on the optical flow for the feature point showing dominant motion.
  • the dominant movement means a regular movement indicated by a relatively large number of optical flows among the optical flows for a plurality of feature points.
  • the recording control unit 130 records the moving image output from the moving image input unit 110 as a moving image file in the moving image storage unit 200, and associates the affine transformation parameters output from the camera work detection unit 120 with the corresponding moving image and frame. This is recorded in the metadata storage unit 210 as a metadata file.
  • the moving image storage unit 200 stores the moving image output from the moving image input unit 110 under the control of the recording control unit 130 as a moving image file.
  • the moving image storage unit 200 supplies a moving image file to the file acquisition unit 140 in response to a request from the file acquisition unit 140.
  • the moving image file stored in the moving image storage unit 200 will be described in detail with reference to FIG.
  • the metadata storage unit 210 stores the affine transformation parameters output from the camera work detection unit 120 based on the control of the recording control unit 130 as a metadata file. Further, the metadata storage unit 210 supplies a metadata file to the file acquisition unit 140 in response to a request from the file acquisition unit 140.
  • the metadata file stored in the metadata storage unit 210 will be described in detail with reference to FIG.
  • the file acquisition unit 140 acquires at least one of the files stored in the moving image storage unit 200 and the metadata storage unit 210 according to the operation input received by the operation reception unit 270, and acquires each file This information is supplied to each part. Specifically, the file acquisition unit 140, when an instruction operation for synthesizing and reproducing a moving image is received by the operation receiving unit 270, the moving image file stored in the instructed moving image storage unit 200 and the moving image file And a metadata file stored in the metadata storage unit 210 in association with the image data, and outputs the moving image of the acquired moving image file and the affine transformation parameters of the metadata file to the feature amount extraction unit 150 and the image conversion unit 180 At the same time, the affine transformation parameters are output to the transformation information correction unit 160.
  • the feature amount extraction unit 150 extracts a feature amount based on each image constituting the moving image output from the file acquisition unit 140 and an affine transformation parameter associated with each image.
  • the data is output to the conversion information correction unit 160 and the composite image division determination unit 170.
  • the feature quantity extracted by the feature quantity extraction unit 150 is the scene change score in each image constituting the moving image and each component of the camera work (X direction and Y direction) extracted from the affine transformation parameters. (Zoom component, translation component, rotation component), an average value of each of these components for a predetermined number of frames, and an integrated value from the first frame to the current frame of each of these components will be described as an example.
  • the scene change score is a value calculated based on a color histogram in each image constituting the moving image, and is a value used for detecting a scene change point.
  • the scene change point is, for example, a position indicating the boundary point when the shooting scene changes momentarily in the moving image, and an image immediately after the boundary point is set as an image corresponding to the scene change point.
  • the feature quantity extraction unit 150 will be described in detail with reference to FIG. Each component of camera work will be described in detail with reference to FIGS. 6 and 7. Further, the scene change point will be described in detail with reference to FIG.
  • the conversion information correction unit 160 corrects the affine transformation parameter output from the file acquisition unit 140 based on the feature amount output from the feature amount extraction unit 150, and converts the corrected affine transformation parameter into the image conversion unit. Output to 180. Specifically, the conversion information correction unit 160 compares the feature amount output from the feature amount extraction unit 150 with a threshold value, thereby determining whether or not the affine transformation parameter output from the file acquisition unit 140 needs to be corrected. If it is determined that correction of the affine transformation parameter is necessary, the affine transformation parameter is corrected, and the corrected affine transformation parameter is output to the image conversion unit 180.
  • the affine transformation parameter is not corrected and nothing is output to the image conversion unit 180.
  • the correction of the affine transformation parameters the correction using the affine transformation parameter matrix as a unit matrix and the affine transformation parameters associated with the frame existing in the front-rear direction of the current frame are used.
  • a linear interpolation matrix will be calculated and correction will be described by way of example in which the calculated linear interpolation matrix is replaced with an affine transformation parameter matrix. The correction of the affine transformation parameters will be described in detail with reference to FIG.
  • the composite image division determination unit 170 determines whether or not an image corresponding to the current frame is to be divided and reproduced based on the feature amount output from the feature amount extraction unit 150 from the currently formed composite image. When it is determined that the image corresponding to the current frame is divided and reproduced, the fact that the image corresponding to the current frame is divided and reproduced is output to the image conversion unit 180 and the image composition unit 190, and An instruction to delete the camerawork component calculated up to the immediately preceding frame is output to the feature amount extraction unit 150.
  • the composite image division determination unit 170 measures the playback time from the first frame to the current frame when the synthesis playback of the moving image is started, and based on this playback time, the image corresponding to the current frame is It is determined whether to divide and reproduce the formed composite image.
  • the composite image division determining unit 170 measures the reproduction time from the first frame to the current frame at the time of division, and the reproduction time is Based on this, it is determined whether or not the image corresponding to the current frame is divided and reproduced from the currently formed composite image. Note that image division will be described in detail with reference to FIGS.
  • the image conversion unit 180 performs affine transformation for each frame using the affine transformation parameters corresponding to the image of the moving image of the moving image file output from the file acquisition unit 140, and converts the affine transformed image into an image. This is output to the combining unit 190.
  • the image conversion unit 180 performs affine transformation for each frame using the corrected affine transformation parameter.
  • the composite image division determination unit 170 outputs that the image corresponding to the current frame is divided and reproduced
  • the image conversion unit 180 performs affine transformation on the image corresponding to the current frame using a unit matrix. To the image composition unit 190. Note that these image conversions will be described in detail with reference to FIGS.
  • the image composition unit 190 synthesizes the image by overwriting the composite image corresponding to each of the previous frames held in the image memory 220 with the image after the affine transformation by the image conversion unit 180, and creates a new composite image.
  • a simple composite image is stored in the image memory 220.
  • the image composition unit 190 outputs the frames corresponding to the previous frames held in the image memory 220. The corresponding composite image is deleted, and the image corresponding to the current frame is held in the image memory 220.
  • the images are synthesized by overwriting the synthesized image held in the image memory 220 with the image after the affine transformation by the image transformation unit 180.
  • the composite image division determination unit 170 outputs that the image synthesis unit 190 divides and reproduces the image corresponding to the current frame in response to the operation input received by the operation reception unit 270
  • the image corresponding to the current frame is stored in the image memory 220 at a position different from the position where the composite image is retained, with the composite image corresponding to each of the previous frames held in the image memory 220 being left. Can be retained.
  • Image composition in the case where the image corresponding to the current frame is divided and reproduced will be described in detail with reference to FIGS.
  • the image composition unit 190 based on the position of the current image in the display area output from the display region extraction unit 230, a composite image in which the current image after the affine transformation by the image conversion unit 180 is held in the display memory 240. Synthesize by overwriting to.
  • the size of the current image synthesized in the display memory 240 is determined according to the value of the display magnification.
  • the composition of the current image in the display memory 240 will be described in detail with reference to FIG.
  • the image composition unit 190 compresses the image after the affine transformation by the image conversion unit 180 and overwrites the composite image held in the image memory 220 and overwrites the composite image held in the display memory 240.
  • the captured current image is a higher-resolution captured image than the uncompressed image or the compressed history image.
  • the history image when the composite image is output can be a compressed image, and the current image can be a non-compressed image or a captured image with a higher resolution than the compressed history image.
  • the image memory 220 is a work buffer that holds the synthesized image synthesized by the image synthesizing unit 190, and supplies the held synthesized image to the image synthesizing unit 190 or the display area extracting unit 230. That is, the image memory 220 is an image memory that holds each image constituting a moving image as a history image.
  • the display area extraction unit 230 extracts an image existing within the display area, which is a display target area, from the composite image held in the image memory 220, and the extracted image is displayed in the display memory. 240.
  • the extraction of an image included in the display area will be described in detail with reference to FIGS. 19 and 20, and the calculation of the position of the current image in the display area will be described with reference to FIG. Will be described in detail.
  • the display memory 240 is a display buffer that holds an image extracted from the image memory 220 by the display area extraction unit 230, and the stored image is displayed on the display unit 260.
  • the display control unit 250 causes the display unit 260 to sequentially display the composite image held in the display memory 240 for each frame.
  • the display unit 260 displays the composite image held in the display memory 240 based on the control of the display control unit 250.
  • it can be realized by a display of a personal computer or a television. Note that a composite image display example will be described in detail with reference to FIGS.
  • the operation receiving unit 270 includes a keyboard and a mouse (pointing device) including various input keys.
  • a mouse pointing device
  • the contents of the received operation input are transferred to the file acquisition unit 140, the image composition unit 190, or Are output to the display area extraction unit 230.
  • the operation receiving unit 270 and the display unit 260 may be integrally configured as a touch panel.
  • FIG. 2 is a block diagram illustrating a functional configuration example of the camera work detection unit 120 according to the embodiment of the present invention.
  • the camera work detection unit 120 includes a feature point extraction unit 121, an optical flow calculation unit 122, and a camera work parameter calculation unit 123.
  • the feature point extraction unit 121 extracts feature points from an image corresponding to a frame constituting the moving image output from the moving image input unit 110, and outputs the extracted feature points to the optical flow calculation unit 122.
  • the feature point extraction unit 121 extracts the feature point from the entire image for the top frame of the frames constituting the video output from the video input unit 110, and for the frames other than the top, A feature point is extracted from a newly photographed area compared with an image corresponding to a frame.
  • a point having a strong edge gradient in the vertical direction or the horizontal direction generally referred to as “corner point”.
  • corner point can be extracted as the feature point.
  • This corner point is a feature point that is strong in optical flow calculation, and can be obtained using edge detection.
  • This corner point extraction will be described in detail with reference to FIGS.
  • the feature point extraction unit 121 extracts feature points from the entire image for the first frame, and extracts feature points from a newly captured region portion compared to the previous image for frames other than the first frame. Although extraction is performed, feature points may be extracted from the entire image for each frame other than the top in accordance with the processing capability and the like.
  • the optical flow calculation unit 122 calculates an optical flow for each feature point output from the feature point extraction unit 121, and outputs the optical flow obtained by the calculation to the camera work parameter calculation unit 123. Specifically, by comparing each image corresponding to two consecutive frames (the current frame and the immediately preceding frame) constituting the moving image output from the moving image input unit 110, the image corresponding to the immediately preceding frame is compared. The optical flow corresponding to each feature point is obtained as the optical flow of the current frame. The optical flow is obtained for each frame constituting the moving image. As a detection method for detecting the optical flow, a detection method such as a gradient method or a block matching method can be used. The calculation of the optical flow will be described in detail with reference to FIG. 6 and FIG.
  • the camera work parameter calculation unit 123 performs a camera work parameter calculation process for calculating a camera work parameter by using an optical flow corresponding to each feature point output from the optical flow calculation unit 122.
  • the work parameter is output to the recording control unit 130.
  • each image constituting the moving image to be reproduced is converted and displayed in accordance with the movement of the camera.
  • camera motion is extracted using the optical flow calculated by the optical flow calculation unit 122, and camera work parameters (conversion parameters) are calculated based on the extracted motion.
  • affine transformation is used as an image conversion method for converting an image constituting a moving image to be reproduced will be described.
  • an affine transformation parameter used as transformation information is not an affine matrix that represents the movement of feature points between successive images, but one of the successive images is used as a reference image. In this case, it is defined as an affine transformation parameter corresponding to an affine matrix indicating where the next image of the reference image moves.
  • an affine transformation parameter is used as a camera work parameter
  • other image transformation methods such as projective transformation may be used.
  • the affine transformation parameters can be obtained by calculation using a three-point vector.
  • the projective transformation parameter can be obtained by calculation using a vector of four points.
  • the camera work parameter is conversion information for converting another captured image on the basis of at least one captured image constituting the captured moving image, and is described in at least the camera coordinate system. It includes position information and posture information. That is, the camera work parameter includes information on the position and orientation of the camera when the photographer is photographing. Further, based on the affine transformation parameters obtained by the camera work parameter calculation unit 123, it is possible to estimate the movement of the camera by the photographer's operation such as zooming in, zooming out, panning, tilting, rotation, and the like. The calculation of affine transformation parameters will be described in detail with reference to FIGS.
  • FIG. 3 is a block diagram illustrating a functional configuration example of the feature amount extraction unit 150 according to the embodiment of the present invention.
  • the feature amount extraction unit 150 includes a color histogram extraction unit 151, a continuous frame difference value calculation unit 152, a scene change score calculation unit 153, a camera work component calculation unit 155, a camera work component holding unit 156, and a camera work.
  • a component average value calculation unit 157 and a camera work component integrated value calculation unit 158 are provided.
  • the color histogram extraction unit 151 extracts, for each frame, a color histogram of the entire screen in this image from the image constituting the moving image output from the file acquisition unit 140. This is output to the value calculation unit 152.
  • the difference value calculation unit 152 between consecutive frames calculates the difference value of the color distribution of the color histogram between two consecutive frames for the color histogram for each frame output from the color histogram extraction unit 151.
  • the difference value is output to the scene change score calculation unit 153.
  • a value obtained by digitizing the similarity calculated using EMD is used as the difference value of the color distribution of the color histogram between two consecutive frames.
  • EMD represents the distance between color distributions, and is used for similar image retrieval or the like (see, for example, JP-A-2007-206919).
  • the scene change score calculation unit 153 applies a high-pass filter to the difference value of the color distribution of the color histogram output from the continuous inter-frame difference value calculation unit 152, thereby calculating the difference of the offset value of the difference value between frames.
  • the value after removal is performed and the value after removal of the DC component is calculated as a scene change score, and the calculated scene change score is output to the conversion information correction unit 160 and the composite image division determination unit 170.
  • the difference value between two consecutive frames is calculated using the similarity calculated by EMD, and the scene change score is calculated based on the difference value.
  • Another difference value between the frames constituting the moving image on the time axis may be calculated, and the scene change score may be calculated based on the difference value.
  • the camerawork component calculation unit 155 calculates each component of camerawork (translational components in the x and y directions, zoom components, and rotation components) from the affine transformation parameters corresponding to the current frame output from the file acquisition unit 140.
  • Each component of the calculated camera work is output to the conversion information correction unit 160, the camera work component average value calculation unit 157, and the camera work component integrated value calculation unit 158, and also to the camera work component holding unit 156. Hold.
  • the camera work component holding unit 156 holds each component of the camera work up to the current frame calculated by the camera work component calculation unit 155 for each frame, and each component of the held camera work is a camera work component.
  • the average value calculation unit 157 and the camera work component integrated value calculation unit 158 are supplied.
  • the camera work component holding unit 156 displays each component of the held camera work. to erase.
  • the camerawork component average value calculation unit 157 is a predetermined number of frames before the camerawork component corresponding to the current frame output from the camerawork component calculation unit 155 and the previous frame held in the camerawork component holding unit 156.
  • the average value of the camera work components is calculated based on each component of the camera work corresponding to each frame up to this frame, and the calculated average value of the camera work components is output to the composite image division determination unit 170. To do.
  • the number of frames used when calculating the average value of the camera work components can be set to about 5, for example.
  • the camera work component integrated value calculation unit 158 includes each component of the camera work corresponding to the current frame output from the camera work component calculation unit 155, and the frame immediately before the first frame held in the camera work component holding unit 156.
  • the integrated value of the camera work component is calculated based on each component of the camera work corresponding to each of the above frames, and the calculated integrated value of the camera work component is output to the composite image division determination unit 170.
  • each component of the camera work held in the camera work component holding unit 156 is displayed. Erased.
  • the camerawork component integrated value calculation unit 158 corresponds to the current frame output from the camerawork component calculation unit 155 when calculating the integrated value of the camerawork component for the next frame or later after the instruction is given.
  • FIG. 4 is a diagram schematically showing a case where images corresponding to each frame constituting the moving image are arranged in time series.
  • images 351 to 358 corresponding to the respective frames constituting the moving image 350 photographed by the imaging device are schematically shown. It should be noted that the images 351 to 358 are shown by simplifying the number, subject, and the like for the sake of explanation.
  • images 351 to 358 are images included in one moving image 350, but include three scenes having different shooting times and places, so frames in which these scenes are switched. Then, the composition and color of the subject change instantaneously.
  • the scene change point is between the two consecutive frames. Determined.
  • the determination of the scene change point is performed by the conversion information correction unit 160 and the composite image division determination unit 170.
  • the threshold used when determining the scene change point a value common to the conversion information correction unit 160 and the composite image division determination unit 170 may be used, or a different value may be used.
  • the threshold value of the composite image division determination unit 170 can be set higher than the threshold value of the conversion information correction unit 160.
  • the images 351 to 353 are taken of a person walking in the city, and since the person is moving, the position of the person is slightly different, but the entire image has a similar impression. For this reason, the histogram difference value between two consecutive frames related to the images 351 to 353 does not exceed the threshold value, and it is determined that the two consecutive frames are not scene change points.
  • the images 354 to 356 are images of the houses in front of the mountains, and the images are taken by moving the imaging device in the horizontal direction. The overall impression is similar. However, when the image 353 and the image 354 are compared with each other, the entire image is greatly different because it corresponds to a scene switching portion at which the time and place of shooting are different. For this reason, the boundary between the image 353 and the image 354 is determined as a scene change point. Similarly, the boundary between the image 356 and the image 357 is determined to be a scene change point. As described above, when it is determined that the scene change point is set, in the embodiment of the present invention, an image immediately after the boundary point is set as an image corresponding to the scene change point. Images corresponding to the scene change points are, for example, images 354 and 357.
  • FIG. 5 is a diagram schematically showing each file recorded in the moving image storage unit 200 and the metadata storage unit 210 in the embodiment of the present invention.
  • 5A the moving image files 201 to 204 stored in the moving image storage unit 200 and the metadata files 211 to 213 stored in the metadata storage unit 210 in association with the moving image files 201 to 204 are included.
  • a moving image ID that is identification information for identifying each moving image file stored in the moving image storage unit 200 is given to each moving image file. For example, “# 1” is assigned to the moving image file 201, “# 2” is assigned to the moving image file 202, and “#n” is assigned to the moving image file 204.
  • FIG. 5B schematically shows a moving image file 201 stored in the moving image storage unit 200 and a metadata file 211 stored in the metadata storage unit 210 in association with the moving image file 201.
  • the moving image file 201 is a moving image file composed of n frames, and these n frames are shown as frames “1” 205 to “n” 208.
  • a moving image ID 214 In the metadata file 211, a moving image ID 214, a frame number 215, and an affine transformation parameter 216 are stored in association with each other.
  • the moving image ID 214 is a moving image ID assigned to the corresponding moving image file. For example, “# 1” assigned to the moving image file 201 is stored.
  • the frame number 215 is a serial number of each frame constituting the moving image of the corresponding moving image file. For example, “1” to “n” corresponding to the frames “1” 205 to “n” 208 constituting the moving image of the moving image file 201. Is stored.
  • the affine transformation parameter 216 is an affine transformation parameter calculated for each frame of the moving image corresponding to the frame number 215.
  • the affine transformation parameter 216 “a1, b1, c1, d1, e1, f1” corresponding to “1” of the frame number 215 is an affine transformation parameter of the unit matrix.
  • “am, bm, cm, dm, em, fm” of the affine transformation parameter 216 corresponding to “m (m is an integer of 2 or more)” of the frame number 215 is the frame “m ⁇ ” immediately before the frame “m”. 1 ”is an affine transformation parameter.
  • FIGS. 7B and 7C are diagrams showing a simplified image of the image 300 shown in FIG.
  • the images 300, 320, and 330 shown in FIGS. 6 and 7 include horse images 301, 321, and 331 on which a person is straddling, and a snake image installed in front of the horse images 301, 321, and 331. 302, 322, and 332 are included. Further, as shown in FIG. 6, there are flags, chairs, etc. in the background of these images, and these flags are fluttering in the wind.
  • the image 320 shown in (a) of FIG. 7 is a frame immediately before the frame corresponding to the images 300 and 330 shown in (a) to (c) of FIG. 6 and (b) and (c) of FIG. It is the image which simplified the corresponding image. Also, images 320 and 330 corresponding to two consecutive frames are images showing transitions when the subject in the screen gradually increases. That is, at the time of this photographing, a zoom-in operation that is an operation for gradually increasing the subject in the screen is performed.
  • a method of detecting a feature point from an image constituting a moving image and calculating an affine transformation parameter using an optical flow corresponding to the feature point will be described as an example.
  • a case where a corner point is used as a feature point will be described.
  • FIGS. 7A to 7C a method for calculating affine transformation parameters using an optical flow corresponding to three corner points detected from the images 320 and 330 will be described as an example.
  • a corner point 323 near the mouth in the horse image 321, a corner point 324 near the human buttocks in the horse image 321, and a snake image It is assumed that a corner point 325 near the mouth of 322 is detected.
  • optical flows 337, 338, and 339 for the corner points 323, 324, and 325 in the image 320 are detected by the gradient method, the block matching method, or the like in the image 330 shown in FIG. 7B. Then, based on the detected optical flows 337, 338, and 339, corner points 333, 334, and 335 corresponding to the corner points 323, 324, and 325 in the image 320 are detected.
  • the horse images 321 and 331 and the snake images 322 and 332 included in the images 320 and 330 shown in FIGS. 7A and 7B are installed on the ground. It does not move independently of camera movement. For this reason, the motion of the camera can be accurately estimated based on the optical flow obtained for the corner points detected for the horse images 321 and 331 and the snake images 322 and 332. For example, as shown in FIG. 7C, based on the three optical flows 337 to 339 detected in the image 330, the image 330 is obtained by enlarging the image 320 around the point 336. Can be estimated.
  • the camera movement at the time of capturing the image 330 is a zoom-in operation centered on the point 336.
  • a corner point is detected for an object that does not move independently of the camera movement, and the camera movement with a certain regularity is accurately determined based on the optical flow obtained for the corner point. Can be detected. Therefore, the affine transformation parameters can be calculated and obtained using the optical flow obtained for these corner points.
  • an object that moves independently of the camera movement such as a flag waving in the wind
  • the image 300 illustrated in FIG. 6 includes a flag fluttering in the wind.
  • the optical flow detected in the image 300 shown in FIG. 6B is indicated by an arrow, and the corner point detected by the optical flow is indicated by a white circle at the tip of the arrow.
  • the corner points 303 to 305 are corner points corresponding to the corner points 333 to 335 shown in (b) and (c) of FIG.
  • Corner points 306 to 311 are corner points detected for the flag present in the background of the horse image 301. Since these flags flutter in the wind, the movement of the flag due to the influence of the wind is detected as an optical flow. That is, each optical flow corresponding to the corner points 306 to 311 is detected for a flag that moves independently of the movement of the camera. Therefore, when the optical flow corresponding to at least one of the corner points 306 to 311 is included in the three optical flows used when calculating the affine transformation parameters, the accurate camera Unable to detect movement. In this case, accurate affine transformation parameters cannot be calculated.
  • the relationship between the optical flow (the optical flows corresponding to the corner points 306 to 311 shown in FIG. 6B) with respect to an object that moves independently of the camera motion and the camera motion.
  • an optical flow having a certain regularity an optical flow other than the optical flows corresponding to the corner points 306 to 311 shown in FIG. 6B is detected from the captured image.
  • the affine transformation parameter calculation process for calculating the affine transformation parameters based on the three optical flows is performed a plurality of times, a plurality of affine transformation parameters are obtained, and the plurality of affine transformation parameters are calculated.
  • An example of selecting an optimum affine transformation parameter from among them will be described. In this example, it is assumed that the size of the moving object included in each image constituting the moving image is relatively small with respect to the area of the image.
  • the affine transformation will be briefly described. In two dimensions, when the position of the movement source is (x, y) and the position of the movement destination after the affine transformation is (x ′, y ′), the determinant of the affine transformation is expressed by Equation 1. Can do.
  • a to f are affine transformation parameters.
  • the affine matrix AM based on this affine transformation parameter can be expressed by the following equation.
  • the X direction zoom component XZ, the Y direction zoom component YZ, the X direction translation component XT, the Y direction translation component YT, the X direction rotation component ⁇ x, and the X direction rotation component ⁇ y are respectively expressed by the following equations. Can be obtained.
  • each component of the camerawork (X-direction and Y-direction zoom components, translation components, and rotation components) can be obtained from the affine transformation parameters.
  • the rotation component will be described with reference to FIG.
  • FIG. 8 is a diagram illustrating a case where the rectangle 340 is converted using predetermined affine transformation parameters.
  • a predetermined affine transformation parameter is set in an xy coordinate having an apex of a rectangle 340 as an origin and two sides of the rectangle 340 in contact with the apex corresponding to the origin as an x-axis and a y-axis.
  • the rectangle after the rectangle 340 is converted is used as a rectangle 341.
  • an angle formed by the sides on the x-axis side of the rectangles 340 and 341 is a rotation component ⁇ x
  • an angle formed by the sides on the y-axis side of the rectangles 340 and 341 is a rotation component ⁇ y.
  • the average value of camerawork components is a value obtained by dividing a value obtained by adding each component of camerawork corresponding to a predetermined number of frames by a predetermined number.
  • the predetermined number is 5, and the translational components in the X direction of the camera work components of the frames 1 to 5 to be calculated are XT1 to 5 respectively. In this case, it can be obtained by “(XT1 + XT2 + XT3 + XT4 + XT5) / 5”.
  • an average speed obtained by dividing the value obtained by adding each component of camera work by the elapsed time between frames to be calculated may be used. .
  • the integrated value of the camera work component is a value obtained by adding each component of the camera work corresponding to each frame from the first frame to the current frame.
  • the translational component in the X direction of the camera work component of each of the frames 1 to 5 from the first frame to the current frame is set to XT1 to 5, respectively. In this case, it can be obtained by “XT1 + XT2 + XT3 + XT4 + XT5”.
  • three feature points are selected from the feature points where the optical flow has been detected. For example, three corner points are selected at random from the corner points (indicated by white circles) detected in the image 300 shown in FIG.
  • projective transformation parameters are used as camera work parameters, four feature points are selected at random.
  • the affine transformation parameters are calculated using the three optical flows corresponding to the three selected feature points. For example, an optical flow corresponding to three corner points selected from the corner points (indicated by white circles) in the image 300 shown in FIG. 6B (with arrows connected to the white circles). Is used to calculate the affine transformation parameters.
  • This affine transformation parameter can be obtained using Equation 1.
  • the score of the affine transformation parameter is calculated based on the obtained affine transformation parameter. Specifically, using the obtained affine transformation parameters, the positions of the movement destinations of all feature points in the image corresponding to the frame immediately before the current frame are obtained. Then, the position of the feature point obtained using the affine transformation parameter is compared with the position of the feature point detected in the current frame, and the difference value between the positions of the two feature points corresponding to each other is determined for each feature point. Is calculated. As the difference value, for example, an absolute distance between the positions of two feature points corresponding to each other is calculated.
  • the calculated difference value and a preset threshold value are compared for each feature point, and the number of feature points having the difference value smaller than the threshold value is obtained as a score of the affine transformation parameter.
  • three feature points are randomly selected from the feature points in which the optical flow is detected, and a process for calculating the score of the affine transformation parameter based on the optical flow corresponding to these feature points is performed a predetermined number of times.
  • a plurality of affine transformation parameter scores are calculated repeatedly. This predetermined number of times may be set as appropriate according to the type of image to be compared, the processing capability of the image processing apparatus 100, or a fixed value. For example, the predetermined number of times can be set to about 20 in consideration of the processing capability of the image processing apparatus 100.
  • a case is considered where three corner points including at least one of the corner points 306 to 311 are selected from the corner points detected in the image 300 shown in FIG.
  • the three optical flows have a certain regularity. Since an optical flow that is not provided is included, an affine transformation parameter that does not transform an image corresponding to the immediately preceding frame according to a certain rule is obtained. For this reason, the difference value calculated
  • the affine transformation parameter having the largest score value is selected as the representative affine transformation parameter from the obtained scores of the plurality of affine transformation parameters.
  • an inverse matrix for the selected matrix of representative affine transformation parameters is calculated, and the affine transformation parameters of the inverse matrix are recorded in the metadata storage unit 210 in association with the current frame.
  • each image constituting the moving image includes a moving object (animal body) such as a person or a car
  • the size of the moving object relative to the area of the image is relatively small.
  • the camera motion can be extracted without being affected by the moving object.
  • at least translation, rotation, and zoom are used. One conversion can be performed in the form of a rectangular image.
  • FIG. 9 is a flowchart showing a processing procedure of affine transformation parameter detection processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • a moving image file is input to the moving image input unit 110 (step S900). Subsequently, the moving image file input to the moving image input unit 110 is decoded, and an image of one frame is acquired in time-series order (step S901). Subsequently, it is determined whether or not the acquired one frame is the first frame of the moving image file input to the moving image input unit 110 (step S902). When the acquired one frame is the top frame (step S902), feature points are extracted from the entire image corresponding to the top frame (step S903). For example, as shown in FIG. 6B, a plurality of corner points are extracted from the image. Subsequently, an affine transformation parameter of a unit matrix is selected as an affine transformation parameter (step S904), and the process proceeds to step S914.
  • a feature point is extracted from a region newly taken with reference to an image corresponding to the immediately preceding frame (step S905). That is, since the feature points already extracted in the image corresponding to the immediately preceding frame can be obtained by the optical flow corresponding to the feature points, they are not extracted in the image corresponding to the current frame.
  • step S906 an optical flow for each feature point extracted from the image corresponding to the immediately preceding frame is calculated. That is, as shown in FIG. 6B, an optical flow for each corner point is calculated.
  • variable i is initialized to “1” (step S907).
  • M feature points are selected from the feature points from which the optical flow has been detected (step S908). For example, when affine transformation parameters are used as camera work parameters, three feature points are selected at random. When projective transformation parameters are used as camera work parameters, four feature points are selected at random. Subsequently, affine transformation parameters are calculated based on the M optical flows calculated corresponding to the selected M feature points (step S909).
  • the score of the affine transformation parameter is calculated based on the affine transformation parameter obtained by calculation (step S910). Specifically, using the affine transformation parameters obtained by calculation, the movement destination positions of all feature points in the image corresponding to the immediately preceding frame are obtained. Then, the position of the feature point obtained using this affine transformation parameter is compared with the position of the feature point in the image corresponding to the current frame obtained when the optical flow is calculated in step S906 to correspond to each other. A difference value between the positions of the two feature points is calculated for each feature point. As the difference value, for example, an absolute distance between two positions corresponding to each other is calculated. Subsequently, the calculated difference value and a preset threshold value are compared for each feature point, and the number of feature points having the difference value smaller than the threshold value is obtained as a score of the affine transformation parameter.
  • step S911 “1” is added to the variable i (step S911), and it is determined whether or not the variable i is larger than the constant N (step S912). If the variable i is equal to or less than the constant N (step S912), the process returns to step S908, and the affine transformation parameter score calculation process is repeated (steps S908 to S910).
  • 20 can be used as the constant N.
  • step S912 when the variable i is larger than the constant N (step S912), the affine transformation parameter having the largest score value is selected as the representative affine transformation parameter among the obtained scores of the affine transformation parameters (step S912). S913). Subsequently, an affine transformation parameter of an inverse matrix for the selected representative affine transformation parameter matrix is recorded in the metadata storage unit 210 in association with the current frame (step S914). If the current frame is the top frame, the affine transformation parameters of the selected unit matrix are recorded in the metadata storage unit 210 in association with the top frame. Subsequently, the image corresponding to the current frame and the feature points in this image are overwritten and saved (step S915).
  • step S916 it is determined whether or not the current frame is the last frame of the moving image file input to the moving image input unit 110 (step S916). If the current frame is not the last frame (step S916), the process 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), the affine transformation parameter detection process is terminated.
  • the example of detecting the affine transformation parameter based on the optical flow detected in the image constituting the moving image as the detection of the camera work parameter has been described, but a sensor such as an acceleration sensor or a gyro sensor, A zoom button used when performing a zoom operation may be provided on the camera, and the movement amount of the camera at the time of shooting may be detected by the sensor or the zoom button, and the camera work parameter may be obtained based on the movement amount of the camera. .
  • the movement amount of the camera detected at the time of shooting can be used when determining whether the camera work parameter obtained by the camera work parameter calculation unit 123 is correct.
  • a plurality of camera work parameters are detected by the camera work parameter calculation unit 123, and one camera work parameter is selected from the plurality of camera work parameters based on the movement amount of the camera detected at the time of shooting. You may make it do.
  • FIG. 10 is a diagram showing an example of transition of a moving image taken by a camera.
  • FIG. 10 is a diagram illustrating images 401 to 403 corresponding to continuous frames included in a moving image when a person 400 is photographed against a mountain background. This example shows a case where the photographer is shooting while moving the direction of the lens of the camera to the right and above. In this case, the person 400 included in the moving image photographed by the camera moves from the right side to the left side and moves downward in the image constituting the moving image.
  • FIG. 11 is a diagram showing an example of an optical flow detected in each image shown in FIG. 10 while an image corresponding to the immediately preceding frame is indicated by a broken line.
  • An image 401 shown in (a) of FIG. 11 is the same as the image 401 shown in (a) of FIG.
  • the solid line portion in the image 402 shown in FIG. 11B is the same as the image 402 shown in FIG. 10B, and the broken line in the image 402 shown in FIG. This part is the same as the solid line part of the image 401 shown in FIG.
  • arrows 404 to 406 in the image 402 shown in FIG. 11B indicate an example of the optical flow detected from the image 402.
  • FIG. 11C is the same as the image 403 shown in FIG. 10C.
  • the broken line portion is the same as the solid line portion of the image 402 shown in FIG.
  • arrows 407 to 409 in the image 403 shown in FIG. 11C indicate an example of the optical flow detected from the image 403.
  • the person 400 and the background mountain included in the image move in accordance with the movement of the camera. Based on the optical flow detected by this movement, affine transformation parameters can be obtained for each frame.
  • FIG. 12 is a diagram showing an image composition example in the case where the moving image including the images 401 to 403 shown in FIG. 10 is synthesized and reproduced.
  • the images constituting the two moving images are combined, so that the image displayed on the display unit 260 becomes larger than the normal image as the playback time elapses. For this reason, the first displayed image is displayed with a size relatively smaller than the size of the display area of the display unit 260. Note that the user may specify the size, position, and the like of the first displayed image.
  • the image 401 corresponding to the first frame is displayed at first.
  • the matrix of affine transformation parameters (3 ⁇ 3 matrix) corresponding to the image 401 is A1
  • the value of A1 is obtained, and the position and size of the image 401 of the first frame is used as a reference
  • the image 401 is affine transformed with the obtained matrix of A1.
  • A is a unit matrix, the position and size of the image 401 are not converted.
  • the image 402 corresponding to the next frame is displayed, the image 402 is affine transformed using the affine transformation parameters associated with the frame.
  • the matrix of the affine transformation parameters corresponding to the image 402 is A2 and the matrix of the affine transformation parameters corresponding to the image 401 is A1
  • the value of A1 ⁇ A2 is obtained, and the image of the first frame
  • the image 402 is affine-transformed using the obtained A1 ⁇ A2 matrix with reference to the position and size of 401.
  • the image shown in FIG. 12B only the position of the image 402 is converted.
  • the image 402 that has been affine transformed with the affine transformation parameters is overwritten so as to overlap the image 401 corresponding to the immediately preceding frame. That is, in the area of the image 401, the area 410 that overlaps the image 402 is overwritten with the image of the image 402.
  • the image 401 is synthesized. That is, when the image 402 corresponding to the second frame is displayed, as shown in FIG. 12B, the entire portion of the image 402 and the portion corresponding to the region 411 in the image 401 The combined image is displayed. In addition, an image frame indicating the latest image among the displayed images can be displayed around the image corresponding to the current frame. In FIG. 12B, an image frame is displayed on the image 402. Further, the image conversion unit 180 holds affine transformation parameters obtained by affine transformation of the image 402.
  • the image 403 is affine transformed using the affine transformation parameters associated with this frame. That is, the image 403 is affine-transformed using the affine transformation parameters obtained using the affine transformation parameter matrix corresponding to the image 403 and the affine transformation parameter matrix corresponding to the image 402 used for the immediately preceding affine transformation. .
  • the matrix of affine transformation parameters corresponding to the image 403 is A3
  • the matrix of affine transformation parameters corresponding to the image 402 is A2
  • the matrix of affine transformation parameters corresponding to the image 401 is A1
  • a value of A1 ⁇ A2 ⁇ A3 is obtained
  • the image 403 is affine transformed with the obtained matrix of A1 ⁇ A2 ⁇ A3 based on the position and size of the image 401 of the first frame.
  • the image shown in (c) of FIG. 12 only the position of the image 403 is converted. Then, the image 403 that has been affine transformed with the affine transformation parameters is overwritten so as to overlap the composite image of the images 401 and 402 corresponding to the previous frame.
  • the composite image of the images 401 and 402 is combined. That is, when the image 403 corresponding to the third frame is displayed, as shown in FIG. 12C, the entire portion of the image 403 and the portion corresponding to the region 411 in the image 401 Then, an image obtained by combining the portion corresponding to the region 412 in the image 402 is displayed.
  • the image conversion unit 180 holds affine transformation parameters obtained by affine transformation of the image 403. That is, the affine transformation parameters obtained by multiplying the matrix of affine transformation parameters corresponding to the images 402 and 403 are held in the image transformation unit 180.
  • the image corresponding to the current frame is affine transformed, it is obtained using the matrix of affine transformation parameters corresponding to the current frame and the matrix of affine transformation parameters corresponding to each frame up to this point.
  • the image corresponding to the current frame is affine transformed by the affine transformation parameters.
  • the affine transformation parameters obtained at the time of this affine transformation are held in the image transformation unit 180 and used in the next affine transformation. The same applies to the cases of FIGS. 15 and 18.
  • FIG. 13 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 13 is a diagram illustrating images 421 to 423 corresponding to continuous frames included in a moving image when a person 420 is photographed with a mountain in the background.
  • This example shows a case where the photographer is shooting while increasing the magnification of the lens of the camera.
  • the person 420 included in the moving image photographed by the camera gradually increases in the images constituting the moving image.
  • the camera position may move slightly when the magnification is increased, in this example, description will be made without considering the movement of the camera position.
  • FIG. 14 is a diagram showing an example of an optical flow detected in each image shown in FIG. 13 while an image corresponding to the immediately preceding frame is indicated by a broken line.
  • An image 421 shown in (a) of FIG. 14 is the same as the image 421 shown in (a) of FIG.
  • the solid line portion in the image 422 shown in FIG. 14B is the same as the image 422 shown in FIG. 13B, and the broken line in the image 422 shown in FIG. This part is the same as the solid line part of the image 421 shown in FIG.
  • arrows 424 to 426 in the image 422 shown in FIG. 14B indicate an example of the optical flow detected from the image 422.
  • FIG. 14C is the same as the image 423 shown in FIG. 13C, and the portion of the image 423 shown in FIG. The broken line portion is the same as the solid line portion of the image 422 shown in FIG.
  • arrows 427 to 429 in the image 423 illustrated in FIG. 14C indicate an example of the optical flow detected from the image 423.
  • the size of the person 420 and the background mountain included in the image is changed in accordance with the change in magnification. Based on the optical flow detected by this change, affine transformation parameters can be obtained for each frame.
  • FIG. 15 is a diagram showing a display example when a moving image including the images 421 to 423 shown in FIG. 13 is reproduced.
  • FIG. 15A only the image 421 corresponding to the first frame is displayed at first. Subsequently, when the image 422 corresponding to the next frame is displayed, the image 422 is affine transformed using the affine transformation parameters associated with this frame. In the image shown in FIG. 15B, only the size of the image 422 is converted. Then, the image 422 that has been affine transformed with the affine transformation parameters is overwritten so as to overlap the image 421 corresponding to the immediately preceding frame. That is, in the area of the image 421, the area of the image 422 is overwritten in the area overlapping with the image 422.
  • the image 421 overlaps with all the areas of the image 422, all the images of the image 422 are overwritten on the image 421.
  • the image of the image 421 is synthesized. That is, when the image 422 corresponding to the second frame is displayed, as shown in FIG. 15B, the entire portion of the image 422 and the portion corresponding to the region 431 in the image 421 The combined image is displayed.
  • an image frame indicating the latest image among the displayed images can be displayed around the image corresponding to the current frame. In FIG. 15B, an image frame is displayed on the image 422.
  • the image conversion unit 180 holds an affine transformation parameter obtained by affine transformation of the image 422.
  • the image 423 corresponding to the next frame is displayed, the image 423 is affine transformed using the affine transformation parameters associated with this frame. That is, the image 423 is affine-transformed with the affine transformation parameters obtained by multiplying 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.
  • the In the image shown in FIG. 15C only the size of the image 423 is converted. Then, the affine transformed image 423 is overwritten so as to overlap the synthesized image of the images 421 and 422 corresponding to the previous frame.
  • the image of the image 423 is overwritten in the region of the composite image of the images 421 and 422 that overlaps the image 423.
  • the image 423 overlaps with all the areas of the images 421 and 422, all the images of the image 423 are overwritten on the composite image of the images 421 and 422.
  • the regions 432 and 433 that do not overlap with the image 423 among the regions of the combined image of the images 421 and 422 the combined image of the images 421 and 422 is combined. That is, when the image 423 corresponding to the third frame is displayed, as shown in FIG.
  • the image conversion unit 180 holds an affine transformation parameter obtained by affine transformation of the image 423. That is, the affine transformation parameters obtained using the affine transformation parameters corresponding to the images 422 and 423 are held in the image conversion unit 180.
  • FIG. 16 is a diagram illustrating an example of transition of a moving image shot by a camera.
  • FIG. 16 is a diagram illustrating images 441 to 443 corresponding to continuous frames included in a moving image when a person 440 is photographed against a mountain background. This example shows a case where the photographer is photographing while rotating the camera around the photographing direction. In this case, the person 440 included in the moving image photographed by the camera rotates in the images constituting the moving image. Note that although the position of the camera may move slightly due to the rotation of the camera, in this example, description will be made without considering the movement of the camera position.
  • FIG. 17 is a diagram illustrating an example of an optical flow detected in each image illustrated in FIG. 16 while an image corresponding to the immediately preceding frame is indicated by a broken line.
  • An image 441 shown in (a) of FIG. 17 is the same as the image 441 shown in (a) of FIG.
  • the solid line portion in the image 442 shown in FIG. 17B is the same as the image 442 shown in FIG. 16B
  • the broken line in the image 442 shown in FIG. This part is the same as the solid line part of the image 441 shown in FIG.
  • arrows 444 to 446 in the image 442 shown in FIG. 17B indicate an example of the optical flow detected from the image 442.
  • 17C is the same as the image 443 shown in FIG. 16C, and the portion of the image 443 shown in FIG. The broken line portion is the same as the solid line portion of the image 442 shown in FIG.
  • arrows 447 to 449 in the image 443 illustrated in FIG. 17C indicate an example of the optical flow detected from the image 443.
  • the person 440 and the background mountain included in the image rotate in accordance with the rotation of the camera. Based on the optical flow detected by this rotational movement, affine transformation parameters can be obtained for each frame.
  • FIG. 18 is a diagram showing a display example when a moving image including the images 441 to 443 shown in FIG. 16 is reproduced.
  • the image 441 corresponding to the first frame is displayed at first. Subsequently, when the image 442 corresponding to the next frame is displayed, the image 442 is affine transformed using the affine transformation parameters associated with this frame. In the image shown in FIG. 18B, only the angle of the image 442 is converted. Then, the image 442 that has been affine transformed with the affine transformation parameters is overwritten so as to overlap the image 441 corresponding to the immediately preceding frame. That is, in the region of the image 441, the image of the image 442 is overwritten in the region 450 that overlaps with the image 442.
  • the image of the image 441 is synthesized. That is, when the image 442 corresponding to the second frame is displayed, as shown in FIG. 18B, the entire portion of the image 442 and the areas 451 and 452 in the image 441 are corresponded. An image obtained by combining the portions is displayed. In addition, an image frame indicating the latest image among the displayed images can be displayed around the image corresponding to the current frame. In FIG. 18B, an image frame is displayed on the image 442.
  • the image conversion unit 180 holds affine transformation parameters obtained by affine transformation of the image 442.
  • the image 443 corresponding to the next frame is displayed, the image 443 is affine transformed using the affine transformation parameters associated with this frame. That is, the image 443 is affine-transformed with the affine transformation parameters obtained using the affine transformation parameter matrix corresponding to the image 443 and the affine transformation parameter matrix corresponding to the image 442 used for the immediately preceding affine transformation. . In the image shown in FIG. 18C, only the angle of the image 443 is converted. Then, the affine transformed image 443 is overwritten so as to overlap the synthesized image of the images 441 and 442 corresponding to the previous frame.
  • the image of the image 443 is overwritten in areas 453 to 457 that overlap with the image 443 among the areas of the composite image of the images 441 and 442.
  • the combined image of the images 441 and 442 is further combined. That is, when the image 443 corresponding to the third frame is displayed, as shown in FIG. 18C, the entire portion of the image 443 and the portion corresponding to the region 459 in the image 441 , An image obtained by combining the portions corresponding to the regions 458 and 461 in the image 442 is displayed.
  • the image conversion unit 180 holds affine transformation parameters obtained by affine transformation of the image 443. That is, the affine transformation parameters obtained using the affine transformation parameters corresponding to the images 442 and 443 are held in the image conversion unit 180.
  • FIG. 19 is a diagram schematically showing a relationship between each frame of the moving image file stored in the moving image storage unit 200 and the display area in the embodiment of the present invention.
  • the operation accepting unit 270, the metadata storage unit 210, and the image memory 220 are illustrated, and illustrations of other configurations are omitted.
  • a composite image is created in the image memory 220 using the affine transformation parameters 216 stored in the metadata file 211 for the frames “1” to “3” constituting the moving image file 201 shown in FIG. This will be described as an example.
  • FIG. 19 shows an example in which one moving image is held in the image memory 220, but the case where a plurality of moving images are held in the image memory 220 is similarly synthesized.
  • FIG. 19A shows a case where frame 1 (205), which is the first frame among the frames constituting the moving image file 201 shown in FIG. 5B, is stored in the image memory 220.
  • frame 1 (205) which is the first frame among the frames constituting the moving image file 201 shown in FIG. 5B
  • an image 471 corresponding to frame 1 (205) of the moving image file 201 is stored in the image memory 220.
  • the position and size at which the image 471 corresponding to the first frame is held in the image memory 220 may be stored in a position designated in advance, and may be designated by the user in the operation reception unit 270. You may make it preserve
  • the size of a composite image created by each frame constituting the moving image is calculated, and an image 471 is calculated based on this calculation. You may make it determine the position preserve
  • the upper left position of the image 471 arranged on the image memory 220 is the origin, the horizontal direction (horizontal axis) is the x axis, and the vertical direction (vertical axis) is the y axis.
  • a display area when an image 471 is arranged on the image memory 220 is a display area 470.
  • the display area 470 may be determined according to the value of the display magnification accepted by the operation accepting unit 270, for example, based on the position and size of the composite image created from the moving image.
  • the position of the display area 470 with respect to the image 471 can be determined by affine transformation parameters. That is, when the display magnification of “0.5 times” for zooming out the current image is specified, the display area is set using the affine transformation parameters that double the zoom components in the x and y directions. The Even when the display area is translated or rotated with respect to the current image, the position and range of the display area can be determined by using the affine transformation parameters.
  • FIG. 19B shows a case where frame 2 (206) of the frames constituting the moving image file 201 shown in FIG. 5B is stored in the image memory 220.
  • the image 472 corresponding to the frame 2 (206) using the affine transformation parameters 216 stored in the metadata file 211 in association with the frame numbers 215 “1” and “2”. Are converted and overwritten on the image 471.
  • FIG. 19 (c) shows a case where frame 3 of the frames constituting the moving image file 201 shown in FIG. 5 (b) is stored in the image memory 220. Also in this case, as described above, the image 473 corresponding to the frame 3 is converted using the affine transformation parameters 216 stored in the metadata file 211 in association with the frame numbers 215 “1” to “3”. The images 471 and 352 are overwritten and synthesized.
  • FIG. 20 is a diagram schematically showing the flow of each frame of the moving image file stored in the moving image storage unit 200 in the embodiment of the present invention.
  • the operation receiving unit 270 the moving image storage unit 200
  • the metadata storage unit 210 the image memory 220
  • the display memory 240 the illustration of the other configurations is omitted.
  • FIG. 20 a case where one moving image is displayed on the display unit 260 is shown as an example, but the case where a plurality of moving images are displayed on the display unit 260 is also synthesized.
  • FIG. 20 (a) shows a simplified video file 201 and metadata file 211 shown in FIG. 5 (b).
  • an image corresponding to the frame i (207) constituting the moving image file 201 is displayed will be described. That is, for the images corresponding to frames 1 to “i ⁇ 1” constituting the moving image file 201, it is assumed that a composite image has been created.
  • FIG. 20B schematically shows an image memory 220 that holds a composite image in which images corresponding to the frames constituting the moving image file 201 are combined.
  • an image 471 corresponding to frame 1 (661) constituting the moving image file 201 is first held in the image memory 220.
  • each image corresponding to the frames 2 to “i ⁇ 1” constituting the moving image file 201 is associated with each of the frames 2 to “i ⁇ 1” and metadata.
  • the affine transformation parameters 216 stored in the file 211 are sequentially used for affine transformation, and the affine transformation images are sequentially overwritten and held in the image memory 220.
  • the display area extraction unit 230 extracts an image existing in the display area for each frame.
  • An image corresponding to frame i (207) constituting the moving image file 201 is displayed in frames 1 to i in a state where a composite image of each image corresponding to frames 1 to “i-1” is held in the image memory 220.
  • An affine transformation is performed using the affine transformation parameters 216 stored in the metadata file 211 in association with each other, and the affine transformed current image 474 is overwritten and held in the image memory 220.
  • the display area extraction unit 230 extracts an image existing in the display area 470 from the composite image held in the image memory 220, and displays the extracted image as shown in FIG. 20C, for example. Is stored in the memory 240.
  • FIG. 20C schematically shows the display memory 240 in which the image extracted by the display area extracting unit 230 is held.
  • the current image 475 corresponding to the current frame among the images extracted by the display area extracting unit 230 is not the current image 474 extracted from the image memory 220 by the display area extracting unit 230 but the moving image storage unit 200.
  • An image acquired and affine transformed by the image conversion unit 180 is used.
  • the storage position of the current image 475 in the display memory 240 can be determined based on the position and size of the current image 474 in the image memory 220 and the position and size of the display area 470 in the image memory 220.
  • the matrix of affine transformation parameters stored in the metadata file 211 in association with the frame numbers 215 “1” to “i” is A1,..., Ai, respectively, and the affine transformation parameters for determining the display area 470 are determined.
  • a matrix with the image memory 220 as a reference is C, using Inv (C) ⁇ A1 ⁇ ... ⁇ Ai with the position of the image 471 as a reference, The storage location of the current image 475 can be determined.
  • the image extracted by the display area extraction unit 230 is held in the display memory 240, and the image extracted by the display area extraction unit 230 is acquired from the moving image storage unit 200.
  • the image affine transformed by the image conversion unit 180 is overwritten and held in the display memory 240.
  • the image held in the display memory 240 is displayed on the display unit 260.
  • a relatively clean current image can be displayed by using an image in a state before being subjected to processing such as reduction after affine transformation and stored in the image memory 220.
  • the current image can be displayed in a beautiful state even when it is enlarged by a user operation.
  • FIG. 21 is a figure which shows the example of a display in the case of reproducing
  • an image 480 is shown during reproduction of a moving image when a parent and child playing in a grassy plaza with a large building are photographed while moving the camera mainly in the left-right direction.
  • an image 481 synthesized by images corresponding to the respective claims constituting the moving image is formed in a panoramic shape.
  • the image corresponding to the current frame in the image 480 is the current image 482.
  • the user can specify a desired display magnification by operating a display magnification specifying key in the operation receiving unit 270.
  • a display magnification specifying key for example, as shown in FIG. 21A, when the image 480 is displayed on the display unit 260, when the image area surrounded by the frame 483 is displayed in an enlarged manner, the user uses the operation receiving unit 270.
  • the display magnification designation key By operating the display magnification designation key to designate the display magnification and designating the position, the image area surrounded by the frame 483 can be enlarged and displayed.
  • FIG. 21 is a diagram showing an image 484 in a state before the current image 482 in the image 480 is subjected to affine transformation.
  • FIG. 22A is a diagram showing an image 485 when the image region surrounded by the frame 483 shown in FIG. 21A is enlarged and displayed.
  • An image 485 shown in FIG. 22A is an image synthesized in the display memory 240 in a state before the current image after the affine transformation is stored in the image memory 220.
  • a relatively fine image in a state before being stored in the image memory 220 is displayed.
  • the current image 486 is compared with an area other than this area, the current image 486 that is relatively clearer than the other areas can be seen.
  • the 22B is an image stored in the display memory 240 in a state where the current image after affine transformation is stored in the image memory 220. When displayed in this way, an image of the same level as the image of the other region is also displayed in the region of the current image 488. That is, according to the embodiment of the present invention, when an image is combined and displayed, the history image held in the display memory 240 may be compressed, but the current (current) image is an uncompressed image. Alternatively, since an image having a higher resolution than that of the history image can be used, high-quality image composition display can be realized.
  • the composite image is displayed only in the display area of the display unit 260 in the area where the image corresponding to the current frame and the previous frame constituting at least one of the moving images is displayed.
  • An example of blackening the area is shown.
  • a frame is displayed around the image corresponding to the current frame.
  • the display example shown below shows a display example from the middle of one moving image being reproduced.
  • a composite image is sequentially displayed for each frame, but in the same figure, a display example is shown at a predetermined number of frame intervals, and illustration of the composite image displayed between the frames is omitted. For this reason, the movement of the frame corresponding to the current frame is large in FIG.
  • FIG. 23 to FIG. 26 are diagrams showing an example of transition of a moving image taken by a camera.
  • the figure shows images 730 to 741 constituting a moving image when a parent and child playing in a grassy square with a large building are photographed while moving the camera mainly in the left-right direction. Note that this moving image is the same as the moving image shown in FIGS. 21 and 22.
  • the image corresponding to the current frame is the image 750.
  • the current image is indicated by the same reference numeral 750 even if the synthesized images are different.
  • an object to be photographed (grass square or the like) included in the photographed image is fixed on the screen, and an image 750 corresponding to the current frame moves on the screen in accordance with the movement of the camera.
  • a moving image to be reproduced includes a moving image that has not been edited since it was captured by the camera (an unedited moving image), a moving image that has been captured after being captured by the camera (an edited moving image), and the like.
  • These unedited videos include parts that are not in focus on some or all of them, those that include parts where people suddenly crossed the front of the camera during imaging, and cameras that change drastically during imaging. It is conceivable that the change is included in the image, or another scene is imaged while the imaging moving image recording instruction button is pressed.
  • the edited moving image for example, one in which different scenes are linked by editing can be considered.
  • the affine transformation parameters cannot be detected properly and the affine transformation parameters are erroneously detected.
  • the image cannot be appropriately converted.
  • the affine transformation parameter is corrected or the synthesized image is divided based on the feature amount extracted from each image constituting the moving image.
  • the affine transformation parameter is corrected when the feature amount extracted from each image constituting the moving image satisfies a predetermined condition.
  • a predetermined condition relating to the correction of the affine transformation parameter for example, the condition is that the scene change score is equal to or greater than a threshold value, or the case where at least one of each component of the camera work is equal to or greater than the threshold value. Can do. Moreover, you may make it make the conditions satisfy
  • an affine transformation parameter is erroneously detected at a position determined to be a scene change point, it is possible to avoid failure as a composite image by performing correction.
  • a correction method for correcting the affine transformation parameters a method of correcting by replacing with a unit matrix, or a method of correcting by a matrix (for example, a linear interpolation matrix) that can suppress the camera work speed can be used. Thereby, a high-speed camera work can be suppressed and the browsing property of a moving image can be improved. Further, even when an affine transformation parameter is erroneously detected, it is possible to suppress an influence on the composition of images after the image related to the erroneous detection.
  • the affine transformation parameter correction method will be described in detail with reference to FIG.
  • a setting for prohibiting correction may be made in accordance with an operation input from the operation reception unit 270.
  • the synthesized image when the feature amount extracted from each image constituting the moving image satisfies a predetermined condition, the synthesized image is different from the synthesized image formed by each previous image.
  • a discontinuous moving image can be isolate
  • the images corresponding to each scene can be dispersed, it is possible to easily search a wide range of moving images over time.
  • the predetermined condition relating to the division of the composite image for example, when the scene change score is equal to or greater than a threshold, when at least one of the components of the camera work is equal to or greater than the threshold, each average value of the camera work components When at least one of them is equal to or greater than a threshold value, when at least one of the integrated values of the camera work components is equal to or greater than the threshold value (zoom-in / zoom-out rate threshold value determination, panning or tilting angle threshold value determination, etc.)
  • the playback time from the first frame may be a threshold or more. Further, a case where at least two of these are satisfied may be set as a predetermined condition. Note that the composite image dividing method will be described in detail with reference to FIGS.
  • the position corresponding to the scene change score can be determined as the scene change point.
  • the position determined to be the scene change point may be a cut point (edit point) or a position where the subject of the same scene has changed greatly.
  • a camerawork component when using a camerawork component as a condition for dividing a composite image, it is preferable to use a camerawork component for a relatively long time rather than an instantaneous camerawork component. That is, it is preferable to perform threshold determination using an average value of components for the past several frames (a value to which a low-pass filter is applied) rather than a camerawork component related to one frame. By doing so, excessive division can be prevented.
  • REC button imaging moving image recording instruction button
  • the integrated value of the zoom component among the integrated values of the camera work component is an enlargement of the camera work component corresponding to the current frame with respect to the first frame (in this case, the first frame after division) constituting the moving image.
  • the amount of change in the reduction component, and the integrated value of this zoom component can be used for threshold determination. For example, if the zoom-in operation is excessively performed at the time of image capturing by the camera, the current image in the synthesized image being synthesized and reproduced may become too small, which may make it difficult to see the current image. Therefore, when the change amount of the enlargement / reduction component of the camera work component becomes large, it is possible to make a moving image related to the combined reproduction easy to view by setting the combined image as a new combined image.
  • the translational component integration value of the integration values of the camerawork component is the translation of the camerawork component corresponding to the current frame with respect to the first frame (in this case, the first frame after division) constituting the moving image.
  • the amount of change of the component, and the integrated value of the translation component can be used for threshold determination.
  • the integrated value of the translation component can be considered as a panning angle or a tilting angle. For example, when an image is captured by an actual camera, the photographer rotates while taking the photographer holding the camera as the center position, and the camera is directed in one direction while moving horizontally. It is difficult to distinguish from the case where imaging is performed. However, the rotation angle of the camera when the photographer rotates and takes an image is reflected in the size of the composite image.
  • the panning angle or tilting angle and the translation component are regarded as the same, and the division process can be performed.
  • the panning operation is excessively performed at the time of image pickup by the camera, the combined image being combined and reproduced may become extremely horizontally long.
  • the tilting operation is excessively performed at the time of image pickup by the camera, the combined image being combined and reproduced may be extremely long. For this reason, it may be difficult to see an image and a composite image corresponding to the current frame. Therefore, when the amount of change in the translational component of the camera work component becomes large, it is possible to make the moving image related to the combined reproduction easy to see by using a new combined image obtained by dividing the combined image.
  • the playback time from the first frame is equal to or greater than the threshold.
  • the overlap of each frame increases, so the amount of information related to the moving image May be lacking.
  • an image with a relatively new playback time is overwritten on an image with a relatively old playback time.
  • the functionality as an index of the composite image is inferior and the viewability is inferior. Therefore, by forcibly dividing the composite image in a certain time (for example, 5 minutes), the functionality as an index of the composite image and the viewability of the composite image can be improved.
  • a minimum reproduction time (for example, 5 seconds) may be set. That is, even when the predetermined condition relating to the division of the composite image described above is satisfied, the division processing is not performed within the minimum reproduction time after the division of the composite image.
  • the function as an index of the composite image to be displayed can be improved, and the consistency as the video is ensured and the composite image Can be improved.
  • these division determinations may be performed independently based on each element, or may be performed only when a plurality of elements satisfy the condition at the same time. Further, for example, when detecting affine transformation parameters for each image constituting a moving image, a detection result indicating that feature points cannot be matched is stored in the metadata storage unit 210 in association with a frame, and this detection is performed. Based on the result, the necessity for correction or the necessity for division may be determined. That is, if the detection result is normal detection although the threshold value is exceeded, it can be determined that correction is not performed.
  • FIG. 27 is a diagram schematically illustrating a case where the images 501 to 517 constituting the moving image file 500 are combined.
  • FIG. 27A shows a case where the images 501 to 517 are synthesized using the affine transformation parameters associated with the images 501 to 517.
  • FIGS. 27B and 27C show the images.
  • a case is shown in which images 501 to 517 are synthesized using affine transformation parameters in which some of the affine transformation parameters associated with 501 to 517 are corrected.
  • the images 508 to 510 may be converted regardless of the movement of the camera.
  • the images 508 to 510 may be converted larger than the conversion amount of other images regardless of the movement of the camera.
  • the parts of the images 508 to 510 are greatly different from the part of the actual subject, so that the composite image being reproduced and finally formed. There is a high possibility that the composite image will be difficult to see.
  • the composite image is prevented from being significantly different from the actual subject portion, and the composite image being reproduced and the final image are reproduced. It is possible to make it easy to see the synthesized image.
  • a linear method based on a correction method for correcting a matrix of affine transformation parameters into a unit matrix and a matrix of affine transformation parameters associated with an image in the front-rear direction A correction method for performing interpolation will be described.
  • the images 508 to 510 are converted using the unit matrix, when viewed on the basis of the image 507, the images 508 to 510 are not actually converted and are located at the same position as the immediately preceding image 507. Synthesized. That is, as shown in FIG. 27B, the images 508 to 510 are overwritten and synthesized at the position of the image 507 whose inside is indicated by diagonal lines. Note that the image 511 immediately after the image 510 is subjected to normal conversion using the affine transformation parameters associated with the image 511.
  • a front image that is an image positioned before these continuous images and an image that is positioned after these continuous images A side image is extracted.
  • the front image and the rear image are images that are adjacent in the front-rear direction of the above-described successive images among images whose feature amounts do not satisfy the correction condition. Then, correction is performed using the average value of the matrix of affine transformation parameters associated with the extracted front image and rear image.
  • the images 508 to 510 are converted using the linear interpolation matrix, the images 508 to 510 are converted by the average value of the conversion amounts of the images 507 and 511 located before and after the images 508 to 510, for example, FIG. As shown in (c) of FIG. 5, images 508 to 510 are sequentially synthesized by overwriting an image 507 whose inside is hatched. Subsequently, normal conversion is performed on the image 511 immediately after the image 510 using the affine conversion parameters associated with the image 511.
  • the affine transformation parameters associated with the images 508 to 510 are uncertain affine transformation parameters (when the feature amount is equal to or greater than a threshold value).
  • the images 507 to 517 are converted in a direction different from the movement of the camera.
  • the images 507 to 517 have different directions from the camera movement. Therefore, it is possible to make it easy to see the composite image being reproduced or the composite image created.
  • a correction method for correcting an affine transformation parameter a case where the affine transformation matrix is corrected to a unit matrix or a case where a linear interpolation matrix is corrected has been described.
  • a matrix of affine transformation parameters associated with images up to a predetermined number before the target image may be sequentially added to calculate an average value of the matrix after the addition, and the average value matrix may be corrected. .
  • FIG. 28 is a diagram schematically showing the relationship between each frame constituting the moving image and the scene change score calculated for these frames.
  • the graph shown in FIG. 28A is a graph showing the scene change score calculated for each frame constituting the moving picture in time series, the horizontal axis shows the imaging time, and the vertical axis shows the scene change score.
  • a dotted line 533 is a dotted line indicating a threshold value for determining whether or not an image corresponding to each frame corresponds to a scene change point in the graph shown in FIG. That is, when the scene change score is equal to or higher than the dotted line 533, an image corresponding to the scene change score is determined as an image corresponding to the scene change point.
  • a position indicating a scene change score calculated for the frame 11 (531) among the frames 1 to 20 constituting the moving image 530 is indicated by a point 532.
  • the image corresponding to the frame 11 (531) is determined to be an image corresponding to the scene change point.
  • the scene change score other than the frame 11 (531) is equal to or less than the dotted line 533, and thus is not determined to be an image corresponding to the scene change point.
  • the scene change score is determined by the conversion information correction unit 160 and the composite image division determination unit 170.
  • FIG. 29 is a diagram schematically showing a case where the images 551 to 567 composing the moving image 530 shown in FIG. 28B are synthesized.
  • FIG. 29A shows a case where images 551 to 567 are synthesized using affine transformation parameters associated with images 551 to 567
  • FIGS. 29B and 29C show images. A transition when a part of 551 to 567 is divided and combined is shown.
  • images 551 to 567 constituting the moving image 530 shown in FIG. 29 are images corresponding to the frames 1 to 17 shown in FIG. 28B, and an image 561 whose inside is hatched is shown in FIG. The image corresponds to the frame 11 (531) shown in FIG. That is, the image 561 is an image corresponding to a scene change point.
  • the scene change score corresponding to the current image is equal to or greater than the threshold value and at least one of the average values of the camera work components is equal to or greater than the threshold value, the scene change score is associated with the current image.
  • An example is shown in which the current image is not converted using the affine transformation parameters, and a new composite image is created separately from the current composite image.
  • the image 561 is displayed. Is included in the moving image 530, but is likely to be an image captured in a scene different from the images 551 to 560.
  • the images 562 to 567 after the image 561 are captured in the same scene as the image 561, there is a high possibility that the images are captured in a scene different from the images 551 to 560.
  • FIG. 29 (a) when images 561 to 567 captured in a scene different from images 551 to 560 are overwritten on images 551 to 560, two different scenes are included.
  • FIG. 30 is a diagram schematically illustrating a case where the images 551 to 567 composing the moving image 530 illustrated in FIG. 28B are combined.
  • the composite image shown in FIG. 30A is the same as the composite image shown in FIG. FIGS. 30B and 30C show transitions in the case where a part of the images 551 to 567 is divided and combined, and the combined image before the division is left. Note that this is the same as the case shown in FIG. 29 except that the composite image before division is left and the current image is arranged at a position different from the position of the composite image before division.
  • the arrangement position of the image corresponding to the first frame constituting the moving image is set at the origin on the xy coordinates, and the arrangement position of the image satisfying the division condition is on the xy coordinates. Is set as the arrangement position 580.
  • the current image becomes an image 561 that satisfies the division conditions after the composite reproduction up to the image 560 is performed, it is shown in (c) of FIG.
  • the image 561 is held at the arrangement position 580 different from the position of the composite image formed by the images 551 to 560.
  • an image holding position that satisfies the division condition may be set in advance, and is determined based on the size of the combined image so that the arrangement position is different from the already formed combined image. You may make it do.
  • FIG. 30 an example in which the right side of an already formed composite image is set as the holding position of an image that satisfies the division condition has been described, but another direction may be set as the holding position.
  • FIG. 31 and FIG. 32 are diagrams illustrating an example of a composite image formed by a moving image photographed by a camera.
  • FIG. 31 when a photographer in a building is photographing the outdoors from a building window, the camera is turned leftward by a relatively fast panning operation, and the moving image is taken inside the building.
  • Composite images 590, 592, and 593 formed by the above are shown. That is, in the composite image 590, the right image is a relatively old image, and becomes a new image as it proceeds to the left. Further, the portion of the image surrounded by the dotted circle 591 shown in FIG. 31A is a portion in which the orientation of the camera is changed by a relatively fast panning operation.
  • the subject before and after the image is synthesized regardless of the imaging space.
  • FIG. 31A an outdoor subject that should actually be separated and an indoor subject are combined at a portion surrounded by a dotted circle 591. Therefore, a composite image corresponding to the subject can be created by dividing the composite image described above or correcting the affine transformation parameters.
  • the condition for correcting the affine transformation parameter and the condition for dividing the composite image are satisfied in the portion of the image surrounded by the dotted circle 591 shown in FIG.
  • a composite image 592 illustrated in FIG. 31B is a composite image corresponding to the right portion of the composite image 590 illustrated in FIG.
  • conditions for dividing the composite image in the portion of the image surrounded by the dotted circle 591 shown in FIG. In order to satisfy the above, the composite image 592 shown in FIG. 31B is deleted. Then, an image that satisfies the condition for dividing the composite image is displayed at the arrangement position of the first frame, and the subsequent images are sequentially combined to form a composite image 593.
  • FIG. 32 in the same manner as in FIG. 31, in the state where the photographer in the building is photographing the outside from the building window, the direction of the camera is changed to the left side by a relatively fast panning operation to 3 shows synthesized images 590, 594, and 595 formed by moving images. Note that the composite image 590 and the dotted circle 591 shown in FIG. 32A are the same as those shown in FIG.
  • a composite image 594 shown in FIG. 32B is a composite image corresponding to the right portion of the composite image 590 shown in FIG.
  • the affine transformation parameter correction is performed in the image portion surrounded by the dotted circle 591 shown in FIG.
  • the composite image 594 shown in FIG. 32B is deleted. Then, an image that satisfies the condition for dividing the composite image is displayed at the arrangement position of the first frame, and subsequent images are sequentially combined to form a composite image 595.
  • the correction for the affine transformation parameter is sequentially performed when the condition for correcting the affine transformation parameter is satisfied.
  • the composite image 595 shown in FIG. 32C is different from the composite image 593 shown in FIG. 31C because the affine transformation parameters are sequentially corrected. That is, since the affine transformation parameters are corrected in the left part of the image surrounded by the dotted circle 591 shown in FIG. 32A, the affine transformation parameter is corrected compared to the composite image 593 shown in FIG. The change in the left-right direction can be reduced, and an image portion on which a relatively fast panning operation has been performed can be corrected appropriately.
  • the user can view the composite image corresponding to the scene.
  • affine transformation parameters that have not been properly detected by the relatively fast panning operation can be corrected to reduce unnecessary changes in the composite image.
  • the example in which an already formed composite image is erased and another composite image is played back has been described. However, when another composite image is played back with the already formed composite image remaining. The same applies to.
  • FIG. 33 is a flowchart showing a processing procedure of moving image reproduction processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • the composite image division determination unit 170 outputs that the image corresponding to the current frame is to be divided and reproduced, the composite image of each image corresponding to the frame before the current frame is displayed. An example of erasing will be described.
  • Step S921 a work buffer larger than the size of the image constituting the moving image is secured in the image memory 220.
  • the file acquisition unit 140 acquires the moving image file selected by the operation receiving unit 270 from the moving image storage unit 200, and acquires the metadata file associated with these moving image files from the metadata storage unit 210. (Step S922).
  • the file acquisition unit 140 decodes the moving image file and acquires a current frame that is one frame constituting the moving image file (step S923). Subsequently, the file acquisition unit 140 acquires an affine transformation parameter corresponding to the acquired current frame from the metadata file (step S924). Here, if the current frame is the first frame, the affine transformation parameters of the unit matrix are acquired.
  • the feature amount extraction unit 150 calculates a scene change score for the image corresponding to the current frame (step S925).
  • the camera work component calculation unit 155 calculates each component of the camera work from the affine transformation parameters corresponding to the current frame (step S926).
  • the camerawork component average value calculation unit 157 applies each component of the camerawork corresponding to the current frame and each frame from the immediately previous frame held in the camerawork component holding unit 156 to a frame a predetermined number of frames ago. Based on the corresponding components of the camera work, an average value of the camera work components is calculated (step S927).
  • the camera work component integrated value calculation unit 158 corresponds to each component of the camera work corresponding to the current frame and each frame from the first frame held in the camera work component holding unit 156 to the previous frame. Based on each component of the camera work, an integrated value of the camera work component is calculated (step S928).
  • step S940 conversion information correction processing
  • step S940 conversion information correction processing
  • step S950 composite image division determination process
  • the image conversion unit 180 affine-transforms the image corresponding to the current frame using the affine transformation parameters (step S929).
  • the composite image division determination unit 170 outputs that the image corresponding to the current frame is to be divided and reproduced, the actual image is not converted because the affine transformation is performed using the unit matrix.
  • the conversion information correction unit 160 corrects the affine transformation parameters when the composite image division determination unit 170 does not output that the image corresponding to the current frame is divided and reproduced, the affine transformation after the correction is performed. Affine transformation is performed using the parameters.
  • the affine transformation corresponding to the current frame is performed. Affine transformation is performed using the parameters.
  • the current frame is the first frame, an affine transformation is performed using a unit matrix, and thus an actual image is not transformed.
  • the image composition unit 190 synthesizes an image corresponding to the current frame subjected to the affine transformation by overwriting the composite image of each image corresponding to the frame before the current frame, and corresponds to the current frame.
  • the combined image is stored in the image memory 220 (step S930). If the composite image division determination unit 170 outputs that the image corresponding to the current frame is to be divided and reproduced, the composite image of each image corresponding to the frame before the current frame is deleted. Therefore, only the image corresponding to the current frame is stored in the image memory 220.
  • the display area extraction unit 230 determines the position and size of the display area using the affine transformation parameters corresponding to the designated display magnification and position (step S931). Subsequently, the display area extraction unit 230 extracts the composite image included in the display area from the image memory 220 (step S932). Subsequently, the display area extraction unit 230 stores the composite image extracted from the image memory 220 in the display memory 240 (step S933).
  • the display area extraction unit 230 uses the affine transformation parameter matrix used for transforming the current image and the inverse matrix for the affine transformation parameter matrix used for determining the display area, to display memory 240.
  • the position of the current image at is determined (step S934).
  • the image composition unit 190 synthesizes the composite image stored in the display memory 240 by overwriting the current image after affine transformation (step S935).
  • the composite image stored in the display memory 240 is displayed on the display unit 260 (step S936).
  • the composite image division determination unit 170 outputs that the image corresponding to the current frame is to be divided and reproduced, the composite image of each image corresponding to the frame before the current frame is deleted.
  • Step S937 it is determined whether or not the current frame is the last frame among the frames constituting the input moving image file. If the current frame is not the last frame (step S937), the process returns to step S923 to repeat the moving image synthesis reproduction process (steps S923 to S936). On the other hand, if the current frame is the last frame (step S937), the secured work buffer is released (step S938), and the moving image playback process is terminated.
  • FIG. 34 is a flowchart showing a conversion information correction processing procedure (processing procedure of step S940 shown in FIG. 33) in the processing procedure of the moving image reproduction processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • the affine transformation parameter corresponding to the current frame is determined based on whether at least one of the components of the camera work corresponding to the current frame is equal to or greater than the threshold and whether the scene change score is equal to or greater than the threshold.
  • An example of correction will be described.
  • the conversion information correction unit 160 determines whether or not at least one of the components of the camera work corresponding to the current frame is equal to or greater than a threshold value (step S941). If at least one of the camerawork components corresponding to the current frame is not greater than or equal to the threshold (step S941), the conversion information correction unit 160 determines whether or not the scene change score calculated for the current frame is greater than or equal to the threshold. Judgment is made (step S942). If the scene change score calculated for the current frame is not greater than or equal to the threshold value (step S942), it is not necessary to correct the affine transformation parameters corresponding to the current frame, and the operation of the conversion information correction process is terminated.
  • the conversion information correction unit 160 corrects the matrix of affine transformation parameters corresponding to the current frame into a unit matrix (step S943).
  • correction is performed using a linear interpolation matrix instead of the unit matrix, if it is determined in step S941 or S942 that the threshold is greater than or equal to the threshold, it corresponds to each frame in the front-rear direction of the current frame in step S943.
  • a linear interpolation matrix is calculated using the affine transformation parameters, and correction is performed using this linear interpolation matrix.
  • FIG. 35 is a flowchart showing a composite image division determination processing procedure (processing procedure of step S950 shown in FIG. 33) in the processing procedure of moving image reproduction processing by the image processing apparatus 100 according to the embodiment of the present invention.
  • at least one of the average values of each component of the camera work corresponding to the current frame is equal to or greater than the threshold value, and whether the scene change score is equal to or greater than the threshold value.
  • An example will be described in which it is determined whether or not the image corresponding to the current frame needs to be divided based on whether or not at least one of the integrated values is equal to or greater than the threshold and whether or not the reproduction time is equal to or greater than the threshold.
  • the composite image division determination unit 170 determines whether at least one of the average values of the components of the camera work corresponding to the current frame is equal to or greater than a threshold (step S951). If at least one of the average values of the components of the camera work corresponding to the current frame is not equal to or greater than the threshold value (step S951), the process proceeds to step S953. On the other hand, if at least one of the average values of the components of the camera work corresponding to the current frame is equal to or greater than the threshold value (step S951), the composite image division determination unit 170 determines that the scene change score calculated for the current frame is the threshold value. It is determined whether or not the above is true (step S952).
  • the composite image division determination unit 170 has at least one of the integrated values of the components of the camera work corresponding to the current frame greater than or equal to the threshold. Whether or not (step S953).
  • the composite image division determination unit 170 is included in the current composite image held in the image memory 220. It is determined whether or not the playback time from the first frame of the image to be recorded has exceeded a threshold value (step S954).
  • step S954 If the playback time from the first frame of the images included in the current composite image held in the image memory 220 has not exceeded the threshold (step S954), the image corresponding to the current frame is divided. Since it is not necessary, the operation of the composite image division determination process ends.
  • step S951 and S952 when at least one of the average values of each component of the camera work corresponding to the current frame is equal to or greater than the threshold and the scene change score calculated for the current frame is equal to or greater than the threshold (steps S951 and S952), When at least one of the integrated values of each component of the corresponding camera work is greater than or equal to the threshold (step S953), or from the first frame of the images included in the current composite image held in the image memory 220 If the reproduction time has exceeded the threshold (step S954), the image composition unit 190 deletes the composite image held in the image memory 220 (step S955). Subsequently, the image conversion unit 180 changes the matrix of affine transformation parameters corresponding to the current frame to a unit matrix (step S956).
  • FIG. 36 is a diagram showing a configuration example of the multi-core processor 800 in the embodiment of the present invention.
  • the multi-core processor 800 is a processor in which a plurality of different types of processor cores are mounted on one CPU (Central Processing Unit) package. That is, in the multi-core processor 800, in order to maintain the processing performance of each processor core alone and to have a simple configuration, one type of core corresponding to every application (application) and a certain degree of optimization for a predetermined application are used. Two or more types of processor cores with other types of cores are mounted.
  • CPU Central Processing Unit
  • the multi-core processor 800 includes a control processor core 801, arithmetic processor cores (# 1) 811 to (# 8) 818, and a bus 802, and is connected to the main memory 781.
  • the multi-core processor 800 is connected to other devices such as a graphics device 782 and an I / O device 783, for example.
  • the multi-core processor 800 for example, “Cell (Cell: Broadband Engine)” which is a microprocessor developed by the applicant of the present application can be employed.
  • the control processor core 801 is a control processor core that mainly performs frequent thread switching such as an operating system.
  • the control processor core 801 will be described in detail with reference to FIG.
  • the arithmetic processor cores (# 1) 811 to (# 8) 818 are simple and small arithmetic processor cores that specialize in multimedia processing.
  • the arithmetic processor cores (# 1) 811 to (# 8) 818 will be described in detail with reference to FIG.
  • the bus 802 is a high-speed bus called EIB (Element Interconnect Bus), and the control processor core 801 and the arithmetic processor cores (# 1) 811 to (# 8) 818 are connected, and data access by each processor core is performed. This is done via the bus 802.
  • EIB Element Interconnect Bus
  • the main memory 781 is connected to the bus 802 and stores various programs to be loaded into each processor core and data necessary for processing of each processor core, and also stores data processed by each processor core. is there.
  • the graphics device 782 is a graphics device connected to the bus 802, and the I / O device 783 is an external input / output device connected to the bus 802.
  • FIG. 37 is a diagram showing a configuration example of the control processor core 801 in the embodiment of the present invention.
  • the control processor core 801 includes a control processor unit 803 and a control processor storage system 806.
  • the control processor unit 803 is a unit that performs the arithmetic processing of the control processor core 801.
  • the control processor unit 803 includes an instruction set based on a microprocessor architecture, and includes an instruction cache 804 and a data cache 805 as primary caches.
  • the instruction cache 804 is, for example, a 32 KB instruction cache
  • the data cache 805 is, for example, a 32 KB data cache.
  • the control processor storage system 806 is a unit that controls data access from the control processor unit 803 to the main memory 781, and is equipped with a 512 KB secondary cache 807 for speeding up memory access from the control processor unit 803. Yes.
  • FIG. 38 is a diagram showing a configuration example of the arithmetic processor core (# 1) 811 in the embodiment of the present invention.
  • the arithmetic processor core (# 1) 811 includes an arithmetic processor unit 820 and a memory flow controller 822.
  • the arithmetic processor cores (# 2) 812 to (# 8) 818 have the same configuration as that of the arithmetic processor core (# 1) 811, and thus the description thereof is omitted here.
  • the arithmetic processor unit 820 is a unit that performs the arithmetic processing of the arithmetic processor core (# 1) 811 and includes a unique instruction set different from the control processor unit 803 of the control processor core 801.
  • the arithmetic processor unit 820 is equipped with a local store (LS) 821.
  • the local store 821 is a dedicated memory of the arithmetic processor unit 820, and is the only memory that can be directly referred to from the arithmetic processor unit 820.
  • As the local store 821 for example, a memory having a capacity of 256 Kbytes can be used.
  • the memory flow controller 822 is used for the arithmetic processor unit 820 to access a local store on the main memory 781 and other arithmetic processor cores (arithmetic processor cores (# 2) 812 to (# 8) 818). There is a need to.
  • the memory flow controller 822 is a unit for exchanging data with the main memory 781 and other arithmetic processor cores, and is a unit called an MFC (Memory Flow Controller).
  • MFC Memory Flow Controller
  • the arithmetic processor unit 820 requests the memory flow controller 822 for data transfer or the like via an interface called a channel.
  • FIG. 39 is a diagram schematically showing a calculation method of the multi-core processor 800 in the embodiment of the present invention.
  • the control processor core 801 executes the task 784 using the data 785
  • the task 786 necessary for the processing of the task 786 that is a part of the task 784 (a part of the data 785) is used.
  • An example in which each arithmetic processor core executes 786 is illustrated.
  • the control processor core 801 executes the task 784 using the data 785, the data 787 (part of the data 785) necessary for processing of the task 786 which is a part of the task 784 is obtained. And causes each arithmetic processor core to execute task 786.
  • arithmetic processing is performed by each arithmetic processor core for each frame constituting a moving image.
  • the calculation processor cores (# 1) 811 to (# 8) 818 can be used in parallel to perform many calculations in a relatively short time.
  • SIMD Single Instruction / Multiple Data: single instruction / multiple data
  • a relatively large number of instructions can be obtained. Arithmetic processing can be performed.
  • the SIMD calculation will be described in detail with reference to FIGS. 43 to 46 and the like.
  • FIG. 40 is a diagram schematically showing the flow of programs and data in the case where operations are performed by the multi-core processor 800 in the embodiment of the present invention.
  • the arithmetic processor core (# 2) 812 to (# 8) 818 will be described by taking the arithmetic processor core (# 1) 811 of the arithmetic processor cores (# 1) 811 to (# 8) 818 as an example. The same can be done for.
  • control processor core 801 sends an instruction to load the arithmetic processor core program 823 stored in the main memory 781 to the local store 821 of the arithmetic processor core (# 1) 811 to the arithmetic processor core (# 1) 811. .
  • the arithmetic processor core (# 1) 811 loads the arithmetic processor core program 823 stored in the main memory 781 into the local store 821.
  • control processor core 801 instructs the arithmetic processor core (# 1) 811 to execute the arithmetic processor core program 825 stored in the local store 821.
  • the arithmetic processor core (# 1) 811 transfers data 824 necessary for execution processing of the arithmetic processor core program 825 stored in the local store 821 from the main memory 781 to the local store 821.
  • the arithmetic processor core (# 1) 811 processes the data 826 transferred from the main memory 781 based on the arithmetic processor core program 825 stored in the local store 821, and executes processing according to the conditions.
  • the processing result is stored in the local store 821.
  • the arithmetic processor core (# 1) 811 transfers the processing result executed based on the arithmetic processor core program 825 stored in the local store 821 from the local store 821 to the main memory 781.
  • the arithmetic processor core (# 1) 811 notifies the control processor core 801 of the end of the arithmetic processing.
  • SIMD operation is an operation method in which processing for a plurality of data is performed with one instruction.
  • FIG. 41 (a) is a diagram schematically showing an outline of an arithmetic method for performing processing on a plurality of data with respective instructions.
  • the calculation method shown in (a) of FIG. 41 is a normal calculation method, and is called, for example, scalar calculation.
  • the processing result of the data “C1” is obtained by an instruction to add the data “A1” and the data “B1”.
  • the instructions for adding the data “A2”, “A3”, “A4” and the data “B2”, “B3”, “B4” in the same row for the other three operations respectively By this instruction, the values of the respective rows are added, and the processing result is obtained as data “C2”, “C3”, “C4”.
  • FIG. 41 is a diagram schematically showing an outline of SIMD operation, which is an operation method for performing processing on a plurality of data with one instruction.
  • data grouped for SIMD calculation (each data surrounded by dotted lines 827 and 828) may be referred to as vector data.
  • SIMD calculation performed using such vector data may be referred to as vector calculation.
  • data "A1" and “B1” are added, data “A2” and “B2” are subtracted, data “A3” and “B3” are multiplied, and data "A4" and "B4" Cannot be performed by SIMD calculation. That is, when different processing is performed on each of a plurality of data, processing by SIMD calculation cannot be performed.
  • FIG. 42 is a diagram showing a configuration example of a program executed by the control processor core 801 or the arithmetic processor core (# 1) 811 in the embodiment of the present invention. Although only the arithmetic processor core (# 1) 811 is illustrated here, the same processing is performed for the arithmetic processor cores (# 2) 812 to (# 8) 818.
  • the control processor core 801 executes decode 852, interlace 853, and resize 854 as decode 851.
  • the decode 852 is a process for decoding a moving image file.
  • the interlace 853 is a process for removing the interlace for each decoded frame.
  • Resizing 854 is a process of reducing each frame from which the interlace is removed.
  • control processor core 801 executes instruction transmission 857 and 859 and end notification reception 858 and 860 as the arithmetic processor core management 856.
  • the instruction transmissions 857 and 859 are processes for transmitting SIMD calculation execution instructions to the arithmetic processor cores (# 1) 811 to (# 8) 818
  • the end notification receptions 858 and 860 are the arithmetic processor cores (# 1) Processing for receiving SIMD calculation end notifications from 811 to (# 8) 818.
  • the control processor core 801 executes camera work parameter calculation processing 862 as camera work detection 861.
  • the camera work parameter calculation processing 862 is processing for calculating an affine transformation parameter for each frame based on an optical flow calculated by SIMD calculation by the arithmetic processor cores (# 1) 811 to (# 8) 818.
  • the arithmetic processor core (# 1) 811 includes, as a feature point extraction process 863, a Sobel filter process 864, a second moment matrix calculation process 865, a separable filter process 866, Harris.
  • a corner extraction (Calc Harris) process 867, a dilation process (Dilation) 868, and a rearrangement process (Sort) 869 are executed.
  • the Sobel filter process 864 is a process of calculating the value dx in the x direction obtained using the P2 filter (x direction) and the value dy in the y direction obtained using the Y direction filter. The calculation of the value dx in the x direction will be described in detail with reference to FIGS. 43 to 46.
  • the second moment matrix calculation process 865 is a process of calculating each value of dx 2 , dy 2 , 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 (blurring process) to the dx 2 , dy 2 , dx ⁇ dy images calculated by the second moment matrix calculation process 865.
  • the Harris corner extraction process 867 is a process of calculating a Harris corner score using each value of dx 2 , dy 2 , dx ⁇ dy subjected to the blurring process by the separable filter process 866.
  • the Harris corner score S is calculated by the following equation, for example.
  • the expansion process 868 is a process of performing a blurring process on an image composed of the Harris corner score calculated by the Harris corner extraction process 867.
  • the rearrangement processing 869 arranges pixels in descending order of the Harris corner score calculated by the Harris corner extraction processing 867, picks up a predetermined number from the higher score, and extracts the picked points as feature points. It is processing.
  • the arithmetic processor core (# 1) 811 executes a multi-resolution image creation (Make Pyramid Image) processing 871 and an optical flow calculation (Calc Optical Flow) processing 872 as an optical flow (Optical Flow) processing 870.
  • the multi-resolution image creation process 871 is a process for sequentially creating images reduced to a predetermined number of stages from the image size at the time of image capture by the camera, and the created image is called a multi-resolution image.
  • the optical flow calculation process 872 calculates the optical flow for the smallest image among the multi-resolution images created by the multi-resolution image creation process 871, and uses this calculation result again for the image of the next higher resolution. This is a process for calculating an optical flow, and this series of processes is repeated until the largest image is reached.
  • the feature point extraction process performed by the feature point extraction unit 121 and the optical flow calculation process performed by the optical flow calculation unit 122 shown in FIG. 2 and the like are performed by SIMD calculation using the multi-core processor 800. Processing results can be obtained by parallel processing. Note that the feature point extraction processing and the optical flow calculation processing shown in FIG. 42 and the like are examples, and the multicore processor 800 uses other processing configured by various filter processing, threshold processing, and the like for the images constituting the moving image. SIMD calculation may be performed.
  • FIG. 43 shows a filtering process using the Sobel filter 830 for image data (image data corresponding to one frame constituting a moving image captured by the camera) stored in the main memory 781 according to the embodiment of the present invention. It is a figure which shows roughly the data structure in the case of performing, and the flow of a process. Note that the image data stored in the main memory 781 shown in the figure is shown in a simplified manner with 32 horizontal pixels.
  • the Sobel filter 830 is a 3 ⁇ 3 edge extraction filter. As shown in the figure, filtering processing using a Sobel filter 830 is performed on the image data stored in the main memory 781, and the result of this filtering processing is output. In this example, an example will be described in which four filter results are obtained at a time using SIMD computation.
  • FIG. 44 is a diagram schematically showing a data flow when SIMD computation is performed on the image data stored in the main memory 781 according to the embodiment of the present invention using the Sobel filter 830.
  • a predetermined number of lines for example, 3 lines
  • DMA Direct Memory Access
  • a predetermined number of lines obtained by shifting down each line DMA-transferred to the first buffer 831 by one is DMA-transferred to the second buffer 832.
  • DMA Direct Memory Access
  • FIG. 45 schematically shows a vector creation method for creating nine vectors from image data stored in the first buffer 831 when filtering is performed using the Sobel filter 830 according to the embodiment of the present invention.
  • FIG. 44 after DMA transfer is performed, nine vectors are created from the image data stored in the first buffer 831.
  • vector data 841 is created from four data from the left corner in one line of the image data stored in the first buffer 831, and the vector data is obtained by shifting the four data to the right by one.
  • the vector data 843 is created from four data obtained by shifting the four data by one to the right.
  • the vector data 844 to 849 are generated from the four data in the second and third lines.
  • FIG. 46 is a diagram schematically showing a vector operation method for performing vector operation using SIMD instructions for the vector data 841 to 849 when performing filtering using the Sobel filter 830 according to the embodiment of the present invention. . Specifically, SIMD operations are sequentially performed on the vector data 841 to 843 to obtain the vector A. In this SIMD operation, first, a SIMD operation of ““ ⁇ 1 ” ⁇ “ vector data 841 ”” is executed. Subsequently, a SIMD operation ““ 0 ” ⁇ “ vector data 842 ”” is executed, and a SIMD operation ““ 1 ” ⁇ “ vector data 843 ”” is executed.
  • vector data 842 can be omitted because the calculation result is determined to be “0”.
  • vector data 843 can be omitted because the calculation result is determined to be the same value as “vector data 843”.
  • the addition process of the calculation result ““ ⁇ 1 ” ⁇ “ vector data 841 ” and the calculation result ““ 0 ” ⁇ “ vector data 842 ”” is executed by SIMD calculation.
  • an addition process between the result of the addition process and the calculation result of ““ 1 ” ⁇ “ vector data 843 ”” is executed by SIMD calculation.
  • the calculation of the data structure of “vector data 1” ⁇ “vector data 2” + “vector data 3” can be executed by SIMD calculation.
  • the SIMD operation is performed on the vector data 844 to 846 to determine the vector B
  • the SIMD operation is performed on the vector data 847 to 849
  • the vector C is determined.
  • the SIMD operation is performed on the vectors A to C obtained by the SIMD operation, and the vector D is obtained.
  • the results corresponding to the number of elements of the vector can be collectively obtained.
  • the same processing is repeatedly executed in the image data stored in the first buffer 831 shown in FIG. 44 while shifting the position of the data to be extracted by one to the right. D is calculated sequentially.
  • the processing result is DMA transferred to the main memory 781.
  • high speed can be realized by performing most of the processing of feature point extraction and optical flow calculation by SIMD calculation.
  • FIG. 47 is a diagram schematically showing the flow of camera work parameter calculation processing in the embodiment of the present invention in time series.
  • decoding and analysis processing for a moving image can be performed in parallel. For this reason, it is possible to shorten the analysis time of 1 frame which comprises a moving image rather than decoding time.
  • t1 indicates the time required for the decoding processing of one frame constituting the moving image by the control processor core 801
  • t2 indicates that the arithmetic processor cores (# 1) 811 to (# 8) 818 constitute the moving image.
  • the time required for the feature point extraction process for one frame to be performed t3 indicates the time required for the optical flow calculation process for one frame constituting the moving image by the arithmetic processor cores (# 1) 811 to (# 8) 818
  • t4 Indicates the time required for the camera processor detection processing of one frame constituting the moving image by the control processor core 801.
  • t5 indicates the time required for the camera work detection process for one frame in which the control processor core 801 and the arithmetic processor cores (# 1) 811 to (# 8) 818 constitute a moving image.
  • t6 indicates the time required for the process for the control processor core 801 to manage the arithmetic processor cores (# 1) 811 to (# 8) 818.
  • t1 can be “25.0 ms”
  • t2 can be “7.9 ms”
  • t3 can be “6.7 ms”
  • t4 can be “1.2 ms”
  • t5 can be “15.8 ms”. .
  • FIG. 48A is a top view schematically showing a Blu-ray Disc (registered trademark) 880 which is an example of a recording medium
  • FIG. 48B is a diagram recorded on the Blu-ray Disc 880. It is a figure which shows typically each data 881 thru
  • moving image content 882 that is a moving image captured by a camera or the like
  • metadata obtained by analyzing the moving image content 882 for example, (b in FIG.
  • FIG. 48 (c) is a diagram schematically showing an internal configuration of a Blu-ray player (Blu-ray Disc Player) 890 capable of playing the Blu-ray Disc 880.
  • the Blu-ray player 890 capable of playing a Blu-ray disc has a Java (registered trademark) VM (Java (registered trademark) virtual machine) and a library 893, as well as a CPU 891 and an OS 892, so Java (registered) (Trademark) program. Therefore, by installing the Blu-ray disc 880 in the Blu-ray player 890, the Blu-ray player 890 can load and execute the Java (registered trademark) program 881.
  • Java registered trademark
  • the Blu-ray player 890 reproduces the moving image content 882, it is possible to reproduce the moving image according to the embodiment of the present invention using the metadata 884. That is, it is possible to realize the moving image reproduction according to the embodiment of the present invention on all Blu-ray players without using dedicated PC software or the like.
  • the example of correcting the affine transformation parameters in order to improve the quality of the composite image has been described.
  • other information related to the moving image may be corrected to improve the quality of the composite image.
  • exposure correction parameters in each frame are acquired as metadata and stored in association with the frames.
  • a frame subjected to exposure correction based on the metadata is extracted, and the frame subjected to the exposure correction is subjected to reverse correction by image processing, and before the exposure correction is performed. Correct to the frame.
  • the white balance function it is possible to correct a moving image that has been imaged by the auto white balance function. For example, when this moving image is synthesized and reproduced, the white balance is reversely corrected. Thereby, since the white balance of each frame which comprises a moving image differs, it can prevent that the whole synthesized image turns into a blurred image.
  • a moving image is an aggregate of a plurality of frames over a predetermined period of time, and normal reproduction is prioritized, and thus the imaging conditions of each frame are often different. For this reason, it is possible to create one high-quality panoramic composite image by reversely correcting these image quality. Note that when the exposure correction is canceled by image processing, for example, there is a possibility that the image may be completely white. Therefore, it is preferable to perform correction according to the content of the moving image.
  • each image corresponding to a frame before the currently displayed image is displayed while being combined with the current image.
  • the background and the like that were shot in at least a part of the time zone. For this reason, for example, if you want to see the background taken at least in part of the time period again, the background etc. can be displayed at the same time as the currently displayed image without rewinding or searching. Can see.
  • the contents of the moving image can be easily grasped. Further, the relative relationship between the moving images can be easily grasped, and the viewer can easily recognize the spatial spread of the moving images.
  • an appreciation method for completing a panoramic image while reproducing a plurality of moving images can be provided, so that the viewer can appreciate the moving images with great interest.
  • the current image since the images in the state before being stored in the image memory 220 can be sequentially displayed, a relatively beautiful image can be displayed.
  • the affine transformation parameters are corrected or the composite image is divided to prevent the video being composited from breaking down. At the same time, the quality of the composite image formed in a panoramic shape can be improved.
  • an affine transformation parameter is calculated at the time of reproduction, and the calculated affine transformation parameter is used. May be displayed for playback.
  • the affine transformation parameters by SIMD calculation using a multi-core processor, it is possible to calculate one frame of affine transformation parameters within the processing time of one frame decoding. As a result, even when playing back a moving image for which no affine transformation parameter is calculated, it is possible to play the moving image while calculating the affine transformation parameter. it can.
  • a plurality of moving image files are stored in the moving image storage unit 200, and an affine transformation parameter corresponding to the moving image is associated with the corresponding moving image and frame as a metadata file as a metadata storage unit.
  • the moving image and the affine transformation parameter corresponding to the moving image are associated and recorded as a moving image file in the moving image storage unit, and each piece of information is extracted from the moving image file for use during reproduction. You may do it.
  • the synthesized image synthesized by the image synthesizing unit 190 may be recorded on a recording medium or the like and used for other reproduction display.
  • a composite image can be stored as a representative image in a metadata file of the metadata storage unit 210, and the composite image can be used for retrieval during reproduction.
  • the composite image instead of repeating the composite image creation process for all the frames constituting the moving image file, the composite image for at least a certain number of frames in the frames constituting the moving image file is used.
  • the creation process may be repeated to create a composite image, and this composite image may be used as a representative image.
  • the composite image creation process is repeated from the first frame constituting the moving image to create the composite image.
  • the composite image is directed from the last frame toward the first frame.
  • the creation process may be repeated to create a composite image.
  • the old image on the time axis is sequentially superimposed on the new image and synthesized.
  • the scene immediately before the division may stand out in the vicinity of the division. Therefore, for example, when creating a composite image used as a representative image, it is not necessary to create it with all the frames. You may make it exclude.
  • the embodiment of the present invention can be applied to a case where a moving image index image is extracted based on a duplication rate on an imaging space that is a space corresponding to a composite image to be formed. That is, an image after correction or division can be a target for determining the overlap rate.
  • the example in which the composite image corresponding to the frame before the current frame is displayed has been described.
  • the composite image is sequentially deleted as time passes. Also good. In this case, an effect may be given such that an afterimage is left and erased.
  • the image corresponding to the current frame is displayed in color, and the composite image corresponding to the frame before the current frame is provided with an effect of changing from color display to sepia over time. It may be.
  • the synthesized image of the scene before the division may be gradually blurred. As a result, it is possible to smoothly switch scenes for the composite image. In this case, the head image of the new scene may be returned to a certain fixed position on the screen.
  • the image processing apparatus that displays the image combined by the image combining unit on the display unit has been described as an example.
  • the image combined by the image combining unit is displayed in another image display device.
  • the embodiment of the present invention can be applied to an image processing apparatus provided with an image output means for outputting image information for display.
  • the embodiment of the present invention can be applied to a moving image reproducing device capable of reproducing a moving image, an imaging device such as a digital video camera capable of reproducing a captured moving image, and the like.
  • the moving image captured by the camera has been described.
  • the edited moving image or the moving image synthesized by the animation when the moving image captured by the camera is edited is also described.
  • the embodiment of the present invention can be applied.
  • an example in which a part or all of a history image is displayed has been described.
  • only a plurality of converted current images may be displayed. That is, only a plurality of current images last stored in the image memory may be sequentially displayed.
  • the embodiment of the present invention can also be applied to a case where the size of the moving object is relatively large with respect to the area of the image constituting the moving image.
  • the motion of the train is calculated when the above affine transformation parameters are calculated.
  • conversion information for converting the images constituting the moving image it is possible to calculate and use motion information regarding the relative motion amount between the camera and the subject at the time of imaging.
  • the moving image storage means corresponds to, for example, the moving image storage unit 200.
  • the conversion information storage unit corresponds to the metadata storage unit 210, for example.
  • An image holding unit corresponds to the image memory 220, for example.
  • the feature amount extraction unit corresponds to the feature amount extraction unit 150, for example.
  • An image conversion unit corresponds to the image conversion unit 180, for example.
  • the determination unit corresponds to the composite image division determination unit 170, for example.
  • An image composition unit corresponds to the image composition unit 190, for example.
  • moving image storage means corresponds to the moving image storage unit 200, for example.
  • the conversion information storage unit corresponds to the metadata storage unit 210, for example.
  • An image holding unit corresponds to the image memory 220, for example.
  • the determination unit corresponds to the composite image division determination unit 170, for example.
  • An image conversion unit corresponds to the image conversion unit 180, for example.
  • An image composition unit corresponds to the image composition unit 190, for example.
  • moving image storage means corresponds to the moving image storage unit 200, for example.
  • the conversion information storage unit corresponds to the metadata storage unit 210, for example.
  • An image holding unit corresponds to the image memory 220, for example.
  • the feature amount extraction unit corresponds to the feature amount extraction unit 150, for example.
  • the conversion information correction unit corresponds to the conversion information correction unit 160, for example.
  • An image conversion unit corresponds to the image conversion unit 180, for example.
  • An image composition unit corresponds to the image composition unit 190, for example.
  • the feature amount extraction means corresponds to, for example, the feature amount extraction unit 150.
  • the determination unit corresponds to the composite image division determination unit 170, for example.
  • An image composition unit corresponds to the image conversion unit 180 and the image composition unit 190, for example.
  • the moving image storage means corresponds to the moving image storage unit 200, for example.
  • the conversion information storage unit corresponds to the metadata storage unit 210, for example.
  • An image holding unit corresponds to the image memory 220, for example.
  • the feature amount extraction unit corresponds to the feature amount extraction unit 150, for example.
  • An image conversion unit corresponds to the image conversion unit 180, for example.
  • the determination unit corresponds to the composite image division determination unit 170, for example.
  • An image composition unit corresponds to the image composition unit 190, for example.
  • the display control unit corresponds to the display control unit 250, for example.
  • the image conversion procedure corresponds to, for example, step S929.
  • the determination procedure corresponds to, for example, step S950.
  • the image composition procedure corresponds to, for example, step S930.
  • the processing procedure described in the embodiment of the present invention may be regarded as a method having a series of these procedures, and a program for causing a computer to execute these series of procedures or a recording medium storing the program May be taken as

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

 撮像装置により撮影された動画を閲覧する場合にその動画の内容を容易に把握する。特徴量抽出部150は、撮像画像に関する特徴量を抽出する。変換情報補正部160は、特徴量が閾値以上である場合に変換情報を補正する。合成画像分割判定部170は、特徴量が閾値以上である場合に撮像画像および履歴画像を合成しないと判定する。画像変換部180は、変換情報が補正された場合には補正後の変換情報により、また、変換情報が補正されない場合には変換情報により撮像画像を変換する。画像合成部190は、撮像画像および履歴画像を合成すると判定された場合には、画像メモリ220上の履歴画像に、変換された撮像画像を合成させ、撮像画像および履歴画像を合成しないと判定された場合には、画像メモリ220上の履歴画像を消去し、変換された撮像画像を画像メモリ220に保持させる。

Description

画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
 本発明は、画像処理装置に関し、特に、動画を再生することが可能な画像処理装置、動画再生装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
 近年、デジタルビデオカメラが普及している。このため、例えば、子供が通園している幼稚園のイベントにおいて、このイベントの様子が父母等によりデジタルビデオカメラで撮影されることが広く行われている。このようなイベントにおいて、父母等により撮影が行われる場合には、自分の子供を中心にして撮影されることが多いものの、そのイベントの様子が分かるように、そのイベントの風景等も適宜撮影されることが多い。
 このように撮影された動画については、例えば、家庭内において、動画再生装置を用いてそのディスプレイで再生することができる。例えば、自分の子供を中心にして撮影された動画を閲覧する場合には、自分の子供が主に含まれる動画が再生される。しかしながら、再生時間が長い場合に、同一対象の動画について継続して閲覧をしていると、再生時間の経過に応じて、再生中の動画に対する閲覧者の興味が低減してしまうことがある。そこで、閲覧者の興味を高めるために、現在表示されている画像と関連する他の画像等を表示することが考えられる。
 例えば、動画像とともに、この動画像の進行に合わせてビデオインデックス(静止画)をスクロール表示する画像表示方法が提案されている(例えば、特開平11-289517号公報(図7)参照。)。
 上述の従来技術によれば、動画像を基準とする過去、現在、未来の静止画像をビデオインデックスとして表示するため、現在表示されている動画とともに、過去、現在、未来の静止画像を閲覧することができる。このため、例えば、子供が通園している幼稚園のイベントにおいて撮影された動画を閲覧している場合において、現在の動画として自分の子供が表示されている場合でも、過去または未来の静止画像として、現在の動画に関連するそのイベントの風景等が表示される場合がある。この場合には、自分の子供の様子を見ながら、そのイベントの風景等も見ることができるため、そのイベントの様子を把握することが容易となり、閲覧者の興味を高めることができる。
 しかしながら、上述の従来技術では、現在の動画として自分の子供が表示されている場合において、過去または未来の静止画像として、そのイベントの風景等が表示されず、現在の動画とほぼ同じ内容が表示される場合がある。このような場合には、動画に対する閲覧者の興味を維持することが重要である。
 そこで、撮影対象となっている中心人物等を閲覧しながら、この中心人物の周りの様子を適宜把握することができるように、その動画を構成する各画像を撮像装置の動き情報に基づいて変換させ、この変換後の画像を順次合成しながら再生させることが考えられる。しかしながら、例えば、撮影者が撮像装置を素早く左右方向に移動させたような場合には、適切な動き情報を検出することができないおそれがある。また、例えば、撮影者が撮像画像の記録動作を中止した後に、異なるシーンを被写体とする記録動作を再開する場合についても同様に、シーンの切り換わりの前後で適切な動き情報を検出することができないおそれがある。
 このように、その動画を構成する各画像の適切な動き情報を検出することができない場合等には、その動画を表す合成画像を適切に表示することができないおそれがある。そこで、動画の再生中に合成画像を適切に表示させ、その動画の内容を容易に把握することが重要となる。
 本発明は、撮像装置により撮影された動画を閲覧する場合にその動画の内容を容易に把握することを目的とする。
 本発明は、上記課題を解決するためになされたものであり、その第1の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する第1の撮像画像を基準として上記撮像動画の時間軸において上記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を上記第2の撮像画像毎に記憶する変換情報記憶手段と、上記時間軸において上記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、上記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、上記変換情報に基づいて上記第2の撮像画像を変換する画像変換手段と、上記抽出された特徴量に基づいて上記第2の撮像画像および上記履歴画像の合成の要否を判定する判定手段と、上記判定手段により上記第2の撮像画像および上記履歴画像を合成すると判定された場合には上記画像保持手段に保持されている上記履歴画像に上記変換された第2の撮像画像を合成して新たな履歴画像として上記画像保持手段に保持させ、上記判定手段により上記第2の撮像画像および上記履歴画像を合成しないと判定された場合には上記画像保持手段に保持されている上記履歴画像に上記第2の撮像画像を合成させずに上記第2の撮像画像を上記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第2の撮像画像に関する特徴量を抽出し、変換情報に基づいて第2の撮像画像を変換し、特徴量に基づいて第2の撮像画像および履歴画像の合成の要否を判定し、第2の撮像画像および履歴画像を合成すると判定された場合には、履歴画像に変換後の第2の撮像画像を合成して新たな履歴画像とし、第2の撮像画像および履歴画像を合成しないと判定された場合には、履歴画像に第2の撮像画像を合成させずに、第2の撮像画像を画像保持手段に保持させるという作用をもたらす。
 また、この第1の側面において、上記画像合成手段は、上記判定手段により上記第2の撮像画像および上記履歴画像を合成しないと判定された場合には上記画像保持手段に保持されている上記履歴画像を消去して上記第2の撮像画像を新たな履歴画像として上記画像保持手段に保持させるようにしてもよい。これにより、第2の撮像画像および履歴画像を合成しないと判定された場合には、履歴画像を消去し、第2の撮像画像を新たな履歴画像として画像保持手段に保持させるという作用をもたらす。
 また、この第1の側面において、上記画像合成手段は、上記判定手段により上記第2の撮像画像および上記履歴画像を合成しないと判定された場合には上記画像保持手段における上記履歴画像の配置位置とは異なる位置に上記第2の撮像画像を配置して新たな履歴画像として上記画像保持手段に保持させるようにしてもよい。これにより、第2の撮像画像および履歴画像を合成しないと判定された場合には、履歴画像の配置位置とは異なる位置に第2の撮像画像を配置して新たな履歴画像とするという作用をもたらす。
 また、この第1の側面において、上記特徴量抽出手段は、上記撮像動画を構成する各画像における一定の変化を検出することにより上記特徴量を抽出し、上記判定手段は、上記抽出された特徴量と所定の閾値とを比較することにより上記第2の撮像画像がシーンチェンジ点に該当するか否かを判定して上記第2の撮像画像がシーンチェンジ点に該当すると判定された場合には上記第2の撮像画像および上記履歴画像を合成しないと判定するようにしてもよい。これにより、撮像動画を構成する各画像における一定の変化を検出することにより特徴量を抽出し、この抽出された特徴量と所定の閾値とを比較することにより、第2の撮像画像がシーンチェンジ点に該当するか否かを判定し、第2の撮像画像がシーンチェンジ点に該当すると判定された場合には、第2の撮像画像および履歴画像を合成しないと判定するという作用をもたらす。
 また、この第1の側面において、上記変換情報は、拡大縮小と並進移動と回転とに関する要素を含み、上記特徴量抽出手段は、上記第2の撮像画像に係る上記変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出し、上記判定手段は、上記抽出された上記並進成分と上記回転成分と上記拡大縮小成分との少なくとも1つと所定の閾値とを比較することにより上記合成の要否を判定するようにしてもよい。これにより、第2の撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出し、この抽出された並進成分と回転成分と拡大縮小成分との少なくとも1つと所定の閾値とを比較することにより、合成の要否を判定するという作用をもたらす。
 また、この第1の側面において、上記特徴量抽出手段は、上記時間軸において上記第2の撮像画像よりも所定数前に位置する撮像画像から上記第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出して当該抽出された並進成分と回転成分と拡大縮小成分との平均値をそれぞれ算出し、上記判定手段は、上記算出された上記並進成分と上記回転成分と上記拡大縮小成分との平均値の少なくとも1つと所定の閾値とを比較することにより上記合成の要否を判定するようにしてもよい。これにより、時間軸において第2の撮像画像よりも所定数前に位置する撮像画像から第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出し、この抽出された並進成分と回転成分と拡大縮小成分との平均値をそれぞれ算出し、この算出された並進成分と回転成分と拡大縮小成分との平均値の少なくとも1つと所定の閾値とを比較することにより、合成の要否を判定するという作用をもたらす。
 また、この第1の側面において、上記特徴量抽出手段は、上記時間軸において上記第2の撮像画像よりも所定数前に位置する撮像画像から上記第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出して当該抽出された並進成分と回転成分と拡大縮小成分との積算値をそれぞれ算出し、上記判定手段は、上記算出された上記並進成分と上記回転成分と上記拡大縮小成分との積算値の少なくとも1つと所定の閾値とを比較することにより上記合成の要否を判定するようにしてもよい。これにより、間軸において第2の撮像画像よりも所定数前に位置する撮像画像から第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出し、この抽出された並進成分と回転成分と拡大縮小成分との積算値をそれぞれ算出し、この算出された並進成分と回転成分と拡大縮小成分との積算値の少なくとも1つと所定の閾値とを比較することにより、合成の要否を判定するという作用をもたらす。
 また、本発明の第2の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する第1の撮像画像を基準として上記撮像動画の時間軸において上記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を上記第2の撮像画像毎に記憶する変換情報記憶手段と、上記時間軸において上記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、上記履歴画像が上記画像保持手段に保持されてからの経過時間に基づいて上記第2の撮像画像および上記履歴画像の合成の要否を判定する判定手段と、上記変換情報に基づいて上記第2の撮像画像を変換する画像変換手段と、上記判定手段により上記第2の撮像画像および上記履歴画像を合成すると判定された場合には上記画像保持手段に保持されている上記履歴画像に上記変換された第2の撮像画像を合成して新たな履歴画像として上記画像保持手段に保持させ、上記判定手段により上記第2の撮像画像および上記履歴画像を合成しないと判定された場合には上記画像保持手段に保持されている上記履歴画像に上記第2の撮像画像を合成させずに上記第2の撮像画像を上記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、履歴画像が画像保持手段に保持されてからの経過時間に基づいて第2の撮像画像および履歴画像の合成の要否を判定し、変換情報に基づいて第2の撮像画像を変換し、第2の撮像画像および履歴画像を合成すると判定された場合には、履歴画像に変換後の第2の撮像画像を合成して新たな履歴画像とし、第2の撮像画像および履歴画像を合成しないと判定された場合には、履歴画像に第2の撮像画像を合成させずに、第2の撮像画像を画像保持手段に保持させるという作用をもたらす。
 また、本発明の第3の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する第1の撮像画像を基準として上記撮像動画の時間軸において上記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を上記第2の撮像画像毎に記憶する変換情報記憶手段と、上記時間軸において上記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、上記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、上記抽出された特徴量に基づいて上記変換情報を補正する変換情報補正手段と、上記補正された上記変換情報に基づいて上記第2の撮像画像を変換する画像変換手段と、上記画像保持手段に保持されている上記履歴画像に上記変換された第2の撮像画像を合成して新たな履歴画像として上記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第2の撮像画像に関する特徴量を抽出し、この抽出された特徴量に基づいて変換情報を補正し、この補正された変換情報に基づいて第2の撮像画像を変換し、履歴画像に変換後の第2の撮像画像を合成して新たな履歴画像として画像保持手段に保持させるという作用をもたらす。
 また、この第3の側面において、上記変換情報補正手段は、上記抽出された特徴量と所定の閾値とを比較することにより上記変換情報の補正の要否を判定して上記変換情報の補正が必要と判定された場合には上記変換情報を補正し、上記画像変換手段は、上記変換情報が補正された場合には当該補正された変換情報に基づいて上記第2の撮像画像を変換して上記変換情報が補正されない場合には上記変換情報に基づいて上記第2の撮像画像を変換するようにしてもよい。これにより、抽出された特徴量と所定の閾値とを比較することにより、変換情報の補正の要否を判定し、変換情報の補正が必要と判定された場合には変換情報を補正し、変換情報が補正された場合には、この補正された変換情報に基づいて第2の撮像画像を変換し、変換情報が補正されない場合には、変換情報に基づいて第2の撮像画像を変換するという作用をもたらす。
 また、この第3の側面において、上記変換情報補正手段は、上記変換情報の補正が必要と判定された場合には上記変換情報を所定の変換情報に補正するようにしてもよい。これにより、変換情報の補正が必要と判定された場合には、変換情報を所定の変換情報に補正するという作用をもたらす。
 また、この第3の側面において、上記変換情報補正手段は、上記変換情報の補正が必要と判定された場合には上記時間軸において上記第2の撮像画像の前方向に位置する撮像画像に係る変換情報と上記第2の撮像画像の後方向に位置する撮像画像に係る変換情報とに基づいて上記変換情報を補正するようにしてもよい。これにより、変換情報の補正が必要と判定された場合には、時間軸において第2の撮像画像の前方向に位置する撮像画像に係る変換情報と、第2の撮像画像の後方向に位置する撮像画像に係る変換情報とに基づいて変換情報を補正するという作用をもたらす。
 また、本発明の第4の側面は、撮像装置により撮像された撮像動画を構成する撮像画像に関する特徴量を抽出する特徴量抽出手段と、上記抽出された特徴量に基づいて合成画像の分割の要否を判定する判定手段と、上記判定手段により合成画像を分割しないと判定された場合には撮像時における上記撮像装置の動き情報に基づいて既に形成されている合成画像に上記撮像画像を合成し、上記判定手段により合成画像を分割すると判定された場合には上記動き情報に基づいて既に形成されている合成画像とは異なる新たな合成画像を作成する画像合成手段とを具備することを特徴とする画像処理装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、撮像装置により撮像された撮像動画を構成する撮像画像に関する特徴量を抽出し、この抽出された特徴量に基づいて合成画像の分割の要否を判定し、合成画像を分割しないと判定された場合には、動き情報に基づいて既に形成されている合成画像に撮像画像を合成し、合成画像を分割すると判定された場合には、動き情報に基づいて既に形成されている合成画像とは異なる新たな合成画像を作成するという作用をもたらす。
 また、本発明の第5の側面は、撮像装置により撮像された撮像動画を記憶する動画記憶手段と、上記撮像動画を構成する第1の撮像画像を基準として上記撮像動画の時間軸において上記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を上記第2の撮像画像毎に記憶する変換情報記憶手段と、上記時間軸において上記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、上記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、上記変換情報に基づいて上記第2の撮像画像を変換する画像変換手段と、上記抽出された特徴量に基づいて上記第2の撮像画像および上記履歴画像の合成の要否を判定する判定手段と、上記判定手段により上記第2の撮像画像および上記履歴画像を合成すると判定された場合には上記画像保持手段に保持されている上記履歴画像に上記変換された第2の撮像画像を合成して新たな履歴画像として上記画像保持手段に保持させ、上記判定手段により上記第2の撮像画像および上記履歴画像を合成しないと判定された場合には上記画像保持手段に保持されている上記履歴画像に上記第2の撮像画像を合成させずに上記第2の撮像画像を上記画像保持手段に保持させる画像合成手段と、上記画像保持手段に保持された新たな履歴画像または上記第2の撮像画像を表示手段に順次表示させる表示制御手段とを具備することを特徴とする動画再生装置およびその処理方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、第2の撮像画像に関する特徴量を抽出し、変換情報に基づいて第2の撮像画像を変換し、特徴量に基づいて第2の撮像画像および履歴画像の合成の要否を判定し、第2の撮像画像および履歴画像を合成すると判定された場合には、履歴画像に変換後の第2の撮像画像を合成して新たな履歴画像とし、第2の撮像画像および履歴画像を合成しないと判定された場合には、履歴画像に第2の撮像画像を合成させずに、第2の撮像画像を画像保持手段に保持させ、画像保持手段に保持された新たな履歴画像または第2の撮像画像を順次表示させるという作用をもたらす。
 本発明によれば、撮像装置により撮影された動画を閲覧する場合にその動画の内容を容易に把握することができるという優れた効果を奏し得る。
図1は、本発明の実施の形態における画像処理装置100の機能構成例を示すブロック図である。 図2は、本発明の実施の形態におけるカメラワーク検出部120の機能構成例を示すブロック図である。 図3は、本発明の実施の形態における特徴量抽出部150の機能構成例を示すブロック図である。 図4は、動画を構成する各フレームに対応する画像を時系列に並べられた場合を模式的に示す図である。 図5は、本発明の実施の形態における動画記憶部200およびメタデータ記憶部210に記録されている各ファイルを模式的に示す図である。 図6は、動画を構成するフレームに対応する画像の一例を示す図である。 図7は、動画を構成するフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。 図8は、所定のアフィン変換パラメータを用いて矩形340が変換された場合を示す図である。 図9は、本発明の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。 図10は、カメラにより撮影された動画の遷移の一例を示す図である。 図11は、図10に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図12は、図10に示す画像401乃至403を含む動画を再生する場合における表示例を示す図である。 図13は、カメラにより撮影された動画の遷移の一例を示す図である。 図14は、図13に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図15は、図13に示す画像421乃至423を含む動画を再生する場合における表示例を示す図である。 図16は、カメラにより撮影された動画の遷移の一例を示す図である。 図17は、図16に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。 図18は、図16に示す画像441乃至443を含む動画を再生する場合における表示例を示す図である。 図19は、本発明の実施の形態における動画記憶部200に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。 図20は、本発明の実施の形態における動画記憶部200に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。 図21は、カメラにより撮影された動画を再生する場合における表示例(画像480)および画像480における現画像482がアフィン変換される前の状態の画像484を示す図である。 図22は、図21に示す枠483で囲まれた画像領域が拡大表示された場合における画像485と、アフィン変換後の現画像が画像メモリ220に保存された状態で表示用メモリ240に保存された画像487を示す図である。 図23は、カメラにより撮影された動画の遷移の一例を示す図である。 図24は、カメラにより撮影された動画の遷移の一例を示す図である。 図25は、カメラにより撮影された動画の遷移の一例を示す図である。 図26は、カメラにより撮影された動画の遷移の一例を示す図である。 図27は、動画ファイル500を構成する画像501乃至517が合成された場合を模式的に示す図である。 図28は、動画を構成する各フレームと、これらのフレームについて算出されたシーンチェンジスコアとの関係を模式的に示す図である。 図29は、動画530を構成する画像551乃至567が合成された場合を模式的に示す図である。 図30は、動画530を構成する画像551乃至567が合成された場合を模式的に示す図である。 図31は、カメラにより撮影された動画により形成された合成画像の一例を示す図である。 図32は、カメラにより撮影された動画により形成された合成画像の一例を示す図である。 図33は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順を示すフローチャートである。 図34は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順のうちの変換情報補正処理手順を示すフローチャートである。 図35は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順のうちの合成画像分割判定処理手順を示すフローチャートである。 図36は、本発明の実施の形態におけるマルチコアプロセッサ800の一構成例を示す図である。 図37は、本発明の実施の形態における制御プロセッサコア801の一構成例を示す図である。 図38は、本発明の実施の形態における演算プロセッサコア(#1)811の一構成例を示す図である。 図39は、本発明の実施の形態におけるマルチコアプロセッサ800の演算方法を模式的に示す図である。 図40は、本発明の実施の形態におけるマルチコアプロセッサ800により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。 図41は、複数のデータに対する処理をそれぞれの命令で行う演算方式の概要、および、複数のデータに対する処理を1つの命令で行うSIMD演算の概要を模式的に示す図である。 図42は、本発明の実施の形態における制御プロセッサコア801または演算プロセッサコア(#1)811により実行されるプログラムの構成例を示す図である。 図43は、本発明の実施の形態におけるメインメモリ781に格納されている画像データについて、ソベルフィルタ830を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。 図44は、本発明の実施の形態におけるメインメモリ781に格納されている画像データについてソベルフィルタ830を用いてSIMD演算を行う場合におけるデータの流れを概略的に示す図である。 図45は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、第一バッファ831に格納されている画像データから9つのベクトルを作成するベクトル作成方法を概略的に示す図である。 図46は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、ベクターデータ841乃至849についてSIMD命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。 図47は、本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。 図48は、記録媒体の一例であるブルーレイディスク880、ブルーレイディスク880に記録されている各データ881乃至884、および、ブルーレイディスク880を再生可能なブルーレイ再生機890の内部構成を模式的に示す図である。
 次に本発明の実施の形態について図面を参照して詳細に説明する。
 図1は、本発明の実施の形態における画像処理装置100の機能構成例を示すブロック図である。画像処理装置100は、動画入力部110と、カメラワーク検出部120と、記録制御部130と、ファイル取得部140と、特徴量抽出部150と、変換情報補正部160と、合成画像分割判定部170と、画像変換部180と、画像合成部190と、動画記憶部200と、メタデータ記憶部210と、画像メモリ220と、表示領域取出部230と、表示用メモリ240と、表示制御部250と、表示部260と、操作受付部270とを備える。画像処理装置100は、例えば、デジタルビデオカメラ等の撮像装置で撮影された動画について、映像解析により特徴量を抽出し、この抽出された特徴量を用いて各種画像処理を施すことが可能なパーソナルコンピュータによって実現することができる。
 動画入力部110は、デジタルビデオカメラ等の撮像装置(以下では、単に「カメラ」と称する。)により撮像された動画を入力する動画入力部であり、入力された動画をカメラワーク検出部120に出力する。
 カメラワーク検出部120は、動画入力部110から出力された動画を解析して、撮影時におけるカメラの動き情報(カメラワーク)を検出するものであり、このカメラの動き情報に基づいて算出されたアフィン変換パラメータ(カメラワークパラメータ)を記録制御部130に出力する。すなわち、カメラワーク検出部120は、動画を構成する各画像から特徴点を抽出するとともに、この特徴点に対するオプティカルフロー(動きベクトル)を抽出し、この抽出された特徴点に対するオプティカルフローを解析して支配的な動きを見せた特徴点を選択し、この支配的な動きを見せた特徴点に対するオプティカルフローに基づいてカメラの動きを推定する。ここで、支配的な動きとは、複数の特徴点に対するオプティカルフローの中で、比較的多数のオプティカルフローが示す規則的な動きを意味する。なお、カメラワーク検出部120については、図2を参照して詳細に説明する。
 記録制御部130は、動画入力部110から出力された動画を動画ファイルとして動画記憶部200に記録するとともに、カメラワーク検出部120から出力されたアフィン変換パラメータを、対応する動画およびフレームに関連付けてメタデータファイルとしてメタデータ記憶部210に記録するものである。
 動画記憶部200は、記録制御部130の制御に基づいて動画入力部110から出力された動画を動画ファイルとして記憶するものである。また、動画記憶部200は、ファイル取得部140からの要求に応じて動画ファイルをファイル取得部140に供給する。なお、動画記憶部200に記憶される動画ファイルについては、図5を参照して詳細に説明する。
 メタデータ記憶部210は、記録制御部130の制御に基づいてカメラワーク検出部120から出力されたアフィン変換パラメータをメタデータファイルとして記憶するものである。また、メタデータ記憶部210は、ファイル取得部140からの要求に応じてメタデータファイルをファイル取得部140に供給する。なお、メタデータ記憶部210に記憶されるメタデータファイルについては、図5を参照して詳細に説明する。
 ファイル取得部140は、操作受付部270により受け付けられた操作入力に応じて、動画記憶部200およびメタデータ記憶部210に記憶されている各ファイルの少なくとも1つを取得し、取得された各ファイルの情報を各部に供給するものである。具体的には、ファイル取得部140は、動画を合成再生させる指示操作が操作受付部270により受け付けられた場合には、指示された動画記憶部200に記憶されている動画ファイルと、この動画ファイルに関連付けられてメタデータ記憶部210に記憶されているメタデータファイルとを取得し、取得された動画ファイルの動画およびメタデータファイルのアフィン変換パラメータを特徴量抽出部150および画像変換部180に出力するとともに、そのアフィン変換パラメータを変換情報補正部160に出力する。 特徴量抽出部150は、ファイル取得部140から出力された動画を構成する各画像および各画像に関連付けられているアフィン変換パラメータに基づいて特徴量を抽出するものであり、抽出された特徴量を変換情報補正部160および合成画像分割判定部170に出力する。本発明の実施の形態では、特徴量抽出部150が抽出する特徴量として、動画を構成する各画像におけるシーンチェンジスコアと、アフィン変換パラメータから抽出されるカメラワークの各成分(X方向およびY方向のズーム成分、並進成分、回転成分)と、これらの各成分の所定数のフレームに関する平均値と、これらの各成分の先頭のフレームから現フレームまでの積算値とを例にして説明する。ここで、シーンチェンジスコアは、動画を構成する各画像におけるカラーヒストグラムに基づいて算出される値であり、シーンチェンジ点を検出するために用いられる値である。このシーンチェンジ点は、例えば、動画において撮影場面が瞬間的に変化する場合におけるその境界点を示す位置であり、その境界点の直後の画像をシーンチェンジ点に該当する画像とする。なお、特徴量抽出部150については、図3を参照して詳細に説明する。また、カメラワークの各成分については、図6および図7を参照して詳細に説明する。さらに、シーンチェンジ点については、図4を参照して詳細に説明する。
 変換情報補正部160は、特徴量抽出部150から出力された特徴量に基づいて、ファイル取得部140から出力されたアフィン変換パラメータを補正するものであり、補正されたアフィン変換パラメータを画像変換部180に出力する。具体的には、変換情報補正部160は、特徴量抽出部150から出力された特徴量と、閾値とを比較することにより、ファイル取得部140から出力されたアフィン変換パラメータの補正の要否を判定し、アフィン変換パラメータの補正が必要であると判定した場合には、このアフィン変換パラメータを補正し、この補正されたアフィン変換パラメータを画像変換部180に出力する。一方、アフィン変換パラメータの補正が不要であると判定した場合には、アフィン変換パラメータを補正せずに、画像変換部180には何も出力しない。ここで、本発明の実施の形態では、アフィン変換パラメータの補正として、アフィン変換パラメータの行列を単位行列とする補正と、現フレームの前後方向に存在するフレームに関連付けられているアフィン変換パラメータを用いて線型補間行列を算出し、この算出された線型補間行列をアフィン変換パラメータの行列と置き換える補正とを例にして説明する。なお、アフィン変換パラメータの補正については、図27を参照して詳細に説明する。
 合成画像分割判定部170は、特徴量抽出部150から出力された特徴量に基づいて、現フレームに対応する画像を現在形成されている合成画像から分割して再生させるか否かを判定するものであり、現フレームに対応する画像を分割して再生させると判定した場合には、現フレームに対応する画像を分割して再生させる旨を画像変換部180および画像合成部190に出力するとともに、直前のフレームまでに算出されたカメラワーク成分を消去する指示を特徴量抽出部150に出力する。また、合成画像分割判定部170は、動画の合成再生が開始された場合において、先頭のフレームから現フレームまでの再生時間を計測し、この再生時間に基づいて、現フレームに対応する画像を現在形成されている合成画像から分割して再生させるか否かの判定を行う。さらに、現フレームに対応する画像の分割が行われた場合には、同様に、合成画像分割判定部170は、分割時における先頭のフレームから現フレームまでの再生時間を計測し、この再生時間に基づいて、現フレームに対応する画像を現在形成されている合成画像から分割して再生させるか否かの判定を行う。なお、画像の分割については、図28乃至図30を参照して詳細に説明する。
 画像変換部180は、ファイル取得部140から出力された動画ファイルの動画を構成する画像について、この画像に対応するアフィン変換パラメータを用いてフレーム毎にアフィン変換を施し、アフィン変換された画像を画像合成部190に出力するものである。また、画像変換部180は、変換情報補正部160から補正されたアフィン変換パラメータが出力された場合には、この補正されたアフィン変換パラメータを用いてフレーム毎にアフィン変換を施す。さらに、画像変換部180は、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、現フレームに対応する画像を単位行列によりアフィン変換を施して画像合成部190に出力する。なお、これらの画像変換については、図10乃至図20等を参照して詳細に説明する。
 画像合成部190は、画像メモリ220に保持されている直前までの各フレームに対応する合成画像に、画像変換部180によるアフィン変換後の画像を上書きすることにより画像を合成し、合成された新たな合成画像を画像メモリ220に保存するものである。また、画像合成部190は、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、画像メモリ220に保持されている直前までの各フレームに対応する合成画像を消去して、現フレームに対応する画像を画像メモリ220に保持させる。そして、この現フレーム以降のフレームについては、画像メモリ220に保持されている合成画像に、画像変換部180によるアフィン変換後の画像を上書きすることにより画像を合成する。なお、画像合成部190は、操作受付部270により受け付けられた操作入力に応じて、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、画像メモリ220に保持されている直前までの各フレームに対応する合成画像を残した状態で、この合成画像が保持されている位置とは異なる位置に、現フレームに対応する画像を画像メモリ220に保持させることができる。これらの現フレームに対応する画像を分割して再生させる場合における画像合成については、図28乃至図30を参照して詳細に説明する。
 また、画像合成部190は、表示領域取出部230から出力された表示領域における現画像の位置に基づいて、画像変換部180によるアフィン変換後の現画像を表示用メモリ240に保持される合成画像に上書きすることにより合成する。ここで、表示用メモリ240に合成される現画像の大きさについては、表示倍率の値に応じて決定される。なお、表示用メモリ240における現画像の合成については、図20等を参照して詳細に説明する。ここで、画像合成部190は、画像変換部180によるアフィン変換後の画像を圧縮して画像メモリ220に保持されている合成画像に上書きし、表示用メモリ240に保持される合成画像に上書きされる現画像を非圧縮画像または圧縮された履歴画像よりも高解像度の撮像画像とする。これにより、合成画像を出力する際の履歴画像を圧縮画像とし、現画像を非圧縮画像または圧縮された履歴画像よりも高解像度の撮像画像とすることができる。
 画像メモリ220は、画像合成部190により合成された合成画像を保持するワークバッファであり、保持されている合成画像を画像合成部190または表示領域取出部230に供給するものである。すなわち、画像メモリ220は、動画を構成する各画像を履歴画像として保持する画像メモリである。
 表示領域取出部230は、画像メモリ220に保持されている合成画像から、表示の対象となる領域である表示領域の範囲内に存在する画像を取り出すものであり、取り出された画像を表示用メモリ240に保持させる。なお、この表示領域の範囲内に含まれる画像の取出しについては、図19および図20等を参照して詳細に説明し、表示領域における現画像の位置の算出については、図20等を参照して詳細に説明する。
 表示用メモリ240は、表示領域取出部230により画像メモリ220から取り出された画像を保持する表示用バッファであり、保持されている画像が表示部260に表示される。
 表示制御部250は、表示用メモリ240に保持されている合成画像をフレーム毎に表示部260に順次表示させるものである。
 表示部260は、表示制御部250の制御に基づいて、表示用メモリ240に保持されている合成画像を表示するものである。例えば、パーソナルコンピュータやテレビジョンのディスプレイにより実現することができる。なお、合成画像の表示例については、図23乃至図26等を参照して詳細に説明する。
 操作受付部270は、各種入力キーからなるキーボードやマウス(ポインティングデバイス)を備え、これらのマウス等から操作入力を受け付けると、受け付けた操作入力の内容をファイル取得部140、画像合成部190、または、表示領域取出部230に出力するものである。なお、操作受付部270の少なくとも一部と表示部260とをタッチパネルとして一体として構成するようにしてもよい。
 図2は、本発明の実施の形態におけるカメラワーク検出部120の機能構成例を示すブロック図である。カメラワーク検出部120は、特徴点抽出部121と、オプティカルフロー計算部122と、カメラワークパラメータ算出部123とを備える。
 特徴点抽出部121は、動画入力部110から出力された動画を構成するフレームに対応する画像から特徴点を抽出し、抽出された特徴点をオプティカルフロー計算部122に出力するものである。ここで、特徴点抽出部121は、動画入力部110から出力された動画を構成するフレームのうちの先頭のフレームについては、画像全体から特徴点を抽出し、先頭以外のフレームについては、直前のフレームに対応する画像と比較して新しく撮影された領域部分から特徴点を抽出する。なお、特徴点として、例えば、縦方向または横方向にエッジの勾配が強い点(一般に「コーナー点」と呼ばれている。以下では、「コーナー点」と称する。)を抽出することができる。このコーナー点は、オプティカルフローの計算に強い特徴点であり、エッジ検出を用いて求めることができる。なお、このコーナー点の抽出については、図6および図7を参照して詳細に説明する。また、この例では、特徴点抽出部121は、先頭のフレームについては画像全体から特徴点を抽出し、先頭以外のフレームについては直前の画像と比較して新しく撮影された領域部分から特徴点を抽出するが、処理能力等に応じて、先頭以外の各フレームについても、画像全体から特徴点を抽出するようにしてもよい。
 オプティカルフロー計算部122は、特徴点抽出部121から出力された各特徴点に対するオプティカルフローを計算するものであり、計算して求められたオプティカルフローをカメラワークパラメータ算出部123に出力する。具体的には、動画入力部110から出力された動画を構成する連続する2つのフレーム(現フレームおよびこの直前のフレーム)に対応する各画像を比較することにより、直前のフレームに対応する画像における各特徴点に対応するオプティカルフローを、現フレームのオプティカルフローとして求める。また、オプティカルフローは、動画を構成するフレーム毎に求められる。なお、オプティカルフローを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。なお、このオプティカルフローの計算については、図6および図7を参照して詳細に説明する。
 カメラワークパラメータ算出部123は、オプティカルフロー計算部122から出力された各特徴点に対応するオプティカルフローを用いて、カメラワークパラメータを算出するカメラワークパラメータ算出処理を行うものであり、算出されたカメラワークパラメータを記録制御部130に出力する。ここで、本発明の実施の形態では、再生の対象となる動画を構成する各画像をカメラの動きに合わせてそれぞれ変換して表示する。この画像の変換を行うため、オプティカルフロー計算部122により計算されたオプティカルフローを用いてカメラの動きが抽出され、この抽出された動きに基づいて、カメラワークパラメータ(変換パラメータ)が計算される。なお、本発明の実施の形態では、再生の対象となる動画を構成する画像を変換する画像変換方法として、アフィン変換を用いる例について説明する。また、カメラワークパラメータとして、オプティカルフローに基づいて算出されたアフィン変換パラメータの行列の逆行列に対応するアフィン変換パラメータを用いる例について説明する。すなわち、本発明の実施の形態では、変換情報として用いられるアフィン変換パラメータを、連続する画像間の特徴点の動きを表すアフィン行列ではなく、連続する画像のうちの1つの画像を基準画像とした場合に、この基準画像の次の画像がどこに移動するかを示すアフィン行列に対応するアフィン変換パラメータと定義する。また、カメラワークパラメータとして、アフィン変換パラメータを用いる例について説明するが、射影変換等の他の画像変換方法を用いるようにしてもよい。なお、アフィン変換パラメータは、3点のベクトルを用いて計算して求めることができる。また、射影変換パラメータは、4点のベクトルを用いて計算して求めることができる。ここで、カメラワークパラメータは、撮像動画を構成する撮像画像のうちの少なくとも1つの撮像画像を基準にして他の撮像画像を変換するための変換情報であり、少なくともカメラの座標系で記述される位置情報および姿勢情報を含むものである。すなわち、カメラワークパラメータは、撮影者により撮影されている場合におけるカメラの位置や姿勢に関する情報を含むものである。また、カメラワークパラメータ算出部123により求められたアフィン変換パラメータに基づいて、例えば、ズームイン、ズームアウト、パン、チルト、ローテーション等の撮影者の操作によるカメラの動きを推定することができる。なお、アフィン変換パラメータの計算については、図6および図7を参照して詳細に説明する。
 図3は、本発明の実施の形態における特徴量抽出部150の機能構成例を示すブロック図である。特徴量抽出部150は、カラーヒストグラム抽出部151と、連続フレーム間差分値算出部152と、シーンチェンジスコア算出部153と、カメラワーク成分算出部155と、カメラワーク成分保持部156と、カメラワーク成分平均値算出部157と、カメラワーク成分積算値算出部158とを備える。
 カラーヒストグラム抽出部151は、ファイル取得部140から出力された動画を構成する画像から、この画像における画面全体のカラーヒストグラムをフレーム毎に抽出するものであり、抽出されたカラーヒストグラムを連続フレーム間差分値算出部152に出力するものである。
 連続フレーム間差分値算出部152は、カラーヒストグラム抽出部151から出力されたフレーム毎のカラーヒストグラムについて、連続する2フレーム間におけるカラーヒストグラムの色分布の差分値を算出するものであり、算出された差分値をシーンチェンジスコア算出部153に出力する。ここで、本発明の実施の形態では、連続する2フレーム間におけるカラーヒストグラムの色分布の差分値として、EMD(Earth Movers Distance)を用いて算出される類似度を数値化した値を用いる。なお、EMDは色分布間の距離を表すものであり、類似画像検索等に用いられる(例えば、特開2007-206919号を参照。)。
 シーンチェンジスコア算出部153は、連続フレーム間差分値算出部152から出力されたカラーヒストグラムの色分布の差分値について、ハイパス・フィルタを適用することによって、フレーム間の差分値のオフセット分の差を除去(DC成分の除去)し、DC成分の除去後の値をシーンチェンジスコアとして算出するものであり、算出されたシーンチェンジスコアを変換情報補正部160および合成画像分割判定部170に出力する。なお、本発明の実施の形態では、EMDにより算出される類似度を用いて連続する2フレーム間における差分値を算出し、この差分値に基づいてシーンチェンジスコアを算出する例について説明したが、時間軸において動画を構成する各フレーム間の他の差分値を算出し、この差分値に基づいてシーンチェンジスコアを算出するようにしてもよい。
 カメラワーク成分算出部155は、ファイル取得部140から出力された現フレームに対応するアフィン変換パラメータから、カメラワークの各成分(x方向およびy方向の各並進成分、ズーム成分、回転成分)を算出するものであり、算出されたカメラワークの各成分を、変換情報補正部160、カメラワーク成分平均値算出部157およびカメラワーク成分積算値算出部158に出力するとともに、カメラワーク成分保持部156に保持させる。
 カメラワーク成分保持部156は、カメラワーク成分算出部155により算出された現フレームまでのカメラワークの各成分をフレーム毎に保持するものであり、保持されているカメラワークの各成分をカメラワーク成分平均値算出部157およびカメラワーク成分積算値算出部158に供給する。また、カメラワーク成分保持部156は、直前のフレームまでに算出されたカメラワーク成分を消去する指示が合成画像分割判定部170から出力された場合には、保持されているカメラワークの各成分を消去する。
 カメラワーク成分平均値算出部157は、カメラワーク成分算出部155から出力された現フレームに対応するカメラワークの各成分と、カメラワーク成分保持部156に保持されている直前のフレームから所定数前のフレームまでの各フレームに対応するカメラワークの各成分とに基づいて、カメラワーク成分の平均値を算出するものであり、算出されたカメラワーク成分の平均値を合成画像分割判定部170に出力する。このカメラワーク成分の平均値を算出する際に用いられるフレーム数を、例えば5程度とすることができる。
 カメラワーク成分積算値算出部158は、カメラワーク成分算出部155から出力された現フレームに対応するカメラワークの各成分と、カメラワーク成分保持部156に保持されている先頭のフレームから直前のフレームまでの各フレームに対応するカメラワークの各成分とに基づいて、カメラワーク成分の積算値を算出するものであり、算出されたカメラワーク成分の積算値を合成画像分割判定部170に出力する。ここで、直前のフレームまでに算出されたカメラワーク成分を消去する指示が合成画像分割判定部170から出力された場合には、カメラワーク成分保持部156に保持されているカメラワークの各成分が消去される。このため、カメラワーク成分積算値算出部158は、その指示がされた次のフレーム以降についてカメラワーク成分の積算値を算出する場合には、カメラワーク成分算出部155から出力された現フレームに対応するカメラワークの各成分と、カメラワーク成分保持部156に保持されているその指示がされた際におけるフレームから直前のフレームまでの各フレームに対応するカメラワークの各成分を用いて、カメラワーク成分の積算値を算出する。
 次に、動画におけるシーンチェンジ点について図面を参照して詳細に説明する。
 図4は、動画を構成する各フレームに対応する画像を時系列に並べられた場合を模式的に示す図である。同図には、撮像装置により撮影された動画350を構成する各フレームに対応する画像351乃至358を概略的に示す。なお、画像351乃至358については、説明のため、数および被写体等を簡略化して示す。同図に示すように、画像351乃至358は、1つの動画350に含まれる画像ではあるものの、撮影された時刻および場所が異なる3つのシーンが含まれているため、これらのシーンが切り換わるフレームでは被写体の構図や色等が瞬間的に変化する。このように、被写体の構図や色等が瞬間的に変化して、連続する2フレーム間におけるヒストグラム差分値が閾値以上となった場合には、その連続する2フレーム間がシーンチェンジ点であると判定される。このシーンチェンジ点の判定は、変換情報補正部160および合成画像分割判定部170により行われる。ここで、シーンチェンジ点の判定を行う際に用いられる閾値は、変換情報補正部160および合成画像分割判定部170で共通した値を用いるようにしてもよく、異なる値とするようにしてもよい。例えば、頻繁に分割されることを防止するため、合成画像分割判定部170の閾値を変換情報補正部160の閾値よりも高く設定することができる。
 例えば、画像351乃至353は、街中を歩いている人物を撮影したものであり、人物が移動しているため、人物の位置が多少異なるものの、画像全体では類似している印象となる。このため、画像351乃至353に関する連続する2フレーム間におけるヒストグラム差分値が閾値を超えず、その連続する2フレーム間はシーンチェンジ点ではないと判定される。
 また、画像354乃至356は、山の前の家並みを撮影したものであり、撮像装置を水平方向に移動させて撮影しているため、被写体の位置が水平方向に移動して多少異なるものの、画像全体では類似している印象となる。しかしながら、画像353と画像354とを比較した場合には、撮影された時刻および場所が異なるシーンの切り換え部分に該当するため、画像全体が大きく異なっている。このため、画像353と画像354との境界がシーンチェンジ点と判定される。また、画像356と画像357との境界についても、同様に、シーンチェンジ点であると判定される。このように、シーンチェンジ点であると判定された場合には、本発明の実施の形態では、その境界点の直後の画像をシーンチェンジ点に該当する画像とする。シーンチェンジ点に該当する画像は、例えば、画像354および357である。
 図5は、本発明の実施の形態における動画記憶部200およびメタデータ記憶部210に記録されている各ファイルを模式的に示す図である。図5の(a)では、動画記憶部200に記憶されている動画ファイル201乃至204と、動画ファイル201乃至204に関連付けてメタデータ記憶部210に記憶されているメタデータファイル211乃至213とを示す。ここで、動画記憶部200に記憶されている各動画ファイルを識別するための識別情報である動画IDが、各動画ファイルに付与されているものとする。例えば、動画ファイル201には「#1」が付与され、動画ファイル202には「#2」が付与され、動画ファイル204には「#n」が付与されている。
 図5の(b)では、動画記憶部200に記憶されている動画ファイル201と、動画ファイル201に関連付けてメタデータ記憶部210に記憶されているメタデータファイル211とを模式的に示す図である。ここで、動画ファイル201は、n枚のフレームで構成された動画のファイルであり、これらのn枚のフレームをフレーム「1」205乃至「n」208として示す。
 また、メタデータファイル211には、動画ID214と、フレーム番号215と、アフィン変換パラメータ216とが関連付けて格納されている。
 動画ID214は、対応する動画ファイルに付与されている動画IDであり、例えば、動画ファイル201に付与されている「#1」が格納される。
 フレーム番号215は、対応する動画ファイルの動画を構成する各フレームの通し番号であり、例えば、動画ファイル201の動画を構成するフレーム「1」205乃至「n」208に対応する「1」乃至「n」が格納される。
 アフィン変換パラメータ216は、フレーム番号215に対応する動画の各フレームについて計算されたアフィン変換パラメータである。なお、フレーム番号215の「1」に対応するアフィン変換パラメータ216「a1,b1,c1,d1,e1,f1」は、単位行列のアフィン変換パラメータである。また、フレーム番号215の「m(mは2以上の整数)」に対応するアフィン変換パラメータ216の「am,bm,cm,dm,em,fm」は、フレーム「m」の直前フレーム「m-1」に対するアフィン変換パラメータである。
 次に、画像変換に用いられるアフィン変換パラメータを検出する検出方法について図面を参照して詳細に説明する。
 図6の(a)乃至(c)は、動画を構成するフレームに対応する画像の一例を示す図である。図7の(a)は、図6に示す画像300に対応するフレームの1つ前のフレームに対応する画像について背景等を省略して簡略化した画像を示す図である。また、図7の(b)および(c)は、図6に示す画像300について背景等を省略して簡略化した画像を示す図である。
 図6および図7に示す画像300、320、330には、人が跨っている馬の像301、321、331と、この馬の像301、321、331の手前に設置されている蛇の像302、322、332とが含まれている。また、図6に示すように、これらの像の背景には旗や椅子等が存在し、この旗が風になびいている。
 図7の(a)に示す画像320は、図6の(a)乃至(c)および図7の(b)および(c)に示す画像300、330に対応するフレームの1つ前のフレームに対応する画像を簡略化した画像である。また、2つの連続するフレームに対応する画像320および330は、画面内の被写体がしだいに大きくなる場合における遷移を示す画像である。すなわち、この撮影時には、画面内の被写体をしだいに大きくする操作であるズームイン操作がされている。
 本発明の実施の形態では、動画を構成する画像から特徴点を検出し、この特徴点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。また、この例では、特徴点としてコーナー点を用いる場合について説明する。
 ここで、図7の(a)乃至(c)では、画像320および330から検出された3つのコーナー点に対応するオプティカルフローを用いてアフィン変換パラメータを計算する方法を例にして説明する。
 例えば、図7の(a)に示す画像320において、特徴点として、馬の像321における口付近のコーナー点323と、馬の像321における人のお尻付近のコーナー点324と、蛇の像322の口付近のコーナー点325とが検出されているものとする。この場合において、図7の(b)に示す画像330において、勾配法やブロックマッチング法等により、画像320におけるコーナー点323、324および325に対するオプティカルフロー337、338および339が検出される。そして、この検出されたオプティカルフロー337、338および339に基づいて、画像320におけるコーナー点323、324および325に対応するコーナー点333、334および335が検出される。
 ここで、例えば、図7の(a)および(b)に示す画像320および330に含まれる馬の像321、331や蛇の像322、332は、地面に設置されているものであるため、カメラの動きとは無関係に動くものではない。このため、馬の像321、331や蛇の像322、332について検出されたコーナー点に対して求められたオプティカルフローに基づいて、カメラの動きを正確に推定することができる。例えば、図7の(c)に示すように、画像330において検出された3つのオプティカルフロー337乃至339に基づいて、画像330が、点336を中心にして画像320を拡大したものであることを推定することができる。これにより、画像330の撮影時におけるカメラの動きは、点336を中心とするズームイン動作であると判断することができる。このように、カメラの動きとは無関係に動くものではない物体についてコーナー点を検出し、このコーナー点に対して求められたオプティカルフローに基づいて、一定の規則性を備えるカメラの動きを正確に検出することができる。このため、これらのコーナー点に対して求められたオプティカルフローを用いて、アフィン変換パラメータを計算して求めることができる。
 しかしながら、風になびいている旗等のように、カメラの動きとは無関係に動く物体が画像内に含まれる場合が考えられる。例えば、図6に示す画像300には、風になびいている旗が含まれている。このようなカメラの動きとは無関係に動く物体についてコーナー点が検出され、このコーナー点に対して求められたオプティカルフローを用いてカメラの動きを推定する場合には、カメラの動きを正確に推定することができない。
 例えば、図6の(b)に示す画像300において検出されたオプティカルフローを矢印で示すとともに、このオプティカルフローにより検出されたコーナー点を矢印の先端に白抜きの丸で示す。ここで、コーナー点303乃至305は、図7の(b)および(c)に示すコーナー点333乃至335に対応するコーナー点である。また、コーナー点306乃至311は、馬の像301の背景に存在する旗について検出されたコーナー点である。そして、これらの旗が風になびいているため、風の影響による旗の動きがオプティカルフローとして検出されている。すなわち、コーナー点306乃至311に対応する各オプティカルフローは、カメラの動きとは無関係に動く旗について検出されたものである。このため、アフィン変換パラメータを計算する場合に用いられる3つのオプティカルフローに、コーナー点306乃至311のうちの少なくとも1つのコーナー点に対応するオプティカルフローが含まれている場合には、正確なカメラの動きを検出することができない。この場合には、正確なアフィン変換パラメータを計算することができない。
 以上で示したように、例えば、カメラの動きとは無関係に動く物体に対するオプティカルフロー(図6の(b)に示すコーナー点306乃至311に対応する各オプティカルフロー)と、カメラの動きとの関係で一定の規則性を備えるオプティカルフロー(図6の(b)に示すコーナー点306乃至311に対応する各オプティカルフロー以外のオプティカルフロー)とが、撮影画像から検出されることがある。
 そこで、本発明の実施の形態では、3個のオプティカルフローに基づいてアフィン変換パラメータを計算するアフィン変換パラメータ計算処理を複数回行い、複数のアフィン変換パラメータを求め、これらの複数のアフィン変換パラメータの中から最適なアフィン変換パラメータを選択する例について説明する。なお、この例では、動画を構成する各画像に含まれている動物体の大きさが、画像の面積に対して比較的小さいものとする。
 ここで、アフィン変換について簡単に説明する。2次元上において、移動元の位置を(x,y)とし、アフィン変換後の移動先の位置を(x´,y´)とした場合に、アフィン変換の行列式は、式1で表すことができる。
Figure JPOXMLDOC01-appb-M000001
 ここで、a乃至fは、アフィン変換パラメータである。また、このアフィン変換パラメータによるアフィン行列AMを次の式で表すことができる。なお、X方向のズーム成分XZ、Y方向のズーム成分YZ、X方向の並進成分XT、Y方向の並進成分YT、X方向の回転成分θx、X方向の回転成分θyについては、それぞれ次の式で求めることができる。なお、単位行列の場合には、a=e=1、b=c=d=f=0となる。
Figure JPOXMLDOC01-appb-M000002
 このように、アフィン変換パラメータから、カメラワークの各成分(X方向およびY方向のズーム成分、並進成分、回転成分)を求めることができる。なお、回転成分については、図8を参照して説明する。
 図8は、所定のアフィン変換パラメータを用いて矩形340が変換された場合を示す図である。同図に示すように、矩形340の1つの頂点を原点とし、この原点に対応する頂点に接する矩形340の2辺のそれぞれをx軸およびy軸とするxy座標において、所定のアフィン変換パラメータを用いて矩形340が変換された後の矩形を矩形341とする。この場合に、矩形340および341のx軸側の辺により形成される角度を回転成分θxとし、矩形340および341のy軸側の辺により形成される角度を回転成分θyとする。
 次に、カメラワーク成分の平均値および積算値の算出方法について説明する。
 カメラワーク成分の平均値は、所定数のフレームに対応するカメラワークの各成分を加算した値を所定数で除算した値である。例えば、カメラワーク成分のX方向の並進成分の平均値を算出する場合において、所定数を5とし、算出の対象となるフレーム1乃至5のカメラワーク成分のX方向の並進成分をそれぞれXT1乃至5とする場合には、「(XT1+XT2+XT3+XT4+XT5)/5」により求めることができる。なお、カメラワークの各成分の平均値の代わりに、算出の対象となるフレーム間の経過時間でカメラワークの各成分を加算した値を除算することにより求めた平均速度を用いるようにしてもよい。
 また、カメラワーク成分の積算値は、先頭のフレームから現フレームまでの各フレームに対応するカメラワークの各成分を加算した値である。例えば、カメラワーク成分のX方向の並進成分の積算値を算出する場合において、先頭のフレームから現フレームまでの各フレーム1乃至5のカメラワーク成分のX方向の並進成分をそれぞれXT1乃至5とする場合には、「XT1+XT2+XT3+XT4+XT5」により求めることができる。
 次に、アフィン変換パラメータの計算方法について説明する。
 最初に、動画を構成するフレームの中の1つのフレームである現フレームに対応する画像において、オプティカルフローが検出された特徴点の中から3個の特徴点が選択される。例えば、図6の(b)に示す画像300において検出されたコーナー点(白抜きの丸で示す)の中からランダムに3個のコーナー点が選択される。なお、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。
 続いて、選択された3個の特徴点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算される。例えば、図6の(b)に示す画像300におけるコーナー点(白抜きの丸で示す)の中から選択された3個のコーナー点に対応するオプティカルフロー(白抜きの丸に接続される矢印で示す)を用いてアフィン変換パラメータが計算される。このアフィン変換パラメータは、式1を用いて求めることができる。
 続いて、求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される。具体的には、求められたアフィン変換パラメータを用いて、現フレームの直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、現フレームにおいて検出された特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの特徴点の位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。このように、オプティカルフローが検出された特徴点の中から3個の特徴点をランダムに選択し、これらの特徴点に対応するオプティカルフローに基づいてアフィン変換パラメータのスコアを算出する処理を所定回数繰り返し、アフィン変換パラメータのスコアを複数算出する。この所定回数は、比較の対象となる画像の種類や画像処理装置100の処理能力等に応じて適宜設定するようにしてもよく、固定値を用いるようにしてもよい。この所定回数として、例えば、画像処理装置100の処理能力を考慮して20回程度と設定することができる。
 例えば、図6の(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311以外のコーナー点が3個選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローは一定の規則性を備えているため、直前のフレームに対応する画像を一定の規則に従って変換させるアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて、コーナー点306乃至311以外のコーナー点に関して求められる差分値は、比較的小さい値が算出される。このため、アフィン変換パラメータのスコアは、大きい値になる。
 一方、図6の(b)に示す画像300において検出されたコーナー点の中から、コーナー点306乃至311のうちの少なくとも1個を含む3個のコーナー点が選択された場合を考える。このように選択された3個のコーナー点に対応する3個のオプティカルフローを用いてアフィン変換パラメータが計算されると、上述したように、この3個のオプティカルフローには、一定の規則性を備えていないオプティカルフローが含まれるため、直前のフレームに対応する画像を一定の規則に従って変換させるものではないアフィン変換パラメータが求められる。このため、アフィン変換パラメータを用いて求められたコーナー点の位置と、現フレームにおいて検出されたコーナー点の位置とについて求められる差分値は、任意のコーナー点で比較的大きい値が算出される。このため、アフィン変換パラメータのスコアは、小さい値になる。
 続いて、求められた複数のアフィン変換パラメータのスコアの中で、スコアの値が最も大きいアフィン変換パラメータを代表アフィン変換パラメータとして選択する。そして、選択された代表アフィン変換パラメータの行列に対する逆行列を算出して、この逆行列のアフィン変換パラメータを現フレームに関連付けてメタデータ記憶部210に記録する。これにより、動画を構成する画像をアフィン変換する場合に、最適なアフィン変換パラメータを用いてアフィン変換することができる。
 以上で示したように、動画を構成する各画像に人物や車等の動いている物体(動物体)が含まれている場合でも、画像の面積に対するその動物体の大きさが比較的小さい場合には、動物体の影響を受けずにカメラの動きを抽出することができる。
 また、カメラの動きを抽出することによって、ズームイン、ズームアウト、パン、チルト、ローテーション等の意図的に撮影者が移動させたと思われる動きを推定することができる。なお、式1において、a=e、d=-bとして、2個のオプティカルフローに基づいてアフィン変換パラメータを算出することができる。例えば、3個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて、画像をアフィン変換する場合には、長方形の画像が平行四辺形に変形される場合がある。これに対して、2個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて、画像をアフィン変換する場合には、並進移動、回転、ズーム(xy方向のズーム率が同じもの)の少なくとも1つの変換を長方形の画像の状態で行うことができる。本発明の実施の形態では、3個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて画像を変換する例について説明するが、2個のオプティカルフローに基づいて計算されたアフィン変換パラメータを用いて画像を変換する場合についても同様に適用することができる。
 次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
 図9は、本発明の実施の形態における画像処理装置100によるアフィン変換パラメータ検出処理の処理手順を示すフローチャートである。
 最初に、動画入力部110に動画ファイルが入力される(ステップS900)。続いて、動画入力部110に入力された動画ファイルがデコードされ、時系列の順序で1つのフレームの画像が取得される(ステップS901)。続いて、取得された1つのフレームが動画入力部110に入力された動画ファイルの先頭のフレームであるか否かが判断される(ステップS902)。取得された1つのフレームが、先頭のフレームである場合には(ステップS902)、この先頭のフレームに対応する画像の全体から特徴点が抽出される(ステップS903)。例えば、図6の(b)に示すように、画像において複数のコーナー点が抽出される。続いて、アフィン変換パラメータとして単位行列のアフィン変換パラメータが選択され(ステップS904)、ステップS914に進む。
 一方、取得された1つのフレームが、先頭のフレームではない場合には(ステップS902)、直前のフレームに対応する画像を基準として新たに撮影された領域から特徴点が抽出される(ステップS905)。すなわち、直前のフレームに対応する画像において既に抽出されている特徴点については、この特徴点に対応するオプティカルフローにより求めることができるため、現フレームに対応する画像においては抽出されない。
 続いて、直前のフレームに対応する画像から抽出された各特徴点に対するオプティカルフローが計算される(ステップS906)。すなわち、図6の(b)に示すように、各コーナー点に対するオプティカルフローが計算される。
 続いて、変数iが「1」に初期化される(ステップS907)。続いて、オプティカルフローが検出された特徴点の中から、M個の特徴点が選択される(ステップS908)。例えば、カメラワークパラメータとして、アフィン変換パラメータを用いる場合には、3個の特徴点がランダムに選択される。また、カメラワークパラメータとして、射影変換パラメータを用いる場合には、4個の特徴点がランダムに選択される。続いて、選択されたM個の特徴点に対応して計算されたM個のオプティカルフローに基づいて、アフィン変換パラメータが計算される(ステップS909)。
 続いて、計算して求められたアフィン変換パラメータに基づいて、アフィン変換パラメータのスコアが計算される(ステップS910)。具体的には、計算して求められたアフィン変換パラメータを用いて、直前のフレームに対応する画像における全ての特徴点の移動先の位置を求める。そして、このアフィン変換パラメータを用いて求められた特徴点の位置と、ステップS906でオプティカルフローを計算した際に求められた現フレームに対応する画像における特徴点の位置とを比較して、互いに対応する2つの特徴点の位置の差分値が特徴点毎に計算される。差分値として、例えば、互いに対応する2つの位置間の絶対距離が計算される。続いて、計算された差分値と、予め設定されている閾値とを特徴点毎に比較して、その差分値が閾値よりも小さい特徴点の個数をアフィン変換パラメータのスコアとして求める。
 続いて、変数iに「1」が加算され(ステップS911)、変数iが、定数Nよりも大きいか否かが判断される(ステップS912)。変数iが、定数N以下である場合には(ステップS912)、ステップS908に戻り、アフィン変換パラメータのスコア算出処理を繰り返す(ステップS908乃至S910)。例えば、定数Nとして、20を用いることができる。
 一方、変数iが定数Nよりも大きい場合には(ステップS912)、求められたアフィン変換パラメータのスコアのうちで、スコアの値が最も大きいアフィン変換パラメータが代表アフィン変換パラメータとして選択される(ステップS913)。続いて、選択された代表アフィン変換パラメータの行列に対する逆行列のアフィン変換パラメータが、現フレームに関連付けてメタデータ記憶部210に記録される(ステップS914)。なお、現フレームが先頭のフレームである場合には、選択された単位行列のアフィン変換パラメータが、先頭のフレームに関連付けてメタデータ記憶部210に記録される。続いて、現フレームに対応する画像と、この画像における特徴点とが上書き保存される(ステップS915)。
 続いて、現フレームが、動画入力部110に入力された動画ファイルの最後のフレームであるか否かが判断される(ステップS916)。現フレームが、最後のフレームではない場合には(ステップS916)、ステップS901に戻り、アフィン変換パラメータ検出処理を繰り返す(ステップS901乃至S915)。一方、現フレームが、最後のフレームである場合には(ステップS916)、アフィン変換パラメータ検出処理を終了する。
 本発明の実施の形態では、カメラワークパラメータの検出として、動画を構成する画像において検出されたオプティカルフローに基づいてアフィン変換パラメータを検出する例について説明したが、加速度センサやジャイロセンサ等のセンサやズーム操作をする際に用いられるズームボタンをカメラに設け、このセンサやズームボタンによって撮影時におけるカメラの移動量を検出し、このカメラの移動量に基づいてカメラワークパラメータを求めるようにしてもよい。なお、これらの撮影時において検出されたカメラの移動量については、カメラワークパラメータ算出部123により求められたカメラワークパラメータが正しいか否かを判断する際に用いることができる。また、カメラワークパラメータ算出部123により複数のカメラワークパラメータを検出しておき、撮影時において検出されたカメラの移動量に基づいて、この複数のカメラワークパラメータの中から1つのカメラワークパラメータを選択するようにしてもよい。
 次に、カメラワーク検出部120により算出されたアフィン変換パラメータを用いて、1つの動画を合成再生する場合について図面を参照して詳細に説明する。なお、図10乃至図18に示す各画像は、説明のため、簡略化するとともに、連続する2つのフレーム間の移動量を大きくして示している。
 最初に、カメラの撮影時において、倍率が変更されないものの、カメラの位置を中心として、カメラのレンズの方向が上下左右の何れかに移動されている場合について説明する。
 図10は、カメラにより撮影された動画の遷移の一例を示す図である。図10には、山を背景にして人400を撮影した場合における動画に含まれる連続するフレームに対応する画像401乃至403を示す図である。この例では、カメラのレンズの方向を右および上側に移動しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人400が、その動画を構成する画像において右側から左側に移動するとともに下側に移動する。
 図11は、図10に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図11の(a)に示す画像401は、図10の(a)に示す画像401と同じものである。また、図11の(b)に示す画像402のうちの実線の部分は、図10の(b)に示す画像402と同じものであり、図11の(b)に示す画像402のうちの破線の部分は、図11の(a)に示す画像401の実線の部分と同じものである。また、図11の(b)に示す画像402における矢印404乃至406は、画像402から検出されたオプティカルフローの一例を示す。同様に、図11の(c)に示す画像403のうちの実線の部分は、図10の(c)に示す画像403と同じものであり、図11の(c)に示す画像403のうちの破線の部分は、図11の(b)に示す画像402の実線の部分と同じものである。また、図11の(c)に示す画像403における矢印407乃至409は、画像403から検出されたオプティカルフローの一例を示す。
 図11の(b)および(c)に示すように、カメラの移動に合わせて、画像に含まれる人400および背景の山が移動する。この移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
 図12は、図10に示す画像401乃至403を含む動画を合成しながら再生する場合における画像合成例を示す図である。なお、本発明の実施の形態では、2つの動画を構成する各画像が合成されるため、再生時間の経過とともに、表示部260に表示される画像が通常の画像よりも大きくなる。このため、最初に表示される画像は、表示部260の表示領域の大きさよりも比較的小さくして表示される。なお、最初に表示される画像の大きさや位置等をユーザが指定するようにしてもよい。
 図12の(a)に示すように、最初は、先頭のフレームに対応する画像401のみが表示される。ここで、画像401に対応するアフィン変換パラメータの行列(3×3の行列)をA1とする場合に、A1の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1の行列により画像401がアフィン変換される。ここで、Aは単位行列であるため、画像401の位置および大きさは変換されない。続いて、次のフレームに対応する画像402が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像402がアフィン変換される。具体的には、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、A1×A2の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1×A2の行列により画像402がアフィン変換される。図12の(b)に示す画像においては、画像402の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像402が、直前のフレームに対応する画像401に重なるように上書きされる。すなわち、画像401の領域のうちで、画像402と重複する領域410については、画像402の画像が上書きされる。また、画像401の領域のうちで、画像402と重複しない領域411については、画像401の画像が合成される。すなわち、2つ目のフレームに対応する画像402が表示される場合には、図12の(b)に示すように、画像402の全体部分と、画像401のうちの領域411に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図12の(b)では、画像402に画像枠が表示される。また、画像402をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
 続いて、次のフレームに対応する画像403が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像403がアフィン変換される。すなわち、画像403に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像402に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像403がアフィン変換される。具体的には、画像403に対応するアフィン変換パラメータの行列をA3とし、画像402に対応するアフィン変換パラメータの行列をA2とし、画像401に対応するアフィン変換パラメータの行列をA1とする場合において、A1×A2×A3の値が求められ、先頭のフレームの画像401の位置および大きさを基準にして、求められたA1×A2×A3の行列により画像403がアフィン変換される。図12の(c)に示す画像においては、画像403の位置のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像403が、前のフレームに対応する画像401および402の合成画像に重なるように上書きされる。すなわち、画像401および402の合成画像の領域のうちで、画像403と重複する領域413および414については、画像403の画像が上書きされる。また、画像401および402の合成画像の領域のうちで、画像403と重複しない領域411および412については、画像401および402の合成画像が合成される。すなわち、3つ目のフレームに対応する画像403が表示される場合には、図12の(c)に示すように、画像403の全体部分と、画像401のうちの領域411に対応する部分と、画像402のうちの領域412に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図12の(c)に示す画像403に画像枠が表示される。また、画像403をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。すなわち、画像402および403のそれぞれに対応するアフィン変換パラメータの行列の乗算により求められたアフィン変換パラメータが画像変換部180に保持される。このように、現フレームに対応する画像をアフィン変換する場合には、現フレームに対応するアフィン変換パラメータの行列と、この直前までの各フレームに対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより、現フレームに対応する画像がアフィン変換される。このアフィン変換の際に求められたアフィン変換パラメータが画像変換部180に保持され、次のアフィン変換で用いられる。また、図15および図18の場合についても同様である。
 次に、カメラの撮影時において、カメラのレンズの方向は移動されないものの、倍率が変更されている場合について説明する。
 図13は、カメラにより撮影された動画の遷移の一例を示す図である。図13には、山を背景にして人420を撮影した場合における動画に含まれる連続するフレームに対応する画像421乃至423を示す図である。この例では、カメラのレンズの倍率を上げながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人420が、その動画を構成する画像において次第に大きくなる。なお、倍率を上げる際にカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
 図14は、図13に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図14の(a)に示す画像421は、図13の(a)に示す画像421と同じものである。また、図14の(b)に示す画像422のうちの実線の部分は、図13の(b)に示す画像422と同じものであり、図14の(b)に示す画像422のうちの破線の部分は、図13の(a)に示す画像421の実線の部分と同じものである。また、図14の(b)に示す画像422における矢印424乃至426は、画像422から検出されたオプティカルフローの一例を示す。同様に、図14の(c)に示す画像423のうちの実線の部分は、図13の(c)に示す画像423と同じものであり、図14の(c)に示す画像423のうちの破線の部分は、図13の(b)に示す画像422の実線の部分と同じものである。また、図14の(c)に示す画像423における矢印427乃至429は、画像423から検出されたオプティカルフローの一例を示す。
 図14の(b)および(c)に示すように、倍率の変更に合わせて、画像に含まれる人420および背景の山の大きさが変更する。この変更により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
 図15は、図13に示す画像421乃至423を含む動画を再生する場合における表示例を示す図である。
 図15の(a)に示すように、最初は、先頭のフレームに対応する画像421のみが表示される。続いて、次のフレームに対応する画像422が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像422がアフィン変換される。図15の(b)に示す画像においては、画像422の大きさのみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像422が、直前のフレームに対応する画像421に重なるように上書きされる。すなわち、画像421の領域のうちで、画像422と重複する領域については、画像422の画像が上書きされる。この場合には、画像421は、画像422の全ての領域と重複しているため、画像421に画像422の全ての画像が上書きされる。また、画像421の領域のうちで、画像422と重複しない領域431については、画像421の画像が合成される。すなわち、2つ目のフレームに対応する画像422が表示される場合には、図15の(b)に示すように、画像422の全体部分と、画像421のうちの領域431に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図15の(b)では、画像422に画像枠が表示される。また、画像422をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
 続いて、次のフレームに対応する画像423が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像423がアフィン変換される。すなわち、画像423に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像422に対応するアフィン変換パラメータの行列とを乗算して求められたアフィン変換パラメータにより画像423がアフィン変換される。図15の(c)に示す画像においては、画像423の大きさのみが変換される。そして、アフィン変換された画像423が、前のフレームに対応する画像421および422の合成画像に重なるように上書きされる。すなわち、画像421および422の合成画像の領域のうちで、画像423と重複する領域については、画像423の画像が上書きされる。この場合には、画像423は、画像421および422の全ての領域と重複しているため、画像421および422の合成画像に画像423の全ての画像が上書きされる。また、画像421および422の合成画像の領域のうちで、画像423と重複しない領域432および433については、画像421および422の合成画像が合成される。すなわち、3つ目のフレームに対応する画像423が表示される場合には、図15の(c)に示すように、画像423の全体部分と、画像421のうちの領域432に対応する部分と、画像422のうちの領域433に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図15の(c)に示す画像423に画像枠が表示される。また、画像423をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。すなわち、画像422および423のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部180に保持される。
 次に、カメラの撮影時において、カメラのレンズの方向や倍率は変更されないものの、撮影方向を回転中心にしてカメラが回転されている場合について説明する。
 図16は、カメラにより撮影された動画の遷移の一例を示す図である。図16には、山を背景にして人440を撮影した場合における動画に含まれる連続するフレームに対応する画像441乃至443を示す図である。この例では、撮影方向を回転中心にしてカメラを回転しながら、撮影者が撮影を行っている場合を示す。この場合には、カメラにより撮影される動画に含まれる人440が、その動画を構成する画像において回転していく。なお、カメラの回転によりカメラの位置が多少移動する場合があるものの、この例では、カメラの位置の移動については考慮せずに説明する。
 図17は、図16に示す各画像において、直前のフレームに対応する画像を破線で示すとともに、検出されるオプティカルフローの一例を示す図である。図17の(a)に示す画像441は、図16の(a)に示す画像441と同じものである。また、図17の(b)に示す画像442のうちの実線の部分は、図16の(b)に示す画像442と同じものであり、図17の(b)に示す画像442のうちの破線の部分は、図16の(a)に示す画像441の実線の部分と同じものである。また、図17の(b)に示す画像442における矢印444乃至446は、画像442から検出されたオプティカルフローの一例を示す。同様に、図17の(c)に示す画像443のうちの実線の部分は、図16の(c)に示す画像443と同じものであり、図17の(c)に示す画像443のうちの破線の部分は、図16の(b)に示す画像442の実線の部分と同じものである。また、図17の(c)に示す画像443における矢印447乃至449は、画像443から検出されたオプティカルフローの一例を示す。
 図17の(b)および(c)に示すように、カメラの回転に合わせて、画像に含まれる人440および背景の山が回転移動する。この回転移動により検出されるオプティカルフローに基づいてアフィン変換パラメータをフレーム毎に求めることができる。
 図18は、図16に示す画像441乃至443を含む動画を再生する場合における表示例を示す図である。
 図18の(a)に示すように、最初は、先頭のフレームに対応する画像441のみが表示される。続いて、次のフレームに対応する画像442が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像442がアフィン変換される。図18の(b)に示す画像においては、画像442の角度のみが変換される。そして、アフィン変換パラメータによりアフィン変換された画像442が、直前のフレームに対応する画像441に重なるように上書きされる。すなわち、画像441の領域のうちで、画像442と重複する領域450については、画像442の画像が上書きされる。また、画像441の領域のうちで、画像442と重複しない領域451および452については、画像441の画像が合成される。すなわち、2つ目のフレームに対応する画像442が表示される場合には、図18の(b)に示すように、画像442の全体部分と、画像441のうちの領域451および452に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させることができる。図18の(b)では、画像442に画像枠が表示される。また、画像442をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。
 続いて、次のフレームに対応する画像443が表示される場合には、このフレームに関連付けられているアフィン変換パラメータを用いて画像443がアフィン変換される。すなわち、画像443に対応するアフィン変換パラメータの行列と、直前のアフィン変換に用いられた画像442に対応するアフィン変換パラメータの行列とを用いて求められたアフィン変換パラメータにより画像443がアフィン変換される。図18の(c)に示す画像においては、画像443の角度のみが変換される。そして、アフィン変換された画像443が、前のフレームに対応する画像441および442の合成画像に重なるように上書きされる。すなわち、画像441および442の合成画像の領域のうちで、画像443と重複する領域453乃至457については、画像443の画像が上書きされる。また、画像441および442の合成画像の領域のうちで、画像443と重複しない領域458乃至461については、画像441および442の合成画像がさらに合成される。すなわち、3つ目のフレームに対応する画像443が表示される場合には、図18の(c)に示すように、画像443の全体部分と、画像441のうちの領域459に対応する部分と、画像442のうちの領域458および461に対応する部分とが合成された画像が表示される。また、表示されている画像のうちで最新の画像であることを示す画像枠を現フレームに対応する画像の周りに表示させる場合には、図18の(c)に示す画像443に画像枠が表示される。また、画像443をアフィン変換したアフィン変換パラメータが画像変換部180に保持される。すなわち、画像442および443のそれぞれに対応するアフィン変換パラメータを用いて求められたアフィン変換パラメータが画像変換部180に保持される。
 図19は、本発明の実施の形態における動画記憶部200に記憶されている動画ファイルの各フレームと、表示領域との関係を模式的に示す図である。ここでは、操作受付部270、メタデータ記憶部210および画像メモリ220についてのみ図示し、これら以外の構成についての図示を省略する。また、図5の(b)に示す動画ファイル201を構成するフレーム「1」乃至「3」について、メタデータファイル211に記憶されているアフィン変換パラメータ216を用いて画像メモリ220に合成画像が作成される場合を例にして説明する。なお、図19では、1つの動画を画像メモリ220に保持させる場合を例にして示すが、複数の動画を画像メモリ220に保持させる場合についても同様に合成される。
 図19の(a)には、図5の(b)に示す動画ファイル201を構成するフレームのうちの最初のフレームであるフレーム1(205)が画像メモリ220に保存される場合を示す。例えば、図19の(a)に示すように、動画ファイル201のフレーム1(205)に対応する画像471が画像メモリ220に保存される。ここで、最初のフレームに対応する画像471が画像メモリ220に保持される位置および大きさは、予め指定されている位置に保存するようにしてもよく、操作受付部270においてユーザにより指定された位置に保存するようにしてもよい。また、例えば、再生の対象となる動画に関連付けられているメタデータファイルを用いて、この動画を構成する各フレームにより作成される合成画像の大きさを計算し、この計算に基づいて画像471が保存される位置を決定するようにしてもよい。なお、以下では、画像メモリ220上に配置された画像471の左上の位置を原点とし、横方向(横軸)をx軸とし、縦方向(縦軸)をy軸として説明する。
 図19の(a)に示すように、画像メモリ220上に画像471が配置された場合における表示領域を表示領域470とする。表示領域470は、例えば、動画により作成される合成画像の位置および大きさに基づいて、操作受付部270により受け付けられた表示倍率の値に応じて決定するようにしてもよい。例えば、画像471に対する表示領域470の位置は、アフィン変換パラメータにより決定することができる。すなわち、現画像をズームアウトする「0.5倍」の表示倍率が指定されている場合には、x方向およびy方向のズーム成分が2倍となるアフィン変換パラメータを用いて表示領域が設定される。また、現画像に対して表示領域を平行移動させる場合や回転させる場合についても、アフィン変換パラメータを用いることにより表示領域の位置および範囲を決定することができる。
 図19の(b)には、図5の(b)に示す動画ファイル201を構成するフレームのうちのフレーム2(206)が画像メモリ220に保存される場合を示す。この場合には、上述したように、フレーム番号215の「1」および「2」に関連付けてメタデータファイル211に記憶されているアフィン変換パラメータ216を用いてフレーム2(206)に対応する画像472が変換され、画像471に上書き合成される。
 図19の(c)には、図5の(b)に示す動画ファイル201を構成するフレームのうちのフレーム3が画像メモリ220に保存される場合を示す。この場合についても、上述したように、フレーム番号215「1」乃至「3」に関連付けてメタデータファイル211に記憶されているアフィン変換パラメータ216を用いてフレーム3に対応する画像473が変換され、画像471および352に上書き合成される。
 以上で示したように、画像メモリ220上に配置される表示領域の範囲内に存在する画像を表示することによって、再生中の合成画像を順次表示させることができる。ここで、現画像がアフィン変換されて画像メモリ220に合成される際には、低い解像度に変換する解像度変換処理や圧縮処理等の画質の変換が施されることがある。このため、表示倍率を高くして現画像を拡大表示させる場合には、現画像を含む合成画像がぼけてしまうことが考えられる。そこで、この例では、現在再生中の現画像については、画像メモリ220に合成される前の画像を用いて合成画像を表示させる。以下では、この表示方法について図面を参照して詳細に説明する。
 図20は、本発明の実施の形態における動画記憶部200に記憶されている動画ファイルの各フレームの流れを模式的に示す図である。ここでは、操作受付部270、動画記憶部200、メタデータ記憶部210、画像メモリ220および表示用メモリ240の関係についてのみ図示し、これら以外の構成についての図示を省略する。なお、図20では、1つの動画を表示部260に表示させる場合を例にして示すが、複数の動画を表示部260に表示させる場合についても同様に合成される。
 図20の(a)には、図5の(b)に示す動画ファイル201およびメタデータファイル211を簡略化して示す。以下では、動画ファイル201を構成するフレームi(207)に対応する画像が表示される例について説明する。すなわち、動画ファイル201を構成するフレーム1乃至「i-1」に対応する画像については、合成画像が作成されているものとする。
 図20の(b)には、動画ファイル201を構成する各フレームに対応する画像が合成された合成画像が保持されている画像メモリ220を模式的に示す。図19の(b)に示すように、動画ファイル201を構成するフレーム1(661)に対応する画像471が画像メモリ220に最初に保持される。そして、画像471が画像メモリ220に保持された後に、動画ファイル201を構成するフレーム2乃至「i-1」に対応する各画像が、フレーム2乃至「i-1」のそれぞれに関連付けてメタデータファイル211に記憶されているアフィン変換パラメータ216の値を用いて順次アフィン変換され、アフィン変換された画像が画像メモリ220に順次上書きされて保持される。そして、画像メモリ220に保持されている合成画像から、表示領域取出部230が表示領域内に存在する画像をフレーム毎に取り出す。
 フレーム1乃至「i-1」に対応する各画像による合成画像が画像メモリ220に保持されている状態で、動画ファイル201を構成するフレームi(207)に対応する画像が、フレーム1乃至iに関連付けてメタデータファイル211に記憶されているアフィン変換パラメータ216を用いてアフィン変換され、アフィン変換された現画像474が画像メモリ220に上書きされて保持される。そして、画像メモリ220に保持されている合成画像から、表示領域470内に存在する画像を表示領域取出部230が取り出し、取り出された画像を、例えば、図20の(c)に示すように表示用メモリ240に保持させる。
 図20の(c)には、表示領域取出部230により取り出された画像が保持されている表示用メモリ240を模式的に示す。ここで、表示領域取出部230により取り出された画像のうちの現フレームに対応する現画像475は、表示領域取出部230により画像メモリ220から取り出された現画像474ではなく、動画記憶部200から取得されて画像変換部180によりアフィン変換された画像を用いる。ここで、表示用メモリ240における現画像475の保存位置は、画像メモリ220における現画像474の位置および大きさと、画像メモリ220における表示領域470の位置および大きさとに基づいて決定することができる。例えば、フレーム番号215の「1」乃至「i」に関連付けてメタデータファイル211に記憶されているアフィン変換パラメータの行列をそれぞれA1、…、Aiとし、表示領域470を決定するためのアフィン変換パラメータの行列(例えば、画像メモリ220を基準とする行列)をCとする場合には、画像471の位置を基準として、Inv(C)×A1×…×Aiを用いることにより、表示用メモリ240における現画像475の保存位置を決定することができる。
 図20の(c)に示すように、表示領域取出部230により取り出された画像が表示用メモリ240に保持されるとともに、表示領域取出部230により取り出された画像に、動画記憶部200から取得されて画像変換部180によりアフィン変換された画像が上書きされて表示用メモリ240に保持される。そして、表示用メモリ240に保持されている画像が表示部260に表示される。このように、現画像については、アフィン変換後に縮小等の処理が施されて画像メモリ220に保持される前の状態の画像を用いることによって、比較的綺麗な現画像を表示することができる。また、ユーザの操作により拡大等がされた場合についても現画像を綺麗な状態で表示することができる。
 以上で示したように、現画像については、画像メモリ220に保持される合成画像の代わりに、動画記憶部200から取得されてアフィン変換された画像を用いることができるため、比較的綺麗な画像を視聴することができる。この表示例については、図21および図22を参照して詳細に説明する。
 図21の(a)は、カメラにより撮影された動画を再生する場合における表示例を示す図である。この例では、大きな建物がある芝生の広場で遊んでいる親子を、カメラを主に左右方向に移動させながら撮影した場合の動画を再生中における画像480を示す。ここで、画像480には、動画を構成する各クレームに対応する画像により合成された画像481がパノラマ状に形成されている。また、画像480における現フレームに対応する画像は、現画像482である。
 ここで、枠483で囲まれた画像領域を拡大表示する場合について説明する。表示部260に表示されている画像について拡大縮小表示をする場合には、ユーザが操作受付部270において表示倍率指定キーを操作することにより所望の表示倍率を指定することができる。例えば、図21の(a)に示すように、表示部260に画像480が表示されている場合において、枠483で囲まれた画像領域を拡大表示する場合には、ユーザが操作受付部270において表示倍率指定キーを操作して表示倍率を指定するとともに、位置を指定することにより、枠483で囲まれた画像領域を拡大表示することができる。
 図21の(b)は、画像480における現画像482がアフィン変換される前の状態の画像484を示す図である。
 図22の(a)は、図21の(a)に示す枠483で囲まれた画像領域が拡大表示された場合における画像485を示す図である。図22の(a)に示す画像485は、アフィン変換後の現画像が画像メモリ220に保存される前の状態で表示用メモリ240に合成された画像である。このように、現画像486の領域には、画像メモリ220に保存される前の状態の比較的精細な画像が表示される。このため、現画像486と、この領域以外の領域とを比較した場合に、他の領域よりも比較的綺麗な現画像486を見ることができる。一方、図22の(b)に示す画像487は、アフィン変換後の現画像が画像メモリ220に保存された状態で表示用メモリ240に保存された画像である。このように表示される場合には、現画像488の領域についても、他の領域の画像と同程度の画像が表示される。すなわち、本発明の実施の形態によれば、画像合成表示する際に、表示用メモリ240に保持された履歴画像は圧縮される場合があるものの、現在(カレント)の画像については非圧縮の画像、または、履歴画像よりも高い解像度の画像を使用することができるため、高画質な画像合成表示を実現することができる。
 次に、実際にカメラにより撮影された動画を合成再生する場合における表示例を示す。以下に示す表示例では、表示部260の表示領域のうちで、動画の少なくとも何れかを構成する現フレームおよび前のフレームに対応する画像が表示される領域のみに合成画像を表示し、その他の領域を黒くする例を示す。また、現フレームに対応する画像の周りには枠を表示する。なお、以下に示す表示例では、1つの動画が再生されている途中からの表示例を示す。また、実際ではフレーム毎に合成画像が順次表示されるが、同図では、所定数のフレーム間隔毎の表示例を示し、このフレーム間に表示される合成画像の図示を省略する。このため、現フレームに対応する枠の移動が、同図では大きいものとなっている。
 図23乃至図26は、カメラにより撮影された動画の遷移の一例を示す図である。同図では、大きな建物がある芝生の広場で遊んでいる親子を、カメラを主に左右方向に移動させながら撮影した場合における動画を構成する画像730乃至741を示す。なお、この動画は、図21および図22に示す動画と同様である。
 同図に示す画像730乃至741において、現フレームに対応する画像は、画像750である。なお、同図に示す画像730乃至741においては、合成画像が異なる場合でも現画像を同一の符号750で示す。同図に示すように、撮影された画像に含まれる撮影対象物(芝生の広場等)が画面に固定され、現フレームに対応する画像750がカメラの動きに合わせて画面上を移動する。このように表示することによって、表示部260に黒く表示されている表示領域において、現フレームに対応する現画像がカメラの動きに応じて進んでいくように、閲覧者に見せることができる。また、現画像が合成画像上を移動する場合にも、合成画像上の位置と現画像の位置とが合うように移動していく。
 以上では、動画を再生させる場合に、動画を構成する各画像をアフィン変換パラメータを用いて変換させながら合成させる再生例について主に説明した。これにより、あらゆる種類の動画をパノラマ状に展開した状態で動画再生を視聴することができる。
 しかしながら、動画の種類や検出されたアフィン変換パラメータによっては、動画をパノラマ状に展開しながら適切に合成再生することができない場合が想定される。例えば、再生の対象となる動画として、カメラにより撮像された状態から編集されていない動画(未編集動画)や、カメラにより撮像された後に編集された動画(編集済動画)等が存在する。この未編集動画については、一部または全部にフォーカスが合っていない部分を含むもの、撮像中にカメラの前を人が急に横切った部分を含むもの、撮像中にカメラ等が激しく変化して、その変化を画像中に含むもの、撮像動画記録指示ボタンを押した状態で別のシーンを撮像しているもの等が考えられる。また、編集済動画については、例えば、編集により異なるシーンが連結されているもの等が考えられる。
 例えば、未編集動画についてフォーカスが合っていない場合や撮像中にカメラ等が激しく変化した場合には、アフィン変換パラメータを適切に検出することができず、アフィン変換パラメータを誤検出することが考えられる。このようにアフィン変換パラメータが誤検出された場合には、画像を適切に変換することができない。また、例えば、編集済動画において編集により異なるシーンが連結されている場合に、これらの異なるシーンが1つの合成画像として展開されたり、合成されたりすることが考えられる。そこで、本発明の実施の形態では、動画を合成再生させる場合に、動画を構成する各画像から抽出された特徴量に基づいて、アフィン変換パラメータの補正、または、合成画像の分割等を行うことにより、さらに多くの種類の動画をパノラマ状に展開しながら適切に合成再生して、合成再生を楽しめるようにする。
 最初に、アフィン変換パラメータを補正する場合について説明する。本発明の実施の形態では、動画を構成する各画像から抽出された特徴量が所定の条件を満たしている場合に、アフィン変換パラメータを補正する。これにより、カメラの動きとは全く異なる位置に画像が大きく変換されることを抑制するとともに、最終的にパノラマ状に形成される合成画像の品質を向上させることができる。ここで、アフィン変換パラメータの補正に係る所定の条件として、例えば、シーンチェンジスコアが閾値以上である場合、または、カメラワークの各成分のうちの少なくとも1つが閾値以上である場合を条件とすることができる。また、これら双方を満たす場合を条件とするようにしてもよい。ここで、シーンチェンジ点であると判定された位置では、アフィン変換パラメータが誤検出されているおそれがあるため、補正を行うことによって、合成画像としての破綻を避けることができる。
 また、アフィン変換パラメータを補正する補正方法として、単位行列と置き換えることにより補正する方法、カメラワークの速度が抑制されるような行列(例えば、線型補間行列)により補正する方法を用いることができる。これにより、高速なカメラワークを抑制することができ、動画の閲覧性を向上させることができる。また、アフィン変換パラメータが誤検出された場合でも、その誤検出に係る画像以降の画像の合成に与える影響を抑制することができる。なお、アフィン変換パラメータの補正方法については、図27を参照して詳細に説明する。
 なお、動画としての閲覧性が失われない限り、高速なカメラワークまでも含めて、アフィン変換パラメータをなるべく補正しないことが、アプリケーションによっては望ましい場合も考えられる。そこで、操作受付部270からの操作入力に応じて、補正を禁止する設定をするようにしてもよい。
 次に、合成画像を分割する場合について説明する。本発明の実施の形態では、動画を構成する各画像から抽出された特徴量が所定の条件を満たしている場合に、前の各画像により形成された合成画像とは異なる合成画像とする。これにより、不連続な動画を分離することができるため、辻褄の合わない合成画像が形成されることを回避することができる。また、各シーンに対応する画像を分散させることができるため、時間的に広範囲の動画検索を容易に行うことができる。
 ここで、合成画像の分割に係る所定の条件として、例えば、シーンチェンジスコアが閾値以上である場合、カメラワークの各成分のうちの少なくとも1つが閾値以上である場合、カメラワーク成分の各平均値のうちの少なくとも1つが閾値以上である場合、カメラワーク成分の各積算値のうちの少なくとも1つが閾値以上である場合(ズームイン・ズームアウト率の閾値判定、パンニングまたはチルチング角度の閾値判定等)、または、先頭のフレーム(ここでは、分割後の最初のフレームを含む)からの再生時間が閾値以上である場合とすることができる。また、これらのうちの少なくとも2つを満たす場合を所定の条件とするようにしてもよい。なお、合成画像の分割方法については、図28乃至図30を参照して詳細に説明する。
 次に、上述した合成画像の分割に係る所定の条件について詳細に説明する。
 例えば、シーンチェンジスコアが閾値以上である場合には、そのシーンチェンジスコアに対応する位置がシーンチェンジ点であると判定することができる。このように、シーンチェンジ点であると判定された位置は、カット点(編集点)である場合や、同一シーンであるものの被写体が大きく変化した位置である場合が考えられる、そこで、シーンチェンジ点であると判定された位置に対応する画像について分割を行うことによって、全く異なる被写体同士が合成された合成画像が形成されることを防止することができる。
 また、合成画像を分割する場合における条件として、カメラワークの成分を用いる場合には、瞬間的なカメラワークの成分よりも、比較的長い時間におけるカメラワークの成分を用いることが好ましい。すなわち、1フレームに係るカメラワークの成分よりも、過去数フレーム分の成分の平均値(ローパス・フィルタが適用された値)を用いて、閾値判定を行うことが好ましい。このようにすることによって、過度な分割を防ぐことができる。また、ある程度連続してカメラワークに動きがある場合には、撮像動画記録指示ボタン(RECボタン)を押した状態で、次のシーンに遷移する等の場合を想定することができるため、分割すべき位置を正しく判断することができる。
 また、合成画像を分割する場合における条件として、例えば、シーンチェンジスコアが閾値以上である場合およびカメラワーク成分の各平均値のうちの少なくとも1つが閾値以上である場合とすることによって、過度な分割を防ぐことができる。
 また、カメラワーク成分の各積算値のうちのズーム成分の積算値は、動画を構成する先頭のフレーム(ここでは、分割後の最初のフレームを含む)に対する現フレームに対応するカメラワーク成分の拡大・縮小成分の変化量であり、このズーム成分の積算値を閾値判定に用いることができる。例えば、カメラの撮像時においてズームイン操作が過度に施されると、合成再生中の合成画像における現画像が小さくなり過ぎる場合があるため、現画像が見難いおそれがある。そこで、カメラワーク成分の拡大・縮小成分の変化量が大きくなった場合には、合成画像を分割した新たな合成画像とすることによって、合成再生に係る動画を見易くすることができる。また、例えば、ある対象物を背後から長時間に亘って追いかけながら撮像する場合においても、カメラのズームイン操作と同じ効果になる。そこで、同様の分割処理を行うことによって、合成再生に係る動画を見易くすることができる。
 また、カメラワーク成分の各積算値のうちの並進成分の積算値は、動画を構成する先頭のフレーム(ここでは、分割後の最初のフレームを含む)に対する現フレームに対応するカメラワーク成分の並進成分の変化量であり、この並進成分の積算値を閾値判定に用いることができる。なお、この並進成分の積算値は、パンニング角度またはチルチング角度と考えることもできる。例えば、実際のカメラの撮像時において、カメラを持った撮影者を中心位置として撮影者が回転しながら撮像が行われる場合と、撮影者が横に移動しながらカメラを一方向に向けた状態で撮像が行われる場合とを区別することは困難である。しかしながら、撮影者が回転しながら撮像が行われる場合におけるカメラの回転角度は合成画像の大きさに反映される。このため、パンニング角度またはチルチング角度と並進成分とを同一と見做して分割処理することができる。例えば、カメラの撮像時においてパンニング操作が過度に施されると、合成再生中の合成画像が極端に横長になる場合がある。一方、カメラの撮像時においてチルチング操作が過度に施されると、合成再生中の合成画像が極端に縦長になる場合がある。このため、現フレームに対応する画像および合成画像が見難いおそれがある。そこで、カメラワーク成分の並進成分の変化量が大きくなった場合には、合成画像を分割した新たな合成画像とすることによって、合成再生に係る動画を見易くすることができる。
 次に、先頭のフレーム(ここでは、分割後の最初のフレームを含む)からの再生時間が閾値以上である場合を条件とする場合について説明する。例えば、長時間撮像された動画を一枚のパノラマ状の合成画像として表示させる場合において、特に撮像空間における撮像範囲が狭い場合には、各フレームの重なりが多くなるため、その動画に係る情報量が欠如してしまうおそれがある。例えば、各フレームの重なりが多くなる場合には、再生時刻の比較的古い画像に、再生時刻の比較的新しい画像が上書きされる。このため、再生時刻の比較的古い画像を合成画像に含めて表示させることができないおそれがあり、合成画像のインデックスとしての機能性が劣るとともに、閲覧性が劣ることが考えられる。そこで、一定の時間(例えば、5分)で、合成画像を強制的に分割することによって、合成画像のインデックスとしての機能性、および、合成画像の閲覧性を向上させることができる。
 なお、合成画像の分割間隔の時間が短すぎると、動画としての閲覧性が悪くなるおそれがあるため、最低再生時間(例えば、5秒)を設定するようにしてもよい。すなわち、上述した合成画像の分割に係る所定の条件を満たす場合でも、合成画像の分割がされてから最低再生時間の範囲内では分割処理を行わないようにする。
 このように、動画におけるシーンの不連続点等において合成画像を分離することによって、表示される合成画像のインデックスとしての機能を向上させることができるとともに、動画としての一貫性を確保して合成画像の閲覧性を向上させることができる。
 なお、これらの分割判定をそれぞれの要素に基づいて独立して判定するようにしてもよく、複数の要素が同時に条件を満たす場合にのみ分割するようにしてもよい。また、例えば、動画を構成する各画像についてアフィン変換パラメータを検出する場合に、特徴点の対応が取れない等の検出結果を、フレームに関連付けてメタデータ記憶部210に記憶しておき、この検出結果に基づいて、補正の要否、または、分割の要否を判定するようにしてもよい。すなわち、閾値を超えるものの、検出結果が、正常な検出となっている場合には、補正をしないと判定することができる。
 次に、画像に関連付けられているアフィン変換パラメータのうちの一部を補正して合成画像を作成する例について図面を参照して詳細に説明する。
 図27は、動画ファイル500を構成する画像501乃至517が合成された場合を模式的に示す図である。図27の(a)には、画像501乃至517に関連付けられているアフィン変換パラメータを用いて画像501乃至517が合成された場合を示し、図27の(b)および(c)には、画像501乃至517に関連付けられているアフィン変換パラメータのうちの一部が補正されたアフィン変換パラメータを用いて画像501乃至517が合成された場合を示す。
 同図では、動画ファイル500を構成する画像501乃至517において、内部を斜線で示す画像508乃至510の区間の撮像中にカメラの前を人が急に横切ったため、画像508乃至510について適切なアフィン変換パラメータが算出されなかった場合を例にして説明する。また、画像501乃至517において、画像508乃至510に対応するカメラワークの各成分のうちの並進成分および回転成分の少なくとも1つが閾値以上となり、画像508乃至510が上述した補正の条件を満たしているものとする。
 このように、カメラワークの各成分のうちの並進成分および回転成分の少なくとも1つが閾値以上となる画像508乃至510に関連付けられているアフィン変換パラメータを用いて、画像508乃至510をアフィン変換すると、カメラの動きとは無関係に画像508乃至510が変換されるおそれがある。例えば、図27の(a)に示すように、カメラの動きとは無関係に、画像508乃至510が他の画像の変換量よりも大きく変換されてしまう可能性がある。このような場合には、画像501乃至517により形成される合成画像において、画像508乃至510の部分が、実際の被写体の部分と大きく異なることにより、再生中の合成画像および最終的に形成される合成画像が見難い画像となる可能性が高い。そこで、上述した補正の条件を満たす場合には、そのアフィン変換パラメータを補正することにより、合成画像が実際の被写体の部分と大きく異なる画像となることを防止し、再生中の合成画像および最終的に形成される合成画像を見易くすることができる。
 このアフィン変換パラメータの補正方法として、本発明の実施の形態では、アフィン変換パラメータの行列を単位行列に補正する補正方法と、前後方向の画像に関連付けられているアフィン変換パラメータの行列に基づいて線型補間を行う補正方法とについて説明する。
 最初に、アフィン変換パラメータの行列を単位行列に補正する補正方法について説明する。例えば、連続する3つの画像を画像n-1乃至n+1とし、各画像に関連付けられているアフィン変換パラメータの行列をRn-1、Rn、Rn+1とする場合において、画像nに関する特徴量が補正の条件を満たす場合には、変換情報補正部160が、Rn=E(単位行列)と補正する。例えば、図27の(a)に示すように、画像508乃至510に対応するカメラワークの各成分のうちの並進成分および回転成分の少なくとも1つが閾値以上である場合には、変換情報補正部160が、これらのアフィン変換パラメータの行列を単位行列に補正する。そして、補正後の単位行列により画像508乃至510が変換される。
 このように、画像508乃至510が単位行列を用いて変換されるため、画像507を基準として見た場合には、画像508乃至510は実際には変換されず、直前の画像507と同じ位置に合成される。すなわち、図27の(b)に示すように、内部を斜線で示す画像507の位置に画像508乃至510が上書き合成される。なお、画像510の直後の画像511については、画像511に関連付けられているアフィン変換パラメータを用いて通常の変換が行われる。
 次に、前後方向の画像に関連付けられているアフィン変換パラメータの行列に基づいて線型補間を行う補正方法について説明する。例えば、連続する3つの画像を画像n-1乃至n+1とし、各画像に関連付けられているアフィン変換パラメータの行列をRn-1、Rn、Rn+1とする場合において、画像nに関する特徴量が補正の条件を満たし、画像n-1、n+1に関する特徴量が補正の条件を満たさない場合には、変換情報補正部160が、Rn={(Rn-1)+(Rn+1)}/2と補正する。また、例えば、連続する5つの画像を画像n-2乃至n+2とし、各画像に関連付けられているアフィン変換パラメータの行列をRn-2乃至Rn+2とする場合において、画像n-1、n、n+1に関する特徴量がそれぞれ補正の条件を満たし、画像n-2、n+2に関する特徴量がそれぞれ補正の条件を満たさない場合には、変換情報補正部160が、Rn-1、Rn、Rn+1={(Rn-2)+(Rn+2)}/2と補正する。すなわち、線型補間行列として、例えば、特徴量が補正の条件を満たす画像の前後に位置する2つの画像に関連付けられているアフィン変換パラメータの行列の平均値を用いて補正が行われる。また、特徴量が補正の条件を満たす画像が連続している場合には、これらの連続する画像の前に位置する画像である前側画像と、これらの連続する画像の後に位置する画像である後側画像とが抽出される。なお、前側画像および後側画像は、特徴量が補正の条件を満たさない画像のうちの、上述した連続する画像の前後方向に隣接する画像である。そして、抽出された前側画像および後側画像に関連付けられているアフィン変換パラメータの行列の平均値を用いて補正が行われる。
 例えば、画像507乃至511に関連付けられているアフィン変換パラメータの行列をA7乃至A11とする場合において、図27の(a)に示すように、画像508乃至510に対応するカメラワークの各成分のうちの並進成分および回転成分の少なくとも1つが閾値以上である場合には、変換情報補正部160が、画像508乃至510の前後に位置する画像507および511に係る行列A7、A11を用いて線型補間行列((A7+A11)/2)を算出し、この線型補間行列により、A8乃至A10=(A7+A11)/2と補正する。そして、補正後の行列((A7+A11)/2)により画像508乃至510が順次変換される。
 すなわち、画像508乃至510が線型補間行列を用いて変換されるため、画像508乃至510の前後に位置する画像507および511の変換量の平均値により画像508乃至510が変換され、例えば、図27の(c)に示すように、内部を斜線で示す画像507に上書きされて画像508乃至510が順次合成される。続いて、画像510の直後の画像511について、画像511に関連付けられているアフィン変換パラメータを用いて通常の変換が行われる。
 このように、補正の条件を満たす画像を変換する場合に、そのアフィン変換行列を補正することにより、再生中の合成画像または作成された合成画像を見易くすることができる。例えば、図27の(a)に示す画像501乃至517において、画像508乃至510に関連付けられているアフィン変換パラメータが、確からしくないアフィン変換パラメータである場合(特徴量が閾値以上である場合)には、画像507乃至517が、カメラの動きとは別方向に変換される。これに対して、画像508乃至510に関連付けられているアフィン変換パラメータを補正することにより、図27の(b)および(c)に示すように、画像507乃至517がカメラの動きとは別方向に変換されることを防止して、再生中の合成画像または作成された合成画像を見易くすることができる。
 なお、本発明の実施の形態では、アフィン変換パラメータを補正する補正方法として、そのアフィン変換行列を単位行列に補正する場合、または、線型補間行列に補正する場合について説明したが、例えば、補正の対象となる画像の所定数前までの画像に関連付けられているアフィン変換パラメータの行列を順次加算して加算後の行列の平均値を算出し、この平均値の行列に補正するようにしてもよい。
 次に、分割が必要と判定された場合に、前の画像により作成された合成画像とは異なる合成画像を作成する例について図面を参照して詳細に説明する。
 図28は、動画を構成する各フレームと、これらのフレームについて算出されたシーンチェンジスコアとの関係を模式的に示す図である。図28の(a)に示すグラフは、動画を構成する各フレームについて算出されたシーンチェンジスコアを時系列で示すグラフであり、横軸は撮像時刻を示し、縦軸はシーンチェンジスコアを示す。また、点線533は、図28の(a)に示すグラフにおいて、各フレームに対応する画像がシーンチェンジ点に該当するか否かを判定するための閾値を示す点線である。すなわち、シーンチェンジスコアが点線533以上である場合に、このシーンチェンジスコアに対応する画像が、シーンチェンジ点に該当する画像と判定される。例えば、動画530を構成するフレーム1乃至20のうちで、フレーム11(531)について算出されたシーンチェンジスコアを示す位置を点532で示す。この場合に、点532は、点線533を超えているため、フレーム11(531)に対応する画像は、シーンチェンジ点に該当する画像と判定される。なお、フレーム1乃至20のうちで、フレーム11(531)以外のシーンチェンジスコアは、点線533以下であるため、シーンチェンジ点に該当する画像とは判定されない。なお、このシーンチェンジスコアの判定は、変換情報補正部160および合成画像分割判定部170により行われる。
 図29は、図28の(b)に示す動画530を構成する画像551乃至567が合成された場合を模式的に示す図である。図29の(a)には、画像551乃至567に関連付けられているアフィン変換パラメータを用いて画像551乃至567が合成された場合を示し、図29の(b)および(c)には、画像551乃至567のうちの一部が分割されて合成される場合の遷移を示す。なお、図29に示す動画530を構成する画像551乃至567は、図28の(b)に示すフレーム1乃至17に対応する画像であり、内部を斜線で示す画像561は、図28の(b)に示すフレーム11(531)に対応する画像である。すなわち、画像561は、シーンチェンジ点に該当する画像である。また、画像561に対応するカメラワーク成分の各平均値のうちの少なくとも1つが閾値以上であるものとする。ここで、この例では、現画像に対応するシーンチェンジスコアが閾値以上であるとともに、カメラワーク成分の各平均値のうちの少なくとも1つが閾値以上である場合に、この現画像に関連付けられているアフィン変換パラメータを用いて現画像を変換させず、現在の合成画像と分離して新たに合成画像を作成する例を示す。
 図28の(a)に示すように、フレーム11(531)において算出されたシーンチェンジスコアが閾値以上であり、画像561がシーンチェンジ点に該当する画像であると判定さる場合には、画像561は動画530に含まれるものの、画像551乃至560とは異なるシーンで撮像された画像である可能性が高い。また、画像561以降の画像562乃至567については、画像561と同じシーンで撮像されたものであるものの、画像551乃至560とは異なるシーンで撮像された画像である可能性が高い。この場合に、図29の(a)に示すように、画像551乃至560とは異なるシーンで撮像された画像561乃至567を、画像551乃至560に上書きして合成すると、異なる2つのシーンを含む合成画像が形成されるため、異なる2つのシーンが無関係な位置で合成されてしまい、視聴者が見難いことになるおそれがある。また、画像561に対応するカメラワーク成分の各平均値のうちの少なくとも1つが閾値以上であるため、所定数のフレームに関して、一定以上の動きが検出されている。
 そこで、図29の(b)に示すように、画像560までの合成再生が行われた後に、現画像が分割の条件を満たす画像561となった場合には、図29の(c)に示すように、画像551乃至560が消去され、先頭のフレームの保持位置に画像561が保持される。そして、画像561以降の画像562乃至567が順次合成される。この例では、現画像が分割の条件を満たす場合には、現画像の前の各画像により形成された合成画像を消去して、現画像からの合成再生を行う例について説明するが、現画像の前の各画像により形成されている合成画像を表示させたままの状態で、現画像からの合成再生を行うようにしてもよい。すなわち、シーンが変更される毎に、動画を合成する位置を変更して、合成画像を順次作成するようにしてもよい。この分割例を図30に示す。
 図30は、図28の(b)に示す動画530を構成する画像551乃至567が合成された場合を模式的に示す図である。なお、図30の(a)に示す合成画像は、図29の(a)に示す合成画像と同様である。図30の(b)および(c)には、画像551乃至567のうちの一部が分割されて合成される場合であって、分割前の合成画像を残す場合の遷移を示す。なお、分割前の合成画像を残して、分割前の合成画像の位置とは異なる位置に現画像を配置する以外は、図29に示す場合と同様である。
 図30の(b)に示すように、動画を構成する先頭のフレームに対応する画像の配置位置がxy座標上の原点に設定されるとともに、分割の条件を満たす画像の配置位置がxy座標上に配置位置580として設定される。そして、図30の(b)に示すように、画像560までの合成再生が行われた後に、現画像が分割の条件を満たす画像561となった場合には、図30の(c)に示すように、画像551乃至560により形成された合成画像の位置とは異なる配置位置580に画像561が保持される。続いて、画像551乃至560により形成された合成画像を残した状態で、画像561以降の画像562乃至567が順次合成される。なお、分割の条件を満たす画像の保持位置として、予め設定しておくようにしてもよく、既に形成されている合成画像とは異なる配置位置となるように、合成画像の大きさに基づいて決定するようにしてもよい。また、図30では、分割の条件を満たす画像の保持位置として、既に形成されている合成画像の右側を設定する例について説明したが、他の方向を保持位置として設定するようにしてもよい。
 次に、実際にカメラにより撮影された動画により形成された合成画像の表示例を示す。
 図31および図32は、カメラにより撮影された動画により形成された合成画像の一例を示す図である。図31では、ビルの中にいる撮影者がビルの窓から屋外を撮影している状態で、比較的速いパンニング動作によりカメラの向きを左側方向に変化させ、ビルの室内を撮影した場合における動画により形成された合成画像590、592、593を示す。すなわち、合成画像590において、右側の画像が比較的古い画像であり、左側に進むに従って新しい画像となる。また、図31の(a)に示す点線の丸591で囲まれている画像の部分は、比較的速いパンニング動作によりカメラの向きが変更された部分である。このように、比較的速いパンニング動作によりカメラの向きが変更された場合には、そのパンニング動作がされた位置におけるアフィン変換パラメータを適切に検出することが困難である場合があるため、そのパンニング動作がされる前後の被写体が撮像空間とは無関係に合成される場合がある。例えば、図31の(a)に示すように、実際は離れているはずの屋外の被写体と室内の被写体とが、点線の丸591で囲まれている部分で合成される。そこで、上述した合成画像の分割、または、アフィン変換パラメータの補正を行うことにより、被写体に応じた合成画像を作成することができる。なお、この例では、図31の(a)に示す点線の丸591で囲まれている画像の部分で、アフィン変換パラメータの補正の条件および合成画像の分割の条件を満たすものとする。
 図31の(b)および(c)では、上述した合成画像の分割を行った場合における表示の遷移を示す。なお、図31の(b)に示す合成画像592は、図31の(a)に示す合成画像590の右側部分に対応する合成画像である。ここで、図31の(b)に示す合成画像592が形成されていく途中で、図31の(a)に示す点線の丸591で囲まれている画像の部分で、合成画像の分割の条件を満たすため、図31の(b)に示す合成画像592が消去される。そして、合成画像の分割の条件を満たす画像が、先頭のフレームの配置位置に表示され、これ以降の画像が順次合成されて合成画像593が形成される。このように、異なるシーンを含む動画を合成再生する場合において、最初のシーンから他のシーンに変化した場合に、最初のシーンとは異なる他の合成画像の再生を行うことにより、シーンに応じた合成画像をユーザが見ることができる。なお、この例では、既に形成された合成画像を消去してから他の合成画像を再生させる例に説明したが、既に形成された合成画像を残した状態で、他の合成画像を再生させる場合についても同様に適用することができる。
 図32では、図31と同様に、ビルの中にいる撮影者がビルの窓から外を撮影している状態で、比較的速いパンニング動作によりカメラの向きを左側方向に変化させ、ビルの室内を撮影した場合における動画により形成された合成画像590、594、595を示す。なお、図32の(a)に示す合成画像590および点線の丸591は、図31の(a)に示すものと同様である。
 図32の(b)および(c)では、上述したアフィン変換パラメータの補正、および合成画像の分割を行った場合における表示の遷移を示す。なお、図32の(b)に示す合成画像594は、図32の(a)に示す合成画像590の右側部分に対応する合成画像である。ここで、図32の(b)に示す合成画像594が形成されていく途中で、図32の(a)に示す点線の丸591で囲まれている画像の部分で、アフィン変換パラメータの補正の条件、および合成画像の分割の条件を満たすため、アフィン変換パラメータの補正が行われるものの、図32の(b)に示す合成画像594が消去される。そして、合成画像の分割の条件を満たす画像が、先頭のフレームの配置位置に表示され、これ以降の画像が順次合成されて合成画像595が形成される。この場合に、分割直後については、合成画像の分割の条件を満たす場合でも分割が行われないものの、アフィン変換パラメータの補正の条件を満たす場合には、アフィン変換パラメータについて順次補正が行われる。このように、図32の(c)に示す合成画像595については、アフィン変換パラメータの補正が順次行われているため、図31の(c)に示す合成画像593と異なっている。すなわち、図32の(a)に示す点線の丸591で囲まれている画像の左側部分で、アフィン変換パラメータの補正が行われているため、図31の(c)に示す合成画像593よりも左右方向における変化を少なくすることができ、比較的速いパンニング動作が行われた画像部分を適切に補正することができる。
 なお、図31の(c)および図32の(c)に示す合成画像593、595では、屋外の被写体の一部が右側に合成されているものの、閾値等の調整を行うことにより、屋外の被写体と室内の被写体とを分割することが可能である。なお、動画の再生時には、時間軸において新しい画像が古い画像の上に順次重ねて合成される。このため、分割が行われた付近では、分割直前のシーンに分割後のシーンの画像が順次重ねられるため、分割直前のシーンを目立たなくさせることができる。このように、異なるシーンを含む動画を合成再生する場合において、最初のシーンから他のシーンに変化した場合に、最初のシーンとは異なる合成画像として他のシーンの合成画像の再生を行うことにより、シーンに応じた合成画像をユーザが見ることができる。また、比較的速いパンニング動作により適切に検出されなかったアフィン変換パラメータを補正して、合成画像における不必要な変化を少なくすることができる。なお、この例では、既に形成された合成画像を消去してから他の合成画像を再生させる例に説明したが、既に形成された合成画像を残した状態で、他の合成画像を再生させる場合についても同様に適用することができる。
 次に、本発明の実施の形態における画像処理装置100の動作について図面を参照して説明する。
 図33は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順を示すフローチャートである。なお、この例では、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、現フレームよりも前のフレームに対応する各画像の合成画像を消去する例について説明する。
 最初に、動画を構成する画像のサイズよりも大きいワークバッファが画像メモリ220に確保される(ステップS921)。続いて、ファイル取得部140が、操作受付部270により選択された動画ファイルを動画記憶部200から取得するとともに、これらの動画ファイルに関連付けられているメタデータファイルをメタデータ記憶部210から取得する(ステップS922)。
 続いて、ファイル取得部140が、動画ファイルをデコードし、動画ファイルを構成する1つのフレームである現フレームを取得する(ステップS923)。続いて、ファイル取得部140が、取得された現フレームに対応するアフィン変換パラメータをメタデータファイルから取得する(ステップS924)。ここで、現フレームが先頭フレームである場合には、単位行列のアフィン変換パラメータが取得される。
 続いて、特徴量抽出部150が、現フレームに対応する画像についてシーンチェンジスコアを算出する(ステップS925)。続いて、カメラワーク成分算出部155が、現フレームに対応するアフィン変換パラメータから、カメラワークの各成分を算出する(ステップS926)。続いて、カメラワーク成分平均値算出部157が、現フレームに対応するカメラワークの各成分と、カメラワーク成分保持部156に保持されている直前のフレームから所定数前のフレームまでの各フレームに対応するカメラワークの各成分とに基づいて、カメラワーク成分の平均値を算出する(ステップS927)。続いて、カメラワーク成分積算値算出部158が、現フレームに対応するカメラワークの各成分と、カメラワーク成分保持部156に保持されている先頭のフレームから直前のフレームまでの各フレームに対応するカメラワークの各成分とに基づいて、カメラワーク成分の積算値を算出する(ステップS928)。
 続いて、変換情報補正処理が行われる(ステップS940)。なお、この変換情報補正処理については、図34を参照して詳細に説明する。続いて、合成画像分割判定処理が行われる(ステップS950)。なお、この合成画像分割判定処理については、図35を参照して詳細に説明する。
 続いて、画像変換部180が、アフィン変換パラメータを用いて現フレームに対応する画像をアフィン変換する(ステップS929)。ここで、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、単位行列を用いてアフィン変換がされるため、実際の画像は変換されない。また、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力されない場合において、変換情報補正部160によりアフィン変換パラメータが補正された場合には、補正後のアフィン変換パラメータを用いてアフィン変換が施される。一方、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力されず、変換情報補正部160によりアフィン変換パラメータが補正されない場合には、現フレームに対応するアフィン変換パラメータを用いてアフィン変換が施される。なお、現フレームが先頭フレームである場合には、単位行列を用いてアフィン変換がされるため、実際の画像は変換されない。
 続いて、画像合成部190が、アフィン変換された現フレームに対応する画像を、この現フレームよりも前のフレームに対応する各画像の合成画像に上書きして合成し、この現フレームに対応する画像が合成された画像を画像メモリ220に保存する(ステップS930)。ここで、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、現フレームよりも前のフレームに対応する各画像の合成画像が消去されているため、現フレームに対応する画像のみが画像メモリ220に保存される。
 続いて、表示領域取出部230は、指定された表示倍率および位置に対応するアフィン変換パラメータを用いて表示領域の位置および大きさを決定する(ステップS931)。続いて、表示領域取出部230は、表示領域に含まれる合成画像を画像メモリ220から取り出す(ステップS932)。続いて、表示領域取出部230は、画像メモリ220から取り出された合成画像を表示用メモリ240に保存する(ステップS933)。
 続いて、表示領域取出部230は、現画像の変換に用いられたアフィン変換パラメータの行列と、表示領域の決定に用いられたアフィン変換パラメータの行列に対する逆行列とを用いて、表示用メモリ240における現画像の位置を決定する(ステップS934)。続いて、画像合成部190は、表示用メモリ240に保存されている合成画像に、アフィン変換された現画像を上書き合成する(ステップS935)。続いて、表示用メモリ240に保存されている合成画像が表示部260に表示される(ステップS936)。ここで、現フレームに対応する画像を分割して再生させる旨が合成画像分割判定部170から出力された場合には、現フレームよりも前のフレームに対応する各画像の合成画像が消去されているため、現フレームに対応する画像のみが表示部260に表示される
 続いて、入力された動画ファイルを構成するフレームの中で、現フレームが最後のフレームであるか否かが判断される(ステップS937)。現フレームが最後のフレームではない場合には(ステップS937)、ステップS923に戻り、動画の合成再生処理を繰り返す(ステップS923乃至S936)。一方、現フレームが最後のフレームである場合には(ステップS937)、確保されているワークバッファを解放して(ステップS938)、動画再生処理を終了する。
 図34は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順のうちの変換情報補正処理手順(図33に示すステップS940の処理手順)を示すフローチャートである。この例では、現フレームに対応するカメラワークの各成分の少なくとも1つが閾値以上であるか否かと、シーンチェンジスコアが閾値以上であるか否かとに基づいて、現フレームに対応するアフィン変換パラメータを補正する例について説明する。また、補正が必要と判定されたアフィン変換パラメータの行列を単位行列に補正する例について説明する。
 最初に、変換情報補正部160が、現フレームに対応するカメラワークの各成分の少なくとも1つが閾値以上であるか否かを判断する(ステップS941)。現フレームに対応するカメラワークの各成分の少なくとも1つが閾値以上でない場合には(ステップS941)、変換情報補正部160が、現フレームについて算出されたシーンチェンジスコアが閾値以上であるか否かを判断する(ステップS942)。現フレームについて算出されたシーンチェンジスコアが閾値以上でない場合には(ステップS942)、現フレームに対応するアフィン変換パラメータの補正が不要であるため、変換情報補正処理の動作を終了する。
 一方、現フレームに対応するカメラワークの各成分の少なくとも1つが閾値以上である場合(ステップS941)、または、現フレームについて算出されたシーンチェンジスコアが閾値以上である場合には(ステップS942)、変換情報補正部160が、現フレームに対応するアフィン変換パラメータの行列を単位行列に補正する(ステップS943)。なお、単位行列の代わりに線型補間行列を用いて補正を行う場合には、ステップS941またはS942で閾値以上であると判断された場合に、ステップS943で現フレームの前後方向の各フレームに対応するアフィン変換パラメータを用いて線型補間行列を算出し、この線型補間行列により補正を行う。
 図35は、本発明の実施の形態における画像処理装置100による動画の再生処理の処理手順のうちの合成画像分割判定処理手順(図33に示すステップS950の処理手順)を示すフローチャートである。この例では、現フレームに対応するカメラワークの各成分の平均値の少なくとも1つが閾値以上であるとともに、シーンチェンジスコアが閾値以上であるか否かと、現フレームに対応するカメラワークの各成分の積算値の少なくとも1つが閾値以上であるか否かと、再生時間が閾値以上になったか否かとに基づいて、現フレームに対応する画像の分割の要否を判定する例について説明する。
 最初に、合成画像分割判定部170が、現フレームに対応するカメラワークの各成分の平均値の少なくとも1つが閾値以上であるか否かを判断する(ステップS951)。現フレームに対応するカメラワークの各成分の平均値の少なくとも1つが閾値以上でない場合には(ステップS951)、ステップS953に進む。一方、現フレームに対応するカメラワークの各成分の平均値の少なくとも1つが閾値以上である場合には(ステップS951)、合成画像分割判定部170が、現フレームについて算出されたシーンチェンジスコアが閾値以上であるか否かを判断する(ステップS952)。
 現フレームについて算出されたシーンチェンジスコアが閾値以上でない場合には(ステップS952)、合成画像分割判定部170が、現フレームに対応するカメラワークの各成分の積算値の少なくとも1つが閾値以上であるか否かを判断する(ステップS953)。現フレームに対応するカメラワークの各成分の積算値の少なくとも1つが閾値以上でない場合には(ステップS953)、合成画像分割判定部170が、画像メモリ220に保持されている現在の合成画像に含まれる画像のうちの先頭のフレームからの再生時間が閾値以上経過したか否かを判断する(ステップS954)。画像メモリ220に保持されている現在の合成画像に含まれる画像のうちの先頭のフレームからの再生時間が閾値以上経過していない場合には(ステップS954)、現フレームに対応する画像を分割する必要がないため、合成画像分割判定処理の動作を終了する。
 一方、現フレームに対応するカメラワークの各成分の平均値の少なくとも1つが閾値以上であるとともに、現フレームについて算出されたシーンチェンジスコアが閾値以上である場合(ステップS951、S952)、現フレームに対応するカメラワークの各成分の積算値の少なくとも1つが閾値以上である場合(ステップS953)、または、画像メモリ220に保持されている現在の合成画像に含まれる画像のうちの先頭のフレームからの再生時間が閾値以上経過した場合には(ステップS954)、画像合成部190が、画像メモリ220に保持されている合成画像を消去する(ステップS955)。続いて、画像変換部180が、現フレームに対応するアフィン変換パラメータの行列を単位行列に変更する(ステップS956)。
 次に、本発明の実施の形態における特徴点抽出処理およびオプティカルフロー計算処理をマルチコアプロセッサにより行う場合について図面を参照して詳細に説明する。
 図36は、本発明の実施の形態におけるマルチコアプロセッサ800の一構成例を示す図である。マルチコアプロセッサ800は、1つのCPU(Central Processing Unit)パッケージ上に異なる種類のプロセッサコアが複数搭載されているプロセッサである。すなわち、マルチコアプロセッサ800には、各プロセッサコア単体の処理性能を維持するとともに、シンプルな構成にするため、あらゆる用途(アプリケーション)に対応する1種類のコアと、所定の用途にある程度最適化されている他の種類のコアとの2種類のプロセッサコアが複数搭載されている。
 マルチコアプロセッサ800は、制御プロセッサコア801と、演算プロセッサコア(#1)811乃至(#8)818と、バス802とを備え、メインメモリ781と接続されている。また、マルチコアプロセッサ800は、例えば、グラフィックスデバイス782やI/Oデバイス783等の他のデバイスと接続される。マルチコアプロセッサ800として、例えば、本願出願人等により開発されたマイクロプロセッサである「Cell(セル:Cell Broadband Engine)」を採用することができる。
 制御プロセッサコア801は、オペレーティング・システムのような頻繁なスレッド切り替え等を主に行う制御プロセッサコアである。なお、制御プロセッサコア801については、図37を参照して詳細に説明する。
 演算プロセッサコア(#1)811乃至(#8)818は、マルチメディア系の処理を得意とするシンプルで小型の演算プロセッサコアである。なお、演算プロセッサコア(#1)811乃至(#8)818については、図38を参照して詳細に説明する。
 バス802は、EIB(Element Interconnect Bus)と呼ばれる高速なバスであり、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818のそれぞれが接続され、各プロセッサコアによるデータアクセスはバス802を経由して行われる。
 メインメモリ781は、バス802に接続され、各プロセッサコアにロードすべき各種プログラムや、各プロセッサコアの処理に必要なデータを格納するとともに、各プロセッサコアにより処理されたデータを格納するメインメモリである。
 グラフィックスデバイス782は、バス802に接続されているグラフィックスデバイスであり、I/Oデバイス783は、バス802に接続されている外部入出力デバイスである。
 図37は、本発明の実施の形態における制御プロセッサコア801の一構成例を示す図である。制御プロセッサコア801は、制御プロセッサユニット803および制御プロセッサストレージシステム806を備える。
 制御プロセッサユニット803は、制御プロセッサコア801の演算処理を行う核となるユニットであり、マイクロプロセッサのアーキテクチャをベースとする命令セットを備え、一次キャッシュとして命令キャッシュ804およびデータキャッシュ805が搭載されている。命令キャッシュ804は、例えば、32KBの命令キャッシュであり、データキャッシュ805は、例えば、32KBのデータキャッシュである。
 制御プロセッサストレージシステム806は、制御プロセッサユニット803からメインメモリ781へのデータアクセスを制御するユニットであり、制御プロセッサユニット803からのメモリアクセスを高速化させるために512KBの二次キャッシュ807が搭載されている。
 図38は、本発明の実施の形態における演算プロセッサコア(#1)811の一構成例を示す図である。演算プロセッサコア(#1)811は、演算プロセッサユニット820およびメモリフローコントローラ822を備える。なお、演算プロセッサコア(#2)812乃至(#8)818は、演算プロセッサコア(#1)811と同様の構成であるため、ここでの説明を省略する。
 演算プロセッサユニット820は、演算プロセッサコア(#1)811の演算処理を行う核となるユニットであり、制御プロセッサコア801の制御プロセッサユニット803とは異なる独自の命令セットを備える。また、演算プロセッサユニット820には、ローカルストア(LS:Local Store)821が搭載されている。
 ローカルストア821は、演算プロセッサユニット820の専用メモリであるとともに、演算プロセッサユニット820から直接参照することができる唯一のメモリである。ローカルストア821として、例えば、容量が256Kバイトのメモリを用いることができる。なお、演算プロセッサユニット820が、メインメモリ781や他の演算プロセッサコア(演算プロセッサコア(#2)812乃至(#8)818)上のローカルストアにアクセスするためには、メモリフローコントローラ822を利用する必要がある。
 メモリフローコントローラ822は、メインメモリ781や他の演算プロセッサコア等との間でデータのやり取りするためのユニットであり、MFC(Memory Flow Controller)と呼ばれるユニットである。ここで、演算プロセッサユニット820は、チャネルと呼ばれるインタフェースを介してメモリフローコントローラ822に対してデータ転送等を依頼する。
 以上で示したマルチコアプロセッサ800のプログラミング・モデルとして、さまざまなものが提案されている。このプログラミング・モデルの中で最も基本的なモデルとして、制御プロセッサコア801上でメインプログラムを実行し、演算プロセッサコア(#1)811乃至(#8)818上でサブプログラムを実行するモデルが知られている。本発明の実施の形態では、このモデルを用いたマルチコアプロセッサ800の演算方法について図面を参照して詳細に説明する。
 図39は、本発明の実施の形態におけるマルチコアプロセッサ800の演算方法を模式的に示す図である。この例では、データ785を用いて制御プロセッサコア801がタスク784を実行する場合に、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる場合を例に図示する。
 同図に示すように、データ785を用いて制御プロセッサコア801がタスク784を実行する場合には、タスク784の一部であるタスク786の処理に必要なデータ787(データ785の一部)を用いて、タスク786を各演算プロセッサコアに実行させる。本発明の実施の形態では、動画を構成するフレーム毎に各演算プロセッサコアにより演算処理が行われる。
 同図に示すように、マルチコアプロセッサ800が演算を行うことにより、演算プロセッサコア(#1)811乃至(#8)818を並列に利用して、比較的少ない時間で多くの演算を行うことができるとともに、演算プロセッサコア(#1)811乃至(#8)818上でSIMD(Single Instruction/Multiple Data:単一命令/複数データ)演算を利用して、さらに少ない命令数により、比較的多くの演算処理を行うことができる。なお、SIMD演算については、図43乃至図46等を参照して詳細に説明する。
 図40は、本発明の実施の形態におけるマルチコアプロセッサ800により演算を行う場合におけるプログラムおよびデータの流れを模式的に示す図である。ここでは、演算プロセッサコア(#1)811乃至(#8)818のうちの演算プロセッサコア(#1)811を例にして説明するが、演算プロセッサコア(#2)812乃至(#8)818についても同様に行うことができる。
 最初に、制御プロセッサコア801は、メインメモリ781に格納されている演算プロセッサコアプログラム823を演算プロセッサコア(#1)811のローカルストア821にロードする指示を演算プロセッサコア(#1)811に送る。これにより、演算プロセッサコア(#1)811は、メインメモリ781に格納されている演算プロセッサコアプログラム823をローカルストア821にロードする。
 続いて、制御プロセッサコア801は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行を演算プロセッサコア(#1)811に指示する。
 続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825の実行処理に必要なデータ824をメインメモリ781からローカルストア821に転送する。
 続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて、メインメモリ781から転送されたデータ826を加工し、条件に応じた処理を実行して処理結果をローカルストア821に格納する。
 続いて、演算プロセッサコア(#1)811は、ローカルストア821に格納された演算プロセッサコアプログラム825に基づいて実行された処理結果をローカルストア821からメインメモリ781に転送する。
 続いて、演算プロセッサコア(#1)811は、制御プロセッサコア801に演算処理の終了を通知する。
 次に、マルチコアプロセッサ800を用いて行うSIMD演算について図面を参照して詳細に説明する。ここで、SIMD演算とは、複数のデータに対する処理を1つの命令で行う演算方式である。
 図41の(a)は、複数のデータに対する処理をそれぞれの命令で行う演算方式の概要を模式的に示す図である。図41の(a)に示す演算方式は、通常の演算方式であり、例えば、スカラー演算と呼ばれている。例えば、データ「A1」およびデータ「B1」を加算する命令によりデータ「C1」の処理結果が求められる。また、他の3つの演算についても同様に、同一の行にあるデータ「A2」、「A3」、「A4」と、データ「B2」、「B3」、「B4」とを加算する命令がそれぞれの処理について行われ、この命令により、各行の値が加算処理され、この処理結果がデータ「C2」、「C3」、「C4」として求められる。このように、スカラー演算では、複数のデータに対する処理については、それぞれに対して命令を行う必要がある。
 図41の(b)は、複数のデータに対する処理を1つの命令で行う演算方式であるSIMD演算の概要を模式的に示す図である。ここで、SIMD演算用に1まとまりにしたデータ(点線827および828で囲まれる各データ)は、ベクターデータと呼ばれることがある。また、このようなベクターデータを用いて行われるSIMD演算は、ベクトル演算と呼ばれることがある。
 例えば、点線827で囲まれるベクターデータ(「A1」、「A2」、「A3」、「A4」)と、点線828で囲まれるベクターデータ(「B1」、「B2」、「B3」、「B4」)とを加算する1つの命令により「C1」、「C2」、「C3」、「C4」の処理結果(点線829で囲まれているデータ)が求められる。このように、SIMD演算では、複数のデータに対する処理を1つの命令で行うことができるため、演算処理を迅速に行うことができる。また、これらのSIMD演算に関する命令を、マルチコアプロセッサ800の制御プロセッサコア801が行い、この命令に対する複数データの演算処理について演算プロセッサコア(#1)811乃至(#8)818が並列処理を行う。
 一方、例えば、データ「A1」と「B1」とを加算し、データ「A2」と「B2」とを減算し、データ「A3」と「B3」とを乗算し、データ「A4」と「B4」とを除算する処理については、SIMD演算では行うことができない。すなわち、複数のデータのそれぞれに対して異なる処理をする場合には、SIMD演算による処理を行うことがではできない。
 次に、特徴点抽出処理およびオプティカルフロー算出処理を行う場合におけるSIMD演算の具体的な演算方法について図面を参照して詳細に説明する。
 図42は、本発明の実施の形態における制御プロセッサコア801または演算プロセッサコア(#1)811により実行されるプログラムの構成例を示す図である。ここでは、演算プロセッサコア(#1)811についてのみ図示するが、演算プロセッサコア(#2)812乃至(#8)818についても同様の処理が行われる。
 制御プロセッサコア801は、デコード851としてデコード852、インターレース853およびリサイズ854を実行する。デコード852は、動画ファイルをデコードする処理である。インターレース853は、デコードされた各フレームについてインターレース除去する処理である。リサイズ854は、インターレース除去された各フレームについて縮小する処理である。
 また、制御プロセッサコア801は、演算プロセッサコア管理856として命令送信857および859、終了通知受信858および860を実行する。命令送信857および859は、演算プロセッサコア(#1)811乃至(#8)818に対するSIMD演算の実行命令を送信する処理であり、終了通知受信858および860は、上記命令に対する演算プロセッサコア(#1)811乃至(#8)818からのSIMD演算の終了通知を受信する処理である。さらに、制御プロセッサコア801は、カメラワーク検出861としてカメラワークパラメータ算出処理862を実行する。カメラワークパラメータ算出処理862は、演算プロセッサコア(#1)811乃至(#8)818によるSIMD演算により算出されたオプティカルフローに基づいてフレーム毎にアフィン変換パラメータを算出する処理である。
 演算プロセッサコア(#1)811は、特徴点抽出処理863として、ソベルフィルタ(Sobel Filter)処理864、二次モーメント行列(Second Moment Matrix)算出処理865、セパラブルフィルタ(Separable Filter)処理866、ハリスコーナー抽出(Calc Harris)処理867、膨張処理(Dilation)868、並べ替え処理(Sort)869を実行する。
 ソベルフィルタ処理864は、P2のフィルタ(x方向)を使って得られるx方向の値dxと、Y方向のフィルタを使って得られるy方向の値dyとを算出する処理である。なお、x方向の値dxの算出については、図43乃至図46を参照して詳細に説明する。
 二次モーメント行列算出処理865は、ソベルフィルタ処理864により算出されたdxおよびdyを用いて、dx,dy,dx・dyの各値を算出する処理である。 セパラブルフィルタ処理866は、二次モーメント行列算出処理865により算出されたdx,dy,dx・dyの画像に対してガウシアンフィルタ(ぼかし処理)を掛ける処理である。
 ハリスコーナー抽出処理867は、セパラブルフィルタ処理866により、ぼかし処理が施されたdx,dy,dx・dyの各値を用いて、ハリスコーナーのスコアを算出する処理である。このハリスコーナーのスコアSは、例えば、次の式により算出される。
  S=(dx×dy-dx・dy×dx・dy)/(dx+dy+ε)
 膨張処理868は、ハリスコーナー抽出処理867により算出されたハリスコーナーのスコアで構成された画像に対してぼかし処理を行う処理である。
 並べ替え処理869は、ハリスコーナー抽出処理867により算出されたハリスコーナーのスコアが高い順に画素を並べ、このスコアが高い方から所定の数だけピックアップし、このピックアップされた点を特徴点として抽出する処理である。
 演算プロセッサコア(#1)811は、オプティカルフロー(Optical Flow)演算処理870として、多重解像度画像作成(Make Pyramid Image)処理871、オプティカルフロー算出(Calc Optical Flow)処理872を実行する。
 多重解像度画像作成処理871は、カメラによる撮像時の画サイズから所定数の段階に縮小された画像を順次作成する処理であり、作成された画像は多重解像度画像と呼ばれる。
 オプティカルフロー算出処理872は、多重解像度画像作成処理871により作成された多重解像度画像のうちで、最も小さい画像についてオプティカルフローを計算し、この計算結果を用いて、1つ上の解像度の画像について再びオプティカルフローを計算する処理であり、この一連の処理を最も大きい画像に辿り着くまで繰り返し行う。
 このように、例えば、図2等に示す特徴点抽出部121により行われる特徴点抽出処理と、オプティカルフロー計算部122により行われるオプティカルフロー算出処理とについては、マルチコアプロセッサ800を用いてSIMD演算によって並列処理することにより処理結果を求めることができる。なお、図42等で示す特徴点抽出処理およびオプティカルフロー算出処理は、一例であり、動画を構成する画像に対する各種フィルタ処理や閾値処理等により構成される他の処理を用いて、マルチコアプロセッサ800によるSIMD演算を行うようにしてもよい。
 図43は、本発明の実施の形態におけるメインメモリ781に格納されている画像データ(カメラにより撮像された動画を構成する1つのフレームに対応する画像データ)について、ソベルフィルタ830を用いてフィルタリング処理を行う場合におけるデータ構造と処理の流れを概略的に示す図である。なお、同図に示すメインメモリ781に格納されている画像データについては、横の画素数を32画素として簡略化して示す。また、ソベルフィルタ830は、3×3のエッジ抽出フィルタである。同図に示すように、メインメモリ781に格納されている画像データについて、ソベルフィルタ830を用いたフィルタリング処理を行い、このフィルタリング処理の結果が出力される。この例では、SIMD演算を用いて4つ分のフィルタ結果を一度に得る例について説明する。
 図44は、本発明の実施の形態におけるメインメモリ781に格納されている画像データについてソベルフィルタ830を用いてSIMD演算を行う場合におけるデータの流れを概略的に示す図である。最初は、メインメモリ781に格納されている画像データのうちの最初のラインを含む所定数のライン(例えば、3ライン)が演算プロセッサコアのローカルストア821に備えられる第一バッファ831にDMA(Direct Memory Access)転送されるとともに、第一バッファ831にDMA転送された各ラインを1つ下にずらした所定数のラインが第二バッファ832にDMA転送される。このように、ダブルバッファを使用することにより、DMA転送による遅延を隠蔽することができる。
 図45は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、第一バッファ831に格納されている画像データから9つのベクトルを作成するベクトル作成方法を概略的に示す図である。図44に示すように、DMA転送が行われた後に、第一バッファ831に格納されている画像データから9つのベクトルが作成される。具体的には、第一バッファ831に格納されている画像データの1ラインにおいて左隅から4つのデータによりベクターデータ841が作成され、その4つのデータを右側に1つずらした4つのデータによりベクターデータ842が作成され、同様に、その4つのデータを右側に1つずらした4つのデータによりベクターデータ843が作成される。また、2ラインおよび3ラインにおいても同様に4つのデータによりベクターデータ844乃至849が作成される。
 図46は、本発明の実施の形態におけるソベルフィルタ830を用いてフィルタリング処理を行う場合において、ベクターデータ841乃至849についてSIMD命令を用いてベクトル演算を行うベクトル演算方法を概略的に示す図である。具体的には、ベクターデータ841乃至843についてSIMD演算が順次行われ、ベクトルAが求められる。このSIMD演算では、最初に、『「-1」×「ベクターデータ841」』のSIMD演算が実行される。続いて、『「0」×「ベクターデータ842」』のSIMD演算が実行され、『「1」×「ベクターデータ843」』のSIMD演算が実行される。ここで、『「0」×「ベクターデータ842」』については、演算結果が「0」であると確定しているため、省略することが可能である。また、『「1」×「ベクターデータ843」』については、演算結果が「ベクターデータ843」と同じ値であることが確定しているため、省略することが可能である。
 続いて、『「-1」×「ベクターデータ841」』の演算結果と、『「0」×「ベクターデータ842」』の演算結果との加算処理がSIMD演算により実行される。続いて、この加算処理の結果と、『「1」×「ベクターデータ843」』の演算結果との加算処理がSIMD演算により実行される。ここで、例えば、「ベクターデータ1」×「ベクターデータ2」+「ベクターデータ3」となるデータ構造の演算については、SIMD演算により実行することが可能である。そこで、ベクトルAの演算については、例えば、『「0」×「ベクターデータ842」』および『「1」×「ベクターデータ843」』についてのSIMD演算を省略し、『「-1」×「ベクターデータ841」+「ベクターデータ843」』を一度のSIMD演算により実行するようにしてもよい。
 また、同様に、ベクターデータ844乃至846についてSIMD演算が行われ、ベクトルBが求められ、ベクターデータ847乃至849についてSIMD演算が行われ、ベクトルCが求められる。
 続いて、SIMD演算により求められたベクトルA乃至CについてSIMD演算が行われ、ベクトルDが求められる。このように、SIMD演算を行うことにより、ベクトルの要素数分(この例では4つのデータ)の結果をまとめて得ることができる。
 ベクトルDが算出された後は、図44に示す第一バッファ831に格納されている画像データにおいて、取り出すデータの位置を右側に1つずらしながら、同様の処理を繰り返し実行して、それぞれのベクトルDの算出を順次行う。そして、図44に示す第一バッファ831に格納されている画像データの右端までの処理が終了した場合には、処理結果をメインメモリ781にDMA転送する。
 続いて、メインメモリ781に格納されている画像データのうちで、第二バッファ832にDMA転送された各ラインを1つ下にずらした所定数のラインが第一バッファ831にDMA転送されるとともに、第二バッファ832に格納されている画像データについて、上述した処理を繰り返し行う。そして、メインメモリ781に格納されている画像データの各ラインのうちの下端のラインに達するまで、同様の処理を繰り返し行う。
 同様に、特徴点抽出とオプティカルフロー算出の大部分の処理をSIMD演算により行うことによって高速化を実現することができる。
 図47は、本発明の実施の形態におけるカメラワークパラメータ算出処理の流れを時系列で概略的に示す図である。上述したように、例えば、マルチコアプロセッサ800を用いてSIMD演算を行うことにより、動画についてのデコードおよび解析処理を並列化して行うことができる。このため、動画を構成する1フレームの解析時間を、デコード時間よりも短縮することが可能である。
 例えば、同図において、t1は、制御プロセッサコア801が動画を構成する1フレームのデコード処理に要する時間を示し、t2は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームの特徴点抽出処理に要する時間を示し、t3は、演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームのオプティカルフロー算出処理に要する時間を示し、t4は、制御プロセッサコア801が動画を構成する1フレームのカメラワーク検出処理に要する時間を示す。なお、t5は、制御プロセッサコア801および演算プロセッサコア(#1)811乃至(#8)818が動画を構成する1フレームについて、カメラワーク検出処理に要する時間を示す。また、t6は、t6は、制御プロセッサコア801が演算プロセッサコア(#1)811乃至(#8)818を管理する処理に要する時間を示す。例えば、t1を「25.0ms」とし、t2を「7.9ms」とし、t3を「6.7ms」とし、t4を「1.2ms」とし、t5を「15.8ms」とすることができる。
 次に、本発明の実施の形態におけるメタデータファイルを用いた動画コンテンツを再生する場合について図面を参照して詳細に説明する。
 図48の(a)は、記録媒体の一例であるブルーレイディスク(Blu-ray Disc(登録商標))880を模式的に示す上面図であり、図48の(b)は、ブルーレイディスク880に記録されている各データ881乃至884を模式的に示す図である。ブルーレイディスク880には、例えば、カメラ等により撮像された動画である動画コンテンツ882、動画コンテンツ882の字幕883、および、動画コンテンツ882について解析されて得られたメタデータ(例えば、図5の(b)に示すメタデータファイル)884とともに、本発明の実施の形態における動画再生に係るJava(登録商標)プログラム881が記録されている。
 図48の(c)は、ブルーレイディスク880を再生可能なブルーレイ再生機(Blu-ray Disc Player)890の内部構成を模式的に示す図である。ここで、ブルーレイディスクを再生可能なブルーレイ再生機890は、CPU891およびOS892とともに、Java(登録商標) VM(Java(登録商標)仮想マシン)およびライブラリ893が標準で搭載されているため、Java(登録商標)プログラムを実行することが可能である。このため、ブルーレイディスク880をブルーレイ再生機890に装着することにより、ブルーレイ再生機890がJava(登録商標)プログラム881をロードして実行することが可能である。これにより、ブルーレイ再生機890が動画コンテンツ882を再生する場合に、メタデータ884を用いて、本発明の実施の形態における動画再生を行うことが可能である。すなわち、専用のPCソフト等を使わずに、全てのブルーレイ再生機で本発明の実施の形態における動画再生を実現することが可能になる。
 本発明の実施の形態では、合成画像の品質を向上させるため、アフィン変換パラメータを補正する例について説明したが、動画に関する他の情報を補正して合成画像の品質を向上させるようにしてもよい。例えば、一般的なデジタルビデオカメラに備えられているホワイトバランスや露出補正等に関するメタデータを利用してパノラマ画像の品質を向上させることができる。
 例えば、動画撮影時に、各フレームにおける露出補正のパラメータをメタデータとして取得し、フレームに関連付けて記憶する。そして、動画を合成再生する場合に、そのメタデータに基づいて露出補正が行われたフレームを抽出し、この露出補正が行われたフレームについて画像処理によって逆補正を行い、露出補正が行われる前のフレームに補正する。これにより、合成画像上の場所によって露出が大きく異なるような合成画像が作成されることを回避することができる。
 また、例えば、オート・ホワイトバランス機能により撮像が行われた動画についても補正をすることができる。例えば、この動画を合成再生する場合に、ホワイトバランスの逆補正を行う。これにより、動画を構成する各フレームのホワイトバランスが異なるため、合成画像全体が、滲んだような画像となることを防止することができる。
 このように、動画は所定時間に亘る複数フレームの集合体であり、通常の再生を優先するため、各フレームの撮像条件が異なる場合がほとんどである。このため、これらの画質を逆補正することにより、高品質な1枚のパノラマ状の合成画像を作成することができる。なお、露出補正を画像処理によってキャンセルする場合、例えば、画像が真っ白になってしまう可能性もあるため、動画の内容に応じて補正を行うようにすることが好ましい。
 以上で示したように、本発明の実施の形態では、動画を再生する場合に、現在表示されている画像よりも前のフレームに対応する各画像を現在の画像に合成しながら表示するため、撮影の中心となっている対象物とともに、少なくとも一部の時間帯で撮影された背景等を容易に閲覧することができる。このため、例えば、少なくとも一部の時間帯で撮影された背景等を再度見たい場合には、巻き戻し操作や検索操作等をしなくても、現在表示されている画像と同時にその背景等を見ることができる。また、カメラにより撮影された動画を閲覧する場合に、その動画の内容を容易に把握することができる。さらに、動画の相対的な関係を容易に把握することができるとともに、動画の空間的な広がりを閲覧者が容易に認識することができる。
 すなわち、過去のフレームを活用して、動画を空間的に展開して鑑賞することができる。これにより、例えば、複数の動画を再生しながらパノラマ画像を完成させていくような鑑賞方法を提供することができるため、閲覧者は面白み豊かに動画を観賞することができる。また、現画像については、画像メモリ220に保存される前の状態の画像を順次表示させることができるため、比較的綺麗な画像を表示させることができる。さらに、シーンが切り換わる場合やアフィン変換パラメータが適切に算出されなかった場合等には、アフィン変換パラメータの補正、または、合成画像の分割を行うため、合成中の動画が破綻することを抑制するとともに、パノラマ状に形成される合成画像の品質を高めることができる。
 また、本発明の実施の形態では、予め検出されたアフィン変換パラメータを用いて再生表示をする例について説明したが、再生の際にアフィン変換パラメータを算出し、この算出されたアフィン変換パラメータを用いて再生表示をするようにしてもよい。例えば、マルチコアプロセッサを用いたSIMD演算によりアフィン変換パラメータを算出することにより、1フレームのデコードの処理時間内に、1フレームのアフィン変換パラメータを算出することが可能である。これにより、アフィン変換パラメータが算出されていない動画を再生する場合でも、アフィン変換パラメータを算出しながら動画再生を行うことが可能であるため、動画を空間的に展開する鑑賞を迅速に行うことができる。
 また、本発明の実施の形態では、複数の動画ファイルを動画記憶部200に記憶するとともに、この動画に対応するアフィン変換パラメータを、対応する動画およびフレームと関連付けてメタデータファイルとしてメタデータ記憶部210に記憶する例について説明したが、動画と、この動画に対応するアフィン変換パラメータとを関連付けて動画ファイルとして動画記憶部に記録しておき、再生時には、動画ファイルから各情報を抽出して用いるようにしてもよい。
 また、例えば、ハイビジョンTV(Television)において、SD(Standard Definition)画質で撮影された動画を鑑賞する場合や、デジタルスチルカメラや携帯電話の動画保存機能等を用いて撮影された動画を鑑賞する場合において、元の画像サイズの状態で表示すると、ハイビジョンTVの画素数を生かせないことがある。また、拡大表示を行うと、画像の粗さが目立つことが多い。そこで、本発明の実施の形態において説明した表示をすることによって、画像の粗さを目立たせることなく、ハイビジョンTVの画素数を生かした鑑賞をすることができる。
 なお、画像合成部190により合成された合成画像を記録媒体等に記録して、他の再生表示に用いるようにしてもよい。例えば、合成画像を代表画像としてメタデータ記憶部210のメタデータファイルに記憶しておき、この合成画像を再生時における検索に用いることができる。このように、合成画像を代表画像として用いる場合には、動画ファイルを構成する全てのフレームについて合成画像作成処理を繰り返す代わりに、動画ファイルを構成するフレームの中の少なくとも一定数のフレームについて合成画像作成処理を繰り返して合成画像を作成し、この合成画像を代表画像として用いるようにしてもよい。また、本発明の実施の形態では、動画を構成する先頭のフレームから合成画像作成処理を繰り返して合成画像を作成する例について説明したが、例えば、最後のフレームから先頭のフレームに向かって合成画像作成処理を繰り返して合成画像を作成するようにしてもよい。この場合には、時間軸において古い画像が新しい画像の上に順次重ねて合成される。このため、分割が行われた付近では、分割直前のシーンが目立つおそれがある。そこで、例えば、代表画像として用いられる合成画像を作成する場合には、全てのフレームにより作成しなくてもよいため、分割が行われた際にはこの付近の前後の数フレームを合成の対象から除外するようにしてもよい。
 また、形成される合成画像に対応する空間である撮像空間上における重複率に基づいて動画のインデックス画像を抽出する場合についても、本発明の実施の形態を適用することができる。すなわち、補正または分割後の画像を重複率の判断の対象とすることができる。
 また、本発明の実施の形態では、現フレームの前のフレームに対応する合成画像を表示させておく例について説明したが、この合成画像については、時間の経過に応じて順次消去するようにしてもよい。この場合に、残像を残して消去するような演出を施すようにしてもよい。また、現フレームに対応する画像についてはカラー表示するとともに、現フレームの前のフレームに対応する合成画像については、時間の経過に応じて、カラー表示からセピア色に変更するような演出を施すようにしてもよい。また、分割後のシーンが再生されると同時に、分割前のシーンの合成画像を少しずつぼかしていくようにしてもよい。これにより、合成画像についてスムーズなシーンの切り替えが可能である。なお、この場合に、新しいシーンの先頭画像が画面上のある固定位置に戻るようにしてもよい。
 また、本発明の実施の形態では、画像合成部により合成された画像を表示部に表示する画像処理装置を例にして説明したが、画像合成部により合成された画像を他の画像表示装置において表示させるための画像情報を出力する画像出力手段を設けた画像処理装置に本発明の実施の形態を適用することができる。さらに、動画を再生することが可能な動画再生装置や撮影された動画を再生することが可能なデジタルビデオカメラ等の撮像装置等に本発明の実施の形態を適用することができる。
 また、本発明の実施の形態では、カメラにより撮像された動画について説明したが、例えば、カメラにより撮像された動画が編集された場合における編集後の動画やアニメーション等が合成された動画等についても、本発明の実施の形態を適用することができる。また、本発明の実施の形態では、履歴画像の一部または全部を表示する例について説明したが、変換された複数の現画像のみを表示させるようにしてもよい。すなわち、画像メモリに最後に保持された複数の現画像のみを順次表示させるようにしてもよい。
 また、本発明の実施の形態では、動画を構成する画像の面積に対する動物体の大きさが比較的小さい場合にカメラの動きを求め、このカメラの動きを利用して動画を再生する場合について説明した。しかしながら、動画を構成する画像の面積に対する動物体の大きさが比較的大きい場合についても、本発明の実施の形態を適用することが可能である。例えば、駅を出発する電車を被写体の中心としてその電車の画像面積に対する割合を大きく撮像した場合に、上述したアフィン変換パラメータを算出すると、電車の動きを算出することになる。この場合に、この電車の動きを利用して、上述した合成画像作成方法により合成画像を作成することができる。このように、動画を構成する画像を変換するための変換情報として、撮像時におけるカメラと被写体との相対的な動き量に関する動き情報を算出して用いることができる。
 なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
 すなわち、請求項1において、動画記憶手段は、例えば動画記憶部200に対応する。また、変換情報記憶手段は、例えばメタデータ記憶部210に対応する。また、画像保持手段は、例えば画像メモリ220に対応する。また、特徴量抽出手段は、例えば特徴量抽出部150に対応する。また、画像変換手段は、例えば画像変換部180に対応する。また、判定手段は、例えば合成画像分割判定部170に対応する。また、画像合成手段は、例えば画像合成部190に対応する。
 また、請求項8において、動画記憶手段は、例えば動画記憶部200に対応する。また、変換情報記憶手段は、例えばメタデータ記憶部210に対応する。また、画像保持手段は、例えば画像メモリ220に対応する。また、判定手段は、例えば合成画像分割判定部170に対応する。また、画像変換手段は、例えば画像変換部180に対応する。また、画像合成手段は、例えば画像合成部190に対応する。
 また、請求項9において、動画記憶手段は、例えば動画記憶部200に対応する。また、変換情報記憶手段は、例えばメタデータ記憶部210に対応する。また、画像保持手段は、例えば画像メモリ220に対応する。また、特徴量抽出手段は、例えば特徴量抽出部150に対応する。また、変換情報補正手段は、例えば変換情報補正部160に対応する。また、画像変換手段は、例えば画像変換部180に対応する。また、画像合成手段は、例えば画像合成部190に対応する。
 また、請求項13において、特徴量抽出手段は、例えば特徴量抽出部150に対応する。また、判定手段は、例えば合成画像分割判定部170に対応する。また、画像合成手段は、例えば画像変換部180および画像合成部190に対応する。
 また、請求項14において、動画記憶手段は、例えば動画記憶部200に対応する。また、変換情報記憶手段は、例えばメタデータ記憶部210に対応する。また、画像保持手段は、例えば画像メモリ220に対応する。また、特徴量抽出手段は、例えば特徴量抽出部150に対応する。また、画像変換手段は、例えば画像変換部180に対応する。また、判定手段は、例えば合成画像分割判定部170に対応する。また、画像合成手段は、例えば画像合成部190に対応する。また、表示制御手段は、例えば表示制御部250に対応する。
 また、請求項15または16において、画像変換手順は、例えばステップS929に対応する。また、判定手順は、例えばステップS950に対応する。また、画像合成手順は、例えばステップS930に対応する。
 なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。

Claims (16)

  1.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
     前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、
     前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、
     前記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、
     前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手段と、
     前記抽出された特徴量に基づいて前記第2の撮像画像および前記履歴画像の合成の要否を判定する判定手段と、
     前記判定手段により前記第2の撮像画像および前記履歴画像を合成すると判定された場合には前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させ、前記判定手段により前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像に前記第2の撮像画像を合成させずに前記第2の撮像画像を前記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置。
  2.  前記画像合成手段は、前記判定手段により前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像を消去して前記第2の撮像画像を新たな履歴画像として前記画像保持手段に保持させることを特徴とする請求項1記載の画像処理装置。
  3.  前記画像合成手段は、前記判定手段により前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段における前記履歴画像の配置位置とは異なる位置に前記第2の撮像画像を配置して新たな履歴画像として前記画像保持手段に保持させることを特徴とする請求項1記載の画像処理装置。
  4.  前記特徴量抽出手段は、前記撮像動画を構成する各画像における一定の変化を検出することにより前記特徴量を抽出し、
     前記判定手段は、前記抽出された特徴量と所定の閾値とを比較することにより前記第2の撮像画像がシーンチェンジ点に該当するか否かを判定して前記第2の撮像画像がシーンチェンジ点に該当すると判定された場合には前記第2の撮像画像および前記履歴画像を合成しないと判定することを特徴とする請求項1記載の画像処理装置。
  5.  前記変換情報は、拡大縮小と並進移動と回転とに関する要素を含み、
     前記特徴量抽出手段は、前記第2の撮像画像に係る前記変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出し、
     前記判定手段は、前記抽出された前記並進成分と前記回転成分と前記拡大縮小成分との少なくとも1つと所定の閾値とを比較することにより前記合成の要否を判定することを特徴とする請求項1記載の画像処理装置。
  6.  前記特徴量抽出手段は、前記時間軸において前記第2の撮像画像よりも所定数前に位置する撮像画像から前記第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出して当該抽出された並進成分と回転成分と拡大縮小成分との平均値をそれぞれ算出し、
     前記判定手段は、前記算出された前記並進成分と前記回転成分と前記拡大縮小成分との平均値の少なくとも1つと所定の閾値とを比較することにより前記合成の要否を判定することを特徴とする請求項5記載の画像処理装置。
  7.  前記特徴量抽出手段は、前記時間軸において前記第2の撮像画像よりも所定数前に位置する撮像画像から前記第2の撮像画像までの各撮像画像に係る変換情報に基づいて並進成分と回転成分と拡大縮小成分とを抽出して当該抽出された並進成分と回転成分と拡大縮小成分との積算値をそれぞれ算出し、
     前記判定手段は、前記算出された前記並進成分と前記回転成分と前記拡大縮小成分との積算値の少なくとも1つと所定の閾値とを比較することにより前記合成の要否を判定することを特徴とする請求項5記載の画像処理装置。
  8.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
     前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、
     前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、
     前記履歴画像が前記画像保持手段に保持されてからの経過時間に基づいて前記第2の撮像画像および前記履歴画像の合成の要否を判定する判定手段と、
     前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手段と、
     前記判定手段により前記第2の撮像画像および前記履歴画像を合成すると判定された場合には前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させ、前記判定手段により前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像に前記第2の撮像画像を合成させずに前記第2の撮像画像を前記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置。
  9.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
     前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、
     前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、
     前記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、
     前記抽出された特徴量に基づいて前記変換情報を補正する変換情報補正手段と、
     前記補正された前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手段と、
     前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させる画像合成手段とを具備することを特徴とする画像処理装置。
  10.  前記変換情報補正手段は、前記抽出された特徴量と所定の閾値とを比較することにより前記変換情報の補正の要否を判定して前記変換情報の補正が必要と判定された場合には前記変換情報を補正し、
     前記画像変換手段は、前記変換情報が補正された場合には当該補正された変換情報に基づいて前記第2の撮像画像を変換して前記変換情報が補正されない場合には前記変換情報に基づいて前記第2の撮像画像を変換することを特徴とする請求項9記載の画像処理装置。
  11.  前記変換情報補正手段は、前記変換情報の補正が必要と判定された場合には前記変換情報を所定の変換情報に補正することを特徴とする請求項10記載の画像処理装置。
  12.  前記変換情報補正手段は、前記変換情報の補正が必要と判定された場合には前記時間軸において前記第2の撮像画像の前方向に位置する撮像画像に係る変換情報と前記第2の撮像画像の後方向に位置する撮像画像に係る変換情報とに基づいて前記変換情報を補正することを特徴とする請求項10記載の画像処理装置。
  13.  撮像装置により撮像された撮像動画を構成する撮像画像に関する特徴量を抽出する特徴量抽出手段と、
     前記抽出された特徴量に基づいて合成画像の分割の要否を判定する判定手段と、
     前記判定手段により合成画像を分割しないと判定された場合には撮像時における前記撮像装置の動き情報に基づいて既に形成されている合成画像に前記撮像画像を合成し、前記判定手段により合成画像を分割すると判定された場合には前記動き情報に基づいて既に形成されている合成画像とは異なる新たな合成画像を作成する画像合成手段とを具備することを特徴とする画像処理装置。
  14.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、
     前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、
     前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、
     前記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段と、
     前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手段と、
     前記抽出された特徴量に基づいて前記第2の撮像画像および前記履歴画像の合成の要否を判定する判定手段と、
     前記判定手段により前記第2の撮像画像および前記履歴画像を合成すると判定された場合には前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させ、前記判定手段により前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像に前記第2の撮像画像を合成させずに前記第2の撮像画像を前記画像保持手段に保持させる画像合成手段と、
     前記画像保持手段に保持された新たな履歴画像または前記第2の撮像画像を表示手段に順次表示させる表示制御手段とを具備することを特徴とする動画再生装置。
  15.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、前記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段とを備える画像処理装置における画像処理方法であって、
     前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手順と、
     前記抽出された特徴量に基づいて前記第2の撮像画像および前記履歴画像の合成の要否を判定する判定手順と、
     前記判定手順で前記第2の撮像画像および前記履歴画像を合成すると判定された場合には前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させ、前記判定手順で前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像に前記第2の撮像画像を合成させずに前記第2の撮像画像を前記画像保持手段に保持させる画像合成手順とを具備することを特徴とする画像処理方法。
  16.  撮像装置により撮像された撮像動画を記憶する動画記憶手段と、前記撮像動画を構成する第1の撮像画像を基準として前記撮像動画の時間軸において前記第1の撮像画像よりも後に位置する第2の撮像画像を変換するための変換情報を前記第2の撮像画像毎に記憶する変換情報記憶手段と、前記時間軸において前記第2の撮像画像よりも前に位置する各撮像画像を含む履歴画像を保持する画像保持手段と、前記第2の撮像画像に関する特徴量を抽出する特徴量抽出手段とを備える画像処理装置において、
     前記変換情報に基づいて前記第2の撮像画像を変換する画像変換手順と、
     前記抽出された特徴量に基づいて前記第2の撮像画像および前記履歴画像の合成の要否を判定する判定手順と、
     前記判定手順で前記第2の撮像画像および前記履歴画像を合成すると判定された場合には前記画像保持手段に保持されている前記履歴画像に前記変換された第2の撮像画像を合成して新たな履歴画像として前記画像保持手段に保持させ、前記判定手順で前記第2の撮像画像および前記履歴画像を合成しないと判定された場合には前記画像保持手段に保持されている前記履歴画像に前記第2の撮像画像を合成させずに前記第2の撮像画像を前記画像保持手段に保持させる画像合成手順とをコンピュータに実行させることを特徴とするプログラム。
PCT/JP2008/072402 2007-12-26 2008-12-10 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム WO2009081732A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP08865920A EP2180699A4 (en) 2007-12-26 2008-12-10 PICTURE PROCESSING APPARATUS, ANIMATION RESTORING UNIT AND PROCESSING METHOD AND PROGRAM FOR THE PROCESSING DEVICE AND THE DEVICE
US12/524,777 US8515256B2 (en) 2007-12-26 2008-12-10 Image processing apparatus, moving image reproducing apparatus, and processing method and program therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007335344A JP4697221B2 (ja) 2007-12-26 2007-12-26 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP2007-335344 2007-12-26

Publications (1)

Publication Number Publication Date
WO2009081732A1 true WO2009081732A1 (ja) 2009-07-02

Family

ID=40801040

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/072402 WO2009081732A1 (ja) 2007-12-26 2008-12-10 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム

Country Status (6)

Country Link
US (1) US8515256B2 (ja)
EP (1) EP2180699A4 (ja)
JP (1) JP4697221B2 (ja)
KR (1) KR20100103776A (ja)
CN (1) CN101611629A (ja)
WO (1) WO2009081732A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5092722B2 (ja) 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP2009151896A (ja) 2007-12-21 2009-07-09 Sony Corp 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP2011139282A (ja) * 2009-12-28 2011-07-14 Sony Corp 画像処理装置、撮像装置、画像処理方法およびプログラム
US8989499B2 (en) * 2010-10-20 2015-03-24 Comcast Cable Communications, Llc Detection of transitions between text and non-text frames in a video stream
CN104661825A (zh) 2012-06-15 2015-05-27 海德堡印刷机械股份公司 用于将印刷液体间接施加到承印材料上的方法
US20190132614A1 (en) * 2016-04-28 2019-05-02 Sony Corporation Information processing terminal apparatus and distribution apparatus
US10607108B2 (en) 2018-04-30 2020-03-31 International Business Machines Corporation Techniques for example-based affine registration
CN109682296A (zh) * 2018-09-21 2019-04-26 浙江华诚工程管理有限公司 一种建筑工程监理用材料尺寸检测系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962861A (ja) * 1995-08-21 1997-03-07 Matsushita Electric Ind Co Ltd パノラマ映像装置
JPH11120353A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd 画像表示装置
JPH11134352A (ja) * 1997-10-30 1999-05-21 Hitachi Ltd 動画像表示方法
JPH11289517A (ja) 1998-04-02 1999-10-19 Sony Corp 再生装置及び再生方法
JP2002359798A (ja) * 2001-05-31 2002-12-13 Hitachi Medical Corp パノラマ画像表示方法、ソフトウエア及び装置
JP2004222025A (ja) * 2003-01-16 2004-08-05 Matsushita Electric Ind Co Ltd 電子カメラ
JP2004266670A (ja) * 2003-03-03 2004-09-24 Sony Corp 撮像装置及び方法、画像情報提供システム並びにプログラム
WO2005024723A1 (ja) * 2003-09-08 2005-03-17 Nec Corporation 画像合成システム、画像合成方法及びプログラム
WO2005032125A1 (ja) * 2003-09-26 2005-04-07 Sharp Kabushiki Kaisha パノラマ画像作成装置及びパノラマ画像撮影装置
JP2005217874A (ja) * 2004-01-30 2005-08-11 Konica Minolta Photo Imaging Inc ファイル管理方法
JP2007183588A (ja) * 2006-01-04 2007-07-19 Mitsubishi Electric Research Laboratories Inc グラフィック画像組をテレビシステム上に提示する方法及びグラフィック画像組を提示するテレビシステム
JP2007206919A (ja) 2006-02-01 2007-08-16 Sony Corp 表示制御装置および方法、プログラム、並びに記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657402A (en) * 1991-11-01 1997-08-12 Massachusetts Institute Of Technology Method of creating a high resolution still image using a plurality of images and apparatus for practice of the method
JP2989364B2 (ja) * 1992-03-12 1999-12-13 シャープ株式会社 画像処理装置及び画像処理方法
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US5706416A (en) * 1995-11-13 1998-01-06 Massachusetts Institute Of Technology Method and apparatus for relating and combining multiple images of the same scene or object(s)
JP2001503895A (ja) * 1996-11-15 2001-03-21 サーノフ コーポレイション ビデオ情報を効果的に表示、保存、およびアクセスするための方法および装置
US6895126B2 (en) * 2000-10-06 2005-05-17 Enrico Di Bernardo System and method for creating, storing, and utilizing composite images of a geographic location
WO2003084249A1 (en) * 2002-03-27 2003-10-09 The Trustees Of Columbia University In The City Of New York Methods for summarizing video through mosaic-based shot and scene clustering
JP4419499B2 (ja) * 2003-01-07 2010-02-24 セイコーエプソン株式会社 画像生成装置、画像ずれ量検出装置、画像生成方法、画像ずれ量検出方法、画像生成プログラムおよび画像ずれ量検出プログラム
US7139006B2 (en) * 2003-02-04 2006-11-21 Mitsubishi Electric Research Laboratories, Inc System and method for presenting and browsing images serially
US20070103544A1 (en) * 2004-08-26 2007-05-10 Naofumi Nakazawa Panorama image creation device and panorama image imaging device
JP5260264B2 (ja) 2008-03-25 2013-08-14 富士通株式会社 ビーコン無線通信装置、ビーコン無線通信プログラム、およびビーコン無線通信方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962861A (ja) * 1995-08-21 1997-03-07 Matsushita Electric Ind Co Ltd パノラマ映像装置
JPH11120353A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd 画像表示装置
JPH11134352A (ja) * 1997-10-30 1999-05-21 Hitachi Ltd 動画像表示方法
JPH11289517A (ja) 1998-04-02 1999-10-19 Sony Corp 再生装置及び再生方法
JP2002359798A (ja) * 2001-05-31 2002-12-13 Hitachi Medical Corp パノラマ画像表示方法、ソフトウエア及び装置
JP2004222025A (ja) * 2003-01-16 2004-08-05 Matsushita Electric Ind Co Ltd 電子カメラ
JP2004266670A (ja) * 2003-03-03 2004-09-24 Sony Corp 撮像装置及び方法、画像情報提供システム並びにプログラム
WO2005024723A1 (ja) * 2003-09-08 2005-03-17 Nec Corporation 画像合成システム、画像合成方法及びプログラム
WO2005032125A1 (ja) * 2003-09-26 2005-04-07 Sharp Kabushiki Kaisha パノラマ画像作成装置及びパノラマ画像撮影装置
JP2005217874A (ja) * 2004-01-30 2005-08-11 Konica Minolta Photo Imaging Inc ファイル管理方法
JP2007183588A (ja) * 2006-01-04 2007-07-19 Mitsubishi Electric Research Laboratories Inc グラフィック画像組をテレビシステム上に提示する方法及びグラフィック画像組を提示するテレビシステム
JP2007206919A (ja) 2006-02-01 2007-08-16 Sony Corp 表示制御装置および方法、プログラム、並びに記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2180699A4

Also Published As

Publication number Publication date
CN101611629A (zh) 2009-12-23
JP4697221B2 (ja) 2011-06-08
US8515256B2 (en) 2013-08-20
KR20100103776A (ko) 2010-09-28
EP2180699A4 (en) 2011-11-30
US20100135635A1 (en) 2010-06-03
JP2009159330A (ja) 2009-07-16
EP2180699A1 (en) 2010-04-28

Similar Documents

Publication Publication Date Title
US8963951B2 (en) Image processing apparatus, moving-image playing apparatus, and processing method and program therefor to allow browsing of a sequence of images
JP4678404B2 (ja) 撮像装置、その制御方法およびプログラム
JP5223318B2 (ja) 画像処理装置、画像処理方法およびプログラム
WO2009081806A1 (ja) 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP5092722B2 (ja) 画像処理装置、画像処理方法およびプログラム
US8421871B2 (en) Method and apparatus for image pickup and image processing
JP4623199B2 (ja) 画像処理装置、画像処理方法およびプログラム
US8754959B2 (en) Image processing device, dynamic image reproduction device, and processing method and program in them
JP4623201B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4623200B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4697221B2 (ja) 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
JP4692550B2 (ja) 画像処理装置、その処理方法およびプログラム
JP5602818B2 (ja) カメラ、画像再生装置、画像合成方法、およびプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880001884.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12524777

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2008865920

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020097017680

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08865920

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE