WO2021182130A1 - 画像処理装置および方法、並びにプログラム - Google Patents

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

Info

Publication number
WO2021182130A1
WO2021182130A1 PCT/JP2021/007357 JP2021007357W WO2021182130A1 WO 2021182130 A1 WO2021182130 A1 WO 2021182130A1 JP 2021007357 W JP2021007357 W JP 2021007357W WO 2021182130 A1 WO2021182130 A1 WO 2021182130A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
lens
unit
user interface
input
Prior art date
Application number
PCT/JP2021/007357
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 EP21768557.7A priority Critical patent/EP4106313A4/en
Priority to US17/909,607 priority patent/US20230113741A1/en
Priority to JP2022505913A priority patent/JPWO2021182130A1/ja
Priority to CN202180018910.0A priority patent/CN115280753A/zh
Publication of WO2021182130A1 publication Critical patent/WO2021182130A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/55Optical parts specially adapted for electronic image sensors; Mounting thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/957Light-field or plenoptic cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/958Computational photography systems, e.g. light-field imaging systems for extended depth of field imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Definitions

  • the present disclosure relates to an image processing device, a method, and a program, and more particularly to an image processing device, a method, and a program that enable easier lens emulation.
  • the present disclosure makes it easier to emulate such a virtual lens.
  • the image processing apparatus of one aspect of the present technology includes an aberration table generator that generates an aberration table that is a table of focused ray vectors due to aberrations of the lens to be emulated selected via the user interface, and the aberration table and many other elements. It is an image processing apparatus including a condensing processing unit that performs a condensing process for generating a virtual captured image in which a subject is imaged through the selected lens using a viewpoint image.
  • the image processing method of one aspect of the present technology generates an aberration table which is a table of focused ray vectors due to the aberration of the lens to be emulated selected via the user interface, and uses the aberration table and the multi-viewpoint image.
  • This is an image processing method that performs a condensing process to generate a virtual captured image in which a subject is imaged through the selected lens.
  • the program of one aspect of the present technology includes an aberration table generator that generates an aberration table, which is a table of focused ray vectors due to the aberration of the lens to be emulated selected via the user interface, and the aberration table.
  • This is a program that functions as a condensing processing unit that performs condensing processing to generate a virtual captured image in which a subject is imaged through the selected lens using a multi-viewpoint image.
  • an aberration table which is a table of focused ray vectors due to the aberration of the lens to be emulated selected selected via the user interface, is generated, and the aberration table and the aberration table are generated.
  • a multi-viewpoint image is used, and a condensing process is performed to generate a virtual captured image in which a subject is imaged through the selected lens.
  • Lens emulation> Multi-viewpoint image>
  • a configuration like the camera 10 in FIG. 1 can be considered.
  • the camera 10 has a built-in image sensor, receives light rays focused by the lens, and performs photoelectric conversion to image the subject and generate a multi-viewpoint image.
  • the camera 10 has a plurality of (for example, five) individual eye optical systems in a lens barrel provided on the front side (the side on which light is incident) of the image sensor.
  • the plurality of individual eye optical systems are configured so that the optical paths of light passing through them are independent of each other. That is, the light that has passed through each individual eye optical system of the lens barrel irradiates different positions on the light receiving surface (for example, the effective pixel region) of the image sensor without incident on the other individual eye optical systems.
  • the optical axes of each individual eye optical system are located at different positions on the light receiving surface of the image sensor, and at least a part of the light passing through each individual eye optical system is located at different positions on the light receiving surface of the image sensor. Irradiate.
  • the images of the subjects imaged via each individual eye optical system are formed at different positions.
  • an captured image with each individual eye optical system as a viewpoint can be obtained.
  • the whole image 20 includes an individual eye image corresponding to each individual eye optical system (an image obtained by photoelectric conversion of light from a subject incident through each individual eye optical system).
  • the whole image 20 includes five individual eye images.
  • the entire image 20 may be the entire captured image generated by the image sensor, or may be a partial image (however, including all individual eye images) cut out from the captured image. Further, the entire image 20 may be an image in RAW format or an image in YC format. The number of individual eye images included in the entire image 20 is arbitrary (however, it depends on the number of individual eye optical systems provided in the camera 10).
  • a part of this individual eye image is cut out to generate a viewpoint image with the individual eye optical system as a viewpoint.
  • the entire image 20 the viewpoint image area 21 0, viewpoint image area 21 1, the viewpoint image area 21 2, a viewpoint image area 21 3, and the viewpoint image area 21 4 of the five viewpoint image area 21
  • You can cut out an image.
  • the images cut out from these viewpoint image areas 21 are regarded as viewpoint images, respectively. That is, a multi-viewpoint image can be obtained from the entire image 20. In other words, obtaining the whole image 20 is substantially equivalent to obtaining a multi-viewpoint image.
  • viewpoint image 22 corresponds to the ommatidium optical system of the camera 10 (the viewpoint ommatidium optics )
  • viewpoint image 22 can be said to be images cut out from each viewpoint image area 21 of the above-mentioned overall image 20. In this way, a multi-viewpoint image can be obtained.
  • FIG. 3 shows an example of the viewpoint image 22 obtained by one imaging by the camera 10, but the number of the viewpoint images 22 is arbitrary (however, the individual eye light provided in the camera 10). Depends on the number of departments).
  • the multi-viewpoint composite image 23 as shown in FIG. 4 is an image including the plurality of viewpoint images 22 generated by synthesizing a plurality of viewpoint images 22 so as to be arranged in one image (frame).
  • each viewpoint image 22 can be cut out from the multi-viewpoint composite image 23. That is, a multi-viewpoint image can be obtained from the multi-viewpoint composite image 23.
  • obtaining the multi-viewpoint composite image 23 is substantially equivalent to obtaining the multi-viewpoint image.
  • the camera 10 can obtain a multi-viewpoint image by capturing the subject.
  • This multi-viewpoint image can be used, for example, for generation of depth information and processing such as refocusing using the depth information.
  • the method of generating the multi-viewpoint image is arbitrary, and it may be generated using a device or system other than the camera 10.
  • a multi-viewpoint image may be generated by capturing a subject using a plurality of cameras (plurality of image sensors) having different viewpoints.
  • An image can be generated by superimposing each viewpoint image constituting the viewpoint image, and the image can be provided to the user.
  • a depth image 31 as shown in A of FIG. 5 can be generated from a multi-viewpoint image.
  • the depth image 31 is an image in which the distance to the subject in each pixel of the captured image is used as the pixel value. That is, the depth image 31 is an image of the depth data.
  • a virtual captured image 32 as shown in B of FIG. 5 is obtained. Can be generated.
  • the focal length can be arbitrarily set to generate the virtual captured image 32. That is, the virtual captured image 32 can be generated by arbitrarily setting the lens parameter, which is a parameter related to the lens.
  • the lens parameter which is a parameter related to the lens.
  • a virtual lens 40 as shown in FIG. 6 is set, and a ray vector 41 which is an incident light from a subject incident on the virtual lens 40 and a ray which is an incident light after passing through the virtual lens 40.
  • An imaging system consisting of a vector 42 and an image sensor 43 that obtains an image captured from a ray vector 42 is emulated (simulated). Then, based on the emulation, a virtual captured image is generated from the multi-viewpoint image.
  • the object of embroidery may be an existing optical system or an unrealistic optical system.
  • the object of embroidery may be an existing optical system or an unrealistic optical system.
  • captured images with a narrow angle of view and a long focal distance can be easily reproduced. Therefore, for example, an image captured by using a high-grade lens, an image captured by using an unrealistic optical system, or the like can be easily reproduced. That is, a wider variety of captured images (virtual captured images) can be generated at a lower cost.
  • an aberration table which is a table of focused ray vectors due to the aberration of the lens to be emulated selected via the user interface, is generated, and the selected lens is used by using the aberration table and the multi-viewpoint image. Condensing processing is performed to generate a virtual captured image in which the subject is imaged via.
  • the captured image generated by the condensing process is an image obtained by virtual imaging using the selected lens. Therefore, this captured image can be said to be a virtual captured image. Further, the lens selected here does not have to be the one used for the actual imaging, and may or may not exist in the real world.
  • the lens emulation using the multi-viewpoint image as described above may be realized by an application program that performs processing based on the user's operation input.
  • the application program may display a GUI (Graphical User Interface) on the monitor and accept the user's selection of the lens to be emulated.
  • GUI Graphic User Interface
  • the user interface is displayed on the display unit, and the user interface includes an icon corresponding to each lens that is a candidate for embroidery, and an aberration table is used using a lens parameter corresponding to the icon selected via the user interface. May be generated.
  • the development screen 100 shown in FIG. 7 is a GUI for developing a multi-viewpoint image displayed on a monitor by an application program.
  • this application program can emulate a lens using a multi-viewpoint image as described above, and can generate a virtual captured image in which a subject is imaged through the lens.
  • the application program displays the development screen 100 as shown in FIG. 7 on the monitor, and accepts the user operation performed based on the development screen 100.
  • the development screen 100 has a tab display unit 101 and a GUI display unit 102.
  • the tab display unit 101 displays a tab for switching the GUI displayed on the GUI display unit 102.
  • the tab 101A (Tab1)
  • the tab 101B (Tab2)
  • the tab 101C (CGLE)
  • the tab 101D (Gen_onj) are displayed on the tab display unit 101.
  • the number of tabs displayed on the tab display unit 101 is arbitrary.
  • the GUI display unit 102 displays the GUI corresponding to the tab selected in the tab display unit 101.
  • tab 101A is selected, and the GUI corresponding to tab 101A is displayed on the GUI display unit 102.
  • This GUI is a GUI for lens emulation.
  • this GUI includes an captured image display unit 110, an input / output setting unit 111, a depth estimation unit 112, and a lens emulation unit 113.
  • the captured image display unit 110 can display the captured image (virtual captured image) generated by the focused processing and obtained by imaging using the emulated lens as the condensed processing result.
  • the user can grasp the light collection processing result by checking the captured image displayed on the captured image display unit 110.
  • the lens emulation can be performed using a low-resolution multi-viewpoint image.
  • the virtual captured image obtained as the emulation result has a lower resolution than the original multi-view image (multi-view image before the resolution is reduced). That is, the low-resolution virtual captured image is displayed on the captured image display unit 110.
  • the captured image display unit 110 can display a virtual captured image having a lower resolution than the original multi-viewpoint image obtained by the actual imaging. By doing so, it is possible to suppress an increase in the load due to the light collection process and the display of the light collection process result. As a result, the condensing process and the display of the condensing process result can be performed at a higher speed without increasing the cost.
  • the captured image display unit 110 displays the condensing process result at a higher speed. be able to.
  • the original multi-viewpoint image may be used for the condensing process.
  • a virtual captured image having a resolution equivalent to that of the original multi-viewpoint image is obtained. That is, the captured image display unit 110 may display a virtual captured image having a resolution equivalent to that of the original multi-viewpoint image.
  • the input / output setting unit 111 is a GUI for inputting information related to input / output settings.
  • the depth estimation unit 112 is a GUI related to depth estimation.
  • the lens emulation unit 113 is a GUI related to lens emulation.
  • the lens emulation unit 113 includes a lens selection unit 121 and a lens setting unit 122.
  • the lens selection unit 121 is a GUI for selecting a lens to be emulated.
  • the lens setting unit 122 is a GUI related to lens setting. The configuration of each GUI will be described below.
  • FIG. 8 is a diagram showing an example of the input / output setting unit 111.
  • the input / output setting unit 111 is a GUI for inputting information related to input / output settings.
  • the information input by the input / output setting unit 111 is received by the application program and used for input / output settings.
  • the input / output setting unit 111 has an input file designation field 131A and a reference button 131B.
  • the input file designation field 131A is a GUI for setting an input file (also referred to as an input file).
  • This input file includes, for example, data of a multi-viewpoint image used for condensing processing. That is, by specifying this input file, the multi-viewpoint image to be input is specified.
  • the user can input a file name or address in the input file designation field 131A using characters or symbols by operating, for example, a keyboard or the like.
  • the file specified by the file name or address input in the input file specification field 131A is set as the input file. That is, the multi-viewpoint image data and the like included in the input file are read into the application program.
  • the reference button 131B is a GUI button for specifying an input file using a GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the file using the GUI for file management.
  • the file name and address of the file are input to the input file specification field 131A. That is, that file is set as the input file. That is, the data of the multi-viewpoint image included in the input file is read.
  • the input / output setting unit 111 has an output folder designation field 132A and a reference button 132B.
  • the output folder designation field 132A is a GUI for setting a folder (also referred to as an output folder) for outputting a file containing, for example, captured image data of the light collection processing result.
  • the user can input the folder name and address in the output folder designation field 132A using characters and symbols by operating, for example, a keyboard or the like.
  • the folder specified by the folder name or address input in the output folder designation field 132A is set as the output folder. That is, the generated file is stored in its output folder.
  • the reference button 132B is a GUI button for specifying an output folder using a GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the folder using the GUI for file management.
  • the folder name and address of the folder are input to the output folder specification field 132A. That is, that folder is set as the output folder. That is, the generated file is stored in its output folder.
  • the input / output setting unit 111 has a calibration file designation field 133A and a reference button 133B.
  • the calibration file designation field 133A is a GUI for setting a file (also referred to as a calibration file) in which calibration data or the like for specifying distortion information between viewpoints is described. That is, by specifying this calibration file, the calibration data used for the calibration between viewpoints is set.
  • the user can input the file name and address in the calibration file designation field 133A by operating a keyboard or the like using characters and symbols.
  • the file specified by the file name or address input in the calibration file designation field 133A is set as the calibration file. That is, the calibration data and the like included in the calibration file are read.
  • the reference button 133B is a GUI button for specifying a calibration file using a GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the file using the GUI for file management.
  • the file name and address of the file are input to the calibration file specification field 133A. That is, the file is set as a calibration file. That is, the calibration data and the like included in the calibration file are read.
  • Table 151 shown in FIG. 9 shows an example of the information described in the calibration file.
  • the model mode is information indicating the mode of the camera 10.
  • the baseline length is information indicating the distance between each individual eye optical system.
  • CMN is information indicating the number of individual eye optical systems (that is, the number of viewpoints).
  • the DepthMax initial value is information indicating the initial value of the maximum value (DepthMax) of the depth value described later.
  • the EDGE initial value is information indicating the initial value of EDGE, which will be described later.
  • Raw_width is information indicating a RAW image, that is, the width (horizontal resolution) of the entire captured image obtained by the image sensor of the camera 10.
  • Raw_height is information indicating the height (vertical resolution) of the entire captured image.
  • Pros_width is information indicating the width (horizontal resolution) of each viewpoint image.
  • Pros_height is information indicating the height (vertical resolution) of each viewpoint image.
  • CentrePros [N] .x (N is, for example, an integer of 0 to 4) indicates the x-coordinate of the center of each viewpoint image in the entire captured image obtained by the image sensor of the camera 10.
  • N indicates an identification number of the viewpoint image (individual eye optical system). For example, in the case of the camera 10 of FIG. 1, since the number of viewpoints is 5, N is set to any of 0, 1, 2, 3, and 4.
  • the width [mm] of the calibration chart is information indicating the width [mm] of the chart used for calibration (also referred to as a calibration chart) (see, for example, International Publication No. 2019/078032).
  • the width [pixel] of the calibration chart is information indicating the width in resolution [pixel].
  • the distance [mm] from the camera to the calibration chart is information indicating the distance [mm] from the camera 10 to the calibration chart (that is, the depth value of the calibration chart) at the time of imaging for calibration. ..
  • This information is set by specifying the calibration file.
  • the content of the calibration file is arbitrary, for example, calibration data other than the example shown in FIG. 9 may be included, or a part of the calibration data shown in FIG. 9 is not included. May be good.
  • the input / output setting unit 111 has a development setting file designation field 134A and a reference button 134B.
  • the development setting file designation field 134A is a GUI for setting a file (also referred to as a development setting file) in which hardware information such as eye count information and baseline length is described.
  • the user can input the file name and address in the development setting file designation field 134A by using characters and symbols by operating, for example, a keyboard or the like.
  • the file specified by the file name or address input in the development setting file designation field 134A is set as the development setting file. That is, the hardware information and the like included in the development setting file are read.
  • the reference button 134B is a GUI button for specifying a development setting file using a GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the file using the GUI for file management.
  • the file name and address of the file are input to the development setting file specification field 134A. That is, the file is set as a development setting file. That is, the hardware information and the like included in the development setting file are read.
  • Table 152 shown in FIG. 10 shows an example of hardware information described in the development setting file.
  • the development setting file contains, for example, model information, baseline length, number of viewpoints, caliber adjustment value, DepthMax initial value, EDGE initial value, processing margin, resolution, processing resolution, provisional value, color filter information, viewpoint N center coordinates, focus.
  • LED coordinates indicating the distance, spot light coordinates for detecting lens mounting error see, for example, International Publication No. 2019/78032
  • LED processing resolution indicating the processing resolution of the spot light
  • various hardware information such as calibration information is included. This information is set by specifying the development setting file.
  • the content of the development setting file is arbitrary, and for example, hardware information other than the example shown in FIG. 10 may be included, or a part of the hardware information shown in FIG. 10 is not included. May be good.
  • the input / output setting unit 111 has an HDR (High Dynamic Range) file designation field 135A and a reference button 135B.
  • the HDR file designation field 135A is a GUI for setting a file (also referred to as an HDR file) that enables the estimation of the saturated luminance amount.
  • the user can enter a file name or address in the HDR file designation field 135A using characters or symbols by operating, for example, a keyboard or the like.
  • the file specified by the file name and address entered in the HDR file specification field 135A is set as the HDR file. That is, the information contained in the HDR file is read.
  • the reference button 135B is a GUI button for specifying an HDR file using a GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the file using the GUI for file management.
  • the file name and address of the file are entered in the HDR file specification field 135A. That is, the file is set as an HDR file. That is, the information contained in the HDR file is read.
  • the input / output setting unit 111 has a threshold value designation field 136, a gain designation field 137, and an HDR button 138.
  • the threshold value specification field 136 is a GUI for setting the threshold value (TH).
  • the user can input the threshold value in the threshold value designation field 136 by operating, for example, a keyboard or the like.
  • the numerical value input in the threshold value designation field 136 is set as the threshold value.
  • the gain specification field 137 is a GUI for setting the gain.
  • the user can input the gain numerically in the gain designation field 137 by operating, for example, a keyboard or the like.
  • the numerical value input to the gain designation field 137 is set as the gain.
  • HDR button 138 is a GUI for starting HDR processing.
  • the HDR process is started.
  • the HDR file specified in the HDR file designation field 135A is used for processing.
  • the HDR file and HDR processing for example, those disclosed in International Publication No. 2016/175043 can be used.
  • FIG. 11 is a diagram showing an example of the depth estimation unit 112.
  • the depth estimation unit 112 is a GUI for inputting information regarding the depth estimation.
  • the information input in the depth estimation unit 112 is received by the application program and used for the depth estimation.
  • the depth estimation unit 112 has a depth image (depth map) display field 161 and a calculation button 162.
  • the depth image display field 161 is a GUI that displays a depth image composed of the depth values of the subject of each pixel as the estimation result of the depth estimation. That is, the depth image displayed in the depth image display field 161 is composed of the depth value estimated by the depth estimation.
  • the calculation button 162 is a GUI for instructing the start of the depth estimation (depth calculation). When the user operates the calculation button 162, the depth estimation is started.
  • the depth estimation unit 112 has a depth file designation field 163A and a reference button 163B.
  • the depth file designation field 163A is a GUI for setting a file (also referred to as a depth file) used when inputting depth data externally.
  • the user can enter a file name or address in the depth file designation field 163A by using characters or symbols by operating, for example, a keyboard or the like.
  • the file specified by the file name or address input in the depth file designation field 163A is set as the depth file. That is, the depth data and the like included in the depth file are read.
  • the reference button 163B is a GUI button for specifying the depth file using the GUI for file management.
  • the GUI for file management is activated.
  • the user specifies the file using the GUI for file management.
  • the file name and address of the file are input to the depth file specification field 163A. That is, the file is set as a depth file. That is, the depth data and the like included in the depth file are read.
  • the depth estimation unit 112 has an EDGE designation column 165, a MAX designation column 166, a CS designation column 167, a gamma designation column 168, and an ALE designation column 169.
  • the EDGE designation field 165 is a GUI for designating an EDGE threshold setting for separating noise and a signal using the shutter speed / gain value at the time of shooting.
  • the user can input a numerical value in the EDGE designation field 165 by operating, for example, a keyboard or the like.
  • the numerical value input in the EDGE designation field 165 is set as the EDGE threshold value.
  • the MAX designation field 166 is a GUI for designating the detection range of the maximum pixel shift amount.
  • the user can input a numerical value in the MAX designation field 166 by operating, for example, a keyboard or the like.
  • the numerical value input in the MAX designation field 166 is set as the detection range MAX of the maximum pixel deviation amount.
  • the CS designation field 167 is a GUI for specifying infinity at the time of calibration.
  • the user can input a numerical value in the CS designation field 167 by operating, for example, a keyboard or the like.
  • the numerical value input in the CS designation field 167 is set as infinity (CS) at the time of calibration.
  • the gamma specification field 168 is a GUI for specifying the gamma curve to be used when estimating the depth.
  • the user can input a numerical value in the gamma designation field 168 by operating, for example, a keyboard or the like.
  • the numerical value input in the gamma designation field 168 is set as the gamma value.
  • the ALE designation field 169 is a GUI for designating the rotation angle ALE that can be corrected at the time of taking calibration data and in the rotation direction.
  • the user can input a numerical value in the ALE designation field 169 by operating, for example, a keyboard or the like.
  • the numerical value input in the ALE designation field 169 is set as the rotation angle ALE that can be corrected at the time of taking the calibration data and in the rotation direction.
  • FIG. 12 is a diagram showing an example of the lens selection unit 121.
  • the lens selection unit 121 is a GUI for designating a lens to be emulated.
  • the information input in the lens selection unit 121 is accepted by the application program and used for lens emulation.
  • the lens selection unit 121 has a lens icon display unit 171, an add button 172, a delete button 173, and a processing result storage unit 174.
  • the lens icon display unit 171 is a GUI for selecting a lens to be emulated, and includes an icon corresponding to each lens that is a candidate for emulation target. In the case of the example of FIG. 12, the lens icon 181-1 to the lens icon 181-4 are displayed. When it is not necessary to distinguish the lens icons 181-1 to the lens icons 181-4 from each other, they are referred to as the lens icons 181.
  • Lens icons 181-1 to lens icons 181-4 are icons corresponding to different lenses, and each lens icon 181 is associated with lens parameters having different values. For example, when the user selects one of the lens icons 181 the lens corresponding to the selected lens icon 181 is selected (set) as the object of emulation. That is, a lens parameter having a value corresponding to the selected lens icon 181 is set.
  • the lens is emulated using the set parameters, the aberration is set, the condensing process is performed, and the condensing process result (captured image) is displayed on the captured image display unit 110.
  • the application program can emulate the lens corresponding to the selected lens icon 181.
  • the lens parameter associated with the lens icon 181 includes a parameter for designating the aberration, and the user or the like can specify the aberration by selecting the lens icon 181.
  • the lens icon 181 corresponding to the lens as a candidate for embroidery is displayed on the lens icon display unit 171. That is, the lens icon display unit 171 displays a list of lenses that are candidates for emulation. Therefore, the user or the like can easily grasp the candidate for the emulation target by referring to the lens icon display unit 171.
  • the lens icons 181-1 to 183-1 are icons corresponding to lenses prepared in advance, that is, icons corresponding to lenses for which lens parameters are set in advance (preset lens icons) (test Lens). ). That is, the lens icon 181 corresponding to such a prepared lens can be displayed on the lens icon display unit 171 even if the user or the like does not generate the lens icon. Therefore, the user or the like can select the lens to be emulated without the need for complicated work such as generating a lens icon.
  • the lens icon 181-4 is an icon corresponding to a lens generated by a user or the like, that is, an icon corresponding to a lens whose lens parameters are set by the user or the like (user setting). That is, the lens icon 181 corresponding to the lens generated by such a user or the like can be displayed on the lens icon display unit 171. Therefore, the user or the like can select lenses having a wider variety of specifications as targets for emulation.
  • the user or the like may be able to select the subject to be focused by moving the lens icon 181 to the captured image display unit 110 by a drag-and-drop operation.
  • the lens corresponding to the dragged and dropped lens icon 181 is the lens to be emulated.
  • the position where the lens icon 181 of the captured image displayed on the captured image display unit 110 is moved and dropped is set as the position to be focused. That is, the lens is emulated using the lens parameters corresponding to the dragged and dropped lens icon 181, the aberration is set, and the focusing process is performed so as to focus on the dropped position of the lens icon 181.
  • the light-collecting processing result (captured image) is displayed on the captured image display unit 110.
  • the focused position may be an area consisting of a plurality of pixels centered on the dropped position.
  • the subject existing at the dropped position may be image-recognized and focused on the subject.
  • the number of lens icons 181 displayed on the lens icon display unit 171 is arbitrary and is not limited to the example of FIG.
  • the add button 172 is a GUI button for adding a new lens icon 181 to the lens icon display unit 171. For example, when a user or the like operates the additional button 172, a lens icon 181 associated with the lens parameters set in the lens setting unit 122, which will be described later, is generated and displayed on the lens icon display unit 171. That is, a new lens icon 181 is added to the lens icon display unit 171.
  • the delete button 173 is a GUI button for deleting the lens icon 181 displayed on the lens icon display unit 171.
  • the lens icon 181 selected by the user or the like is deleted from the lens icons 181 displayed on the lens icon display unit 171.
  • the lens icon 181 that can be deleted may be limited to the lens icon 181 added by the user or the like. In other words, the preset lens icon 181 may not be deleted.
  • the processing result storage unit 174 includes a GUI for setting an emulation result (condensing processing result), that is, information related to storage of a virtual captured image displayed on the captured image display unit 110.
  • the processing result storage unit 174 includes an image quality selection unit 191 and a save button 192, and a focus range setting unit 193.
  • the image quality selection unit 191 is a GUI that allows the user to select the image quality (resolution) when saving the virtual captured image.
  • the image quality selection unit 191 has a radio button for selecting "normal image quality” and "low image quality", and the user can operate the image quality selection unit 191 to save a virtual captured image at the time of saving.
  • Image quality (resolution) can be selected. That is, the virtual captured image is saved with the image quality (resolution) selected by the user.
  • a low-resolution multi-viewpoint image can be used for lens emulation in order to reduce the load.
  • the virtual captured image displayed on the captured image display unit 110 has a lower resolution than the captured image.
  • the image quality selection unit 191 the user can select whether to save such a virtual captured image at the resolution at the time of embroidery or at the same resolution as the original multi-viewpoint image.
  • the virtual captured image is saved at the resolution used for lens emulation. That is, the virtual captured image (emulation result) displayed on the captured image display unit 110 is stored at that resolution. Therefore, in this case, the virtual captured image can be stored with a lower load (higher speed).
  • the virtual captured image is saved with the same resolution as the original multi-viewpoint image.
  • the emulation is reproduced using the original multi-viewpoint image. That is, a virtual image similar to the virtual image displayed on the image display unit 110 except for the resolution (that is, a virtual image equivalent to the virtual image displayed on the image display 110 having a higher resolution). Image) is generated and saved.
  • the virtual captured image may be saved at a resolution (image quality) that is lower resolution (lower image quality) than the original multi-viewpoint image and higher resolution (high image quality) than at the time of embroidery. That is, the virtual captured image may be saved at a lower resolution (lower image quality) than at the time of emulation. That is, the virtual captured image can be saved at an arbitrary resolution (image quality).
  • the resolution (image quality) of the virtual captured image may be converted to a desired resolution (image quality) when the image is saved.
  • the virtual captured image has been described above, the depth image can be similarly saved at an arbitrary resolution (image quality).
  • the save button 192 is a GUI button for executing save. For example, when the user or the like operates the save button 192, the virtual captured image (condensing processing result) displayed on the captured image display unit 110 is saved in the storage medium or the like with the image quality selected by the image quality selection unit 191. NS. Further, the focus range setting unit 193 is a GUI for inputting information for designating the focal length.
  • FIG. 13 is a diagram showing an example of the lens setting unit 122.
  • the lens setting unit 122 is a GUI for setting (customizing) lens parameters.
  • the information input in the lens setting unit 122 is received by the application program and used for lens emulation.
  • the lens setting unit 122 includes a simple lens emulation result display unit 201, an image height input field 202A, an image height setting slide bar 202B, a focus position input field 202C, and a focus position setting slide bar 202D.
  • the simple lens emulation result display unit 201 can display a virtual captured image with a point light source as a subject, which represents the result of the focusing process.
  • a point light source located at the horizontal image height set by using the image height input field 202A or the image height setting slide bar 202B is the focus position input field 202C or the focus position.
  • the result is displayed in real time to see what kind of blurring will occur when the distance from the focus plane is set by using the setting slide bar 202D. By doing so, the user or the like can visually (intuitively) understand the effects of various aberrations specified by the GUI described later.
  • the lens setting unit 122 has an aperture input field 203A for inputting an aperture value inside the lens and an aperture display unit 203B for displaying the state of the set aperture as a GUI for setting the aperture. Further, the lens setting unit 122 has a focal position input field 204A for inputting the focal position of the lens numerically and a focal position slide bar 204B for setting the focal position with the position of the knob as a GUI for setting the focal position. Has.
  • the lens setting unit 122 has a GUI for making settings related to aberrations.
  • the lens setting unit 122 has, as such a GUI, a GUI for setting astigmatism, a GUI for setting spherical aberration, a GUI for setting coma, and a GUI for setting distortion.
  • the lens setting unit 122 has, as such a GUI, a GUI for setting astigmatism, a GUI for setting spherical aberration, a GUI for setting coma, and a GUI for setting distortion.
  • And has a GUI for setting curvature of field.
  • the lens setting unit 122 sets the astigmatism coefficient input field 205A for inputting the astigmatism coefficient numerically and the astigmatism coefficient at the position of the knob as a GUI for setting the astigmatism. It has a point aberration coefficient slide bar 205B. Further, for example, the lens setting unit 122 has a spherical aberration coefficient input field 206A for inputting a spherical aberration coefficient numerically and a spherical aberration coefficient slide for setting the spherical aberration coefficient at the position of a knob as a GUI for setting the spherical aberration. It has a bar 206B.
  • the lens setting unit 122 has a coma aberration coefficient input field 207A for inputting a coma aberration coefficient numerically and a coma aberration coefficient slide for setting the coma aberration coefficient at the position of a knob as a GUI for setting the coma aberration. It has a bar 207B.
  • the lens setting unit 122 has a distortion aberration coefficient input field 208A for inputting a distortion aberration coefficient numerically and a distortion aberration coefficient slide for setting the distortion aberration coefficient at the position of a knob as a GUI for setting the distortion aberration. It has a bar 208B.
  • the lens setting unit 122 sets the field curvature coefficient input field 209A for inputting the curvature of field coefficient numerically and the curvature of field coefficient at the position of the knob as a GUI for setting the curvature of field. It has an image plane curvature coefficient slide bar 209B.
  • the lens setting unit 122 is a GUI button 210 which is a GUI button in which the lens setting is read from a predetermined file by the user operation, and a GUI button in which the lens setting is written out to the predetermined file by the user operation. It has a write button 211.
  • the lens setting unit 122 has a focus map input field 212A for designating the focus map and a reference button 212B when using an external focus map.
  • the focus map is map information in which parallax information is registered for each pixel (position) of the captured image.
  • the focusing process is immediately (real time) executed and the captured image display unit is used.
  • the processing result (virtual captured image) reflecting the change of those parameters is displayed on 110.
  • lens emulation can be performed more easily.
  • FIG. 14 is a diagram showing an example of the development screen 100 when such other image composition processing is performed. For example, when the user or the like selects the tab 101C on the tab display unit 101 of the development screen 100, the GUI for other image composition processing corresponding to the tab 101C is displayed on the GUI display unit 102.
  • this GUI includes a composite image display unit 310, an input / output setting unit 311 and a lens emulation unit 313. Further, the lens emulation unit 313 has a lens selection unit 321 and a lens setting unit 322.
  • the composite image display unit 310 can display a composite image obtained by synthesizing an image (virtual image) obtained by imaging using an emulated lens and an image to be composited, which is generated by a condensing process.
  • the user or the like can perform work for synthesizing the image to be synthesized with the virtual captured image in the composite image display unit 310.
  • the composite image display unit 310 can display a virtual captured image that is the result of the light-collecting process. Then, the user or the like can perform work for synthesizing the composite target image 310A with the virtual captured image.
  • the composite image display unit 310 can display a virtual captured image having a lower resolution than the original multi-viewpoint image obtained by actual imaging, as in the case of the captured image display unit 110. By doing so, it is possible to suppress an increase in load due to light collection processing, display of the light collection processing result, composition of images to be combined, and the like. Thereby, for example, processing such as light collection processing, display of the light collection processing result, and display of a composite image can be performed at higher speed without increasing the cost.
  • the composite image display unit 310 may display a virtual captured image having the same resolution as the original multi-viewpoint image. That is, the original multi-viewpoint image may be used for the condensing process, and as a result of the condensing process, a virtual captured image having a resolution equivalent to that of the original multi-viewpoint image may be obtained.
  • the input / output setting unit 311 is a GUI for inputting information related to input / output settings, like the input / output setting unit 111.
  • the information input by the input / output setting unit 311 is received by the application program and used for input / output setting.
  • An example of the input / output setting unit 311 is shown in FIG.
  • the input / output setting unit 311 has a depth file designation field 331A and a reference button 331B, which are GUIs for designating a depth file including depth data.
  • a depth file designation field 331A and a reference button 331B are GUIs for designating a depth file including depth data.
  • the user or the like inputs a file name or address in the depth file specification field 331A or operates the reference button 331B to start the GUI for file management, and the file is filed using the GUI for file management. Specify or specify the depth file to be input.
  • the input / output setting unit 311 has an RGB file designation field 332A and a reference button 332B, which are GUIs for designating an RGB file including an RGB image.
  • a user or the like inputs a file name or address in the RGB file specification field 332A or operates the reference button 332B to start a GUI for file management, and uses the GUI for file management to file a file. Specify or specify the RGB file to be input.
  • RGB image is a so-called captured image (RAW image), and is an image corresponding to RGB data composed of pixel values of R pixel, G pixel, and B pixel.
  • the depth image is an image of the depth data corresponding to the RGB image by assigning a color to each depth value.
  • the depth image is map information that expresses the distance (depth value) to the subject in each pixel of the RGB image by the color (pixel value) of each pixel.
  • the RGB image does not have to be a RAW image with a Bayer array.
  • the color space of the captured image is arbitrary and does not have to be an RGB image.
  • it may be an image of YUV, YCbCr, YPbPr or the like.
  • the captured image does not have to be a color image.
  • it may be a monochromatic image such as a monochrome image or a sepia toning image. That is, the RGB image may be any shape as long as it takes the form of an image.
  • the input / output setting unit 311 has a PSF file specification field 333A and a reference button 333B, which are GUIs for designating a PSF (Point Spread Function) file containing information on the point spread function.
  • a user or the like inputs a file name or address in the PSF file specification field 333A or operates the reference button 333B to start a GUI for file management, and uses the GUI for file management to file a file. Specify or specify the PSF file to be input.
  • the input / output setting unit 311 has an output folder designation field 334A and a reference button 334B, which are GUIs for designating a folder for outputting the composite image file which is the result of other image composition processing.
  • a user or the like inputs a folder name or address in the output folder specification field 334A or operates the reference button 334B to start a GUI for file management, and uses the GUI for file management to start a folder.
  • the input / output setting unit 311 has an FPSx2 input field 335 for inputting a frame rate.
  • the lens emulation unit 313 is a GUI related to lens emulation.
  • the lens selection unit 321 in the lens emulation unit 313 is a GUI for selecting a lens to be emulated. An example of this lens selection unit 321 is shown in FIG.
  • the lens selection unit 321 has a lens icon display unit 341 and a processing result storage unit 342.
  • the lens icon display unit 341 is a GUI for selecting a lens to be emulated, and an icon corresponding to a lens that is a candidate for emulation target is displayed.
  • the lens icon 351-1 to the lens icon 351-4 are displayed.
  • the lens icon 351-1 to the lens icon 351-4 are the same icons as the lens icon 181-1 to the lens icon 181-4, respectively. Similar to the case of the lens icon display unit 171, for example, when the user selects one of the lens icons 351, the lens corresponding to the selected lens icon 351 is selected (set) as the emulation target. That is, a lens parameter having a value corresponding to the selected lens icon 351 is set. Then, the lens is emulated using the set parameters, the aberration is set, the condensing process is performed, and the condensing process result (captured image) is displayed on the composite image display unit 310.
  • the lens parameter associated with the lens icon 351 includes a parameter for designating the aberration, and the user or the like can specify the aberration by selecting the lens icon 181.
  • the lens icon 351 corresponding to the lens as a candidate for embroidery is displayed on the lens icon display unit 341. Therefore, the user or the like can easily grasp the candidate for the emulation target by referring to the lens icon display unit 341.
  • the lens icons 351-1 to 353-1 are icons corresponding to lenses prepared in advance, that is, icons corresponding to lenses for which lens parameters are set in advance (preset lens icons) (testLens). ). Therefore, the user or the like can select the lens to be emulated without the need for complicated work such as generating a lens icon.
  • the lens icon 351-4 is an icon corresponding to a lens generated by a user or the like, that is, an icon corresponding to a lens whose lens parameters are set by the user or the like (user setting). Therefore, the user or the like can select lenses having a wider variety of specifications as targets for emulation.
  • the user or the like selects the subject to be focused by dragging and dropping the lens icon 351 displayed on the lens icon display unit 341 onto the composite image display unit 310. You may be able to do it. That is, the lens is emulated using the lens parameters corresponding to the dragged and dropped lens icon 351, the aberration is set, and the focusing process is performed so as to focus on the subject located at the destination of the lens icon 351. The result of the light-collecting process (captured image) may be displayed on the composite image display unit 310.
  • the number of lens icons 351 displayed on the lens icon display unit 341 is arbitrary and is not limited to the example of FIG.
  • the processing result storage unit 342 has the same GUI as the processing result storage unit 174.
  • the processing result storage unit 342 includes an image quality selection unit 361, a save button 362, and a focus range setting unit 363.
  • the image quality selection unit 361 has the same GUI as the image quality selection unit 191.
  • the save button 362 has the same GUI as the save button 192.
  • the focus range setting unit 363 is the same GUI as the focus range setting unit 193.
  • the lens setting unit 322 is a GUI for setting (customizing) lens parameters.
  • the information input in the lens setting unit 322 is accepted by the application program and used for lens emulation.
  • An example of this lens setting unit 322 is shown in FIG.
  • the lens setting unit 322 includes a simple lens emulation result display unit 371, an image height input field 372A, an image height setting slide bar 372B, a focus position input field 372C, and a focus position setting slide bar 372D.
  • the simple lens embroidery result display unit 371 has the same GUI as the simple lens emulation result display unit 201.
  • the image height input field 372A is the same GUI as the image height input field 202A.
  • the image height setting slide bar 372B has the same GUI as the image height setting slide bar 202B.
  • the focus position input field 372C is the same GUI as the focus position input field 202C.
  • the focus position setting slide bar 372D has the same GUI as the focus position setting slide bar 202D.
  • the lens setting unit 322 has an aperture input field 373 as a GUI for setting the aperture.
  • the aperture input field 373 is the same GUI as the aperture input field 203A.
  • the lens setting unit 322 has a focus position input field 374A and a focus position slide bar 374B for setting the focus position at the position of the knob as a GUI for setting the focus position.
  • the focus position input field 374A is the same GUI as the focus position input field 204A
  • the focus position slide bar 374B is the same GUI as the focus position slide bar 204B.
  • the lens setting unit 422 has a GUI for making settings related to aberrations.
  • the lens setting unit 322 has, as such a GUI, a GUI for setting astigmatism, a GUI for setting spherical aberration, a GUI for setting coma, and a GUI for setting distortion.
  • the lens setting unit 422 has, as such a GUI, a GUI for setting astigmatism, a GUI for setting spherical aberration, a GUI for setting coma, and a GUI for setting distortion.
  • And has a GUI for setting curvature of field.
  • the lens setting unit 322 has an astigmatism coefficient input field 375A and an astigmatism coefficient slide bar 375B as a GUI for setting astigmatism.
  • the astigmatism coefficient input field 375A has the same GUI as the astigmatism coefficient input field 205A
  • the astigmatism coefficient slide bar 375B has the same GUI as the astigmatism coefficient slide bar 205B.
  • the lens setting unit 322 has a spherical aberration coefficient input field 376A and a spherical aberration coefficient slide bar 376B as a GUI for setting spherical aberration.
  • the spherical aberration coefficient input field 376A is the same GUI as the spherical aberration coefficient input field 206A.
  • the spherical aberration coefficient slide bar 376B is the same GUI as the spherical aberration coefficient slide bar 206B.
  • the lens setting unit 322 has a coma aberration coefficient input field 377A and a coma aberration coefficient slide bar 377B as a GUI for setting coma aberration.
  • the coma aberration coefficient input field 377A is the same GUI as the coma aberration coefficient input field 207A.
  • the coma aberration coefficient slide bar 377B is the same GUI as the coma aberration coefficient slide bar 207B.
  • the lens setting unit 322 has a distortion aberration coefficient input field 378A and a distortion aberration coefficient slide bar 378B as a GUI for setting the distortion aberration.
  • the distortion aberration coefficient input field 378A is the same GUI as the distortion aberration coefficient input field 208A.
  • the distortion aberration coefficient slide bar 378B is the same GUI as the distortion aberration coefficient slide bar 208B.
  • the lens setting unit 322 has an image plane curvature coefficient input field 379A and an image plane curvature coefficient slide bar 379B as a GUI for setting the curvature of field.
  • the image plane curvature coefficient input field 379A is the same GUI as the image plane curvature coefficient input field 209A.
  • the curvature of field coefficient slide bar 209B is the same GUI as the image plane curvature coefficient slide bar 209B.
  • the lens setting unit 322 has a read button 380 and an write button 381, and the read button 380 is a GUI button similar to the read button 210.
  • the write button 381 is a GUI button similar to the write button 211.
  • ⁇ Other image composition work> As described above, the user or the like can perform the work of synthesizing the image to be combined with the displayed captured image (also referred to as other image composition work) in the composite image display unit 310. In addition to this, it is desirable to perform the image composition work after, for example, the depth processing of the captured image.
  • the user or the like determines the x, y positions of the image to be combined (for example, a CG (Computer Graphics) image) to be combined by a drag-and-drop operation.
  • the entire image to be combined is displayed while dragging, and when dropped, the occlusion with the captured image is reflected and displayed.
  • FIG. 18A when the composite target image 310A is located on the front side, the composite target image 310A is displayed with priority over the captured image (superimposed on the composite target image 310A of the captured image).
  • the part to be combined is displayed so as to be hidden by the image 310A to be synthesized).
  • the captured image is displayed with priority over the composite target image 310A (a portion that overlaps with the captured image of the composite target image 310A). Is displayed so as to be hidden in the captured image).
  • the user or the like determines the depth position of the composite target image by, for example, operating the mouse wheel while selecting the composite target image.
  • the size of the image to be combined may be controlled according to the depth position.
  • the image to be combined may be any image, a CG image, or a captured image.
  • the number of images to be combined with the captured image is arbitrary.
  • lens emulation may be performed on the synthesized space.
  • FIG. 19 is a diagram showing a main configuration example of a computer according to an embodiment of an image processing device to which the present technology is applied.
  • the computer 500 shown in FIG. 19 is a device that installs and executes an application program (software) that performs lens emulation and other image composition processing as described above using a multi-viewpoint image.
  • the computer includes a computer embedded in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • the application program the computer 500, for example, ⁇ 1.
  • the above-mentioned GUI (development screen 100) is used to accept the selection of the lens to be emulated, generate an aberration table which is a table of focused ray vectors due to the aberration of the selected lens, and the aberration table. Is used to perform a condensing process to generate an captured image of the subject through the selected lens. By doing so, the user can set the parameters related to the aberration only by selecting the lens, so that the lens can be emulated more easily.
  • FIG. 19 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. That is, in the computer 500, there may be a processing unit that is not shown as a block in FIG. 19, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 510 is also connected to the bus 504.
  • An input unit 511, an output unit 512, a storage unit 513, a communication unit 514, and a drive 515 are connected to the input / output interface 510.
  • the input unit 511 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 512 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 513 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
  • the communication unit 514 is composed of, for example, a network interface.
  • the drive 515 drives a removable recording medium 521 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads the application program stored in the storage unit 513 into the RAM 503 via the input / output interface 510 and the bus 504 and executes the above-mentioned computer 500. A series of processing is performed.
  • the RAM 503 also appropriately stores data and the like necessary for the CPU 501 to execute various processes.
  • the application program executed by the computer 500 can be recorded and applied to, for example, a removable recording medium 521 as a package medium or the like.
  • the application program can be installed in the storage unit 513 via the input / output interface 510 by mounting the removable recording medium 521 in the drive 515.
  • the application program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, this application program can be received by the communication unit 514 and installed in the storage unit 513.
  • this application program can be pre-installed in ROM 502 or storage unit 513.
  • FIG. 20 is a functional block diagram showing functions realized by executing this application program on the computer 500 as functional blocks.
  • the computer 500 executes an application program to perform functional blocks such as an emulation processing unit 531, a composition processing unit 532, a GUI processing unit 533, an image generation unit 534, and an output file generation unit 535. Can have.
  • functional blocks such as an emulation processing unit 531, a composition processing unit 532, a GUI processing unit 533, an image generation unit 534, and an output file generation unit 535.
  • Each functional block will be described below.
  • the emulation processing unit 531 performs processing related to lens emulation using the development screen 100 as shown in FIG. 7, for example.
  • the emulation processing unit 531 can have functional blocks such as an input / output setting unit 541, a depth estimation unit 542, a ray interpolation unit 543, an aberration table generation unit 544, and a light collection processing unit 545.
  • the input / output setting unit 541 performs processing related to input / output settings using a GUI such as the input / output setting unit 111 and the input / output setting unit 311. For example, when a user or the like operates the input unit 511 based on the GUI of the input / output setting unit 111, the input / output setting unit 311 or the like, the input / output setting unit 541 performs a process based on the operation received by the input unit 511. I do. For example, when the input unit 511 receives a file input instruction or an input file designation operation by a user or the like, the input / output setting unit 541 can perform processing such as reading the information of the designated file.
  • the input / output setting unit 541 can generate a file in the designated output folder.
  • the input / output setting unit 541 can set this input / output before, for example, estimating the depth.
  • the depth estimation unit 542 performs processing related to depth estimation using a GUI such as the depth estimation unit 112, for example. For example, when a user or the like operates the input unit 511 based on the GUI of the depth estimation unit 112 or the like, the depth estimation unit 542 performs a process based on the operation received by the input unit 511. For example, when the input unit 511 accepts a parameter specification operation by a user or the like, the depth estimation unit 542 estimates the depth of the subject from the multi-viewpoint image using the specified parameter, and depth data (may be a depth map). ) Can be generated. The depth estimation unit 542 can perform this depth estimation before, for example, ray interpolation.
  • the ray interpolation unit 543 performs ray interpolation using a multi-viewpoint image and depth data.
  • a viewpoint image serving as a viewpoint between the viewpoint images included in the captured image is generated by interpolation processing.
  • interpolation processing By increasing the number of viewpoint images in this way, a virtual image is generated from a larger number of viewpoint images including the viewpoint image generated by the interpolation process. This makes it possible to generate a higher-definition virtual captured image.
  • the processing of the ray interpolation unit 543 becomes unnecessary.
  • the ray interpolation unit 543 can perform this ray interpolation before generating the aberration table, for example.
  • the aberration table generation unit 544 performs processing related to the generation of the aberration table using a GUI such as the lens selection unit 121 or the lens setting unit 122 of the development screen 100, for example. For example, when a user or the like operates the input unit 511 based on the GUI of the lens selection unit 121, the lens setting unit 122, or the like, the aberration table generation unit 544 performs processing based on the operation received by the input unit 511. .. For example, a user or the like selects a lens to be emulated based on the lens selection unit 121, customizes a lens parameter based on a GUI of the lens setting unit 122 or the like, and the operation is accepted by the input unit 511. Then, the aberration table generation unit 544 can generate an aberration table, which is a table of focused ray vectors due to five aberrations, by using the parameters of the selected lens and the customized lens parameters.
  • the condensing processing unit 545 can perform condensing processing using the aberration table and the multi-viewpoint image, and generate an image (virtual image) in which the subject is imaged through the selected lens.
  • the light collection processing unit 545 can perform this light collection processing using a multi-viewpoint image having an arbitrary resolution.
  • the condensing processing unit 545 performs condensing processing using a multi-viewpoint image having a lower resolution than the original multi-viewpoint image obtained in the actual imaging, and virtually has a lower resolution than the original multi-viewpoint image. Capturing images can be generated.
  • the lens emulation unit 113 After the depth map is determined by the depth estimation, the lens emulation unit 113 is enabled, and the lens selection is accepted, the ray interpolation unit 543 performs ray interpolation, and the interpolated ray information is obtained. It may be retained. By doing so, it is possible to clearly separate the light ray interpolation processing and the depth estimation processing, which have a large load. Further, by performing light beam interpolation at the timing when the lens is selected, when the lens parameter is changed after that, a virtual captured image can be obtained only by generating an aberration table or performing a focusing process. That is, a virtual captured image (condensing processing result) can be obtained at a higher speed.
  • the other image compositing processing unit 532 performs processing related to the other image compositing process using, for example, the development screen 100 (GUI for the other image compositing process corresponding to the tab 101C) shown in FIG. For example, when a user or the like operates the input unit 511 based on the GUI, the other image composition processing unit 532 receives the operation received by the input unit 511 for the virtual captured image generated by the condensing process. , A composite image can be generated by synthesizing the composite target image.
  • the GUI processing unit 533 performs processing related to the GUI displayed on the output unit 512 (monitor or the like). For example, the GUI processing unit 533 can cause the image generation unit 534 to generate a display image such as a GUI. Further, when the input unit 511 is operated based on the displayed GUI, the GUI processing unit 533 includes the emulation processing unit 531, the other image composition processing unit 532, and the image generation unit 534 according to the accepted operation. Etc. can be controlled and the processing corresponding to the operation can be executed.
  • the GUI processing unit 533 can acquire the information input to the input unit 511 based on the displayed GUI and supply it to the emulation processing unit 531, the other image composition processing unit 532, the image generation unit 534, and the like. can. That is, the GUI processing unit 533 can control the reception of input information and the display of images.
  • the image generation unit 534 performs processing related to generation of a display image (for example, the development screen 100). For example, the image generation unit 534 generates the display image controlled by the GUI processing unit 503. At that time, the image generation unit 534 can generate a display image using, for example, information supplied from the GUI processing unit 503. For example, the image generation unit 534 can reflect information such as a file name and a path input to the input unit 511 on the development screen 100 (that is, generate a development screen 100 including the file name and the path).
  • the image generation unit 534 reflects, for example, the virtual captured image generated by the condensing processing unit 545 and the composite image generated by the other image compositing processing unit 532 on the development screen 100 (that is, the virtual captured image). And a development screen 100 on which a composite image is displayed) can be generated. Further, the image generation unit 534 can supply the generated display image to the output unit 512 (monitor or the like) and display the generated image.
  • the output file generation unit 535 performs processing related to generation of the output file. For example, the output file generation unit 535 can generate an output file for outputting a virtual captured image generated by the condensing processing unit 545 and a composite image generated by another image composition processing unit 532.
  • the output file generation unit 535 supplies the generated output file to the storage unit 513 for storage, transmits the generated output file to another device via the communication unit 514, and records the generated output file on the removable recording medium 521 via the drive 515. Can be made to. That is, the output file generation unit 535 can control the output (storage, transmission, recording, etc.) of the output file (virtually captured image, composite image, etc.).
  • the output file generation unit 535 outputs (stores, transmits, records, etc.) a virtual captured image or a composite image at a resolution higher than the resolution at the time of emulation (for example, a resolution equivalent to the original multi-viewpoint image). Can be done.
  • the output file generation unit 535 can also output (store, transmit, record, etc.) the virtual captured image or the composite image at the resolution at the time of embroidery. That is, the output file generation unit 535 can control the resolution of the virtual captured image or the composite image at the time of output.
  • the computer 500 can be, for example, ⁇ 1.
  • the above-mentioned processing can be performed in lens emulation> or the like, and the above-mentioned effect can be obtained.
  • the GUI processing unit 533 displays the GUI (development screen 100) on the monitor in step S501 of FIG. 21 and starts accepting input.
  • step S502 the input / output setting unit 541 sets the input / output based on the information input to the input unit 511 based on, for example, the input / output setting unit 111 of the development screen 100.
  • step S503 the depth estimation unit 542 estimates the depth based on the result of the input / output setting performed in step S502, the information input to the input unit 511 based on, for example, the depth estimation unit 112 of the developing screen 100, and the like. And generate depth data.
  • step S504 the GUI processing unit 533 determines whether or not the lens icon 181 has been selected, for example, in the lens selection unit 121 of the development screen 100. If it is determined that the lens icon 181 is selected, the process proceeds to step S505.
  • step S505 the ray interpolation unit 543 uses the depth data generated in step S503 as a result of the input / output setting performed in step S502, the lens parameters corresponding to the lens icon 181 selected in step S504, and the like. Perform ray interpolation.
  • step S505 the process proceeds to step S507.
  • step S504 If it is determined in step S504 that the lens icon 181 is not selected, the process proceeds to step S506.
  • step S506 the GUI processing unit 533 determines, for example, whether or not the parameter has been changed in the lens setting unit 122 of the development screen 100. If it is determined that the parameter has been changed, the process proceeds to step S507.
  • step S507 the aberration table generation unit 544 generates an aberration table using the set parameters (parameters of the selected lens or customized parameters).
  • step S508 the condensing processing unit 545 performs condensing processing using the aberration table generated in step S507, and generates a virtual captured image captured through the selected lens.
  • step S509 the image generation unit 534 generates a display image using the virtual captured image.
  • step S510 the image generation unit 534 displays the display image on the monitor of the output unit 512.
  • step S506 If it is determined in step S506 that the parameters have not been changed, the process proceeds to FIG.
  • step S521 of FIG. 22 the output file generation unit 535 determines whether or not to output the data. If it is determined to output, the process proceeds to step S522. In step S522, the output file generation unit 535 generates output data. In step S523, the output file generation unit 535 outputs the output data. For example, the output file generation unit 535 stores the generated output data in the storage unit 513, transmits the generated output data to another device via the communication unit 514, or records the generated output data in the removable recording medium 521 via the drive 515. can do. When the process of step S523 is completed, the process proceeds to step S524. If it is determined in step S521 that the data is not output, the process proceeds to step S524.
  • step S524 the GUI processing unit 533 determines whether or not to end this lens emulation processing. If it is determined that the process is not completed, the process returns to step S502 in FIG. 21, and the subsequent processes are executed. If it is determined in step S524 of FIG. 22 that the lens embroidery process is finished, the lens embroidery process is finished.
  • step S555 the other image composition processing unit 532 sets the position of the image to be combined.
  • step S556 the other image compositing processing unit 532 synthesizes the compositing target image with the virtual captured image to generate a compositing image.
  • step S557 the image generation unit 534 generates a display image using the composite image and displays it on the monitor of the output unit 512.
  • each process of steps S558 to S561 is executed in the same manner as each process of steps S521 to S524 of FIG. If it is determined in step S561 that the other image compositing process is finished, the other image compositing process is finished.
  • the present technology can be applied to any configuration.
  • the present technology is a device such as a processor as a system LSI (Large Scale Integration), a module using a plurality of processors, a unit using a plurality of modules, or a set in which other functions are added to the unit. It can also be implemented as a partial configuration.
  • this technology can be applied to a network system composed of a plurality of devices.
  • the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
  • the present technology may be implemented in a cloud service that provides services to arbitrary terminals such as computers, portable information processing terminals, and IoT (Internet of Things) devices.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • Systems, devices, processing departments, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. Moreover, the use is arbitrary.
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
  • a configuration other than the above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
  • the above-mentioned program may be executed in any device.
  • the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
  • each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
  • the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
  • a plurality of processes included in one step can be executed as processes of a plurality of steps.
  • the processes described as a plurality of steps can be collectively executed as one step.
  • the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and the calls may be made in parallel or in parallel. It may be executed individually at the required timing such as when it is broken. That is, as long as there is no contradiction, the processing of each step may be executed in an order different from the above-mentioned order. Further, the processing of the step for writing this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.
  • a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
  • any plurality of the present technologies can be used in combination.
  • some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. It is also possible to carry out a part or all of any of the above-mentioned techniques in combination with other techniques not described above.
  • the present technology can also have the following configurations.
  • An aberration table generator that generates an aberration table, which is a table of focused ray vectors due to the aberration of the lens to be emulated selected via the user interface.
  • An image processing device including a condensing processing unit that performs condensing processing to generate a virtual captured image in which a subject is imaged through the selected lens by using the aberration table and a multi-viewpoint image.
  • a display control unit for displaying the user interface on the display unit is further provided.
  • the user interface includes an icon corresponding to each lens that is a candidate for emulation.
  • the image processing apparatus according to (1), wherein the aberration table generation unit generates the aberration table using the lens parameters corresponding to the icons selected via the user interface.
  • the image processing apparatus includes, as the icon, an icon corresponding to a lens in which lens parameters are set in advance.
  • the user interface includes, as the icon, an icon corresponding to a lens whose lens parameters are set by the user.
  • the image processing apparatus according to (2), wherein the user interface further includes the virtual captured image generated by the condensing process.
  • the light-collecting processing unit focuses the drop position of the icon by performing the light-collecting processing in response to the drag-and-drop operation of the selected icon performed in the user interface.
  • the image processing apparatus according to (5), which generates the virtual captured image.
  • the condensing processing unit performs the condensing process using the multi-view image whose resolution has been reduced, so that the virtual imaging having a lower resolution than the multi-view image before the resolution is reduced.
  • the user interface includes a user interface for updating the lens parameter corresponding to the selected icon.
  • the image processing apparatus wherein the aberration table generation unit generates the aberration table using the lens parameters updated via the user interface.
  • the user interface includes the virtual captured image in which a point light source is the subject, which represents the result of the condensing process.
  • the user interface includes at least one of a user interface for setting an aperture and a user interface for setting a focal position.
  • the user interface includes a user interface for making settings related to aberrations.
  • the image processing apparatus further including a depth estimation unit that estimates the depth before the ray interpolation is performed.
  • the user interface includes a user interface for making settings related to the depth estimation.
  • the image processing apparatus 14), wherein the depth estimation unit performs the depth estimation based on the settings related to the depth estimation set via the user interface.
  • the image processing apparatus 14), further including an input / output setting unit that sets input / output before the depth estimation is performed.
  • the user interface includes a user interface for inputting information regarding the input / output settings.
  • the image processing apparatus according to (16), wherein the input / output setting unit sets the input / output based on the information regarding the input / output setting input via the user interface.
  • the image processing apparatus further comprising another image compositing processing unit that synthesizes the virtual captured image and the image to be synthesized.
  • An aberration table which is a table of focused ray vectors due to the aberration of the lens to be emulated selected selected via the user interface, is generated.
  • An image processing method that uses the aberration table and a multi-viewpoint image to perform condensing processing to generate a virtual captured image in which a subject is imaged through the selected lens.
  • Computer An aberration table generator that generates an aberration table, which is a table of focused ray vectors due to the aberration of the lens to be emulated selected via the user interface.
  • a program that uses the aberration table and a multi-viewpoint image to function as a condensing processing unit that performs condensing processing to generate a virtual captured image of a subject imaged through the selected lens.

