WO2022075073A1 - 撮影デバイス、サーバ装置、および、3dデータ生成方法 - Google Patents

撮影デバイス、サーバ装置、および、3dデータ生成方法 Download PDF

Info

Publication number
WO2022075073A1
WO2022075073A1 PCT/JP2021/034938 JP2021034938W WO2022075073A1 WO 2022075073 A1 WO2022075073 A1 WO 2022075073A1 JP 2021034938 W JP2021034938 W JP 2021034938W WO 2022075073 A1 WO2022075073 A1 WO 2022075073A1
Authority
WO
WIPO (PCT)
Prior art keywords
shooting
image
volumetric
unit
information
Prior art date
Application number
PCT/JP2021/034938
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 CN202180067706.8A priority Critical patent/CN116250242A/zh
Priority to JP2022555353A priority patent/JPWO2022075073A1/ja
Publication of WO2022075073A1 publication Critical patent/WO2022075073A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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

Definitions

  • the present technology relates to a shooting device, a server device, and a 3D data generation method, and particularly to a shooting device, a server device, and a 3D data generation method that enable volumetric shooting using a simple shooting device. ..
  • volumetric photography is generally performed in a dedicated studio, etc. using dedicated equipment.
  • volumetric photography can be easily performed using an electronic device having a photography function that is generally owned by the user, such as a smartphone or tablet.
  • This technology was made in view of such a situation, and enables volumetric photography to be performed using a simple photography device.
  • the imaging device of the first aspect of the present technology transmits its own information regarding imaging to the server device, and is transmitted from the server device based on the determination result of whether or not volumetric imaging is possible. It is provided with a control unit for acquiring candidate setting values for.
  • the setting related to volumetric photography is transmitted from the server device based on the determination result of whether or not volumetric photography is possible, and the information about own information about photography is transmitted to the server device. Candidate values are obtained.
  • the server device of the second aspect of the present technology receives information about shooting from a plurality of shooting devices, and determines whether the plurality of shooting devices are capable of volumetric shooting based on the received information. It has a control unit.
  • information about shooting is received from a plurality of shooting devices, and based on the received information, it is determined whether or not the plurality of shooting devices are capable of volumetric shooting. ..
  • the 3D data generation method of the third aspect of the present technology receives information about shooting from a plurality of shooting devices, and based on the received information, whether the plurality of shooting devices are capable of volumetric shooting.
  • Data of a 3D model of the subject is generated from the captured images captured by the plurality of imaging devices determined to be capable of volumetric imaging.
  • information about shooting is received from a plurality of shooting devices, and based on the received information, it is determined whether or not the plurality of shooting devices are capable of volumetric shooting.
  • Data of a 3D model of the subject is generated from the captured images captured by the plurality of imaging devices determined to be capable of volumetric imaging.
  • the photographing device and the server device may be independent devices or may be internal blocks constituting one device.
  • FIG. 1 shows a configuration example of an image processing system according to the present disclosure, which provides volumetric shooting and reproduction by a shooting device such as a smartphone.
  • the image processing system 1 includes N shooting devices (N> 1), a cloud server (server device) 12, and a playback device 13.
  • Each of the N shooting devices 11 performs volumetric shooting with a predetermined subject as an object OBJ, and transmits the image data obtained as a result to the cloud server 12.
  • the photographing device 11 is composed of an electronic device having an imaging function, such as a smartphone, a tablet, a digital camera, and a game terminal.
  • N 5 that is, an example of photographing an object OBJ with five photographing devices 11-1 to 11-5 is shown, but the number of imaging devices 11 is arbitrary.
  • the cloud server 12 generates 3D model data (3D model data) MO of the object OBJ based on the image data obtained by volumetric photography. Further, the cloud server 12 transmits the stored 3D model data MO of the predetermined object OBJ to the reproduction device 13 in response to the request from the reproduction device 13.
  • the playback device 13 acquires a 3D model data MO of a predetermined object OBJ from the cloud server 12 and reproduces it to generate a free viewpoint image of the 3D model of the object OBJ viewed from an arbitrary viewing position, and generates a predetermined free viewpoint image. Show on the display.
  • the playback device 13 is composed of an electronic device including a display, such as a smartphone or tablet 13A, a personal computer 13B, and a head-mounted display (HMD) 13C.
  • the N shooting devices 11 and the cloud server 12 are connected via a predetermined network. Further, the cloud server 12 and the reproduction device 13 are also connected via a predetermined network.
  • the network connecting these may be an arbitrary communication network, may be a communication network for wired communication, may be a communication network for wireless communication, or may be composed of both of them. .. Further, the network may be composed of one communication network or may be composed of a plurality of communication networks.
  • the Internet public telephone network, wide area communication network for wireless mobiles such as so-called 4G line and 5G line, WAN (WIDeAreaNetwork), LAN (LocalAreaNetwork), communication conforming to Bluetooth (registered trademark) standard.
  • Wireless communication networks short-range wireless communication channels such as NFC (Near Field Communication), infrared communication channels, standards such as HDMI (registered trademark) (High-Definition Multimedia Interface) and USB (Universal Serial Bus)
  • the network may include a communication network or a communication path of an arbitrary communication standard, such as a communication network for wired communication conforming to the above.
  • a plurality of captured images can be obtained by imaging a predetermined photographing space in which a subject such as a person is arranged with a plurality of photographing devices from the outer periphery thereof.
  • the captured image is composed of, for example, a moving image.
  • three photographing devices CAM1 to CAM3 are arranged so as to surround the subject # Ob1, but the number of photographing devices CAM is not limited to three and is arbitrary. Since the number of imaging devices CAM at the time of photographing is the known number of viewpoints when generating a free viewpoint image, the larger the number, the more accurately the free viewpoint image can be expressed.
  • Subject # Ob1 is considered to be a person taking a predetermined action.
  • a 3D object MO1 which is a 3D model of the subject # Ob1 to be displayed in the shooting space is generated using the shot images obtained from multiple shooting devices CAM in different directions (3D modeling).
  • a 3D object MO1 is generated by using a method such as Visual Hull that cuts out a three-dimensional shape of a subject using images taken in different directions.
  • FIG. 2 shows an example in which the viewing device is a display D1 or a head-mounted display (HMD) D2.
  • HMD head-mounted display
  • the playback side can request only the 3D object to be viewed from among one or more 3D objects existing in the shooting space and display it on the viewing device.
  • the playback side assumes a virtual camera in which the viewing range of the viewer is the shooting range, and requests only the 3D object captured by the virtual camera among the many 3D objects existing in the shooting space for viewing. Display on the device.
  • the viewpoint (virtual viewpoint) of the virtual camera can be set to an arbitrary position so that the viewer can see the subject from any viewpoint in the real world.
  • a background image representing a predetermined space can be combined with the 3D object as appropriate.
  • FIG. 3 shows an example of a data format of general 3D model data.
  • 3D model data is generally expressed as 3D shape data representing the 3D shape (geometry information) of the subject and texture data representing the color information of the subject.
  • 3D shape data is, for example, a point cloud format that represents the three-dimensional position of a subject as a set of points, a 3D mesh format that represents a vertex (Vertex) called a polygon mesh and a connection between the vertices, and a cube called a voxel. It is expressed in a voxel format represented by a set of.
  • the texture data includes, for example, a multi-texture format held in the captured image (two-dimensional texture image) captured by each imaging device CAM, or a two-dimensional texture image pasted on each point or each polygon mesh which is 3D shape data.
  • the format for describing the 3D model data in the 3D shape data and the multi-texture format held by the plurality of captured images P1 to P8 captured by each imaging device CAM is a virtual viewpoint (virtual camera). It is a View Dependent format in which the color information can change depending on the position of.
  • the format for describing the 3D model data is the 3D shape data and the UV mapping format in which the texture information of the subject is mapped to the UV coordinate system. It is a View Independent format in which the color information is the same depending on the position).
  • volumetric shooting which is shooting for generating 3D model data, was generally performed in a dedicated studio or the like using dedicated equipment.
  • the image processing system 1 in FIG. 1 is a system that enables volumetric photography to be performed using an electronic device such as a smartphone or tablet that is generally owned by the user.
  • FIG. 4 is a block diagram showing a detailed configuration example of the photographing device 11, the cloud server 12, and the reproduction device 13.
  • the photographing device 11 includes a communication unit 31, a message transmission / reception unit 32, a control unit 33, an audio output unit 34, a speaker 35, an image output unit 36, a display 37, a flash output unit 38, and a flash 39.
  • the photographing device 11 also includes a touch sensor 40, a gyro sensor 41, an acceleration sensor 42, a GPS sensor 43, a sensor input unit 44, and a synchronization signal generation unit 45.
  • the photographing device 11 further includes one or more cameras 51 (51A to 51C), a microphone 52, a camera input / output unit 53, an image processing unit 54, an image compression unit 55, a voice input unit 56, a voice processing unit 57, and a voice compression unit. It includes 58 and a stream transmission unit 59.
  • the communication unit 31 is composed of various communication modules such as carrier communication for wireless mobiles such as so-called 4G lines and 5G lines, wireless communication such as Wi-Fi (registered trademark), and wired communication such as 1000BASE-T. Communicates messages and data with the cloud server 12.
  • carrier communication for wireless mobiles such as so-called 4G lines and 5G lines
  • wireless communication such as Wi-Fi (registered trademark)
  • wired communication such as 1000BASE-T. Communicates messages and data with the cloud server 12.
  • the message transmission / reception unit 32 performs message communication with the cloud server 12 via the communication unit 31.
  • the message transmission / reception unit 32 corresponds to an instant messaging system capable of message communication with the cloud server 12 side regardless of the communication type of the communication unit 31. Examples of such an instant messaging system include Jabber, XMPP, and SIP (Session Initiation Protocol).
  • the control unit 33 controls the entire operation of the photographing device 11 based on the message received by the message transmission / reception unit 32 and the user's operation detected in the operation unit (not shown). For example, the control unit 33 performs message communication with the cloud server 12 via the message transmission / reception unit 32 to notify the user's operation content, or to respond to a request from the cloud server 12 for volumetric photography (shooting of a subject). Is started, and the image data obtained by shooting is transmitted to the cloud server 1. Further, the control unit 33 transmits the capability information included in the photographing device 11 to the cloud server 12, and supplies the sensor information which is the detection result of various sensors included in the imaging device 11 to the stream transmitting unit 59.
  • the control unit 33 supplies the setting value information of the shooting function supplied from the cloud server 12 to the camera input / output unit 53, the image processing unit 54, and the image compression unit 55, and makes predetermined settings.
  • the setting value information of the shooting function includes, for example, setting values for an exposure time, a resolution, a compression method, a bit rate, and the like.
  • An application program (hereinafter referred to as a volumetric shooting application) for executing volumetric shooting is installed in the shooting device 11, and the control unit 33 controls the shooting device 33 by starting and executing the volumemetric shooting application. A process for controlling the entire operation of 11 is performed.
  • the audio output unit 34 outputs an audio signal to the speaker 35 according to the control of the control unit 33.
  • the speaker 35 outputs sound based on the audio signal supplied from the audio output unit 34.
  • the image output unit 36 outputs an image signal to the dispenser 37 under the control of the control unit 33.
  • the display 37 displays an image based on an image signal supplied from the image output unit 36.
  • the flash output unit 38 outputs a light emission control signal to the flash 39 according to the control from the control unit 33.
  • the flash 39 emits light based on a light emission control signal from the flash output unit 38.
  • the touch sensor 40 detects the touch position when the user touches the display 37, and supplies the sensor information to the sensor input unit 44.
  • the gyro sensor 41 detects the angular velocity and supplies the sensor information to the sensor input unit 44.
  • the acceleration sensor 42 detects the acceleration and supplies the sensor information to the sensor input unit 44.
  • the GPS sensor 43 receives a GPS signal which is one of GNSS (Global Navigation Satellite System / Global Positioning Satellite System).
  • the GPS sensor 43 detects the current position of the photographing device 11 based on the received GPS signal, and supplies the sensor information to the sensor input unit 44.
  • the sensor input unit 44 acquires sensor information supplied from each sensor of the touch sensor 40, the gyro sensor 41, the acceleration sensor 42, and the GPS sensor 43, and supplies the sensor information to the control unit 33.
  • the synchronization signal generation unit 45 generates a synchronization signal based on an instruction from the control unit 33 and supplies it to one or more cameras 51.
  • a means for the synchronization signal generation unit 45 to generate a synchronization signal the following method can be adopted depending on the type of network connecting the N shooting devices 11 and the cloud server 12.
  • the first synchronization method is a method of synchronizing using clock information of carrier communication such as a 5G line. Since the carrier communication has a highly accurate clock for communication, it is possible to set the time and synchronize using this clock information.
  • the second synchronization method is a method of synchronizing using the time information included in the GPS signal. Since the GPS signal has time information with high accuracy so that it can be used as the grand master clock of PTP (Precision Time Protocol), it is possible to adjust the time and synchronize using this clock information.
  • PTP Precision Time Protocol
  • the third synchronization method is a method of performing time synchronization using multicast communication of Wi-Fi wireless communication.
  • a multicast packet can be sent to detect the timing and synchronize.
  • 802.11AC and WiFi TimeSync may be used.
  • the fourth synchronization method is a method of performing time synchronization using multicast communication of carrier communication.
  • the delay of communication is reduced to 1 msec, so that a multicast packet can be transmitted by carrier communication to detect the timing and synchronize.
  • the cameras 51A to 51C are cameras having different camera types (types).
  • the camera 51A is an RGB camera that generates an RGB image based on the light receiving result of receiving visible light (RGB)
  • the camera 51B is a camera. It is an RGB-D camera that generates a depth image that stores the depth value as the distance information to the subject as the pixel value of each pixel together with the RGB image.
  • the camera 51C is a light receiving result that receives infrared light (IR). It is an IR camera that generates an IR image based on it.
  • RGB images, depth images, and IR images are not particularly distinguished, they are referred to as camera images.
  • the cameras 51A to 51C make predetermined settings for the exposure time, gain, resolution, etc. based on the set value information supplied from the control unit 33 via the camera input / output unit 53. Further, the cameras 51A to 51C output the camera image obtained as a result of shooting to the camera input / output unit 53.
  • the microphone 52 collects ambient sound and outputs it to the voice input unit 56.
  • the camera input / output unit 53 supplies the set value information supplied from the control unit 33 to each of the cameras 51A to 51C. Further, the camera input / output unit 53 supplies the camera image supplied from the cameras 51A to 51C to the image processing unit 54.
  • the image processing unit 54 executes predetermined image signal processing such as demosaic processing, color correction processing, distortion correction processing, and color space conversion processing on the camera image (RAW data) supplied from the camera input / output unit 53. do.
  • the image compression unit 55 executes a predetermined compression coding process on the image signal from the image processing unit 54 based on the set value specified by the control unit 33, and transmits the compressed coded image stream as a stream. Supply to unit 59.
  • the setting values specified by the control unit 33 include, for example, parameters such as a compression method and a bit rate.
  • the stream transmission unit 59 transmits the image stream from the image compression unit 55, the audio stream from the audio compression unit 58, and the sensor information from the control unit 33 to the cloud server 12 via the communication unit 31.
  • the sensor information from the control unit 33 is stored in the image stream of the camera image for each frame and transmitted, for example.
  • the voice input unit 56 acquires the voice input from the microphone 52 and supplies it to the voice processing unit 57.
  • the voice processing unit 57 executes predetermined voice signal processing such as noise reduction processing on the voice signal from the voice input unit 56.
  • the voice compression unit 58 executes a predetermined compression coding process on the voice signal from the voice processing unit 57 based on the set value specified by the control unit 33, and streams the voice stream after compression coding. It supplies to the transmission unit 59.
  • the set value specified by the control unit 33 includes, for example, parameters such as a compression method and a bit rate.
  • the cloud server 12 includes a controller 101, a message transmission / reception unit 102, a communication unit 103, a stream reception unit 104, a calibration unit 105, a modeling task generation unit 106, and a task storage unit 107.
  • the cloud server 12 includes an offline modeling unit 108, a content management unit 109, a content storage unit 110, a real-time modeling unit 111, a stream transmission unit 112, and an auto-calibration unit 113.
  • the controller 101 controls the overall operation of the cloud server 12. For example, the controller 101 transmits a predetermined message to each shooting device 11 or a playback device 13 via the message transmission / reception unit 102 to perform a predetermined operation such as a shooting operation or a playback operation. Further, the controller 101 controls the offline modeling unit 108 and the like to execute the offline modeling, and controls the real-time modeling unit 111 and the like to execute the real-time modeling. In offline modeling, the generation of a 3D model by volumetric shooting and the reproduction of a 3D model based on the generated 3D model data (display of a free viewpoint image) are executed at different timings.
  • 3D model generation and 3D model reproduction based on the generated 3D model data are executed as a series of processes.
  • the voxel size and the bounding box size which are modeling parameters when generating a 3D model, are determined by the controller 101 according to the shooting target area of each shooting device 11 and the user's setting.
  • the voxel size represents the size of the voxel
  • the bounding box size represents the processing range for searching for the presence of voxels in the 3D object.
  • the message transmission / reception unit 102 communicates with the photographing device 11 or the playback device 13 via the communication unit 103.
  • the message transmission / reception unit 102 corresponds to, for example, the message transmission / reception unit 32 of the photographing device 11.
  • the communication unit 103 is composed of various communication modules such as carrier communication, wireless communication such as Wi-Fi (registered trademark), and wired communication such as 1000BASE-T, and communicates messages and data with the photographing device 11 or the playback device 13. I do.
  • carrier communication wireless communication such as Wi-Fi (registered trademark)
  • wired communication such as 1000BASE-T
  • the stream receiving unit 104 receives the image stream and the audio stream transmitted from each photographing device 11 via the communication unit 103, and performs a decoding process corresponding to a predetermined compression coding method executed by the photographing device 11. Run.
  • the stream receiving unit 104 supplies the camera image or audio signal after the decoding process to at least one of the calibration unit 105, the modeling task generation unit 106, or the real-time modeling unit 111. Further, the stream receiving unit 104 supplies, for example, the sensor information stored in the image stream and transmitted to the calibration unit 105.
  • the calibration unit 105 executes calibration based on the camera image and sensor information of each shooting device 11 according to the instruction from the controller 101, and calculates the camera parameters of each camera 51.
  • the camera parameters include external parameters and internal parameters, but if the internal parameters are set as fixed values, only the external parameters are calculated.
  • the calculated camera parameters are supplied to the modeling task generation unit 106, the offline modeling unit 108, the real-time modeling unit 111, and the auto-calibration unit 113.
  • the modeling task generation unit 106 generates a modeling task, which is a task to generate a 3D model, based on the image stream from the stream receiving unit 104 and the camera parameters from the calibration unit 105, according to the instruction from the controller 101. , Stored in the task storage unit 107.
  • the modeling tasks sequentially supplied from the modeling task generation unit 106 are stored in the task storage unit 107 as a task queue.
  • the offline modeling unit 108 sequentially retrieves one or more modeling tasks stored as a task queue in the task storage unit 107, and executes an offline 3D modeling process.
  • 3D model data 3D model data
  • the offline modeling unit 108 performs the calibration process at that time on the auto-calibration unit 113 as necessary based on the sensor information associated with the image data of each frame of the predetermined photographing device 11. You may request to update the calibration information.
  • the content management unit 109 stores and manages the 3D model data of the object generated by the offline modeling unit 108 in the content storage unit 110 as content.
  • the content management unit 109 acquires 3D model data of a predetermined object, which is the content specified by the controller 101, from the content storage unit 110 and transmits it to the playback device 13 via the stream transmission unit 112.
  • the content storage unit 110 stores 3D model data of an object that is content.
  • the real-time modeling unit 111 acquires the camera image supplied from the stream receiving unit 104 and executes the 3D modeling process in real time.
  • 3D model data 3D model data
  • the real-time modeling unit 111 performs the calibration process at that time based on the sensor information associated with the image data of each frame of the predetermined photographing device 11 to the auto-calibration unit 113 as necessary. You may request to update the calibration information.
  • the stream transmission unit 112 transmits the 3D model data of the object supplied from the content management unit 109 or the real-time modeling unit 111 to the playback device 13.
  • the auto-calibration unit 113 needs to update the camera parameters calculated by the calibration unit 105 based on the sensor information associated with the image data of each frame from the offline modeling unit 108 or the real-time modeling unit 111. If it is determined, the calibration process is executed and the camera parameters are updated.
  • the reproduction device 13 includes a communication unit 151, a message transmission / reception unit 152, a control unit 153, a sensor 154, a sensor input unit 155, a stream reception unit 156, a reproduction unit 157, an image output unit 158, a display 159, an audio output unit 160, and A speaker 161 is provided.
  • the communication unit 151 is composed of various communication modules such as carrier communication, wireless communication such as Wi-Fi (registered trademark), and wired communication such as 1000BASE-T, and communicates messages and data with the cloud server 12.
  • carrier communication wireless communication such as Wi-Fi (registered trademark)
  • wired communication such as 1000BASE-T
  • the message transmission / reception unit 152 performs message communication via the cloud server 12 and the communication unit 103.
  • the message transmission / reception unit 152 corresponds to the message transmission / reception unit 102 of the cloud server 12.
  • the control unit 153 controls the entire operation of the playback device 13 based on the message received by the message transmission / reception unit 152 and the operation of the viewer detected by the operation unit (not shown). For example, the control unit 153 causes the message transmission / reception unit 152 to transmit a message requesting a predetermined content based on the operation of the viewer. Further, the control unit 153 causes the reproduction unit 157 to reproduce the 3D model data of the object transmitted from the cloud server 12 in response to the request for the content. When the 3D model data of the object is reproduced by the reproduction unit 157, the control unit 153 controls so as to be a virtual viewpoint based on the sensor information supplied from the sensor input unit 155.
  • the sensor 154 is composed of a gyro sensor and an acceleration sensor, detects the viewing position of the viewer, and supplies the sensor information to the sensor input unit 155.
  • the sensor input unit 155 supplies the sensor information supplied from the sensor 154 to the control unit 153.
  • the stream receiving unit 156 is a receiving unit corresponding to the stream transmitting unit 112 of the cloud server 12, and receives the 3D model data of the object transmitted from the cloud server 12 and supplies it to the reproducing unit 157.
  • the reproduction unit 157 reproduces the 3D model of the object from the 3D model data of the object so as to have a viewing range based on the viewing position supplied from the control unit 153.
  • the free viewpoint image of the 3D model obtained as a result of reproduction is supplied to the image output unit 158, and the audio is supplied to the audio output unit 160.
  • the image output unit 158 supplies the free viewpoint image from the reproduction unit 157 to the display 159 and displays it.
  • the display 159 displays a free viewpoint image supplied from the image output unit 158.
  • the audio output unit 160 outputs an audio signal from the reproduction unit 157 from the speaker 161.
  • the speaker 161 outputs a sound based on an audio signal from the audio output unit 160.
  • Each of the photographing device 11, the cloud server 12, and the reproducing device 13 of the image processing system 1 has the above-mentioned configurations.
  • FIG. 5 is a flowchart of volumetric shooting / playback processing by the image processing system 1.
  • step S1 the image processing system 1 executes a grouping process of the photographing devices 11 for grouping a plurality of (N units) photographing devices 11 participating in the volumetric photography as one group. Details of this process will be described later with reference to FIGS. 6 and 7.
  • step S2 the image processing system 1 executes a calibration shooting setting process for setting the shooting device 11 for performing the camera calibration process.
  • Each shooting device 11 sets the exposure time, resolution, and the like to predetermined values according to, for example, the shooting function and the settable range that the shooting device 11 has.
  • the setting value for this camera calibration process may be determined in advance, or set (selected) by the user based on its own ability information as in the shooting setting process for volumetric shooting described later in step S4. You may let me.
  • step S3 the image processing system 1 executes the camera calibration process of the image pickup device 11 for calculating the camera parameters of each of the plurality of shooting devices 11. Details of this process will be described later with reference to FIGS. 8 to 11.
  • step S4 the image processing system 1 executes the volumetric shooting shooting setting process for setting the shooting device 11 for volumetric shooting. Details of this process will be described later with reference to FIGS. 12 and 13.
  • step S5 the image processing system 1 executes a synchronized shooting process of the shooting device 11 in which each of the plurality of shooting devices 11 synchronizes the shooting timing to shoot. Details of this process will be described later with reference to FIGS. 14 and 15.
  • step S6 the image processing system 1 determines whether to perform offline modeling or real-time modeling.
  • Offline modeling is a 3D modeling process that generates a 3D model at a timing different from volumetric shooting
  • real-time modeling is a 3D modeling process that generates a 3D model in synchronization with volumemetric shooting.
  • Whether to use offline modeling or real-time modeling is determined, for example, by a user designating one predetermined shooting device 11 when grouping the shooting devices 11.
  • step S6 If it is determined in step S6 that offline modeling is to be performed, the following processes of steps S7 and S8 are executed.
  • step S7 the image processing system 1 executes an offline modeling process that generates 3D model data based on an image stream of a subject photographed by a plurality of photographing devices 11. Details of this process will be described later with reference to FIGS. 16 and 17.
  • step S8 the image processing system 1 executes a content reproduction process of displaying the free viewpoint image of the 3D model on the reproduction device 13 using the 3D model data generated by the offline modeling process as the content. Details of this process will be described later with reference to FIG.
  • step S6 determines whether real-time modeling is to be performed. If it is determined in step S6 that real-time modeling is to be performed, the following process in step S9 is executed.
  • step S9 the image processing system 1 generates 3D model data based on the image stream of the subject photographed by the plurality of photographing devices 11, transmits the generated 3D model data to the reproduction device 13, and causes the 3D model. Execute real-time modeling playback processing to display a free-viewpoint image. Details of this process will be described later with reference to FIG.
  • each step in FIG. 5 may be executed continuously, or each step may be executed at different timings with a predetermined time interval.
  • a predetermined shooting device 11 is referred to as a master device, and the other shooting device 11 is referred to as a participating device.
  • the shooting device 11 which is the master device starts the volumetric shooting application, inputs the user ID, password, and group name, and sends the group registration request to the cloud server 12.
  • the user ID may be input by the user, or may be automatically input (without input by the user) using the terminal name, MAC address, or the like of the photographing device 11.
  • the location information of the master device is also transmitted to the cloud server 12.
  • the position information may be any information as long as it can be determined in step S24, which will be described later, whether or not the plurality of photographing devices 11 constituting the group can perform volumetric photography.
  • the location information includes, for example, moving longitude information detected by the GPS sensor 43, latitude / longitude information obtained by triangulation using the electric field strength of the carrier communication base station, and Wi-Fi wireless communication access point information (for example, SSID). And MAC address information) can be sent to the Wi-Fi location information service to use the latitude and longitude information obtained.
  • step S22 the master device acquires the two-dimensional code returned from the cloud server 12 in response to the group registration request and displays it on the display 37.
  • FIG. 7 shows a screen example of the two-dimensional code displayed on the display 37 of the master device in step S22.
  • the user ID (USERID), password (PASSWD), and group name (GroupName) entered by the user in step S21 are shown together with the characters "Volumetric modeling service” which is the name of the service provided by the cloud server 12. It is displayed. In addition, the two-dimensional code is displayed along with the characters "Please take the following two-dimensional code with the camera".
  • each participating device which is a shooting device 11 other than the master device, activates the volumetric shooting application and shoots the two-dimensional code displayed on the display 37 of the master device.
  • the participating device that has taken the two-dimensional code transmits the group identification information that identifies the registered group and its own location information to the cloud server 12.
  • the volumetric shooting application may be automatically activated so that the group identification information and the location information of the participating device are transmitted to the cloud server 12.
  • the group identification information can be, for example, a user ID or a group name.
  • the cloud server 12 determines whether the master device and the participating device of the same group can perform volumetric photography by using the group identification information and the location information transmitted from the participating devices.
  • the controller 101 of the cloud server 12 determines whether or not the participating device is capable of volumetric photography, for example, depending on whether or not the position of the participating device is in a vicinity position within a certain range from the position of the master device.
  • the cloud server 12 determines that lumetric photography is possible.
  • the cloud server 12 registers the participating device in the group indicated by the group identification information, that is, the group of the master device, and participates in the registration completion message. Send to device.
  • step S24 if it is determined in step S24 that the participating device is not capable of volumetric photography, the cloud server 12 sends a group registration error to the participating device.
  • step S27 the image processing system 1 determines whether or not the group registration has been completed, and if it is determined that the group registration has not been completed yet, the processes of steps S23 to S27 described above are repeated. For example, in the master device, when the operation of ending the display of the two-dimensional code screen of FIG. 7 and ending the registration work is performed, it is determined that the group registration is completed.
  • step S27 If it is determined in step S27 that the group registration is completed, the grouping process of the photographing device 11 in FIG. 6 ends.
  • the group identification information is acquired by recognizing the two-dimensional bar code and transmitted to the cloud server 12, but the user inputs the group identification information and transmits it to the cloud server 12. You may try to do it.
  • Wi-Fi registered trademark
  • the master device presses the group registration button on the screen the fact that the group registration is accepted and the location information are transmitted to the cloud server 12.
  • the cloud server 12 confirms the location information of the participating device for which the group registration button is pressed, determines whether or not it can be registered in the group of the master device, and either a registration completion message or Send a group registration error to the participating devices.
  • the participating device is capable of volumetric photography based only on the position information of the master device and the participating device, but it may be determined by other contents.
  • the master device and the participating device may be connected to the same access point. Further, for example, it may be determined that volumetric shooting is possible when the master device and the participating device each shoot the same subject and the same subject appears in the shot image. Further, for example, even if the participating device is photographed by the master device and the captured image shows a predetermined part of the participating device (for example, the display image of the display), it is determined that volumetric photography is possible. good. Conversely, the participating device may shoot the master device. Further, a plurality of the above-mentioned determination contents may be combined for determination.
  • one photographing device 11 displays the calibration board image, and all the other photographing devices 11 capture the displayed calibration board image.
  • the camera calibration process of calculating the camera parameters of the photographing devices 11 is executed.
  • the camera 51 of the photographing device 11 a camera 51 having the same surface as the display 37 is used.
  • the calibration board image is displayed on the photographing device 11-5 among the five photographing devices 11, and the other photographing devices 11-1 to 11-4 are the photographing devices 11-5.
  • Calibration board Take an image to detect feature points.
  • the photographing devices 11-1 to 11-4 also display the calibration board images in order, and the other photographing devices 11 photograph the displayed calibration board images to detect the feature points.
  • step S41 the cloud server 12 selects one photographing device 11 for displaying the calibration board image.
  • the cloud server 12 transmits a command (message) for displaying the calibration board image to the selected photographing device 11 (hereinafter, also referred to as the selected photographing device 11).
  • step S42 the selective photographing device 11 receives a command to display the calibration board image from the cloud server 12, and displays the calibration board image on the display 37.
  • step S43 each of the photographing devices 11 other than the selective photographing device 11 simultaneously photographs the calibration board image displayed on the display 37 of the selective photographing device 11.
  • each of the photographing devices 11 other than the selective photographing device 11 detects the feature points of the calibration board image obtained by photographing, and the feature point information which is the information of each detected feature point is transmitted to the cloud. Send to server 12.
  • step S45 the calibration unit 105 of the cloud server 12 acquires and stores the feature point information of the calibration board image transmitted from each photographing device 11 via the communication unit 103 or the like.
  • step S46 the cloud server 12 determines whether the calibration board image is displayed on all the grouped shooting devices 11.
  • step S46 If it is determined in step S46 that the calibration board image is not displayed on all the photographing devices 11, the process returns to step S41, and the process of steps S41 to S46 described above is executed again. That is, one of the photographing devices 11 that has not yet displayed the calibration board image is selected, and each of the other photographing devices 11 captures the displayed calibration board image to detect the feature points and obtains the feature point information. The process of transmitting to the cloud server 12 is executed.
  • step S46 determines whether the calibration board image is displayed on all the photographing devices 11 are displayed on all the photographing devices 11. If it is determined in step S46 that the calibration board image is displayed on all the photographing devices 11, the process proceeds to step S47, and the calibration unit 105 of the cloud server 12 uses the stored feature point information. , The three-dimensional position of the feature point and the internal parameter and the external parameter of the photographing device 11 are estimated for each photographing device 11.
  • step S48 the calibration unit 105 of the cloud server 12 supplies the estimated internal parameters and external parameters of each photographing device 11 to the offline modeling unit 108 and the real-time modeling unit 111, and ends the camera calibration process.
  • the camera parameters of each grouped image pickup device 11 can be calculated even when a specially prepared calibration board or the like does not exist.
  • the plurality of photographing devices 11 display the calibration board image in order. I did it.
  • the plurality of photographing devices 11 simultaneously display the calibration board image, and each photographing device 11 is displayed. Can detect the feature points of the calibration board image displayed on the other photographing device 11 at once.
  • the calibration board image may be an image having a different pattern shape or an image having a different color.
  • the calibration board image shown in FIG. 10 is an example of a chess pattern board image and a dot pattern board image, and is an image in which the number of grids (MxN, KxL) and the size and density of dots are different.
  • the user displays the calibration board image by using one of the grouped photographing devices 11 for displaying the calibration board image.
  • the photographing device 11-6 may be moved like a calibration board, and may be photographed by each photographing device 11 to detect the feature points of the calibration board image.
  • each of the grouped shooting devices 11 transmits its own capability information to the cloud server 12.
  • the capability information is information about a shooting function and a settable range included in the shooting device 11, and may include, for example, information about the following items. 1.
  • Camera type RGB, RGB-D, IR
  • Camera setting 1 Exposure time, gain, zoom
  • Camera setting 2 shooting resolution, ROI, frame rate
  • Image encoding settings output resolution, compression coding method, bit rate
  • Camera synchronization method Type1, Type2, Type3
  • Camera calibration method Type1, Type2, Type3
  • the ROI of camera setting 2 represents the range that can be set as the area of interest in the shooting range indicated by the shooting resolution.
  • FIG. 13 shows an example of ability information possessed by a certain photographing device 11.
  • the device identification name of the photographing device 11 is “camera 1”
  • the camera type is “RGB”
  • the exposure time is “500”, “1000”, “10000”.
  • the frame rate can be set to "30", “60", or "120”
  • the shooting resolution can be set to "3840x2160", “1920x1080”, or "640x480". Can be set.
  • the photographing device 11 can set either “H.264” or “H.265" as the compression coding method, and the output resolution is "3840x2160", “1920x1080”, “640x480”. , And any of “1M”, “3M”, “5M”, “10M”, “20M”, and “50M” can be set as the bit rate.
  • the image pickup device 11 can set any one of "type 1", “type 2”, and “type 3” as the camera synchronization method, and "type 1", “type 2", and “type 3” as the calibration method. Any of 3 "can be set.
  • the cloud server 12 generates candidates for setting values of each shooting device 11 suitable for volumetric shooting based on the capability information of all shooting devices 11 set in one group.
  • the setting value of each photographing device 11 may be a setting value common to all the photographing devices 11 set in one group, or may be a different setting value.
  • the camera synchronization method and the like are set in common for all shooting devices 11, but the camera type is set separately, such as RGB for a plurality of shooting devices 11 and IR for the remaining shooting devices 11. Can be done.
  • step S63 the cloud server 12 determines whether volumetric photography, that is, photography for 3D model generation is possible. Whether or not volumetric shooting is possible will be described in detail later, but for example, an area common to a certain number or more of shooting devices 11 by superimposing shooting target areas of all shooting devices 11 set in one group. Can be determined by whether or not there is.
  • step S63 If it is determined in step S63 that volumetric shooting is possible, the process proceeds to step S64, the cloud server 12 transmits a set value candidate to each shooting device 11, and each shooting device 11 sends a set value. Candidates are received and presented to the user.
  • each photographing device 11 transmits the candidate of the set value specified by the user to the cloud server 12.
  • step S66 the cloud server 12 acquires the candidate of the setting value specified by the user transmitted from each shooting device 11, and transmits the setting signal for setting the setting value specified by the user to each shooting device 11. Then, the shooting setting process for volumetric shooting is terminated.
  • step S63 determines whether volumetric imaging is impossible. If it is determined in step S63 that volumetric imaging is impossible, the process proceeds to step S67, and the cloud server 12 transmits to each imaging device 11 that volumetric imaging is not possible and presents it to the user. do. This completes the shooting setting process for volumetric shooting.
  • the shooting setting process for volumetric shooting it is determined whether or not volumetric shooting is possible based on the capability information of each shooting device 11, and a predetermined value is determined from the set values that enable volumetric shooting.
  • the setting value of is selected.
  • the controller 101 of the cloud server 12 determines the camera synchronization method based on the capability information of each photographing device 11. For example, when the camera synchronization method of the shooting devices 11-1 to 11-N has the following conditions, the controller 101 has a higher priority among the camera synchronization methods supported by all the shooting devices 11. Select. If the priority is type1>type2>...> type K, Type2 is selected.
  • Shooting device 11-1: Type1, Type2, ... TypeK Shooting device 11-2: Type2, ... TypeK ⁇ ⁇ ⁇ Shooting device 11-N: Type1, Type2, ... TypeK
  • the controller 101 measures the communication band with each photographing device 11 and determines the maximum bit rate [Mbps]. It is assumed that the maximum bit rate determined for each of the photographing devices 11-1 to 11-N is as follows. Shooting device 11-1: X 0 [Mbps] Shooting device 11-2: X 1 [Mbps] ⁇ ⁇ ⁇ Shooting device 11-N: X n [Mbps]
  • the controller 101 calculates a possible combination of camera type, resolution, frame rate, compression coding method, etc. within the range of the maximum bit rate of each shooting device 11, and sets a value for each shooting device 11. Decide on a candidate.
  • Shooting device 11-1 Candidate 1 (RGB, 3840x2160, 30, H.265, 40M) Candidate 2 (RGB, 3840x2160, 60, H.265, 50M) Candidate 3 (RGB, 1920x1080, 30, H.265, 20M) Candidate 4 (RGB-D, 1920x1080, 30, H.265, 40M)
  • Shooting device 11-2 Candidate 1 (RGB, 3840x2160, 30, H.265, 40M) Candidate 2 (RGB, 3840x2160, 60, H.265, 50M) Candidate 3 (RGB, 1920x1080, 120, H.265, 20M) Candidate 4 (RGB-D, 1920x1080, 30, H.265, 40M) ⁇
  • the controller 101 determines whether volumetric imaging is possible by using the determined candidate of each set value.
  • the controller 101 can determine whether volumetric imaging is possible by the following method.
  • the controller 101 calculates the shooting target area of each shooting device 11 based on the calibration result of each shooting device 11, and when the shooting target area of each shooting device 11 is superimposed, the common shooting area exists. Whether or not volumetric imaging is possible is determined.
  • the common shooting area may be an area common to the shooting target areas of all the shooting devices 11, or may be a region common to the shooting target areas of a certain number or more of the shooting devices 11.
  • the controller 101 calculates modeling parameters of a 3D model from the resolution of each shooting device 11 and a shooting target area, and volumetric shooting is possible depending on whether or not the calculated modeling parameters are within a predetermined range. Is determined.
  • Modeling parameters consist of voxel size and bounding box size. More specifically, the controller 101 determines what the voxel size (how many mm square) will be when generating a 3D model from the resolution of each photographing device 11 and the area to be photographed.
  • the controller 101 may add a plurality of voxel sizes and bounding box sizes as candidates for setting values from between the lower limit value Voxel_L and the upper limit value Voxel_U of the voxel size.
  • the controller 101 estimates the processing time required for 3D modeling from the candidate of each setting value of each shooting device 11, and volumetric shooting is performed depending on whether or not the estimated 3D modeling processing time is within a predetermined time. Is possible. More specifically, the controller 101 estimates the decoding processing time of 3D model data from the resolution, frame rate, compression coding method, bit rate, etc. of each photographing device 11, and calculates it from the voxel size and the bounding box size. The drawing processing time of the free viewpoint image is estimated based on the number of voxels to be processed.
  • the controller 101 determines whether the estimated 3D modeling processing time is within the processing time requested by the user, and in the case of real-time modeling, the estimated 3D modeling processing time is a predetermined value capable of real-time processing. It is determined whether it is as follows.
  • the controller 101 When it is determined that volumetric imaging is possible, the controller 101 presents the candidates for the set values determined in [STEP3] to the user in order of a predetermined priority.
  • the candidate setting values are (1) the setting value that reduces the voxel size, (2) the setting value that increases the resolution, and (3) the setting value that increases the frame rate.
  • the candidate setting values are (1) the setting value that increases the frame rate, (2) the setting value that reduces the voxel size, and (3) the setting value that increases the resolution.
  • the candidate setting values are (1) the setting value that increases the frame rate, (2) the setting value that reduces the voxel size, and (3) the setting value that increases the resolution.
  • the cloud server 12 determines the setting value candidates of each shooting device 11 based on the capability information of each shooting device 11, and automatically determines whether or not volumetric shooting is possible.
  • the performance of the electronic device possessed by the user is diverse.
  • the shooting setting process for volumetric shooting it is possible to optimally determine the setting value related to the shooting function according to the performance of the image pickup device 11 that participated in the volumetric shooting.
  • the synchronous shooting process of FIG. 14 is a process of synchronously shooting using the clock information in the shooting device 11, and the synchronous shooting process of FIG. 15 is a process when the clock information in the shooting device 11 cannot be used.
  • the synchronous shooting process when the clock information in the shooting device 11 cannot be used is a shooting process for enabling the shot image data to be synchronized after the fact.
  • the synchronous shooting process in the case of synchronous shooting using the clock information in the shooting device 11 will be described with reference to the flowchart of FIG.
  • the clock information in the photographing device 11 is synchronized with high accuracy by the first synchronization method or the fourth synchronization method described above.
  • step S81 the cloud server 12 acquires the current time from each of the grouped shooting devices 11.
  • step S82 the cloud server 12 determines the time obtained by adding a certain time to the most advanced time among the acquired times of each shooting device 11 as the capture start time.
  • step S83 the cloud server 12 controls the camera 51 of each shooting device 11 to the standby state by transmitting a predetermined command to each shooting device 11 via the network.
  • the standby state is a state in which when a synchronization signal is input, shooting can be performed according to the synchronization signal.
  • step S84 the cloud server 12 transmits the capture start time determined in step S82 to each shooting device 11.
  • each shooting device 11 acquires the capture start time transmitted from the cloud server 12 and sets it in the synchronization signal generation unit 45.
  • the synchronization signal generation unit 45 starts generating and outputting the synchronization signal.
  • the synchronization signal is output at the frame rate set in the shooting setting process of FIG. 8 and supplied to the camera 51.
  • step S86 the camera 51 of each photographing device 11 photographs a subject to be a 3D model based on the input synchronization signal.
  • the image data (image stream) of the subject obtained by shooting is temporarily held in the image pickup device 11 or transmitted to the cloud server 12 in real time.
  • each photographing device 11 determines whether or not the end of photographing is instructed.
  • the end of shooting is determined by the user operating a predetermined shooting device 11 such as a master device, and the shooting device 11 may instruct another shooting device 11 to finish shooting, or may be instructed to finish shooting via the cloud server 12. May be instructed to end.
  • step S87 If it is determined in step S87 that the end of shooting is not instructed, the above-mentioned steps S86 and S87 are repeated. That is, shooting based on the synchronization signal is continued.
  • step S87 if it is determined in step S87 that the end of shooting is instructed, the process proceeds to step S88, and each shooting device 11 stops shooting the subject and ends the synchronized shooting process. The generation of the synchronization signal of the synchronization signal generation unit 45 is also stopped.
  • step S101 the cloud server 12 causes each shooting device 11 to start shooting by transmitting a predetermined command to each shooting device 11 via the network.
  • each photographing device 11 photographs a subject to be a 3D model based on the synchronization signal generated by the synchronization signal generation unit 45 based on the internal clock.
  • the image data (image stream) of the subject obtained by shooting is temporarily held in the image pickup device 11 or transmitted to the cloud server 12 in real time.
  • step S103 the cloud server 12 determines whether or not the predetermined time has elapsed after a certain period of time has elapsed from the start of shooting.
  • step S104 the cloud server 12 issues a light emission command of the flash 39 to the predetermined shooting device 11, for example, the master device. Send.
  • step S105 the predetermined photographing device 11 to which the flash light emission command is transmitted emits the flash 39 based on the light emission command.
  • steps S104 and S105 are skipped. Therefore, the processes of steps S104 and S105 are executed only at a predetermined time after a certain time has elapsed from the start of photographing.
  • step S106 each photographing device 11 determines whether or not the end of photographing is instructed. If it is determined in step S106 that the end of shooting is not instructed, the above-mentioned steps S102 to S106 are repeated. That is, shooting based on the synchronization signal is continued.
  • step S106 determines whether the end of shooting is instructed. If it is determined in step S106 that the end of shooting is instructed, the process proceeds to step S107, and each shooting device 11 stops shooting the subject and ends the synchronized shooting process. The generation of the synchronization signal of the synchronization signal generation unit 45 is also stopped.
  • the image stream shot by the plurality of grouped shooting devices 11 includes the image emitted by the flash.
  • the images are shot by each of the plurality of shooting devices 11. It is possible to synchronize the captured images.
  • the sound is output from the speaker 35, and the time information of the image stream is aligned so that the frames in which the sounds are recorded have the same time stamp. Thereby, the captured image may be synchronized.
  • each of the plurality of photographing devices 11 determines whether or not the photographing is completed, and waits until it is determined that the photographing is completed.
  • step S121 when it is determined in step S121 that the shooting is completed, the process proceeds to step S122, and each shooting device 11 sends an image stream of the shot image of the subject shot to the cloud server 12 via a predetermined network.
  • a captured image obtained by capturing a subject is subjected to predetermined image signal processing such as demosaic processing in the image processing unit 54, a predetermined compression coding process in the image compression unit 55, and then an image stream from the stream transmission unit 59. Will be sent as.
  • step S123 the stream receiving unit 104 of the cloud server 12 receives the image stream transmitted from each photographing device 11 via the communication unit 103 and supplies it to the modeling task generation unit 106.
  • step S124 the modeling task generation unit 106 of the cloud server 12 acquires the camera parameters of each photographing device 11 from the calibration unit 105, generates a modeling task together with the image stream from the stream reception unit 104, and generates a modeling task, and the task storage unit. Store in 107.
  • the modeling tasks sequentially supplied from the modeling task generation unit 106 are stored in the task storage unit 107 as a task queue.
  • step S125 the offline modeling unit 108 acquires one of the modeling tasks stored in the task storage unit 107.
  • step S126 the offline modeling unit 108 acquires the captured image of the i-frame from the image stream of each imaging device 11 of the acquired modeling task.
  • "1" is set as the initial value of the variable i of the frame number of the image stream.
  • the offline modeling unit 108 generates a silhouette image from the acquired captured image of the i-frame of each photographing device 11 and a preset background image.
  • the silhouette image is an image in which the subject area is represented by a silhouette, and can be generated by using, for example, a background subtraction method in which the difference between the captured image and the background image is taken.
  • step S1208 the offline modeling unit 108 generates shape data representing the 3D shape of the object from N silhouette images corresponding to each shooting device 11, for example, by Visual Hull.
  • Visual Hull is a method of projecting N silhouette images according to camera parameters and carving out a three-dimensional shape.
  • the shape data representing the 3D shape of an object is represented by voxel data indicating whether or not it belongs to the object, for example, in a three-dimensional grid (voxel) unit.
  • step S129 the offline modeling unit 108 converts the shape data representing the 3D shape of the object from the voxel data into mesh format data called a polygon mesh.
  • An algorithm such as the Marching cube method can be used to convert the data format of the polygon mesh, which is easy to render on the display device.
  • step S130 the offline modeling unit 108 generates a texture image corresponding to the shape data of the object.
  • the texture image the captured image captured by each imaging device 11 is regarded as the texture image as it is.
  • the UV mapping format described with reference to FIG. 3 a UV mapping image corresponding to the shape data of the object is generated as a texture image.
  • step S131 the offline modeling unit 108 determines whether the current frame is the final frame of the image stream of each shooting device 11 of the acquired modeling task.
  • step S131 If it is determined in step S131 that the current frame is not the final frame of the image stream of each shooting device 11 of the acquired modeling task, the process proceeds to step S132. Then, in step S132, after the variable i is incremented by 1, the above-mentioned steps S126 to S131 are repeated. That is, the shape data and the texture image of the object are generated for the captured image of the next frame in the image stream of each imaging device 11 of the acquired modeling task.
  • step S131 if it is determined in step S131 that the current frame is the final frame of the image stream of each shooting device 11 of the acquired modeling task, the process proceeds to step S133, and the offline modeling unit 108 performs 3D of the object.
  • the model data is supplied to the content management unit 109.
  • the content management unit 109 stores and manages the 3D model data of the object supplied from the offline modeling unit 108 in the content storage unit 110 as content.
  • FIG. 17 shows an example of 3D model data of an object stored in the content storage unit 110.
  • the 3D model data of the object has the shape data and the texture image of the object in frame units.
  • step S141 the message transmission / reception unit 152 of the reproduction device 13 requests the cloud server 12 for 3D model data of the content designated to be reproduced by the user.
  • step S142 the cloud server 12 transmits the 3D model data of the designated content to the playback device 13. More specifically, the controller 101 of the cloud server 12 receives a message requesting 3D model data of predetermined content via the message transmission / reception unit 102. The controller 101 instructs the content management unit 109 to transmit the requested content to the reproduction device 13. The content management unit 109 acquires 3D model data of the designated content from the content storage unit 110 and transmits it to the playback device 13 via the stream transmission unit 112.
  • step S143 the playback device 13 acquires the shape data and the texture image of the kth frame as the content transmitted from the cloud server 12.
  • "1" is set as the initial value of the variable k of the frame number of the 3D model data of the transmitted content.
  • step S144 the control unit 153 of the reproduction device 13 determines the virtual viewpoint position, which is the viewing position of the viewer with respect to the object, based on the sensor information detected by the sensor 154.
  • the determined virtual viewpoint position information is supplied to the reproduction unit 157.
  • step S145 the reproduction unit 157 of the reproduction device 13 performs a rendering process for drawing an image of an object of the 3D model based on the determined virtual viewpoint position. That is, the reproduction unit 157 generates an object image of the 3D model object as viewed from the virtual viewpoint position, and outputs the object image to the display 159 via the image output unit 158.
  • step S146 the reproduction unit 157 determines whether the current frame is the final frame of the acquired content.
  • step S146 If it is determined in step S146 that the current frame is not the final frame of the acquired content, the process proceeds to step S147. Then, in step S147, after the variable k is incremented by 1, the above-mentioned steps S143 to S146 are repeated. That is, the object image viewed from the virtual viewpoint position is generated and displayed based on the shape data and the texture image of the object in the next frame of the acquired content.
  • step S146 if it is determined in step S146 that the current frame is the final frame of the acquired content, the content reproduction process ends.
  • the state in which the real-time modeling reproduction process is executed is the case where it is determined in step S6 of FIG. 5 that real-time modeling is to be performed. It is sequentially transmitted to the cloud server 12.
  • step S161 the stream receiving unit 104 of the cloud server 12 receives the captured images of the image stream sequentially transmitted from each photographing device 11 via the communication unit 103, and supplies the captured images to the real-time modeling unit 111.
  • step S162 the real-time modeling unit 111 acquires the captured image of each photographing device 11 supplied and accumulated from the stream receiving unit 104 one frame at a time. More specifically, the real-time modeling unit 111 acquires one frame of the oldest time information among the accumulated captured images of each capture device 11 for each of the plurality of capture devices 11.
  • step S163 the real-time modeling unit 111 generates a silhouette image from the acquired captured image of each photographing device 11 and a preset background image.
  • step S164 the real-time modeling unit 111 generates shape data representing the 3D shape of the object from N silhouette images corresponding to each photographing device 11, for example, by Visual Hull.
  • the shape data representing the 3D shape of the object is represented by, for example, voxel data.
  • step S165 the real-time modeling unit 111 converts the shape data representing the 3D shape of the object from the voxel data into mesh format data called a polygon mesh.
  • step S166 the real-time modeling unit 111 generates a texture image corresponding to the shape data of the object.
  • step S167 the real-time modeling unit 111 transmits the shape data and the texture image of the object to the reproduction device 13 via the stream transmission unit 112.
  • step S168 the reproduction unit 157 of the reproduction device 13 acquires the shape data and the texture image of the object transmitted from the cloud server 12 via the stream reception unit 156.
  • step S169 the control unit 153 of the reproduction device 13 determines the virtual viewpoint position, which is the viewing position of the viewer with respect to the object, based on the sensor information detected by the sensor 154.
  • the determined virtual viewpoint position information is supplied to the reproduction unit 157.
  • step S170 the reproduction unit 157 of the reproduction device 13 performs a rendering process for drawing an image of an object of the 3D model based on the determined virtual viewpoint position. That is, the reproduction unit 157 generates an object image of the 3D model object as viewed from the virtual viewpoint position, and outputs the object image to the display 159 via the image output unit 158.
  • step S171 the control unit 153 of the reproduction device 13 determines whether the reception of the shape data and the texture image of the object of the 3D model is completed.
  • step S171 If it is determined in step S171 that the reception of the shape data and the texture image of the 3D model object has not been completed, the process proceeds to step S162, and the processes of steps S162 to S171 described above are repeated.
  • step S171 if it is determined in step S171 that the reception of the shape data and the texture image of the 3D model object is completed, the real-time modeling reproduction process is completed.
  • the cloud server 12 sequentially generates and transmits frame-based 3D model data consisting of the shape data and the texture image shown in FIG. 17, and the reproduction device 13 transmits the frame-based 3D model data. It is a process of sequentially receiving, playing (drawing), and displaying.
  • the cloud server 12 acquires sensor information such as the gyro sensor 41 and the acceleration sensor 42 of the photographing device 11, determines the positional deviation of the photographing device 11, and updates the camera parameters.
  • the auto-calibration process can be performed.
  • the auto-calibration process will be described with reference to the flowchart of FIG. This process is executed, for example, at the same time as the real-time modeling reproduction process of FIG.
  • the photographing device 11 acquires sensor information of various sensors such as the gyro sensor 41, the acceleration sensor 42, and the GPS sensor 43, and transmits the captured images to the cloud server 12 as frame data.
  • the sensor information is stored in the header information of each frame, for example, and is transmitted in frame units.
  • step S182 the stream receiving unit 104 of the cloud server 12 receives the captured images of the image stream sequentially transmitted from each photographing device 11 via the communication unit 103, and supplies the captured images to the real-time modeling unit 111.
  • the real-time modeling unit 111 supplies the sensor information stored in the frame data of the captured image to the auto-calibration unit 113.
  • step S183 the auto-calibration unit 113 determines whether or not there is a photographing device 11 that has moved by a predetermined value or more among the photographing devices 11 performing volumetric photography based on the sensor information from the real-time modeling unit 111. do.
  • step S183 If it is determined in step S183 that there is a photographing device 11 that has moved by a predetermined value or more, the following steps S184 to S186 are executed, and if it is determined that there is no photographing device 11 that has moved by a predetermined value or more, step S184 Or the process of S186 is skipped.
  • step S184 the auto-calibration unit 113 extracts feature points from the captured image of each imaging device 11.
  • step S185 the auto-calibration unit 113 calculates the camera parameters of the shooting device 11 to be updated using the feature points extracted from the shot images of each shooting device 11.
  • the shooting device 11 to be updated is the shooting device 11 determined to have moved by a predetermined value or more in step S183. Further, the camera parameters calculated here are external parameters among the internal parameters and the external parameters, and the internal parameters are unchanged.
  • step S186 the auto-calibration unit 113 supplies the calculated camera parameters of the photographing device 11 to be updated to the real-time modeling unit 111.
  • the real-time modeling unit 111 generates 3D model data using the updated camera parameters of the photographing device 11.
  • step S187 the cloud server 12 determines whether or not the shooting is completed. For example, the cloud server 12 determines that the shooting has not been completed when the shooting image has been transmitted from each shooting device 11, and when the shooting image has not been transmitted from each shooting device 11, the shooting is performed. Is determined to be finished.
  • step S187 If it is determined in step S187 that the shooting has not been completed, the process returns to step S181, and the processes of steps S181 to S187 described above are repeated.
  • step S187 if it is determined in step S187 that the shooting is completed, the auto-calibration process is completed.
  • the camera parameters are calculated and updated only for the shooting device 11 determined to have moved by a predetermined value or more, but when the camera parameters are updated, the cameras of all the shooting devices 11 are updated.
  • the parameters may be calculated. Further, not only the external parameters but also the internal parameters may be calculated.
  • the range in which the external parameters can be taken may be limited based on the deviation amount calculated from the sensor information, and the external parameters may be calculated. Since the calculation of the external parameter is a non-linear optimization calculation for the three-dimensional position of the feature point and the internal parameter and the external parameter of the photographing device 11, the range that the external parameter can take is limited or the internal parameter is fixed. By doing so, the amount of calculation can be reduced and the processing can be speeded up.
  • a camera calibration process (hereinafter referred to as a second camera calibration process) other than the method of displaying the calibration board image on the photographing device 11 will be described.
  • the image processing system 1 captures an arbitrary subject and extracts the feature points to calculate the camera parameters. For example, as shown in FIG. 21, camera parameters are calculated based on the result of taking a picture of one person and a table as subjects.
  • a control device 15 that controls the entire camera calibration process is prepared separately from the plurality (5 units) of the photographing devices 11-1 to 11-5 that capture the subject.
  • the control device 15 may be any device having the same configuration as the reproduction device 13, and the reproduction device 13 may be used.
  • FIG. 22 is a flowchart of the camera calibration process performed by the control device 15 in the second camera calibration process
  • FIGS. 24 and 25 are flowcharts of the camera calibration process performed by the cloud server 12.
  • step S201 the control device 15 transmits a calibration shooting start message for starting calibration shooting to the cloud server 12.
  • the control device 15 After transmitting the calibration shooting start message, the control device 15 waits until a predetermined message is transmitted from the cloud server 12. While the camera parameters of each photographing device 11 are being calculated, feedback information for calculating the camera parameters is transmitted from the cloud server 12 to the control device 15. Then, when the calculation of the camera parameters of each photographing device 11 is completed, the calibration completion message is transmitted from the cloud server 12 to the control device 15.
  • step S202 the control device 15 receives the message transmitted from the cloud server 12.
  • step S203 the control device 15 determines whether the calibration is completed.
  • the control device 15 determines that the calibration is completed when the received message is a calibration completed message, and determines that the calibration is not completed when the received message is feedback information. judge.
  • step S203 If it is determined in step S203 that the calibration has not been completed yet, the process proceeds to step S204, and the control device 15 displays the feedback screen on the display based on the feedback information.
  • the calibration unit 105 of the cloud server 12 extracts feature points for each of the captured images captured by each capture device 11, and associates the extracted feature points with a plurality of captured images corresponding to each capture device 11. That is, the calibration unit 105 takes correspondence between the photographing devices 11 for each of the extracted feature points. Then, the calibration unit 105 uses a plurality of feature points corresponding to each other of the photographing devices 11 to minimize the error for the three-dimensional position, the internal parameter, and the external parameter of each feature point.
  • the camera parameters are calculated by solving the non-linear optimization problem.
  • the cloud server 12 controls feedback information in order to restart shooting by the shooting device 11 when there are few feature points extracted from the shot image or when there are few feature points associated with each other. Send to 15 and give feedback to the user.
  • FIG. 23 shows an example of a feedback screen displayed on the control device 15 based on the feedback information from the cloud server 12.
  • the feedback screen of FIG. 23 shows an example in which the number of feature points associated between the photographing devices 11-2 and 11-4 is small.
  • the photographed image 201 photographed by the photographing device 11-2 and the photographed image 202 photographed by the photographing device 11-4 are displayed.
  • a circle ( ⁇ ) is superimposed and displayed on the feature points that are associated with each other, and a cross ( ⁇ ) is superimposed and displayed on the feature points that cannot be associated. ..
  • a feedback message 203 for improving the accuracy of calibration is displayed on the feedback screen when re-shooting.
  • the feedback message 203 "Please adjust the subject so that the portion common to both the camera 2 and the camera 4 is captured” is displayed.
  • the object image 204 when a 3D model of the subject is generated based on the current calibration result is displayed.
  • the virtual viewpoint position of the object image 204 can be changed by swiping on the screen.
  • step S203 if it is determined in step S203 that the calibration is completed, the process proceeds to step S205, and the control device 15 sends a calibration shooting end message for ending the calibration shooting to the cloud server 12. Send and finish the camera calibration process.
  • step S221 the cloud server 12 receives the calibration shooting start message transmitted from the control device 15.
  • step S222 the cloud server 12 causes each shooting device 11 to start synchronous shooting.
  • the synchronous shooting process of each shooting device 11 can be performed in the same manner as in FIG.
  • step S223 the cloud server 12 acquires the captured image transmitted from each photographing device 11.
  • step S224 the cloud server 12 executes a camera parameter calculation process for calculating camera parameters using the captured images transmitted from each photographing device 11.
  • FIG. 25 is a flowchart showing the details of the camera parameter calculation process in step S224.
  • step S241 the calibration unit 105 of the cloud server 12 extracts feature points for each of the captured images captured by each imaging device 11.
  • step S242 the calibration unit 105 determines whether the extracted feature points are sufficient. For example, when the number of extracted feature points in one captured image is equal to or greater than a predetermined value, it is determined that the extracted feature points are sufficient, and when the number is less than the predetermined value, the extracted feature points are determined. It is determined that it is not enough.
  • step S242 If it is determined in step S242 that the extracted feature points are not sufficient, the process proceeds to step S247 described later.
  • step S242 determines whether the extracted feature points are sufficient. If it is determined in step S242 that the extracted feature points are sufficient, the process proceeds to step S243, and the calibration unit 105 associates the feature points between the shooting devices 11 and shoots the device 11. Detect the corresponding feature points between.
  • step S244 the calibration unit 105 determines whether the corresponding feature points are sufficient. For example, when the number of corresponding feature points in one captured image is equal to or more than a predetermined value, it is determined that the corresponding feature points are sufficient, and when the number is less than the predetermined value, the corresponding feature points are not sufficient. Is determined.
  • step S244 If it is determined in step S244 that the corresponding feature points are not sufficient, the process proceeds to step S247 described later.
  • step S244 determines whether the corresponding feature points are sufficient. If it is determined in step S244 that the corresponding feature points are sufficient, the process proceeds to step S245, the calibration unit 105 calculates the three-dimensional position of the corresponding feature points, and each photographing device 11 The camera parameters of, i.e., internal and external parameters are calculated. The three-dimensional position of each feature point and the camera parameters of each photographing device 11 are calculated by solving a nonlinear optimization problem that minimizes an error.
  • step S246 the calibration unit 105 determines whether the error in the nonlinear optimization calculation when calculating the camera parameters is sufficiently small below a predetermined value.
  • step S246 If it is determined in step S246 that the error in the nonlinear optimization operation is not less than or equal to a predetermined value, the process proceeds to step S247 described later.
  • step S247 the calibration unit 105 generates feedback information including a captured image with feature points and a feedback message.
  • step S242 If the extracted feature points are not sufficient in step S242 described above, the detected features are found in the captured images 201 and 202 of the feedback screen of FIG. 23 as the feedback information generated in the process of step S247. The dots are superimposed and displayed as circles ( ⁇ ). On the other hand, if the corresponding feature points are not sufficient in step S244 described above, the captured images 201 and 202 on the feedback screen of FIG. 23 as the feedback information generated in the process of step S247 are associated with each other. The feature points that have been added are superimposed and displayed as circles ( ⁇ ), and the feature points that could not be associated are superimposed and displayed as crosses ( ⁇ ). On the other hand, when it is determined in step S246 described above that the error is large, the captured image of the image pickup device 11 having a large error is displayed on the feedback screen of FIG. 23 as the feedback information generated in the process of step S247. ..
  • step S246 determines whether the error in the nonlinear optimization operation is less than or equal to a predetermined value and is sufficiently small. If it is determined in step S246 that the error in the nonlinear optimization operation is less than or equal to a predetermined value and is sufficiently small, the process proceeds to step S248, and the calibration unit 105 generates a calibration completion message.
  • the camera parameter calculation process is completed by the process of step S247 or S248, the process returns to FIG. 24, and the process proceeds to step S225.
  • step S225 of FIG. 24 the calibration unit 105 determines whether the calibration is completed, that is, whether the calibration completion message is generated.
  • step S225 If it is determined in step S225 that the calibration has not been completed, that is, that the feedback information has been generated, the process proceeds to step S226, and the calibration unit 105 transmits the generated feedback information as a message. After step S226, the process is returned to step S224, and the process after step S224 is repeated.
  • step S225 determines whether the calibration is completed, that is, the calibration completion message is generated. If it is determined in step S225 that the calibration is completed, that is, the calibration completion message is generated, the process proceeds to step S227, and the cloud server 12 sends a shooting end message to each shooting device 11. Send. Each shooting device 11 receives the message of the end of shooting and ends the synchronized shooting.
  • the series of processes described above can be executed by hardware or software.
  • the programs constituting the software are installed in the computer.
  • the computer includes a microcomputer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 26 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes by a program.
  • a CPU Central Processing Unit
  • ROM ReadOnlyMemory
  • RAM RandomAccessMemory
  • the input / output interface 305 is further connected to the bus 304.
  • An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
  • the input unit 306 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 307 includes a display, a speaker, an output terminal, and the like.
  • the storage unit 308 includes a hard disk, a RAM disk, a non-volatile memory, and the like.
  • the communication unit 309 includes a network interface and the like.
  • the drive 310 drives a removable recording medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 301 loads the program stored in the storage unit 308 into the RAM 303 via the input / output interface 305 and the bus 304, and executes the above-mentioned series. Is processed.
  • the RAM 303 also appropriately stores data and the like necessary for the CPU 301 to execute various processes.
  • the program executed by the computer (CPU301) can be recorded and provided on a removable recording medium 311 as a package medium or the like, for example.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • 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. ..
  • the plurality of techniques disclosed in the present disclosure 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.
  • a part or all of any of the above-mentioned techniques may be carried out in combination with other techniques not described above.
  • this technology can take a cloud computing configuration in which one function is shared by multiple devices via a network and processed jointly.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • the present technology can have the following configurations. (1) It is provided with a control unit that sends its own information about shooting to the server device and acquires candidate setting values for volumetric shooting sent from the server device based on the determination result of whether or not volumetric shooting is possible. Shooting device. (2) The photographing device according to (1), wherein the control unit presents a candidate for the set value acquired from the server device to the user and causes the user to select the candidate. (3) The control unit further transmits identification information of a group composed of a plurality of imaging devices that perform volumetric imaging and its own position information, and controls so as to receive whether or not registration to the group is possible. The photographing device according to 1) or (2).
  • the imaging device according to any one of (1) to (3) above, wherein the control unit acquires a camera synchronization method supported by all imaging devices that perform volumetric imaging as a candidate for the setting value.
  • the camera synchronization method is a method for generating a synchronization signal based on any of carrier communication time information, GPS signal time information, and timing detection in wireless communication or carrier communication multicast communication (4).
  • the shooting device described in. (6) The control unit controls to output a flash or sound at a predetermined time after the start of volumetric shooting to generate an image containing the flash or sound, and detects the image containing the flash or sound.
  • the photographing device according to any one of (1) to (5) above, which synchronizes the captured images captured by each imaging device.
  • the control unit captures a predetermined image displayed by another imaging device, detects a feature point of the predetermined image, and controls the server device to transmit the image (1).
  • the control unit controls the plurality of imaging devices that perform volumetric imaging to capture the predetermined images displayed in order.
  • the control unit controls to capture the predetermined image displayed simultaneously by a plurality of imaging devices that perform volumetric imaging.
  • the imaging device according to (9), wherein the predetermined image displayed at the same time is an image different from the plurality of imaging devices.
  • the control unit transmits sensor information in frame units together with a captured image of a predetermined subject.
  • a server device including a control unit that receives information about shooting from a plurality of shooting devices and determines whether the plurality of shooting devices are capable of volumetric shooting based on the received information.
  • the control unit generates candidates for setting values related to volumetric shooting of the shooting device based on the received information, and determines whether volumetric shooting is possible based on the generated candidates for the setting values.
  • the control unit calculates the shooting target area of each shooting device, and when the shooting target area of each shooting device is superimposed, the volumetric is determined by whether or not there is an area common to a predetermined number or more of the shooting devices.
  • the server device according to any one of (12) to (13) above, which determines whether or not photography is possible.
  • the control unit calculates modeling parameters of a 3D model from the resolution of each shooting device and the shooting target area, and volumetric shooting is possible depending on whether or not the calculated modeling parameters are within a predetermined range.
  • the server device according to any one of (12) to (14) above.
  • the control unit estimates the processing time required for 3D modeling from the information of each imaging device, and determines whether volumetric imaging is possible depending on whether the estimated 3D modeling processing time is within a predetermined time. Judgment The server device according to any one of (12) to (15) above. (17) The server device according to any one of (12) to (16), further comprising a calibration unit for acquiring predetermined images taken by the plurality of photographing devices and calculating camera parameters. (18) The above (12) to (17) further include a modeling unit that generates 3D model data of a subject from captured images taken by the plurality of photographing devices and transmits the generated 3D model data to a reproduction device. The server device described in any.
  • the server device according to (18) above, further comprising a calibration unit that updates camera parameters when it is determined that the photographing device has moved based on the sensor information received in frame units together with the captured image of the subject. .. (20) Information about shooting is received from a plurality of shooting devices, and based on the received information, it is determined whether the plurality of shooting devices are capable of volumetric shooting.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Studio Devices (AREA)

