WO2023058545A1 - 情報処理装置および方法、プログラム - Google Patents

情報処理装置および方法、プログラム Download PDF

Info

Publication number
WO2023058545A1
WO2023058545A1 PCT/JP2022/036386 JP2022036386W WO2023058545A1 WO 2023058545 A1 WO2023058545 A1 WO 2023058545A1 JP 2022036386 W JP2022036386 W JP 2022036386W WO 2023058545 A1 WO2023058545 A1 WO 2023058545A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional model
subject
model
generation
information processing
Prior art date
Application number
PCT/JP2022/036386
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 キヤノン株式会社
Publication of WO2023058545A1 publication Critical patent/WO2023058545A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors

Definitions

  • the present disclosure relates to an information processing device, method, and program.
  • Virtual viewpoint video is video from the viewpoint of the virtual camera that does not depend on the installation position of the actual physical camera. can be generated.
  • Patent Literature 1 does not propose controlling the frequency of three-dimensional model generation according to the subject.
  • a technique is provided that enables appropriate control of the generation frequency of the three-dimensional model.
  • An information processing apparatus has the following configuration. i.e. model generation means for generating a three-dimensional model of a subject at a specific frequency based on a plurality of images acquired from a plurality of imaging devices; an identifying means for identifying changes in the three-dimensional model of the subject over time; a control means for controlling the frequency of generation of the three-dimensional model of the subject by the model generating means based on changes in the three-dimensional model of the subject over time.
  • FIG. 1 is a block diagram of a video generation system according to a first embodiment; FIG. Explanatory drawing of three-dimensional model and those movement in 1st embodiment.
  • FIG. 4 is a diagram for explaining the timing at which 3D model generation processing and movement determination processing are executed; 4 is a flowchart of processing load reduction processing in the first embodiment. 4 is a flowchart of movement determination processing in the first embodiment. 4 is a flowchart of processing load reduction control in the first embodiment; Explanatory drawing of the three-dimensional model and those movement in 2nd embodiment. 9 is a flowchart of movement determination processing in the second embodiment.
  • FIG. 10 is a flowchart of processing load reduction control in the second embodiment; The figure explaining the three-dimensional model in 3rd embodiment. 13 is a flowchart of movement determination processing in the third embodiment;
  • FIG. 2 is a block diagram showing a hardware configuration example of an information processing apparatus;
  • FIG. 1 is a diagram showing a configuration example of a video generation system according to the first embodiment.
  • the video generation system of this embodiment has an information processing device 1 and an imaging unit 101 .
  • the imaging unit 101 has a plurality of imaging devices (hereinafter referred to as physical cameras).
  • a plurality of physical cameras are arranged so as to surround a subject, and take images in synchronism.
  • the number and arrangement of physical cameras are not particularly limited.
  • the information processing apparatus 1 generates a virtual viewpoint video observed from a virtual viewpoint based on multiple videos acquired from multiple physical cameras provided in the imaging unit 101 .
  • the model generation unit 102 generates a foreground image by extracting the subject as the foreground from the frames at the same time of the plurality of images sent from the imaging unit 101, and generates a three-dimensional model from the foreground image. Generate.
  • a well-known technique can be used for extracting the foreground, and the method for extracting the foreground is not limited in this embodiment. For example, a method of extracting the foreground from a captured image using background difference information is known.
  • a state in which no foreground exists is captured as a background image in advance, the difference between the image in which the foreground exists and the background image is calculated, and a pixel position where the calculated difference value is larger than a threshold value is extracted as the foreground,
  • a method for obtaining a foreground image there are various methods for extracting the foreground, such as a method using feature amounts on the image of the subject and a method using machine learning.
  • a method for generating a 3D model from a foreground image is also well known, and the present embodiment does not limit the method for generating a 3D model.
  • a three-dimensional model can be generated from the foreground by the visual volume tolerance method (hereafter VisualHull).
  • VisualHull for an object to be a three-dimensional model, the silhouette of the object corresponding to the foreground on the image from each physical camera is virtually back-projected from the optical principal point position of the physical camera toward the object. As a result, a cone region is formed whose vertex is the position of the optical principal point and whose cross section is the subject silhouette.
  • a three-dimensional model of the subject is obtained by obtaining overlapping regions (logical product) of the cone regions formed for each physical camera.
  • foreground depth data may be acquired by stereo image processing, and a three-dimensional model may be generated based on the depth data.
  • the data storage unit 103 is a storage device composed of physical devices such as a Hard Disk Drive (HDD), Solid State Drive (SSD), and flash memory.
  • the data storage unit 103 may not be composed of a single physical device, but may be an aggregate of multiple physical devices, or may be a cloud device virtualized on a network.
  • the data storage unit 103 stores, for example, the 3D model generated by the model generation unit 102 .
  • the data storage unit 103 also stores a foreground image obtained by extracting the subject as the foreground from the captured image acquired from the imaging unit 101 .
  • the foreground image is used by the video generator 105 to colorize the 3D model.
  • the virtual viewpoint designation unit 104 receives designation of a virtual viewpoint by the operator.
  • the virtual viewpoint is, for example, the three-dimensional position of the virtual camera on world coordinates, the posture (orientation) of the virtual camera, the focal length, and the principal point (the center on the camera image). Note that there are no restrictions on the configuration for the operator to specify the virtual viewpoint.
  • the operator can designate a desired virtual viewpoint using, for example, a joystick, mouse, keyboard, or the like.
  • the video generation unit 105 obtains a two-dimensional image when the three-dimensional model of the subject read from the data storage unit 103 is viewed from a virtual viewpoint by projection calculation, and generates a virtual viewpoint video. Thereby, a virtual viewpoint video from a desired virtual viewpoint is generated. In generating the virtual viewpoint video, the video generation unit 105 colors the three-dimensional model using the color information (texture) of the foreground image. The video generation unit 105 generates a distance image representing the distance between each physical camera and each point forming the three-dimensional model.
  • the video generation unit 105 refers to the distance image, selects the physical camera with the shortest distance with respect to the point of the three-dimensional model, and extracts the color information of the pixel position corresponding to the point from the foreground image of the selected physical camera. to determine the color to give the point.
  • the video generation unit 105 performs such coloring processing for all points of the three-dimensional model that require coloring.
  • the present embodiment does not limit the coloring process in any way, and various well-known techniques can be applied.
  • the color to be given to the point may be determined by blending the colors obtained from a plurality of physical cameras whose distances from the point of the three-dimensional model are within a predetermined range.
  • the three-dimensional model generation processing performed by the model generation unit 102 described above is performed by consolidating images sent from a plurality of physical cameras included in the imaging unit 101 into the information processing apparatus 1 connected to the imaging unit 101 via a network.
  • Ethernet registered trademark
  • the computing power required for the information processing apparatus 1 (model generation unit 102) differs depending on the specifications required for the virtual viewpoint video, the accuracy required for the three-dimensional model, and the like.
  • the form of the information processing apparatus 1 may be a personal computer, a workstation, or a server, but the form of the information processing apparatus 1 is not restricted. Further, the information processing apparatus 1 may be composed of a plurality of devices, and the functional units shown in FIG. 1 may be shared by the plurality of devices.
  • the flow of processing for generating a virtual viewpoint video is as described above, but the information processing apparatus 1 of this embodiment controls the frequency of generating the 3D model according to the amount of movement of the subject (3D model). By doing so, the processing load in the three-dimensional model generation process is reduced.
  • This reduction processing is performed by the movement determination unit 106 and the load reduction control unit 107 .
  • the movement determination unit 106 calculates the degree of movement (hereinafter referred to as mobility) based on the change over time of the three-dimensional model generated by the model generation unit 102, and performs load reduction based on the calculated mobility.
  • the degree of movement based on the change includes, for example, not only a change in the existing position of the 3D model, but also a change in the posture of the 3D model (for example, a lying state and a vertical state). state) may also be included. Therefore, in this embodiment, as will be described later, the change in the position of the center of gravity of the three-dimensional model is used as the mobility. However, only the change in the position of the 3D model may be used as the mobility.
  • the load reduction control unit 107 instructs the model generation unit 102 and the image generation unit 105 to reduce the processing load according to the degree of movement of the three-dimensional model determined by the movement determination unit 106 . Note that the above-described load reduction processing by the movement determination unit 106 and the load reduction control unit 107 is performed for all three-dimensional models generated by the model generation unit 102 .
  • FIG. 1 shows a configuration in which functional units other than the imaging unit 101 are implemented by the information processing device 1, but the configuration is not limited to this.
  • Each of the plurality of functional units shown to be implemented by the information processing device 1, or any combination of the plurality of functional units may be implemented by individual information processing devices.
  • one functional unit shown in FIG. 1 may be realized by a plurality of information processing apparatuses. In these cases, the video system will have a plurality of information processing devices, and the plurality of information processing devices can communicate with each other through network connection.
  • FIG. 12 is a block diagram showing a hardware configuration example of the information processing device 1 according to this embodiment.
  • each information processing device has a hardware configuration as shown in FIG.
  • the CPU 1201 controls the entire computer using computer programs and data stored in the RAM 1202 and ROM 1203 .
  • the RAM 1202 provides an area for temporarily storing computer programs and data loaded from the external storage device 1204, data externally acquired via the I/F (interface) 1205, and the like. Furthermore, the RAM 1202 provides a work area used when the CPU 1201 executes various processes. That is, the RAM 1202 can be allocated, for example, as frame memory, or can provide other various areas as appropriate.
  • the ROM 1203 stores setting data of the computer, a boot program, and the like.
  • the external storage device 1204 is a large-capacity information storage device typified by a hard disk drive.
  • An external storage device 1204 stores an OS (operating system) and a computer program for causing the CPU 1201 to implement the functions of the units shown in FIG. Furthermore, each image data to be processed may be stored in the external storage device 1204 . Computer programs and data stored in the external storage device 1204 are appropriately loaded into the RAM 1202 under the control of the CPU 1201 and are processed by the CPU 1201 .
  • the I/F 1205 can be connected to a network such as a LAN or the Internet, or other devices such as a projection device and a display device. The information processing apparatus 1 can acquire and transmit various information via this I/F 1205 .
  • a bus 1206 connects the above units.
  • FIG. 1 the three-dimensional model movement determination processing and processing load reduction control performed by the movement determination unit 106 and the load reduction control unit 107 will be described with reference to FIGS. 2 and 3.
  • FIG. 1 the three-dimensional model movement determination processing and processing load reduction control performed by the movement determination unit 106 and the load reduction control unit 107 will be described with reference to FIGS. 2 and 3.
  • FIG. 1 the three-dimensional model movement determination processing and processing load reduction control performed by the movement determination unit 106 and the load reduction control unit 107 will be described with reference to FIGS. 2 and 3.
  • Figure 2 shows a scene assuming soccer.
  • a plurality of physical cameras 201 included in the imaging unit 101 surround the subject and perform imaging in synchronism.
  • the subjects imaged and generated as a three-dimensional model are the person 203, the person 205, and the goal 206.
  • FIG. the generation of the three-dimensional model is performed at a frequency of 60 times per second (60 fps) in parallel with the imaging.
  • time t ⁇ 10 which is 10 frames before time t when the 3D model is generated
  • the 3D model of person 203 is at the position of person 202
  • the 3D model of person 205 is at the position of person 204.
  • the movement determination unit 106 calculates mobility for each of the three-dimensional models of the persons 203 and 205 and the goal 206 .
  • the difference between the center-of-gravity position of each three-dimensional model at time t and the center-of-gravity position of each three-dimensional model at time t ⁇ 10 is defined as mobility.
  • the position of the center of gravity of a three-dimensional model can be calculated from the coordinates of each part of the three-dimensional model and information on the mass defined as the material of each part.
  • the mass at each position may be assumed to be the same, and the center of gravity position may be calculated only from the coordinate information. Further, in order to further simplify the calculation of the barycentric position, a rectangular parallelepiped circumscribing the three-dimensional model may be defined and the center of the rectangular parallelepiped may be used as the barycentric position.
  • the position of the center of gravity of the three-dimensional model at each time can be calculated as coordinates (x, y, z) in the three-dimensional space.
  • Movement determination section 106 uses the magnitude of the difference vector between the center of gravity position at time t and the center of gravity position at time t-10 as the degree of mobility.
  • the movement determination unit 106 compares the mobility calculated for each three-dimensional model with a predetermined threshold, and if the mobility is smaller than the threshold, the three-dimensional model does not move between time t and time t-10. It is determined that there is no movement, that is, "no movement".
  • the movement determining unit 106 determines that the three-dimensional model has moved between times t and t-10, that is, "moved". Thus, the movement determination unit 106 generates a movement determination result having a value of either "moved” or "not moved” for each three-dimensional model.
  • the movement determination result is used by the load reduction control unit 107 . Note that there are no restrictions on the number of bits, format, or the like of the movement determination result data, and there is no limitation on how the movement determination result is expressed as data.
  • the 3D model whose center of gravity calculated at time t-10 is closest to the position of center of gravity calculated at time t is associated as the 3D model of the same subject.
  • a general tracking technique may be used to associate three-dimensional models of the same subject at each time.
  • the feature points extracted from the foreground image or the 3D model may be matched with the feature points extracted from the foreground image or the 3D model at different times to associate the 3D models at different times.
  • a predetermined marker may be attached to the subject, and three-dimensional models at different times may be associated with each other by detecting the position of the marker.
  • the present embodiment does not limit the method of associating three-dimensional models at different times.
  • one of the purposes of the present embodiment is to reduce the processing load for generating the three-dimensional model, it is not desirable for the processing load for associating the three-dimensional models at different times to increase. Tracking with a granularity that detects movements in model units is sufficient, and tracking of fine parts such as human fingers is not necessary. Therefore, simple tracking, such as comparison of the center-of-gravity positions as described above, is sufficient.
  • the load reduction control unit 107 instructs the model generation unit 102 to perform processing load reduction control for each three-dimensional model.
  • the movement determination result of the movement determination unit 106 is "no movement”.
  • the load reduction control unit 107 issues a control instruction to the model generation unit 102 to reduce the processing load for the three-dimensional model determined to be “non-moving” in this way.
  • the load reduction control unit 107 stops generating the three-dimensional model of the subject when the movement determination result of a certain three-dimensional model is "no movement", and stops the generation of the three-dimensional model of the subject. If so, issue a control instruction to restart the generation of the three-dimensional model of the subject.
  • the model generation unit 102 does not generate the 3D model of the corresponding subject while the control instruction instructs to stop the generation of the 3D model.
  • the 3D model generation process of the goal 206 is not performed by the model generation unit 102 until the movement determination result of the movement determination unit 106 of the 3D model of the goal 206 is "moved”. .
  • the latest 3D model will continue to be used when it is determined that there is no movement. For example, if the goal 206 is determined to be “no movement” at time t, the 3D model of the goal 206 is not generated after time t+1, and the 3D model of the goal 206 after time t+1 is the 3D model of time t. Models are used repeatedly. After that, at time t+10, a three-dimensional model of the goal 206 is generated, and the movement determination unit 106 determines whether or not the three-dimensional model has moved.
  • the three-dimensional model at time t does not exist when it is determined that there is no movement at time t. In this case, the three-dimensional model at time t-1 is used.
  • the model generation unit 102 does not generate a new 3D model after it is determined that the 3D model is "no movement", and writes the latest generated 3D model to the data storage unit 103 .
  • the pointer information indicating the storage position of the three-dimensional model of the subject generated most recently in the data storage unit 103 is stored in the data storage unit as three-dimensional model information. 103.
  • the pointer information has a file format such as a shortcut in Windows (registered trademark) OS or a symbolic link in Linux (registered trademark) OS, but the data format of the pointer information does not matter.
  • the model generation unit 102 may write model generation omission flag information indicating that the model generation has been omitted in the data storage unit 103 .
  • the image generation unit 105 reads the model generation omission flag information regarding the three-dimensional model of the goal 206 from the data storage unit 103, the image generation unit 105 selects the three newest three-dimensional models of the goal 206 stored in the data storage unit 103. Read and use the dimensional model.
  • the foreground image for coloring the 3D model is newly saved. Even if the movement of the object is small and the change in shape is small, the appearance, that is, the color, may change due to external factors such as illumination. By always saving the latest foreground image, it is possible to appropriately color the three-dimensional model. However, if it is expected that the color will not change due to external factors, the storage of the foreground image intended for use in coloring may be omitted. It may also be possible for the user to select whether or not to implement such omission of the foreground image. When saving the foreground image is omitted, pointer information and flag information are stored in the data storage unit 103 in the same manner as when saving the three-dimensional model is omitted.
  • the position of the center of gravity of the 3D model at time t is calculated in order to determine the mobility of the 3D model at time t, but it is necessary to generate the 3D model in order to calculate the position of the center of gravity. Therefore, even if the generation of the 3D model is stopped based on the mobility, the 3D model at time t is still generated, and the generation of the 3D model is stopped after time t+1.
  • a simple three-dimensional model whose generation process is simplified may be used as the three-dimensional model generated for calculating the position of the center of gravity.
  • there are various means for generating a three-dimensional model but generally the amount of calculation increases in order to improve the accuracy of the model, regardless of which technique is used.
  • a simple three-dimensional model may be generated at the stage of obtaining the position of the center of gravity, and a more detailed three-dimensional model may be generated when it is determined that there is movement.
  • the generation of the 3D model is not performed after that, so the generation of the 3D model used by the video generation unit 105 is stopped from time t. .
  • a three-dimensional model is handled by combining voxels with cubes called voxels as the basic minimum unit.
  • the model of the object to be represented is coarse, but the amount of computation for calculating the model of the object is greatly reduced.
  • the position of the center of gravity can be found using a rough model. Therefore, it is possible to reduce the processing load for generating the 3D model by generating the 3D model of the object in a space with one side of the voxels enlarged and calculating the barycentric position.
  • the processing load reduction control is not applied to this subject and a detailed three-dimensional model is calculated, the size of the voxels is reduced with respect to the simple three-dimensional model, and the detailed subject is calculated.
  • a three-dimensional model can be obtained.
  • the video generation unit 105 when the video generation unit 105 generates an output video (virtual viewpoint video), processing to reduce the processing load can be performed according to an instruction from the load reduction control unit 107 .
  • the video generation unit 105 colors the three-dimensional model of the subject read from the data storage unit 103 using the color information of the foreground image when generating the output video.
  • pointer information and flag information are recorded.
  • the video generation unit 105 reads and uses the three-dimensional model and the foreground image stored in the storage location specified by the pointer as the substance of the data.
  • the video generation unit 105 repeatedly reads the same past data while the generation of the three-dimensional model is stopped. Therefore, the load reduction control unit 107 instructs the video generation unit 105 to omit this readout process. While the load reduction control unit 107 instructs to omit the reading process, the video generation unit 105 uses the data of the three-dimensional model and the foreground image read at the nearest past time. By using the three-dimensional model and the foreground image in this way, unnecessary reading can be suppressed, and the processing load can be reduced. In addition, since the time and bandwidth required for data reading are reduced, the degree of freedom in the equipment required is increased, and computing power can be allocated to other functions such as image quality improvement functions.
  • Times t1 to t60 in the upper part of FIG. 3 indicate the times at which the three-dimensional model generation processing is performed.
  • a 3D model is generated at 60 fps.
  • Time t1 to t60 indicates an interval of 1/60 second, and 3D model generation processing is performed 60 times per second.
  • t1 to t60 correspond to frame times, and a three-dimensional model is normally generated for each frame.
  • the three-dimensional model movement determination process is performed at time intervals longer than the time intervals of video frames (the time intervals of normal three-dimensional model generation processing). For example, it is performed at a time interval M times (M is a natural number of 2 or more) the time interval of video frames, and the position of the center of gravity of the 3D model in the current frame and the position of the center of gravity of the 3D model in the frame M frames before. are compared.
  • the movement determination process is performed at one tenth of the execution frequency of the three-dimensional model generation process, that is, at times when the time t is a multiple of ten. In the lower part of FIG. 3, t10, 20, .
  • mobility is determined using the positions of the center of gravity of the three-dimensional model at time t20 and time t10.
  • the user can freely set the frequency of movement determination processing.
  • the frequency of movement determination processing is set high, movement of the three-dimensional model can be detected more quickly than when the frequency is set low.
  • an increase in the number of movement determination processes per fixed period of time increases the processing load and reduces the effect of reducing the processing load of the entire system.
  • the frequency of the movement determination process is set low, the processing load of the movement determination process itself becomes small, but the detection of movement of the three-dimensional model becomes slow.
  • the three-dimensional model, which is actually moving appears stationary during the execution interval of the movement determination process. It is desirable to set the frequency of movement determination processing based on these balances.
  • Figure 2 shows an example of soccer, but other sports such as rugby and basketball also have a goal, and the goal is a large model in the subject compared to the person. Since the processing load increases as a larger model is generated, the processing load is greatly reduced by not performing the three-dimensional model processing of the goal.
  • stationary objects that do not move, such as goals have a fixed model shape, so there is no problem with the user's appearance.
  • model movement determination is performed at regular intervals, a more natural image can be obtained even for stationary objects that occasionally move. For example, assuming soccer as shown in FIG. 2, examples of such stationary objects include a corner flag that moves and does not move depending on the wind, and a water bottle placed near the field that is moved by the players.
  • FIG. 4 is a flowchart showing the overall flow of processing load reduction processing according to the first embodiment.
  • FIG. 5 is a flowchart of movement determination processing in the first embodiment.
  • FIG. 6 is a flowchart of processing load reduction control in the first embodiment.
  • the model generation unit 102 calculates the model position of the subject at time t (S401).
  • the movement determination unit 106 determines whether or not the current time t is a time after a time that is a multiple of the interval T has passed from a predetermined time (S402). For example, if the predetermined time is t0, it is determined whether the time t is t0+nT (n is a natural number). If it is determined that the time is a multiple of the interval T from the predetermined time t0 (YES in S402), the movement determination unit 106 performs movement determination processing (S403).
  • the movement determination process will be described with reference to the flowchart of FIG.
  • the load reduction control unit 107 performs processing load reduction control at time t in accordance with the determination result of the movement determination processing performed so far (S404). The processing load reduction processing will be described separately with reference to the flowchart of FIG.
  • Movement determination processing is sequentially performed for all three-dimensional models (S501).
  • the number of existing three-dimensional models is assumed to be N, and a three-dimensional model that is sequentially selected as a processing target from the N three-dimensional models is referred to as model i.
  • the movement determination unit 106 calculates the mobility of the model i (S502). If the calculated mobility of model i is smaller than the predetermined threshold (EYS in S503), movement determination unit 106 sets the data reduction flag of model i to 1 (S504).
  • movement determination unit 106 sets the data reduction flag of model i to 0 (S505).
  • the movement determination unit 106 performs the above processing (S502 to S505) for all N models.
  • the load reduction control unit 107 is sequentially performed for all three-dimensional models (S601).
  • the number of existing three-dimensional models is assumed to be N, and a three-dimensional model that is sequentially selected as a processing target from the N three-dimensional models is referred to as model i.
  • the load reduction control unit 107 stops generating a three-dimensional model for the subject of model i (S603).
  • the model generation unit 102 and the image generation unit 105 perform processing load reduction control.
  • the three-dimensional model at the past time is used as described above.
  • the load reduction control unit 107 does not perform processing load reduction control for the object of model i, and the model generation unit 102 normally performs A three-dimensional model is generated (S604).
  • the model generation unit 102 and the video generation unit 105 perform normal processing on the model i.
  • processing related to generation of a three-dimensional model is performed by controlling whether generation of a three-dimensional model is to be executed or stopped based on whether the determination result of mobility is "moved” or “not moved.” Reduced load.
  • a configuration will be described in which the mobility level is divided into three or more stages and the generation of the three-dimensional model is controlled.
  • the configurations of the video generation system and the information processing device 1 are the same as those of the first embodiment (FIG. 1). Below, mainly different parts from the first embodiment will be described.
  • FIG. 7 is a diagram showing an example of three-dimensional models and their movement in the second embodiment, assuming a soccer scene as in FIG.
  • three-dimensional models of a goal 701, a person 702, and a person 704 are generated at time t-10.
  • the 3D model of the goal 701 does not move
  • the 3D model of the person 702 moves to the position of the 3D model of the person 703,
  • the 3D model of the person 704 moves to the 3D model of the person 705. position.
  • the movement determination unit 106 of the first embodiment compares the mobility of each three-dimensional model with a threshold value to determine whether or not the model is subject to processing load reduction control.
  • the processing load reduction processing is performed, and when the mobility is equal to or greater than the threshold value, the processing load reduction processing is not performed.
  • the movement determination unit 106 and the load reduction control unit 107 of the second embodiment determine the data reduction level in multiple stages according to the mobility of the 3D model, not whether or not the processing load reduction process is to be performed. , different levels of processing load reduction control are implemented according to the data reduction level.
  • the 3D model of the goal 701 that has not moved is determined to have a data reduction level of "1", and the model generating unit 102 stops generating the 3D model as in the first embodiment.
  • the data reduction level is determined to be "3", for example.
  • normal model generation processing is performed as in the case where the data reduction flag is "0" in the first embodiment.
  • the three-dimensional model of the person 703 with a small degree of mobility is determined to have a data reduction level of "2", and the frequency of model generation processing is reduced compared to the normal case.
  • the model generation unit 102 generates a normal three-dimensional model (a three-dimensional model with a data reduction level of "3") at a frequency of 60 times per second (60 fps), and the data reduction level is "2". is generated at a frequency of 30 times per second (30 fps).
  • the data reduction level determination process according to the second embodiment will be described with reference to the flowchart of FIG.
  • the overall processing flow of the processing load reduction processing is the same as the flow chart of FIG.
  • the movement determination process shown in FIG. 5 in the first embodiment is replaced with the process shown in the flowchart of FIG. 8 in the second embodiment.
  • the processing load reduction control process shown in FIG. 6 in the first embodiment is replaced with the process shown in the flowchart of FIG. 9 in the second embodiment.
  • the movement determination unit 106 repeats the process for each three-dimensional model by the number of models (S801). Let N be the number of existing three-dimensional models, and a three-dimensional model sequentially selected for processing from the N three-dimensional models is denoted as model i. Movement determination unit 106 calculates the mobility of model i (S802). Calculation of the mobility is the same as in the first embodiment. Next, the movement determination unit 106 determines whether the mobility calculated in S802 is lower than the threshold A (S803). If the mobility is lower than the threshold A (YES in S803), the movement determination unit 106 sets the data reduction level of model i to "1" (S804).
  • the movement determination unit 106 compares the mobility with a threshold B that is larger than the threshold A (S805). If the mobility is lower than threshold B (YES in S805), movement determination unit 106 sets the data reduction level of model i to "2" (S806). If the mobility is greater than or equal to threshold B (NO in S805), movement determination unit 106 sets the data reduction level of model i to "3" (S807).
  • the load reduction control unit 107 is sequentially performed for all three-dimensional models (S901).
  • the number of existing three-dimensional models is assumed to be N, and a three-dimensional model that is sequentially selected as a processing target from the N three-dimensional models is referred to as model i.
  • the load reduction control unit 107 determines which of 1 to 3 the data reduction level set for the model i is (S902). When the data reduction level is 1, the load reduction control unit 107 stops generating the three-dimensional model for the subject of model i (S903). This process is the same as the first embodiment (S603 in FIG. 6).
  • the load reduction control unit 107 does not apply the processing load reduction control, and the model generation unit 102 normally generates the three-dimensional model of the subject of model i (S905). . This process is the same as in the first embodiment (S604 in FIG. 6).
  • the load reduction control unit 107 controls the model generation unit 102 so that the frequency of generating the three-dimensional model of the subject of model i is lower than the normal frequency (S904).
  • the processing load reduction control is performed step by step according to the result of determining the movement of the model. It becomes possible to obtain the effect of reducing the load.
  • the processing load related to the generation of the 3D model is reduced based on the mobility of the 3D model.
  • the processing load reduction process is controlled based on the size, shape, color, etc. of the subject in addition to the degree of mobility.
  • the configurations of the video generation system and the information processing device 1 are the same as those of the first embodiment (FIG. 1).
  • FIG. 10 is a diagram showing an example of a three-dimensional model in the third embodiment, assuming a soccer scene as in FIGS.
  • a goal 901 and a person 902 exist as subjects for which a three-dimensional model is generated.
  • the content (attribute) of the subject is determined from the size, shape, and color of the three-dimensional model, and whether or not the subject of the three-dimensional model is to be subjected to processing load reduction is determined based on this determination result. judge.
  • the three-dimensional model is normally generated regardless of the degree of mobility.
  • the movement determination unit 106 determines that the processing load is not subject to reduction regardless of the degree of mobility, and sets the data reduction flag. Set to '0'. Since the 3D model of the size of a person is often the main subject, it is desirable to generate a model each time even if the 3D model does not move much. Therefore, by setting the threshold to about the size of the person and excluding the 3D model of the person from the reduction of the processing load, the 3D model is used and the person does not move, resulting in an inappropriate appearance. can be suppressed. In addition, since a 3D model of a subject, such as a goal, which is large compared to a person, requires a high processing load for generation, it is determined whether or not to reduce the processing load depending on the determination of the degree of mobility.
  • the size of the 3D model can be obtained, for example, by calculating the size of a rectangular parallelepiped that circumscribes the 3D model.
  • a simple three-dimensional model used for calculating the position of the center of gravity for obtaining mobility may be used to calculate the size of the three-dimensional model.
  • the number of voxels forming the three-dimensional model may be counted and used as the size of the three-dimensional model. In this embodiment, there are no restrictions on the method of calculating the size of the three-dimensional model.
  • the size of the three-dimensional model was used to determine whether or not to perform determination based on mobility, but this is not the only option. For example, it may be possible to more directly identify what the three-dimensional model is and determine whether or not to make a determination using mobility. For example, a person may be learned using machine learning technology, the subject (three-dimensional model) may be identified as a person, and the person's three-dimensional model may not be subject to processing load reduction regardless of its degree of mobility. . In this embodiment, the technology used for such identification is not limited at all. By using the identification technique, it becomes possible to more accurately and more flexibly determine whether or not the processing load is to be reduced.
  • movement determination processing in the third embodiment when performing movement determination processing, it is determined whether or not the three-dimensional model is the target of processing load reduction.
  • the data reduction flag is set to 0 for the three-dimensional model determined to be not subject to processing load reduction without determining the degree of mobility, and the model is not subject to processing load reduction by processing load reduction control.
  • the movement determination process shown in FIG. 11 is sequentially performed for all three-dimensional models (S1101).
  • the number of existing three-dimensional models is assumed to be N, and a three-dimensional model that is sequentially selected as a processing target from the N three-dimensional models is referred to as model i.
  • the movement determination unit 106 determines whether (the subject of) the model i is the target of the processing load reduction process (S1002). As described above, when the size of model i is smaller than the threshold defined in advance, model i is determined not to be subjected to the processing load reduction process. Alternatively, it may be determined whether or not the model i is a person, and if it is a person, it may be determined that the model i is not subject to processing load reduction.
  • the movement determination unit 106 sets the data reduction flag of model i to "0" without determining the degree of mobility (S1106).
  • the movement determining unit 106 calculates the mobility of the model i (S1103), as in the first embodiment (S502). . If the calculated mobility of model i is smaller than the predetermined threshold value (YES in S1104), movement determination unit 106 sets the data reduction flag of model i to 1 (S1005).
  • movement determination unit 106 sets the data reduction flag of model i to 0 (S1006). Movement determination unit 106 performs the above processing (S1002 to S1006) for all N models.
  • the movement determination unit 106 of the third embodiment determines whether or not the model i is subject to processing load reduction before executing S802 in FIG. If so, the data reduction flag of model i is set to 1 (S804). Further, in the above description, it is determined whether or not model i is subject to data reduction based on mobility based on whether or not model i is subject to processing load reduction (S1102), but this is not the only option. For example, the threshold used for the determination in S1104 may be changed according to the contents of model i.
  • a three-dimensional model can be normally generated in accordance with finer movements of the person. become.
  • the process of S1102 is not the process of branching based on the model i, but the process of the movement determination unit 106 "setting a threshold value based on the contents of the model i".
  • the threshold set in S1102 is used in the determination process in S1104.
  • the third embodiment it is possible to exclude subjects that are important in terms of video expression from targets for processing load reduction. Therefore, it is possible to prevent deterioration of the image quality of the important subject by using the past model for the important subject. For example, when the subject of a 3D model is a person, even if the model does not move at all, it may be desirable to express as much as possible the fine movements of the body, such as fingertips and facial expressions. You can give priority to quality as.
  • the frequency of generating the three-dimensional model of the subject may be increased according to the amount of movement of the target subject, thereby making it possible to express more detailed movements of the subject.
  • the frequency of generating the three-dimensional model of the subject may be increased when the amount of movement of the subject exceeds a threshold value or when the amount of movement of the subject is greater than that of other subjects.
  • the reference generation frequency before increasing or decreasing the generation frequency of the 3D model is matched with the shooting frame rate. It may differ from the frame rate.
  • the generation frequency may be changed from a specific reference frequency based on changes over time in the three-dimensional model of the subject.
  • an image may be generated by interpolating images corresponding to the preceding and succeeding frames, and a three-dimensional model may be generated using the generated image.
  • the 3D model of the target frame may be generated by interpolating from the 3D models corresponding to the preceding and succeeding frames.
  • the present disclosure provides a program that implements one or more functions of the above-described embodiments to a system or device via a network or storage medium, and one or more processors in a computer of the system or device reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.
  • a circuit for example, ASIC

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

