Information Processing Apparatus, Information Processing Method, and Computer-Readable Medium

By using multiple resolutions of voxels in the three-dimensional shape and attribute layers, the voxel resolution is dynamically adjusted, and the problem of large amount of voxel data is solved, achieving the optimization of data volume and the accurate setting of attribute values is achieved.

CN113450449BActive Publication Date: 2025-08-01FUJIFILM BUSINESS INNOVATION CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010926834.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-25
Filing Date
2020-09-07
Publication Date
2025-08-01
Estimated Expiration
2040-09-07

AI Technical Summary

Technical Problem

In voxel data representing three-dimensional shapes, the high resolution requirements of shape information and attribute information are inconsistent, resulting in a huge amount of data.

Method used

Voxels with multiple resolutions are used to represent three-dimensional space, and the three-dimensional shape and attribute information are stored separately through the shape layer and the attribute layer, and the resolution of voxels is dynamically adjusted according to the position and resolution to optimize data management.

Benefits of technology

Reduces the amount of data, improves the efficiency of data management, and can accurately set attribute values at different locations and resolutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113450449B_ABST
    Figure CN113450449B_ABST
Patent Text Reader

Abstract

An information processing apparatus, an information processing method, and a computer-readable medium are provided. The information processing apparatus has a processor. The volume data representing a three-dimensional space using a plurality of voxels is composed of a shape layer and an attribute layer. The shape layer is composed of shape voxels that store characteristic values representing the three-dimensional shape of an object to be represented, and the attribute layer is composed of attribute voxels that store attribute values of the object or the surroundings of the object. The attribute layer is composed of layers corresponding to respective attributes. The processor acquires the volume data that constitutes the layers using voxels of a plurality of resolutions, accepts the specified attribute, the position of the voxels, and the resolution, and when there is no voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute in the volume data, determines the attribute value of the voxel of the specified resolution corresponding to the specified position in the specified attribute layer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing apparatus, an information processing method, and a computer-readable medium. Background Art