Abstract

本技術は、簡易な撮影デバイスを用いてボリューメトリック撮影を行うことができるようにする撮影デバイス、サーバ装置、および、3Dデータ生成方法に関する。 サーバ装置は、複数の撮影デバイスから撮影に関する情報を受信し、受信した情報に基づいて、複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定する制御部を備える。撮影デバイスは、撮影に関する自身の情報をサーバ装置に送信し、ボリューメトリック撮影が可能か否かの判定結果に基づいてサーバ装置から送信されてくる、ボリューメトリック撮影に関する設定値の候補を取得する制御部を備える。本開示は、例えば、スマートフォン等の撮影デバイスによるボリューメトリック撮影と再生を提供する画像処理システム等に適用できる。

Description

撮影デバイス、サーバ装置、および、3Dデータ生成方法
 本技術は、撮影デバイス、サーバ装置、および、3Dデータ生成方法に関し、特に簡易な撮影デバイスを用いてボリューメトリック撮影を行うことができるようにした撮影デバイス、サーバ装置、および、3Dデータ生成方法に関する。
 多視点で撮影された動画像から被写体の3Dモデルを生成し、任意の視聴位置に応じた3Dモデルの仮想視点画像を生成することで自由な視点の画像を提供する技術がある。この技術は、ボリューメトリックキャプチャなどとも呼ばれている。
 3Dモデルを生成するための動画像を撮影する場合には、異なる方向(視点)から被写体を撮影するため、被写体を撮影する複数の撮影装置を異なる場所に配置し、撮影装置間の位置関係を求め、複数の撮影装置それぞれで同期を取って撮影を行う必要がある(例えば、特許文献1参照)。この3Dモデル生成用の撮影を、以下では、ボリューメトリック撮影とも称する。
 ボリューメトリック撮影は、現時点では、専用のスタジオ等で専用の機材を使って行うことが一般的である。