情報処理装置は、複数の撮像装置から取得される複数の映像に基づいて生成される被写体の3次元モデルの時間経過に伴う変化に応じて、被写体の3次元モデルを生成する頻度を制御する。

Description

情報処理装置および方法、プログラム
 本開示は、情報処理装置および方法、プログラムに関する。
 一般に、被写体の周囲に複数のカメラ(以降、仮想カメラと区別するために物理カメラと称する)を配置して得られた複数の撮像画像に基づいて、任意の位置、視線方向を有する仮想カメラからの仮想視点映像を生成する技術が知られている。仮想視点映像は、実際の物理カメラの設置位置によらない仮想カメラの視点からの映像であるため、仮想カメラの視点を操作者が自由に選択することで、物理カメラからは得ることのできない映像を生成することが可能となる。
 仮想視点映像の生成では、特許文献1に記載されているように、複数の物理カメラからの複数の撮像画像に基づいて被写体の3次元モデルを生成する処理と、物理カメラの映像を使用して3次元モデルに色を付けるレンダリング処理が行われる。
特開2021-022032号公報
 仮想視点映像の生成では、生成される3次元モデルの精度が高精度になるほど、高精度な仮想視点映像を生成することができるが、多くの演算量が必要になる。そのため、演算処理を行うサーバ等の情報処理装置の性能に応じて、対応可能なスペックが決定される。具体的には、3次元モデルを生成する対象となる空間の広さ、生成する3次元モデルの精度、3次元モデルの生成に必要な時間などが、情報処理装置の性能により制約を受ける。
 また、3次元モデルの生成の処理負荷においては、被写体に応じて3次元モデルの生成の頻度も影響する。しかし、特許文献1では、被写体に応じて3次元モデルの生成の頻度を制御することについては提案されていない。
 本開示の一態様によれば、適切に3次元モデルの生成頻度を制御することを可能にする技術が提供される。
 本開示の一態様による情報処理装置は以下の構成を有する。すなわち、
 複数の撮像装置から取得される複数の映像に基づいて、特定の頻度で被写体の3次元モデルを生成するモデル生成手段と、
 前記被写体の3次元モデルの時間経過に伴う変化を特定する特定手段と、
 前記被写体の3次元モデルの時間経過に伴う変化に基づいて、前記モデル生成手段による前記被写体の3次元モデルの生成の頻度を制御する制御手段と、を有する。
 本開示によれば、適切に3次元モデルの生成頻度を制御することができる。
 本開示のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本開示の実施の形態を示し、その記述と共に本開示の原理を説明するために用いられる。