[0002] Japanese Patent Publication No. 4208191 discloses a method for generating volume data that combines shape and physical quantities. The method is characterized in that a computer is used to obtain external data (12) composed of shape data of an object (1) through an external data acquisition unit (S1), input the external data into the computer through an external data input unit (A), divide the external data into shape units (13) in the shape of cubes orthogonal to the boundary plane by octree division through a shape data division unit (B), store the shape data for each shape unit, and divide the physical quantities of the object into different physical quantity units (13') by octree division for each physical quantity through a physical quantity division unit (C), and store each physical quantity for each physical quantity unit. Summary of the Invention

[0003] In recent years, techniques for representing the shape of a three-dimensional structure (hereinafter referred to as "three-dimensional shape") obtained by MRI (Magnetic Resonance Imaging), a laser scanner, etc. using voxels have been widely used.

[0004] For example, in order to analyze the performance of a three-dimensional structure, each voxel of voxel data representing the three-dimensional shape sometimes holds information representing the three-dimensional shape (hereinafter referred to as "shape information"), such as position and signed distance field, and information representing attributes corresponding to the position of the voxel, such as physical properties, physical characteristics, and analysis values of the three-dimensional structure (hereinafter referred to as "attribute information").

[0005] However, in voxel data representing a three-dimensional shape, the parts that require high resolution in shape information, such as those with large shape changes, and the parts that require high resolution in attribute information, such as those with large changes in physical characteristics corresponding to position, are not necessarily the same.

[0006] Therefore, when considering shape information and attribute information, if the same resolution is set for voxels, the data volume may become large.

[0007] An object of the present disclosure is to provide an information processing apparatus, an information processing method, and a computer-readable medium that can reduce the data volume compared to the case where the same resolution is set considering shape information and attribute information.

[0008] According to a first aspect of the present disclosure, there is provided an information processing apparatus having a processor. In the volumetric data, a three-dimensional space is represented by a plurality of voxels. The volumetric data is composed of a shape layer and an attribute layer. The shape layer is composed of shape voxels that store characteristic values representing the three-dimensional shape of an object, and the attribute layer is composed of attribute voxels that store attribute values of the object or the surroundings of the object. The attribute layer is composed of layers corresponding to respective attributes. The processor acquires the volumetric data in which the layers are composed of voxels having a plurality of resolutions. The processor receives the specified attribute, the position of the voxel, and the resolution. When there is no voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute in the volumetric data, the processor determines the attribute value of the voxel of the specified resolution corresponding to the specified position in the specified attribute layer.

[0009] According to a second aspect of the present disclosure, the voxels having a plurality of resolutions are the voxels having the lowest resolution obtained by dividing the three-dimensional space at a fixed interval and the voxels having a higher resolution obtained by recursively dividing the voxels.

[0010] According to a third aspect of the present disclosure, the processor sets a deviation between the attribute value held by the voxel having a lower resolution and the attribute value assigned to the voxel having a higher resolution as the attribute value of the voxel having a higher resolution.

[0011] According to a fourth aspect of the present disclosure, in the attribute layer of the specified attribute, the processor derives the attribute value from the voxel corresponding to the specified position and determines the attribute value of the voxel corresponding to the specified position and the specified resolution.

[0012] According to a fifth aspect of the present disclosure, in the voxel corresponding to the specified position, the attribute value is derived using the attribute value set in at least one of the voxel having the same resolution as the specified resolution, the voxel having a higher resolution than the specified resolution, and the voxel having a lower resolution than the specified resolution.

[0013] According to a sixth aspect of the present disclosure, the processor derives the attribute value using statistics.

[0014] According to a seventh aspect of the present disclosure, the processor acquires the volumetric data, receives the attribute value corresponding to the specified attribute, the position of the voxel, and the resolution. When the resolution of the voxel corresponding to the specified position in the attribute layer of the specified attribute is lower than the specified resolution, the processor divides the voxel corresponding to the specified position, adds voxels of the specified resolution, and sets the attribute value for the voxel corresponding to the specified position and the specified resolution.

[0015] According to the eighth aspect of the present disclosure, in the property layer of the specified property, when the voxel corresponding to the specified position is divided into voxels with a resolution higher than the specified resolution, the processor deletes the high-resolution voxels and sets the property value for the voxels at the specified position and resolution.

[0016] According to the ninth aspect of the present disclosure, the processor reflects the property value of the property layer to the corresponding position of the shape layer for display.

[0017] According to the tenth aspect of the present disclosure, there is provided a computer-readable medium storing a program for causing a computer to execute processing. In the processing, volume data represents a three-dimensional space using a plurality of voxels. The volume data includes a shape layer and a property layer. The shape layer is composed of shape voxels that store characteristic values representing the three-dimensional shape of an object, and the property layer is composed of property voxels that store property values of the object or the surroundings of the object. The property layer is composed of layers corresponding to respective properties. In the processing, the volume data composed of voxels with multiple resolutions is obtained, and the specified property, the position of the voxels, and the resolution are accepted. When there is no voxel with the specified resolution corresponding to the specified position in the property layer corresponding to the specified property of the volume data, the property value of the voxel with the specified resolution corresponding to the specified position in the specified property layer is determined.

[0018] According to the eleventh aspect of the present disclosure, there is provided an information processing method. In the method, volume data represents a three-dimensional space using a plurality of voxels. The volume data includes a shape layer and a property layer. The shape layer is composed of shape voxels that store characteristic values representing the three-dimensional shape of an object, and the property layer is composed of property voxels that store property values of the object or the surroundings of the object. The property layer is composed of layers corresponding to respective properties. The volume data composed of voxels with multiple resolutions is obtained, and the specified property, the position of the voxels, and the resolution are accepted. When there is no voxel with the specified resolution corresponding to the specified position in the property layer corresponding to the specified property of the volume data, the property value of the voxel with the specified resolution corresponding to the specified position in the specified property layer is determined.

[0019] Effect of the Invention

[0020] According to the first, tenth, or eleventh aspect, the data amount can be reduced compared to the case where the same resolution is set considering shape information and property information.

[0021] According to the second aspect, voxels corresponding to the magnitude of changes in the attribute values and characteristic values can be set.

[0022] According to the third aspect, compared with the case of uniformly setting attribute values of the same data volume, the data volume can be further reduced.

[0023] According to the fourth aspect, even when the voxels do not hold valid attribute values, the attribute values can be determined.

[0024] According to the fifth aspect, when the voxels do not hold valid attribute values, attribute values corresponding to the set voxels and attributes can be derived.

[0025] According to the sixth aspect, attribute values corresponding to the attributes can be derived.

[0026] According to the seventh aspect, even when voxels of the specified resolution do not exist at the specified position, attribute values can be set for the voxels of the specified position and resolution.

[0027] According to the eighth aspect, the attribute values intended by the user can be set for the intended voxels.

[0028] According to the ninth aspect, the detailed data held in the attribute layer and the shape layer can be displayed simultaneously. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 is a structural diagram showing an example of the three-dimensional modeling system of the present embodiment.

[0030] Figure 2 is a structural diagram showing an example of the information processing apparatus of the present embodiment.

[0031] Figure 3 is a block diagram showing an example of the functional structure of the information processing apparatus of the present embodiment.

[0032] Figure 4 is a diagram showing an example of voxels for explaining the resolution of the present embodiment.

[0033] Figure 5 is a diagram showing an example of a layer of the present embodiment.

[0034] Figure 6 is a diagram showing an example of a three-dimensional shape represented by voxels of the present embodiment.

[0035] Figure 7 is a structural diagram showing an example of the three-dimensional modeling apparatus of the present embodiment.

[0036] Figure 8 is a diagram showing an example of a data structure represented using a multiway tree of the present embodiment.

[0037] Figure 9 It is a structural diagram showing an example of a data structure for deriving attribute values for explaining the present embodiment.

[0038] Figure 10 It is a flowchart showing an example of the information processing of the present embodiment.

[0039] Figure 11 It is a flowchart showing an example of the setting process of the present embodiment.

[0040] Figure 12 It is a flowchart showing an example of the reading process of the present embodiment. Detailed Description of the Preferred Embodiment

[0041] Hereinafter, a mode example for implementing the present disclosure will be described in detail with reference to the accompanying drawings.

[0042] Figure 1 It is a structural diagram of the three-dimensional modeling system 1 of the present embodiment. As Figure 1 shown, the three-dimensional modeling system 1 includes an information processing device 10 and a three-dimensional modeling device 200.

[0043] Next, with reference to Figure 2 the structure of the information processing device 10 of the present embodiment will be described. Figure 2 It is a structural diagram showing an example of the information processing device 10 of the present embodiment.

[0044] The information processing device 10 is constituted by, for example, a personal computer or the like, and includes a controller 11. The controller 11 includes a CPU (Central Processing Unit) 11A, a ROM (Read Only Memory) 11B, a RAM (Random Access Memory) 11C, a non-volatile memory 11D, and an input / output interface (I / O) 11E. Further, the CPU 11A, the ROM 11B, the RAM 11C, the non-volatile memory 11D, and the I / O 11E are respectively connected via a bus 11F. In addition, the CPU 11A is an example of a processor.

[0045] In addition, an operation unit 12, a display unit 13, a communication unit 14, and a storage unit 15 are connected to the I / O 11E.

[0046] The operation unit 12 is configured to include, for example, a mouse and a keyboard.

[0047] The display unit 13 is constituted by, for example, a liquid crystal display or the like.

[0048] The communication unit 14 is an interface for data communication with an external device such as the three-dimensional modeling device 200.

[0049] The storage unit 15 is composed of a non-volatile storage device such as a hard disk, and stores an information processing program, three-dimensional shape data, etc. to be described later. The CPU 11A reads and executes the information processing program stored in the storage unit 15. In addition, the three-dimensional shape data of the present embodiment will be described in the form of voxel data. Here, voxel data is an example of volume data.

[0050] Next, Figure 3 the functional structure of the CPU 11A will be described. Figure 3 It is a block diagram showing an example of the functional structure of the information processing apparatus 10 of the present embodiment.

[0051] As Figure 3 shown, the CPU 11A functionally includes an acquisition unit 20, a reception unit 21, a derivation unit 22, a setting unit 23, a conversion unit 24, and an output unit 25.

[0052] The acquisition unit 20 acquires voxel data representing a three-dimensional space using a plurality of voxels.

[0053] The reception unit 21 receives an attribute specified by the user, the position of the specified voxel, the specified resolution, and the specified attribute value. Here, in the voxel data of the present embodiment, voxels of various sizes (resolutions) are set according to the position of the three-dimensional shape. For example, in the three-dimensional shape, smaller (higher-resolution) voxels are set in the part where the change in the attribute value, etc. is large, and the attribute value, etc. is stored in detail, and larger (lower-resolution) voxels are set in the part where the change is small. In addition, hereinafter, the voxel corresponding to the attribute layer of the specified attribute, the position of the specified voxel, and the resolution of the specified voxel will be referred to as the "specified voxel". In addition, the voxel with a lower resolution will be referred to as a "lower voxel", and the voxel with a higher resolution will be referred to as an "upper voxel".

[0054] Specifically, as Figure 4 shown, the resolution of the voxel 30 with the lowest resolution set for the voxel data is set to level 0, the resolution of the voxel 31 obtained by dividing the voxel 30 into 64 parts is set to level 1, and the resolution of the voxel 32 obtained by further dividing the voxel 31 into 64 parts is set to level 2. In this way, the voxel data is composed of voxels with a lower resolution obtained by dividing the three-dimensional space at a fixed interval, and voxels with a higher resolution obtained by recursively dividing the voxels with a lower resolution. In addition, by recursively dividing the voxels, voxels corresponding to the size of the change are set to maintain the attribute value, etc.

[0055] In addition, in the present embodiment, a method of dividing a voxel into 64 parts has been described. However, it is not limited thereto. The voxel may be divided into 8 parts, or the level 0 may be divided into 27 parts and the level 1 may be divided into 64 parts, etc., and the number of divisions may be changed according to each resolution.

[0056] The derivation unit 22 derives an attribute value from a voxel corresponding to a specified position in an attribute layer of a specified attribute.

[0057] In addition, the attribute layer of the present embodiment is a layer configured by voxels (hereinafter referred to as "attribute voxels") that store attribute values of an object to be stored or the surroundings of the object for each attribute. Further, the voxel data of the present embodiment holds a shape layer and an attribute layer configured by voxels (hereinafter referred to as "shape voxels") that store characteristic values representing the three-dimensional shape of the object.

[0058] Here, with reference to Figure 5 (a), Figure 5 (b) and Figure 5 (c), the shape layer and the attribute layer will be described. Figure 5 (a) is a schematic diagram showing a state in which air flows inside the three-dimensional shape 33 of the present embodiment, Figure 5 (b) is a shape layer composed of the shape voxels 34 of the present embodiment, Figure 5 (c) is an attribute layer composed of the attribute voxels 35 of the present embodiment.

[0059] For example, as shown in Figure 5 (a), when air flows inside the three-dimensional shape 33, the shape voxels 34 of the three-dimensional shape 33 and the attribute voxels 35 (representing the velocity of air, etc.) are set as shown in Figure 5 (b) and Figure 5 (c). As shown in Figure 5 (b), the shape voxels 34 are set along the shape of the three-dimensional shape 33. In contrast, as shown in Figure 5 (c), the attribute voxels 35 are set throughout the inside of the three-dimensional shape 33. In this case, when characteristic values and attribute values are set for one voxel, the management of the characteristic values and the attribute values becomes cumbersome, and considering the above-mentioned resolution of the voxel, the management of the voxel sometimes becomes complicated. In response to this, in the present embodiment, as in managing the shape layer of the shape voxels 34 having characteristic values set as shown in Figure 5 (b), and the attribute layer of the attribute voxels 35 having attribute values set for each attribute as shown in Figure 5 (c), storage is performed separately according to each piece of information to be managed. Thereby, the management of the voxels set according to the shape and the attribute becomes easy.

[0060] In addition, the characteristic value stored in the shape voxel of the present embodiment is the value of a signed distance field (SDF) that manages the distance value in a signed manner. The SDF is a well-known method for representing the positional relationship of a three-dimensional shape, and the signed distance of the voxel is set to the distance from a predetermined place such as the center of gravity of the voxel to the nearest polygon. At this time, when the CPU 11A determines that the predetermined place that is the reference point for measuring the distance is included in the interior of the three-dimensional shape, a positive sign is set for the calculated distance, and when it is not included in the interior of the three-dimensional shape, a negative sign is set for the calculated distance.

[0061] The setting unit 23 sets the attribute value received by the reception unit 21 or the attribute value derived by the derivation unit 22 at the specified position and the voxel at the specified resolution in the attribute layer of the specified attribute.

[0062] The conversion unit 24 converts the voxel data into polygon mesh data using a predetermined method. Here, the predetermined method is a method for converting voxel data into polygon mesh data. In addition, polygon mesh data refers to data that represents a three-dimensional shape in a mesh form by combining a plurality of polygons such as triangles. In the present embodiment, as an example of the predetermined method, the case of using the marching cubes method will be described, but it is not limited thereto. The marching cubes method is a method for converting into polygon mesh data by setting a predetermined surface according to the pattern of the presence or absence of voxels in a set of 8 adjacent voxels of 2×2×2.

[0063] The output unit 25 outputs the attribute value of the specified voxel. In addition, the output unit 25 outputs the voxel data to the three-dimensional modeling device 200.

[0064] In addition, the manner in which the output unit 25 of the present embodiment outputs the attribute value of the specified voxel will be described. However, it is not limited thereto. As the three-dimensional shape, the output unit 25 may also output by overlapping the attribute layer on the shape layer to the display unit 13. For example, when the attribute is temperature, the display color may be set for each temperature, and the color corresponding to the temperature held by the attribute voxel may be reflected on the corresponding position of the shape layer for display.

[0065] Next, with reference to Figure 6 A three-dimensional shape 37 represented by the voxel 36 will be described. Figure 6 It is a diagram showing an example of the three-dimensional shape 37 represented by the voxel 36 of the present embodiment.

[0066] As Figure 6 shown, the three-dimensional shape 37 is composed of a plurality of voxels 36. Here, the voxel 36 is a basic element of the three-dimensional shape 37. For example, a cuboid is used, but it is not limited to a cuboid, and a sphere, a cylinder, or the like may also be used. The desired three-dimensional shape 37 is represented by stacking the voxels 36.

[0067] As a three-dimensional modeling method for modeling the three-dimensional shape 37, for example, the fused deposition modeling method (FDM method: Fused Deposition Modeling) that models the three-dimensional shape 37 by melting and laminating a thermoplastic resin, the selective laser sintering method (SLS method: Selective Laser Sintering) that models the three-dimensional shape 37 by irradiating a laser beam to a powdery metal material and sintering it, etc. can be applied, but other three-dimensional modeling methods can also be used. In the present embodiment, the case of modeling the three-dimensional shape 37 using the selective laser sintering method will be described.

[0068] Next, a three-dimensional modeling apparatus that models the three-dimensional shape 40 using the voxel data obtained from the information processing apparatus 10 will be described. Figure 7 This is an example of the structure of the three-dimensional modeling apparatus 200 of the present embodiment. The three-dimensional modeling apparatus 200 is an apparatus that models the three-dimensional shape 40 by the selective laser sintering method.

[0069] As Figure 7 shown, the three-dimensional modeling apparatus 200 includes an irradiation head 201, an irradiation head drive unit 202, a modeling stage 203, a modeling stage drive unit 204, an acquisition unit 205, and a control unit 206. In addition, the irradiation head 201, the irradiation head drive unit 202, the modeling stage 203, and the modeling stage drive unit 204 are an example of a modeling unit.

[0070] The irradiation head 201 is a laser irradiation head that irradiates a laser to the modeling material 41 in order to model the three-dimensional shape 40.

[0071] The irradiation head 201 is driven by the irradiation head drive unit 202 and scans two-dimensionally on the XY plane.

[0072] The modeling stage 203 is driven by the modeling stage drive unit 204 and moves up and down in the z-axis direction.

[0073] The acquisition unit 205 acquires the voxel data obtained from the information processing apparatus 10.

[0074] The control unit 206 irradiates a laser from the irradiation head 201 to the modeling material 41 disposed on the modeling stage 203 in accordance with the voxel data acquired by the acquisition unit 205, and controls the position of the irradiated laser by the irradiation head drive unit 202.

[0075] In addition, at the end of the modeling of each layer, the control unit 206 drives the modeling stage drive unit 204 to lower the modeling stage 203 by a predetermined layer lamination interval amount, and controls the filling of the modeling material 41 to the modeling stage 203. Thereby, the three-dimensional shape 40 based on the voxel data is modeled.

[0076] Next, before explaining the operation of the information processing apparatus 10 of the present embodiment, with reference to Figure 8 and Figure 9 , a method for deriving and setting the attribute values of the voxels of the present embodiment will be described.

[0077] First, with reference to Figure 8 , a method for reading out the attribute values set in the voxels will be described. Figure 8 is a diagram showing an example of a data structure represented using a multiway tree in the present embodiment.

[0078] As Figure 8 shown, the multiway tree is composed of nodes and edges (branches) connecting the nodes. In the present embodiment, voxels of high resolution are set by recursively dividing voxels of low resolution. Therefore, as a data structure, as Figure 8 shown, a multiway tree is used to represent voxel data. In addition, one node in the multiway tree of the present embodiment corresponds to one voxel in the layer.

[0079] As an example, as Figure 8 shown, the multiway tree is configured to divide the lower-level node 51 of level 0 to set the upper-level node 52 of level 1, and further divide the node 52 to set the node 53 of level 2. Each node is associated with each voxel in the attribute layer using a voxel number. Regarding the voxel number, it is uniquely determined according to the setting range of the voxel data, the number of divisions of the voxel, the attribute, the resolution, and the position (coordinates) of the voxel. For example, regarding the voxel number, when the setting range of the voxels in the voxel data is (9, 9, 9), the voxels existing from the position (0, 0, 0) to (9, 0, 0) are assigned voxel numbers 0 to 9. Similarly, the voxels existing from the position (0, 1, 0) to (9, 1, 0) are assigned voxel numbers 10 to 19. In this way, regarding the voxels of the present embodiment, a method of assigning voxel numbers to the voxels in the attribute layer in the order of the x-axis direction, the y-axis direction, and the z-axis direction from the origin will be described.

[0080] As an example, hereinafter, a case where the setting range of the voxels in the voxel data is (n 0x , n 0y , n 0z ) and the number of voxel divisions when dividing the voxels of level 0 into voxels of level 1 is (n 1x , n 1y , n 1z ) will be described. For example, when the specified resolution is level 1 and the specified position (coordinates) is (x1, y1, z1), the voxel number of the voxel of level 1 is derived by the following formula.

[0081]

[0082]

[0083]

[0084] N0 = x0 + n 0x (y0 + n 0y z0)…(4)

[0085] x 1b = mod(x1, n 1x )…(5)

[0086] y 1b = mod(y1, n 1y )…(6)

[0087] z 1b = mod(z1, n 1z )…(7)

[0088] N 1b = x 1b + n 1x (y1 + n 1y z1)…(8)

[0089] Here, x0 is the x - coordinate of the voxel of level 0 corresponding to the specified position, y0 is the y - coordinate of the voxel of level 0 corresponding to the specified position. In addition, z0 is the z - coordinate of the voxel of level 0 corresponding to the specified position. In addition, N0 is the voxel number of the voxel of level 0 corresponding to the specified position, x1b is the x - coordinate of the voxel of level 1 corresponding to the specified position based on the determined voxel of level 0. In addition, y1b is the y - coordinate of the voxel of level 1 corresponding to the specified position based on the determined voxel of level 0. In addition, z1b is the z - coordinate of the voxel of level 1 corresponding to the specified position based on the determined voxel of level 0. In addition, N1b is the voxel number of the voxel of level 1 corresponding to the specified position. In addition, floor is the floor function that returns the largest integer less than the real number after division, and mod is the remainder function that returns the remainder generated by division.

[0090] Therefore, using the above formulas (1) to (3), voxels of level 0 corresponding to the specified position are determined, and using formula (4), the voxel numbers of the determined voxels of level 0 are derived. Further, using formulas (5) to (7), voxels of level 1 that exist above the determined voxels of level 0 and correspond to the specified position are determined, and using formula (8), the voxel numbers of the determined voxels of level 1 are derived. Therefore, by using formulas (1) to (8), the voxel numbers of level 0 and level 1 are derived, and the attribute values of the specified voxels are determined using the derived voxel numbers of level 0 and level 1. That is, by using the specified attribute, position, and resolution, the nodes of the specified voxels and the subordinate nodes to which the nodes belong are determined, and the attribute values of the specified voxels and the subordinate voxels to which the specified voxels belong are obtained.

[0091] Next, with reference to Figure 9 , a case where the resolution of the voxel corresponding to the specified position does not match the specified resolution will be described. Figure 9 (a) is a diagram showing an example of a data structure for explaining the setting of attribute values in the case where there is no voxel with the specified resolution in the voxel corresponding to the specified position. Figure 9 (b) is a diagram showing an example of a data structure for explaining the setting of attribute values in the case where there is a voxel with a resolution higher than the specified resolution in the voxel corresponding to the specified position. Figure 9 (c) is a diagram showing an example of a data structure for explaining the reading of attribute values when a voxel is specified.

[0092] First, with reference to Figure 9 (a), the following case will be described: Although the node 54 corresponding to the voxel of level 2 is specified, at the specified position, there are only nodes up to the node 55 of level 1 as the low resolution. In this case, the information processing device 10 divides the node 55 of level 1 and adds the node 54 and the node 56 of level 2. In addition, the specified attribute value is set for the node 54, and the attribute value obtained from the node 55 is set for the node 56. In other words, the specified attribute value is set for the node 54 corresponding to the specified voxel, and the attribute value obtained from the subordinate node 55 is set for the node 56 other than the node 54 corresponding to the specified voxel added by the division.

[0093] Next, with reference to Figure 9 (b), the following case will be described: Although the node 57 corresponding to the voxel of level 1 is specified, there is a node 58 of level 2 as the upper node. In this case, the information processing device 10 deletes the upper node 58. In addition, when an attribute value is specified, the information processing device 10 sets the specified attribute value for the node corresponding to the specified voxel.

[0094] In addition, in the present embodiment, a method of deleting upper nodes when there are nodes higher than the node corresponding to the specified voxel has been described. However, it is not limited thereto. When there are upper nodes, the upper nodes may be maintained without being deleted, or the upper nodes may not be deleted and the attribute value specified for the specified voxel may be set for each of the upper nodes.

[0095] Next, with reference to Figure 9 (c), a case of reading an attribute value from the node corresponding to the specified voxel will be described. For example, as shown in Figure 9 (c), when the node 59 holding the attribute value is specified, the information processing apparatus 10 reads the attribute value held by the node 59 and outputs the read value. In addition, when the node 60 that does not hold the attribute value is specified and there is an upper node 61 for the node 60, the information processing apparatus 10 obtains the attribute value held by the upper node 61 to derive a representative value, and outputs the derived representative value as the attribute value of the node 60. In addition, when there is no node 62 with the specified resolution and the node 62 that specifies only the node 60 corresponding to the lower voxel is specified, the information processing apparatus 10 obtains the attribute value held by the lower node 60 and outputs the obtained attribute value as the attribute value of the node 62.

[0096] Therefore, even when the node corresponding to the specified voxel does not exist or does not hold the attribute value, the attribute value is read.

[0097] In addition, in the present embodiment, a method of outputting the attribute value held by the lower node 60 when there is no node 62 with the specified resolution and the node 62 that specifies only the node 60 corresponding to the lower voxel has been described. However, it is not limited thereto. For example, when there is a node 61 with the same resolution as the node 62 and belonging to the same node 60, the attribute value of the node 61 may be obtained and a representative value may be derived, and the derived representative value may be output as the attribute value of the node 62.

[0098] In addition, in the present embodiment, a method of obtaining an attribute value from a node belonging to the same node among the nodes corresponding to the specified voxel and deriving a representative value has been described. However, it is not limited thereto. The attribute value may also be obtained from the voxels located around the specified voxel. For example, when a voxel of level 0 is specified, the attribute value may be obtained from voxels of level 0, level 1, level 2, etc. belonging to the voxels adjacent to the voxel, and a representative value may be derived.

[0099] In addition, representative values of the present embodiment are derived using statistics such as the average value, maximum value, minimum value, total value, and median value of the acquired attribute values. In addition, weighted averages may be used to derive representative values. For example, it may be derived using the distance from a specified voxel to voxels located around the specified voxel and the attribute values held by the surrounding voxels.

[0100] Next, refer to Figures 10 to 12 to explain the operation of the information processing program of the present embodiment. Figure 10 is a flowchart showing an example of the information processing of the present embodiment. The CPU 11A reads and executes the information processing program from the ROM 11B or the non-volatile memory 11D to execute Figure 10 the information processing shown. Regarding Figure 10 the information processing shown, for example, when an execution instruction for the information processing program is input from the user, the information processing is executed.

[0101] In step S101, the CPU 11A acquires voxel data.

[0102] In step S102, the CPU 11A acquires the specified attribute, the position of the voxel, and the resolution of the voxel.

[0103] In step S103, the CPU 11A determines whether an attribute value is set. If an attribute value is set (step S103: Yes), the CPU 11A moves to step S104. On the other hand, if an attribute value is not set (attribute value reading is performed) (step S103: No), the CPU 11A moves to step S105.

[0104] In step S104, the CPU 11A performs attribute value setting processing. In addition, in described later, the setting processing will be described in detail.

[0105] In step S105, the CPU 11A performs attribute value reading processing. In addition, in Figure 11 described later, the reading processing will be described in detail.

[0106] Next, refer to to explain the operation of the setting processing program of the present embodiment. Figure 12 is a flowchart showing an example of the setting processing of the present embodiment. The CPU 11A reads and executes the setting processing program from the ROM 11B or the non-volatile memory 11D to execute the setting processing shown. Regarding Figure 11 the setting processing shown, for example, when an execution instruction for the setting processing program is input from the information processing program, the setting processing is executed.

[0107] In step S201, the CPU 11A determines whether there is a specified voxel. If there is a specified voxel (step S201: Yes), the CPU 11A proceeds to step S202. On the other hand, if there is no specified voxel (step S201: No), the CPU 11A proceeds to step S204.

[0108] In step S202, the CPU 11A determines whether there is a voxel above the specified voxel. If there is a voxel above (step S202: Yes), the CPU 11A proceeds to step S203. On the other hand, if there is no voxel above (step S202: No), the CPU 11A proceeds to step S207.

[0109] In step S203, the CPU 11A deletes the voxel above so that the specified voxel becomes the topmost.

[0110] In step S204, the CPU 11A obtains the attribute value from the voxel below corresponding to the specified position.

[0111] In step S205, the CPU 11A divides the voxel below and adds voxels of the specified resolution.

[0112] In step S206, the CPU 11A sets the attribute value obtained from the voxel below to the voxels added by the division.

[0113] In step S207, the CPU 11A obtains the specified attribute value.

[0114] In step S208, the CPU 11A sets the specified attribute value to the specified voxel.

[0115] Next, refer to The operation of the read processing program of this embodiment will be described. Figure 11 is a flowchart showing an example of the read processing of this embodiment. The CPU 11A reads and executes the read processing program from the ROM 11B or the non-volatile memory 11D to execute the shown read processing. Regarding the Figure 11 Figure 11 Figure 12 Figure 12 Figure 12 Figure 12 shown read processing, for example, when an execution instruction of the read processing program is input from the information processing program, the read processing is executed.

[0116] In step S301, the CPU 11A determines whether there is a specified voxel. If there is a specified voxel (step S301: Yes), the CPU 11A proceeds to step S304. On the other hand, if there is no specified voxel (step S301: No), the CPU 11A proceeds to step S302.

[0117] In step S302, the CPU 11A acquires an attribute value from a lower voxel corresponding to the specified position.

[0118] In step S303, the CPU 11A outputs the acquired attribute value.

[0119] In step S304, the CPU 11A determines whether there is an upper voxel in the specified voxel. If there is an upper voxel (step S304: Yes), the CPU 11A proceeds to step S305. On the other hand, if there is no upper voxel (step S304: No), the CPU 11A proceeds to step S306.

[0120] In step S305, the CPU 11A determines whether an attribute value is set for the specified voxel. If an attribute value is set for the specified voxel (step S305: Yes), the CPU 11A proceeds to step S306. On the other hand, if no attribute value is set for the specified voxel (step S305: No), the CPU 11A proceeds to step S307.

[0121] In step S306, the CPU 11A acquires the attribute value of the specified voxel.

[0122] In step S307, the CPU 11A acquires an attribute value from the upper voxel.

[0123] In step S308, the CPU 11A derives a representative value using the acquired attribute value.

[0124] In step S309, the CPU 11A outputs the derived representative value.

[0125] As described above, according to the present embodiment, in the shape layer and the attribute layer, voxels of multiple resolutions corresponding to the magnitudes of changes in each layer are set. Therefore, the data volume is reduced compared to the case where the same resolution is set considering the shape information and the attribute information.

[0126] In addition, in the present embodiment, a method of holding respective attribute values for each voxel (node) has been described. However, it is not limited thereto. For example, as the attribute value of a voxel (node), a deviation between the attribute value of a lower voxel (node) and the attribute value set for an upper voxel (node) may be set. In this case, the lowermost voxel (node) of level 0 holds an attribute value, and upper voxels (nodes) of level 1 and later hold the deviation between the attribute value given to the lower voxel (node) and the attribute value given to itself. By setting a deviation for the voxel (node), the significant digits of the given attribute value become larger, and the smaller the local deviation, the lower the data volume held by the voxel (node).

[0127] The present disclosure has been described using various embodiments, but the present disclosure is not limited to the scope described in each embodiment. Various changes or improvements can be made to each embodiment without departing from the gist of the present disclosure, and the embodiments to which such changes or improvements are applied are also included in the technical scope of the present disclosure.

[0128] For example, in the present embodiment, the case where the information processing device 10 and the three-dimensional modeling device 200 that models a three-dimensional shape based on three-dimensional shape data are independent structures has been described. However, it is not limited thereto. The three-dimensional modeling device 200 may also be configured to have the functions of the information processing device 10.

[0129] In addition, in the present embodiment, the processor refers to a processor in a broad sense, including general-purpose processors such as a CPU (Central Processing Unit), and dedicated processors such as a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and a programmable logic device.

[0130] Furthermore, the operations of the processor in each of the above embodiments are not implemented by only one processor, but can also be implemented by multiple processors located at physically separated positions in cooperation. In addition, the order of each operation of the processor is not limited to the order described in each of the above embodiments, and can be appropriately changed.

[0131] In addition, in the present embodiment, the case where the information processing program for determining the attribute value is installed in the storage unit 15 has been described, but it is not limited thereto. It can also be provided by recording the information processing program of the present embodiment on a computer-readable storage medium. For example, it can also be provided by recording the information processing program of the present disclosure on an optical disc such as a CD (Compact Disc)-ROM and a DVD (Digital Versatile Disc)-ROM. It can also be provided by recording the information processing program of the present disclosure on a semiconductor memory such as a USB (Universal Serial Bus) memory and a memory card. In addition, the information processing program of the present embodiment can also be obtained from an external device via a communication line connected to the communication unit 14.

Claims

1. An information processing apparatus having a processor, wherein the volumetric data represents a three-dimensional space using a plurality of voxels, the volumetric data is composed of a shape layer and an attribute layer, the shape layer being composed of shape voxels that store characteristic values representing the three-dimensional shape of an object, and the attribute layer being composed of attribute voxels that store attribute values of the object or the surroundings of the object, the attribute layer is composed of layers corresponding to respective attributes, the processor acquires the volumetric data in which the layers are composed of voxels having a plurality of resolutions, the processor accepts the specified attribute, the position of the voxel, and the resolution, when there is no voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute in the volumetric data, the processor determines the attribute value of the voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute, the voxels of the plurality of resolutions are the voxels with the lowest resolution obtained by dividing the three-dimensional space at a fixed interval, and the voxels with a higher resolution obtained by recursively dividing the voxels, the processor sets the deviation between the attribute value held by the voxel with a lower resolution and the attribute value given to the voxel with a higher resolution as the attribute value of the voxel with a higher resolution, the attribute value of the voxel with a higher resolution is derived based on the attribute value held by the voxel with a lower resolution and the set deviation.

2. The information processing apparatus according to claim 1, wherein in the attribute layer of the specified attribute, the processor derives the attribute value from the voxel corresponding to the specified position, and determines the attribute value of the voxel corresponding to the specified position and the specified resolution.

3. The information processing apparatus according to claim 2, wherein in the voxel corresponding to the specified position, the attribute value is derived using the attribute value set in at least one of the voxel having the same resolution as the specified resolution, the voxel having a higher resolution than the specified resolution, and the voxel having a lower resolution than the specified resolution.

4. The information processing apparatus according to claim 3, wherein the processor derives the attribute value using statistics related to the attribute values set in a plurality of voxels having the same or different resolutions as the specified resolution.

5. The information processing apparatus according to any one of claims 1 to 4, wherein the processor acquires the volumetric data, accepts the attribute value corresponding to the specified attribute, the position of the voxel, and the resolution, and when the resolution of the voxel corresponding to the specified position in the attribute layer of the specified attribute is lower than the specified resolution, divides the voxel corresponding to the specified position, adds voxels of the specified resolution, and sets the attribute value for the voxel corresponding to the specified position and the specified resolution.

6. The information processing apparatus according to claim 5, wherein In the case where, in the attribute layer of the specified attribute, the voxel corresponding to the specified position is divided into voxels of a resolution higher than the specified resolution, the processor deletes the voxels of the higher resolution, and sets the attribute value for the voxels at the specified position and resolution.

7. The information processing apparatus according to any one of claims 1 to 4, wherein the processor reflects the attribute value of the attribute layer to the corresponding position in the shape layer for display.

8. A computer-readable medium storing a program for causing a computer to execute processing, wherein volume data represents a three-dimensional space using a plurality of voxels, the volume data being composed of a shape layer and an attribute layer, the shape layer being composed of shape voxels that store characteristic values representing the three-dimensional shape of an object to be represented, and the attribute layer being composed of attribute voxels that store attribute values of the object or the surroundings of the object, the attribute layer is composed of layers corresponding to respective attributes, in the processing, obtain the volume data in which the layers are composed of voxels of a plurality of resolutions, receive the specified attribute, the position of the voxel, and the resolution, in the case where there is no voxel of the specified resolution corresponding to the specified position in the attribute layer of the volume data corresponding to the specified attribute, determine the attribute value of the voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute, the voxels of the plurality of resolutions are the voxels of the lowest resolution obtained by dividing the three-dimensional space at a fixed interval, and the voxels of the higher resolution obtained by recursively dividing the voxels, the processor sets, for the attribute value of the voxels of the higher resolution, the deviation between the attribute value held by the voxels of the lower resolution and the attribute value given to the voxels of the higher resolution, derive the attribute value of the voxels of the higher resolution based on the attribute value held by the voxels of the lower resolution and the set deviation.

9. An information processing method, wherein volume data represents a three-dimensional space using a plurality of voxels, the volume data being composed of a shape layer and an attribute layer, the shape layer being composed of shape voxels that store characteristic values representing the three-dimensional shape of an object to be represented, and the attribute layer being composed of attribute voxels that store attribute values of the object or the surroundings of the object, the attribute layer is composed of layers corresponding to respective attributes, obtain the volume data in which the layers are composed of voxels of a plurality of resolutions, receive the specified attribute, the position of the voxel, and the resolution, in the case where there is no voxel of the specified resolution corresponding to the specified position in the attribute layer of the volume data corresponding to the specified attribute, determine the attribute value of the voxel of the specified resolution corresponding to the specified position in the attribute layer corresponding to the specified attribute, the voxels of the plurality of resolutions are the voxels of the lowest resolution obtained by dividing the three-dimensional space at a fixed interval, and the voxels of the higher resolution obtained by recursively dividing the voxels, The processor sets the deviation between the attribute value maintained by the voxel with low resolution and the attribute value assigned to the voxel with high resolution for the attribute value of the voxel with high resolution. Derive the attribute value of the voxel with high resolution based on the attribute value maintained by the voxel with low resolution and the set deviation.

Citation Information

Patent Citations

  • How to form a perspective drawing from voxel space

    JP2002531905A

  • Generating Method, Generating Apparatus, and Generating Program for Volume Data Integrating Shape and Physical Quantity

    JP4208191B2