特開2019-87791号公報
 しかしながら、例えば、スマートフォンやタブレットなどの、ユーザが一般的に所有している撮影機能を備えた電子機器を用いて、簡単にボリューメトリック撮影を行えることが望まれる。
 本技術は、このような状況に鑑みてなされたものであり、簡易な撮影デバイスを用いてボリューメトリック撮影を行うことができるようにするものである。
 本技術の第1の側面の撮影デバイスは、撮影に関する自身の情報をサーバ装置に送信し、ボリューメトリック撮影が可能か否かの判定結果に基づいて前記サーバ装置から送信されてくる、ボリューメトリック撮影に関する設定値の候補を取得する制御部を備える。
 本技術の第1の側面においては、撮影に関する自身の情報がサーバ装置に送信され、ボリューメトリック撮影が可能か否かの判定結果に基づいて前記サーバ装置から送信されてくる、ボリューメトリック撮影に関する設定値の候補が取得される。
 本技術の第2の側面のサーバ装置は、複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定する制御部を備える。
 本技術の第2の側面においては、複数の撮影デバイスから撮影に関する情報が受信され、受信された前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかが判定される。
 本技術の第3の側面の3Dデータ生成方法は、複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定し、ボリューメトリック撮影が可能であると判定された前記複数の撮影デバイスによって撮影された撮影画像から、被写体の3Dモデルのデータを生成する。
 本技術の第3の側面においては、複数の撮影デバイスから撮影に関する情報が受信され、受信された前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかが判定され、ボリューメトリック撮影が可能であると判定された前記複数の撮影デバイスによって撮影された撮影画像から、被写体の3Dモデルのデータが生成される。
 撮影デバイスおよびサーバ装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