第一実施形態による映像生成システムのブロック図。 第一実施形態における3次元モデルとそれらの移動の説明図。 3次元モデル生成処理と移動判定処理が実行されるタイミングを説明する図。 第一実施形態における処理負荷軽減処理のフローチャート。 第一実施形態における移動判定処理のフローチャート。 第一実施形態における処理負荷軽減制御のフローチャート。 第二実施形態における3次元モデルとそれらの移動の説明図。 第二実施形態における移動判定処理のフローチャート。 第二実施形態における処理負荷軽減制御のフローチャート。 第三実施形態における3次元モデルを説明する図。 第三実施形態における移動判定処理のフローチャート。 情報処理装置のハードウェアの構成例を示すブロック図。
 以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は本開示を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが本開示に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
 [第一実施形態]
 図1は第一実施形態による映像生成システムの構成例を示す図である。本実施形態の映像生成システムは、情報処理装置1と撮像部101を有する。撮像部101は複数の撮像装置(以下、物理カメラ)を有する。複数の物理カメラは、被写体を囲むように配置され、同期して撮像を行う。ただし、物理カメラの台数や配置は特に限定されない。情報処理装置1は、撮像部101が備える複数の物理カメラから取得される複数の映像に基づいて、仮想視点から観察される仮想視点映像を生成する。
 情報処理装置1において、モデル生成部102は、撮像部101から送られた複数の映像の同時刻のフレームから、被写体を前景として抽出することにより前景画像を生成し、前景画像から3次元モデルを生成する。前景の抽出には周知の技術を用いることができ、本実施形態では前景を抽出する方法に何等制限はない。例えば、背景差分情報を用いて撮像画像から前景を抽出する方法が知られている。これは、あらかじめ背景画像として、前景が存在しない状態を撮像しておき、前景が存在する画像と背景画像の差分を算出し、算出された差分値が閾値より大きい画素位置を前景として抽出し、前景画像を得る方法である。その他、前景を抽出する手法については、被写体に関する画像上の特徴量や機械学習を用いる手法など様々な手法が存在する。
 また、前景画像から3次元モデルを生成する方法も周知であり、本実施形態は3次元モデルを生成する方法について何等限定するものではない。例えば、視体積公差法(以下、VisualHull)によって前景から3次元モデルを生成することができる。VisualHullでは、3次元モデルの対象となる被写体について、各物理カメラからの映像上の前景に対応する被写体シルエットを、物理カメラの光学主点位置から仮想的に被写体方向に逆投影する。その結果、光学主点位置を頂点とし、断面が被写体シルエットとなる錐体領域が形成される。そして、物理カメラ毎に形成された錐体領域の重複領域(論理積)を求めることで被写体の3次元モデルが得られる。或いは、例えば、ステレオ画像処理により前景のデプスデータを取得し、デプスデータに基づいて3次元モデルが生成されてもよい。
 データ格納部103は、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD)、フラッシュメモリなどの物理デバイスで構成されるストレージデバイスである。データ格納部103は、単一の物理デバイスで構成されていなくてもよく、複数の物理デバイスの集合体でもよいし、ネットワーク上に仮想化されたクラウド上のデバイスでもよい。データ格納部103は、例えば、モデル生成部102が生成した3次元モデルを格納する。また、データ格納部103は、撮像部101から取得された撮像画像から被写体を前景として抽出した前景画像を格納する。前景画像は、3次元モデルに対して色を付けるために映像生成部105で用いられる。
 仮想視点指定部104は、操作者による仮想視点の指定を受け付ける。仮想視点は、例えば、世界座標上の仮想カメラの3次元位置、仮想カメラの姿勢(向き)、焦点距離、主点(カメラ画像上の中心)である。なお、操作者が仮想視点を指定するための構成については何の制約もない。操作者は、例えばジョイスティック、マウス、キーボード等を用いて所望の仮想視点を指定することができる。
 映像生成部105は、データ格納部103から読み出した被写体の3次元モデルを仮想視点から見た場合の2次元画像を射影演算により求めて、仮想視点映像を生成する。これにより、所望の仮想視点からの仮想視点映像が生成される。仮想視点映像の生成において、映像生成部105は、前景画像の色情報(テクスチャ)を利用して3次元モデルに色を付ける。映像生成部105は、各物理カメラと3次元モデルを構成する各点との距離を表す距離画像を生成する。映像生成部105は、例えば、距離画像を参照して、3次元モデルの点に関して距離が最も短い物理カメラを選択し、選択された物理カメラの前景画像からその点に対応する画素位置の色情報を取得することにより、その点に付ける色を決定する。映像生成部105は、このような色付け処理を3次元モデルの色付けが必要な全ての点について行う。但し、本実施形態は色付け処理について何等制限するものではなく、周知の様々な手法を適用することできる。例えば、3次元モデルの点からの距離が所定範囲である複数の物理カメラから得られる色をブレンドして、当該点に付与する色が決定されてもよい。
 上述のモデル生成部102で実施される3次元モデルの生成処理は、撮像部101が有する複数の物理カメラから送られる映像を、撮像部101とネットワーク接続された情報処理装置1に集約して行われる。ここで、ネットワーク接続にはコンピュータネットワークで最も一般的に使用されているEthernet(登録商標)が用いられ得るが、これに限定されない。また、仮想視点映像に要求されるスペック、3次元モデルに要求される精度などに応じて情報処理装置1(モデル生成部102)に必要とされる計算能力は異なってくる。情報処理装置1の形態としてはパーソナルコンピュータ、ワークステーション、サーバが考えられるが、情報処理装置1の形態については何の制約もない。また、情報処理装置1は複数の装置によって構成され、図1に示される機能部を複数の装置で分担するようにしてもよい。
 仮想視点映像を生成する処理の流れは上述の通りであるが、本実施形態の情報処理装置1は、被写体(3次元モデル)の移動の大きさに応じて3次元モデルを生成する頻度を制御することで、3次元モデルの生成処理における処理負荷を軽減する。この軽減処理は、移動判定部106と負荷軽減制御部107により行われる。移動判定部106は、モデル生成部102で生成された3次元モデルの時間経過に伴う変化に基づく移動の度合い(以下、移動度)を算出し、算出した移動度に基づいて負荷軽減を行うか否かを判定する。ここで、変化に基づく移動の度合いには、本実施形態では、例えば、3次元モデルの存在位置の変化のみならず、3次元モデルの姿勢の変化(例えば、横になった状態と縦になった状態)も含まれ得る。そのため、本実施形態では、後述のように、3次元モデルの重心位置の変化が移動度として用いられる。但し、3次元モデルの位置の変化のみが移動度として用いられてもよい。負荷軽減制御部107は、移動判定部106による、3次元モデルの移動度に応じて、処理負荷を軽減する制御指示をモデル生成部102および映像生成部105に対して行う。なお、移動判定部106および負荷軽減制御部107による上上述の負荷軽減処理は、モデル生成部102により生成される全ての3次元モデルについて対して行われる。
 なお、上述したように、図1では、撮像部101以外の機能部が情報処理装置1により実現される構成を示したがこれに限られるものではない。情報処理装置1により実施されるとして示された複数の機能部のそれぞれ、或いは、複数の機能部のうちの任意の組み合わせが個別の情報処理装置により実現されてもよい。また、図1に示される1つの機能部が複数の情報処理装置により実現されてもよい。これらの場合では、映像システムは複数の情報処理装置を有することとなり、それら複数の情報処理装置はネットワーク接続により相互に通信が可能である。
 図12は、本実施形態による情報処理装置1のハードウェアの構成例を示すブロック図である。映像生成システムが複数の情報処理装置を備える場合は、個々の情報処理装置が図12に示されるようなハードウェア構成を有する。CPU1201は、RAM1202やROM1203に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。
 RAM1202は、外部記憶装置1204からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1205を介して外部から取得したデータなどを一時的に記憶するためのエリアを提供する。更に、RAM1202は、CPU1201が各種の処理を実行する際に用いるワークエリアを提供する。即ち、RAM1202は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。ROM1203には、本コンピュータの設定データや、ブートプログラムなどが格納されている。
 外部記憶装置1204は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置1204には、OS(オペレーティングシステム)や、図1に示した各部の機能をCPU1201に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置1204には、処理対象としての各画像データが保存されていても良い。外部記憶装置1204に保存されているコンピュータプログラムやデータは、CPU1201による制御に従って適宜、RAM1202にロードされ、CPU1201による処理対象となる。I/F1205には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができる。情報処理装置1はこのI/F1205を介して様々な情報を取得したり、送出したりすることができる。1206は上述の各部を繋ぐバスである。
 つぎに、移動判定部106と負荷軽減制御部107による、3次元モデルの移動判定処理や処理負荷軽減制御について、図2、図3を用いて説明する。
 図2にサッカーを想定したシーンを示す。撮像部101が有する複数の物理カメラ201は被写体の周囲を囲み、同期して撮像を行う。ここで、撮像され、3次元モデルとして生成される被写体は、人物203と人物205とゴール206であるとする。また、3次元モデルの生成は1秒間に60回の頻度で(60fps)、撮像と並行して行われる。図2では、3次元モデルを生成した時刻tよりも10フレーム前の時刻t-10において、人物203の3次元モデルは人物202の位置に存在しており、人物205の3次元モデルは人物204の位置に存在していたとする。なお、ゴール206の3次元モデルは移動しないため時刻t-10においても同じ位置に存在する。
 移動判定部106は、人物203、205およびゴール206の3次元モデルのそれぞれについて移動度を算出する。具体的には、時刻tの各3次元モデルの重心位置と時刻t-10の各3次元モデルの重心位置の差分を移動度とする。3次元モデルの重心位置の計算方法は種々の方法があり、本実施形態ではその計算方法に制約はない。例えば、3次元モデルの重心位置は、3次元モデルの各部位が存在している座標と各部位の素材として規定されている質量の情報から算出することが可能である。3次元モデルの形式として素材ごとの質量が規定されていない場合は、各位置の質量は同一として座標情報からのみ重心位置が算出されてもよい。また、重心位置の計算をさらに簡略化するため、3次元モデルに外接する直方体を規定し、その直方体の中心を重心位置として用いてもよい。
 以上のように、3次元モデルの各時刻の重心位置が3次元空間上の座標(x、y、z)として算出され得る。移動判定部106は、時刻tの重心位置と時刻t-10の重心位置の差分ベクトルの大きさを移動度として用いる。移動判定部106は、それぞれの3次元モデルについて算出した移動度をあらかじめ定められた閾値と比較し、移動度が閾値よりも小さい場合、時刻tからt-10の間に3次元モデルの移動はない、すなわち「移動無」と判定する。また、移動度が閾値より大きい場合は、移動判定部106は、時刻tからt-10の間に3次元モデルの移動がある、すなわち「移動有」と判定する。こうして、移動判定部106は、それぞれの3次元モデルについて「移動有」または「移動無」のいずれかの値を持つ移動判定結果を生成する。移動判定結果は負荷軽減制御部107により用いられる。なお、移動判定結果のデータのビット数やフォーマットなどに制約はなく、移動判定結果をデータとしてどのように表現するかは限定されない。
 また、3次元モデルの移動を把握するためには、時刻tにおける3次元モデルが他の時刻、例えば移動を判定するための時刻t-10におけるどの3次元モデルと対応付けられるかを把握する必要がある。本実施形態では、時刻tで算出された重心位置に対して時刻t-10で算出された重心位置が最も近い3次元モデルが、同じ被写体の3次元モデルとして対応付けられる。なお、3次元モデルの対応付けはこれに限られるものではなく、例えば、一般的なトラッキング技術を利用して、同一の被写体の各時刻の3次元モデルを対応付けてもよい。或いは、前景画像や3次元モデルから抽出した特徴点と、別時刻の前景画像や3次元モデルから抽出した特徴点とのマッチング処理を行って、異なる時刻の3次元モデルを対応付けてもよい。また、所定のマーカーを被写体に付しておき、そのマーカーの位置を検出することで異なる時刻の3次元モデルを対応付けてもよい。このように、本実施形態では異なる時刻の3次元モデルの対応付けの手法を限定するものではない。ただし、本実施形態では3次元モデルの生成処理負荷を低減させることを目的の一つとするため、異なる時刻の3次元モデルを対応付けるための処理負荷が大きくなることは望ましくない。モデル単位での移動を検出する粒度でのトラッキングで十分であり、例えば人の指といった細かい部位のトラッキングは必要ない。そのため、上述したような重心位置の比較という程度の、簡易的なトラッキングで十分である。
 負荷軽減制御部107はモデル生成部102に対して、3次元モデル毎に処理負荷軽減制御を指示する。図2の場合、ゴール206の3次元モデルは移動しないため、移動判定部106の移動判定結果は「移動無」である。負荷軽減制御部107は、このように「移動無」に判定された3次元モデルについて処理負荷を軽減させるための制御指示をモデル生成部102に対して行う。本実施形態では、負荷軽減制御部107は、ある3次元モデルの移動判定結果が「移動無」の場合にはその被写体の3次元モデルの生成を停止し、移動判定結果が「移動有」の場合にその被写体の3次元モデルの生成を再開する制御指示を発行する。モデル生成部102は、この制御指示により3次元モデルの生成の停止が指示されている間は、対応する被写体の3次元モデルの生成を行わない。図2の例では、ゴール206の3次元モデルの移動判定部106による移動判定結果が「移動有」になるまで、モデル生成部102によるゴール206の3次元モデル生成処理は行われないことになる。
 3次元モデル生成処理が行われない間は、「移動無」と判定された時点で最新の3次元モデルが継続して使用される。例えば、ゴール206が時刻tで「移動無」と判定された場合、ゴール206の3次元モデルは時刻t+1以降は生成されず、時刻t+1以降のゴール206の3次元モデルには時刻tの3次元モデルが繰り返し用いられる。その後、時刻t+10でゴール206の3次元モデルが生成され、移動判定部106が3次元モデルの移動の有無を判定する。なお、後述のように、簡易3次元モデルを生成して移動を判定する場合は、時刻tで「移動無」と判定された場合に、時刻tの3次元モデルが存在しない。この場合は、時刻t-1の3次元モデルが用いられる。
 モデル生成部102は、3次元モデルについて「移動無」と判定された以降は、新たに3次元モデルを生成せず、生成済みの最新の3次元モデルをデータ格納部103に書き込む。或いは、ある被写体の3次元モデルの生成を停止した後は、データ格納部103の、直近に生成された当該被写体の3次元モデルの格納位置を示すポインタ情報を、3次元モデル情報としてデータ格納部103に格納してもよい。これにより、データ格納部103に格納される3次元モデルのデータ量を削減することができる。ここで、ポインタ情報とは、Windows(登録商標)OSにおけるショートカットやLinux(登録商標)OSにおけるシンボリックリンクといったファイル形式であるとするが、ポインタ情報のデータ形式は問わない。或いは、3次元モデルの生成を停止した場合に、モデル生成部102がデータ格納部103へモデル生成を省略した旨を示すモデル生成省略フラグ情報を書き込んでもよい。映像生成部105は、例えば、ゴール206の3次元モデルに関してモデル生成省略フラグ情報をデータ格納部103から読み出した場合、データ格納部103に格納されているゴール206の3次元モデルのうち最も新しい3次元モデルを読み出して使用する。
 なお、上記のように3次元モデルの生成が停止しても、3次元モデルに色付けをするための前景画像は新たに保存される。被写体の移動が小さく形状の変化少ない場合でも、照明等の外部要因によって見え方、すなわち色が変化する可能性がある。常に最新の前景画像を保存しておくことで、3次元モデルへの適切な色付けを実現することができる。ただし、外部要因によって色の変化がないと見込まれる場合は、色付けへの使用を目的とする前景画像の保存を省略してもよい。また、前景画像のそのような省略を実施するか否かをユーザが選択可能としてもよい。なお、前景画像の保存を省略する場合、3次元モデルの保存を省略した場合と同様にポインタ情報やフラグ情報がデータ格納部103に格納される。
 なお、時刻tの3次元モデルの移動度を判定するために時刻tにおける3次元モデルの重心位置を算出しているが、重心位置を算出するためには3次元モデルを生成する必要がある。したがって、移動度に基づいて3次元モデルの生成を停止しても時刻tにおける3次元モデルは生成されており、3次元モデルの生成が停止するのは時刻t+1以降となる。ここで、重心位置を算出するために生成される3次元モデルとして、その生成処理が簡略化された簡易3次元モデルが用いられてもよい。3次元モデルを生成する手段は前述した通り各種存在するが、いずれの手法であってもモデルの精度を向上させるためには演算量が多くなることが一般的である。逆にモデルがおよそ存在する位置を把握する程度の場合、簡易的な処理でおよそのモデルの形状が得られれば良い。すなわち、重心位置を得る段階では簡易3次元モデルを生成し、「移動有」と判定されるとより詳細な3次元モデルを生成するようにしてもよい。この場合、時刻tで移動度が閾値以下と判定されると、その後の3次元モデルの生成を行わないため、映像生成部105が用いる3次元モデルの生成は、時刻tから停止することになる。
 例えば、前述したVisual Hullでは、ボクセルと呼ばれる立方体を基本の最小単位として、ボクセルの組み合わせで3次元モデルが扱われる。このボクセルの一辺を大きくした、基本単位が大きな空間では、表現される被写体のモデルが粗くなるが、被写体のモデルを算出する演算量が大幅に低減される。移動判定処理では粗いモデルで重心位置を求めればよい。そこで、ボクセルの一辺を大きくした空間で被写体の3次元モデルを生成して重心位置を算出することにより、3次元モデルを生成するための処理負荷を軽減することが可能である。また、この被写体に関して処理負荷軽減制御が適用されず、詳細な3次元モデルを算出する場合は、簡易3次元モデルに対して、ボクセルの大きさを細かくして処理を行うことで被写体の詳細な3次元モデルを取得することができる。
 また、映像生成部105が出力映像(仮想視点映像)を生成する際に、負荷軽減制御部107からの指示によって処理負荷を軽減する処理が行われ得る。前述のように、映像生成部105は、出力映像を生成する際に、データ格納部103から読み出した被写体の3次元モデルに対して、前景画像の色情報を利用して色を付ける。上述のように3次元モデルの生成や前景画像の保存が停止されている場合は、ポインタ情報やフラグ情報が記録されている。ポインタ情報が記録されている場合は、映像生成部105は、ポインタにより指定された格納場所に保存されている3次元モデルや前景画像をデータの実体として読み出して使用することになる。すなわち、3次元モデルの生成が停止している期間、映像生成部105は、同一の過去のデータを繰り返して読み出すことになる。そこで、負荷軽減制御部107は、この読み出し処理を省略するよう映像生成部105に指示する。負荷軽減制御部107から読み出し処理の省略が指示されている間、映像生成部105は最も近い過去の時刻に読み出した3次元モデルや前景画像のデータを流用する。このように3次元モデルと前景画像を流用することで、不必要な読み出しが抑制されることとなり、処理負荷を軽減することが可能となる。また、データ読み出しに必要な時間や帯域が少なくなることで、必要な機材の自由度が上がったり、映像の高画質化機能など他の機能に演算能力を振り向けたりすることができることになる。
 次に図3を用いて、モデル生成部102が実施する3次元モデルの生成処理と移動判定部106が行う移動判定処理の時間的な関係について説明する。図3の上段の時刻t1~t60は3次元モデルの生成処理が行われる時刻を示している。図3の例では、60fpsで3次元モデルが生成されている。時刻t1~t60は、1/60秒の間隔を示しており、1秒間に60回の3次元モデル生成処理が行われる。本例ではt1~t60がフレームの時刻に対応しており、通常はフレーム毎に3次元モデルが生成される。これに対し、3次元モデルの移動判定処理は、映像のフレームの時間間隔(通常の3次元モデルの生成処理の時間間隔)よりも長い時間間隔で実施される。例えば、映像のフレームの時間間隔のM倍(Mは2以上の自然数)の時間間隔で実施され、現在のフレームにおける3次元モデルの重心位置とM個前のフレームにおける3次元モデルの重心位置との比較が行われる。例えば、本実施形態では、3次元モデル生成処理の実行頻度の10分の1で、すなわち時刻tが10の倍数のタイミングで移動判定処理が実施される。図3の下段において、t10、20、・・・、60は、それぞれ移動判定処理の実行タイミングを示しており、この例では、移動判定処理が1秒間に6回行われることになる。時刻t20では、時刻t20と時刻t10における3次元モデルの重心位置を用いて移動度が判定される。
 なお、移動判定処理の頻度はユーザが自由に設定可能であるとする。移動判定処理の頻度を高く設定した場合、頻度が低く設定された場合と比較して3次元モデルの移動をより迅速に検知することが可能となる。ただし、一定時間あたりの移動判定処理の回数が増えることで処理負荷が大きくなり、システム全体としての処理負荷軽減の効果は小さくなる。逆に移動判定処理の頻度を低く設定した場合、移動判定処理自体の処理負荷は小さくなるが、3次元モデルの移動の検知が遅くなる。その結果、実際には移動している3次元モデルが移動判定処理の実行間隔の間は静止しているように見えることとなり、この実行間隔が長くなると見た目に不自然な映像となってしまう。移動判定処理の頻度は、これらのバランスに基づいて設定されることが望ましい。
 図2はサッカーの例を示すが、ラグビーやバスケットボールといった他のスポーツでもゴールが存在しており、ゴールは人物と比較して被写体内で大きなモデルとなる。大きなモデルを生成するほど処理負荷が大きくなるため、ゴールの3次元モデル処理が行われないことで処理負荷は大きく軽減される。また、ゴールのように移動しない静止物はモデルの形状として一定であるためユーザの見た目にも問題はない。また、一定の間隔でモデル移動判定を実行しているため、時折移動が発生するような静止物に関しても、より自然な画像が得られる。例えば、図2のようにサッカーを想定した場合、風によって動いたり動かなかったりするコーナーフラッグや、選手によって移動させられるフィールド近辺に置かれた水筒などがこのような静止物の事例である。
 図4、図5、図6のフローチャートを用いて第一実施形態による処理負荷軽減処理を説明する。図4は、第一実施形態による処理負荷軽減処理の全体の流れを示すフローチャートである。図5は、第一実施形態における移動判定処理のフローチャートである。図6は、第一実施形態における処理負荷軽減制御のフローチャートである。
 まず、図4のフローチャートを参照して、処理負荷軽減処理の全体の流れを説明する。モデル生成部102は、時刻tにおける被写体のモデル位置を算出する(S401)。移動判定部106は、現在の時刻tが、あらかじめ定められた時刻から間隔Tの倍数の時間が経過した時刻であるかを判定する(S402)。例えば、あらかじめ定められた時刻をt0とした場合、時刻tがt0+nT(nは自然数)であるかが判定される。所定の時刻t0から間隔Tの倍数が経過した時刻であると判定された場合(S402でYES)、移動判定部106は移動判定処理を行う(S403)。移動判定処理については図5のフローチャートを参照して説明する。負荷軽減制御部107は、それまでに実施された移動判定処理の判定結果に従って時刻tにおける処理負荷軽減制御を実施する(S404)。処理負荷軽減処理については別途図6のフローチャートで説明する。
 図5のフローチャートを用いて移動判定部106による移動判定処理について説明する。移動判定処理は、全ての3次元モデルについて順次に行われる(S501)。以下、存在している3次元モデルの数をN個とし、N個の3次元モデルから順次に処理対象に選択される3次元モデルをモデルiと記載する。移動判定部106は、モデルiの移動度を算出する(S502)。算出されたモデルiの移動度があらかじめ定められた閾値よりも小さい場合(S503でEYS)、移動判定部106はモデルiのデータ削減フラグを1に設定する(S504)。他方、モデルiの移動度があらかじめ定められた閾値以上の場合(S503でNO)、移動判定部106は、モデルiのデータ削減フラグを0に設定する(S505)。移動判定部106は、以上の処理(S502~S505)を、N個のモデル全てについて実施する。
 次に、図6のフローチャートを用いて負荷軽減制御部107が実施する処理負荷軽減制御について説明する。負荷軽減制御部107は、全ての3次元モデルについて順次に行われる(S601)。以下、存在している3次元モデルの数をN個とし、N個の3次元モデルから順次に処理対象に選択される3次元モデルをモデルiと記載する。負荷軽減制御部107は、モデルiのデータ削減フラグに1が設定されている場合(S602でYES)、モデルiの被写体について3次元モデルの生成を停止する(S603)。これにより、モデル生成部102、映像生成部105は、処理負荷軽減制御を行う。モデルiの被写体について3次元モデルの生成が停止されると、上述したように過去の時刻の3次元モデルが流用される。他方、モデルiのデータ削減フラグが0に設定されている場合(S602でNO)、負荷軽減制御部107は、モデルiの被写体について処理負荷軽減制御は行われず、モデル生成部102は通常どおりに3次元モデルを生成する(S604)。これにより、モデル生成部102、映像生成部105は、モデルiに関して通常通りの処理を行う。
 以上のように、第一実施形態によれば、仮想視点映像を生成するための3次元モデルの生成に必要な演算量を抑制することが可能となる。
 (第二実施形態)
 第一実施形態では、移動度の判定結果が「移動有」か「移動無」かに基づいて3次元モデルの生成を実行するか停止するかを制御することにより3次元モデルの生成に関わる処理負荷を低減した。第二実施形態では、移動度のレベルを3段階以上に分けて3次元モデルの生成を制御する構成を説明する。なお、映像生成システムおよび情報処理装置1の構成は、第一実施形態(図1)と同様である。以下では、主に第一実施形態と異なる部分について述べる。
 図7は、第二実施形態における3次元モデルとそれらの移動の例を示す図であり、図2と同様にサッカーのシーンを想定している。図7では、時刻t-10でゴール701、人物702と、人物704の3次元モデルが生成されている。また、時刻tでは、ゴール701の3次元モデルには移動がなく、人物702の3次元モデルは人物703の3次元モデルの位置に移動し、人物704の3次元モデルは人物705の3次元モデルの位置に移動している。第一実施形態の移動判定部106では、各3次元モデルの移動度と閾値を比較し、処理負荷軽減制御の対象となるかどうかを判定した。具体的には、移動度が閾値より小さい場合は処理負荷軽減処理の対象となり、移動度が閾値以上の場合は処理負荷軽減処理の対象外となる。対して、第二実施形態の移動判定部106と負荷軽減制御部107では、処理負荷軽減処理の対象か否かではなく、3次元モデルの移動度に応じて多段階にデータ削減レベルを決定し、データ削減レベルに応じて異なるレベルの処理負荷軽減制御が実施される。
 図7の例では移動していないゴール701の3次元モデルはデータ削減レベルが「1」と判定され、モデル生成部102は、第一実施形態と同様に3次元モデルの生成を停止する。移動度の大きい人物705の3次元モデルは、例えばデータ削減レベルが「3」に判定される。この場合、第一実施形態でデータ削減フラグが「0」の場合と同様に、通常のモデル生成処理が行われる。移動度の小さい人物703の3次元モデルはデータ削減レベルが「2」と判定され、通常の場合よりもモデル生成処理の頻度を下げる。例えば、モデル生成部102は、通常の3次元モデル(データ削減レベルが「3」の3次元モデル)の生成を1秒に60回(60fps)の頻度で実施し、データ削減レベルが「2」の3次元モデルの生成を1秒に30回(30fps)の頻度で実施する。
 第二実施形態によるデータ削減レベルの判定処理について図8のフローチャートにより説明する。処理負荷軽減処理の全体の処理の流れは図4のフローチャートと同様である。但し、第一実施形態では図5で示された移動判定処理が、第二実施形態では図8のフローチャートに示される処理に置き換わる。また、第一実施形態では図6で示された処理負荷軽減制御の処理が、第二実施形態では図9のフローチャートに示される処理に置き換わる。
 移動判定部106は各3次元モデルについてモデルの数だけ処理を繰り返す(S801)。存在している3次元モデルの数をN個とし、N個の3次元モデルから順次に処理対象に選択される3次元モデルをモデルiと記載する。移動判定部106は、モデルiの移動度を算出する(S802)。移動度の算出は第一実施形態と同様である。次に、移動判定部106は、S802で算出された移動度が閾値Aより低いかを判定する(S803)。移動度が閾値Aより低い場合(S803でYES)、移動判定部106は、モデルiのデータ削減レベルを「1」に設定する(S804)。一方、S802で算出された移動度が閾値A以上であった場合(S803でNO)、移動判定部106は、その移動度を閾値Aより大きい閾値Bと比較する(S805)。移動度が閾値Bより低い場合(S805でYES)、移動判定部106は、モデルiのデータ削減レベルを「2」に設定する(S806)。移動度が閾値B以上である場合(S805でNO)、移動判定部106は、モデルiのデータ削減レベルを「3」に設定する(S807)。
 次に、図9のフローチャートを用いて負荷軽減制御部107が実施する処理負荷軽減制御について説明する。負荷軽減制御部107は、全ての3次元モデルについて順次に行われる(S901)。以下、存在している3次元モデルの数をN個とし、N個の3次元モデルから順次に処理対象に選択される3次元モデルをモデルiと記載する。負荷軽減制御部107は、モデルiに設定されたデータ削減レベルが1~3の何れであるかを判定する(S902)。データ削減レベルが1の場合、負荷軽減制御部107は、モデルiの被写体について3次元モデルの生成を停止する(S903)。この処理は、第一実施形態(図6のS603)と同様である。また、データ削減レベルが3の場合、負荷軽減制御部107は、処理負荷軽減制御を適用せず、モデル生成部102は、モデルiの被写体の3次元モデルの生成を通常通りに行う(S905)。この処理は、第一実施形態(図6のS604)と同様である。データ削減レベルが2の場合、負荷軽減制御部107は、モデルiの被写体の3次元モデル生成の頻度を通常の頻度よりも小さくするようにモデル生成部102を制御する(S904)。
 以上のように、第二実施形態によれば、モデルの移動を判定した結果に応じて段階的に処理負荷の軽減制御を行うことで、静止してはいないが移動量が少ないモデルについても処理負荷の軽減効果を得ることが可能となる。
 (第三実施形態)
 第一実施形態および第二実施形態では、3次元モデルの移動度に基づいて、3次元モデルの生成に関わる処理負荷を軽減した。第三実施形態では、移動度に加えて、被写体の大きさ、形状、色などに基づいて処理負荷軽減処理を制御する構成を説明する。なお、映像生成システム及び情報処理装置1の構成は第一実施形態(図1)と同様である。
 図10は、第三実施形態における3次元モデルの例を示す図であり、図2及び図7と同様にサッカーのシーンを想定している。図10では、3次元モデルが生成される被写体として、ゴール901と人物902が存在している。第三実施形態では、3次元モデルの大きさ、形状、色から被写体の内容(属性)を判断し、この判断結果に基づいて3次元モデルの被写体を処理負荷軽減の対象とするか否かを判定する。処理負荷軽減の対象にしないと判定された被写体については、その移動度に関わらず3次元モデルの生成が通常通りに行われる。例えば、移動判定部106は、生成された3次元モデルの大きさがあらかじめ定められた閾値よりも小さい場合に、その移動度に関わらず処理負荷軽減の対象外と判定し、そのデータ削減フラグを「0」に設定する。人物の大きさの3次元モデルは主要な被写体であることが多いため、3次元モデルの移動があまりない場合でも毎回モデル生成の対象とすることが望ましい。そこで、閾値を人物の大きさ程度にして、人物の3次元モデルを処理負荷軽減の対象外とすることにより、3次元モデルが流用されて人物の動きが生じないといった不適切な見た目となることを抑制することができる。また、ゴールなど人物と比較して大きな被写体の3次元モデルは、生成するための処理負荷も高くなるため、移動度の判定に応じて処理負荷軽減の対象とするか否かが判定される。
 なお、3次元モデルの大きさは、例えば、3次元モデルに外接する直方体の大きさを算出することで得られる。また、3次元モデルの大きさの算出には、移動度を得るための重心位置を算出するのに用いられる簡易3次元モデルが利用されてもよい。また、3次元モデルを構成するボクセルの数をカウントし、これを3次元モデルの大きさとして用いてもよい。本実施形態において、3次元モデルの大きさを算出する方法に何等制約はない。
 また、上記では3次元モデルの大きさを利用して、移動度による判定を行うか否かを決定したが、これに限られるものではない。例えば、より直接的に3次元モデルが何であるかを識別して、移動度を用いた判定の対象とするか否かを決定するようにしてもよい。例えば機械学習の技術によって人物を学習し、被写体(3次元モデル)が人物であることを識別し、人物の3次元モデルはその移動度に関わらず処理負荷軽減の対象としないようにしてもよい。本実施形態では、そのような識別に用いる技術について何等限定されない。識別技術を用いることで処理負荷軽減の対象か否かをより正確に、且つ、より柔軟に判定することが可能となる。
 次に図11のフローチャートを用いて、第三実施形態における移動判定処理を説明する。上述したように、第三実施形態では、移動判定処理を行う際に、3次元モデルが処理負荷軽減の対象か否かを判定する。処理負荷軽減の対象外と判定された3次元モデルについては、移動度の判定を行うことなくデータ削減フラグを0にセットし、処理負荷軽減制御による処理負荷軽減の対象としない。
 図11に示される移動判定処理は、全ての3次元モデルについて順次に行われる(S1101)。以下、存在している3次元モデルの数をN個とし、N個の3次元モデルから順次に処理対象に選択される3次元モデルをモデルiと記載する。移動判定部106は、モデルi(の被写体)が処理負荷軽減処理の対象であるかどうかを判定する(S1002)。上述したように、モデルiの大きさがあらかじめ規定された閾値より小さい場合、モデルiは処理負荷軽減処理の対象外と判定される。或いは、モデルiが人物か否かを識別し、人物であった場合に、モデルiを処理負荷軽減の対象外であると判定してもよい。処理負荷軽減の対象外と判定された場合(S1102でNO)、移動判定部106は、移動度を判定することなくモデルiのデータ削減フラグを「0」に設定する(S1106)。一方、モデルiが処理負荷軽減の対象であると判定された場合(S1102でYES)、移動判定部106は、第一実施形態(S502)と同様にモデルiについて移動度を算出する(S1103)。算出されたモデルiの移動度があらかじめ定められた閾値よりも小さい場合(S1104でYES)、移動判定部106は、モデルiのデータ削減フラグを1に設定する(S1005)。他方、モデルiの移動度があらかじめ定められた閾値以上の場合(S1004でNO)、移動判定部106は、モデルiのデータ削減フラグを0に設定する(S1006)。移動判定部106は、以上の処理(S1002~S1006)をN個のモデル全てについて実施する。
 なお、上記では、被写体が処理負荷軽減の対象か否かを判定する構成を第一実施形態の構成に適用した例を示したが、第二実施形態の構成にも適用できる。その場合、第三実施形態の移動判定部106は、図8のS802を実行する前にモデルiが処理負荷軽減の対象か否かを判定し、処理負荷軽減他の対象外であると判定した場合に、モデルiのデータ削減フラグを1にセットする(S804)。また、上記では、モデルiが処理負荷軽減対象か否かで、移動度に基づくデータ削減の対象とするか否かを決定した(S1102)がこれに限られるものではない。例えば、モデルiの内容に応じて、S1104の判定に用いられる閾値を変更してもよい。このような構成によれば、例えば、モデルiが人物と判定された場合にS1104における閾値を低く設定することで、人物のより細かな動きに応じて3次元モデルが通常通りに生成されるようになる。この場合、図11において、S1102の処理を、モデルiに基づいて分岐する処理ではなく、移動判定部106が「モデルiの内容に基づいて閾値を設定」する処理とする。S1102で設定された閾値は、S1104の判定処理において用いられる。
 以上のように、第三実施形態によれば、映像表現上重要な被写体を処理負荷軽減の対象から外すことができる。そのため、重要な被写体について過去のモデルを流用することで重要な被写体の画質が低下してしまうことを抑制することが可能となる。例えば、3次元モデルの被写体が人物の場合、モデルとしてはほぼ動かない場合でも指先や表情といった身体の細かな動きを極力表現したい場合があり、そのようなケースでは処理負荷を軽減するよりも映像としての品質を優先することができる。
 (その他の実施形態)
 上記の実施形態では、頻度を低減させる例について説明したが、それに限定されない。つまり、対象となる被写体の移動量に応じて、その被写体の3次元モデルの生成頻度を上げて、被写体のより細かな動きを表現することを可能にしてもよい。例えば、被写体の移動量が閾値を超える場合や、他の被写体よりも移動量が大きい場合などに、被写体の3次元モデルの生成頻度を上げるようにしてもよい。また、上記の実施形態では、3次元モデルの生成頻度を上げ下げする前の基準となる生成頻度を撮影フレームレートと一致させているが、これに限られるものではなく、基準となる生成頻度は撮影フレームレートと異なってもよい。すなわち、被写体の3次元モデルの経時的な変化に基づいて、その生成頻度が基準となる特定の頻度から変更されるようにしてもよい。また、生成頻度が撮影フレームレートを超える場合には、前後のフレームに対応する画像から補間して画像を生成して、その生成された画像を用いて3次元モデルを生成してもよい。また、前後のフレームに対応する3次元モデルから補完して対象のフレームの3次元モデルを生成してもよい。
 本開示は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本開示は上記実施の形態に制限されるものではなく、本開示の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本開示の範囲を公にするために、以下の請求項を添付する。
 本願は、2021年10月4日提出の日本国特許出願特願2021-163724を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (18)

  1.  複数の撮像装置から取得される複数の映像に基づいて、特定の頻度で被写体の3次元モデルを生成するモデル生成手段と、
     前記被写体の3次元モデルの時間経過に伴う変化を特定する特定手段と、
     前記被写体の3次元モデルの時間経過に伴う変化に基づいて、前記モデル生成手段による前記被写体の3次元モデルの生成の頻度を制御する制御手段と、を有することを特徴とする情報処理装置。
  2.  前記特定手段は、前記被写体の異なる時刻の3次元モデルにおける重心位置の変化に基づいて、前記被写体の3次元モデルの時間経過に伴う変化を特定することを特徴とする請求項1記載の情報処理装置。
  3.  前記重心位置は、3次元モデルに外接した直方体の重心位置であることを特徴とする請求項2に記載の情報処理装置。
  4.  前記モデル生成手段は、仮想視点映像の生成に用いられる3次元モデルよりも粗い前記被写体の簡易3次元モデルを生成し、
     前記特定手段は、前記簡易3次元モデルを用いて前記被写体の3次元モデルの時間経過に伴う変化を特定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5.  前記特定手段は、前記映像のフレームの時間間隔よりも長い時間間隔で前記被写体の3次元モデルの時間経過に伴う変化を特定することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6.  前記特定手段は、前記映像のフレームの時間間隔のM倍(Mは2以上の自然数)の時間間隔で、現在のフレームにおいて得られた3次元モデルと、該現在のフレームよりもM個前のフレームにおいて得られた3次元モデルとに基づいて、前記被写体の3次元モデルの時間経過に伴う変化を特定することを特徴とする請求項5に記載の情報処理装置。
  7.  前記制御手段は、前記特定手段により特定された前記被写体の3次元モデルの時間経過に伴う変化が閾値以下と判定された場合に、前記モデル生成手段による前記被写体の3次元モデルの生成を停止することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8.  各フレームの時刻において前記モデル生成手段により生成された3次元モデルを格納するデータ格納手段をさらに有し、
     前記被写体の3次元モデルの生成が停止されている間は、既に前記データ格納手段に格納されている前記被写体の3次元モデルのうちの最新の3次元モデルの位置を示すポインタが前記データ格納手段に格納されることを特徴とする請求項7に記載の情報処理装置。
  9.  前記被写体の3次元モデルに基づいて仮想視点から観察される前記被写体の画像を生成し、該画像を用いて仮想視点映像を生成する映像生成手段をさらに有し、
     前記映像生成手段は、前記データ格納手段から前記被写体の3次元モデルを読み出して前記被写体の画像を生成し、前記データ格納手段に前記ポインタが格納されている場合は、前記ポインタにより指示される位置から前記3次元モデルを読み出すことを特徴とする請求項8に記載の情報処理装置。
  10.  前記被写体の3次元モデルに基づいて仮想視点から観察される前記被写体の画像を生成し、該画像を用いて仮想視点映像を生成する映像生成手段をさらに有し、
     前記映像生成手段は、前記データ格納手段から前記被写体の3次元モデルを読み出して前記被写体の画像を生成し、前記ポインタが格納されている場合は、読み出し済みの3次元モデルを流用することを特徴とする請求項8に記載の情報処理装置。
  11.  前記制御手段は、前記特定手段により特定された前記被写体の3次元モデルの時間経過に伴う変化が小さいほど、前記モデル生成手段による前記被写体の3次元モデルの生成頻度を低くすることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  12.  前記制御手段は、前記複数の映像のフレームごとに3次元モデルを生成する第1の頻度と、3次元モデルの生成が停止した状態と、前記第1の頻度と前記停止した状態の間の少なくとも1つの頻度とのいずれかに、前記モデル生成手段による前記被写体の3次元モデルの生成頻度を設定することを特徴とする請求項11に記載の情報処理装置。
  13.  前記被写体またはその3次元モデルの属性に基づいて、前記被写体が3次元モデルの生成頻度の制御の対象か否かを判定する判定手段をさらに有し、
     前記制御手段は、前記判定手段により前記被写体が制御の対象であると判定された場合に、前記被写体について3次元モデルの生成頻度の制御を行うことを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
  14.  前記判定手段は、前記被写体の3次元モデルの大きさが閾値より大きい場合に、前記被写体は3次元モデルの生成頻度の制御の対象であると判定することを特徴とする請求項13に記載の情報処理装置。
  15.  前記判定手段は、前記被写体の3次元モデルが人物であると判定した場合に、前記被写体を3次元モデルの生成頻度の制御の対象外と判定することを特徴とする請求項13または14に記載の情報処理装置。
  16.  前記被写体または該被写体の3次元モデルの属性に基づいて前記閾値を設定する設定手段をさらに有する、ことを特徴とする請求項14に記載の情報処理装置。
  17.  複数の撮像装置から取得される複数の映像に基づいて、特定の頻度で被写体の3次元モデルを生成するモデル生成工程と、
     前記被写体の3次元モデルの時間経過に伴う変化を特定する特定工程と、
     前記被写体の3次元モデルの時間経過に伴う変化に基づいて、前記モデル生成工程による前記被写体の3次元モデルの生成の頻度を制御する制御工程と、を有することを特徴とする情報処理方法。
  18.  コンピュータを、請求項1乃至16のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