Abstract

本開示は、より容易にレンズのエミュレーションを行うことができるようにする画像処理装置および方法、並びにプログラムに関する。 ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、その収差テーブルと多視点画像とを用いて、その選択されたレンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う。本開示は、例えば、画像処理装置、情報処理装置、撮像装置、電子機器、情報処理方法、またはプログラム等に適用することができる。

Description

画像処理装置および方法、並びにプログラム
 本開示は、画像処理装置および方法、並びにプログラムに関し、特に、より容易にレンズのエミュレーションを行うことができるようにした画像処理装置および方法、並びにプログラムに関する。
 従来、視点が互いに異なる複数の画像からなる多視点画像から、ユーザ設定に応じて仮想レンズで撮像したような画像を生成する仮想のレンズのエミュレーションを行い、その画像をユーザに提供することが考えられた(例えば、特許文献1参照)。
国際公開第2015/037472号
 本開示は、このような仮想のレンズのエミュレーションをより容易に行うことができるようにするものである。
 本技術の一側面の画像処理装置は、ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部とを備える画像処理装置である。
 本技術の一側面の画像処理方法は、ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う画像処理方法である。
 本技術の一側面のプログラムは、コンピュータを、ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部として機能させるプログラムである。
 本技術の一側面の画像処理装置および方法、並びにプログラムにおいては、ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルが生成され、その収差テーブルと多視点画像とが用いられて、その選択されたレンズを介して被写体を撮像した仮想撮像画像を生成する集光処理が行われる。