本開示を適用した画像処理システムの構成例を示すブロック図である。 ボリューメトリック撮影と再生を説明する図である。 3Dモデルデータのデータフォーマットの例を説明する図である。 画像処理システムの各装置の詳細構成例を示すブロック図である。 画像処理システムによるボリューメトリック撮影再生処理を説明するフローチャートである。 図5のステップS1における撮影デバイスのグルーピング処理の詳細を説明するフローチャートである。 2次元コードの画面例を示す図である。 カメラキャリブレーション処理の例を示す図である。 図5のステップS3における撮影デバイスのカメラキャリブレーション処理の詳細を説明するフローチャートである。 カメラキャリブレーション処理の例を示す図である。 カメラキャリブレーション処理の例を示す図である。 図5のステップS4におけるボリューメトリック撮影用撮影設定処理の詳細を説明するフローチャートである。 能力情報の例を示す図である。 図5のステップS5における撮影デバイスの同期撮影処理の詳細を説明するフローチャートである。 図5のステップS5における他の撮影デバイスの同期撮影処理の詳細を説明するフローチャートである。 図5のステップS7におけるオフラインモデリング処理の詳細を説明するフローチャートである。 オブジェクトの3Dモデルデータの例を示す図である。 図5のステップS8におけるコンテンツ再生処理の詳細を説明するフローチャートである。 図5のステップS9におけるリアルタイムモデリング再生処理の詳細を説明するフローチャートである。 オートキャリブレーション処理を説明するフローチャートである。 カメラキャリブレーション処理の他の例を示す図である。 コントロールデバイスが行うカメラキャリブレーション処理を説明するフローチャートである。 フィードバック画面の例を示す図である。 クラウドサーバが行うカメラキャリブレーション処理を説明するフローチャートである。 図24のステップS224のカメラパラメータ算出処理の詳細を説明するフローチャートである。 本開示を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、添付図面を参照しながら、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。説明は以下の順序で行う。
1.画像処理システムの構成例
2.ボリューメトリック撮影と再生の概要
3.画像処理システムの各装置の詳細構成例
4.ボリューメトリック撮影再生処理のフローチャート
5.撮影デバイスのグルーピング処理のフローチャート
6.撮影デバイスのカメラキャリブレーション処理のフローチャート
7.ボリューメトリック撮影用撮影設定処理のフローチャート
8.撮影デバイスの同期撮影処理のフローチャート
9.オフラインモデリング処理のフローチャート
10.コンテンツ再生処理のフローチャート
11.リアルタイムモデリング再生処理のフローチャート
12.オートキャリブレーション処理のフローチャート
13.キャリブレーションボード画像を用いないカメラキャリブレーション処理
14.コンピュータ構成例
<1.画像処理システムの構成例>
 図1は、本開示の画像処理システムであって、スマートフォン等の撮影デバイスによるボリューメトリック撮影と再生を提供する画像処理システムの構成例を示している。
 画像処理システム1は、N台(N>1)の撮影デバイス11と、クラウドサーバ(サーバ装置)12と、再生デバイス13とを備える。
 N台の撮影デバイス11それぞれは、所定の被写体をオブジェクトOBJとしてボリューメトリック撮影を行い、その結果得られる画像データをクラウドサーバ12に送信する。撮影デバイス11は、例えば、スマートフォン、タブレット、デジタルカメラ、ゲーム端末等、撮像機能を備える電子機器で構成される。図1の例では、N=5、即ち5台の撮影デバイス11-1ないし11-5でオブジェクトOBJを撮影する例が示されているが、撮像デバイス11の台数は任意である。
 クラウドサーバ12は、ボリューメトリック撮影により得られた画像データに基づいて、オブジェクトOBJの3Dモデルのデータ(3Dモデルデータ)MOを生成する。また、クラウドサーバ12は、再生デバイス13からの要求に応じて、蓄積されている所定のオブジェクトOBJの3DモデルデータMOを、再生デバイス13へ送信する。
 再生デバイス13は、クラウドサーバ12から、所定のオブジェクトOBJの3DモデルデータMOを取得して再生することにより、オブジェクトOBJの3Dモデルを任意の視聴位置から見た自由視点画像を生成し、所定のディスプレイに表示する。再生デバイス13は、例えば、スマートフォンまたはタブレット13A、パーソナルコンピュータ13B、ヘッドマウントディスプレイ(HMD)13Cなど、ディスプレイを備える電子機器で構成される。
 N台の撮影デバイス11とクラウドサーバ12は、所定のネットワークを介して接続される。また、クラウドサーバ12と再生デバイス13も、所定のネットワークを介して接続される。これらを接続するネットワークは、任意の通信網であり、有線通信の通信網であってもよいし、無線通信の通信網であってもよいし、それらの両方により構成されるようにしてもよい。また、ネットワークが、1の通信網により構成されるようにしてもよいし、複数の通信網により構成されるようにしてもよい。例えば、インターネット、公衆電話回線網、所謂4G回線や5G回線等の無線移動体用の広域通信網、WAN(WIDe Area Network)、LAN(Local Area Network)、Bluetooth(登録商標)規格に準拠した通信を行う無線通信網、NFC(Near Field Communication)等の近距離無線通信の通信路、赤外線通信の通信路、HDMI(登録商標)(High-Definition Multimedia Interface)やUSB(Universal Serial Bus)等の規格に準拠した有線通信の通信網等、任意の通信規格の通信網や通信路がネットワークに含まれるようにしてもよい。
<2.ボリューメトリック撮影と再生の概要>
 図2および図3を参照して、ボリューメトリック撮影と再生について簡単に説明する。
 例えば、図2に示されるように、人物等の被写体を配置した所定の撮影空間を、その外周から複数の撮影装置で撮像を行うことにより複数の撮影画像が得られる。撮影画像は、例えば、動画像で構成される。図2の例では、被写体#Ob1を取り囲むように3台の撮影装置CAM1乃至CAM3が配置されているが、撮影装置CAMの台数は3台に限らず、任意である。撮影時の撮影装置CAMの台数は、自由視点画像を生成する際の既知の視点数となるため、多ければ多いほど、自由視点画像を高精度に表現することができる。被写体#Ob1は、所定の動作をとっている人物とされている。
 異なる方向の複数の撮影装置CAMから得られた撮影画像を用いて、撮影空間において表示対象となる被写体#Ob1の3Dモデルである3DオブジェクトMO1が生成される(3Dモデリング)。例えば、異なる方向の撮影画像を用いて被写体の3次元形状の削り出しを行うVisual Hull等の手法を用いて、3DオブジェクトMO1が生成される。
 そして、撮影空間に存在する1以上の3Dオブジェクトのうち、1以上の3Dオブジェクトのデータ(3Dモデルデータ)が、再生側の装置に伝送され、再生される。すなわち、再生側の装置において、取得した3Dオブジェクトのデータに基づいて、3Dオブジェクトのレンダリングを行うことにより、視聴者の視聴デバイスに3D形状画像が表示される。図2においては、視聴デバイスが、ディスプレイD1や、ヘッドマウントディスプレイ(HMD)D2である例を示している。
 再生側は、撮影空間に存在する1以上の3Dオブジェクトのうち、視聴対象の3Dオブジェクトだけを要求して、視聴デバイスに表示させることが可能である。例えば、再生側は、視聴者の視聴範囲が撮影範囲となるような仮想カメラを想定し、撮影空間に存在する多数の3Dオブジェクトのうち、仮想カメラで捉えられる3Dオブジェクトのみを要求して、視聴デバイスに表示させる。実世界において視聴者が任意の視点から被写体を見ることができるように、仮想カメラの視点(仮想視点)は任意の位置に設定することができる。3Dオブジェクトには、適宜、所定の空間を表す背景の画像を合成することができる。
 図3は、一般的な3Dモデルデータのデータフォーマットの例を示している。
 3Dモデルデータは、一般的には、被写体の3D形状(ジオメトリ情報)を表した3D形状データと、被写体の色情報を表したテクスチャデータとで表現される。
 3D形状データは、例えば、被写体の3次元位置を点の集合で表したポイントクラウド形式、ポリゴンメッシュと呼ばれる頂点(Vertex)と頂点間のつながりで表した3Dメッシュ形式、ボクセル(voxel)と呼ばれる立方体の集合で表したボクセル形式などで表現される。
 テクスチャデータは、例えば、各撮影装置CAMが撮影した撮影画像(2次元テクスチャ画像)で保有するマルチテクスチャ形式や、3D形状データである各ポイントまたは各ポリゴンメッシュに貼り付けられる2次元テクスチャ画像を、UV座標系で表現して保有するUVマッピング形式などがある。
 図3の上段のように、3D形状データと、各撮影装置CAMが撮影した複数の撮影画像P1乃至P8で保有するマルチテクスチャ形式とで、3Dモデルデータを記述する形式は、仮想視点(仮想カメラの位置)によって、色情報が変化し得るViewDependentな形式である。
 これに対して、図3の下段のように、3D形状データと、被写体のテクスチャ情報をUV座標系にマッピングしたUVマッピング形式とで、3Dモデルデータを記述する形式は、仮想視点(仮想カメラの位置)によって、色情報が同一となるViewIndependentな形式である。
 3Dモデルデータの生成のための撮影であるボリューメトリック撮影は、従来、専用のスタジオ等で専用の機材等を使って行うことが一般的であった。
 しかしながら、図1の画像処理システム1は、ユーザが一般的に所有している、スマートフォンやタブレット等の電子機器を用いてボリューメトリック撮影を行うことができるようにしたシステムである。
<3.画像処理システムの各装置の詳細構成例>
 図4は、撮影デバイス11、クラウドサーバ12、および、再生デバイス13の詳細構成例を示すブロック図である。