PCT/JP2022/036386 2021-10-04 2022-09-29 情報処理装置および方法、プログラム WO2023058545A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021163724A JP2023054710A (ja) 2021-10-04 2021-10-04 情報処理装置および方法、プログラム
JP2021-163724 2021-10-04

Publications (1)

Publication Number Publication Date
WO2023058545A1 true WO2023058545A1 (ja) 2023-04-13

Family

ID=85803438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/036386 WO2023058545A1 (ja) 2021-10-04 2022-09-29 情報処理装置および方法、プログラム

Country Status (2)

Country Link
JP (1) JP2023054710A (ja)
WO (1) WO2023058545A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017212593A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 情報処理装置、画像処理システム、情報処理方法、及び、プログラム
WO2019082958A1 (ja) * 2017-10-27 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
JP2019106144A (ja) * 2017-12-14 2019-06-27 キヤノン株式会社 仮想視点画像を生成するシステム、方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017212593A (ja) * 2016-05-25 2017-11-30 キヤノン株式会社 情報処理装置、画像処理システム、情報処理方法、及び、プログラム
WO2019082958A1 (ja) * 2017-10-27 2019-05-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
JP2019106144A (ja) * 2017-12-14 2019-06-27 キヤノン株式会社 仮想視点画像を生成するシステム、方法及びプログラム