カメラの例を示す斜視図である。 全体画像の例を示す図である。 個眼画像の例を示す図である。 合成画像の例を示す図である。 撮像画像とデプス画像の例を示す図である。 レンズのエミュレーションについて説明する図である。 現像画面の例を示す図である。 入出力設定部の例を示す図である。 キャリブレーションファイルの例を示す図である。 現像設定ファイルに記載されるパラメータの例を示す図である。 奥行推定部の例を示す図である。 レンズ選択部の例を示す図である。 レンズ設定部の例を示す図である。 現像画面の例を示す図である。 入出力設定部の例を示す図である。 レンズ選択部の例を示す図である。 レンズ設定部の例を示す図である。 合成画像の例を示す図である。 コンピュータの主な構成例を示すブロック図である。 コンピュータにおいて実現される機能を示す機能ブロック図である。 レンズエミュレーション処理の流れの例を説明するフローチャートである。 レンズエミュレーション処理の流れの例を説明する、図21に続くフローチャートである。 合成処理の流れの例を説明するフローチャートである。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.レンズエミュレーション
 2.第1の実施の形態(現像処理装置)
 3.付記
 <1.レンズエミュレーション>
  <多視点画像>
 レンズエミュレーションを行うために必要とされる視点が互いに異なる複数の画像からなる多視点画像を生成する撮像装置としては、例えば、図1のカメラ10のような構成が考えられる。カメラ10は、イメージセンサを内蔵し、レンズによって集光される光線を受光して光電変換を行うことにより被写体を撮像し、多視点画像を生成する。
 カメラ10は、そのイメージセンサの正面側(光が入射する側)に設けられた鏡筒に、複数(例えば5個)の個眼光学系を有する。この複数の個眼光学系は、それぞれを通過する光の光路が互いに独立するように構成される。つまり、鏡筒の各個眼光学系を通過した光は、他の個眼光学系に入射せずにイメージセンサの受光面(例えば有効画素領域)の互いに異なる位置に照射する。少なくとも、各個眼光学系の光軸は、イメージセンサの受光面の互いに異なる場所に位置しており、各個眼光学系を通過した光の少なくとも一部が、イメージセンサの受光面の互いに異なる位置に照射する。
 したがって、イメージセンサにより生成される撮像画像(イメージセンサの出力する画像全体)には、各個眼光学系を介して結像された被写体の画像が互いに異なる位置に形成される。換言するに、その撮像画像から、各個眼光学系を視点とする撮像画像が得られる。
 例えば、カメラ10で被写体を撮像することにより、図2に示されるような全体画像20を得ることができる。全体画像20には、各個眼光学系に対応する個眼画像(各個眼光学系を介して入射された被写体からの光を光電変換した画像)が含まれる。図2の例の場合、全体画像20には、5つの個眼画像が含まれている。
 なお、この全体画像20は、イメージセンサにより生成される撮像画像全体であってもよいし、その撮像画像より切り出された部分画像(ただし、全ての個眼画像を含む)であってもよい。また、この全体画像20は、RAWフォーマットの画像であってもよいし、YCフォーマットの画像であってもよい。なお、全体画像20に含まれる個眼画像の数は任意である(ただし、カメラ10に設けられた個眼光学系の数に依存する)。
 この個眼画像の一部が切り出されて個眼光学系を視点とする視点画像が生成される。図2の例の場合、全体画像20の、視点画像領域210、視点画像領域211、視点画像領域212、視点画像領域213、および視点画像領域214の5つの視点画像領域21から画像を切り出すことができる。これらの視点画像領域21から切り出された画像が、それぞれ、視点画像とされる。つまり、全体画像20から多視点画像を得ることができる。換言するに、全体画像20を得ることは、多視点画像を得ることと実質的に等価である。
 また、例えば、カメラ10で被写体を撮像することにより、図3に示されるような複数の視点画像を得ることができるようにしてもよい。図3において、視点画像220、視点画像221、視点画像222、視点画像223、および視点画像224は、カメラ10の各個眼光学系に対応する(各個眼光学系を視点とする)視点画像である。つまり、これらの視点画像22は、上述の全体画像20の各視点画像領域21から切り出された画像ともいえる。このように多視点画像が得られる。
 なお、図3には、カメラ10による1回の撮像で得られる視点画像22の例が示されているが、この視点画像22の数は任意である(ただし、カメラ10に設けられた個眼光学系の数に依存する)。
 また、例えば、カメラ10で被写体を撮像することにより、図4に示されるようなマルチ視点合成画像23を得ることができるようにしてもよい。図4に示されるマルチ視点合成画像23は、複数の視点画像22を1つの画像(フレーム)内に配置されるように合成して生成された、その複数の視点画像22を含む画像である。当然、このマルチ視点合成画像23から各視点画像22を切り出すことができる。つまり、マルチ視点合成画像23から多視点画像を得ることができる。換言するに、マルチ視点合成画像23を得ることは、多視点画像を得ることと実質的に等価である。
 以上のように、カメラ10は、被写体を撮像することにより、多視点画像を得ることができる。この多視点画像は、例えば、奥行情報の生成や、その奥行情報を用いたリフォーカス等の処理に利用することができる。
 なお、多視点画像の生成方法は任意であり、カメラ10以外の装置やシステムを用いて生成してもよい。例えば、互いに異なる視点となる複数のカメラ(複数のイメージセンサ)を用いて被写体を撮像することにより、多視点画像を生成してもよい。
  <多視点画像の利用>
 例えば、ステレオマッチングの手法等を用いることで、視点が互いに異なる複数の視点画像からなる多視点画像から、その多視点画像における被写体までの距離を示すデプスデータを求め、そのデプスデータを用いて多視点画像を構成する各視点画像を重ね合わせて画像を生成し、その画像をユーザに提供することができる。
 このような手法を用いて、例えば、多視点画像から図5のAに示されるようなデプス画像31を生成することができる。このデプス画像31は、撮像画像の各画素における被写体までの距離を画素値とする画像である。つまり、デプス画像31は、デプスデータを画像化したものである。また、そのデプス画像31を用いて決定された比率で多視点画像を構成する各視点画像を重ね合わせる(重ね合わせて合成する)ことにより、図5のBに示されるような仮想撮像画像32を生成することができる。
 このような手法により、例えば、焦点距離を任意に設定して仮想撮像画像32を生成することができる。つまり、レンズに関するパラメータであるレンズパラメータを任意に設定して仮想撮像画像32を生成することができる。換言するに、仮想のレンズを設定し、その仮想のレンズを介して被写体を撮像した撮像画像をエミュレートした仮想撮像画像を生成することができる。つまり、レンズのエミュレーションを行うことができる。
 例えば、図6に示されるような仮想のレンズ40が設定され、その仮想のレンズ40に入射する被写体からの入射光である光線ベクトル41、仮想のレンズ40を透過した後の入射光である光線ベクトル42、および、光線ベクトル42から撮像画像を得るイメージセンサ43からなる撮像システムがエミュレーションされる(模擬的に現出される)。そして、そのエミュレーションに基づいて、多視点画像から仮想撮像画像が生成される。
 このようなレンズのエミュレーションでは、任意の仕様の光学系をエミュレーションすることができる。つまり、エミュレーションの対象は、実在する光学系であっても非現実的な光学系であってもよい。このようなエミュレーションにより、多様な光学系により得られる撮像画像の再現が可能である。例えば、多視点画像の生成に用いた光学系よりも大口径の光学系を用いた撮像画像、多視点画像よりも高解像度な撮像画像、多視点画像よりも広角な撮像画像、多視点画像よりも画角が狭く焦点距離が遠い撮像画像等も容易に再現可能である。したがって、例えば、高級なレンズを用いて撮像された撮像画像や、非現実的な光学系を用いて撮像された撮像画像等も容易に再現することができる。つまり、より多様な撮像画像(仮想撮像画像)をより安価に生成することができる。
  <レンズ選択による収差設定>
 本開示では、ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、その収差テーブルと多視点画像とを用いて、その選択されたレンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行うようにする。
 このようにすることにより、収差に関するパラメータの設定作業が不要になるので、より容易にレンズのエミュレーションを行うことができる。
 なお、集光処理により生成される撮像画像は、その選択されたレンズを用いた仮想の撮像により得られる画像である。したがって、この撮像画像は、仮想撮像画像ともいえる。また、ここで選択されるレンズは、実際の撮像に用いられたものでなくてもよく、現実世界に存在するものであってもよいし、存在しないものであってもよい。
  <現像画面>
 以上のような多視点画像を用いたレンズのエミュレーションを、ユーザの操作入力に基づいて処理を行うアプリケーションプログラムにより実現してもよい。例えば、アプリケーションプログラムが、GUI(Graphical User Interface)をモニタに表示し、ユーザによるエミュレーション対象のレンズの選択を受け付けるようにしてもよい。
 例えば、ユーザインタフェースを表示部に表示させ、ユーザインタフェースは、エミュレーション対象の候補となる各レンズに対応するアイコンを含み、そのユーザインタフェースを介して選択されたアイコンに対応するレンズパラメータを用いて収差テーブルを生成するようにしてもよい。
 図7に示される現像画面100は、アプリケーションプログラムによりモニタに表示される、多視点画像の現像処理を行うためのGUIである。このアプリケーションプログラムは、多視点画像の現像処理として、例えば上述したように多視点画像を用いてレンズのエミュレーションを行い、そのレンズを介して被写体を撮像した仮想撮像画像を生成することができる。その際、アプリケーションプログラムは、図7に示されるような現像画面100をモニタに表示させ、その現像画面100に基づいて行われるユーザ操作を受け付ける。
 図7に示されるように、現像画面100は、タブ表示部101およびGUI表示部102を有する。タブ表示部101には、GUI表示部102に表示されるGUIを切り替えるためのタブが表示される。図7の例の場合、このタブ表示部101には、タブ101A(Tab1)、タブ101B(Tab2)、タブ101C(CGLE)、およびタブ101D(Gen_onj)が表示されている。タブ表示部101に表示されるタブの数は任意である。
 GUI表示部102には、タブ表示部101において選択されているタブに対応するGUIが表示される。図7の例においては、タブ101Aが選択され、タブ101Aに対応するGUIがGUI表示部102に表示されている。このGUIは、レンズのエミュレーション用のGUIである。
 図7に示されるように、このGUIは、撮像画像表示部110、入出力設定部111、奥行推定部112、およびレンズエミュレーション部113を有する。
 撮像画像表示部110は、集光処理により生成される、エミュレーションされたレンズを用いた撮像により得られる撮像画像(仮想撮像画像)を、集光処理結果として表示することができる。ユーザは、この撮像画像表示部110に表示される撮像画像を確認することにより、集光処理結果を把握することができる。
 なお、レンズのエミュレーションは、低解像度化された多視点画像を用いて行うことができる。この場合、エミュレーション結果として得られる仮想撮像画像は、オリジナルの多視点画像(低解像度化される前の多視点画像)よりも低解像度である。つまり、撮像画像表示部110には、その低解像度の仮想撮像画像が表示される。換言するに、撮像画像表示部110は、現実の撮像により得られたオリジナルの多視点画像よりも低解像度の仮想撮像画像を表示することができる。このようにすることにより、集光処理やその集光処理結果の表示による負荷の増大を抑制することができる。これにより、コストを増大せずに集光処理やその集光処理結果の表示をより高速に行うことができるので、撮像画像表示部110は、例えば、集光処理結果の表示をより高速に行うことができる。なお、もちろん、集光処理にオリジナルの多視点画像が用いられるようにしてもよい。この場合、その集光処理結果として、オリジナルの多視点画像と同等の解像度の仮想撮像画像が得られる。つまり、撮像画像表示部110が、オリジナルの多視点画像と同等の解像度の仮想撮像画像を表示してもよい。
 入出力設定部111は、入出力の設定に関する情報入力のためのGUIである。奥行推定部112は、奥行推定に関するGUIである。レンズエミュレーション部113は、レンズのエミュレーションに関するGUIである。このレンズエミュレーション部113は、レンズ選択部121およびレンズ設定部122を含む。レンズ選択部121は、エミュレーションの対象とするレンズの選択に関するGUIである。レンズ設定部122は、レンズの設定に関するGUIである。各GUIの構成について以下に説明する。
   <入出力設定部>
 図8は、入出力設定部111の例を示す図である。入出力設定部111は、入出力の設定に関する情報入力のためのGUIである。この入出力設定部111において入力された情報がアプリケーションプログラムによって受け付けられ、入出力の設定に用いられる。
 例えば、入出力設定部111は、入力ファイル指定欄131Aおよび参照ボタン131Bを有する。入力ファイル指定欄131Aは、入力するファイル(入力ファイルとも称する)を設定するためのGUIである。この入力ファイルには、例えば、集光処理に用いられる多視点画像のデータ等が含まれる。つまり、この入力ファイルを指定することにより、入力する多視点画像が指定される。ユーザは、例えばキーボード等を操作して、この入力ファイル指定欄131Aにファイル名やアドレスを、文字や記号を用いて入力することができる。この入力ファイル指定欄131Aに入力されたファイル名やアドレスによって指定されるファイルが入力ファイルとして設定される。つまり、その入力ファイルに含まれる多視点画像のデータ等がアプリケーションプログラムに読み込まれる。
 参照ボタン131Bは、ファイル管理用のGUIを利用して入力ファイルを指定するためのGUIボタンである。ユーザがこの参照ボタン131Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてファイルを指定する。ファイルが指定されると、そのファイルのファイル名やアドレスが入力ファイル指定欄131Aに入力される。つまり、そのファイルが入力ファイルとして設定される。つまり、その入力ファイルに含まれる多視点画像のデータ等が読み込まれる。
 また、入出力設定部111は、出力フォルダ指定欄132Aおよび参照ボタン132Bを有する。出力フォルダ指定欄132Aは、例えば集光処理結果の撮像画像のデータ等を含むファイルを出力するフォルダ(出力フォルダとも称する)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、この出力フォルダ指定欄132Aにフォルダ名やアドレスを、文字や記号を用いて入力することができる。この出力フォルダ指定欄132Aに入力されたフォルダ名やアドレスによって指定されるフォルダが出力フォルダとして設定される。つまり、生成されたファイルは、その出力フォルダに格納される。
 参照ボタン132Bは、ファイル管理用のGUIを利用して出力フォルダを指定するためのGUIボタンである。ユーザがこの参照ボタン132Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてフォルダを指定する。フォルダが指定されると、そのフォルダのフォルダ名やアドレスが出力フォルダ指定欄132Aに入力される。つまり、そのフォルダが出力フォルダとして設定される。つまり、生成されたファイルは、その出力フォルダに格納される。
 さらに、入出力設定部111は、キャリブレーションファイル指定欄133Aおよび参照ボタン133Bを有する。キャリブレーションファイル指定欄133Aは、視点間のひずみ情報を特定するためのキャリブレーションデータ等が記述されたファイル(キャリブレーションファイルとも称する)を設定するためのGUIである。つまり、このキャリブレーションファイルを指定することにより、視点間のキャリブレーションに用いられるキャリブレーションデータが設定される。ユーザは、例えばキーボード等を操作して、このキャリブレーションファイル指定欄133Aにファイル名やアドレスを、文字や記号を用いて入力することができる。このキャリブレーションファイル指定欄133Aに入力されたファイル名やアドレスによって指定されるファイルがキャリブレーションファイルとして設定される。つまり、そのキャリブレーションファイルに含まれるキャリブレーションデータ等が読み込まれる。
 参照ボタン133Bは、ファイル管理用のGUIを利用してキャリブレーションファイルを指定するためのGUIボタンである。ユーザがこの参照ボタン133Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてファイルを指定する。ファイルが指定されると、そのファイルのファイル名やアドレスがキャリブレーションファイル指定欄133Aに入力される。つまり、そのファイルがキャリブレーションファイルとして設定される。つまり、そのキャリブレーションファイルに含まれるキャリブレーションデータ等が読み込まれる。
 図9に示される表151は、そのキャリブレーションファイルに記述される情報の例を示す。例えば機種モードは、カメラ10のモードを示す情報である。基線長は、各個眼光学系間の距離を示す情報である。CMNは、個眼光学系の数(すなわち視点数)を示す情報である。DepthMax初期値は、後述するデプス値の最大値(DepthMax)の初期値を示す情報である。EDGE初期値は、後述するEDGEの初期値を示す情報である。
 Raw_widthは、RAW画像、すなわちカメラ10のイメージセンサにおいて得られる撮像画像全体の幅(水平方向の解像度)を示す情報である。Raw_heightは、その撮像画像全体の高さ(垂直方向の解像度)を示す情報である。Pros_widthは、各視点画像の幅(水平方向の解像度)を示す情報である。Pros_heightは、各視点画像の高さ(垂直方向の解像度)を示す情報である。
 CentrePros[N].x(Nは、例えば0乃至4の整数)は、カメラ10のイメージセンサにおいて得られる撮像画像全体における各視点画像の中心のx座標を示し、CentrePros[N].y(Nは、例えば0乃至4の整数)は、そのy座標を示す。なお、Nは、視点画像(個眼光学系)の識別番号を示す。例えば図1のカメラ10の場合、視点数が5であるので、Nには、0、1、2、3、4のいずれかが設定される。
 キャリブレーションチャートの横幅[mm]は、キャリブレーションに用いられるチャート(キャリブレーションチャートとも称する)(例えば国際公開第2019/078032号参照)の横幅を長さ[mm]で示す情報である。また、キャリブレーションチャートの横幅[pixel]は、その横幅を解像度[pixel]で示す情報である。さらに、カメラからキャリブレーションチャートまでの距離[mm]は、キャリブレーション用の撮像の際のカメラ10からキャリブレーションチャートまでの距離[mm](つまり、キャリブレーションチャートのデプス値)を示す情報である。
 キャリブレーションファイルが指定されることによりこれらの情報が設定される。もちろん、キャリブレーションファイルの内容は任意であり、例えば図9に示される例以外のキャリブレーションデータが含まれていてもよいし、図9に示されるキャリブレーションデータの一部が含まれていなくてもよい。
 図8に戻り、入出力設定部111は、現像設定ファイル指定欄134Aおよび参照ボタン134Bを有する。現像設定ファイル指定欄134Aは、眼数情報や基線長などハードウエア情報が記述されたファイル(現像設定ファイルとも称する)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、この現像設定ファイル指定欄134Aにファイル名やアドレスを、文字や記号を用いて入力することができる。この現像設定ファイル指定欄134Aに入力されたファイル名やアドレスによって指定されるファイルが現像設定ファイルとして設定される。つまり、その現像設定ファイルに含まれるハードウエア情報等が読み込まれる。
 参照ボタン134Bは、ファイル管理用のGUIを利用して現像設定ファイルを指定するためのGUIボタンである。ユーザがこの参照ボタン134Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてファイルを指定する。ファイルが指定されると、そのファイルのファイル名やアドレスが現像設定ファイル指定欄134Aに入力される。つまり、そのファイルが現像設定ファイルとして設定される。つまり、その現像設定ファイルに含まれるハードウエア情報等が読み込まれる。
 図10に示される表152は、その現像設定ファイルに記述されるハードウエア情報の例を示す。現像設定ファイルには、例えば、機種情報、基線長、視点数、キャリブ調整値、DepthMax初期値、EDGE初期値、処理マージン、解像度、処理解像度、暫定値、カラーフィルタ情報、視点Nセンター座標、焦点距離、レンズ装着誤差検出用のスポット光の座標を示すLED座標(例えば、国際公開第2019/78032号参照)、そのスポット光の処理解像度を示すLED処理解像度(例えば、国際公開第2019/78032号参照)、キャリブレーション時情報等の各種ハードウエア情報が含まれる。現像設定ファイルが指定されることによりこれらの情報が設定される。もちろん、現像設定ファイルの内容は任意であり、例えば図10に示される例以外のハードウエア情報が含まれていてもよいし、図10に示されるハードウエア情報の一部が含まれていなくてもよい。
 図8に戻り、入出力設定部111は、HDR(High Dynamic Range)ファイル指定欄135Aおよび参照ボタン135Bを有する。HDRファイル指定欄135Aは、飽和輝度量を推定可能にするファイル(HDRファイルとも称する)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、このHDRファイル指定欄135Aにファイル名やアドレスを、文字や記号を用いて入力することができる。このHDRファイル指定欄135Aに入力されたファイル名やアドレスによって指定されるファイルがHDRファイルとして設定される。つまり、そのHDRファイルに含まれる情報が読み込まれる。
 参照ボタン135Bは、ファイル管理用のGUIを利用してHDRファイルを指定するためのGUIボタンである。ユーザがこの参照ボタン135Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてファイルを指定する。ファイルが指定されると、そのファイルのファイル名やアドレスがHDRファイル指定欄135Aに入力される。つまり、そのファイルがHDRファイルとして設定される。つまり、そのHDRファイルに含まれる情報が読み込まれる。
 また、入出力設定部111は、閾値指定欄136、ゲイン指定欄137、およびHDRボタン138を有する。
 閾値指定欄136は、閾値(TH)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、この閾値指定欄136に閾値を入力することができる。この閾値指定欄136に入力された数値が閾値として設定される。
 ゲイン指定欄137は、ゲイン(gain)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、このゲイン指定欄137にゲインを数値で入力することができる。このゲイン指定欄137に入力された数値がゲインとして設定される。
 HDRボタン138は、HDR処理を開始するためのGUIである。ユーザがこのHDRボタン138を操作することにより、HDR処理が開始される。その際、HDRファイル指定欄135Aにおいて指定されたHDRファイルが用いられて処理が行われる。なお、HDRファイルやHDR処理は、例えば、国際公開第2016/175043号に開示されているものを用いることができる。
   <奥行推定部>
 図11は、奥行推定部112の例を示す図である。奥行推定部112は、奥行の推定に関する情報入力のためのGUIである。この奥行推定部112において入力された情報がアプリケーションプログラムによって受け付けられ、奥行推定に用いられる。
 例えば、奥行推定部112は、デプス画像(デプスマップ)表示欄161および演算ボタン162を有する。デプス画像表示欄161は、奥行推定の推定結果として、各画素の被写体のデプス値からなるデプス画像を表示するGUIである。つまり、このデプス画像表示欄161に表示されるデプス画像は、奥行推定により推定されたデプス値により構成される。
 演算ボタン162は、その奥行推定(デプス演算)の開始を指示するためのGUIである。ユーザがこの演算ボタン162を操作すると、奥行推定が開始される。
 また、奥行推定部112は、デプスファイル指定欄163Aおよび参照ボタン163Bを有する。デプスファイル指定欄163Aは、デプスデータを外部入力する場合に使用するファイル(デプスファイルとも称する)を設定するためのGUIである。ユーザは、例えばキーボード等を操作して、このデプスファイル指定欄163Aにファイル名やアドレスを、文字や記号を用いて入力することができる。このデプスファイル指定欄163Aに入力されたファイル名やアドレスによって指定されるファイルがデプスファイルとして設定される。つまり、そのデプスファイルに含まれるデプスデータ等が読み込まれる。
 参照ボタン163Bは、ファイル管理用のGUIを利用してデプスファイルを指定するためのGUIボタンである。ユーザがこの参照ボタン163Bを操作すると、ファイル管理用のGUIが起動する。ユーザはそのファイル管理用のGUIを用いてファイルを指定する。ファイルが指定されると、そのファイルのファイル名やアドレスがデプスファイル指定欄163Aに入力される。つまり、そのファイルがデプスファイルとして設定される。つまり、そのデプスファイルに含まれるデプスデータ等が読み込まれる。
 また、奥行推定部112は、EDGE指定欄165、MAX指定欄166、CS指定欄167、ガンマ指定欄168、およびALE指定欄169を有する。EDGE指定欄165は、撮影時のシャッタースピード/ゲインの値を用いてノイズと信号を分離するEDGE閾値設定を指定するためのGUIである。ユーザは、例えばキーボード等を操作して、このEDGE指定欄165に数値を入力することができる。このEDGE指定欄165に入力された数値がEDGE閾値として設定される。
 MAX指定欄166は、最大画素ずれ量の検出範囲を指定するためのGUIである。ユーザは、例えばキーボード等を操作して、このMAX指定欄166に数値を入力することができる。このMAX指定欄166に入力された数値が最大画素ずれ量の検出範囲MAXとして設定される。
 CS指定欄167は、キャリブレーション時の無限遠を指定するためのGUIである。ユーザは、例えばキーボード等を操作して、このCS指定欄167に数値を入力することができる。このCS指定欄167に入力された数値がキャリブレーション時の無限遠(CS)として設定される。
 ガンマ指定欄168は、デプス推定時に利用するガンマカーブを指定するためのGUIである。ユーザは、例えばキーボード等を操作して、このガンマ指定欄168に数値を入力することができる。このガンマ指定欄168に入力された数値がガンマ値として設定される。
 ALE指定欄169は、キャリブレーションデータ撮影時と回転方向に補正可能な回転角ALEを指定するためのGUIである。ユーザは、例えばキーボード等を操作して、このALE指定欄169に数値を入力することができる。このALE指定欄169に入力された数値がキャリブレーションデータ撮影時と回転方向に補正可能な回転角ALEとして設定される。
   <レンズ選択部>
 図12は、レンズ選択部121の例を示す図である。レンズ選択部121は、エミュレーション対象のレンズを指定するためのGUIである。このレンズ選択部121において入力された情報がアプリケーションプログラムによって受け付けられ、レンズのエミュレーションに用いられる。
 例えば、レンズ選択部121は、レンズアイコン表示部171、追加ボタン172、削除ボタン173、および処理結果保存部174を有する。
 レンズアイコン表示部171は、エミュレーション対象とするレンズを選択するためのGUIであり、エミュレーション対象の候補となる各レンズに対応するアイコンを含む。図12の例の場合、レンズアイコン181-1乃至レンズアイコン181-4が表示されている。レンズアイコン181-1乃至レンズアイコン181-4を互いに区別して説明する必要が無い場合、レンズアイコン181と称する。
 レンズアイコン181-1乃至レンズアイコン181-4は、互いに異なるレンズに対応するアイコンであり、各レンズアイコン181には、互いに異なる値のレンズパラメータが対応付けられている。例えば、ユーザがいずれかのレンズアイコン181を選択すると、その選択されたレンズアイコン181に対応するレンズがエミュレーションの対象として選択(設定)される。つまり、選択されたレンズアイコン181に対応する値のレンズパラメータが設定される。
 そして、その設定されたパラメータを用いてレンズのエミュレーションが行われ、収差が設定されて集光処理が行われ、その集光処理結果(撮像画像)が撮像画像表示部110に表示される。このように、アプリケーションプログラムは、その選択されたレンズアイコン181に対応するレンズをエミュレーションすることができる。
 レンズのエミュレーションには、多数のパラメータの設定が必要になる。このようにレンズアイコンの選択を用いることにより、ユーザ等は、より容易にレンズのエミュレーションを行うことができる。
 特に、レンズアイコン181に対応付けられるレンズパラメータには、収差を指定するパラメータが含まれており、ユーザ等がレンズアイコン181を選択することにより、収差を指定することができる。
 付言するに、上述のように、レンズアイコン表示部171には、エミュレーション対象の候補となるレンズに対応するレンズアイコン181が表示される。つまり、レンズアイコン表示部171には、エミュレーション対象の候補となるレンズの一覧が表示される。したがって、ユーザ等は、このレンズアイコン表示部171を参照することにより、容易に、エミュレーション対象の候補を把握することができる。
 なお、レンズアイコン181-1乃至レンズアイコン181-3は、予め用意されたレンズに対応するアイコン、すなわち、予めレンズパラメータが設定されたレンズに対応するアイコン(プリセットのレンズアイコン)である(test Lens)。つまり、レンズアイコン表示部171には、ユーザ等がレンズアイコンを生成しなくても、このような予め用意されたレンズに対応するレンズアイコン181が表示され得る。したがって、ユーザ等は、レンズアイコンを生成する等の煩雑な作業を必要とせずに、エミュレーション対象のレンズを選択することができる。
 これに対してレンズアイコン181-4は、ユーザ等が生成したレンズに対応するアイコン、すなわち、ユーザ等によりレンズパラメータが設定されたレンズに対応するアイコンである(user setting)。つまり、レンズアイコン表示部171には、このようなユーザ等が生成したレンズに対応するレンズアイコン181が表示され得る。したがって、ユーザ等は、より多様な仕様のレンズを、エミュレーションの対象として選択することができる。
 また、ユーザ等が、レンズアイコン181をドラッグアンドドロップ操作により、撮像画像表示部110に移動させることにより、合焦させる被写体を選択することができるようにしてもよい。
 例えば、ユーザ等が、レンズアイコン表示部171に表示されているレンズアイコン181を撮像画像表示部110にドラッグアンドドロップすると、そのドラッグアンドドロップされたレンズアイコン181に対応するレンズが、エミュレーション対象のレンズとして設定され、さらに、撮像画像表示部110に表示される撮像画像の、そのレンズアイコン181が移動されドロップされた位置が合焦させる位置として設定される。つまり、ドラッグアンドドロップされたレンズアイコン181に対応するレンズパラメータを用いてレンズのエミュレーションが行われ、収差が設定され、レンズアイコン181のドロップされた位置に合焦するように集光処理が行われ、その集光処理結果(撮像画像)が撮像画像表示部110に表示される。このようにすることにより、ユーザ等は、エミュレーション対象のレンズだけでなく、合焦させる位置も、より容易に設定することができる。
 なお、合焦される位置は、ドロップされた位置を中心とした複数画素からなる領域としてもよい。また、ドロップされた位置に存在する被写体を画像認識し、その被写体に合焦させるようにしてもよい。さらに、レンズアイコン表示部171に表示されるレンズアイコン181の数は任意であり、図12の例に限定されない。
 追加ボタン172は、新たなレンズアイコン181をレンズアイコン表示部171に追加するためのGUIボタンである。例えばユーザ等がこの追加ボタン172を操作すると、後述するレンズ設定部122において設定されたレンズパラメータが対応付けられたレンズアイコン181が生成され、レンズアイコン表示部171に表示される。つまり、レンズアイコン表示部171に新たなレンズアイコン181が追加される。
 削除ボタン173は、レンズアイコン表示部171に表示されているレンズアイコン181を削除するためのGUIボタンである。例えばユーザ等がこの削除ボタン173を操作すると、レンズアイコン表示部171に表示されているレンズアイコン181の内、ユーザ等により選択されたレンズアイコン181が削除される。これにより、そのレンズアイコン181に対応するレンズをエミュレーションの対象として選択することができなくなる。なお、この削除ができるレンズアイコン181を、ユーザ等により追加されたレンズアイコン181に限定してもよい。換言するに、プリセットのレンズアイコン181を削除できないようにしてもよい。
 処理結果保存部174には、エミュレーション結果(集光処理結果)、すなわち、撮像画像表示部110に表示される仮想撮像画像の保存に関する情報の設定のためのGUIが含まれる。例えば、処理結果保存部174は、画質選択部191、保存ボタン192、およびフォーカス範囲設定部193を有する。画質選択部191は、仮想撮像画像を保存する際の画質(解像度)をユーザが選択することができるようにするGUIである。例えば、画質選択部191は、「通常画質」と「低画質」とを選択肢とするラジオボタンを有しており、ユーザは、この画質選択部191を操作することにより、保存時の仮想撮像画像の画質(解像度)を選択することができる。つまり、ユーザが選択した方の画質(解像度)で仮想撮像画像が保存される。
 上述のように、レンズのエミュレーションには、負荷軽減のため、低解像度化された多視点画像を用いることができる。その場合、撮像画像表示部110に表示される仮想撮像画像は、撮像画像よりも低解像度である。ユーザは、画質選択部191を操作することにより、このような仮想撮像画像を、エミュレーション時の解像度で保存するか、オリジナルの多視点画像と同等の解像度で保存するかを選択することができる。
 例えば、ユーザが「低画質」を選択すると、レンズのエミュレーションに用いられた時の解像度で仮想撮像画像が保存される。つまり、撮像画像表示部110に表示される仮想撮像画像(エミュレーション結果)が、その解像度のまま保存される。したがって、この場合、より低負荷(より高速)に、仮想撮像画像を保存することができる。
 これに対して、ユーザが「通常画質」を選択すると、オリジナルの多視点画像と同等の解像度で仮想撮像画像が保存される。この場合、オリジナルの多視点画像を用いてエミュレーションが再現される。つまり、解像度以外は撮像画像表示部110に表示される仮想撮像画像と同様の仮想撮像画像(つまり、撮像画像表示部110に表示される仮想撮像画像が高解像度化されたものと同等の仮想撮像画像)が生成され、保存される。
 なお、ここでは、保存時の画質(解像度)の選択肢の一例として、エミュレーション時の解像度(低画質)と、オリジナルの多視点画像と同等の解像度(通常画質)との2種類を示しているが、この画質(解像度)の選択肢は任意であり、上述の例に限定されない。例えば、オリジナルの多視点画像よりも低解像度(低画質)であり、かつ、エミュレーション時よりも高解像度(高画質)である解像度(画質)で仮想撮像画像が保存されるようにしてもよい。つまり、また、エミュレーション時よりも低解像度(低画質)で仮想撮像画像が保存されるようにしてもよい。つまり、仮想撮像画像は、任意の解像度(画質)で保存することができる。
 なお、保存する際に、仮想撮像画像の解像度(画質)が所望の解像度(画質)に変換されるようにしてもよい。また、以上においては、仮想撮像画像について説明したが、デプス画像も同様に、任意の解像度(画質)で保存することができる。
 保存ボタン192は、保存を実行するためのGUIボタンである。例えば、ユーザ等がこの保存ボタン192を操作すると、撮像画像表示部110に表示されている仮想撮像画像(集光処理結果)が、画質選択部191により選択された画質で記憶媒体等に保存される。また、フォーカス範囲設定部193は、焦点距離を指定する情報を入力するためのGUIである。
   <レンズ設定部>
 図13は、レンズ設定部122の例を示す図である。レンズ設定部122は、レンズパラメータの設定(カスタマイズ)を行うためのGUIである。このレンズ設定部122において入力された情報がアプリケーションプログラムによって受け付けられ、レンズのエミュレーションに用いられる。
 レンズ設定部122は、簡易レンズエミュレーション結果表示部201、像高入力欄202A、像高設定用スライドバー202B、フォーカス位置入力欄202C、フォーカス位置設定用スライドバー202Dを有する。
 簡易レンズエミュレーション結果表示部201は、集光処理の結果を表す、点光源を被写体とする仮想撮像画像を表示させることができる。例えば、簡易レンズエミュレーション結果表示部201は、像高入力欄202Aや像高設定用スライドバー202Bを用いて設定された水平方向の像高に位置する点光源が、フォーカス位置入力欄202Cやフォーカス位置設定用スライドバー202Dを用いて設定されるピント面からの距離にある場合にどのようなボケになるかリアルタイムで結果表示を行う。このようにすることにより、ユーザ等は、後述するGUIにより指定した各種収差の効果を視覚的に(直感的に)理解することができる。
 レンズ設定部122は、絞りに関する設定を行うためのGUIとして、レンズ内部の絞り値を入力する絞り入力欄203Aと、設定された絞りの様子が表示される絞り表示部203Bとを有する。またレンズ設定部122は、焦点位置に関する設定を行うためのGUIとして、レンズの焦点位置を数値で入力する焦点位置入力欄204Aと、その焦点位置をツマミの位置で設定する焦点位置スライドバー204Bとを有する。
 また、レンズ設定部122は、収差に関する設定を行うためのGUIを有する。例えば、レンズ設定部122は、そのようなGUIとして、非点収差を設定するためのGUI、球面収差を設定するためのGUI、コマ収差を設定するためのGUI、歪曲収差を設定するためのGUI、および像面湾曲を設定するためのGUIを有する。
 例えば、レンズ設定部122は、非点収差を設定するためのGUIとして、非点収差係数を数値で入力する非点収差係数入力欄205Aと、その非点収差係数をツマミの位置で設定する非点収差係数スライドバー205Bとを有する。また例えば、レンズ設定部122は、球面収差を設定するためのGUIとして、球面収差係数を数値で入力する球面収差係数入力欄206Aと、その球面収差係数をツマミの位置で設定する球面収差係数スライドバー206Bとを有する。さらに例えば、レンズ設定部122は、コマ収差を設定するためのGUIとして、コマ収差係数を数値で入力するコマ収差係数入力欄207Aと、そのコマ収差係数をツマミの位置で設定するコマ収差係数スライドバー207Bとを有する。また例えば、レンズ設定部122は、歪曲収差を設定するためのGUIとして、歪曲収差係数を数値で入力する歪曲収差係数入力欄208Aと、その歪曲収差係数をツマミの位置で設定する歪曲収差係数スライドバー208Bとを有する。さらに例えば、レンズ設定部122は、像面湾曲を設定するためのGUIとして、像面湾曲係数を数値で入力する像面湾曲係数入力欄209Aと、その像面湾曲係数をツマミの位置で設定する像面湾曲係数スライドバー209Bとを有する。
 なお、これらの各種収差は、ザイデルの5収差と呼ばれるものである。
 また、レンズ設定部122は、ユーザが操作することによりレンズ設定が所定のファイルから読み込まれるGUIボタンである読み込みボタン210と、ユーザが操作することによりレンズ設定が所定のファイルに書き出されるGUIボタンである書き出しボタン211とを有する。
 さらに、レンズ設定部122は、外部のフォーカスマップを使用する場合に、そのフォーカスマップを指定するフォーカスマップ入力欄212Aと、参照ボタン212Bとを有する。フォーカスマップは、撮影画像の画素(の位置)毎に、視差情報が登録されたマップ情報である。
 以上のGUIに対するユーザ等の操作により、絞りに関する設定、焦点位置に関する設定、収差に関する設定の少なくともいずれか1つが変化した場合、即時的に(リアルタイムに)、集光処理が実行され撮像画像表示部110に、それらのパラメータの変化を反映させた処理結果(仮想撮像画像)が表示される。
 したがって、より容易にレンズのエミュレーションを行うことができる。
   <他画像合成処理>
 また、集光処理結果である仮想撮像画像と、CG画像等の他の画像である合成対象画像とを合成する他画像合成処理を行うことができるようにしてもよい。この場合、合成対象画像に設定されたデプスデータと、仮想撮像画像のデプスデータとを加味した合成処理(デプス対応合成処理)が行われるようにしてもよい。図14は、そのような他画像合成処理を行う場合の、現像画面100の例を示す図である。例えば、現像画面100のタブ表示部101において、ユーザ等がタブ101Cを選択すると、そのタブ101Cに対応する他画像合成処理用のGUIがGUI表示部102に表示される。
 図14に示されるように、このGUIは、合成画像表示部310、入出力設定部311、およびレンズエミュレーション部313を有する。また、レンズエミュレーション部313は、レンズ選択部321およびレンズ設定部322を有する。
 合成画像表示部310は、集光処理により生成される、エミュレーションされたレンズを用いた撮像により得られる撮像画像(仮想撮像画像)と合成対象画像とを合成した合成画像を表示することができる。また、ユーザ等は、この合成画像表示部310において、仮想撮像画像に合成対象画像を合成させるための作業を行うことができる。
 合成画像表示部310は、撮像画像表示部110と同様に、集光処理結果である仮想撮像画像を表示することができる。そして、ユーザ等は、その仮想撮像画像に対して、合成対象画像310Aを合成するための作業を行うことができる。
 なお、合成画像表示部310は、撮像画像表示部110の場合と同様に、現実の撮像により得られたオリジナルの多視点画像よりも低解像度の仮想撮像画像を、表示することができる。このようにすることにより、集光処理、集光処理結果の表示、合成対象画像の合成等による負荷の増大を抑制することができる。これにより、例えば、コストを増大せずに集光処理、集光処理結果の表示、合成画像の表示等の処理をより高速に行うことができる。なお、もちろん、合成画像表示部310が、オリジナルの多視点画像と同等の解像度の仮想撮像画像を表示してもよい。つまり、集光処理にオリジナルの多視点画像が用いられるようにし、その集光処理結果として、オリジナルの多視点画像と同等の解像度の仮想撮像画像が得られるようにしてもよい。
   <入出力設定部>
 入出力設定部311は、入出力設定部111と同様に、入出力の設定に関する情報入力のためのGUIである。この入出力設定部311において入力された情報がアプリケーションプログラムによって受け付けられ、入出力の設定に用いられる。この入出力設定部311の例を図15に示す。
 例えば、入出力設定部311は、デプスデータを含むデプス(Depth)ファイルを指定するためのGUIである、デプスファイル指定欄331Aおよび参照ボタン331Bを有する。例えば、ユーザ等は、デプスファイル指定欄331Aにファイル名やアドレスを入力するか、または、参照ボタン331Bを操作して、ファイル管理用のGUIを起動させ、そのファイル管理用のGUIを用いてファイルを指定するかして、入力するデプスファイルを指定する。
 また、入出力設定部311は、RGB画像を含むRGBファイルを指定するためのGUIである、RGBファイル指定欄332Aおよび参照ボタン332Bを有する。例えば、ユーザ等は、RGBファイル指定欄332Aにファイル名やアドレスを入力するか、または、参照ボタン332Bを操作して、ファイル管理用のGUIを起動させ、そのファイル管理用のGUIを用いてファイルを指定するかして、入力するRGBファイルを指定する。