(撮像デバイス11)
 撮影デバイス11は、通信部31、メッセージ送受信部32、制御部33、音声出力部34、スピーカ35、画像出力部36、ディスプレイ37、フラッシュ出力部38、および、フラッシュ39を備える。
 撮影デバイス11は、また、タッチセンサ40、ジャイロセンサ41、加速度センサ42、GPSセンサ43、センサ入力部44、および、同期信号生成部45を備える。
 撮影デバイス11は、さらに、1以上のカメラ51(51Aないし51C)、マイクロホン52、カメラ入出力部53、画像処理部54、画像圧縮部55、音声入力部56、音声処理部57、音声圧縮部58、および、ストリーム送信部59を備える。
 通信部31は、所謂4G回線や5G回線等の無線移動体用のキャリア通信、Wi-Fi(登録商標)等の無線通信、1000BASE-T等の有線通信などの各種の通信モジュールで構成され、クラウドサーバ12との間で、メッセージやデータの通信を行う。
 メッセージ送受信部32は、通信部31を介して、クラウドサーバ12との間でメッセージ通信を行う。メッセージ送受信部32は、通信部31の通信の種類に関わらず、クラウドサーバ12側とメッセージ通信が可能なインスタントメッセージングシステムに対応する。このようなインスタントメッセージングシステムとしては、例えば、JabberやXMPP、SIP(Session Initiation Protocol)などがある。
 制御部33は、メッセージ送受信部32により受信されたメッセージや、不図示の操作部において検出されたユーザの操作に基づいて、撮影デバイス11の動作全体を制御する。例えば、制御部33は、メッセージ送受信部32を介してクラウドサーバ12とメッセージ通信を行い、ユーザの操作内容を通知したり、クラウドサーバ12からの要求に合わせて、ボリューメトリック撮影(被写体の撮影)を開始させ、撮影により得られた画像データをクラウドサーバ1へ送信させる。また、制御部33は、撮影デバイス11が備える能力情報をクラウドサーバ12へ送信したり、撮像デバイス11が備える各種のセンサの検出結果であるセンサ情報をストリーム送信部59に供給する。制御部33は、クラウドサーバ12から供給される、撮影機能の設定値情報を、カメラ入出力部53、画像処理部54、および画像圧縮部55に供給し、所定の設定を行う。撮影機能の設定値情報には、例えば、露光時間、解像度、圧縮方式、ビットレートなどについての設定値が含まれる。
 撮影デバイス11には、ボリューメトリック撮影を実行するためのアプリケーションプログラム(以下、ボリューメトリック撮影アプリと称する。)がインストールされており、ボリューメトリック撮影アプリを起動実行することにより、制御部33が撮影デバイス11の動作全体を制御する処理を行う。
 音声出力部34は、制御部33の制御に従い、音声信号をスピーカ35に出力する。スピーカ35は、音声出力部34から供給される音声信号に基づいて音を出力する。画像出力部36は、制御部33の制御に従い、画像信号をディスペンサ37に出力する。ディスプレイ37は、画像出力部36から供給される画像信号に基づく画像を表示する。フラッシュ出力部38は、制御部33からの制御に従い、発光制御信号をフラッシュ39に出力する。フラッシュ39は、フラッシュ出力部38からの発光制御信号に基づき発光する。
 タッチセンサ40は、ユーザがディスプレイ37に対してタッチしたときのタッチ位置を検出し、センサ情報としてセンサ入力部44に供給する。ジャイロセンサ41は、角速度を検出し、センサ情報としてセンサ入力部44に供給する。加速度センサ42は、加速度を検出し、センサ情報としてセンサ入力部44に供給する。GPSセンサ43は、GNSS(Global Navigation Satellite System / 全球測位衛星システム)の1つであるGPSの信号を受信する。GPSセンサ43は、受信したGPS信号に基づいて撮影デバイス11の現在位置を検出し、センサ情報としてセンサ入力部44に供給する。センサ入力部44は、タッチセンサ40、ジャイロセンサ41、加速度センサ42、および、GPSセンサ43の各センサから供給されるセンサ情報を取得して、制御部33へ供給する。
 同期信号生成部45は、制御部33からの指示に基づき、同期信号を生成し、1以上のカメラ51に供給する。同期信号生成部45が同期信号を生成する手段としては、N台の撮影デバイス11とクラウドサーバ12とを接続するネットワークの種類に応じて、次の手法を取り得る。
 第1の同期手法は、5G回線等のキャリア通信の時計情報を用いて同期を取る方法である。キャリア通信では、通信のために高精度な時計を持っているため、この時計情報を用いて時刻を合わせ、同期をとることができる。
 第2の同期手法は、GPS信号に含まれる時刻情報を用いて同期を取る方法である。GPS信号は、PTP (Precision Time Protocol)のグランドマスタクロックとして利用されるほど高精度な時刻情報を有しているため、この時計情報を用いて時刻を合わせ、同期をとることができる。
 第3の同期手法は、Wi-Fi無線通信のマルチキャスト通信を用いて時刻同期を行う方法である。同一のアクセスポイント下に接続している場合には、マルチキャストパケットを送信してタイミングを検出し、同期をとることができる。802.11AC、WiFi Time Syncを用いてもよい。
 第4の同期手法は、キャリア通信のマルチキャスト通信を用いて時刻同期を行う方法である。5G回線のキャリア通信では、通信が1msecまで低遅延化されるため、キャリア通信でマルチキャストパケットを送信してタイミングを検出し、同期をとることができる。
 カメラ51Aないし51Cは、カメラタイプ(種類)が異なるカメラであり、例えば、カメラ51Aは、可視光(RGB)を受光した受光結果に基づいてRGB画像を生成するRGBカメラであり、カメラ51Bは、RGB画像とともに、被写体までの距離情報としてのデプス値を各画素の画素値として格納したデプス画像も生成するRGB-Dカメラであり、カメラ51Cは、赤外光(IR)を受光した受光結果に基づいてIR画像を生成するIRカメラである。RGB画像、デプス画像、およびIR画像を特に区別しない場合、カメラ画像と称する。
 カメラ51Aないし51Cは、カメラ入出力部53を介して制御部33から供給される設定値情報に基づいて、露光時間、ゲイン、解像度等について所定の設定を行う。また、カメラ51Aないし51Cは、撮影の結果得られるカメラ画像を、カメラ入出力部53に出力する。
 マイクロホン52は、周囲の音を収集し、音声入力部56に出力する。
 カメラ入出力部53は、制御部33から供給される設定値情報を、カメラ51Aないし51Cのそれぞれに供給する。また、カメラ入出力部53は、カメラ51Aないし51Cから供給されるカメラ画像を画像処理部54に供給する。
 画像処理部54は、カメラ入出力部53から供給されるカメラ画像(のRAWデータ)に対して、デモザイク処理、色補正処理、歪補正処理、色空間変換処理などの所定の画像信号処理を実行する。
 画像圧縮部55は、制御部33から指定される設定値に基づいて、画像処理部54からの画像信号に対して所定の圧縮符号化処理を実行し、圧縮符号化後の画像ストリームをストリーム送信部59に供給する。制御部33から指定される設定値としては、例えば、圧縮方式、ビットレート等のパラメータなどがある。
 ストリーム送信部59は、画像圧縮部55からの画像ストリーム、音声圧縮部58からの音声ストリーム、および、制御部33からのセンサ情報を、通信部31を介してクラウドサーバ12に送信する。制御部33からのセンサ情報は、例えば、フレーム毎にカメラ画像の画像ストリーム内に格納されて、送信される。
 音声入力部56は、マイクロホン52から入力される音声を取得して、音声処理部57に供給する。音声処理部57は、音声入力部56からの音声信号に対して、ノイズ除去処理等の所定の音声信号処理を実行する。音声圧縮部58は、制御部33から指定された設定値に基づいて、音声処理部57からの音声信号に対して、所定の圧縮符号化処理を実行し、圧縮符号化後の音声ストリームをストリーム送信部59に供給する。制御部33から指定された設定値としては、例えば、圧縮方式、ビットレート等のパラメータなどがある。
(クラウドサーバ12)
 クラウドサーバ12は、コントローラ101、メッセージ送受信部102、通信部103、ストリーム受信部104、キャリブレーション部105、モデリングタスク生成部106、および、タスク記憶部107を備える。
 また、クラウドサーバ12は、オフラインモデリング部108、コンテンツ管理部109、コンテンツ記憶部110、リアルタイムモデリング部111、ストリーム送信部112、および、オートキャリブレーション部113を備える。
 コントローラ101は、クラウドサーバ12の全体の動作を制御する。例えば、コントローラ101は、メッセージ送受信部102を介して、各撮影デバイス11または再生デバイス13へ所定のメッセージを送信することにより、撮影動作や再生動作等の所定の動作を行わせる。また、コントローラ101は、オフラインモデリング部108等を制御して、オフラインモデリングを実行させたり、リアルタイムモデリング部111等を制御して、リアルタイムモデリングを実行させる。オフラインモデリングでは、ボリューメトリック撮影による3Dモデルの生成と、生成された3Dモデルデータに基づく3Dモデルの再生(自由視点画像の表示)とが、別々のタイミングで実行される。一方、リアルタイムモデリングでは、3Dモデルの生成と、生成された3Dモデルデータに基づく3Dモデルの再生が一連の処理として実行される。3Dモデルを生成する際のモデリングパラメータであるボクセルサイズとバウンディングボックスサイズは、各撮影デバイス11の撮影対象領域や、ユーザの設定に応じて、コントローラ101によって決定される。ボクセルサイズは、ボクセルの大きさを表し、バウンディングボックスサイズは、3Dオブジェクトのボクセルがあるかどうかを探索する処理範囲を表す。
 メッセージ送受信部102は、撮影デバイス11または再生デバイス13と、通信部103を介してメッセージ通信を行う。メッセージ送受信部102は、例えば、撮影デバイス11のメッセージ送受信部32と対応する。
 通信部103は、キャリア通信、Wi-Fi(登録商標)等の無線通信、1000BASE-T等の有線通信などの各種の通信モジュールで構成され、撮影デバイス11または再生デバイス13とメッセージやデータの通信を行う。
 ストリーム受信部104は、各撮影デバイス11から送信されてくる画像ストリームおよび音声ストリームを、通信部103を介して受信し、撮影デバイス11で実行された所定の圧縮符号化方式に対応する復号処理を実行する。ストリーム受信部104は、復号処理後のカメラ画像または音声信号を、キャリブレーション部105、モデリングタスク生成部106、または、リアルタイムモデリング部111の少なくとも1つに供給する。また、ストリーム受信部104は、例えば、画像ストリーム内に格納されて送信されてきたセンサ情報を、キャリブレーション部105に供給する。
 キャリブレーション部105は、コントローラ101からの指示にしたがい、各撮影デバイス11のカメラ画像およびセンサ情報に基づいてキャリブレーションを実行し、各カメラ51のカメラパラメータを算出する。カメラパラメータには、外部パラメータと内部パラメータが含まれるが、内部パラメータが固定値として設定されている場合には、外部パラメータのみが算出される。算出されたカメラパラメータは、モデリングタスク生成部106、オフラインモデリング部108、リアルタイムモデリング部111、および、オートキャリブレーション部113に供給される。
 モデリングタスク生成部106は、コントローラ101からの指示により、ストリーム受信部104からの画像ストリームと、キャリブレーション部105からのカメラパラメータとに基づいて、3Dモデルを生成するタスクであるモデリングタスクを生成し、タスク記憶部107に記憶させる。タスク記憶部107には、モデリングタスク生成部106から順次供給されたモデリングタスクが、タスクキューとして記憶される。
 オフラインモデリング部108は、タスク記憶部107にタスクキューとして記憶されている1以上のモデリングタスクを順次取り出し、オフラインによる3Dモデリング処理を実行する。3Dモデリング処理により、オブジェクトの3Dモデルのデータ(3Dモデルデータ)が生成され、コンテンツ管理部109に供給される。オフラインモデリング部108は、3Dモデリング処理において、所定の撮影デバイス11の各フレームの画像データに関連付けられたセンサ情報に基づいて、その時点でのキャリブレーション処理を、オートキャリブレーション部113に必要に応じて依頼し、キャリブレーション情報を更新してもよい。
 コンテンツ管理部109は、オフラインモデリング部108により生成されたオブジェクトの3Dモデルデータをコンテンツとしてコンテンツ記憶部110に記憶し、管理する。コンテンツ管理部109は、コントローラ101により指定されたコンテンツである、所定のオブジェクトの3Dモデルデータを、コンテンツ記憶部110から取得し、ストリーム送信部112を介して、再生デバイス13へ送信する。コンテンツ記憶部110は、コンテンツであるオブジェクトの3Dモデルデータを記憶する。
 リアルタイムモデリング部111は、ストリーム受信部104から供給されるカメラ画像を取得し、3Dモデリング処理をリアルタイムに実行する。3Dモデリング処理により、オブジェクトの3Dモデルのデータ(3Dモデルデータ)がフレーム単位で生成され、ストリーム送信部112に順次供給される。リアルタイムモデリング部111は、3Dモデリング処理において、所定の撮影デバイス11の各フレームの画像データに関連付けられたセンサ情報に基づいて、その時点でのキャリブレーション処理を、オートキャリブレーション部113に必要に応じて依頼し、キャリブレーション情報を更新してもよい。
 ストリーム送信部112は、コンテンツ管理部109またはリアルタイムモデリング部111から供給される、オブジェクトの3Dモデルデータを、再生デバイス13へ送信する。
 オートキャリブレーション部113は、オフラインモデリング部108またはリアルタイムモデリング部111からの、各フレームの画像データに関連付けられたセンサ情報に基づいて、キャリブレーション部105で算出されたカメラパラメータの更新が必要であると判定された場合、キャリブレーション処理を実行し、カメラパラメータを更新する。
(再生デバイス13)
 再生デバイス13は、通信部151、メッセージ送受信部152、制御部153、センサ154、センサ入力部155、ストリーム受信部156、再生部157、画像出力部158、ディスプレイ159、音声出力部160、および、スピーカ161を備える。
 通信部151は、キャリア通信、Wi-Fi(登録商標)等の無線通信、1000BASE-T等の有線通信などの各種の通信モジュールで構成され、クラウドサーバ12とメッセージやデータの通信を行う。
 メッセージ送受信部152は、クラウドサーバ12と通信部103を介してメッセージ通信を行う。メッセージ送受信部152は、クラウドサーバ12のメッセージ送受信部102と対応する。
 制御部153は、メッセージ送受信部152により受信されたメッセージや、不図示の操作部において検出された視聴者の操作に基づいて、再生デバイス13の動作全体を制御する。例えば、制御部153は、視聴者の操作に基づいて、所定のコンテンツを要求するメッセージを、メッセージ送受信部152に送信させる。また、制御部153は、コンテンツの要求に応じてクラウドサーバ12から送信されてくる、オブジェクトの3Dモデルデータを、再生部157に再生させる。オブジェクトの3Dモデルデータを再生部157に再生させる際、制御部153は、センサ入力部155から供給されるセンサ情報に基づく仮想視点となるように制御する。
 センサ154は、ジャイロセンサや加速度センサで構成され、視聴者の視聴位置を検出し、センサ情報としてセンサ入力部155に供給する。センサ入力部155は、センサ154から供給されるセンサ情報を制御部153に供給する。
 ストリーム受信部156は、クラウドサーバ12のストリーム送信部112に対応する受信部であり、クラウドサーバ12から送信されてくる、オブジェクトの3Dモデルデータを受信し、再生部157に供給する。
 再生部157は、オブジェクトの3Dモデルデータから、制御部153から供給される視聴位置に基づく視聴範囲となるようにオブジェクトの3Dモデルを再生する。再生の結果得られる3Dモデルの自由視点画像は、画像出力部158に供給され、音声は、音声出力部160に供給される。
 画像出力部158は、再生部157からの自由視点画像をディスプレイ159に供給し、表示させる。ディスプレイ159は、画像出力部158から供給される自由視点画像を表示する。
 音声出力部160は、再生部157からの音声信号をスピーカ161から出力させる。スピーカ161は、音声出力部160からの音声信号に基づく音を出力する。
 画像処理システム1の撮影デバイス11、クラウドサーバ12、および、再生デバイス13のそれぞれは、以上のような構成を有している。
 以下、画像処理システム1が行う処理の詳細について説明する。
<4.ボリューメトリック撮影再生処理のフローチャート>
 図5は、画像処理システム1によるボリューメトリック撮影再生処理のフローチャートである。
 初めに、ステップS1において、画像処理システム1は、ボリューメトリック撮影に参加する複数(N台)の撮影デバイス11を1つのグループとしてグルーピングする撮影デバイス11のグルーピング処理を実行する。この処理の詳細は、図6および図7を参照して後述する。
 ステップS2において、画像処理システム1は、カメラキャリブレーション処理を行うための撮影デバイス11の設定を行うキャリブレーション用撮影設定処理を実行する。各撮影デバイス11は、例えば、自身が備える撮影の機能や設定可能範囲に従って、露光時間、解像度等を所定の値に設定する。このカメラキャリブレーション処理用の設定値は、予め決定しておいてもよいし、後述するステップS4のボリューメトリック撮影用撮影設定処理のように、自身の能力情報に基づいてユーザに設定(選択)させてもよい。
 ステップS3において、画像処理システム1は、複数の撮影デバイス11それぞれのカメラパラメータを算出する撮像デバイス11のカメラキャリブレーション処理を実行する。この処理の詳細は、図8ないし図11を参照して後述する。
 ステップS4において、画像処理システム1は、ボリューメトリック撮影用の撮影デバイス11の設定を行うボリューメトリック撮影用撮影設定処理を実行する。この処理の詳細は、図12および図13を参照して後述する。
 ステップS5において、画像処理システム1は、複数の撮影デバイス11それぞれが撮影タイミングを同期させて撮影を行う、撮影デバイス11の同期撮影処理を実行する。この処理の詳細は、図14および図15を参照して後述する。
 ステップS6において、画像処理システム1は、オフラインモデリングを行うか、または、リアルタイムモデリングを行うかを判定する。オフラインモデリングは、ボリューメトリック撮影とは別のタイミングで3Dモデルの生成を行う3Dモデリング処理であり、リアルタイムモデリングは、ボリューメトリック撮影に同期して3Dモデルの生成を行う3Dモデリング処理である。オフラインモデリングとするか、または、リアルタイムモデリングとするかは、例えば、撮影デバイス11のグルーピングを行う際に、所定の1台の撮影デバイス11においてユーザが指定することによって決定される。
 ステップS6で、オフラインモデリングを行うと判定された場合、以下のステップS7およびS8の処理が実行される。
 ステップS7において、画像処理システム1は、複数の撮影デバイス11によって撮影された被写体の画像ストリームに基づいて、3Dモデルデータを生成するオフラインモデリング処理を実行する。この処理の詳細は、図16および図17を参照して後述する。
 ステップS8において、画像処理システム1は、オフラインモデリング処理で生成された3Dモデルデータをコンテンツとして、3Dモデルの自由視点画像を再生デバイス13に表示させるコンテンツ再生処理を実行する。この処理の詳細は、図18を参照して後述する。
 一方、ステップS6で、リアルタイムモデリングを行うと判定された場合、以下のステップS9の処理が実行される。
 ステップS9において、画像処理システム1は、複数の撮影デバイス11によって撮影された被写体の画像ストリームに基づいて3Dモデルデータを生成し、生成した3Dモデルデータを再生デバイス13に送信して、3Dモデルの自由視点画像を表示させるリアルタイムモデリング再生処理を実行する。この処理の詳細は、図19を参照して後述する。
 以上で、画像処理システム1によるボリューメトリック撮影再生処理が終了する。
 なお、図5の各ステップの処理は、連続して実行されてもよいし、各ステップが別々のタイミングで所定の時間を空けて実行されてもよい。
<5.撮影デバイスのグルーピング処理のフローチャート>
 次に、図6のフローチャートを参照して、図5のステップS1として実行される、撮影デバイス11のグルーピング処理の詳細について説明する。
 ボリューメトリック撮影に参加する複数の撮影デバイス11のうち、所定の1台の撮影デバイス11をマスタデバイスと称し、他の撮影デバイス11を参加デバイスと称する。
 初めに、ステップS21において、マスタデバイスである撮影デバイス11が、ボリューメトリック撮影アプリを起動して、ユーザID、パスワード、および、グループ名を入力し、グループ登録依頼をクラウドサーバ12に送信する。ユーザIDは、ユーザが入力してもよいし、撮影デバイス11の端末名やMACアドレス等を用いて自動で(ユーザの入力なしに)入力してもよい。グループ登録依頼がクラウドサーバ12に送信される際には、マスタデバイスの位置情報も合わせてクラウドサーバ12に送信される。位置情報は、後述するステップS24において、グループを構成する複数の撮影デバイス11がボリューメトリック撮影可能であるかどうかの判断が可能な情報であればよい。位置情報には、例えば、GPSセンサ43により検出される移動経度情報、キャリア通信の基地局の電界強度を用いた三角測量で求めた緯度経度情報、Wi-Fi無線通信のアクセスポイント情報(例えばSSIDやMACアドレス情報)をWi-Fi位置情報サービスに送信して取得した緯度経度情報などを用いることができる。
 ステップS22において、マスタデバイスは、グループ登録依頼に対応してクラウドサーバ12から返信されてくる2次元コードを取得して、ディスプレイ37に表示する。
 図7は、ステップS22においてマスタデバイスのディスプレイ37に表示される2次元コードの画面例を示している。
 図7の画面では、クラウドサーバ12が提供するサービスの名前である「Volumetricモデリングサービス」の文字とともに、ステップS21でユーザが入力したユーザID(USERID)、パスワード(PASSWD)、グループ名(GroupName)が表示されている。また、「カメラで以下の2次元コードを撮影して下さい」の文字とともに、2次元コードが表示されている。
 ステップS23において、マスタデバイス以外の撮影デバイス11である各参加デバイスは、ボリューメトリック撮影アプリを起動して、マスタデバイスのディスプレイ37に表示された2次元コードを撮影する。2次元コードを撮影した参加デバイスは、登録グループを識別するグループ識別情報と、自身の位置情報を、クラウドサーバ12に送信する。あるいはまた、参加デバイスが2次元コードを撮影すると、ボリューメトリック撮影アプリが自動起動されて、グループ識別情報と参加デバイスの位置情報が、クラウドサーバ12に送信されるようにしてもよい。グループ識別情報は、例えば、ユーザIDまたはグループ名とすることができる。
 ステップS24において、クラウドサーバ12は、参加デバイスから送信されてくるグループ識別情報と位置情報とを用いて、同一グループのマスタデバイスと参加デバイスがボリューメトリック撮影が可能であるかを判定する。クラウドサーバ12のコントローラ101は、例えば、参加デバイスの位置が、マスタデバイスの位置から一定範囲内の近傍位置にあるか否かにより、参加デバイスがボリューメトリック撮影が可能であるかを判定する。参加デバイスが、マスタデバイスの位置から一定範囲内の近傍位置に存在する場合、クラウドサーバ12は、リューメトリック撮影が可能であると判定する。
 ステップS24で、参加デバイスがボリューメトリック撮影が可能であると判定された場合、クラウドサーバ12は、参加デバイスを、グループ識別情報が示すグループ、すなわちマスタデバイスのグループに登録し、登録完了メッセージを参加デバイスに送信する。
 一方、ステップS24で、参加デバイスがボリューメトリック撮影が可能ではないと判定された場合、クラウドサーバ12は、参加デバイスにグループ登録エラーを送信する。
 ステップS27において、画像処理システム1は、グループ登録が完了したか否かを判定し、グループ登録がまだ完了していないと判定された場合、上述したステップS23ないしS27の処理が繰り返される。例えば、マスタデバイスにおいて、図7の2次元コードの画面の表示を終了し、登録作業を終了する操作が行われた場合、グループ登録が完了したと判定される。
 ステップS27で、グループ登録が完了したと判定された場合、図6の撮影デバイス11のグルーピング処理が終了する。
 上述したグルーピング処理においては、2次元バーコードを認識することによりグループ識別情報を取得して、クラウドサーバ12に送信するようにしたが、ユーザがグループ識別情報を入力して、クラウドサーバ12に送信するようにしてもよい。
 また、Wi-Fi(登録商標)のWPSボタンのような操作で、参加デバイスのグループ登録が行えるようにしてもよい。具体的な処理としては、例えば、マスタデバイスが、画面上のグループ登録ボタンを押下すると、グループ登録受付状態となった旨と位置情報がクラウドサーバ12に送信される。参加デバイスのユーザが、画面上のグループ登録ボタンを押下すると、グループ登録ボタン押下の旨と位置情報が、参加デバイスからクラウドサーバ12に送信される。クラウドサーバ12は、マスタデバイスのグループ登録ボタン押下から一定時間以内に、グループ登録ボタンが押下された参加デバイスの位置情報を確認し、マスタデバイスのグループに登録可能かを判定し、登録完了メッセージまたはグループ登録エラーを参加デバイスに送信する。
 また、上述したグルーピング処理においては、マスタデバイスと参加デバイスの位置情報のみに基づいて参加デバイスがボリューメトリック撮影が可能であるかを判定したが、その他の内容で判定してもよい。
 例えば、マスタデバイスと参加デバイスが、同一のアクセスポイントに接続しているか否かにより判定してもよい。また例えば、マスタデバイスと参加デバイスのそれぞれが、同一の被写体を撮影し、撮影された画像に同一の被写体が写っていることをもって、ボリューメトリック撮影が可能であると判定してもよい。また例えば、マスタデバイスで参加デバイスを撮影し、撮影された画像に参加デバイスの所定の部分(例えば、ディスプレイの表示画像)が写っていることをもって、ボリューメトリック撮影が可能であると判定してもよい。反対に、参加デバイスでマスタデバイスを撮影してもよい。さらに、上述した判定内容を複数組み合わせて判定してもよい。
 上述したグルーピング処理により、ユーザが普段使用している一般的な電子機器、例えば、スマートフォンやタブレットなどを、ボリューメトリック撮影を行う撮影デバイス11として簡単に登録することができ、グループ登録した他の撮影デバイス11と連携させた動作が可能となる。