Also Published As

Publication number Publication date
JP2023054710A (ja) 2023-04-14

Similar Documents

Publication Publication Date Title
EP3798801A1 (en) Image processing method and apparatus, storage medium, and computer device
CN104380338B (zh) 信息处理器以及信息处理方法
US20200068188A1 (en) Generating apparatus, generating method, and storage medium
US11037325B2 (en) Information processing apparatus and method of controlling the same
US9767611B2 (en) Information processing apparatus and method for estimating depth values using an approximate plane
KR102387891B1 (ko) 화상 처리장치, 화상 처리장치의 제어방법, 및 컴퓨터 판독가능한 기억매체
JP2019016161A (ja) 画像処理装置およびその制御方法
CN102884492A (zh) 增强现实的指向装置
US10573073B2 (en) Information processing apparatus, information processing method, and storage medium
US11900529B2 (en) Image processing apparatus and method for generation of a three-dimensional model used for generating a virtual viewpoint image
US20200104969A1 (en) Information processing apparatus and storage medium
CN108629799B (zh) 一种实现增强现实的方法及设备
US20210407125A1 (en) Object recognition neural network for amodal center prediction
JP2019003428A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018067106A (ja) 画像処理装置、画像処理プログラム、及び画像処理方法
JP2021016547A (ja) プログラム、記録媒体、物体検出装置、物体検出方法及び物体検出システム
US11468258B2 (en) Information processing apparatus, information processing method, and storage medium
US20200118327A1 (en) Image generation apparatus, image generation method, and program
WO2023058545A1 (ja) 情報処理装置および方法、プログラム
JP2017184136A (ja) 情報処理装置、情報処理方法、情報処理システム及びプログラム
JP6817770B2 (ja) 画像処理装置、画像処理方法
US20240005600A1 (en) Nformation processing apparatus, information processing method, and information processing program
EP4296961A1 (en) Image processing device, image processing method, and program
JP7418107B2 (ja) 形状推定装置、形状推定方法及びプログラム
JP6759300B2 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

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

Ref document number: 22878415

Country of ref document: EP

Kind code of ref document: A1