なお、このRGB画像は、所謂撮像画像(RAW画像)であり、R画素、G画素、およびB画素の画素値からなるRGBデータに対応する画像である。これに対してデプス画像は、RGB画像に対応するデプスデータを、各デプス値に色を割り当てることにより画像化したものである。換言するに、デプス画像は、RGB画像の各画素における被写体までの距離(デプス値)を各画素の色(画素値)で表現するマップ情報である。
 なお、RGB画像はベイヤ配列のRAW画像でなくてもよい。また、撮像画像の色空間は任意であり、RGB画像でなくてもよい。例えば、YUV、YCbCr、YPbPr等の画像であってもよい。さらに、撮像画像は、カラー画像でなくてもよい。例えば、モノクローム画像やセピア調画像等のような単色画像であってもよい。つまり、このRGB画像は、画像の形態をとるものであればどのようなものであってもよい。
 さらに、入出力設定部311は、点拡がり関数に関する情報を含むPSF(Point Spread Function)ファイルを指定するためのGUIである、PSFファイル指定欄333Aおよび参照ボタン333Bを有する。例えば、ユーザ等は、PSFファイル指定欄333Aにファイル名やアドレスを入力するか、または、参照ボタン333Bを操作して、ファイル管理用のGUIを起動させ、そのファイル管理用のGUIを用いてファイルを指定するかして、入力するPSFファイルを指定する。
 また、入出力設定部311は、他画像合成処理結果である合成画像のファイルを出力するフォルダを指定するためのGUIである、出力フォルダ指定欄334Aおよび参照ボタン334Bを有する。例えば、ユーザ等は、出力フォルダ指定欄334Aにフォルダ名やアドレスを入力するか、または、参照ボタン334Bを操作して、ファイル管理用のGUIを起動させ、そのファイル管理用のGUIを用いてフォルダを指定するかして、合成画像のファイルを出力するフォルダを指定する。さらに、入出力設定部311は、フレームレートを入力するFPSx2入力欄335を有する。
   <レンズ選択部>
 図14に戻り、レンズエミュレーション部313は、レンズのエミュレーションに関するGUIである。そのレンズエミュレーション部313内のレンズ選択部321は、エミュレーションの対象とするレンズの選択に関するGUIである。このレンズ選択部321の例を図16に示す。
 図16に示されるように、例えば、レンズ選択部321は、レンズアイコン表示部341および処理結果保存部342を有する。レンズアイコン表示部341は、レンズアイコン表示部171と同様、エミュレーション対象のレンズを選択するためのGUIであり、エミュレーション対象の候補となるレンズに対応するアイコンが表示される。図16の例の場合、レンズアイコン351-1乃至レンズアイコン351-4が表示されている。レンズアイコン351-1乃至レンズアイコン351-4を互いに区別して説明する必要が無い場合、レンズアイコン351と称する。
 レンズアイコン351-1乃至レンズアイコン351-4は、それぞれ、レンズアイコン181-1乃至レンズアイコン181-4と同様のアイコンである。レンズアイコン表示部171の場合と同様に、例えば、ユーザがいずれかのレンズアイコン351を選択すると、その選択されたレンズアイコン351に対応するレンズがエミュレーションの対象として選択(設定)される。つまり、選択されたレンズアイコン351に対応する値のレンズパラメータが設定される。そして、その設定されたパラメータを用いてレンズのエミュレーションが行われ、収差が設定されて集光処理が行われ、その集光処理結果(撮像画像)が合成画像表示部310に表示される。
 つまり、タブ101Cに対応する他画像合成処理用のGUIにおいても、ユーザ等は、より容易にレンズのエミュレーションを行うことができる。特に、レンズアイコン351に対応付けられるレンズパラメータには、収差を指定するパラメータが含まれており、ユーザ等がレンズアイコン181を選択することにより、収差を指定することができる。
 付言するに、上述のように、レンズアイコン表示部341には、エミュレーション対象の候補となるレンズに対応するレンズアイコン351が表示される。したがって、ユーザ等は、このレンズアイコン表示部341を参照することにより、容易に、エミュレーション対象の候補を把握することができる。
 なお、レンズアイコン351-1乃至レンズアイコン351-3は、予め用意されたレンズに対応するアイコン、すなわち、予めレンズパラメータが設定されたレンズに対応するアイコン(プリセットのレンズアイコン)である(test Lens)。したがって、ユーザ等は、レンズアイコンを生成する等の煩雑な作業を必要とせずに、エミュレーション対象のレンズを選択することができる。
 これに対してレンズアイコン351-4は、ユーザ等が生成したレンズに対応するアイコン、すなわち、ユーザ等によりレンズパラメータが設定されたレンズに対応するアイコンである(user setting)。したがって、ユーザ等は、より多様な仕様のレンズを、エミュレーションの対象として選択することができる。
 また、レンズアイコン表示部171の場合と同様に、ユーザ等が、レンズアイコン表示部341に表示されているレンズアイコン351を合成画像表示部310にドラッグアンドドロップさせることにより、合焦させる被写体を選択することができるようにしてもよい。つまり、ドラッグアンドドロップされたレンズアイコン351に対応するレンズパラメータを用いてレンズのエミュレーションが行われ、収差が設定され、レンズアイコン351の移動先に位置する被写体に合焦するように集光処理が行われ、その集光処理結果(撮像画像)が合成画像表示部310に表示されるようにしてもよい。
 なお、レンズアイコン表示部341に表示されるレンズアイコン351の数は任意であり、図16の例に限定されない。
 処理結果保存部342は、処理結果保存部174と同様のGUIである。処理結果保存部342は、画質選択部361、保存ボタン362、およびフォーカス範囲設定部363を有する。画質選択部361は、画質選択部191と同様のGUIである。保存ボタン362は、保存ボタン192と同様のGUIである。フォーカス範囲設定部363は、フォーカス範囲設定部193と同様のGUIである。
   <レンズ設定部>
 図14に戻り、レンズ設定部322は、レンズパラメータの設定(カスタマイズ)を行うためのGUIである。このレンズ設定部322において入力された情報がアプリケーションプログラムによって受け付けられ、レンズのエミュレーションに用いられる。このレンズ設定部322の例を図17に示す。
 図17に示されるように、レンズ設定部322は、簡易レンズエミュレーション結果表示部371、像高入力欄372A、像高設定用スライドバー372B、フォーカス位置入力欄372C、フォーカス位置設定用スライドバー372Dを有する。簡易レンズエミュレーション結果表示部371は、簡易レンズエミュレーション結果表示部201と同様のGUIである。像高入力欄372Aは、像高入力欄202Aと同様のGUIである。像高設定用スライドバー372Bは、像高設定用スライドバー202Bと同様のGUIである。フォーカス位置入力欄372Cは、フォーカス位置入力欄202Cと同様のGUIである。フォーカス位置設定用スライドバー372Dは、フォーカス位置設定用スライドバー202Dと同様のGUIである。
 また、レンズ設定部322は、絞りに関する設定を行うためのGUIとして、絞り入力欄373を有する。絞り入力欄373は、絞り入力欄203Aと同様のGUIである。さらに、レンズ設定部322は、焦点位置に関する設定を行うためのGUIとして、焦点位置入力欄374Aと、その焦点位置をツマミの位置で設定する焦点位置スライドバー374Bとを有する。焦点位置入力欄374Aは、焦点位置入力欄204Aと同様のGUIであり、焦点位置スライドバー374Bは、焦点位置スライドバー204Bと同様のGUIである。
 また、レンズ設定部422は、収差に関する設定を行うためのGUIを有する。例えば、レンズ設定部322は、そのようなGUIとして、非点収差を設定するためのGUI、球面収差を設定するためのGUI、コマ収差を設定するためのGUI、歪曲収差を設定するためのGUI、および像面湾曲を設定するためのGUIを有する。
 例えば、レンズ設定部322は、非点収差を設定するためのGUIとして、非点収差係数入力欄375Aおよび非点収差係数スライドバー375Bを有する。非点収差係数入力欄375Aは非点収差係数入力欄205Aと同様のGUIであり、非点収差係数スライドバー375Bは、非点収差係数スライドバー205Bと同様のGUIである。
 また例えば、レンズ設定部322は、球面収差を設定するためのGUIとして、球面収差係数入力欄376Aおよび球面収差係数スライドバー376Bを有する。球面収差係数入力欄376Aは、球面収差係数入力欄206Aと同様のGUIである。球面収差係数スライドバー376Bは、球面収差係数スライドバー206Bと同様のGUIである。
 さらに例えば、レンズ設定部322は、コマ収差を設定するためのGUIとして、コマ収差係数入力欄377Aおよびコマ収差係数スライドバー377Bを有する。コマ収差係数入力欄377Aは、コマ収差係数入力欄207Aと同様のGUIである。コマ収差係数スライドバー377Bは、コマ収差係数スライドバー207Bと同様のGUIである。
 また例えば、レンズ設定部322は、歪曲収差を設定するためのGUIとして、歪曲収差係数入力欄378Aおよび歪曲収差係数スライドバー378Bを有する。歪曲収差係数入力欄378Aは、歪曲収差係数入力欄208Aと同様のGUIである。歪曲収差係数スライドバー378Bは、歪曲収差係数スライドバー208Bと同様のGUIである。
 さらに例えば、レンズ設定部322は、像面湾曲を設定するためのGUIとして、像面湾曲係数入力欄379Aおよび像面湾曲係数スライドバー379Bを有する。像面湾曲係数入力欄379Aは、像面湾曲係数入力欄209Aと同様のGUIである。像面湾曲係数スライドバー209Bは、像面湾曲係数スライドバー209Bと同様のGUIである。
 また、レンズ設定部322は、読み込みボタン380および書き出しボタン381を有する読み込みボタン380は、読み込みボタン210と同様のGUIボタンである。書き出しボタン381は、書き出しボタン211と同様のGUIボタンである。
   <他画像合成作業>
 上述したように、ユーザ等は、合成画像表示部310において、表示された撮像画像に対して、合成対象画像を合成させる作業(他画像合成作業とも称する)を行うことができる。この他画像合成作業は、例えば、撮像画像のデプス処理後に行うのが望ましい。
 例えば、ユーザ等が、合成したい合成対象画像(例えばCG(Computer Graphics)画像)のx,yの位置をドラッグアンドドロップ操作で決定する。ドラッグ中は合成対象画像全体を表示し、ドロップした際は、撮像画像とのオクルージョンが反映されて表示される。例えば、図18のAに示されるように、合成対象画像310Aが手前側に位置する場合、合成対象画像310Aは、撮像画像よりも優先されて表示される(撮像画像の合成対象画像310Aと重畳する部分が合成対象画像310Aに隠れるように表示される)。また、図18のBに示されるように、合成対象画像310Aが奥側に位置する場合、撮像画像が合成対象画像310Aに優先されて表示される(合成対象画像310Aの撮像画像と重畳する部分が撮像画像に隠れるように表示される)。
 ユーザ等は、例えば、合成対象画像を選択中にマウスホイールを操作する等して、合成対象画像の奥行位置を決定する。奥行位置に応じて合成対象画像の大きさが制御されてもよい。また、合成対象画像はどのような画像であってもよく、CG画像であってもよいし、撮像画像であってもよい。また、撮像画像に合成される合成対象画像の数は任意である。さらに、合成された空間に対しレンズエミュレーションを行ってもよい。
 <2.第1の実施の形態>
  <コンピュータ>
 次に、以上のようなアプリケーションプログラムを実行するデバイスについて説明する。図19は、本技術を適用した画像処理装置の一実施の形態であるコンピュータの主な構成例を示す図である。図19に示されるコンピュータ500は、多視点画像を用いて上述したようなレンズのエミュレーションや他画像合成処理を行うアプリケーションプログラム(ソフトウエア)をインストールし、実行する装置である。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。コンピュータ500は、アプリケーションプログラムを実行することにより、例えば、<1.レンズエミュレーション>において上述したGUI(現像画面100)を用いて、エミュレーション対象のレンズの選択を受け付け、その選択されたレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、その収差テーブルを用いて、その選択されたレンズを介して被写体を撮像した撮像画像を生成する集光処理を行う。このようにすることにより、収差に関するパラメータのユーザによる設定作業がレンズの選択作業程度ですむので、より容易にレンズのエミュレーションを行うことができる。
 なお、図19においては、処理部やデータの流れ等の主なものを示しており、図19に示されるものが全てとは限らない。つまり、コンピュータ500において、図19においてブロックとして示されていない処理部が存在したり、図19において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
 図19に示されるコンピュータ500において、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503は、バス504を介して相互に接続されている。
 バス504にはまた、入出力インタフェース510も接続されている。入出力インタフェース510には、入力部511、出力部512、記憶部513、通信部514、およびドライブ515が接続されている。
 入力部511は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部512は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部513は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部514は、例えば、ネットワークインタフェースよりなる。ドライブ515は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体521を駆動する。
 以上のように構成されるコンピュータ500では、CPU501が、例えば、記憶部513に記憶されているアプリケーションプログラムを、入出力インタフェース510およびバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ500が実行するアプリケーションプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体521に記録して適用することができる。その場合、アプリケーションプログラムは、リムーバブル記録媒体521をドライブ515に装着することにより、入出力インタフェース510を介して、記憶部513にインストールすることができる。
 また、このアプリケーションプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、このアプリケーションプログラムは、通信部514で受信し、記憶部513にインストールすることができる。
 その他、このアプリケーションプログラムは、ROM502や記憶部513に、あらかじめインストールしておくこともできる。
 図20は、このコンピュータ500においてこのアプリケーションプログラムを実行することにより実現される機能を機能ブロックとして示す機能ブロック図である。図20に示されるように、コンピュータ500は、アプリケーションプログラムを実行することにより、エミュレーション処理部531、合成処理部532、GUI処理部533、画像生成部534、および出力ファイル生成部535等の機能ブロックを有することができる。各機能ブロックについて以下に説明する。
   <エミュレーション処理部>
 エミュレーション処理部531は、例えば、図7に示されるような現像画面100を用いたレンズのエミュレーションに関する処理を行う。例えば、エミュレーション処理部531は、入出力設定部541、奥行推定部542、光線補間部543、収差テーブル生成部544、および集光処理部545等の機能ブロックを有することができる。
 入出力設定部541は、例えば、入出力設定部111や入出力設定部311等のGUIを用いた入出力の設定に関する処理を行う。例えば、ユーザ等がその入出力設定部111や入出力設定部311等のGUIに基づいて入力部511を操作すると、入出力設定部541は、その入力部511において受け付けられたその操作に基づく処理を行う。例えば、入力部511においてユーザ等によるファイルの入力指示や入力ファイルの指定操作が受け付けられると、入出力設定部541は、その指定されたファイルの情報を読み込む等の処理を行うことができる。また、例えば、入力部511においてユーザ等によるファイルの出力指示や出力フォルダの指定操作が受け付けられると、入出力設定部541は、その指定された出力フォルダにファイルを生成することができる。入出力設定部541は、例えば、奥行推定の前にこの入出力の設定を行うことができる。
 奥行推定部542は、例えば、奥行推定部112等のGUIを用いた奥行推定に関する処理を行う。例えば、ユーザ等がその奥行推定部112等のGUIに基づいて入力部511を操作すると、奥行推定部542は、その入力部511において受け付けられたその操作に基づく処理を行う。例えば、入力部511においてユーザ等によるパラメータの指定操作が受け付けられると、奥行推定部542は、その指定されたパラメータを用いて多視点画像から被写体の奥行を推定し、デプスデータ(デプスマップでもよい)を生成することができる。奥行推定部542は、例えば、光線補間の前にこの奥行推定を行うことができる。
 光線補間部543は、多視点画像やデプスデータを用いて光線補間を行う。光線補間は、仮想撮像画像を生成する際に使われる視点画像の数を増やすため、撮像画像に含まれる視点画像間の視点となる視点画像を補間処理で生成するものである。このように視点画像の数を増やすことで、補間処理で生成された視点画像を含むより多くの視点画像から仮想画像を生成する。これにより、より高精細な仮想撮像画像を生成することが可能となる。ただし、高精細な仮想撮像画像を生成しない場合は、光線補間部543の処理は不要となる。光線補間部543は、例えば、収差テーブルの生成前にこの光線補間を行うことができる。
 収差テーブル生成部544は、例えば、現像画面100のレンズ選択部121やレンズ設定部122等のGUIを用いた収差テーブルの生成に関する処理を行う。例えば、ユーザ等がそのレンズ選択部121やレンズ設定部122等のGUIに基づいて入力部511を操作すると、収差テーブル生成部544は、その入力部511において受け付けられたその操作に基づく処理を行う。例えば、ユーザ等が、レンズ選択部121に基づいてエミュレーション対象とするレンズを選択したり、レンズ設定部122等のGUIに基づいてレンズパラメータをカスタマイズしたりし、入力部511においてその操作が受け付けられると、収差テーブル生成部544は、その選択されたレンズのパラメータやカスタマイズされたレンズパラメータを用いて、5収差による集光光線ベクトルのテーブルである収差テーブルを生成することができる。
 集光処理部545は、その収差テーブルと多視点画像とを用いて集光処理を行い、選択されたレンズを介して被写体を撮像した撮像画像(仮想撮像画像)を生成することができる。なお、集光処理部545は、任意の解像度の多視点画像を用いてこの集光処理を行うことができる。例えば、集光処理部545は、実際の撮像において得られたオリジナルの多視点画像よりも低解像度の多視点画像を用いて集光処理を行い、そのオリジナルの多視点画像よりも低解像度の仮想撮像画像を生成することができる。
 なお、奥行推定によりデプスマップ(Depth Map)が確定し、レンズエミュレーション部113が有効になり、レンズの選択が受け付けられた後、光線補間部543による光線補間が行われ、補間された光線情報が保持されるようにしてもよい。このようにすることにより、負荷が大きい光線補間処理と奥行推定処理とを明確に分けることができる。また、レンズが選択されたタイミングで光線補間を行うことにより、その後、レンズパラメータが変更された場合、収差テーブルの生成や集光処理を実行するだけで仮想撮像画像を得ることができる。つまり、より高速に仮想撮像画像(集光処理結果)を得ることができる。
   <他画像合成処理部>
 他画像合成処理部532は、例えば図14に示される現像画面100(タブ101Cに対応する他画像合成処理用のGUI)を用いた他画像合成処理に関する処理を行う。例えば、ユーザ等がそのGUIに基づいて入力部511を操作すると、他画像合成処理部532は、その入力部511において受け付けられたその操作に従って、集光処理により生成された仮想撮像画像に対して、合成対象画像を合成することにより合成画像を生成することができる。
   <GUI処理部>
 GUI処理部533は、出力部512(のモニタ等)に表示されるGUIに関する処理を行う。例えば、GUI処理部533は、画像生成部534に対して、GUI等の表示用画像を生成させることができる。また、GUI処理部533は、その表示されたGUIに基づいて入力部511が操作されると、その受け付けられた操作に応じて、エミュレーション処理部531、他画像合成処理部532、画像生成部534等を制御し、その操作対応する処理を実行させることができる。さらに、GUI処理部533は、その表示されたGUIに基づいて入力部511に入力された情報を取得し、エミュレーション処理部531、他画像合成処理部532、画像生成部534等に供給することができる。つまり、GUI処理部533は、入力情報の受付を制御したり、画像の表示を制御したりすることができる。
   <画像生成部>
 画像生成部534は、表示用画像(例えば、現像画面100)の生成に関する処理を行う。例えば、画像生成部534は、GUI処理部503に制御されたその表示用画像を生成する。その際、画像生成部534は、例えば、GUI処理部503から供給される情報等を用いて表示用画像を生成することができる。例えば、画像生成部534は、入力部511に入力されたファイル名やパス等の情報を現像画面100に反映させる(つまり、そのファイル名やパスを含む現像画面100を生成する)ことができる。また、画像生成部534は、例えば、集光処理部545において生成された仮想撮像画像や、他画像合成処理部532において生成された合成画像を現像画面100に反映させる(つまり、その仮想撮像画像や合成画像が表示される現像画面100を生成する)ことができる。さらに、画像生成部534は、その生成した表示用画像を、出力部512(のモニタ等)に供給し、表示させることができる。
   <出力ファイル生成部>
 出力ファイル生成部535は、出力ファイルの生成に関する処理を行う。例えば、出力ファイル生成部535は、集光処理部545において生成された仮想撮像画像や、他画像合成処理部532において生成された合成画像を出力するための出力ファイルを生成することができる。出力ファイル生成部535は、その生成した出力ファイルを、記憶部513に供給して記憶させたり、通信部514を介して他の装置に送信させたり、ドライブ515を介してリムーバブル記録媒体521に記録させたりすることができる。つまり、出力ファイル生成部535は、出力ファイル(仮想撮像画像や合成画像等)の出力(記憶、送信、記録等)を制御することができる。例えば、出力ファイル生成部535は、仮想撮像画像や合成画像を、エミュレーション時の解像度よりも高解像度(例えば、オリジナルの多視点画像と同等の解像度)で出力(記憶、送信、記録等)させることができる。もちろん、出力ファイル生成部535は、仮想撮像画像や合成画像を、エミュレーション時の解像度で出力(記憶、送信、記録等)させることもできる。つまり、出力ファイル生成部535は、出力時の仮想撮像画像や合成画像の解像度を制御することができる。
 アプリケーションプログラムを実行して、このような機能ブロックで示される機能を実現することにより、コンピュータ500は、例えば<1.レンズエミュレーション>等において上述したような処理を行うことができ、上述したような効果を得ることができる。
  <レンズエミュレーション処理の流れ>
 次に、図21および図22のフローチャートを参照して、このようなコンピュータ500においてアプリケーションプログラムが実行されるにより実現されるレンズエミュレーション処理の流れの例を説明する。
 レンズエミュレーション処理が開始されると、GUI処理部533は、図21のステップS501において、GUI(現像画面100)をモニタに表示させ、入力の受け付けを開始する。
 ステップS502において、入出力設定部541は、例えば現像画面100の入出力設定部111等に基づいて入力部511に入力された情報等に基づいて、入出力の設定を行う。
 ステップS503において、奥行推定部542は、ステップS502において行われる入出力設定の結果や、例えば現像画面100の奥行推定部112等に基づいて入力部511に入力された情報等に基づいて奥行推定を行い、デプスデータを生成する。
 ステップS504において、GUI処理部533は、例えば現像画面100のレンズ選択部121において、レンズアイコン181が選択されたか否かを判定する。レンズアイコン181が選択されたと判定された場合、処理はステップS505に進む。
 ステップS505において、光線補間部543は、ステップS502において行われる入出力設定の結果、ステップS503において生成されたデプスデータ、ステップS504において選択されたレンズアイコン181に対応するレンズのパラメータ等を用いて、光線補間を行う。ステップS505の処理が終了すると、処理はステップS507に進む。
 また、ステップS504において、レンズアイコン181が選択されていないと判定された場合、処理はステップS506に進む。ステップS506において、GUI処理部533は、例えば、現像画面100のレンズ設定部122においてパラメータが変更されたか否かを判定する。パラメータが変更されたと判定された場合、処理はステップS507に進む。
 ステップS507において、収差テーブル生成部544は、設定されたパラメータ(選択されたレンズのパラメータ、または、カスタマイズされたパラメータ)を用いて収差テーブルを生成する。
 ステップS508において、集光処理部545は、ステップS507において生成された収差テーブルを用いて集光処理を行い、選択されたレンズを介して撮像された仮想撮像画像を生成する。
 ステップS509において、画像生成部534は、その仮想撮像画像を用いて表示用画像を生成する。ステップS510において、画像生成部534は、その表示用画像を出力部512のモニタに表示させる。ステップS510の処理が終了すると処理は、図22に進む。
 また、ステップS506において、パラメータが変更されていないと判定された場合、処理は図22に進む。
 図22のステップS521において、出力ファイル生成部535は、データを出力するか否かを判定する。出力すると判定された場合、処理はステップS522に進む。ステップS522において、出力ファイル生成部535は、出力データを生成する。ステップS523において、出力ファイル生成部535は、その出力データを出力する。例えば、出力ファイル生成部535は、生成した出力データを記憶部513に記憶させたり、通信部514を介して他の装置宛てに送信させたり、ドライブ515を介してリムーバブル記録媒体521に記録させたりすることができる。ステップS523の処理が終了すると処理はステップS524に進む。またステップS521において、データを出力しないと判定された場合、処理はステップS524に進む。
 ステップS524においてGUI処理部533は、このレンズエミュレーション処理を終了するか否かを判定する。終了しないと判定された場合、処理は図21のステップS502に戻り、それ以降の処理が実行される。また、図22のステップS524において、レンズエミュレーション処理を終了すると判定された場合、レンズエミュレーション処理が終了する。
 以上のように各処理を実行することにより、ユーザ等は、より容易にレンズのエミュレーションを行うことができる。
  <他画像合成処理の流れ>
 次に、このようなコンピュータ500においてアプリケーションプログラムが実行されるにより実現される他画像合成処理の流れの例を、図23のフローチャートを参照して説明する。他画像合成処理が開始されると、ステップS551乃至ステップS554の各処理が、レンズエミュレーション処理(図20)のステップS501乃至ステップS503、並びにステップS505の各処理と同様に実行される。
 ステップS555において、他画像合成処理部532は、合成対象画像の位置を設定する。ステップS556において、他画像合成処理部532は、仮想撮像画像に対して合成対象画像を合成し、合成画像を生成する。ステップS557において、画像生成部534は、その合成画像を用いて表示用画像を生成し、出力部512のモニタに表示させる。
 さらに、合成画像について、ステップS558乃至ステップS561の各処理が、図22のステップS521乃至ステップS524の各処理と同様に実行される。ステップS561において他画像合成処理を終了すると判定された場合、他画像合成処理が終了する。
 以上のように各処理を実行することにより、ユーザ等は、より容易に画像合成を行うことができる。
 <3.付記>
  <ハードウエア>
 上述した一連の処理は、ソフトウエア(アプリケーションプログラム)により実行させることもできるし、ハードウエアにより実行させることもできる。
  <本技術の適用対象>
 本技術は、任意の構成に適用することができる。例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、または、ユニットにさらにその他の機能を付加したセット等、装置の一部の構成として実施することもできる。
 また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対してサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
  <本技術を適用可能な分野・用途>
 本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
  <その他>
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
 また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
 また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
 また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
 また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 なお、本技術は以下のような構成も取ることができる。
 (1) ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、
 前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部と
 を備える画像処理装置。
 (2) 前記ユーザインタフェースを表示部に表示させる表示制御部をさらに備え、
 前記ユーザインタフェースは、前記エミュレーション対象の候補となる各レンズに対応するアイコンを含み、
 前記収差テーブル生成部は、前記ユーザインタフェースを介して選択された前記アイコンに対応するレンズパラメータを用いて前記収差テーブルを生成する
 (1)に記載の画像処理装置。
 (3) 前記ユーザインタフェースは、前記アイコンとして、レンズパラメータが予め設定されたレンズに対応するアイコンを含む
 (2)に記載の画像処理装置。
 (4) 前記ユーザインタフェースは、前記アイコンとして、ユーザによりレンズパラメータが設定されたレンズに対応するアイコンを含む
 (2)に記載の画像処理装置。
 (5) 前記ユーザインタフェースは、前記集光処理により生成された前記仮想撮像画像をさらに含む
 (2)に記載の画像処理装置。
 (6) 前記集光処理部は、前記ユーザインタフェースにおいて行われる、選択された前記アイコンのドラッグアンドドロップ操作に応じて、前記集光処理を行うことにより、前記アイコンのドロップ位置を合焦させた前記仮想撮像画像を生成する
 (5)に記載の画像処理装置。
 (7) 前記集光処理部は、低解像度化された前記多視点画像を用いて前記集光処理を行うことにより、低解像度化される前の前記多視点画像よりも低解像度の前記仮想撮像画像を生成し、
 前記ユーザインタフェースは、前記集光処理により生成された、低解像度化される前の前記多視点画像よりも低解像度の前記仮想撮像画像をさらに含む
 (5)に記載の画像処理装置。
 (8) 前記仮想撮像画像を、前記ユーザインタフェースとして表示された際の解像度よりも高解像度な状態で記憶媒体に記憶させる記憶制御部をさらに備える
 (7)に記載の画像処理装置。
 (9) 前記ユーザインタフェースは、選択された前記アイコンに対応するレンズパラメータを更新するためのユーザインタフェースを含み、
 前記収差テーブル生成部は、前記ユーザインタフェースを介して更新された前記レンズパラメータを用いて前記収差テーブルを生成する
 (2)に記載の画像処理装置。
 (10) 前記ユーザインタフェースは、前記集光処理の結果を表す、点光源を前記被写体とする前記仮想撮像画像を含む
 (2)に記載の画像処理装置。
 (11) 前記ユーザインタフェースは、絞りに関する設定を行うためのユーザインタフェースと、焦点位置に関する設定を行うためのユーザインタフェースとの内、少なくともいずれか一方を含む
 (2)に記載の画像処理装置。
 (12) 前記ユーザインタフェースは、収差に関する設定を行うためのユーザインタフェースを含む
 (2)に記載の画像処理装置。
 (13) 前記エミュレーション対象のレンズの選択後に光線補間を行う光線補間部をさらに備える
 (1)に記載の画像処理装置。
 (14) 前記光線補間が行われる前に奥行推定を行う奥行推定部をさらに備える
 (13)に記載の画像処理装置。
 (15) 前記ユーザインタフェースは、前記奥行推定に関する設定を行うためのユーザインタフェースを含み、
 前記奥行推定部は、前記ユーザインタフェースを介して設定された前記奥行推定に関する設定に基づいて、前記奥行推定を行う
 (14)に記載の画像処理装置。
 (16) 前記奥行推定が行われる前に入出力の設定を行う入出力設定部をさらに備える
 (14)に記載の画像処理装置。
 (17) 前記ユーザインタフェースは、前記入出力の設定に関する情報を入力するためのユーザインタフェースを含み、
 前記入出力設定部は、前記ユーザインタフェースを介して入力された前記入出力の設定に関する情報に基づいて、前記入出力の設定を行う
 (16)に記載の画像処理装置。
 (18) 前記仮想撮像画像と合成対象画像とを合成する他画像合成処理部をさらに備える
 (1)に記載の画像処理装置。
 (19) ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、
 前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う
 画像処理方法。
 (20) コンピュータを、
 ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、
 前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部と
 として機能させるプログラム。
 10 カメラ, 100 現像画面, 101 タブ表示部, 102 GUI表示部, 110 撮像画像表示部, 111 入出力設定部, 112 奥行推定部, 113 レンズエミュレーション部, 121 レンズ選択部, 122 レンズ設定部, 171 レンズアイコン表示部, 172 追加ボタン, 173 削除ボタン, 174 処理結果保存部, 181 レンズアイコン, 310 合成画像表示部, 311 入出力設定部, 313 レンズエミュレーション部, 321 レンズ選択部, 322 レンズ設定部, 500 コンピュータ, 531 エミュレーション処理部, 532 他画像合成処理部, 533 GUI処理部, 534 画像生成部, 535 出力ファイル生成部, 541 入力設定部, 542 奥行推定部, 543 光線補間部, 544 収差テーブル生成部, 545 集光処理部