<6.撮影デバイスのカメラキャリブレーション処理のフローチャート>
 次に、図5のステップS3として実行される、撮影デバイス11のカメラキャリブレーション処理の詳細について説明する。
 ボリューメトリック撮影の専用のスタジオなどでは、カメラのキャリブレーション用に、キャリブレーションボードなどが予め用意されているが、そのような特別に用意されたボード等がなくてもキャリブレーションを実行できる必要がある。
 そこで、画像処理システム1では、図8に示されるように、1つの撮影デバイス11にキャリブレーションボード画像を表示させ、他の全ての撮影デバイス11が、表示されたキャリブレーションボード画像を撮影して特徴点を検出する処理を、グルーピングされた全ての撮影デバイス11で順次行うことにより、撮影デバイス11のカメラパラメータを算出するカメラキャリブレーション処理が実行される。撮影デバイス11のカメラ51としては、ディスプレイ37と同じ面のカメラ51が用いられる。
 図8の例では、5台の撮影デバイス11のうち、撮影デバイス11―5にキャリブレーションボード画像が表示されており、他の撮影デバイス11-1ないし11-4が、撮影デバイス11―5のキャリブレーションボード画像を撮影して特徴点を検出する。撮影デバイス11-1ないし11-4も、順番に、キャリブレーションボード画像を表示し、他の撮影デバイス11が、表示されたキャリブレーションボード画像を撮影して特徴点を検出する。
 図9のフローチャートを参照して、図5のステップS3として実行される、撮影デバイス11のカメラキャリブレーション処理の詳細について説明する。
 初めに、ステップS41において、クラウドサーバ12は、キャリブレーションボード画像を表示する撮影デバイス11を1つ選択する。クラウドサーバ12は、選択した撮影デバイス11(以下、選択撮影デバイス11とも称する。)に対して、キャリブレーションボード画像を表示させる命令(メッセージ)を送信する。
 ステップS42において、選択撮影デバイス11は、クラウドサーバ12から、キャリブレーションボード画像を表示させる命令を受信し、キャリブレーションボード画像をディスプレイ37に表示する。
 ステップS43において、選択撮影デバイス11以外の他の撮影デバイス11それぞれは、選択撮影デバイス11のディスプレイ37に表示されたキャリブレーションボード画像を同期して撮影する。
 ステップS44において、選択撮影デバイス11以外の他の撮影デバイス11それぞれは、撮影して得られたキャリブレーションボード画像の特徴点を検出し、検出した各特徴点の情報である特徴点情報を、クラウドサーバ12に送信する。
 ステップS45において、クラウドサーバ12のキャリブレーション部105は、各撮影デバイス11から送信されてきた、キャリブレーションボード画像の特徴点情報を、通信部103等を介して取得し、記憶する。
 ステップS46で、クラウドサーバ12は、グルーピングされた全ての撮影デバイス11でキャリブレーションボード画像を表示したかを判定する。
 ステップS46で、全ての撮影デバイス11でキャリブレーションボード画像を表示していないと判定された場合、処理はステップS41へ戻り、上述したステップS41ないしS46の処理が再度実行される。すなわち、キャリブレーションボード画像をまだ表示していない撮影デバイス11の1つが選択され、他の撮影デバイス11それぞれが、表示されたキャリブレーションボード画像を撮像して特徴点を検出し、特徴点情報をクラウドサーバ12に送信する処理が実行される。
 一方、ステップS46で、全ての撮影デバイス11でキャリブレーションボード画像を表示したと判定された場合、処理はステップS47に進み、クラウドサーバ12のキャリブレーション部105は、記憶した特徴点情報を用いて、特徴点の3次元位置と、撮影デバイス11の内部パラメータおよび外部パラメータとを、撮影デバイス11ごとに推定する。
 複数の撮影装置で撮影した画像から、撮影装置のカメラパラメータを算出する方法としては、例えば、バンドル調整と非線形最適化問題を解くアルゴリズムなどがあり、例えば、「岩元祐輝, 菅谷保之, 金谷健一. “3 次元復元のためのバンドル調整の実装と評価.” コンピュータビジョンとイメージメディア (CVIM) 2011.19 (2011): 1-8.」などに開示されている。
 ステップS48において、クラウドサーバ12のキャリブレーション部105は、推定した各撮影デバイス11の内部パラメータおよび外部パラメータを、オフラインモデリング部108およびリアルタイムモデリング部111に供給して、カメラキャリブレーション処理を終了する。
 上述したカメラキャリブレーション処理により、特別に用意されたキャリブレーションボードなどが存在しない場合であっても、グルーピングされた各撮像デバイス11のカメラパラメータを算出することができる。
 なお、上述したカメラキャリブレーション処理では、グルーピングされた複数の撮影デバイス11で、同一のキャリブレーションボード画像を表示させることを前提として、複数の撮影デバイス11が、順番にキャリブレーションボード画像を表示させるようにした。
 しかしながら、グルーピングされた複数の撮影デバイス11に表示させるキャリブレーションボード画像が、図10に示されるように異なる場合には、複数の撮影デバイス11が同時にキャリブレーションボード画像を表示させ、各撮影デバイス11は、他の撮影デバイス11に表示されたキャリブレーションボード画像の特徴点を一度に検出することができる。キャリブレーションボード画像は、パターン形状が異なる画像であってもよいし、色が異なる画像でもよい。図10に示されるキャリブレーションボード画像は、チェスパターンのボード画像、ドットパターンのボード画像の例であり、格子の数(MxN,KxL)やドットの大きさや密度が異なる画像である。
 あるいはまた、図11の撮影デバイス11―6のように、グルーピングされた複数の撮影デバイス11のうちの1つを、キャリブレーションボード画像の表示用として、ユーザが、キャリブレーションボード画像が表示された撮影デバイス11―6を、キャリブレーションボードのように動かしながら、各撮影デバイス11で撮影して、キャリブレーションボード画像の特徴点を検出してもよい。
<7.ボリューメトリック撮影用撮影設定処理のフローチャート>
 次に、図12のフローチャートを参照して、図5のステップS4として実行される、ボリューメトリック撮影用撮影設定処理の詳細について説明する。
 初めに、ステップS61において、グルーピングされた複数の撮影デバイス11それぞれは、自身の能力情報をクラウドサーバ12に送信する。
 能力情報は、撮影デバイス11が備える撮影の機能や設定可能範囲に関する情報であり、例えば、以下の項目についての情報が含まれ得る。
1.カメラタイプ(RGB,RGB-D,IR)
2.カメラ設定1(露光時間、ゲイン、ズーム)
3.カメラ設定2(撮影解像度、ROI、フレームレート)
4.画像エンコード設定(出力解像度、圧縮符号化方式、ビットレート)
5.カメラ同期方式(Type1、Type2、Type3)
6.カメラキャリブレーション方式(Type1、Type2、Type3)
 カメラ設定2のROIは、撮影解像度が示す撮影範囲のうち、注目領域として設定可能な範囲を表す。
 図13は、ある撮影デバイス11が有する能力情報の例を示している。
 図13の能力情報によれば、この撮影デバイス11は、機器識別名が“カメラ1”であり、カメラタイプが “RGB”であり、露光時間としては“500”, “1000”, “10000”のいずれかを設定可能であり、フレームレートとしては“30”, “60”, “120”のいずれかを設定可能であり、撮影解像度としては“3840x2160”, “1920x1080”, “640x480”のいずれかを設定可能である。
 また、撮影デバイス11は、画像エンコード設定に関し、圧縮符号化方式として“H.264”, “H.265”のいずれかを設定可能であり、出力解像度として“3840x2160”, “1920x1080”, “640x480”のいずれかを設定可能であり、ビットレートとして“1M”, “3M”, “5M”, “10M”, “20M”, “50M”のいずれかを設定可能である。
 さらに、撮像デバイス11は、カメラ同期方式として“タイプ1”、“タイプ2”、“タイプ3”のいずれかを設定可能であり、キャリブレーション方式として“タイプ1”、“タイプ2”、“タイプ3”のいずれかを設定可能である。
 ステップS62において、クラウドサーバ12は、1つのグループに設定された全ての撮影デバイス11の能力情報を基に、ボリューメトリック撮影に適した各撮影デバイス11の設定値の候補を生成する。各撮影デバイス11の設定値は、1つのグループに設定された全ての撮影デバイス11に共通な設定値もあるし、異なる設定値もある。例えば、カメラ同期方式などは全ての撮影デバイス11で共通に設定されるが、カメラタイプは、複数の撮影デバイス11がRGBで、残りの撮影デバイス11がIRなど、のように別々に設定することができる。
 ステップS63において、クラウドサーバ12は、ボリューメトリック撮影、すなわち、3Dモデル生成用の撮影が可能であるかを判定する。ボリューメトリック撮影が可能か否かは、詳細は後述するが、例えば、1つのグループに設定された全ての撮影デバイス11の撮影対象領域を重畳して、一定台数以上の撮影デバイス11に共通する領域が存在するか等により判定することができる。
 ステップS63で、ボリューメトリック撮影が可能であると判定された場合、処理はステップS64に進み、クラウドサーバ12は、各撮影デバイス11に設定値の候補を送信し、各撮影デバイス11が、設定値の候補を受信してユーザに提示する。
 ユーザは、表示された設定値の候補を参照し、所望の設定値の候補を選択する。すると、ステップS65において、各撮影デバイス11は、ユーザが指定した設定値の候補をクラウドサーバ12に送信する。
 ステップS66において、クラウドサーバ12は、各撮影デバイス11から送信されてきた、ユーザ指定の設定値の候補を取得し、ユーザが指定した設定値をセットする設定信号を、各撮影デバイス11に送信して、ボリューメトリック撮影用撮影設定処理を終了する。
 一方、ステップS63で、ボリューメトリック撮影が不可能であると判定された場合、処理はステップS67に進み、クラウドサーバ12は、ボリューメトリック撮影ができないことを各撮影デバイス11に送信し、ユーザに提示する。これにより、ボリューメトリック撮影用撮影設定処理が終了する。
 以上のように、ボリューメトリック撮影用撮影設定処理では、各撮影デバイス11の能力情報に基づいて、ボリューメトリック撮影が可能かどうかが判定され、ボリューメトリック撮影が可能となる設定値のなかから、所定の設定値が選択される。
 以下、各撮影デバイス11の能力情報に基づく、各撮影デバイス11の設定値候補の決定例と、ボリューメトリック撮影が可能かどうかの判定例について説明する。各撮影デバイス11の能力情報は、取得済みであるとする。また、3Dモデルデータの生成におけるフレームレートの希望値や、何分のコンテンツを何分で処理したいか、という処理時間に対する希望値がユーザの要求値として設定されているものとする。
 [STEP1]
 クラウドサーバ12のコントローラ101は、まず、各撮影デバイス11の能力情報に基づいて、カメラ同期方式を決定する。例えば、撮影デバイス11-1ないし11-Nのカメラ同期方式が、以下の条件であるとき、コントローラ101は、全ての撮影デバイス11がサポートしているカメラ同期方式のうち、より優先度の高いものを選択する。優先度が、type1 > type2> ... > type Kである場合、Type2が選択される。
 撮影デバイス11-1:  Type1, Type2, ... TypeK 
 撮影デバイス11-2:         Type2, ... TypeK 
 ・・・
 撮影デバイス11-N:  Type1, Type2, ... TypeK 
 [STEP2]
 次に、コントローラ101は、各撮影デバイス11との間で通信帯域の測定を行い、最大ビットレート[Mbps]を決定する。撮影デバイス11-1ないし11-Nのそれぞれで決定された最大ビットレートが以下であるとする。
 撮影デバイス11-1:  X0 [Mbps]
 撮影デバイス11-2:  X1 [Mbps]
 ・・・
 撮影デバイス11-N:  Xn [Mbps]
 [STEP3]
 次に、コントローラ101は、各撮影デバイス11の最大ビットレートの範囲内で、カメラタイプ、解像度や、フレームレート、圧縮符号化方式等の可能な組み合わせを計算し、撮影デバイス11毎に設定値の候補を決定する。
 撮影デバイス11-1:    
    候補1 (RGB, 3840x2160, 30, H.265, 40M)
    候補2 (RGB, 3840x2160, 60, H.265, 50M)
    候補3 (RGB, 1920x1080, 30, H.265, 20M)
    候補4 (RGB-D, 1920x1080, 30, H.265, 40M)
 撮影デバイス11-2:    
    候補1 (RGB, 3840x2160, 30, H.265, 40M)
    候補2 (RGB, 3840x2160, 60, H.265, 50M)
    候補3 (RGB, 1920x1080, 120, H.265, 20M)
    候補4 (RGB-D、1920x1080, 30, H.265, 40M)
 ・・・
 [STEP4]
 コントローラ101は、決定された各設定値の候補を用いて、ボリューメトリック撮影が可能であるかを判定する。コントローラ101は、以下のような方法により、ボリューメトリック撮影が可能であるかを判定することができる。
 例えば、コントローラ101は、各撮影デバイス11のキャリブレーション結果に基づいて、各撮影デバイス11の撮影対象領域を算出し、各撮影デバイス11の撮影対象領域を重畳したときに、共通撮影領域が存在するか否かにより、ボリューメトリック撮影が可能であるかを判定する。共通撮影領域は、全ての撮影デバイス11の撮影対象領域に共通する領域としてもよいし、一定台数以上の撮影デバイス11の撮影対象領域に共通する領域としてもよい。
 また例えば、コントローラ101は、各撮影デバイス11の解像度と撮影対象領域とから、3Dモデルのモデリングパラメータを算出し、算出したモデリングパラメータが所定の範囲内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する。モデリングパラメータは、ボクセルサイズとバウンディングボックスサイズで構成される。より具体的には、コントローラ101は、各撮影デバイス11の解像度と撮影対象領域とから、3Dモデルを生成する際のボクセルサイズがいくつになるか(何mm角)を決定する。そして、コントローラ101は、算出されたボクセルサイズが、ボクセルサイズの下限値Voxel_Lと上限値Voxel_Uの間に入っているか否かにより(Voxel_L<=ボクセルサイズ<=Voxel_U)、ボリューメトリック撮影が可能であるかを判定する。コントローラ101は、ボクセルサイズの下限値Voxel_Lと上限値Voxel_Uの間のなかから、複数のボクセルサイズとバウンディングボックスサイズを設定値の候補として加えてもよい。
 また例えば、コントローラ101は、各撮影デバイス11の各設定値の候補から、3Dモデリングにかかる処理時間を推定し、推定した3Dモデリング処理時間が所定の時間以内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する。より具体的には、コントローラ101は、各撮影デバイス11の解像度、フレームレート、圧縮符号化方式、ビットレートなどから、3Dモデルデータの復号処理時間を推定し、ボクセルサイズとバウンディングボックスサイズとから計算される処理対象ボクセル数に基づいて、自由視点画像の描画処理時間を推定する。コントローラ101は、オフラインモデリングの場合は、推定した3Dモデリング処理時間がユーザが要求する処理時間以内であるかを判定し、リアルタイムモデリングの場合は、推定した3Dモデリング処理時間がリアルタイム処理可能な所定値以下であるかを判定する。
 [STEP5]
 コントローラ101は、ボリューメトリック撮影が可能であると判定された場合に、[STEP3]で決定された設定値の候補を所定の優先度順で並べてユーザに提示する。
 例えば、画質を優先する場合には、(1)ボクセルサイズが小さくなる設定値、(2)解像度が高くなる設定値、(3)フレームレートが高くなる設定値、の順に、設定値の候補が提示される。
 また例えば、フレームレートを優先する場合、(1) フレームレートが高くなる設定値、(2) ボクセルサイズが小さくなる設定値、(3) 解像度が高くなる設定値、の順に、設定値の候補が提示される。
 以上のように、クラウドサーバ12は、各撮影デバイス11の能力情報に基づいて、各撮影デバイス11の設定値候補を決定し、ボリューメトリック撮影が可能かどうかを自動で判定する。
 ユーザが普段使用しているスマートフォンやタブレットなどを、ボリューメトリック撮影を行う撮影デバイス11として使用する場合、ユーザが持っている電子機器の性能は多種多様となる。上述したボリューメトリック撮影用撮影設定処理により、ボリューメトリック撮影に参加した撮像デバイス11の性能に応じて、撮影機能に関する設定値を最適に決定することができる。
