WO2018051688A1 - 仮想視点画像の生成に関する情報処理装置、方法及びプログラム - Google Patents

仮想視点画像の生成に関する情報処理装置、方法及びプログラム Download PDF

Info

Publication number
WO2018051688A1
WO2018051688A1 PCT/JP2017/028876 JP2017028876W WO2018051688A1 WO 2018051688 A1 WO2018051688 A1 WO 2018051688A1 JP 2017028876 W JP2017028876 W JP 2017028876W WO 2018051688 A1 WO2018051688 A1 WO 2018051688A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual viewpoint
path
camera
displayed
display screen
Prior art date
Application number
PCT/JP2017/028876
Other languages
English (en)
French (fr)
Inventor
花本 貴志
知頼 岩尾
Original Assignee
キヤノン株式会社
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 キヤノン株式会社 filed Critical キヤノン株式会社
Priority to KR1020197007474A priority Critical patent/KR102187974B1/ko
Priority to CN201780057088.2A priority patent/CN109716751B/zh
Publication of WO2018051688A1 publication Critical patent/WO2018051688A1/ja
Priority to US16/354,980 priority patent/US20190213791A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • G06T7/596Depth or shape recovery from multiple images from stereo images from three or more stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/2224Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Definitions

  • the present invention relates to a technology for setting a path of a virtual camera when generating a free viewpoint video.
  • a free-viewpoint video technology as a technology for generating video from a camera (virtual camera) that does not actually exist, which is virtually arranged in a three-dimensional space, using video captured by a plurality of real cameras.
  • a free viewpoint video it is necessary to set the path of the virtual camera, etc., including the virtual camera position (x, y, z), rotation direction ( ⁇ ), angle of view ( ⁇ ), gaze point ( It is necessary to appropriately control parameters such as xo, yo, and zo along the time axis (t). Proper skill is required to set and control many of these parameters properly, and it is difficult to operate unless a trained professional.
  • Patent Document 1 sets a virtual camera parameter based on a plan view (for example, a floor plan in a museum) when a target three-dimensional space is viewed from above, and a free viewpoint at a specified position.
  • a plan view for example, a floor plan in a museum
  • a method for confirming a video is disclosed.
  • An information processing apparatus is an information processing apparatus that sets a movement path of a virtual viewpoint regarding a virtual viewpoint image generated based on a plurality of images obtained by a plurality of cameras, and specifies a movement path of the virtual viewpoint.
  • Specifying means for displaying a plurality of virtual viewpoint images corresponding to the movement path specified by the specifying means; and at least one of the plurality of virtual viewpoint images displayed on the display screen.
  • the present invention it is possible to arbitrarily set the altitude and moving speed of the virtual camera, and it is possible to obtain a virtual viewpoint video by an easy operation.
  • FIG. 3A is a diagram illustrating an example of a GUI screen used when generating a free viewpoint video according to the first embodiment.
  • FIG. 3B is a diagram illustrating an example of a GUI screen used when generating a free viewpoint video according to the first embodiment.
  • 6 is a flowchart showing a rough flow of processing for generating a free viewpoint video according to the first embodiment.
  • 4 is a flowchart illustrating details of virtual camera setting processing according to the first embodiment.
  • FIG. 6A is an example of a static 2D map in which the position of the subject and the 3D shape are projected.
  • FIG. 6B is an example of a result of specifying a gazing point path and a camera path.
  • FIG. 6C is a diagram illustrating an example of a result of thumbnail arrangement processing. It is a flowchart which shows the detail of a thumbnail arrangement
  • FIG. 8A is a diagram for explaining the process of thumbnail arrangement processing.
  • FIG. 8B is a diagram illustrating the process of thumbnail arrangement processing.
  • FIG. 8C is a diagram illustrating the process of thumbnail arrangement processing. It is a flowchart which shows the detail of a camera path adjustment process.
  • FIG. 10A is a diagram illustrating the process of camera path adjustment processing.
  • FIG. 10B is a diagram illustrating the process of camera path adjustment processing.
  • FIG. 10C is a diagram illustrating the process of camera path adjustment processing.
  • FIG. 10A is a diagram illustrating the process of camera path adjustment processing.
  • FIG. 10B is a diagram illustrating the process of camera path adjustment processing.
  • FIG. 10C is a
  • FIG. 11A is a diagram showing a state in which a gradation icon is added.
  • FIG. 11B is a diagram illustrating the relationship between the thumbnail images, the moving speed of the virtual camera, and the playback time of the free viewpoint video. It is a flowchart which shows the detail of a gaze point path adjustment process.
  • FIG. 13A is a diagram illustrating a process of gaze point path adjustment processing.
  • FIG. 13B is a diagram illustrating a process of gaze point path adjustment processing.
  • FIG. 13C is a diagram illustrating the process of gaze point path adjustment processing.
  • FIG. 13D is a diagram illustrating a process of gaze point path adjustment processing.
  • FIG. 10 is a diagram illustrating an example of a GUI screen when generating a free viewpoint video according to the second embodiment.
  • FIG. 17A is an example of a start frame of a dynamic 2D map.
  • FIG. 17B is a diagram showing, in chronological order, how a gazing point path is designated on the dynamic 2D map.
  • FIG. 17C is a diagram showing, in chronological order, how a gazing point path is specified on the dynamic 2D map.
  • FIG. 17D is a diagram showing, in chronological order, how a gazing point path is designated on the dynamic 2D map.
  • FIG. 17A is an example of a start frame of a dynamic 2D map.
  • FIG. 17B is a diagram showing, in chronological order, how a gazing point path is designated on the dynamic 2D map.
  • FIG. 17C is a diagram showing, in chronological order, how a gazing point path is specified on the dynamic 2D map.
  • FIG. 17D is a diagram showing, in chronological order, how a gazing point path is designated on the dynamic 2D map.
  • FIG. 18A is a diagram showing, in chronological order, how a camera path is specified on a dynamic 2D map after the gazing point path is specified.
  • FIG. 18B is a diagram showing, in time series, how camera paths are specified on a dynamic 2D map after the gazing point path has been specified.
  • FIG. 18C is a diagram showing, in chronological order, how a camera path is designated on a dynamic 2D map after the gazing point path has been designated.
  • FIG. 19A is a diagram for explaining a difference depending on a mode when a camera path is designated.
  • FIG. 19B is a diagram for explaining a difference depending on a mode when a camera path is designated.
  • FIG. 20A is a diagram illustrating an example in which subject information is narrowed down spatially.
  • FIG. 20A is a diagram illustrating an example in which subject information is narrowed down spatially.
  • FIG. 20B is a diagram illustrating an example in which subject information is narrowed down spatially.
  • FIG. 21A is a flowchart illustrating details of the gazing point path designation receiving process.
  • FIG. 21B is a flowchart showing details of the gazing point path designation receiving process.
  • FIG. 22A is a flowchart showing details of the camera path designation receiving process.
  • FIG. 22B is a flowchart showing details of the camera path designation receiving process. It is a flowchart which shows the detail of a path
  • FIG. 1 is a diagram showing an example of the configuration of a free viewpoint video system in the present embodiment.
  • the free viewpoint video system shown in FIG. 1 includes an image processing device 100 and a plurality of imaging devices (camera groups) 109.
  • the image processing apparatus 100 includes a CPU 101, a main memory 102, a storage unit 103, an input unit 104, a display unit 105, and an external I / F 106, and each unit is connected via a bus 107.
  • the image processing device is a device that sets a movement path of a virtual viewpoint regarding a virtual viewpoint image generated based on a plurality of images obtained by a plurality of imaging devices (camera groups).
  • the CPU 101 is an arithmetic processing device that controls the image processing apparatus 100 in an integrated manner, and executes various programs by executing various programs stored in the storage unit 103 or the like.
  • the main memory 102 temporarily stores data and parameters used in various processes, and provides a work area to the CPU 101.
  • the storage unit 103 is a large-capacity storage device that stores various programs and various data necessary for GUI (graphical user interface) display. For example, a nonvolatile memory such as a hard disk or a silicon disk is used.
  • the input unit 104 is a device such as a keyboard, a mouse, an electronic pen, or a touch panel, and receives an operation input from a user.
  • the display unit 105 is configured by a liquid crystal panel or the like, and performs GUI display for setting a virtual camera path when generating a free viewpoint video.
  • the external I / F unit 106 is connected to each camera constituting the camera group 109 via the LAN 108, and transmits and receives video data and control signal data.
  • a bus 107 connects the above-described units and performs data transfer.
  • the camera group 109 is connected to the image processing apparatus 100 via the LAN 108. Based on a control signal from the image processing apparatus 100, shooting start / stop, camera setting (shutter speed, aperture, etc.) change, and shooting. The transferred video data.
  • FIG. 2 is a diagram showing an arrangement example of each camera constituting the camera group 109.
  • the number of cameras constituting the camera group 109 is not limited to ten. If there are few, it may be 2 or 3 units, and there may be cases where hundreds of cameras are installed.
  • a player and a ball as a subject 202 exist on a field 201 where a game is performed, and ten cameras 203 are arranged so as to surround the field 201.
  • the individual cameras 203 constituting the camera group 109 set appropriate camera orientations, focal lengths, exposure control parameters, and the like so that the entire field 201 or the region of interest of the field 201 is within the angle of view.
  • FIG. 3A and 3B are diagrams illustrating an example of a GUI screen used when generating a free viewpoint video according to the present embodiment.
  • FIG. 3A is a basic screen of the GUI screen, and includes an overhead image display area 300, an operation button area 310, and a virtual camera setting area 320.
  • the bird's-eye view image display area 300 is used for operation and confirmation for designating the movement path of the virtual camera and the movement path of the gazing point to which the virtual camera is gazing.
  • the bird's-eye view image display area 300 may be used for setting only one of the movement path of the virtual camera and the movement path of the gazing point.
  • the moving path of the virtual camera may be designated by the user using the overhead image display area 300, and the moving path of the gazing point may be automatically determined according to the movement of the player or the like.
  • the movement path of the virtual camera may be automatically determined according to the movement of the player or the like, and the movement path of the gazing point may be designated by the user using the overhead image display area 300.
  • the operation button area 310 includes buttons 311 to 313 for reading multi-view video data, setting a range (time frame) of multi-view video data to be generated as a free viewpoint video, and setting a virtual camera. . Further, a confirmation button 314 for confirming the generated free viewpoint video is present in the operation button area 310, and when this button is pressed, the screen changes to a free viewpoint video preview window 330 shown in FIG. 3B. Thereby, it is possible to confirm a free viewpoint video (virtual viewpoint video) which is a video viewed from the virtual camera.
  • a free viewpoint video virtual viewpoint video
  • the virtual camera setting area 320 is displayed when the virtual camera setting button 313 is pressed.
  • the virtual camera setting area 320 includes display fields 324 and 325 for displaying the altitude and moving speed of the virtual camera (Camera) and the point of interest (Point of Interest), and a drop-down list for switching the display target. 326 exists.
  • the virtual camera setting area 320 may be provided with a display field for displaying information related to the imaging direction of the virtual camera (for example, angle information). In this case, the angle can be set according to a user operation on the drop-down list 326.
  • FIG. 4 is a flowchart showing a rough flow of processing for generating a free viewpoint video. This series of processing is realized by the CPU 101 reading a predetermined program from the storage unit 103 and developing it in the main memory 102, which is executed by the CPU 101.
  • step 401 video data captured from multiple viewpoints (here, 10 viewpoints corresponding to 10 cameras) is acquired.
  • multi-view video data captured in advance from the storage unit 103 is read.
  • the acquisition timing of the video data is not limited to the timing according to the pressing of the button 311, and various modifications are conceivable, for example, acquisition at regular intervals.
  • the multi-view video data may be directly acquired by performing shooting in response to pressing of the multi-view video data reading button 311. That is, the image processing apparatus 100 transmits to the camera group 109 shooting parameters such as exposure conditions at the time of shooting and a shooting start signal to the camera group 109, and directly acquires video data shot by each camera via the LAN 108. May be.
  • a still image two-dimensional image (hereinafter referred to as a “static 2D map”) that captures the captured scene of the acquired multi-view video data (here, the field of the rugby field) is generated.
  • This static 2D map is generated using an arbitrary frame in the acquired multi-view video data. For example, it can be obtained by projective conversion of a specific frame of one video data taken from an arbitrary viewpoint (camera) among multi-view video data. Alternatively, it can be obtained by synthesizing images obtained by projective transformation of specific frames of video data corresponding to any two or more viewpoints of multi-view video data. Furthermore, when the shooting scene is known in advance, it may be obtained by reading a static 2D map created in advance.
  • a time frame that is a target range of free viewpoint video generation is set from the acquired multi-view video data.
  • the user presses the time frame setting button 312 described above while checking the video displayed on another monitor or the like, and sets a time range (start time and end time) for which a free viewpoint video is to be generated. To do. For example, if there is 120 minutes of all acquired video data and you want to set 10 seconds from the point when 63 minutes have passed since the start, such as start time 1:03:00, end time 1:03:10, etc.
  • the target time frame is set.
  • step 404 the position of the subject 202 and its three-dimensional shape (hereinafter, 3D shape) are estimated in all frames included in the set target range.
  • 3D shape As an estimation method, an existing method such as a Visual-hull method using the contour information of the subject or a Multi-view stereo method using triangulation is used.
  • the estimated subject position and 3D shape information are stored in the storage unit 103 as subject information. If there are a plurality of subjects in the shooting scene, the position and 3D shape of each subject are estimated.
  • step 405 virtual camera setting processing is performed. Specifically, when the user presses the virtual camera setting button 313 described above, the virtual camera setting area 320 is displayed, and the user operates a button or the like in the area 320 to move the virtual camera movement path or the like. Set the movement path of the gazing point. Details of the virtual camera setting process will be described later.
  • a free viewpoint video is generated based on the setting contents related to the virtual camera made in step 405.
  • a free viewpoint video can be generated by using a computer graphics technique for a 3D shape of a subject, as viewed from a virtual camera.
  • step 407 it is determined whether to change the setting contents of the virtual camera to generate a new free viewpoint video.
  • This process is performed based on an instruction from the user who has viewed the free viewpoint video displayed in the free viewpoint video preview window 330 and confirmed its image quality.
  • the virtual camera setting button 313 is pressed again, and the setting relating to the virtual camera is performed again (return to step 405).
  • the setting content is changed in the virtual camera setting area 320 and the “OK” button is pressed again, a free viewpoint video is generated with the changed content.
  • this processing is finished. The above is a rough flow until a free viewpoint video is generated according to the present embodiment.
  • step 401 and step 402 are executed by the first device
  • step 406 is executed by the second device
  • other processing is executed by the third device.
  • the processing according to FIG. 4 may be executed. The same applies to other flowcharts of the present embodiment.
  • FIG. 5 is a flowchart showing details of the virtual camera setting process according to the present embodiment. This flow is executed by pressing the virtual camera setting button 313 described above.
  • step 501 subject information and a static 2D map in the set time frame are read from the storage unit 103.
  • the read subject information and static 2D map are stored in the main memory 102.
  • step 502 based on the read subject information and the static 2D map, a static 2D map in which the position of the subject and the 3D shape are projected is displayed on the overhead image display area 300 of the GUI screen shown in FIG. 3A.
  • the FIG. 6A shows the result of projecting the subject 202 of the player holding the ball on the static 2D map of the field 201 shown in FIG. Since the position and shape of the subject 202 change along the time axis, all subjects within the time frame set by the user are projected. In this case, if all the subjects for all frames are projected, the projection results overlap, and the visibility / viewability deteriorates.
  • the display is performed so that the subject is transmitted (transmittance is increased) with the passage of time.
  • the transmittance of the subject is varied, but it is sufficient that the display allows the passage of time to be understood. For example, other modes such as lowering the luminance stepwise may be used.
  • the projection result thus obtained is displayed in the overhead image display area 300.
  • step 503 information for specifying a free viewpoint in the free viewpoint video data, that is, a path along which the gazing point, which is the direction in which the virtual camera faces (hereinafter referred to as a gazing point path), and a path along which the virtual camera moves (hereinafter referred to as camera). Path) is specified by the user.
  • the gazing point path designation button 321 or the camera path designation button 322 in the virtual camera setting area 320 the user traces on the static 2D map in the overhead image display area 300 with a finger, mouse, electronic pen, or the like. Draw. Thereby, a gazing point path and a camera path are designated respectively.
  • FIG. 6B shows the result of specifying the gaze point path and the camera path.
  • a broken line arrow 601 is a gazing point path
  • a solid line arrow 602 is a camera path. That is, the generated free viewpoint video is a virtual video when the virtual camera itself moves on the curve indicated by the solid arrow 602 while the gazing point of the virtual camera moves on the curve indicated by the dashed arrow 601. .
  • default values are set for the altitude from the field 201 of the gazing point and the virtual camera. For example, if the shooting scene is a rugby game as shown in FIG. 2, the default value is 1.5 m for the gazing point height so that the entire player who is the subject is within the angle of view of the virtual camera.
  • the altitude is set to 10m.
  • the user can freely specify the height of the virtual camera and the gazing point.
  • the height of the gazing point is fixed, and only the height of the virtual camera is set by the user. May be specified, or the height of the virtual camera may be set to a fixed value so that only the height of the gazing point can be specified by the user.
  • the user can arbitrarily change the default value, an appropriate value can be set according to the type of competition or event, and the convenience for the user is improved.
  • either one of the gazing point and the virtual camera position may be fixed, and only the other may be designated by the user in Step 503.
  • the moving speed of the gazing point and the virtual camera is set to a value obtained by dividing the moving distance of the designated moving route by the time frame set in step 402 of the flow of FIG.
  • a still image when viewed from the virtual camera at a constant interval in the time axis direction is generated along the set camera path.
  • the “fixed interval” in this step may be the same as the “fixed interval” in step 502 described above, or may be a different interval.
  • the thumbnail image predicts the completion of the free viewpoint video and is used as a reference for correcting the gaze point path and camera path.
  • the resolution is set to the extent that the purpose can be achieved (relatively low resolution). The This reduces the processing load and enables high-speed processing.
  • step 505 a process (thumbnail arrangement process) is performed in which the generated thumbnail image is arranged along the camera path drawn on the static 2D map on which the subject 202 is projected. That is, in step 505, the image processing apparatus 100 displays a plurality of virtual viewpoint images corresponding to at least one of the camera path and the gazing point path on the display screen. Details of the thumbnail arrangement processing will be described later.
  • FIG. 6C is a diagram illustrating an example of the result of the thumbnail arrangement process, and five thumbnail images 603 are arranged along the designated camera path 602.
  • the bird's-eye view image display area 300 displays a state in which a plurality of thumbnail images are arranged at regular intervals along the camera path drawn on the static 2D map.
  • the user can instantly understand what free viewpoint video is generated.
  • the number of repetitions of step 404 to step 406 in the flow of FIG. 4 is greatly reduced.
  • the subsequent steps 506 to 508 are processes for adjusting the camera path or the gaze point path.
  • one of a plurality of thumbnail images displayed on the overhead image display area 300 or on the gazing point path Select one of the positions. In the case of this embodiment, this selection is made by touching any part of any thumbnail image 603 or any part of a broken-line arrow 601 representing a gazing point path with a finger or the like.
  • step 506 it is determined whether or not the user has made any selection. That is, in step 506, the image processing apparatus 100 accepts a user operation for at least one of a plurality of virtual viewpoint images displayed on the display screen. If a thumbnail image is selected by the user, the process proceeds to step 507, and if an arbitrary part on the gazing point path is selected, the process proceeds to step 508. On the other hand, when the OK button 323 is pressed without any selection, the present process is exited and the process proceeds to a free viewpoint video generation process (step 405 in the flow of FIG. 4).
  • step 507 a process (camera path adjustment process) of adjusting the moving path, altitude, and moving speed of the virtual camera is executed according to the user instruction for the selected thumbnail image. That is, in step 507, the image processing apparatus 100 changes the camera path in response to accepting an operation for the thumbnail image (virtual viewpoint image). Details of the camera path adjustment processing will be described later.
  • step 508 a process (gaze point adjustment process) for adjusting the movement path, altitude, and movement speed of the gaze point is executed in accordance with a user instruction for a mark indicating a selected portion on the gaze point path (x mark in the present embodiment). Is done. Details of the gazing point path adjustment processing will be described later. The above is the content of the virtual camera setting process.
  • FIG. 7 is a flowchart showing details of the thumbnail arrangement process (step 505).
  • step 701 thumbnail images generated by sampling at regular intervals in the time axis direction are arranged along the camera path set in step 503.
  • step 702 the interval between the thumbnail images is optimized. Specifically, with respect to the result of being arranged at a constant interval, a process of thinning out the portions where the thumbnail images are densely overlapped so as not to overlap is performed. Furthermore, a process for newly generating and adding a thumbnail image is performed for the start point and end point of the camera path, and the inflection point where the change of the camera path is large.
  • step 703 a correction process for shifting the position of the thumbnail image is performed so that each thumbnail image with an appropriate interval does not overlap the projected subject (projected subject). Thereby, the visibility of each projection subject is ensured, and the user can smoothly proceed with subsequent editing operations.
  • FIG. 8A to 8C are diagrams for explaining the process of the thumbnail arrangement process.
  • FIG. 8A shows the result of step 701.
  • FIG. 8B shows the result of step 702, in which a new thumbnail image 802 is added to the end point of the camera path, and the overlapping of the thumbnail images is eliminated.
  • FIG. 8C shows the result of step 703, in which the thumbnail images that have overlapped the projection subject and the camera path are moved, and the visibility of all the projection subjects and thumbnail images is ensured.
  • the above is the content of the thumbnail arrangement process.
  • FIG. 9 is a flowchart showing details of the camera path adjustment processing.
  • this process starts when the user selects a thumbnail image at a location where the user wishes to change the position or altitude of the virtual camera.
  • 10A to 10C are diagrams illustrating the process of the camera path adjustment process.
  • the thumbnail image 1001 selected by the user is highlighted with a thick frame, for example.
  • the altitude and moving speed of the virtual camera in the frame of interest at the position corresponding to the selected thumbnail image are displayed in the display columns 324 and 325, respectively. Is displayed.
  • the altitude and moving speed of the virtual camera may be displayed in a table, graph, or the like for the entire time frame for generating the free viewpoint video, not just the frame of interest.
  • the virtual camera parameters that can be set are not limited to altitude or moving speed.
  • the angle of view of the camera may be displayed. From this state, the camera path adjustment process starts.
  • step 901 it is determined whether or not a user instruction has been given to the highlighted thumbnail image relating to user selection (hereinafter referred to as “selected thumbnail”).
  • selected thumbnail a user instruction relating to user selection
  • step 902 the process is divided according to the content of the user instruction. If the user instruction is a drag operation with one finger on the selected thumbnail, the process proceeds to step 903. If the user instruction is a two-finger pinch operation, the process proceeds to step 904. If the user instruction is a two-finger swipe operation, the process proceeds to step 905. .
  • FIG. 10B is a diagram illustrating a state in which the moving path of the virtual camera is changed according to the result of the selected thumbnail 1001 being moved to the position 1001 ′ by the drag operation. It can be seen that the camera path that has shown a trajectory as indicated by a solid line arrow 1010 in FIG. 10A is changed to a camera path having a different trajectory as indicated by a solid line arrow 1020 in FIG. 10B.
  • the camera path between the currently selected thumbnail image and the adjacent thumbnail image is interpolated with a spline curve or the like.
  • step 904 the altitude of the virtual camera is changed in accordance with the change in the size of the selected thumbnail due to the two-finger pinch operation (widening or narrowing the interval with two fingers).
  • FIG. 10C shows a selected thumbnail 1002 whose size has been enlarged by a pinch operation. Since the size of the selected thumbnail is enlarged or reduced by the pinch operation, for example, the altitude is lowered as the size is increased, and the altitude is increased as the size is reduced. Of course, the relationship between the size of the thumbnail image size and the altitude of the virtual camera may be reversed. For example, the altitude may increase as the size increases. In other words, the size of the selected thumbnail and the altitude of the virtual camera at that position need only be linked.
  • a numerical value indicating the altitude of the virtual camera corresponding to the size change is displayed in the display field 324 by selecting “Camera” from the drop-down list 326. Note that the camera path between the currently selected thumbnail image and the adjacent thumbnail image is corrected by spline interpolation or the like.
  • step 905 the moving speed of the virtual camera is changed according to the addition of a predetermined icon to the selected thumbnail by the two-finger swipe operation.
  • FIG. 11A is a diagram showing a state in which a gradation icon 1100 whose density is changed stepwise is added by a two-finger swipe operation on the fourth selected thumbnail counted from the start time.
  • a correlation is provided between the shape of the gradation icon 1100 and the moving speed. For example, the longer the gradation icon 1100, the faster the moving speed, and the shorter the gradation icon length, the slower the moving speed. In this way, the shape of the icon added to the selected thumbnail represents the moving speed of the virtual camera at that position.
  • FIG. 11B is a diagram illustrating the relationship between each thumbnail image, the moving speed of the virtual camera, and the playback time of the free viewpoint video.
  • the upper row shows the state before the moving speed is changed, and the lower row shows the state after the moving speed is changed. ing.
  • the circles represent the five thumbnail images in FIG. 11A, and each thumbnail image in the upper row corresponds to a time obtained by equally dividing the playback time of the set time frame.
  • an example is shown in which the fourth thumbnail image from the start time is selected and the movement speed is adjusted.
  • the playback time between the fourth thumbnail image being selected and the next left thumbnail image corresponding to the future is shortened.
  • the movement of the subject in the frame corresponding to both thumbnail images also becomes faster according to the playback time.
  • the playback time of the final free viewpoint video as a whole is shortened accordingly.
  • the playback time is extended by that amount.
  • the moving speed of the virtual camera corresponding to the thumbnail images and the moving speed of the gazing point are different, the moving time of the corresponding gazing point is automatically adjusted to reduce the playback time of the entire free viewpoint video. You may match.
  • either the moving speed of the virtual camera or the moving speed of the gazing point may be modified.
  • each thumbnail image is updated with the changed contents as described above.
  • the above is the contents of the camera path adjustment process.
  • the process of the user instruction is divided according to the type of touch operation using the user's own finger.
  • the “Ctrl” key or the “Shift” key is used. What is necessary is just to divide a process according to whether it is operation while pushing.
  • FIG. 12 is a flowchart showing details of the gazing point path adjustment process. As described above, this process starts when the user selects an arbitrary location on the gazing point path whose position or altitude is desired to be changed.
  • FIG. 13A to FIG. 13D are diagrams for explaining a process of gaze point path adjustment processing. As illustrated in FIG. 13A, an arbitrary location (selected location) on the gazing point path related to the user selection is highlighted with, for example, a bold x mark 1301. At this time, by selecting “Point of Interest” from the drop-down list 326, the altitude and moving speed of the point of interest at the position corresponding to the selected location are displayed in the display columns 324 and 325, respectively. From this state, the gazing point path adjustment process starts.
  • step 1201 it is determined whether or not a user instruction has been made for the x mark 1301 indicating the selected location on the gazing point path.
  • a touch operation using the user's own finger it is determined that there is a user instruction, and the process proceeds to step 1202.
  • step 1202 the process is divided according to the content of the user instruction. If the user instruction is a drag operation with one finger on the X mark 1301 indicating the selected location, the process proceeds to step 1203. If the pinch operation is performed with two fingers, the process proceeds to step 1204. If the swipe operation is performed with two fingers, Proceed to step 1205 respectively.
  • FIG. 13B is a diagram illustrating a state in which the movement path of the gazing point is changed according to the result of the x mark 1301 being moved to the position 1301 ′ by the drag operation.
  • FIG. 13A it can be seen that the gazing point path that has shown a locus such as the dashed arrow 1300 has been changed to a gazing point path having a different locus such as the dashed arrow 1300 'in FIG. 13B.
  • the gazing point path between the currently selected thumbnail image and the adjacent thumbnail image is interpolated by a spline curve or the like.
  • step 1204 the altitude of the gazing point is changed according to the change in the size of the cross mark 1301 due to the two-finger pinch operation.
  • FIG. 13C shows an X mark 1301 ′′ whose size has been enlarged by a pinch operation.
  • the size of the selected thumbnail is enlarged or reduced by the pinch operation, so that, for example, the altitude decreases as the size increases.
  • the height increases as the size decreases, and of course, the relationship between the size of the x mark and the height of the point of interest may be reversed, for example, the height increases as the size increases. In other words, it is only necessary that the size of the X mark indicating the selected location and the altitude of the gaze point at that position are linked to each other.
  • the numerical value shown is displayed in the display field 324 by selecting “Point ⁇ of Interest ”from the drop-down list 326. At this time, the altitude of the gazing point path within a predetermined range sandwiching the selected portion is also corrected by spline interpolation or the like so that the altitude change does not become abrupt.
  • step 1205 the moving speed of the gazing point is changed in accordance with the addition of a predetermined icon to the X mark 1301 by a two-finger swipe operation.
  • FIG. 13D is a diagram illustrating a state in which a gradation icon 1310 in which the density changes stepwise is added by a two-finger swipe operation on the X mark 1301.
  • a correlation is provided between the shape of the gradation icon 1310 and the moving speed. For example, the longer the gradation icon 1310, the faster the moving speed, and the shorter the gradation icon length, the slower the moving speed.
  • the shape of the additional icon to the mark indicating the selected location here, the x mark
  • a numerical value indicating the moving speed of the gazing point according to the shape change of the additional icon is displayed in the display field 325 by selecting “Point of Interest” from the drop-down list 326.
  • step 1206 the gaze point path is updated with the contents after the change as described above.
  • the above is the content of the gazing point path adjustment process.
  • the present embodiment it is possible to easily set a virtual camera path visually and easily, and in a short time. It is also possible to set the altitude and moving speed of a virtual camera on a two-dimensional image, which has been difficult in the past. That is, according to the present embodiment, the altitude and moving speed of the virtual camera can be arbitrarily set, and a free viewpoint video can be obtained in a short time with an easy operation.
  • the GUI screen of the first embodiment is a mode in which a moving path of a virtual camera is designated on a two-dimensional image by a still image.
  • a mode for designating a moving path of a virtual camera on a two-dimensional image by a moving image will be described as a second embodiment. Note that the description of the parts common to the first embodiment such as the basic configuration of the image processing apparatus 100 will be omitted, and the description below will focus on the virtual camera setting process using a two-dimensional moving image, which is a difference. To do.
  • FIG. 14 is a diagram showing an example of a GUI screen used when generating a free viewpoint video according to the present embodiment.
  • FIG. 14 is a basic screen of a GUI screen according to the present embodiment, and includes a bird's-eye view image display area 1400, an operation button area 1410, and a virtual camera setting area 1420.
  • description will be made on the assumption that an input operation such as designation of a gazing point path or camera path is performed by an electronic pen.
  • the bird's-eye view image display area 1400 is used for operation / confirmation for designating the movement path of the virtual camera and the movement path of the gazing point, and is a two-dimensional image (hereinafter referred to as “dynamic 2D map”) that captures the shooting scene from a bird's-eye view. Is displayed).
  • a dynamic bar 2D map corresponding to the target time frame is reproduced / stopped, a progress bar 1401 for displaying the progress, and an adjustment bar for adjusting the dynamic 2D map reproduction speed. 1402 exists.
  • a mode display field 1403 for displaying a mode for designating a moving path of the virtual camera, a moving path of the gazing point, and the like.
  • Time-sync is a mode in which a moving path of a virtual camera or a gazing point is input as the playback of the dynamic 2D map progresses.
  • Pen-sync is a mode in which playback of a dynamic 2D map proceeds in proportion to the length of a movement path input with an electronic pen or the like.
  • the operation button area 1410 includes buttons 1411 to 1413 for reading multi-view video data, setting a target time frame for generating a free viewpoint video, and setting a virtual camera. Further, a confirmation button 1414 for confirming the generated free viewpoint video is present in the operation button area 1410, and when this is pressed, the screen changes to a free viewpoint video preview window (see FIG. 3B of the first embodiment). To do. As a result, it is possible to confirm a free viewpoint video that is a video viewed from the virtual camera.
  • the virtual camera setting area 1420 is displayed when the virtual camera setting button 1413 is pressed.
  • a button for designating a movement point of the gazing point and the virtual camera a button for designating a mode for designating the movement route, and generation of a free viewpoint video according to the designated movement route
  • OK buttons 1421 to 1424 for instructing the start.
  • the virtual camera setting area 1420 includes a graph 1425 that displays the altitude and moving speed of the virtual camera (Camera) and the point of interest (Point (of Interest), and a drop-down list 1426 for switching the display target.
  • the vertical axis represents altitude and the horizontal axis represents the number of frames, and each point represents each time point (here, t0 to t5) when the set time frame is divided by a predetermined number.
  • t0 corresponds to the start frame
  • t5 corresponds to the last frame.
  • the user can change the altitude of the virtual camera or the gazing point at an arbitrary time point in the target time frame by selecting each point on the graph 1425 with the electronic pen and moving it up and down.
  • FIG. 15 is a flowchart showing a rough flow of processing for generating a free viewpoint video according to the present embodiment.
  • FIG. 15 is a flowchart showing a rough flow of processing for generating a free viewpoint video according to the present embodiment.
  • the difference from the flow of FIG. 4 in the first embodiment will be mainly described.
  • a target time frame start time and end time
  • the dynamic 2D map is a two-dimensional moving image when a shooting scene corresponding to the target time frame is seen from a bird's-eye view
  • the dynamic 2D map is generated after setting the target time frame.
  • a dynamic 2D map corresponding to the set time frame is generated and stored in the storage unit 103.
  • a video in a time frame in which video data corresponding to one arbitrary viewpoint among multi-view video data is set is projectively converted.
  • it can also be obtained by projective conversion of images in a time frame in which video data corresponding to two or more arbitrary viewpoints among multi-view video data is set, and synthesizing a plurality of obtained video data.
  • the collapse of the subject shape is suppressed and the image quality is improved, but the processing load is increased accordingly. If the former, the image quality is inferior, but the processing load is light, so that higher speed processing is possible.
  • Step 1504 to Step 1506 correspond to Step 405 to Step 407 in the flow of FIG.
  • the contents of the virtual camera setting process in step 1504 are many moving parts as described below because the 2D map to be used is not a still image but a moving image.
  • FIG. 16 is a flowchart showing details of the virtual camera setting process according to the present embodiment. This flow is executed when the above-described virtual camera setting button 1413 is pressed.
  • step 1601 the enemy 2D map of the set time frame is read from the storage unit 103.
  • the read dynamic 2D map is stored in the main memory 102.
  • Step 1602 the start frame (the frame at time t0) of the read dynamic 2D map is displayed on the overhead image display area 1400 of the GUI screen shown in FIG.
  • FIG. 17A is an example of a start frame of a dynamic 2D map.
  • the frames from the current playback time point to the predetermined time point are displayed in an overlapping manner among the points (t0 to t5) where the time frame set by the user is sampled at a constant interval (for example, 5 seconds).
  • frames from t0 to t3 corresponding to 15 seconds from the start frame are displayed in an overlapping manner.
  • the point that the subject in the frame farther from the present is transmitted is the same as in the first embodiment.
  • the user can grasp at a glance the passage of time within the set time frame, and further improve the viewability by limiting the display range in terms of time.
  • Step 1603 user selection of a mode when designating a gazing point path or a camera path is accepted, and either “Time-sync” or “Pen-sync” is set.
  • the set contents are displayed in the Mode display field 1403 in the overhead image display area 1400. If there is no user selection, the process may be shifted to the next process with the default setting (for example, “Time-sync”).
  • a process for accepting designation of a gaze point path (gaze point designation accepting process) is performed.
  • the user uses an electronic pen to press a gazing point path designation button 1421 in the virtual camera setting area 1420 and then draws a locus on the dynamic 2D map in the overhead image display area 1400. This designates the gaze point path.
  • FIGS. 17B to 17D are diagrams showing, in chronological order, how a gazing point path is designated on the dynamic 2D map shown in FIG. 17A, and is a gazing point path in which a dashed arrow 1701 is designated.
  • FIG. 17B shows the state of the dynamic 2D map at the time point t0
  • FIG. 17C shows the state at time point t1
  • FIG. 17D shows the state of the dynamic 2D map at time point t2.
  • the subject (frame) at time t4 is displayed instead of the subject (frame) at time t0 that has become past.
  • all frames between the set time frames may be displayed without performing time limitation under certain conditions such as when the set time frame is a short time. In this case, the user may be able to grasp the passage of time by performing processing such as transmitting the subject for the past frames.
  • the gaze point designation reception process differs depending on the mode designated in step 1603. Details of the gazing point path designation receiving process according to the mode will be described later.
  • a process for accepting designation of a camera path is performed. Similar to the above-described gazing point path, the user uses the electronic pen to press the camera path designation button 1422 in the virtual camera setting area 1420, and then draws a locus on the dynamic 2D map in the overhead image display area 1400. This designates the camera path.
  • 18A to 18C are diagrams showing, in time series, how camera paths are specified on a dynamic 2D map (see FIG. 17D) after the gazing point path has been specified.
  • the x mark 1800 indicates the current position of the gazing point on the designated gazing point path 1701
  • the solid arrow 1801 indicates the designated camera path.
  • FIG. 18A shows the state of the dynamic 2D map at the time point t0
  • FIG. 18B shows the state at time point t1
  • FIG. 18C shows the state of the dynamic 2D map at time point t2.
  • the subject (frame) at time t4 is displayed instead of the subject (frame) at time t0.
  • the contents of the camera path designation receiving process also differ depending on the mode designated in step 1603. Details of the camera path designation receiving process corresponding to the mode will be described later.
  • step 1606 it is determined whether the user has made any selection for adjustment. If the gaze point path or camera path on the dynamic 2D map or a point on the graph 1425 is selected by the user, the process proceeds to step 1607. On the other hand, if the OK button 1424 is pressed without making any selection, the present process is exited and the process proceeds to a free viewpoint video generation process (step 1505 in the flow of FIG. 15).
  • step 1607 a process (path adjustment process) of adjusting the moving path, altitude, and moving speed of the virtual camera is executed according to the input operation for the selected gazing point path or camera path. Details of the path adjustment processing will be described later.
  • FIG. 19A shows the case of “Time-sync” mode
  • FIG. 19B shows the case of “Pen-sync” mode.
  • solid-line arrows 1901 and 1902 indicate the designated movement paths.
  • a path 1901 is a trajectory when the user operates the electronic pen while the dynamic 2D map progresses for 5 seconds.
  • subjects with different time axes are omitted for convenience of explanation, but as described above, subjects with different time axes are also displayed on the actual GUI screen, for example, by changing the transmittance.
  • the display is performed so as to display within a predetermined range centered on the gazing point at the current position (only around the gazing point). The subject may be narrowed down spatially.
  • FIG. 20A is an example of an overhead view (one frame in a dynamic 2D map) before spatial narrowing down
  • FIG. 20B is an example of an overhead view after spatial narrowing down. In this way, it is possible to improve the viewability by making the subject located away from the gazing point invisible.
  • FIG. 21A is a flowchart showing details of the gaze point path designation receiving process in the case of “Time-sync” and FIG. 21B in the case of “Pen-sync”. As described above, this process starts when the user presses the gazing point path designation button 1421.
  • step 2101 an input operation with the electronic pen performed by the user on the dynamic 2D map is accepted.
  • step 2102 the elapsed time from the time when the input operation of the electronic pen is accepted is calculated based on a timer (not shown) provided in the image processing apparatus 100.
  • step 2103 the dynamic 2D map is advanced by the number of frames corresponding to the calculated elapsed time while displaying the trajectory of the input operation of the electronic pen by the user (broken arrows in the examples of FIGS. 17C and 17D described above). It is done.
  • step 2104 it is determined whether or not a gaze point is designated for the entire set time frame. If there is an unprocessed frame, the process returns to step 2102 to repeat the process. On the other hand, if the gazing point path has been designated for the entire target time frame, the process exits.
  • the above is the content of the gazing point path designation receiving process in the case of “Time-sync”.
  • step 2111 an input operation with the electronic pen performed by the user on the dynamic 2D map is received.
  • step 2112 a cumulative value (cumulative trajectory length) of the length of the trajectory of the electronic pen from the time when the input operation of the electronic pen is accepted is calculated.
  • step 2113 the dynamic 2D map is advanced by the number of frames corresponding to the calculated cumulative trajectory length while displaying the trajectory of the input operation of the electronic pen. For example, when the cumulative trajectory length is converted by the number of pixels on the dynamic 2D map, an example in which the moving image advances by one frame per cumulative trajectory length can be considered.
  • step 2114 it is determined whether or not a gaze point has been designated for the entire set time frame. If there is an unprocessed frame, the process returns to step 2112 to repeat the process. On the other hand, if the gazing point path has been designated for the entire target time frame, the process exits.
  • the above is the content of the gazing point path designation receiving process in the case of “Pen-sync”.
  • FIG. 22A is a flowchart showing details of the camera path designation receiving process in the case of “Time-sync” and FIG. 22B in the case of “Pen-sync”. As described above, this process starts when the user presses the camera path designation button 1422.
  • step 2201 the gazing point path specified in step 1604 described above and the start point (initial gazing point) in the gazing point path are displayed on the dynamic 2D map.
  • the gazing point path is a dashed arrow 1701, and the initial gazing point is a cross 1800.
  • step 2202 an input operation with the electronic pen performed by the user on the dynamic 2D map is accepted.
  • step 2203 as in step 2102, the elapsed time from when the input operation of the electronic pen was accepted is calculated.
  • step 2204 a frame corresponding to the calculated elapsed time is displayed while displaying the path of the input operation of the accepted electronic pen so as not to be confused with the gazing point path (for example, changing the type or color of the line).
  • the dynamic 2D map is advanced for a few minutes.
  • the current position of the gazing point also moves with time.
  • the locus of the input operation with the electronic pen is displayed as a camera path.
  • the camera path is indicated by the solid arrow 1801 to distinguish it from the gaze point path indicated by the dashed arrow 1701.
  • step 2205 it is determined whether a camera path has been designated for the entire set time frame.
  • step 2203 If there is an unprocessed frame, the process returns to step 2203 to repeat the process. On the other hand, if the specification of the camera path is completed for the entire target time frame, the process is exited.
  • the above is the content of the camera path designation receiving process in the case of “Time-sync”.
  • step 2211 the gazing point path designated in step 1604 described above and the initial gazing point of the gazing point path are displayed on the dynamic 2D map.
  • step 2212 an input operation with the electronic pen performed by the user on the dynamic 2D map is received.
  • step 2213 the cumulative value (cumulative trajectory length) of the length of the trajectory of the electronic pen from the time when the input operation of the electronic pen is accepted is calculated.
  • step 2214 the trajectory of the input operation of the electronic pen is displayed so as not to be confused with the gazing point path (for example, the line type or color is changed), and the number of frames corresponding to the calculated cumulative trajectory length.
  • step 2215 it is determined whether or not the input operation with the electronic pen is stopped. For example, the position coordinates of the electronic pen are compared between the current frame and the latest frame, and if there is no change, it is determined that the input operation of the electronic pen is stopped. As a result of the determination, if the input operation of the electronic pen is stopped, the process proceeds to step 2216, and if not, the process proceeds to step 2217.
  • step 2216 it is determined whether the electronic pen input operation has been stopped for a certain period of time, for example, 5 seconds. As a result of the determination, if the stop state continues for a certain time or more, the process proceeds to step 2217. If the stop state does not continue for a certain time or more, the process returns to step 2213 to continue the process.
  • step 2217 the generation of the free viewpoint video up to the time when the input operation of the electronic pen is performed is executed without waiting for step 1505 in the flow of FIG. At this time, free viewpoint video is generated according to the camera path up to the input operation. This is to make effective use of the resource free time.
  • step 2218 it is determined whether a camera path has been designated for the entire set time frame.
  • step 2213 If there is an unprocessed frame, the process returns to step 2213 to repeat the process. On the other hand, if the specification of the camera path is completed for the entire target time frame, the process is exited.
  • the above is the content of the camera path designation receiving process in the case of “Pen-sync”.
  • FIG. 23 is a flowchart showing details of the path adjustment processing of this embodiment. As described above, this process starts when the user selects a gaze point path, a camera path, or a point on the graph 1425 on the dynamic 2D map. If the drop-down list 1426 at the time of selecting a point on the graph 1425 is “Camera”, the adjustment process is for the camera path, and if “Point ⁇ of Interest ”, the adjustment process is for the gazing point path.
  • step 2301 it is determined whether or not a user instruction has been given for a camera path or a gazing point path or a point on the graph 1425 related to the user selection.
  • a user instruction it is determined that there is a user instruction, and the process proceeds to step 2302.
  • step 2302 the process is divided according to the content of the user instruction. If the user instruction is a drag operation on the gazing point path, the process proceeds to step 2303. If the user instruction is a drag operation on the camera path, the process proceeds to step 2304. If the user instruction is a drag operation on a point on the graph 1425, the process proceeds to step 2305.
  • step 2303 the movement path of the gazing point is changed according to the movement of the gazing point path by the drag operation.
  • the path designation mode is “Time-sync”.
  • the movement path is changed along the movement destination while maintaining the start point and the end point.
  • processing such as spline interpolation is performed so that the gazing point path after the change becomes smooth.
  • the length of the gazing point path is expanded or contracted according to the movement destination.
  • step 2404 the movement path of the virtual camera is changed according to the movement of the camera path by the drag operation. Since the content is the same as the route change of the watch point path described above, the description is omitted.
  • step 2405 according to the movement of the point on the graph by the drag operation, the altitude of the virtual camera is selected if “Camera” is selected, and the altitude of the gazing point is selected if “Point of Interest” is selected. It is changed according to the position of the destination point.
  • the above is the content of the path adjustment processing according to the present embodiment.
  • pre-processing estimation of subject position and three-dimensional shape
  • the processing load is light
  • setting of a camera path and a gaze point path can be started earlier.
  • thumbnail images are not used, the screen for specifying the movement route of a virtual camera or the like is simple and the subject can be easily seen.
  • the movement path of the virtual camera or the like is designated along with the progress of the moving image, it is easy to grasp and predict the movement of the subject.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC

Abstract

仮想カメラの高度や移動速度についても任意に設定でき、かつ容易な操作で短時間に自由視点映像を得ることを目的とする。複数のカメラにより得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する情報処理装置であって、仮想視点の移動経路を特定する特定手段と、前記特定手段により特定された移動経路に応じた複数の仮想視点画像を表示画面上に表示させる表示制御手段と、前記表示画面上に表示された前記複数の仮想視点画像の少なくとも1つに対する操作を受け付ける受付手段と、前記受付手段による前記仮想視点画像に対する操作の受け付けに応じて、前記特定手段による特定済みの前記移動経路を変更する変更手段とを有する。

Description

仮想視点画像の生成に関する情報処理装置、方法及びプログラム
 本発明は、自由視点映像生成時における仮想カメラの経路を設定する技術に関する。
 複数台の実カメラで撮影した映像を用いて、3次元空間内に仮想的に配置した実際には存在しないカメラ(仮想カメラ)からの映像を生成する技術として、自由視点映像技術がある。自由視点映像を得るためには、仮想カメラの経路等を設定する必要があり、それには仮想カメラの位置(x,y,z)、回転方向(φ)、画角(θ)、注視点(xo,yo,zo)といったパラメータを時間軸(t)に沿って適切に制御する必要がある。これら多くのパラメータを適切に設定・制御するには熟練が必要で、訓練を積んだ専門家でなければ操作が困難である。この点、特許文献1には、対象となる3次元空間を上から見たときの平面図(例として美術館内の間取り図)を基に仮想カメラのパラメータを設定し、指定した位置における自由視点映像を確認する手法が開示されている。
特開2013-90257号公報
 しかしながら、上記特許文献1の手法では、平面図上での仮想カメラのパラメータ設定、当該設定に従った自由視点映像の全シーケンス確認、パラメータの修正(再設定)という一連の操作を何度も繰り返す必要があり、作業時間が長大化するという問題がある。また、この手法では、そもそも仮想カメラの高度や移動速度については設定ができず、これらのパラメータを変更した自由視点映像を得ることができない。
 本発明に係る情報処理装置は、複数のカメラにより得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する情報処理装置であって、仮想視点の移動経路を特定する特定手段と、前記特定手段により特定された移動経路に応じた複数の仮想視点画像を表示画面上に表示させる表示制御手段と、前記表示画面上に表示された前記複数の仮想視点画像の少なくとも1つに対する操作を受け付ける受付手段と、前記受付手段による前記仮想視点画像に対する操作の受け付けに応じて、前記特定手段による特定済みの前記移動経路を変更する変更手段とを有する。
 本発明によれば、仮想カメラの高度や移動速度についても任意に設定でき、かつ容易な操作で仮想視点映像を得ることができる。
 本発明の更なる特徴は、添付の図面を参照して行う以下の実施形態の説明より明らかになる。
自由視点映像システムの構成の一例を示す図である。 カメラ群を構成する各カメラの配置例を示した図である。 図3Aは、実施形態1に係る、自由視点映像生成時に用いるGUI画面の一例を示す図である。 図3Bは、実施形態1に係る、自由視点映像生成時に用いるGUI画面の一例を示す図である。 実施形態1に係る、自由視点映像を生成する処理の大まかな流れを示したフローチャートである。 実施形態1に係る、仮想カメラ設定処理の詳細を示すフローチャートである。 図6Aは被写体の位置及び3D形状が投影された静的2Dマップの一例である。 図6Bは注視点パスとカメラパスが指定された結果の一例である。 図6Cはサムネイル配置処理の結果の一例を示す図である。 サムネイル配置処理の詳細を示すフローチャートである。 図8Aは、サムネイル配置処理の過程を説明する図である。 図8Bは、サムネイル配置処理の過程を説明する図である。 図8Cは、サムネイル配置処理の過程を説明する図である。 カメラパス調整処理の詳細を示すフローチャートである。 図10Aは、カメラパス調整処理の過程を説明する図である。 図10Bは、カメラパス調整処理の過程を説明する図である。 図10Cは、カメラパス調整処理の過程を説明する図である。 図11Aはグラデーションアイコンが付加された状態を示す図である。 図11Bは各サムネイル画像、仮想カメラの移動速度、及び自由視点映像の再生時間の関係を説明する図である。 注視点パス調整処理の詳細を示すフローチャートである。 図13Aは、注視点パス調整処理の過程を説明する図である。 図13Bは、注視点パス調整処理の過程を説明する図である。 図13Cは、注視点パス調整処理の過程を説明する図である。 図13Dは、注視点パス調整処理の過程を説明する図である。 実施形態2に係る、自由視点映像生成時のGUI画面の一例を示した図である。 実施形態2に係る、自由視点映像を生成する処理の大まかな流れを示したフローチャートである。 実施形態2に係る、仮想カメラ設定処理の詳細を示すフローチャートである。 図17Aは動的2Dマップの開始フレームの一例である。 図17Bは動的2Dマップ上に注視点パスが指定される様子を時系列で示す図である。 図17Cは動的2Dマップ上に注視点パスが指定される様子を時系列で示す図である。 図17Dは動的2Dマップ上に注視点パスが指定される様子を時系列で示す図である。 図18Aは、注視点パスの指定を終えた後の動的2Dマップ上に、カメラパスを指定する様子を時系列で示す図である。 図18Bは、注視点パスの指定を終えた後の動的2Dマップ上に、カメラパスを指定する様子を時系列で示す図である。 図18Cは、注視点パスの指定を終えた後の動的2Dマップ上に、カメラパスを指定する様子を時系列で示す図である。 図19Aは、カメラパスを指定する際のモードによる違いを説明する図である。 図19Bは、カメラパスを指定する際のモードによる違いを説明する図である。 図20Aは、被写体情報を空間的に絞り込んだ一例を示す図である。 図20Bは、被写体情報を空間的に絞り込んだ一例を示す図である。 図21Aは、注視点パス指定受付処理の詳細を示すフローチャートである。 図21Bは、注視点パス指定受付処理の詳細を示すフローチャートである。 図22Aは、カメラパス指定受付処理の詳細を示すフローチャートである。 図22Bは、カメラパス指定受付処理の詳細を示すフローチャートである。 パス調整処理の詳細を示すフローチャートである。
 以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
実施形態1
 図1は、本実施形態における、自由視点映像システムの構成の一例を示す図である。図1に示す自由視点映像システムは、画像処理装置100と複数の撮像装置(カメラ群)109とで構成される。そして、画像処理装置100は、CPU101、メインメモリ102、記憶部103、入力部104、表示部105、外部I/F106を備え、各部がバス107を介して接続されている。画像処理装置は、複数の撮像装置(カメラ群)により得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する装置である。まず、CPU101は、画像処理装置100を統括的に制御する演算処理装置であり、記憶部103等に格納された各種プログラムを実行して様々な処理を行う。メインメモリ102は、各種処理で用いるデータやパラメータなどを一時的に格納するほか、CPU101に作業領域を提供する。記憶部103は、各種プログラムやGUI(グラフィカル・ユーザ・インターフェイス)表示に必要な各種データを記憶する大容量記憶装置で、例えばハードディスクやシリコンディスク等の不揮発性メモリが用いられる。入力部104は、キーボードやマウス、電子ペン、タッチパネル等の装置であり、ユーザからの操作入力を受け付ける。表示部105は、液晶パネルなどで構成され、自由視点映像生成時の仮想カメラの経路設定のためのGUI表示などを行う。外部I/F部106は、カメラ群109を構成する各カメラとLAN108を介して接続され、映像データや制御信号データの送受信を行う。バス107は上述の各部を接続し、データ転送を行う。
 カメラ群109は、LAN108経由で画像処理装置100と接続されており、画像処理装置100からの制御信号をもとに、撮影の開始や停止、カメラ設定(シャッタースピード、絞りなど)の変更、撮影した映像データの転送を行う。
 なお、システム構成については、上記以外にも、様々な構成要素が存在しうるが、その説明は省略する。
 図2は、カメラ群109を構成する各カメラの配置例を示した図である。ここでは、ラグビーを行う競技場に10台のカメラを設置したケースで説明する。ただし、カメラ群109を構成するカメラの数は10台に限らない。少なければ2~3台ということもありえるし、数百台のカメラを設置するケースもありえる。競技を行うフィールド201上に被写体202としての選手とボールが存在し、10台のカメラ203がフィールド201を取り囲むように配置されている。カメラ群109を構成する個々のカメラ203は、フィールド201全体、或いはフィールド201の注目領域が画角内に収まるように、適切なカメラの向き、焦点距離、露出制御パラメータ等を設定している。
 図3A及び図3Bは、本実施形態に係る、自由視点映像生成時に用いるGUI画面の一例を示した図である。図3Aは当該GUI画面の基本画面であり、俯瞰画像表示領域300、操作ボタン領域310、仮想カメラ設定領域320から構成される。
 俯瞰画像表示領域300は、仮想カメラの移動経路や仮想カメラが注視する先である注視点の移動経路を指定するための操作及び確認に利用される。なお、俯瞰画像表示領域300は、仮想カメラの移動経路、及び、注視点の移動経路のうち何れか一方のみの設定のために用いられても良い。例えば、仮想カメラの移動経路が俯瞰画像表示領域300を用いてユーザにより指定され、注視点の移動経路は選手等の動きに応じて自動で決定されるようにしても良い。逆に、仮想カメラの移動経路が選手等の動きに応じて自動で決定され、注視点の移動経路が俯瞰画像表示領域300を用いてユーザにより指定されるようにしても良い。操作ボタン領域310には、多視点映像データの読み込み、自由視点映像の生成対象となる多視点映像データの範囲(タイムフレーム)の設定、仮想カメラの設定を行うためのボタン311~313が存在する。また、操作ボタン領域310には、生成した自由視点映像を確認するための確認ボタン314が存在し、これが押下されることにより、図3Bに示す自由視点映像プレビューウィンドウ330に遷移する。これにより、仮想カメラから見た映像である自由視点映像(仮想視点映像)を確認することが可能になる。
 仮想カメラ設定領域320は、仮想カメラ設定ボタン313の押下に応じて表示される。そして、その領域320内には、注視点の移動経路や仮想カメラの移動経路を指定するためのボタン、指定された移動経路に従って自由視点映像の生成開始を指示するためのOKボタン321~323が存在する。また、仮想カメラ設定領域320には、仮想カメラ(Camera)及び注視点(Point of Interest)の高度や移動速度を表示する表示欄324及び325が存在し、その表示対象を切り替えるためのドロップダウンリスト326が存在する。なお、図示していないが、仮想カメラ設定領域320には、仮想カメラの撮像方向に関する情報(例えば角度情報)を表示するための表示欄を設けても良い。この場合、ドロップダウンリスト326に対するユーザ操作に応じて角度を設定することが可能である。
 図4は、自由視点映像を生成する処理の大まかな流れを示したフローチャートである。この一連の処理は、CPU101が、所定のプログラムを記憶部103から読み込んでメインメモリ102に展開し、これをCPU101が実行することで実現される。
 ステップ401では、多視点(ここでは、10台のカメラそれぞれに対応する10視点)から撮影された映像データが取得される。具体的には、ユーザが前述の多視点映像データ読み込みボタン311を押下することで、記憶部103から予め撮影された多視点映像データが読み込まれる。ただし映像データの取得タイミングはボタン311の押下に応じたタイミングに限らず、例えば、一定時間ごとに取得されるようにするなど、種々の変形例が考えられる。また、予め撮影した多視点映像データがない場合には、多視点映像データ読み込みボタン311の押下に応答して撮影を行なうことで多視点映像データを直接取得してもよい。すなわち、画像処理装置100からカメラ群109に対して、撮影時の露光条件等の撮影パラメータと撮影開始の信号をカメラ群109に送信し、各カメラで撮影された映像データをLAN108経由で直接取得してもよい。
 ステップ402では、取得した多視点映像データの撮影シーン(ここではラグビー場のフィールド)を俯瞰的に捉えた静止画の2次元画像(以下、「静的2Dマップ」と呼ぶ。)が生成される。この静的2Dマップは、取得した多視点映像データにおける任意のフレームを用いて生成される。例えば、多視点映像データのうち任意の視点(カメラ)で撮影された1の映像データの特定フレームを射影変換することでえることができる。或いは多視点映像データのうち任意の2以上の視点に対応する映像データの特定フレームをそれぞれ射影変換して得られた画像を合成することで得ることができる。さらには、撮影シーンが事前に判明している場合には、予め作成しておいた静的2Dマップを読み込むことで取得してもよい。
 ステップ403では、取得した多視点映像データのうち、自由視点映像生成の対象範囲となるタイムフレームが設定される。具体的には、ユーザは別モニタ等に表示される映像を確認しながら、前述のタイムフレーム設定ボタン312を押下して、自由視点映像を生成したい時間の範囲(開始時刻及び終了時刻)を設定する。例えば、取得された全映像データが120分あり、その開始から63分が経過した時点からの10秒間を設定する場合には、開始時刻1:03:00、終了時刻1:03:10といった具合に、対象のタイムフレームが設定される。取得した多視点映像データが60fpsで撮影されており、上記のように10秒分の映像データが対象範囲として設定された場合には、60(fps)×10(sec)×10(台)=6000フレームの静止画像データを基に、自由視点映像が生成されることになる。
 ステップ404では、設定された対象範囲に含まれる全フレームにおいて、被写体202の位置とその3次元形状(以下、3D形状)が推定される。推定の手法としては、被写体の輪郭情報を用いるVisual-hull手法や、三角測量を用いたMulti-view stereo手法などの既存の手法を用いる。推定した被写体の位置と3D形状の情報は、被写体情報として記憶部103に保存される。なお、撮影シーンに複数の被写体が存在する場合には、各被写体についてその位置と3D形状の推定がなされる。
 ステップ405では、仮想カメラの設定処理が行われる。具体的には、ユーザが前述の仮想カメラ設定ボタン313を押下することで、仮想カメラ設定領域320が表示され、ユーザは当該領域320内にあるボタン等を操作して、仮想カメラの移動経路や注視点の移動経路を設定する。この仮想カメラ設定処理の詳細に関しては、後述する。
 ステップ406では、ユーザによる前述のOKボタン323の押下に応答して、ステップ405でなされた仮想カメラに関する設定内容に基づき、自由視点映像が生成される。自由視点映像は、被写体の3D形状に対して、仮想カメラから見た映像をコンピュータグラフィックスの技術を用いることで生成することができる。
 ステップ407では、仮想カメラの設定内容を変更して新たな自由視点映像を生成するかどうかが判定される。この処理は、自由視点映像プレビューウィンドウ330に表示された自由視点映像を見て、その画質等を確認したユーザからの指示に基づいてなされる。ユーザが自由視点映像を生成し直したいと考えた場合は、仮想カメラ設定ボタン313を再び押下し、改めて仮想カメラに関する設定を行なう(ステップ405に戻る。)。仮想カメラ設定領域320において設定内容を変更して、再び「OK」ボタンが押下されると、変更後の内容で自由視点映像が生成される。一方、生成された自由視点映像に問題がなければ本処理を終える。以上が、本実施形態に係る、自由視点映像が生成されるまでの大まかな流れである。なお、本実施形態では、図1の処理は、すべて画像処理装置100により実行される例を説明したが、複数の装置によって実行されるようにしても良い。例えば、ステップ401とステップ402が第1装置により実行され、ステップ406が第2装置により実行され、それ以外の処理が第3装置により実行される、などのように、複数の装置が分担して図4に係る処理を実行するようにしても良い。このことは、本実施形態の他のフローチャートにおいても同様である。
 続いて、前述のステップ405における仮想カメラ設定処理について詳しく説明する。図5は、本実施形態に係る、仮想カメラ設定処理の詳細を示すフローチャートである。本フローは、前述の仮想カメラ設定ボタン313が押下されることで実行される。
 ステップ501では、設定されたタイムフレームにおける被写体情報と静的2Dマップが記憶部103から読み込まれる。読み込んだ被写体情報と静的2Dマップはメインメモリ102に格納される。
 ステップ502では、読み込んだ被写体情報と静的2Dマップとに基づいて、図3Aに示すGUI画面の俯瞰画像表示領域300上に、被写体の位置及び3D形状が投影された静的2Dマップが表示される。図6Aは、図2に示すフィールド201の静的2Dマップの上に、ボールを保持した選手の被写体202を投影した結果を示している。被写体202の位置と形状は、時間軸に沿って遷移するため、ユーザによって設定されたタイムフレーム内における被写体が全て投影される。この場合において、全フレーム分の全被写体を投影すると、投影結果が重なり、視認性・閲覧性が低下する。そこで、全フレームを一定の間隔(例えば5sec)でサンプリングし、所定のフレーム(図6Aの例ではt0、t1、t2、t3)における被写体のみが投影される。また、図6Aの例では、時間の経過と共に被写体が透過される(透過率が上がる)ように表示している。これによりユーザは、設定したタイムフレーム内での時間経過を一目で把握することができる。なお、本実施形態では、被写体の透過率を異ならせているが、時間の経過が分かるような表示であればよく、例えば輝度を段階的に下げるなど他の態様であってもよい。こうして得られた投影結果は、俯瞰画像表示領域300に表示される。
 ステップ503では、自由視点映像データにおける自由視点を特定する情報、すなわち、仮想カメラの向く方向である注視点が移動する経路(以下、注視点パス)と、仮想カメラが移動する経路(以下、カメラパス)がユーザによって指定される。ユーザは、仮想カメラ設定領域320内の注視点パス指定ボタン321又はカメラパス指定ボタン322を押下した後、俯瞰画像表示領域300内の静的2Dマップ上に、指、マウス、電子ペン等で軌跡を描く。これにより、注視点パス及びカメラパスがそれぞれ指定される。図6Bは、注視点パスとカメラパスが指定された結果を示している。図6Bにおいて、破線の矢印601が注視点パス、実線の矢印602がカメラパスである。つまり、生成される自由視点映像は、仮想カメラの注視点が破線矢印601の示す曲線上を移動しつつ、仮想カメラ自体は実線矢印602の示す曲線上を移動した場合の仮想的な映像となる。この場合において、注視点及び仮想カメラの、フィールド201からの高度はそれぞれデフォルト値が設定される。例えば、撮影シーンが図2に示すようなラグビーの試合であれば、デフォルト値には、被写体である選手全体が仮想カメラの画角内に収まるよう、注視点の高度が1.5m、仮想カメラの高度が10mといった具合に設定される。なお、本実施形態では、仮想カメラや注視点の高さをそれぞれユーザがそれぞれ自由に指定できることを想定しているが、注視点の高さを固定値にして、仮想カメラの高さのみをユーザが指定できるようにしたり、仮想カメラの高さを固定値にして、注視点の高さのみをユーザが指定できるようにしたりしても良い。また、デフォルト値をユーザが任意に変更できるようにすれば、競技やイベントの種類に応じて適切な値を設定できるようになり、ユーザの利便性が向上する。また、注視点と仮想カメラ位置のいずれか一方を固定にしておいて、ステップ503では他方のみがユーザによって指定されるようにしてもよい。また、例えば、注視点パスとカメラパスのいずれか一方のみをユーザが指定すると、他方が自動で決定されるような構成を採用することも可能である。また、注視点及び仮想カメラの移動速度は、指定された移動経路の移動距離を、図4のフローのステップ402で設定されたタイムフレームで割った値が設定される。
 ステップ504では、設定されたカメラパスに沿って、時間軸方向に一定の間隔で仮想カメラから見た場合の静止画像(サムネイル画像)が生成される。本ステップにおける「一定の間隔」は、上述のステップ502における「一定の間隔」と同じであってもよいし、異なる間隔であってもよい。また、サムネイル画像は、自由視点映像の出来上がりを予測し、注視点パスやカメラパスの修正等の参考にするもので、その目的が達成可能な程度の解像度(相対的に低い解像度)が設定される。これにより処理負荷が軽くなり、高速な処理が可能になる。
 ステップ505では、生成したサムネイル画像を、被写体202が投影された静的2Dマップに描かれたカメラパスに沿って配置する処理(サムネイル配置処理)がなされる。すなわち、ステップ505において、画像処理装置100は、カメラパス及び注視点パスの少なくとも何れかに応じた複数の仮想視点画像を表示画面上に表示させる。サムネイル配置処理の詳細に関しては後述する。図6Cは、サムネイル配置処理の結果の一例を示す図であり、指定されたカメラパス602に沿って5つのサムネイル画像603が配置されている。このようにして俯瞰画像表示領域300には、静的2Dマップ上に描かれたカメラパスに沿って一定間隔で複数のサムネイル画像が並んだ状態が表示されることになる。そして、サムネイル画像をカメラパス(=時間軸)に沿って閲覧することで、ユーザはどのような自由視点映像が生成されるかを瞬時に理解することができる。その結果、前述の図4のフローにおけるステップ404~ステップ406の繰り返し回数の大幅な削減に繋がる。
 以降のステップ506~508は、カメラパス又は注視点パスの調整を行う場合の処理である。ユーザがサムネイル画像から推測される自由視点映像に満足できず、調整を行いたいと考えた場合には、俯瞰画像表示領域300上に表示された複数のサムネイル画像のいずれか又は注視点パス上のいずれかの位置を選択する。本実施形態の場合、例えば指等で任意のサムネイル画像603のいずれか又は注視点パスを表す破線矢印601の任意の箇所をタッチすることでこの選択がなされる。
 ステップ506では、ユーザが何らかの選択を行ったかどうかが判定される。すなわち、ステップ506において、画像処理装置100は、表示画面上に表示された複数の仮想視点画像の少なくとも1つに対するユーザ操作を受け付ける。ユーザによってサムネイル画像が選択された場合にはステップ507へ進み、注視点パス上の任意の箇所が選択された場合にはステップ508に進む。一方、いずれの選択もされずにOKボタン323が押下された場合には、本処理を抜け、自由視点映像の生成処理(図4のフローのステップ405)に移行することになる。
 ステップ507では、選択されたサムネイル画像に対するユーザ指示に従って、仮想カメラの移動経路、高度、移動速度を調整する処理(カメラパス調整処理)が実行される。すなわち、ステップ507において、画像処理装置100は、サムネイル画像(仮想視点画像)に対する操作の受け付けに応じて、カメラパスを変更する。カメラパス調整処理の詳細に関しては後述する。
 ステップ508では、注視点パス上の選択箇所を示すマーク(本実施形態では×印)に対するユーザ指示に従って、注視点の移動経路、高度、移動速度を調整する処理(注視点パス調整処理)が実行される。注視点パス調整処理の詳細に関しては後述する。以上が、仮想カメラ設定処理の内容である。
 図7は、サムネイル配置処理(ステップ505)の詳細を示すフローチャートである。まず、ステップ701では、時間軸方向に一定間隔でサンプリングして生成したサムネイル画像が、ステップ503で設定されたカメラパスに沿って配置される。そして、ステップ702では、サムネイル画像同士の間隔が適正化される。具体的には、一定間隔で配置された結果に対して、サムネイル画像同士が密集し重なりが生じている箇所については、重ならないように間引く処理がなされる。さらに、カメラパスの始点や終点、並びにカメラパスの変化が大きい変曲点について、新たにサムネイル画像を生成し追加する処理がなされる。そして、ステップ703では、間隔が適正化された各サムネイル画像と、投影されている被写体(投影被写体)とが重ならないように、サムネイル画像の位置をずらす補正処理がなされる。これにより、各投影被写体の視認性が確保され、ユーザはその後の編集作業を円滑に進めることができる。
 図8A~図8Cは、サムネイル配置処理の過程を説明する図である。図8Aはステップ701の結果であり、生成されたサムネイル画像801のすべてがカメラパスに沿って一定間隔で配置された結果、ほとんどのサムネイル画像が他のサムネイル画像と重なった状態になっている。図8Bはステップ702の結果であり、カメラパスの終点に新たなサムネイル画像802が追加された上で、サムネイル画像同士の重なりが解消されている。ただし、t1~t3にかけて投影被写体やカメラパスと一部のサムネイル画像とが重なった状態となっている。図8Cはステップ703の結果であり、投影被写体やカメラパスと重なっていたサムネイル画像が移動し、すべての投影被写体とサムネイル画像の視認性が確保された状態となっている。以上が、サムネイル配置処理の内容である。
 続いて、カメラパス調整処理について説明する。図9は、カメラパス調整処理の詳細を示すフローチャートである。前述の通り、本処理は、ユーザが仮想カメラの位置や高度を変更したい箇所のサムネイル画像を選択することで開始する。図10A~図10Cは、カメラパス調整処理の過程を説明する図である。図10Aに示すように、ユーザが選択したサムネイル画像1001は、例えば太枠で強調表示される。また、このときドロップダウンリスト326で「Camera」を選択しておくことで、選択に係るサムネイル画像に対応する位置の、注目フレームにおける仮想カメラの高度と移動速度が、表示欄324及び325にそれぞれ表示される。もちろん、注目フレームだけではなく、自由視点映像を生成するタイムフレーム全体について、仮想カメラの高度と移動速度を表やグラフ等で表示してもよい。また、設定できる仮想カメラのパラメータは高度や移動速度に限定されない。例えば、カメラの画角などを表示してもよい。この状態から、カメラパス調整処理が開始する。
 ステップ901では、強調表示されたユーザ選択に係るサムネイル画像(以下、「選択サムネイル」と呼ぶ。)に対する、ユーザ指示がなされたかどうかが判定される。本実施形態では、ユーザ自身の指を使ったタッチ操作が検知されると、ユーザ指示があったと判断され、ステップ902に進む。
 ステップ902では、ユーザ指示の内容に応じた処理の切り分けがなされる。ユーザ指示が、選択サムネイルに対する1本指でのドラッグ操作であればステップ903に、2本指でのピンチ操作であればステップ904に、2本指でのスワイプ操作であればステップ905にそれぞれ進む。
 ステップ903では、1本指のドラッグ操作による選択サムネイルの移動に応じて、仮想カメラの移動経路を変更する。図10Bは、選択サムネイル1001がドラッグ操作によって1001’の位置に移動された結果に応じて仮想カメラの移動経路が変更される様子を示す図である。図10Aにおいて実線矢印1010のような軌跡を示していたカメラパスが、図10Bでは実線矢印1020のような異なる軌跡のカメラパスへと変更されているのが分かる。なお、選択中のサムネイル画像と隣接するサムネイル画像との間のカメラパスは、スプライン曲線等で補間される。
 ステップ904では、2本指のピンチ操作(2本指で間隔を広くする、または狭める)による選択サムネイルのサイズ変化に応じて、仮想カメラの高度を変更する。図10Cには、ピンチ操作によってサイズが拡大された選択サムネイル1002が示されている。ピンチ操作により、選択サムネイルのサイズが拡大または縮小するので、例えばサイズが大きくなるのに伴って高度が低く、サイズが小さくなるのに伴って高度が高くなるようにする。もちろん、サムネイル画像サイズの大小と仮想カメラの高度との関係は逆でもよく、例えばサイズが大きくなるのに伴って高度が高くなるようにしてもよい。すなわち、選択サムネイルのサイズと、その位置における仮想カメラの高度が連動するようになっていればよい。このとき、サイズ変化に応じた仮想カメラの高度を示す数値が、ドロップダウンリスト326で「Camera」を選択しておくことで、表示欄324に表示される。なお、選択中のサムネイル画像と隣接するサムネイル画像との間のカメラパスは、スプライン補間等で修整される。
 ステップ905では、2本指のスワイプ操作による選択サムネイルへの所定のアイコンの付加に応じて、仮想カメラの移動速度を変更する。図11Aは、開始時刻から数えて4つ目の選択サムネイルへの2本指のスワイプ操作によって、濃度が段階的に変化するグラデーションアイコン1100が付加された状態を示す図である。このとき、グラデーションアイコン1100の形状と移動速度との間に相関を持たせるようにする。例えば、グラデーションアイコン1100の長さが長い程、移動速度が速く、グラデーションアイコンの長さが短い程、移動速度が遅い、といった具合である。このように、選択サムネイルへの付加アイコンの形状が、その位置における仮想カメラの移動速度を表すようにする。また、付加アイコンの形状変化に応じた仮想カメラの移動速度を示す数値が、ドロップダウンリスト326で「Camera」を選択しておくことで、表示欄325に表示される。図11Bは、各サムネイル画像、仮想カメラの移動速度、及び自由視点映像の再生時間との関係を説明する図であり、上段は移動速度の変更前、下段は移動速度の変更後の状態を表している。そして、丸印は図11Aにおける5つのサムネイル画像を表し、上段における各サムネイル画像は、設定されたタイムフレームの再生時間を均等に分割した時刻にそれぞれ対応している。ここでは、開始時刻から4つ目のサムネイル画像が選択されて移動速度が調整された例を示している。いま、選択サムネイルに対してスワイプ操作を行って仮想カメラの移動速度を上げたとする。この場合、図11Bの下段の太線矢印1101に示すように、選択中の4つ目のサムネイル画像とその未来に当たる左隣のサムネイル画像との間の再生時間が短縮される。この結果、両サムネイル画像間に相当するフレームにおける被写体の動きも再生時間に合わせて速くなる。また、最終的に出来上がる自由視点映像全体の再生時間もその分だけ短縮される。これとは逆に、選択サムネイルの移動速度を下げた場合は、再生時間がその分だけ延びることになる。さらにこの時、両サムネイル画像間に相当する仮想カメラの移動速度と注視点の移動速度が異なるため、対応する注視点の移動速度を自動的に修整することで、自由視点映像全体の再生時間を一致させてもよい。或いは、後述のステップ1205において注視点の移動速度を変更した後に、仮想カメラの移動速度か注視点の移動速度のどちらかを修整してもよい。
 ステップ906では、上記のような変更後の内容で、各サムネイル画像が更新される。以上が、カメラパス調整処理の内容である。なお、本実施形態では、ユーザ指示を、ユーザ自身の指を使ったタッチ操作の種類によって処理を切り分けているが、電子ペンやマウスによる場合には、例えば「Ctrl」キーや「Shift」キーを押しながらの操作であるかどうかによって処理を切り分ければよい。
 次に、注視点パス調整処理について説明する。図12は、注視点パス調整処理の詳細を示すフローチャートである。前述の通り、本処理は、ユーザがその位置や高度を変更したい注視点パス上の任意の箇所を選択することで開始する。図13A~図13Dは、注視点パス調整処理の過程を説明する図である。図13Aに示すように、ユーザ選択に係る注視点パス上の任意の箇所(選択箇所)は、例えば太線の×印1301で強調表示される。また、このときドロップダウンリスト326で「Point of Interest」を選択しておくことで、選択箇所に対応する位置の注視点の高度と移動速度が、表示欄324及び325にそれぞれ表示される。この状態から、注視点パス調整処理が開始する。
 ステップ1201では、注視点パス上の選択箇所を示す×印1301に対して、ユーザ指示がなされたかどうかが判定される。本実施形態では、ユーザ自身の指を使ったタッチ操作が検知されると、ユーザ指示があったと判断され、ステップ1202に進む。
 ステップ1202では、ユーザ指示の内容に応じた処理の切り分けがなされる。ユーザ指示が、選択箇所を示す×印1301に対する1本指でのドラッグ操作であればステップ1203に、2本指でのピンチ操作であればステップ1204に、2本指でのスワイプ操作であればステップ1205にそれぞれ進む。
 ステップ1203では、1本指のドラッグ操作による×印1301の移動に応じて、注視点の移動経路を変更する。図13Bは、×印1301がドラッグ操作によって1301’の位置に移動された結果に応じて、注視点の移動経路が変更される様子を示す図である。図13Aにおいて破線矢印1300のような軌跡を示していた注視点パスが、図13Bでは破線矢印1300’のような異なる軌跡の注視点パスへと変更されているのが分かる。なお、選択中のサムネイル画像と隣接するサムネイル画像との間の注視点パスは、スプライン曲線等で補間される。
 ステップ1204では、2本指のピンチ操作による×印1301のサイズ変化に応じて、注視点の高度を変更する。図13Cには、ピンチ操作によってサイズが拡大された×印1301”が示されている。ピンチ操作により、選択サムネイルのサイズが拡大または縮小するので、例えばサイズが大きくなるのに伴って高度が低く、サイズが小さくなるのに伴って高度が高くなるようにする。もちろん、×印のサイズの大小と注視点の高度との関係は逆でもよく、例えばサイズが大きくなるのに伴って高度が高くなるようにしてもよい。すなわち、選択箇所を示す×印のサイズと、その位置における注視点の高度が連動するようになっていればよい。このとき、サイズ変化に応じた注視点の高度を示す数値が、ドロップダウンリスト326で「Point of Interest」を選択しておくことで、表示欄324に表示される。このとき、高度変化が急激にならないよう、選択箇所を挟む所定範囲内の注視点パスの高度も、スプライン補間等で修整される。
 ステップ1205では、2本指のスワイプ操作による×印1301への所定アイコンの付加に応じて、注視点の移動速度を変更する。図13Dは、×印1301への2本指のスワイプ操作によって、濃度が段階的に変化するグラデーションアイコン1310が付加された状態を示す図である。このとき、グラデーションアイコン1310の形状と移動速度との間に相関を持たせるようにする。例えば、グラデーションアイコン1310の長さが長い程、移動速度が速く、グラデーションアイコンの長さが短い程、移動速度が遅い、といった具合である。このように、選択箇所を示すマーク(ここでは×印)への付加アイコンの形状が、その位置における注視点の移動速度を表すようにする。また、付加アイコンの形状変化に応じた注視点の移動速度を示す数値が、ドロップダウンリスト326で「Point of Interest」を選択しておくことで、表示欄325に表示される。
 ステップ1206では、上記のような変更後の内容で、注視点パスが更新される。以上が、注視点パス調整処理の内容である。
 以上のとおり本実施形態によれば、視覚的に分かりやすく、簡単かつ短時間での仮想カメラパス設定が可能となる。また、従来困難であった、2次元画像上での仮想カメラの高度や移動速度の設定も可能となる。すなわち、本実施形態によれば、仮想カメラの高度や移動速度についても任意に設定でき、かつ容易な操作で短時間に自由視点映像を得ることができる。
実施形態2
 実施形態1のGUI画面は、静止画による2次元画像上に仮想カメラの移動経路等を指定する態様であった。次に、動画による2次元画像上で仮想カメラの移動経路等を指定する態様について、実施形態2として説明する。なお、画像処理装置100の基本構成など実施形態1と共通する部分は説明を省略し、以下では差異点である、動画の2次元画像を用いた仮想カメラの設定処理を中心に説明するものとする。
 図14は、本実施形態に係る、自由視点映像生成時に用いるGUI画面の一例を示した図である。図14は本実施形態に係るGUI画面の基本画面であり、俯瞰画像表示領域1400、操作ボタン領域1410、仮想カメラ設定領域1420から構成される。なお、本実施形態では、注視点パスやカメラパスの指定といった入力操作が電子ペンによって行なわれるものとして、説明を行うものとする。
 俯瞰画像表示領域1400は、仮想カメラの移動経路や注視点の移動経路を指定する操作・確認に利用され、撮影シーンを俯瞰的に捉えた動画の2次元画像(以下、「動的2Dマップ」と呼ぶ。)が表示される。そして、俯瞰画像表示領域1400内には、対象タイムフレームに対応する動的2Dマップの再生・停止、進行状況を表示するプログレスバー1401や、動的2Dマップの再生速度を調整するための調整バー1402が存在する。さらに、仮想カメラの移動経路や注視点の移動経路等を指定する際のモードを表示するモード表示欄1403も存在する。ここで、モードには、“Time-sync”と“Pen-sync”の2種類がある。“Time-sync”は、動的2Dマップの再生が進むに従って、仮想カメラや注視点の移動経路を入力するモードである。“Pen-sync”は、電子ペン等で入力された移動経路の長さに比例して動的2Dマップの再生が進むモードである。
 操作ボタン領域1410には、多視点映像データの読み込み、自由視点映像生成の対象タイムフレームの設定、仮想カメラの設定を行うためのボタン1411~1413が存在する。また、操作ボタン領域1410には、生成した自由視点映像を確認するための確認ボタン1414が存在し、これが押下されることにより、自由視点映像プレビューウィンドウ(実施形態1の図3Bを参照)に遷移する。これにより、仮想カメラから見た映像である自由視点映像を確認することが可能になる。
 仮想カメラ設定領域1420は、仮想カメラ設定ボタン1413の押下に応じて表示される。そして、その領域1420内には、注視点や仮想カメラの移動経路を指定するためのボタン、移動経路を指定する際のモード指定を行うためのボタン、指定された移動経路に従って自由視点映像の生成開始を指示するためのOKボタン1421~1424が存在する。また、仮想カメラ設定領域1420には、仮想カメラ(Camera)及び注視点(Point of Interest)の高度と移動速度を表示するグラフ1425と、その表示対象を切り替えるためのドロップダウンリスト1426が存在する。グラフ1425は、縦軸が高度、横軸がフレーム数を表し、各点は設定タイムフレームを所定数で分割したときの各時点(ここではt0~t5)を示している。この場合において、t0は開始フレームに対応し、t5は最終フレームに対応している。仮に、開始時刻1:03:00、終了時刻1:03:25のように25秒分の対象タイムフレームが設定されたとする。多視点映像データが60fpsであれば、60(fps)×25(sec)=1500フレームが、このときの動的2Dマップの全フレーム数となる。ユーザは、グラフ1425上の各点を電子ペンで選択して上下方向に移動させることで、対象タイムフレームにおける任意の時点の仮想カメラや注視点の高度を変更することができる。
 図15は、本実施形態に係る、自由視点映像を生成する処理の大まかな流れを示したフローチャートである。以下、実施形態1の図4のフローとの違いを中心に説明を行う。
 ステップ1501で多視点映像データが取得されると、続くステップ1502では、取得した多視点映像データのうち、自由視点映像生成の対象タイムフレーム(開始時刻及び終了時刻)が設定される。動的2Dマップは、対象タイムフレームに対応する撮影シーンを俯瞰的に見た場合の2次元動画であるため、対象タイムフレームの設定を待って生成されることになる。
 ステップ1503では、設定されたタイムフレームに対応する動的2Dマップが生成し、記憶部103に保存する。具体的な動的2Dマップ作成方法としては、多視点映像データのうち任意の1の視点に対応する映像データの設定されたタイムフレームにおける映像を射影変換する。或いは多視点映像データのうち任意の2以上の視点に対応する映像データの設定されたタイムフレームにおける映像をそれぞれ射影変換し、得られた複数の映像データを合成することでも得ることができる。この場合、後者の方が被写体形状のつぶれ等が抑制され高画質となるが、その分だけ処理負荷が重くなる。前者であれば画質が劣るものの処理負荷が軽いためより高速な処理が可能となる。
 ステップ1504~ステップ1506は、実施形態1の図4のフローにおけるステップ405~ステップ407にそれぞれ対応する。ただし、後述の通り、ステップ1504における仮想カメラ設定処理の中身は、使用する2Dマップが静止画ではなく動画であることから、以下に述べるとおり異なる箇所が多く存在する。
 以上が、本実施形態における自由視点映像が生成されるまでの大まかな流れである。
 続いて、上述の動的2Dマップを使用した仮想カメラ設定処理について説明する。図16は、本実施形態に係る、仮想カメラ設定処理の詳細を示すフローチャートである。本フローは、前述の仮想カメラ設定ボタン1413が押下されることで実行される。
 ステップ1601では、設定されたタイムフレームのどう敵2Dマップが記憶部103から読み込まれる。読み込んだ動的2Dマップはメインメモリ102に格納される。
 ステップ1602では、読み込んだ動的2Dマップの開始フレーム(t0時点のフレーム)が、図14に示すGUI画面の俯瞰画像表示領域1400上に表示される。図17Aは、動的2Dマップの開始フレームの一例である。本実施形態では、ユーザによって設定されたタイムフレームを一定の間隔(例えば5sec)でサンプリングした箇所(t0~t5)のうち、現在再生中の時点から所定の時点までのフレームを重ねて表示する。図17Aの例では、開始フレームから15sec分に相当するt0~t3までのフレームが重ねて表示されている。この際、現在から遠いフレームにおける被写体ほど透過する(透過率が上がる)ように表示する点は、実施形態1と同じである。これによりユーザは、設定したタイムフレーム内での時間経過を一目で把握することができ、さらに表示範囲を時間的に限定することで閲覧性が向上する。
 ステップ1603では、注視点パスやカメラパスを指定する際のモードのユーザ選択を受け付け、“Time-sync”又は“Pen-sync”のいずれかが設定される。設定された内容は、俯瞰画像表示領域1400内のMode表示欄1403に表示される。なお、ユーザ選択がなければ、デフォルト設定の内容(例えば“Time-sync”)で次の処理に移行するようにしてもよい。
 ステップ1604では、注視点パスの指定を受け付ける処理(注視点パス指定受付処理)がなされる。ユーザは電子ペンを用いて、仮想カメラ設定領域1420内の注視点パス指定ボタン1421を押下した後、俯瞰画像表示領域1400内の動的2Dマップ上に軌跡を描く。これにより注視点パスが指定される。図17B~図17Dは、図17Aに示す動的2Dマップ上に注視点パスが指定される様子を時系列で示す図であり、破線の矢印1701が指定された注視点パスである。図17Bは現在がt0の時点、図17Cは現在がt1の時点、図17Dは現在がt2の時点における動的2Dマップの状態をそれぞれ表している。例えば図17Cでは、現在がt1の時点であるので、過去になったt0時点の被写体(フレーム)が表示されなくなる代わりに、t4時点の被写体(フレーム)が表示されている。このように表示する被写体の範囲を時間的に限定することで閲覧性を向上させることができる。なお、設定されたタイムフレームが短時間である場合等の一定の条件下で、時間的な限定を行うことなく、設定されたタイムフレーム間の全フレームを表示するようにしてもよい。この場合、過去分のフレームについても被写体を透過させる等の処理を行って、時間の経過をユーザが把握できるようにしてもよい。注視点パス指定受付処理は、ステップ1603で指定されたモードによってその内容が異なる。モードに応じた注視点パス指定受付処理の詳細については後述する。
 ステップ1605では、カメラパスの指定を受け付ける処理(カメラパス指定受付処理)がなされる。上述の注視点パスと同様、ユーザは電子ペンを用いて、仮想カメラ設定領域1420内のカメラパス指定ボタン1422を押下した後、俯瞰画像表示領域1400内の動的2Dマップ上に軌跡を描く。これによりカメラパスが指定される。図18A~図18Cは、注視点パスの指定を終えた後の動的2Dマップ上(図17Dを参照)に、カメラパスを指定する様子を時系列で示す図である。図18A~図18Cにおいて、×印1800は指定された注視点パス1701上の注視点の現在位置を示し、実線の矢印1801は指定されたカメラパスを示している。図18Aは現在がt0の時点、図18Bは現在がt1の時点、図18Cは現在がt2の時点における動的2Dマップの状態をそれぞれ表している。例えば図18Bでは、現在がt1の時点であるので、t0時点の被写体(フレーム)が表示されなくなる代わりに、t4時点の被写体(フレーム)が表示されている。カメラパス指定受付処理の内容も、ステップ1603で指定されたモードによってその内容が異なる。モードに応じたカメラパス指定受付処理の詳細については後述する。
 ステップ1606では、ユーザが調整のための何らかの選択を行ったかどうかが判定される。ユーザによって、動的2Dマップ上の注視点パス又はカメラパス、或いはグラフ1425上の点が選択された場合には、ステップ1607へ進む。一方、いずれの選択もされずにOKボタン1424が押下された場合には、本処理を抜け、自由視点映像の生成処理(図15のフローのステップ1505)に移行することになる。
 ステップ1607では、選択された注視点パス又はカメラパスに対する入力操作に従って、仮想カメラの移動経路、高度、及び移動速度を調整する処理(パス調整処理)が実行される。パス調整処理の詳細に関しては後述する。
 続いて、注視点パス指定受付処理(ステップ1604)及び、カメラパス指定受付処理(ステップ1605)について説明する。各処理の詳細に入る前に、カメラパスを指定する際のモードによる違いを、図19A及び図19Bを参照して説明する。図19Aは“Time-sync”モード、図19Bは“Pen-sync”モードの場合をそれぞれ示している。図19A及び図19Bにおいて、実線の矢印1901及び1902が指定された移動経路をそれぞれ示している。図19Aに示す“Time-sync”では、動的2Dマップが5秒進行する間にユーザが電子ペンを操作した軌跡がパス1901となる。これに対し、図19Bに示す“Pen-sync”では、ユーザが電子ペンを操作して描いた軌跡(=パス1902)の長さが5秒分であることを意味する。なお、図19A及び図19Bでは、説明の便宜上、異なる時間軸の被写体を省略しているが、前述の通り、実際のGUI画面では例えば透過率を変えるなどして異なる時間軸の被写体も表示される。また、カメラパスの指定を受け付ける際、例えば図20A及び図20Bに示すように、現在位置の注視点を中心とした所定範囲内(その注視点の周辺のみ)を表示するようにして、表示する被写体を空間的に絞り込んでもよい。図20Aは空間的な絞込みを行う前の俯瞰図(動的2Dマップにおける1フレーム)の一例であり、図20Bは空間的な絞込みを行なった俯瞰図の一例である。このように、注視点から離れた場所にいる被写体を不可視の状態にすることで閲覧性を向上させることができる。
 図21Aは“Time-sync”の場合、図21Bは“Pen-sync”の場合の、注視点パス指定受付処理の詳細を示すフローチャートである。前述の通り、本処理はユーザが注視点パス指定ボタン1421を押下することで開始する。
 まず、“Time-sync”の場合について、図21Aのフローに沿って説明する。ステップ2101では、動的2Dマップ上でユーザが行った電子ペンによる入力操作を受け付ける。ステップ2102では、電子ペンの入力操作を受け付けた時点からの経過時間が、画像処理装置内100が備えるタイマ(不図示)に基づき算出される。ステップ2103では、ユーザによる電子ペンの入力操作の軌跡を表示しながら(前述の図17C及び図17Dの例では破線矢印)、算出された経過時間に相当するフレーム数分、動的2Dマップが進められる。この時、調整バー1402を調整することで、算出された経過時間に対して、どの程度動的2Dマップを進めるか調整できる。例えば、調整バー1402によって、再生速度を半分にすると、算出された電子ペン入力の経過時間5秒に対して、動画を2.5秒進めるようなスロー再生ができる。こうして動的2Dマップ上に表示された電子ペンでの入力操作の軌跡が注視点パスとなる。ステップ2104では、設定されたタイムフレーム全体について注視点パスの指定がなされたかどうかが判定される。未処理のフレームがあれば、ステップ2102に戻って処理を繰り返す。一方、対象タイムフレーム全体について注視点パスの指定が完了していれば、本処理を抜ける。以上が、“Time-sync”の場合の注視点パス指定受付処理の内容である。
 続いて、“Pen-sync”の場合について、図21Bのフローに沿って説明する。ステップ2111では、動的2Dマップ上でユーザが行った電子ペンによる入力操作を受け付ける。ステップ2112では、電子ペンの入力操作を受け付けた時点からの、電子ペンの軌跡の長さの累積値(累積軌跡長)が算出される。ステップ2113では、電子ペンの入力操作の軌跡を表示しながら、算出された累積軌跡長に相当するフレーム数分、動的2Dマップが進められる。例えば、累積軌跡長を動的2Dマップ上の画素数で換算する場合、累積軌跡長1画素につき1フレーム分動画が進む例が考えられる。またこの時、調整バー1402を調整することで、再生速度を半分にすると、累積軌跡長2画素につき、動画を1フレーム進めるようなスロー再生ができる。ステップ2114では、設定されたタイムフレーム全体について注視点パスの指定がなされたかどうかが判定される。未処理のフレームがあれば、ステップ2112に戻って処理を繰り返す。一方、対象タイムフレーム全体について注視点パスの指定が完了していれば、本処理を抜ける。以上が、“Pen-sync”の場合の注視点パス指定受付処理の内容である。
 図22Aは “Time-sync”の場合の、図22Bは“Pen-sync”の場合の、カメラパス指定受付処理の詳細を示すフローチャートである。前述の通り、本処理はユーザがカメラパス指定ボタン1422を押下することで開始する。
 まず、“Time-sync”の場合について、図22Aのフローに沿って説明する。ステップ2201では、動的2Dマップ上に前述のステップ1604で指定された注視点パスと当該注視点パスにおける開始点(初期注視点)が表示される。図18A~図18Cの例では、注視点パスが破線矢印1701、初期注視点が×印1800である。ステップ2202では、動的2Dマップ上でユーザが行った電子ペンによる入力操作を受け付ける。ステップ2203では、前述のステップ2102と同様、電子ペンの入力操作を受け付けた時点からの経過時間が算出される。ステップ2204では、受け付けた電子ペンの入力操作の軌跡を、注視点パスとの混同が生じないように表示しながら(例えば線の種類や色を変える等)、算出された経過時間に相当するフレーム数分、動的2Dマップが進められる。この際、注視点の現在位置も時間の経過に合わせて移動する。このようにして、電子ペンでの入力操作の軌跡がカメラパスとして表示される。前述の図18B及び図18Cの例では、カメラパスを実線矢印1801で示すことで、破線矢印1701で示す注視点パスと区別している。ステップ2205では、設定されたタイムフレーム全体についてカメラパスの指定がなされたかどうかが判定される。未処理のフレームがあれば、ステップ2203に戻って処理を繰り返す。一方、対象タイムフレーム全体についてカメラパスの指定が完了していれば、本処理を抜ける。以上が、“Time-sync”の場合のカメラパス指定受付処理の内容である。
 続いて、“Pen-sync”の場合について、図22Bのフローに沿って説明する。ステップ2211では、動的2Dマップ上に前述のステップ1604で指定された注視点パスと当該注視点パスの初期注視点が表示される。ステップ2212では、動的2Dマップ上でユーザが行った電子ペンによる入力操作を受け付ける。ステップ2213では、電子ペンの入力操作を受け付けた時点からの、電子ペンの軌跡の長さの累積値(累積軌跡長)が算出される。ステップ2214では、電子ペンの入力操作の軌跡を、注視点パスとの混同が生じないように表示(例えば線の種類や色を変える等)しながら、算出された累積軌跡長に相当するフレーム数分、動的2Dマップが進められる。この際、注視点の現在位置も動的2Dマップの進みに合わせて移動する。このようにして電子ペンでの入力操作の軌跡がカメラパスとして表示される。ステップ2215では、電子ペンによる入力操作が停止しているかどうかが判定される。例えば、電子ペンの位置座標を現フレームと直近フレームとで比較し、変化がなければ電子ペンの入力操作が停止していると判定する。判定の結果、電子ペンの入力操作が停止している場合はステップ2216に進み、停止していない場合はステップ2217に進む。ステップ2216では、電子ペンの入力操作の停止状態が、例えば5secなど一定時間以上継続しているかどうかが判定される。判定の結果、停止状態が一定時間以上継続している場合はステップ2217に進み、停止状態が一定時間以上継続していない場合はステップ2213に戻って処理を続行する。ステップ2217では、電子ペンの入力操作がなされた時点までの自由視点映像の生成が、図15のフローのステップ1505を待たずに実行される。この際には、入力操作が済んだ分までのカメラパスに従って自由視点映像の生成が行われる。リソースの空き時間を有効活用するためである。ステップ2218では、設定されたタイムフレーム全体についてカメラパスの指定がなされたかどうかが判定される。未処理のフレームがあれば、ステップ2213に戻って処理を繰り返す。一方、対象タイムフレーム全体についてカメラパスの指定が完了していれば、本処理を抜ける。以上が、“Pen-sync”の場合のカメラパス指定受付処理の内容である。
 続いて、本実施形態に係るパス調整処理について説明する。図23は、本実施形態のパス調整処理の詳細を示すフローチャートである。前述の通り本処理は、ユーザが、動的2Dマップ上の注視点パス又はカメラパス、或いはグラフ1425上の点を選択することで開始する。グラフ1425上の点を選択した際のドロップダウンリスト1426が「Camera」であればカメラパスについて、「Point of Interest」であれば注視点パスについての調整処理となる。
 ステップ2301では、ユーザ選択に係るカメラパス又は注視点パス或いはグラフ1425上の点に対する、ユーザ指示がなされたかどうかが判定される。本実施形態では、電子ペンによる入力操作が検知されると、ユーザ指示があったと判断され、ステップ2302に進む。
 ステップ2302では、ユーザ指示の内容に応じた処理の切り分けがなされる。ユーザ指示が、注視点パスに対するドラッグ操作であればステップ2303に、カメラパスに対するドラッグ操作であればステップ2304に、グラフ1425上の点に対するドラッグ操作であればステップ2305にそれぞれ進む。
 ステップ2303では、ドラッグ操作による注視点パスの移動に応じて、注視点の移動経路を変更する。ここで、パス指定のモードが“Time-sync”であったとする。この場合において、ユーザが注視点パス上の任意の中間点を選択していた場合には、その開始点と終了点を維持したまま、移動先に沿って移動経路が変更される。この際、変更後の注視点パスが滑らかになるようにスプライン補間等の処理がなされる。一方、ユーザが注視点パスの開始点又は終了点を選択していた場合には、移動先に応じて、注視点パスの長さが伸縮される。このとき、注視点パスの長さが伸びるケースでは注視点の移動速度が速くなることを意味し、逆に長さが短くなるケースでは注視点の移動速度が遅くなることを意味する。パス指定のモードが“Pen-sync”の場合も基本的には同じであるが、注視点パスの長さを変更するような調整はできない。“Pen-sync”においてはパスの長さ=再生時間だからである。“Pen-sync”の場合における注視点の移動速度の調整は、動的2Dマップの再生速度を調整するための調整バー1402によって行うことになる。
 ステップ2404では、ドラッグ操作によるカメラパスの移動に応じて、仮想カメラの移動経路を変更する。その内容は、前述の注視点パスの経路変更と同じであるので説明を省略する。ステップ2405では、ドラッグ操作によるグラフ上の点の移動に応じて、「Camera」を選択中であれば仮想カメラの高度が、「Point of Interest」を選択中であれば注視点の高度が、その移動先の点の位置に応じて変更される。以上が、本実施形態に係るパス調整処理の内容である。
 本実施形態によれば、実施形態1の効果に加え、以下のような利点がある。まず、仮想カメラ設定のための事前処理(被写体の位置と3次元形状の推定)が不要で処理負荷が軽く、カメラパスや注視点パスの設定をより早く開始することができる。また、サムネイル画像を用いないため、仮想カメラ等の移動経路を指定する際の画面がシンプルで被写体を見やすい。さらに、動画の進行に沿って仮想カメラ等の移動経路を指定するため、被写体の動きの把握が容易で予測しやすい。これらの効果によって、より使いやすいユーザインタフェースとなる。
(その他の実施形態)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 実施形態を参照して本発明を説明して来たが、本発明が上述した実施形態に限定されないことは言うまでもない。下記のクレームは最も広く解釈されて、そうした変形例及び同等の構造・機能全てを包含するものとする。
 本出願は、2016年9月15日に出願された日本国特許出願第2016‐180527号に基づいて優先権を主張し、前記日本国特許出願は、この参照によって本明細書に含まれる。

Claims (11)

  1.  複数のカメラにより得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する情報処理装置であって、
     仮想視点の移動経路を特定する特定手段と、
     前記特定手段により特定された移動経路に応じた複数の仮想視点画像を表示画面上に表示させる表示制御手段と、
     前記表示画面上に表示された前記複数の仮想視点画像の少なくとも1つに対する操作を受け付ける受付手段と、
     前記受付手段による前記仮想視点画像に対する操作の受け付けに応じて、前記特定手段による特定済みの前記移動経路を変更する変更手段と
     を有する情報処理装置。
  2.  前記表示制御手段は、前記複数の仮想視点画像が前記表示画面上において重ならないように、前記表示画面に表示させる仮想視点画像の数を決定することを特徴とする請求項1に記載の情報処理装置。
  3.  前記表示制御手段は、前記移動経路の所定間隔ごとに前記複数の仮想視点画像を表示させると2つ以上の仮想視点画像が前記表示画面上で重なる場合、前記表示画面に表示させる仮想視点画像の数を減らすことを特徴とする請求項1に記載の情報処理装置。
  4.  前記表示制御手段は、前記移動経路の始点及び終点のうち、少なくとも何れかから所定範囲は、前記移動経路上の他の部分よりも仮想視点画像を多く表示させることを特徴とする請求項1に記載の情報処理装置。
  5.  前記表示制御手段は、前記移動経路のうち仮想視点の変化が大きい点から所定範囲は、前記移動経路上の他の部分よりも仮想視点画像を多く表示させることを特徴とする請求項1に記載の情報処理装置。
  6.  前記表示制御手段は、前記複数の仮想視点画像が前記表示画面上において重ならないように、前記複数の仮想視点画像のそれぞれの前記表示画面上における表示位置を決定することを特徴とする請求項1に記載の情報処理装置。
  7.  前記受付手段が、前記仮想視点画像の移動操作を受け付けた場合、
     前記変更手段は、前記仮想視点画像の前記移動操作による移動後の位置に基づいて、前記移動経路の形状を変更することを特徴とする請求項1に記載の情報処理装置。
  8.  前記受付手段が、前記仮想視点画像のサイズ変更操作を受け付けた場合、
     前記変更手段は、前記仮想視点画像の前記サイズ変更操作による変更後のサイズに基づいて、前記移動経路における仮想視点の高さを変更することを特徴とする請求項1に記載の情報処理装置。
  9.  前記受付手段が、前記仮想視点画像に対する所定のユーザ操作を受け付けた場合、
     前記変更手段は、前記移動経路のうち、前記所定のユーザ操作に対応する仮想視点画像に基づいて特定される期間における仮想視点の移動速度を変更することを特徴とする請求項1に記載の情報処理装置。
  10.  複数のカメラにより得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する方法であって、
     仮想視点の移動経路を特定することと、
     前記特定された移動経路に応じた複数の仮想視点画像を表示画面上に表示させることと、
     前記表示画面上に表示された前記複数の仮想視点画像の少なくとも1つに対する操作を受け付けることと、
     前記仮想視点画像に対する操作の受け付けに応じて、前記特定された前記移動経路を変更することとを有する方法。
  11.  コンピュータに、
     複数のカメラにより得られる複数画像に基づいて生成される仮想視点画像に関する仮想視点の移動経路を設定する方法であって、
     仮想視点の移動経路を特定することと、
     前記特定された移動経路に応じた複数の仮想視点画像を表示画面上に表示させることと、
     前記表示画面上に表示された前記複数の仮想視点画像の少なくとも1つに対する操作を受け付けることと、
     前記仮想視点画像に対する操作の受け付けに応じて、前記特定された前記移動経路を変更することとを有する方法を実行させるためのプログラム。
PCT/JP2017/028876 2016-09-15 2017-08-09 仮想視点画像の生成に関する情報処理装置、方法及びプログラム WO2018051688A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020197007474A KR102187974B1 (ko) 2016-09-15 2017-08-09 가상 시점 화상의 생성에 관한 정보 처리 장치, 방법 및 프로그램
CN201780057088.2A CN109716751B (zh) 2016-09-15 2017-08-09 信息处理设备、方法和计算机可读存储介质
US16/354,980 US20190213791A1 (en) 2016-09-15 2019-03-15 Information processing apparatus relating to generation of virtual viewpoint image, method and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016180527A JP6742869B2 (ja) 2016-09-15 2016-09-15 画像処理装置および画像処理方法
JP2016-180527 2016-09-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/354,980 Continuation US20190213791A1 (en) 2016-09-15 2019-03-15 Information processing apparatus relating to generation of virtual viewpoint image, method and storage medium

Publications (1)

Publication Number Publication Date
WO2018051688A1 true WO2018051688A1 (ja) 2018-03-22

Family

ID=61618798

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/028876 WO2018051688A1 (ja) 2016-09-15 2017-08-09 仮想視点画像の生成に関する情報処理装置、方法及びプログラム

Country Status (5)

Country Link
US (1) US20190213791A1 (ja)
JP (1) JP6742869B2 (ja)
KR (1) KR102187974B1 (ja)
CN (1) CN109716751B (ja)
WO (1) WO2018051688A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020213426A1 (ja) * 2019-04-18 2020-10-22 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
CN112640472A (zh) * 2018-07-12 2021-04-09 佳能株式会社 信息处理设备、信息处理方法和程序
WO2022209362A1 (ja) * 2021-03-31 2022-10-06 富士フイルム株式会社 画像処理装置、画像処理方法、及びプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013470A (ja) * 2018-07-20 2020-01-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP7233867B2 (ja) 2018-07-20 2023-03-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7249755B2 (ja) * 2018-10-26 2023-03-31 キヤノン株式会社 画像処理システムおよびその制御方法、プログラム
WO2020129696A1 (ja) * 2018-12-21 2020-06-25 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および、情報処理システム
JP7052737B2 (ja) * 2019-01-09 2022-04-12 日本電信電話株式会社 映像編集装置、その方法、およびプログラム
JP7267753B2 (ja) * 2019-01-21 2023-05-02 キヤノン株式会社 制御装置、制御方法、及びプログラム
JP2022051978A (ja) * 2019-02-15 2022-04-04 ソニーグループ株式会社 画像処理装置、画像処理方法、及び、プログラム
JP7277184B2 (ja) * 2019-03-04 2023-05-18 キヤノン株式会社 情報処理装置、情報処理方法ならびにプログラム。
JP7458731B2 (ja) * 2019-09-30 2024-04-01 キヤノン株式会社 画像生成システム、画像処理装置、情報処理装置、画像生成方法、及びプログラム
WO2021220894A1 (ja) * 2020-04-30 2021-11-04 富士フイルム株式会社 情報処理装置、情報処理方法、及びプログラム
JPWO2022024594A1 (ja) * 2020-07-31 2022-02-03
CN113747138A (zh) * 2021-07-30 2021-12-03 杭州群核信息技术有限公司 虚拟场景的视频生成方法和装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006009257A1 (ja) * 2004-07-23 2006-01-26 Matsushita Electric Industrial Co., Ltd. 画像処理装置および画像処理方法
JP2009077394A (ja) * 2007-09-05 2009-04-09 Sony United Kingdom Ltd 通信システム及び通信方法
JP2010093713A (ja) * 2008-10-10 2010-04-22 Sony Corp 表示制御装置、表示制御方法及びプログラム
JP2014215828A (ja) * 2013-04-25 2014-11-17 シャープ株式会社 画像データ再生装置、および視点情報生成装置
JP2016010145A (ja) * 2014-06-23 2016-01-18 パナソニックIpマネジメント株式会社 映像配信方法、映像受信方法、サーバ、端末装置及び映像配信システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8330831B2 (en) * 2003-08-05 2012-12-11 DigitalOptics Corporation Europe Limited Method of gathering visual meta data using a reference image
JP3700857B2 (ja) * 2004-03-03 2005-09-28 コナミ株式会社 ゲームプログラム及びゲーム装置
JP5222597B2 (ja) * 2008-03-19 2013-06-26 三洋電機株式会社 画像処理装置及び方法、運転支援システム、車両
EP2403234A1 (en) * 2010-06-29 2012-01-04 Koninklijke Philips Electronics N.V. Method and system for constructing a compound image from data obtained by an array of image capturing devices
US8964052B1 (en) * 2010-07-19 2015-02-24 Lucasfilm Entertainment Company, Ltd. Controlling a virtual camera
EP2413286A1 (en) * 2010-07-29 2012-02-01 LiberoVision AG Image processing method and device for instant replay
JP2013038602A (ja) * 2011-08-08 2013-02-21 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
JP5870618B2 (ja) 2011-10-21 2016-03-01 大日本印刷株式会社 自由視点映像表示装置
JP5953916B2 (ja) * 2012-05-02 2016-07-20 ソニー株式会社 画像処理装置および方法、並びにプログラム
GB2512628A (en) * 2013-04-04 2014-10-08 Sony Corp Method and apparatus
CN105556956B (zh) * 2013-09-19 2019-01-22 富士通天株式会社 图像生成装置、图像显示系统、图像生成方法以及图像显示方法
US10321117B2 (en) * 2014-04-11 2019-06-11 Lucasfilm Entertainment Company Ltd. Motion-controlled body capture and reconstruction
JP6336856B2 (ja) * 2014-08-26 2018-06-06 日本放送協会 多視点映像表現装置及びそのプログラム
KR20170011190A (ko) * 2015-07-21 2017-02-02 엘지전자 주식회사 이동 단말기 및 그것의 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006009257A1 (ja) * 2004-07-23 2006-01-26 Matsushita Electric Industrial Co., Ltd. 画像処理装置および画像処理方法
JP2009077394A (ja) * 2007-09-05 2009-04-09 Sony United Kingdom Ltd 通信システム及び通信方法
JP2010093713A (ja) * 2008-10-10 2010-04-22 Sony Corp 表示制御装置、表示制御方法及びプログラム
JP2014215828A (ja) * 2013-04-25 2014-11-17 シャープ株式会社 画像データ再生装置、および視点情報生成装置
JP2016010145A (ja) * 2014-06-23 2016-01-18 パナソニックIpマネジメント株式会社 映像配信方法、映像受信方法、サーバ、端末装置及び映像配信システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112640472A (zh) * 2018-07-12 2021-04-09 佳能株式会社 信息处理设备、信息处理方法和程序
EP3823287A4 (en) * 2018-07-12 2022-04-20 Canon Kabushiki Kaisha INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
US11368666B2 (en) 2018-07-12 2022-06-21 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
CN112640472B (zh) * 2018-07-12 2023-06-09 佳能株式会社 信息处理设备、信息处理方法和存储介质
WO2020213426A1 (ja) * 2019-04-18 2020-10-22 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
JP7459870B2 (ja) 2019-04-18 2024-04-02 ソニーグループ株式会社 画像処理装置、画像処理方法、及び、プログラム
WO2022209362A1 (ja) * 2021-03-31 2022-10-06 富士フイルム株式会社 画像処理装置、画像処理方法、及びプログラム

Also Published As

Publication number Publication date
CN109716751A (zh) 2019-05-03
KR20190039774A (ko) 2019-04-15
KR102187974B1 (ko) 2020-12-07
JP2018046448A (ja) 2018-03-22
JP6742869B2 (ja) 2020-08-19
CN109716751B (zh) 2021-02-26
US20190213791A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
WO2018051688A1 (ja) 仮想視点画像の生成に関する情報処理装置、方法及びプログラム
US10705678B2 (en) Image processing apparatus, image processing method, and storage medium for generating a virtual viewpoint image
JP6525617B2 (ja) 画像処理装置およびその制御方法
US20160323507A1 (en) Method and apparatus for generating moving photograph
EP3291549B1 (en) Display control apparatus, display control method, and program
US20150074573A1 (en) Information display device, information display method and information display program
JP7458889B2 (ja) 画像表示装置、制御方法、およびプログラム
JP7073092B2 (ja) 画像処理装置、画像処理方法及びプログラム
KR102484197B1 (ko) 정보 처리장치, 정보 처리방법 및 기억매체
JP2019152980A (ja) 画像処理装置、画像処理方法、及びプログラム
US20200053274A1 (en) Imaging control method and device
US20200335020A1 (en) Display control apparatus, display control method, and non-transitory computer-readable storage medium
US20220108541A1 (en) Information processing device, information processing method, and program
KR20180097027A (ko) 사용자 인터페이스를 이용한 영상 촬영 모드 전환 방법 및 장치
US20230074282A1 (en) Information processing apparatus, information processing method, and program
JP6201501B2 (ja) 動画編集装置、動画編集方法およびプログラム
JP6685364B2 (ja) 表示制御装置、表示制御方法
JP5967126B2 (ja) 端末装置及びプログラム
US11758112B2 (en) Information processing apparatus, control method, and storage medium
JP6842194B2 (ja) 表示制御装置、表示制御方法及び表示制御プログラム
JP2019160290A (ja) 生成装置、生成方法及び生成プログラム
JP2015106874A (ja) 画像再生装置、その制御方法、および制御プログラム
JP2009253755A (ja) 撮影領域表示方法、プログラム及び撮影領域表示装置

Legal Events

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

Ref document number: 17850594

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20197007474

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17850594

Country of ref document: EP

Kind code of ref document: A1