Claims (20)

  1.  ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、
     前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部と
     を備える画像処理装置。
  2.  前記ユーザインタフェースを表示部に表示させる表示制御部をさらに備え、
     前記ユーザインタフェースは、前記エミュレーション対象の候補となる各レンズに対応するアイコンを含み、
     前記収差テーブル生成部は、前記ユーザインタフェースを介して選択された前記アイコンに対応するレンズパラメータを用いて前記収差テーブルを生成する
     請求項1に記載の画像処理装置。
  3.  前記ユーザインタフェースは、前記アイコンとして、レンズパラメータが予め設定されたレンズに対応するアイコンを含む
     請求項2に記載の画像処理装置。
  4.  前記ユーザインタフェースは、前記アイコンとして、ユーザによりレンズパラメータが設定されたレンズに対応するアイコンを含む
     請求項2に記載の画像処理装置。
  5.  前記ユーザインタフェースは、前記集光処理により生成された前記仮想撮像画像をさらに含む
     請求項2に記載の画像処理装置。
  6.  前記集光処理部は、前記ユーザインタフェースにおいて行われる、選択された前記アイコンのドラッグアンドドロップ操作に応じて、前記集光処理を行うことにより、前記アイコンのドロップ位置を合焦させた前記仮想撮像画像を生成する
     請求項5に記載の画像処理装置。
  7.  前記集光処理部は、低解像度化された前記多視点画像を用いて前記集光処理を行うことにより、低解像度化される前の前記多視点画像よりも低解像度の前記仮想撮像画像を生成し、
     前記ユーザインタフェースは、前記集光処理により生成された、低解像度化される前の前記多視点画像よりも低解像度の前記仮想撮像画像をさらに含む
     請求項5に記載の画像処理装置。
  8.  前記仮想撮像画像を、前記ユーザインタフェースとして表示された際の解像度よりも高解像度な状態で記憶媒体に記憶させる記憶制御部をさらに備える
     請求項7に記載の画像処理装置。
  9.  前記ユーザインタフェースは、選択された前記アイコンに対応するレンズパラメータを更新するためのユーザインタフェースを含み、
     前記収差テーブル生成部は、前記ユーザインタフェースを介して更新された前記レンズパラメータを用いて前記収差テーブルを生成する
     請求項2に記載の画像処理装置。
  10.  前記ユーザインタフェースは、前記集光処理の結果を表す、点光源を前記被写体とする前記仮想撮像画像を含む
     請求項2に記載の画像処理装置。
  11.  前記ユーザインタフェースは、絞りに関する設定を行うためのユーザインタフェースと、焦点位置に関する設定を行うためのユーザインタフェースとの内、少なくともいずれか一方を含む
     請求項2に記載の画像処理装置。
  12.  前記ユーザインタフェースは、収差に関する設定を行うためのユーザインタフェースを含む
     請求項2に記載の画像処理装置。
  13.  前記エミュレーション対象のレンズの選択後に光線補間を行う光線補間部をさらに備える
     請求項1に記載の画像処理装置。
  14.  前記光線補間が行われる前に奥行推定を行う奥行推定部をさらに備える
     請求項13に記載の画像処理装置。
  15.  前記ユーザインタフェースは、前記奥行推定に関する設定を行うためのユーザインタフェースを含み、
     前記奥行推定部は、前記ユーザインタフェースを介して設定された前記奥行推定に関する設定に基づいて、前記奥行推定を行う
     請求項14に記載の画像処理装置。
  16.  前記奥行推定が行われる前に入出力の設定を行う入出力設定部をさらに備える
     請求項14に記載の画像処理装置。
  17.  前記ユーザインタフェースは、前記入出力の設定に関する情報を入力するためのユーザインタフェースを含み、
     前記入出力設定部は、前記ユーザインタフェースを介して入力された前記入出力の設定に関する情報に基づいて、前記入出力の設定を行う
     請求項16に記載の画像処理装置。
  18.  前記仮想撮像画像と合成対象画像とを合成する他画像合成処理部をさらに備える
     請求項1に記載の画像処理装置。
  19.  ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成し、
     前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う
     画像処理方法。
  20.  コンピュータを、
     ユーザインタフェースを介して選択されたエミュレーション対象のレンズの収差による集光光線ベクトルのテーブルである収差テーブルを生成する収差テーブル生成部と、
     前記収差テーブルと多視点画像とを用いて、選択された前記レンズを介して被写体を撮像した仮想撮像画像を生成する集光処理を行う集光処理部と
     して機能させるプログラム。