<8.撮影デバイスの同期撮影処理のフローチャート>
 次に、図5のステップS5において実行される、撮影デバイス11の同期撮影処理の詳細について説明する。
 撮影デバイス11の同期撮影処理には、図14を参照して説明する処理と、図15を参照して説明する処理の少なくとも2種類がある。図14の同期撮影処理は、撮影デバイス11内の時計情報を用いて同期して撮影する処理であり、図15の同期撮影処理は、撮影デバイス11内の時計情報を用いることができない場合の処理である。撮影デバイス11内の時計情報を用いることができない場合の同期撮影処理は、撮影した画像データを事後的に同期させることができるようにするための撮影処理となる。
 初めに、図14のフローチャートを参照して、撮影デバイス11内の時計情報を用いて同期して撮影する場合の同期撮影処理について説明する。図14の処理実行開始時には、撮影デバイス11内の時計情報は、上述した第1の同期手法ないし第4の同期手法により、高精度に同期されている。
 ステップS81において、クラウドサーバ12は、グルーピングされた複数の撮影デバイス11それぞれから現在の時刻を取得する。
 ステップS82において、クラウドサーバ12は、取得した各撮影デバイス11の時刻のうち、最も進んだ時刻に一定時間を加えた時刻を、キャプチャ開始時刻に決定する。
 ステップS83において、クラウドサーバ12は、各撮影デバイス11へネットワークを介して所定の命令を送信することにより、各撮影デバイス11のカメラ51をスタンバイ状態に制御する。スタンバイ状態とは、同期信号が入力されると、同期信号に応じて撮影を行うことができる状態である。
 ステップS84において、クラウドサーバ12は、ステップS82で決定したキャプチャ開始時刻を、各撮影デバイス11に送信する。
 ステップS85において、各撮影デバイス11は、クラウドサーバ12から送信されてきたキャプチャ開始時刻を取得し、同期信号生成部45に設定する。同期信号生成部45は、キャプチャ開始時刻が到来すると、同期信号の生成および出力を開始する。同期信号は、図8の撮影設定処理で設定されたフレームレートで出力され、カメラ51に供給される。
 ステップS86において、各撮影デバイス11のカメラ51は、入力された同期信号に基づいて、3Dモデルとなる被写体を撮影する。撮影により得られた被写体の画像データ(画像ストリーム)は、撮像デバイス11内に一時的に保持されるか、リアルタイムでクラウドサーバ12へ送信される。
 ステップS87において、各撮影デバイス11は、撮影の終了が指示されたかを判定する。撮影の終了は、マスタデバイス等の所定の撮影デバイス11をユーザが操作することにより決定され、その撮影デバイス11から、他の撮影デバイス11へ終了が指示されてもよいし、クラウドサーバ12を介して終了が指示されてもよい。
 ステップS87で、撮影の終了が指示されていないと判定された場合、上述したステップS86およびS87が繰り返される。すなわち、同期信号に基づく撮影が継続される。
 一方、ステップS87で、撮影の終了が指示されたと判定された場合、処理はステップS88に進み、各撮影デバイス11は、被写体の撮影を停止して、同期撮影処理を終了する。同期信号生成部45の同期信号の生成も停止する。
 次に、図15のフローチャートを参照して、撮影デバイス11内の時計情報を用いることができない場合の同期撮影処理について説明する。
 初めに、ステップS101において、クラウドサーバ12は、各撮影デバイス11へネットワークを介して所定の命令を送信することにより、各撮影デバイス11に撮影を開始させる。
 ステップS102において、各撮影デバイス11は、内部クロックに基づいて同期信号生成部45が生成した同期信号に基づいて、3Dモデルとなる被写体を撮影する。撮影により得られた被写体の画像データ(画像ストリーム)は、撮像デバイス11内に一時的に保持されるか、リアルタイムでクラウドサーバ12へ送信される。
 ステップS103において、クラウドサーバ12は、撮影開始から一定時間経過後の所定の時刻となったかを判定する。
 ステップS103で、撮影開始から一定時間経過後の所定の時刻となったと判定された場合、ステップS104において、クラウドサーバ12は、フラッシュ39の発光指令を、所定の撮影デバイス11、例えば、マスタデバイスに送信する。
 ステップS105において、フラッシュの発光指令が送信されてきた所定の撮影デバイス11は、発光指令に基づいて、フラッシュ39を発光する。
 一方、ステップS103で、撮影開始から一定時間経過後の所定の時刻ではないと判定された場合、ステップS104およびS105がスキップされる。したがって、撮影開始から一定時間経過後の所定の時刻においてのみ、ステップS104およびS105の処理が実行される。
 ステップS106において、各撮影デバイス11は、撮影の終了が指示されたかを判定する。ステップS106で、撮影の終了が指示されていないと判定された場合、上述したステップS102ないしS106が繰り返される。すなわち、同期信号に基づく撮影が継続される。
 一方、ステップS106で、撮影の終了が指示されたと判定された場合、処理はステップS107に進み、各撮影デバイス11は、被写体の撮影を停止して、同期撮影処理を終了する。同期信号生成部45の同期信号の生成も停止する。
 図15の同期撮影処理によれば、グルーピングされた複数の撮影デバイス11で撮影された画像ストリームには、フラッシュが発光した画像が含まれる。3Dモデリング処理を行う際、フラッシュが発光したフレームが同一のタイムスタンプとなるように、複数の撮影デバイス11それぞれで撮影された画像ストリームの時刻情報を揃えることで、複数の撮影デバイス11それぞれで撮影された撮影画像の同期を取ることができる。
 なお、タイムスタンプを揃えるために撮影中にフラッシュ39を発光させる手段の他、スピーカ35から音を出力し、音が記録されたフレームが同一のタイムスタンプとなるように画像ストリームの時刻情報を揃えることにより、撮影画像の同期を取ってもよい。
<9.オフラインモデリング処理のフローチャート>
 次に、図16のフローチャートを参照して、図5のステップS7として実行される、オフラインモデリング処理の詳細について説明する。
 初めに、ステップS121において、複数の撮影デバイス11それぞれは、撮影が終了したか否かを判定し、撮影が終了したと判定されるまで待機する。
 そして、ステップS121で、撮影が終了したと判定された場合、処理はステップS122に進み、各撮影デバイス11は、被写体を撮影した撮影画像の画像ストリームを、所定のネットワークを介して、クラウドサーバ12に送信する。被写体を撮影した撮影画像は、画像処理部54においてデモザイク処理等の所定の画像信号処理が実行され、画像圧縮部55において所定の圧縮符号化処理が実行された後、ストリーム送信部59から画像ストリームとして送信される。
 ステップS123において、クラウドサーバ12のストリーム受信部104は、通信部103を介して、各撮影デバイス11から送信されてきた画像ストリームを受信し、モデリングタスク生成部106に供給する。
 ステップS124において、クラウドサーバ12のモデリングタスク生成部106は、キャリブレーション部105から各撮影デバイス11のカメラパラメータを取得し、ストリーム受信部104からの画像ストリームとともに、モデリングタスクを生成し、タスク記憶部107に記憶させる。タスク記憶部107には、モデリングタスク生成部106から順次供給されたモデリングタスクが、タスクキューとして記憶される。
 ステップS125において、オフラインモデリング部108は、タスク記憶部107に記憶されたモデリングタスクの1つを取得する。
 ステップS126において、オフラインモデリング部108は、取得したモデリングタスクの各撮影デバイス11の画像ストリームのうち、第iフレームの撮影画像を取得する。ここで、画像ストリームのフレーム番号の変数iの初期値には「1」が設定されている。
 ステップS127において、オフラインモデリング部108は、取得した各撮影デバイス11の第iフレームの撮影画像と、予め設定された背景画像とから、シルエット画像を生成する。シルエット画像は、被写体領域をシルエットで表した画像であり、例えば、撮影画像と背景画像との差分をとる背景差分法を用いることにより生成することができる。
 ステップS128において、オフラインモデリング部108は、各撮影デバイス11に対応するN枚のシルエット画像から、例えばVisual Hullにより、オブジェクトの3D形状を表す形状データを生成する。Visual Hullは、N枚のシルエット画像を、カメラパラメータに従って投影し、3次元形状の削り出しを行う手法である。オブジェクトの3D形状を表す形状データは、例えば、3次元上の格子(voxel)単位で、オブジェクトに属するかまたは属さないかを表したボクセルデータで表される。
 ステップS129において、オフラインモデリング部108は、オブジェクトの3D形状を表す形状データを、ボクセルデータから、ポリゴンメッシュと呼ばれるメッシュ形式のデータに変換する。表示デバイスでレンダリング処理がしやすいポリゴンメッシュのデータ形式の変換には、例えばマーチングキューブ法などのアルゴリズムを用いることができる。
 ステップS130において、オフラインモデリング部108は、オブジェクトの形状データに対応するテクスチャ画像を生成する。テクスチャ画像は、図3を参照して説明したマルチテクスチャ形式が採用される場合には、各撮影デバイス11で撮影された撮影画像が、そのままテクスチャ画像とされる。一方、図3を参照して説明したUVマッピング形式が採用される場合には、オブジェクトの形状データに対応するUVマッピング画像が、テクスチャ画像として生成される。
 ステップS131において、オフラインモデリング部108は、現在のフレームが、取得したモデリングタスクの各撮影デバイス11の画像ストリームの最終フレームであるかを判定する。
 ステップS131で、現在のフレームが、取得したモデリングタスクの各撮影デバイス11の画像ストリームの最終フレームではないと判定された場合、処理はステップS132へ進む。そして、ステップS132において、変数iが1だけインクリメントされた後、上述したステップS126ないしS131が繰り返される。すなわち、取得したモデリングタスクの各撮影デバイス11の画像ストリームのなかの次のフレームの撮影画像について、オブジェクトの形状データとテクスチャ画像が生成される。
 一方、ステップS131で、現在のフレームが、取得したモデリングタスクの各撮影デバイス11の画像ストリームの最終フレームであると判定された場合、処理はステップS133へ進み、オフラインモデリング部108は、オブジェクトの3Dモデルデータを、コンテンツ管理部109に供給する。コンテンツ管理部109は、オフラインモデリング部108から供給されたオブジェクトの3Dモデルデータを、コンテンツとしてコンテンツ記憶部110に記憶させて管理する。
 図17は、コンテンツ記憶部110に記憶されるオブジェクトの3Dモデルデータの例を示している。オブジェクトの3Dモデルデータは、オブジェクトの形状データとテクスチャ画像をフレーム単位に有している。
 以上により、オフラインモデリング処理が終了する。
<10.コンテンツ再生処理のフローチャート>
 次に、図18のフローチャートを参照して、図5のステップS8として実行される、コンテンツ再生処理の詳細について説明する。
 再生デバイス13のユーザである視聴者は、再生するコンテンツを指定する操作を行う。ステップS141において、再生デバイス13のメッセージ送受信部152は、ユーザによって再生が指定されたコンテンツの3Dモデルデータを、クラウドサーバ12へ要求する。
 ステップS142において、クラウドサーバ12は、指定されたコンテンツの3Dモデルデータを再生デバイス13に送信する。より具体的には、クラウドサーバ12のコントローラ101は、メッセージ送受信部102を介して、所定のコンテンツの3Dモデルデータを要求するメッセージを受信する。コントローラ101は、要求されたコンテンツの再生デバイス13への送信を、コンテンツ管理部109に指示する。コンテンツ管理部109は、指定されたコンテンツの3Dモデルデータを、コンテンツ記憶部110から取得し、ストリーム送信部112を介して再生デバイス13に送信する。
 ステップS143において、再生デバイス13は、クラウドサーバ12から送信されてきたコンテンツとしての第kフレームの形状データとテクスチャ画像を取得する。ここで、送信されてくるコンテンツの3Dモデルデータのフレーム番号の変数kの初期値には「1」が設定されている。
 ステップS144において、再生デバイス13の制御部153は、センサ154で検出されたセンサ情報に基づいて、オブジェクトに対する視聴者の視聴位置である仮想視点位置を決定する。決定された仮想視点位置の情報は、再生部157に供給される。
 ステップS145において、再生デバイス13の再生部157は、決定された仮想視点位置に基づき、3Dモデルのオブジェクトの画像を描画するレンダリング処理を行う。すなわち、再生部157は、3Dモデルのオブジェクトを仮想視点位置から見たオブジェクト画像を生成して、画像出力部158を介してディスプレイ159に出力する。
 ステップS146において、再生部157は、現在のフレームが、取得したコンテンツの最終フレームであるかを判定する。
 ステップS146で、現在のフレームが、取得したコンテンツの最終フレームではないと判定された場合、処理はステップS147へ進む。そして、ステップS147において、変数kが1だけインクリメントされた後、上述したステップS143ないしS146が繰り返される。すなわち、取得したコンテンツの次のフレームのオブジェクトの形状データとテクスチャ画像に基づいて、仮想視点位置から見たオブジェクト画像が生成および表示される。
 一方、ステップS146で、現在のフレームが、取得したコンテンツの最終フレームであると判定された場合、コンテンツ再生処理は終了する。
<11.リアルタイムモデリング再生処理のフローチャート>
 次に、図19のフローチャートを参照して、図5のステップS9として実行される、リアルタイムモデリング再生処理の詳細について説明する。
 リアルタイムモデリング再生処理が実行される状態は、図5のステップS6において、リアルタイムモデリングを行うと判定された場合であるので、複数の撮影デバイス11それぞれから、ボリューメトリック撮影による画像ストリームの撮影画像が、順次、クラウドサーバ12へ送信されてくる。
 ステップS161において、クラウドサーバ12のストリーム受信部104は、各撮影デバイス11から順次送信されてきた画像ストリームの撮影画像を、通信部103を介して受信し、リアルタイムモデリング部111に供給する。
 ステップS162において、リアルタイムモデリング部111は、ストリーム受信部104から供給されて蓄積された各撮影デバイス11の撮影画像を1フレームずつ取得する。より具体的には、リアルタイムモデリング部111は、蓄積された各撮影デバイス11の撮影画像のうち、時刻情報の最も古い1フレームを複数の撮影デバイス11それぞれについて取得する。
 ステップS163において、リアルタイムモデリング部111は、取得した各撮影デバイス11の撮影画像と、予め設定された背景画像とから、シルエット画像を生成する。
 ステップS164において、リアルタイムモデリング部111は、各撮影デバイス11に対応するN枚のシルエット画像から、例えばVisual Hullにより、オブジェクトの3D形状を表す形状データを生成する。オブジェクトの3D形状を表す形状データは、例えば、ボクセルデータで表される。
 ステップS165において、リアルタイムモデリング部111は、オブジェクトの3D形状を表す形状データを、ボクセルデータから、ポリゴンメッシュと呼ばれるメッシュ形式のデータに変換する。
 ステップS166において、リアルタイムモデリング部111は、オブジェクトの形状データに対応するテクスチャ画像を生成する。
 ステップS167において、リアルタイムモデリング部111は、ストリーム送信部112を介して、オブジェクトの形状データとテクスチャ画像を再生デバイス13に送信する。
 ステップS168において、再生デバイス13の再生部157は、ストリーム受信部156を介して、クラウドサーバ12から送信されてきた、オブジェクトの形状データとテクスチャ画像を取得する。
 ステップS169において、再生デバイス13の制御部153は、センサ154で検出されたセンサ情報に基づいて、オブジェクトに対する視聴者の視聴位置である仮想視点位置を決定する。決定された仮想視点位置の情報は、再生部157に供給される。
 ステップS170において、再生デバイス13の再生部157は、決定された仮想視点位置に基づき、3Dモデルのオブジェクトの画像を描画するレンダリング処理を行う。すなわち、再生部157は、3Dモデルのオブジェクトを仮想視点位置から見たオブジェクト画像を生成して、画像出力部158を介してディスプレイ159に出力する。
 ステップS171において、再生デバイス13の制御部153は、3Dモデルのオブジェクトの形状データとテクスチャ画像の受信が終了したかを判定する。
 ステップS171で、3Dモデルのオブジェクトの形状データとテクスチャ画像の受信がまだ終了していないと判定された場合、処理はステップS162に進み、上述したステップS162ないしS171の処理が繰り返される。
 一方、ステップS171で、3Dモデルのオブジェクトの形状データとテクスチャ画像の受信が終了したと判定された場合、リアルタイムモデリング再生処理が終了する。
 なお、上述したリアルタイムモデリング再生処理は、クラウドサーバ12と再生デバイス13の処理を連続して実行されることとして説明したが、実際には、クラウドサーバ12と再生デバイス13の各々で処理が独立に実行されることは言うまでもない。リアルタイムモデリング再生処理は、クラウドサーバ12が、図17に示した形状データとテクスチャ画像とからなるフレーム単位の3Dモデルデータを順次生成して送信し、再生デバイス13が、フレーム単位の3Dモデルデータを順次受信して、再生(描画)、表示する処理となる。
<12.オートキャリブレーション処理のフローチャート>
 再生デバイス13としてスマートフォンやタブレットを用いる撮影では、従来の専用スタジオで行うように、カメラを強固に固定することを前提とはできず、手振れ等の振動で位置がずれることも想定される。
 そこで、クラウドサーバ12は、上述したリアルタイムモデリング再生処理中に、撮影デバイス11のジャイロセンサ41や加速度センサ42等のセンサ情報を取得して撮影デバイス11の位置ずれを判定し、カメラパラメータを更新するオートキャリブレーション処理を実行することができる。
 図20のフローチャートを参照して、オートキャリブレーション処理について説明する。この処理は、例えば、図19のリアルタイムモデリング再生処理と同時に実行される。
 初めに、ステップS181において、撮影デバイス11は、ジャイロセンサ41、加速度センサ42、GPSセンサ43等の各種のセンサのセンサ情報を取得し、撮影画像とともにフレームデータとしてクラウドサーバ12に送信する。センサ情報は、例えば、各フレームのヘッダ情報等に格納され、フレーム単位で送信される。
 ステップS182において、クラウドサーバ12のストリーム受信部104は、各撮影デバイス11から順次送信されてきた画像ストリームの撮影画像を、通信部103を介して受信し、リアルタイムモデリング部111に供給する。リアルタイムモデリング部111は、撮影画像のフレームデータに格納されているセンサ情報をオートキャリブレーション部113へ供給する。
 ステップS183において、オートキャリブレーション部113は、リアルタイムモデリング部111からのセンサ情報に基づいて、ボリューメトリック撮影を行っている撮影デバイス11のなかで、所定値以上動いた撮影デバイス11があるかを判定する。
 ステップS183で、所定値以上動いた撮影デバイス11があると判定された場合、以下のステップS184ないしS186の処理が実行され、所定値以上動いた撮影デバイス11がないと判定された場合、ステップS184ないしS186の処理はスキップされる。
 ステップS184において、オートキャリブレーション部113は、各撮影デバイス11の撮影画像から特徴点を抽出する。
 ステップS185において、オートキャリブレーション部113は、各撮影デバイス11の撮影画像から抽出された特徴点を用いて、更新対象の撮影デバイス11のカメラパラメータを算出する。更新対象の撮影デバイス11は、ステップS183で所定値以上動いたと判定された撮影デバイス11である。また、ここで算出されるカメラパラメータは、内部パラメータと外部パラメータのうちの、外部パラメータであり、内部パラメータは変更なしとする。
 ステップS186において、オートキャリブレーション部113は、算出した更新対象の撮影デバイス11のカメラパラメータを、リアルタイムモデリング部111に供給する。リアルタイムモデリング部111は、更新された撮影デバイス11のカメラパラメータを用いて、3Dモデルデータを生成する。
 ステップS187において、クラウドサーバ12は、撮影が終了したかを判定する。例えば、クラウドサーバ12は、各撮影デバイス11から撮影画像が送信されてきている場合、まだ撮影が終了していないと判定し、各撮影デバイス11から撮影画像が送信されて来なくなった場合、撮影が終了したと判定する。
 ステップS187で、撮影がまだ終了していないと判定された場合、処理はステップS181に戻り、上述したステップS181ないしS187の処理が繰り返される。
 一方、ステップS187で、撮影が終了したと判定された場合、オートキャリブレーション処理が終了する。
 上述したオートキャリブレーション処理では、所定値以上動いたと判定された撮影デバイス11のみについてカメラパラメータを算出して更新するようにしたが、カメラパラメータを更新する際には、全ての撮影デバイス11のカメラパラメータを算出するようにしてもよい。また、外部パラメータのみでなく、内部パラメータについても算出してもよい。
 また、更新対象の撮影デバイス11のカメラパラメータを算出する際、センサ情報から計算したずれ量に基づいて、外部パラメータの取り得る範囲を限定し、外部パラメータを算出するようにしてもよい。外部パラメータの計算は、特徴点の3次元位置と、撮影デバイス11の内部パラメータおよび外部パラメータとについての非線形最適化計算となるので、外部パラメータの取り得る範囲を限定したり、内部パラメータを固定したりすることにより、計算量を削減し、処理を高速化することができる。