PCT/JP2021/007357 2020-03-12 2021-02-26 画像処理装置および方法、並びにプログラム WO2021182130A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21768557.7A EP4106313A4 (en) 2020-03-12 2021-02-26 IMAGE PROCESSING DEVICE, METHOD AND PROGRAM
US17/909,607 US20230113741A1 (en) 2020-03-12 2021-02-26 Image processing apparatus, image processing method, and program
JP2022505913A JPWO2021182130A1 (ja) 2020-03-12 2021-02-26
CN202180018910.0A CN115280753A (zh) 2020-03-12 2021-02-26 图像处理装置、图像处理方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020042830 2020-03-12
JP2020-042830 2020-03-12

Publications (1)

Publication Number Publication Date
WO2021182130A1 true WO2021182130A1 (ja) 2021-09-16

Family

ID=77670538

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/007357 WO2021182130A1 (ja) 2020-03-12 2021-02-26 画像処理装置および方法、並びにプログラム

Country Status (5)

Country Link
US (1) US20230113741A1 (ja)
EP (1) EP4106313A4 (ja)
JP (1) JPWO2021182130A1 (ja)
CN (1) CN115280753A (ja)
WO (1) WO2021182130A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341503A (ja) * 1999-05-26 2000-12-08 Fuji Photo Film Co Ltd データ生成方法及び画像処理システム
JP2002196228A (ja) * 2000-12-26 2002-07-12 Olympus Optical Co Ltd カメラシステム
JP2003524836A (ja) * 1999-12-16 2003-08-19 ピクチャーアイキュー コーポレイション 任意の解像度でのラスタ化に適切なデジタル画像と関連付けられるデータを使用するためのオンデマンド技法
JP2006060309A (ja) * 2004-08-17 2006-03-02 Adc Technology Kk 表示装置
WO2015037472A1 (ja) 2013-09-11 2015-03-19 ソニー株式会社 画像処理装置および方法
WO2016002578A1 (ja) * 2014-07-04 2016-01-07 ソニー株式会社 画像処理装置および方法
WO2016175043A1 (ja) 2015-04-28 2016-11-03 ソニー株式会社 画像処理装置及び画像処理方法
WO2019078032A1 (ja) 2017-10-20 2019-04-25 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム、並びに、交換レンズ

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5927541B2 (ja) * 2011-06-08 2016-06-01 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
WO2013042440A1 (ja) * 2011-09-21 2013-03-28 富士フイルム株式会社 画像処理装置、方法、プログラム及び記録媒体並びに立体撮像装置、携帯電子機器、プリンタ及び立体画像再生装置
KR101376211B1 (ko) * 2012-06-01 2014-03-21 현대모비스 주식회사 용이한 뷰 모드 변경을 위한 어라운드 뷰 모니터 시스템용 영상 합성 장치 및 영상 합성 방법
EP3101892A4 (en) * 2014-05-21 2017-07-26 Sony Corporation Image processing apparatus and method
US10297034B2 (en) * 2016-09-30 2019-05-21 Qualcomm Incorporated Systems and methods for fusing images

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341503A (ja) * 1999-05-26 2000-12-08 Fuji Photo Film Co Ltd データ生成方法及び画像処理システム
JP2003524836A (ja) * 1999-12-16 2003-08-19 ピクチャーアイキュー コーポレイション 任意の解像度でのラスタ化に適切なデジタル画像と関連付けられるデータを使用するためのオンデマンド技法
JP2002196228A (ja) * 2000-12-26 2002-07-12 Olympus Optical Co Ltd カメラシステム
JP2006060309A (ja) * 2004-08-17 2006-03-02 Adc Technology Kk 表示装置
WO2015037472A1 (ja) 2013-09-11 2015-03-19 ソニー株式会社 画像処理装置および方法
WO2016002578A1 (ja) * 2014-07-04 2016-01-07 ソニー株式会社 画像処理装置および方法
WO2016175043A1 (ja) 2015-04-28 2016-11-03 ソニー株式会社 画像処理装置及び画像処理方法
WO2019078032A1 (ja) 2017-10-20 2019-04-25 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム、並びに、交換レンズ

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP4106313A1 (en) 2022-12-21
EP4106313A4 (en) 2023-07-19
US20230113741A1 (en) 2023-04-13
CN115280753A (zh) 2022-11-01
JPWO2021182130A1 (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
EP3628121B1 (en) Electronic device for storing depth information in connection with image depending on properties of depth information obtained using image and control method thereof
KR102480245B1 (ko) 패닝 샷들의 자동 생성
JP6525617B2 (ja) 画像処理装置およびその制御方法
JP6079297B2 (ja) 編集装置、編集方法、及び編集プログラム
US9332195B2 (en) Image processing apparatus, imaging apparatus, and image processing method
JP2020030864A (ja) 画像処理装置
JP6497965B2 (ja) 画像処理装置及び画像処理方法
US10255664B2 (en) Image processing device and method
JP5279636B2 (ja) 撮像装置
JP6261205B2 (ja) 画像処理装置
KR20090022710A (ko) 디지털 촬영장치, 그 제어방법 및 이를 실행시키기 위한프로그램을 저장한 기록매체
JP2019057891A (ja) 情報処理装置、撮像装置、情報処理方法及びプログラム
CN112017137A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN108140401A (zh) 访问视频片段
WO2021182130A1 (ja) 画像処理装置および方法、並びにプログラム
US20210400192A1 (en) Image processing apparatus, image processing method, and storage medium
EP3930304A1 (en) Imaging apparatus, method of controlling imaging apparatus and program
JP5744642B2 (ja) 画像処理装置および画像処理方法、プログラム。
JP5543636B2 (ja) 撮像装置
JP2015177455A (ja) 表示制御装置、制御方法、プログラム及び記録媒体
JP5448799B2 (ja) 表示制御装置及び表示制御方法
CN115086558B (zh) 对焦方法、摄像设备、终端设备及存储介质
WO2022107635A1 (ja) 撮影装置、画像の生産方法、および記録媒体
JP5828927B2 (ja) 撮像装置
KR20130016080A (ko) 이미지 처리 장치에서 이미지를 합성하는 장치 및 방법

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: 21768557

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022505913

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021768557

Country of ref document: EP

Effective date: 20220913

NENP Non-entry into the national phase

Ref country code: DE