<13.キャリブレーションボード画像を用いないカメラキャリブレーション処理>
 図8乃至図11を参照して説明したカメラキャリブレーション処理では、キャリブレーションボードを用いる代わりに、キャリブレーションボード画像を撮影デバイス11に表示して特徴点を抽出することで、カメラパラメータが算出された。
 しかしながら、スマートフォンやタブレットのディスプレイサイズ等を考慮すると、特徴点を十分に検出できない場合も考えられる。
 そこで、キャリブレーションボード画像を撮影デバイス11に表示する方法以外のカメラキャリブレーション処理(以下、第2のカメラキャリブレーション処理と称する。)について説明する。
 以下で説明する第2のカメラキャリブレーション処理では、画像処理システム1は、任意の被写体を撮影し、その特徴点を抽出することで、カメラパラメータを算出する。例えば、図21に示されるように、1人の人物とテーブルを被写体として撮影した結果に基づいて、カメラパラメータが算出される。
 また、第2のカメラキャリブレーション処理では、被写体を撮影する複数(5台)の撮影デバイス11-1ないし11-5とは別に、カメラキャリブレーション処理全体を制御するコントロールデバイス15が用意される。コントロールデバイス15は、再生デバイス13と同等の構成を有するデバイスであればよく、再生デバイス13を用いてもよい。
 図22ないし図25を参照して、第2のカメラキャリブレーション処理について説明する。図22は、第2のカメラキャリブレーション処理のうち、コントロールデバイス15が行うカメラキャリブレーション処理のフローチャートであり、図24および図25は、クラウドサーバ12が行うカメラキャリブレーション処理のフローチャートである。
 初めに、図22のフローチャートを参照して、コントロールデバイス15が行うカメラキャリブレーション処理について説明する。
 ステップS201において、コントロールデバイス15は、キャリブレーション撮影を開始するためのキャリブレーション撮影開始メッセージをクラウドサーバ12に送信する。
 コントロールデバイス15は、キャリブレーション撮影開始メッセージを送信後、クラウドサーバ12から所定のメッセージが送信されてくるまで待機する。各撮影デバイス11のカメラパラメータが計算されている間は、クラウドサーバ12からコントロールデバイス15へ、カメラパラメータ計算のためのフィードバック情報が送信されてくる。そして、各撮影デバイス11のカメラパラメータの計算が終了すると、キャリブレーション完了のメッセージが、クラウドサーバ12からコントロールデバイス15へ送信されてくる。
 ステップS202において、コントロールデバイス15は、クラウドサーバ12から送信されてきたメッセージを受信する。
 ステップS203において、コントロールデバイス15は、キャリブレーションが完了したかを判定する。コントロールデバイス15は、受信したメッセージがキャリブレーション完了のメッセージである場合には、キャリブレーションが完了したと判定し、受信したメッセージがフィードバック情報である場合には、キャリブレーションがまだ完了していないと判定する。
 ステップS203で、キャリブレーションがまだ完了していないと判定された場合、処理はステップS204に進み、コントロールデバイス15は、フィードバック情報に基づいて、フィードバック画面をディスプレイに表示する。
 クラウドサーバ12のキャリブレーション部105は、各撮影デバイス11で撮影された撮影画像それぞれについて特徴点を抽出し、抽出された特徴点を、各撮影デバイス11に対応する複数の撮影画像どうしで対応付ける。すなわち、キャリブレーション部105は、抽出された特徴点の各々について、撮影デバイス11間の対応をとる。そして、キャリブレーション部105は、撮影デバイス11間の対応がとられた複数の特徴点を用いて、各特徴点の3次元位置、内部パラメータ、および、外部パラメータを対象として、誤差を最小とする非線形最適化問題を解くことで、カメラパラメータを算出する。クラウドサーバ12は、撮影画像から抽出された特徴点が少ない場合や、撮影デバイス11間の対応付けがされた特徴点が少ない場合に、撮影デバイス11による撮影をやり直すために、フィードバック情報をコントロールデバイス15に送信し、ユーザにフィードバックを行う。
 図23は、クラウドサーバ12からのフィードバック情報に基づいてコントロールデバイス15に表示されたフィードバック画面の例を示している。
 図23のフィードバック画面は、撮影デバイス11-2と11-4との間で対応付けられた特徴点の数が少ない場合の例を示している。
 図23のフィードバック画面には、撮影デバイス11-2で撮影された撮影画像201と、撮影デバイス11-4で撮影された撮影画像202が表示されている。撮影画像201および撮影画像202のそれぞれには、対応付けがされた特徴点には丸(〇)が重畳表示され、対応付けができなかった特徴点にはバツ(×)が重畳表示されている。
 また、フィードバック画面には、撮影をやり直す際に、キャリブレーションの精度を向上させるためのフィードバックメッセージ203が表示されている。図23の例では、「カメラ2とカメラ4の両方に共通した部分が写るように被写体を調整してください」のフィードバックメッセージ203が表示されている。
 さらに、フィードバック画面には、現時点のキャリブレーション結果で被写体の3Dモデルを生成した場合のオブジェクト画像204が表示されている。オブジェクト画像204は、画面上をスワイプ操作することで、仮想視点位置を変更することができる。
 図22に戻り、ステップS203で、キャリブレーションが完了したと判定された場合、処理はステップS205に進み、コントロールデバイス15は、キャリブレーション撮影を終了するためのキャリブレーション撮影終了メッセージをクラウドサーバ12に送信して、カメラキャリブレーション処理を終了する。
 次に、図24のフローチャートを参照して、クラウドサーバ12が行うカメラキャリブレーション処理について説明する。
 初めに、ステップS221において、クラウドサーバ12は、コントロールデバイス15から送信されてきたキャリブレーション撮影開始メッセージを受信する。
 ステップS222において、クラウドサーバ12は、各撮影デバイス11に対して、同期撮影を開始させる。各撮影デバイス11の同期撮影処理は、図14と同様に行うことができる。
 ステップS223において、クラウドサーバ12は、各撮影デバイス11から送信されてきた撮影画像を取得する。
 ステップS224において、クラウドサーバ12は、各撮影デバイス11から送信されてきた撮影画像を用いてカメラパラメータを算出するカメラパラメータ算出処理を実行する。
 図25は、ステップS224のカメラパラメータ算出処理の詳細を示すフローチャートである。
 この処理では、初めに、ステップS241において、クラウドサーバ12のキャリブレーション部105が、各撮影デバイス11で撮影された撮影画像それぞれについて特徴点を抽出する。
 次にステップS242において、キャリブレーション部105は、抽出された特徴点が十分であるかを判定する。例えば、1枚の撮影画像において抽出された特徴点の個数が所定値以上である場合に、抽出された特徴点が十分であると判定され、所定値より少ない場合に、抽出された特徴点が十分ではないと判定される。
 ステップS242で、抽出された特徴点が十分ではないと判定された場合、処理は後述するステップS247に進む。
 一方、ステップS242で、抽出された特徴点が十分であると判定された場合、処理はステップS243に進み、キャリブレーション部105は、撮影デバイス11間で特徴点の対応付けを行い、撮影デバイス11間で対応する特徴点を検出する。
 次にステップS244において、キャリブレーション部105は、対応する特徴点が十分であるかを判定する。例えば、1枚の撮影画像において対応する特徴点の個数が所定値以上である場合に、対応する特徴点が十分であると判定され、所定値より少ない場合に、対応する特徴点が十分ではないと判定される。
 ステップS244で、対応する特徴点が十分ではないと判定された場合、処理は後述するステップS247に進む。
 一方、ステップS244で、対応する特徴点が十分であると判定された場合、処理はステップS245に進み、キャリブレーション部105は、対応する特徴点の3次元位置を算出するとともに、各撮影デバイス11のカメラパラメータ、即ち、内部パラメータおよび外部パラメータを算出する。各特徴点の3次元位置と、各撮影デバイス11のカメラパラメータは、誤差を最小とする非線形最適化問題を解くことで算出される。
 ステップS246において、キャリブレーション部105は、カメラパラメータを算出した際の非線形最適化演算の誤差が所定値以下で十分に小さいかを判定する。
 ステップS246で、非線形最適化演算の誤差が所定値以下ではないと判定された場合、処理は後述するステップS247に進む。
 ステップS247において、キャリブレーション部105は、特徴点付きの撮影画像とフィードバックメッセージを含むフィードバック情報を生成する。
 上述したステップS242で、抽出された特徴点が十分ではないとされた場合、ステップS247の処理で生成されるフィードバック情報としての図23のフィードバック画面の撮影画像201や202には、検出された特徴点が丸(〇)で重畳表示される。一方、上述したステップS244で、対応する特徴点が十分ではないとされた場合、ステップS247の処理で生成されるフィードバック情報としての図23のフィードバック画面の撮影画像201や202には、対応付けがされた特徴点が丸(〇)で重畳表示され、対応付けができなかった特徴点がバツ(×)で重畳表示される。一方、上述したステップS246で、誤差が大きいと判定された場合、ステップS247の処理で生成されるフィードバック情報としての図23のフィードバック画面には、誤差の大きい撮像デバイス11の撮影画像が表示される。
 一方、ステップS246で、非線形最適化演算の誤差が所定値以下で十分に小さいと判定された場合、処理はステップS248に進み、キャリブレーション部105は、キャリブレーション完了のメッセージを生成する。
 ステップS247またはS248の処理により、カメラパラメータ算出処理は終了して、処理は、図24に戻り、ステップS225に進む。
 図24のステップS225において、キャリブレーション部105は、キャリブレーションが完了したか、すなわち、キャリブレーション完了のメッセージを生成したかを判定する。
 ステップS225で、キャリブレーションが完了していない、すなわち、フィードバック情報を生成したと判定された場合、処理はステップS226に進み、キャリブレーション部105は、生成したフィードバック情報を、メッセージとして送信する。ステップS226の後、処理は、ステップS224に戻され、ステップS224以降の処理が繰り返される。
 一方、ステップS225で、キャリブレーションが完了した、すなわち、キャリブレーション完了のメッセージを生成したと判定された場合、処理はステップS227に進み、クラウドサーバ12は、撮影終了のメッセージを各撮影デバイス11に送信する。各撮影デバイス11は、撮影終了のメッセージを受信して、同期撮影を終了する。
 ステップS228において、クラウドサーバ12は、生成したキャリブレーション完了のメッセージをコントロールデバイス15に送信して、カメラキャリブレーション処理を終了する。
 以上説明した第2のカメラキャリブレーション処理によれば、キャリブレーションボードや、キャリブレーションボード画像がない場合であっても、カメラのキャリブレーションを行うことができる。
<14.コンピュータ構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図26は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
 入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
 本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 また、例えば、本開示の複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本技術は、以下の構成を取ることができる。
(1)
 撮影に関する自身の情報をサーバ装置に送信し、ボリューメトリック撮影が可能か否かの判定結果に基づいて前記サーバ装置から送信されてくる、ボリューメトリック撮影に関する設定値の候補を取得する制御部を備える
 撮影デバイス。
(2)
 前記制御部は、前記サーバ装置から取得した前記設定値の候補をユーザに提示し、選択させる
 前記(1)に記載の撮影デバイス。
(3)
 前記制御部は、さらに、ボリューメトリック撮影を行う複数の撮影装置で構成されるグループの識別情報と、自身の位置情報を送信し、前記グループへの登録の可否を受信するように制御する
 前記(1)または(2)に記載の撮影デバイス。
(4)
 前記制御部は、前記設定値の候補として、ボリューメトリック撮影を行う全ての撮影装置がサポートするカメラ同期方式を取得する
 前記(1)乃至(3)のいずれかに記載の撮影デバイス。
(5)
 前記カメラ同期方式は、キャリア通信の時刻情報、GPS信号の時刻情報、または、無線通信もしくはキャリア通信のマルチキャスト通信におるタイミング検出、のいずれかに基づく同期信号を生成する方式である
 前記(4)に記載の撮影デバイス。
(6)
 前記制御部は、ボリューメトリック撮影の撮影開始後、所定の時刻にフラッシュまたは音を出力させて、前記フラッシュまたは音を含む画像を生成するように制御し、前記フラッシュまたは音を含む画像を検出することにより各撮影装置で撮影された撮影画像を同期させる
 前記(1)乃至(5)のいずれかに記載の撮影デバイス。
(7)
 前記制御部は、カメラキャリブレーション処理において、他の撮影装置が表示した所定の画像を撮影し、前記所定の画像の特徴点を検出して、前記サーバ装置に送信するように制御する
 前記(1)乃至(6)のいずれかに記載の撮影デバイス。
(8)
 前記制御部は、ボリューメトリック撮影を行う複数の撮影装置が順番に表示した前記所定の画像を撮影するように制御する
 前記(7)に記載の撮影デバイス。
(9)
 前記制御部は、ボリューメトリック撮影を行う複数の撮影装置が同時に表示した前記所定の画像を撮影するように制御する
 前記(7)に記載の撮影デバイス。
(10)
 同時に表示される前記所定の画像は、前記複数の撮影装置で異なる画像である
 前記(9)に記載の撮影デバイス。
(11)
 前記制御部は、所定の被写体を撮影した撮影画像とともにセンサ情報をフレーム単位で送信し、
 前記センサ情報は、カメラパラメータを更新するか否かの判定に用いられる
 前記(1)乃至(10)のいずれかに記載の撮影デバイス。
(12)
 複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定する制御部を備える
 サーバ装置。
(13)
 前記制御部は、受信した前記情報に基づいて、前記撮影デバイスのボリューメトリック撮影に関する設定値の候補を生成し、生成した前記設定値の候補に基づいて、ボリューメトリック撮影が可能であるかを判定する
 前記(12)に記載のサーバ装置。
(14)
 前記制御部は、各撮影デバイスの撮影対象領域を算出し、前記各撮影デバイスの撮影対象領域を重畳したときに、所定数以上の撮影デバイスに共通する領域が存在するか否かにより、ボリューメトリック撮影が可能であるかを判定する
 前記(12)乃至(13)のいずれかに記載のサーバ装置。
(15)
 前記制御部は、各撮影デバイスの解像度と撮影対象領域とから、3Dモデルのモデリングパラメータを算出し、算出した前記モデリングパラメータが所定の範囲内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する
 前記(12)乃至(14)のいずれかに記載のサーバ装置。
(16)
 前記制御部は、各撮影デバイスの前記情報から、3Dモデリングにかかる処理時間を推定し、推定した3Dモデリング処理時間が所定の時間以内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する
 前記(12)乃至(15)のいずれかに記載のサーバ装置。
(17)
 前記複数の撮影デバイスが撮影した所定の画像を取得して、カメラパラメータを算出するキャリブレーション部をさらに備える
 前記(12)乃至(16)のいずれかに記載のサーバ装置。
(18)
 前記複数の撮影デバイスで撮影された撮影画像から、被写体の3Dモデルのデータを生成し、生成した前記3Dモデルのデータを再生デバイスに送信するモデリング部をさらに備える
 前記(12)乃至(17)のいずれかに記載のサーバ装置。
(19)
 前記被写体を撮影した撮影画像とともにフレーム単位で受信したセンサ情報に基づいて前記撮影デバイスが動いたと判定された場合に、カメラパラメータを更新するキャリブレーション部をさらに備える
 前記(18)に記載のサーバ装置。
(20)
 複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定し、
 ボリューメトリック撮影が可能であると判定された前記複数の撮影デバイスによって撮影された撮影画像から、被写体の3Dモデルのデータを生成する
 3Dデータ生成方法。
 1 画像処理システム, 11 撮影デバイス, 12 クラウドサーバ, 13A スマートフォンまたはタブレット, 13B パーソナルコンピュータ, 13 再生デバイス, 13C ヘッドマウントディスプレイ(HMD), 15 コントロールデバイス, 33 制御部, 45 同期信号生成部, 51 カメラ, 101 コントローラ, 105 キャリブレーション部, 106 モデリングタスク生成部, 108 オフラインモデリング部, 109 コンテンツ管理部, 111 リアルタイムモデリング部, 113 オートキャリブレーション部, 153 制御部, 157 再生部, 301 CPU, 302 ROM, 303 RAM, 306 入力部, 307 出力部, 308 記憶部, 309 通信部, 310 ドライブ

Claims (20)

  1.  撮影に関する自身の情報をサーバ装置に送信し、ボリューメトリック撮影が可能か否かの判定結果に基づいて前記サーバ装置から送信されてくる、ボリューメトリック撮影に関する設定値の候補を取得する制御部を備える
     撮影デバイス。
  2.  前記制御部は、前記サーバ装置から取得した前記設定値の候補をユーザに提示し、選択させる
     請求項1に記載の撮影デバイス。
  3.  前記制御部は、さらに、ボリューメトリック撮影を行う複数の撮影装置で構成されるグループの識別情報と、自身の位置情報を送信し、前記グループへの登録の可否を受信するように制御する
     請求項1に記載の撮影デバイス。
  4.  前記制御部は、前記設定値の候補として、ボリューメトリック撮影を行う全ての撮影装置がサポートするカメラ同期方式を取得する
     請求項1に記載の撮影デバイス。
  5.  前記カメラ同期方式は、キャリア通信の時刻情報、GPS信号の時刻情報、または、無線通信もしくはキャリア通信のマルチキャスト通信におるタイミング検出、のいずれかに基づく同期信号を生成する方式である
     請求項4に記載の撮影デバイス。
  6.  前記制御部は、ボリューメトリック撮影の撮影開始後、所定の時刻にフラッシュまたは音を出力させて、前記フラッシュまたは音を含む画像を生成するように制御し、前記フラッシュまたは音を含む画像を検出することにより各撮影装置で撮影された撮影画像を同期させる
     請求項1に記載の撮影デバイス。
  7.  前記制御部は、カメラキャリブレーション処理において、他の撮影装置が表示した所定の画像を撮影し、前記所定の画像の特徴点を検出して、前記サーバ装置に送信するように制御する
     請求項1に記載の撮影デバイス。
  8.  前記制御部は、ボリューメトリック撮影を行う複数の撮影装置が順番に表示した前記所定の画像を撮影するように制御する
     請求項7に記載の撮影デバイス。
  9.  前記制御部は、ボリューメトリック撮影を行う複数の撮影装置が同時に表示した前記所定の画像を撮影するように制御する
     請求項7に記載の撮影デバイス。
  10.  同時に表示される前記所定の画像は、前記複数の撮影装置で異なる画像である
     請求項9に記載の撮影デバイス。
  11.  前記制御部は、所定の被写体を撮影した撮影画像とともにセンサ情報をフレーム単位で送信し、
     前記センサ情報は、カメラパラメータを更新するか否かの判定に用いられる
     請求項1に記載の撮影デバイス。
  12.  複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定する制御部を備える
     サーバ装置。
  13.  前記制御部は、受信した前記情報に基づいて、前記撮影デバイスのボリューメトリック撮影に関する設定値の候補を生成し、生成した前記設定値の候補に基づいて、ボリューメトリック撮影が可能であるかを判定する
     請求項12に記載のサーバ装置。
  14.  前記制御部は、各撮影デバイスの撮影対象領域を算出し、前記各撮影デバイスの撮影対象領域を重畳したときに、所定数以上の撮影デバイスに共通する領域が存在するか否かにより、ボリューメトリック撮影が可能であるかを判定する
     請求項12に記載のサーバ装置。
  15.  前記制御部は、各撮影デバイスの解像度と撮影対象領域とから、3Dモデルのモデリングパラメータを算出し、算出した前記モデリングパラメータが所定の範囲内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する
     請求項12に記載のサーバ装置。
  16.  前記制御部は、各撮影デバイスの前記情報から、3Dモデリングにかかる処理時間を推定し、推定した3Dモデリング処理時間が所定の時間以内であるか否かにより、ボリューメトリック撮影が可能であるかを判定する
     請求項12に記載のサーバ装置。
  17.  前記複数の撮影デバイスが撮影した所定の画像を取得して、カメラパラメータを算出するキャリブレーション部をさらに備える
     請求項12に記載のサーバ装置。
  18.  前記複数の撮影デバイスで撮影された撮影画像から、被写体の3Dモデルのデータを生成し、生成した前記3Dモデルのデータを再生デバイスに送信するモデリング部をさらに備える
     請求項12に記載のサーバ装置。
  19.  前記被写体を撮影した撮影画像とともにフレーム単位で受信したセンサ情報に基づいて前記撮影デバイスが動いたと判定された場合に、カメラパラメータを更新するキャリブレーション部をさらに備える
     請求項18に記載のサーバ装置。
  20.  複数の撮影デバイスから撮影に関する情報を受信し、受信した前記情報に基づいて、前記複数の撮影デバイスが、ボリューメトリック撮影が可能であるかを判定し、
     ボリューメトリック撮影が可能であると判定された前記複数の撮影デバイスによって撮影された撮影画像から、被写体の3Dモデルのデータを生成する
     3Dデータ生成方法。
PCT/JP2021/034938 2020-10-07 2021-09-24 撮影デバイス、サーバ装置、および、3dデータ生成方法 WO2022075073A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180067706.8A CN116250242A (zh) 2020-10-07 2021-09-24 拍摄设备、服务器装置以及3d数据生成方法
JP2022555353A JPWO2022075073A1 (ja) 2020-10-07 2021-09-24

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-169477 2020-10-07
JP2020169477 2020-10-07

Publications (1)

Publication Number Publication Date
WO2022075073A1 true WO2022075073A1 (ja) 2022-04-14

Family

ID=81126804

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034938 WO2022075073A1 (ja) 2020-10-07 2021-09-24 撮影デバイス、サーバ装置、および、3dデータ生成方法

Country Status (3)

Country Link
JP (1) JPWO2022075073A1 (ja)
CN (1) CN116250242A (ja)
WO (1) WO2022075073A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014034444A1 (ja) * 2012-08-31 2014-03-06 ソニー株式会社 画像処理装置および画像処理方法、並びに情報処理装置
WO2017134770A1 (ja) * 2016-02-03 2017-08-10 三菱電機株式会社 映像同期装置
WO2018147329A1 (ja) * 2017-02-10 2018-08-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014034444A1 (ja) * 2012-08-31 2014-03-06 ソニー株式会社 画像処理装置および画像処理方法、並びに情報処理装置
WO2017134770A1 (ja) * 2016-02-03 2017-08-10 三菱電機株式会社 映像同期装置
WO2018147329A1 (ja) * 2017-02-10 2018-08-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 自由視点映像生成方法及び自由視点映像生成システム

Also Published As

Publication number Publication date
JPWO2022075073A1 (ja) 2022-04-14
CN116250242A (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
JP7320352B2 (ja) 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置
JP6961612B2 (ja) 三次元モデル配信方法及び三次元モデル配信装置
US10306212B2 (en) Methods and systems for capturing a plurality of three-dimensional sub-frames for use in forming a volumetric frame of a real-world scene
US20160234475A1 (en) Method, system and apparatus for capture-based immersive telepresence in virtual environment
AU2017372721A1 (en) Distributed audio capturing techniques for virtual reality (VR), augmented reality (AR), and mixed reality (MR) systems
US20220067974A1 (en) Cloud-Based Camera Calibration
KR101678994B1 (ko) 인터렉티브 미디어 월 시스템 및 인터렉티브 미디어 월 시스템에서의 3차원 객체 디스플레이 방법
WO2022250830A1 (en) 3d mesh generation on a server
US11736802B2 (en) Communication management apparatus, image communication system, communication management method, and recording medium
WO2013178188A1 (zh) 视频会议显示方法及装置
US11568893B2 (en) Image acquisition system and method
WO2022075073A1 (ja) 撮影デバイス、サーバ装置、および、3dデータ生成方法
WO2019030427A1 (en) THREE-DIMENSIONAL VIDEO PROCESSING
JP2017506523A (ja) 画像表示方法及び装置
JP6091850B2 (ja) テレコミュニケーション装置及びテレコミュニケーション方法
CN113315885B (zh) 一种用于远程互动的全息演播室及系统
US11863871B2 (en) Communication terminal, image communication system, and method of displaying image
EP4033755A1 (en) System for broadcasting volumetric videoconferences in 3d animated virtual environment with audio information, and method for operating said system
WO2021153261A1 (ja) 制御装置、撮影システム、および3dモデルデータ生成方法
CN112929688B (zh) 一种直播视频录制方法、投影仪及直播视频系统
WO2023106117A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
WO2020166352A1 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2020066695A1 (ja) 情報同期装置、情報同期方法及び情報同期プログラム
CN114170395A (zh) 空间定位追踪实现ar远程实时控制的雾计算方法
CN117203958A (zh) 在有音频信息的三维动画虚拟环境中广播体积视频会议的系统及其操作方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022555353

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21877374

Country of ref document: EP

Kind code of ref document: A1