Spatial partitioning storage method, decoding method, spatial partitioning storage program, and decoding program

The spatial partitioning storage method addresses inefficiencies in segment image storage and decoding by dividing pixel spaces into regions, forming hierarchical structures, and integrating nodes based on code length comparisons, achieving efficient data storage and simplified decoding in low-resource environments.

JP7870996B1Active Publication Date: 2026-06-08飯塚 綾

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
飯塚 綾
Filing Date
2026-03-17
Publication Date
2026-06-08

AI Technical Summary

Technical Problem

Existing methods for storing and decoding segment images in low-resource environments face challenges such as increased computational load, memory requirements, and inefficient referencing due to geometric calculations and hierarchical structures that do not reflect spatial continuity and regularity, leading to bloated structures and complex decoding processes.

Method used

A spatial partitioning storage method that divides pixel spaces into regions, recursively segments them into subblocks, and forms a hierarchical subtree structure, comparing code lengths to determine whether to retain nodes as terminal blocks or integrate them, allowing for reversible data compression and simplified decoding.

Benefits of technology

This method reduces data storage and computational load by reflecting spatial continuity and regularity, enabling efficient partial referencing and decoding in low-resource environments, even with high-resolution images, by simplifying the hierarchical structure and reducing redundant encoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007870996000001_ABST
    Figure 0007870996000001_ABST
Patent Text Reader

Abstract

This provides a storage technology for segment images that can be expanded in resource-poor environments. [Solution] The spatial partitioning storage method of the present invention targets a segment image in which attribute values ​​are the pixel space, and includes a partitioning step in which the pixel space is recursively partitioned based on a predetermined partitioning ratio to form a hierarchical partitioned structure consisting of branch tree nodes and image blocks; a terminal processing step in which, for each region constituting the partitioned structure, the image blocks are ranked higher using the code amount as an indicator; and a structuring step in which the determined branch tree node structure and image blocks are converted into a structured bit sequence (a type of structured data). In particular, the terminal processing step calculates the code amount when generated as structured data for cases where the branch tree nodes and below are held as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", compares the code amounts and selects the smaller one.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a compression storage and decoding technology for segment images that enables partial reference to attribute values at arbitrary positions in a low-resource environment.

Background Art

[0002] In map data, a technology for extracting a closed region based on boundary data and searching for information associated with the region is known. For example, Patent Document 1 discloses a technology for generating a polygon based on a node sequence constituting a boundary and performing information search based on the polygon.

[0003] Also, in order to efficiently store a region image, a technology for recursively dividing an image, hierarchically integrating regions having uniform attribute values, and expressing them as a tree structure is known. For example, Patent Document 2 discloses a technology for hierarchically summarizing a multi-color image in units of "square blocks consisting of a single color", simplifying it into a quadtree structure, and storing image data by compressing the structured data.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] In applications where a segment image containing a region (hereinafter referred to as "segment") consisting of a set of pixels having the same attribute value is stored at high resolution and attribute values ​​corresponding to an arbitrary position have conventionally been used, such as (1) a polygon method that stores region boundaries as a coordinate sequence, (2) a method that stores and compresses the image as a raster image, and (3) a method that hierarchically represents uniform regions using a branch tree structure.

[0006] For example, the polygon method described in Patent Document 1 requires geometric calculations to determine which region a specified coordinate belongs to, and the amount of calculation and storage increases with the increase in the number of nodes constituting the boundary and the improvement in coordinate accuracy. For this reason, it was not suitable for applications where detailed region information is stored in a small computing device and attribute values ​​are obtained immediately.

[0007] Furthermore, common raster image compression methods lack a coding structure suitable for local referencing, requiring extensive decoding to obtain attribute values ​​at specific locations. Therefore, when dealing with high-resolution segment images, the required memory and processing time increase, making efficient referencing difficult in resource-constrained environments.

[0008] Furthermore, in the method of hierarchically representing a uniform region using a branched tree structure described in Patent Document 2, the structure is determined based on uniformity based on the continuity of the same attribute values ​​(hereinafter referred to as "spatial continuity"). As a result, the array structure based on the transition of attribute values ​​(hereinafter referred to as "spatial regularity") is not easily reflected in the structure determination, and there was a problem that subdivision (jaggies, etc.) progressed near the boundaries, causing the branched tree structure to become bloated in the segment image.

[0009] Therefore, the present invention aims to provide a spatial partitioning storage and decoding technique for segment images that allows partial referencing of attribute values ​​at arbitrary locations in a low-resource environment while maintaining highly accurate regional information. [Means for solving the problem]

[0010] A spatial partitioning storage method for a computer system that stores images based on a spatial partitioning structure, characterized by comprising at least the following steps.

[0011] The image acquisition step involves dividing a multidimensional pixel space of two or more dimensions into multiple regions (hereinafter referred to as "segments") and acquiring raster data (hereinafter referred to as "segment images") to which attribute values ​​related to the segments are assigned.

[0012] The segmentation step involves recursively dividing the pixel space of the segment image according to the segmentation ratio into subblocks, which are then placed in hierarchical subtree nodes to form a subtree structure.

[0013] The terminal processing step calculates the code length (e.g., bit length) when generating structured data in accordance with the structuring step for the subtree node generated by the partitioning step, in cases where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values". By comparing the code lengths and selecting the smaller one, the terminal processing step determines whether to retain the subtree node and its subnodes as a hierarchical structure or to replace them with terminal blocks.

[0014] The structuring step generates structured data (e.g., a structured bit string) that includes the branch tree node structure determined by the terminal processing step and the attribute value array information of the terminal block.

[0015] Furthermore, the system may include a compression step in which the structured data is subjected to reversible data compression processing to generate compressed data. [Effects of the Invention]

[0016] According to the present invention, since the integrated terminal block can contain multiple attribute values, the area of ​​the terminal block is expanded compared to terminal blocks limited to a single color (in the case of Patent Document 2), thus simplifying the overall hierarchical structure.

[0017] Furthermore, since it has been confirmed that the terminal block of the present invention has a shorter encoding size than when the subsequent blocks are represented as a hierarchical structure, it is possible to store data while suppressing the amount of data.

[0018] The storage structure configured in this way is serialized in node block units, each containing a partitioned region, and has a configuration that allows for sequential decoding within each node block. Therefore, it is not necessary to expand the entire image when obtaining attribute values ​​corresponding to any given location. This limits the computational effort and memory usage required for referencing a specific location to the size of the local region.

[0019] Furthermore, by comparing the partitioned structure and the integrated structure for each partitioned region based on the actual encoded code amount and selecting the shorter configuration, it is possible to obtain a storage structure that reflects spatial continuity and spatial regularity in the structure determination. Compared to conventional branch tree structures that perform hierarchical partitioning based only on uniform regions, this method suppresses unnecessary hierarchical partitioning and redundant encoding, enabling a representation with reduced actual output code amount.

[0020] In particular, the present invention can simplify the hierarchical structure even in high-resolution segment images. Therefore, decoding only requires operations to unfold the simplified hierarchical structure, thus reducing the computational load. Furthermore, it becomes possible to locally decode the hierarchical structure at the subunit level below the branch tree node. As a result, the computational load is less than that of complex polygon processing (as in Patent Document 1), enabling practical processing even in low-computational-resource environments where computing and memory resources are limited.

[0021] Furthermore, since the structure determination and decoding processes are completed within each partitioned region and do not require complex transformation operations or large amounts of auxiliary information, the processing configuration can be simplified, making it easier to implement in low-computational-resource environments such as embedded devices.

[0022] Further details regarding issues, configuration, and effects other than those mentioned above will be explained in the embodiments described later. [Brief explanation of the drawing]

[0023] [Figure 1] FIG. 1 is a block diagram illustrating the configuration of the spatial division storage device 100. [Figure 2] FIG. 2 is a diagram (1 / 2) showing an operation example of the spatial division storage method. [Figure 3] FIG. 3 is a diagram (2 / 2) showing an operation example of the spatial division storage method. [Figure 4] FIG. 4 is a diagram comparing a map image and a unit segment. [Figure 5] FIG. 5 is a diagram in which one section of an image of a unit segment is divided into pixel units. [Figure 6] FIG. 6 is a schematic diagram of a binary tree node and a tree of the divided image. [Figure 7] FIG. 7 is a diagram showing the progress of the terminal process when the terminal processes of C1, C2, and C3 are possible. [Figure 8] FIG. 8 is a diagram obtained by subjecting the initial divided image of FIG. 5 to a terminal process. [Figure 9] FIG. 9 is a binary tree node structure of the image obtained by the terminal process of FIG. 8. [Figure 10] FIG. 10 is a diagram obtained by serializing the terminal process structure shown in FIG. 9. [Figure 11] FIG. 11 is a schematic diagram of the layout of compressed data. [Figure 12] FIG. 12 is a diagram illustrating a scanning method of a terminal block. [Figure 13] FIG. 13 is a block diagram illustrating the configuration of the decoding device 200. [Figure 14] FIG. 14 is a diagram showing an operation example of the decoding method.

Embodiments of the Invention

[0024] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each embodiment, the operation subject of the "**step" described in the claims is expressed as "**unit" to show the correspondence between the claims and the embodiments.

Examples

[0025] Example 1 is an embodiment of a spatial partitioning storage method performed by the spatial partitioning storage device 100.

[0026] Configuration of Example 1 Figure 1 is a block diagram illustrating the configuration of the spatial division storage device 100. In Figure 1, the spatial division storage device 100 includes an image acquisition unit 110, a segmentation unit 120, a terminal processing unit 130, a structuring unit 140, and a compression unit 150. Furthermore, the spatial division storage device 100 can exchange information with the first storage device 1100, the input device 1200, and the second storage device 1300 as needed.

[0027] The first storage device 1100 and the second storage device 1300 are shown to distinguish between information that is input to the spatial partitioning storage device 100 and information that is output to it, but they may be configured as the same storage device.

[0028] The arrangement of the first storage device 1100, the input device 1200, and the second storage device 1300 may be within the same device as the spatial division storage device 100, or they may be provided as external devices, as long as information exchange with the spatial division storage device 100 is possible.

[0029] (Functions of the image acquisition unit 110) The image acquisition unit 110 receives segment images from the first storage device 1100 as data to be compressed. It also receives segment image definition information as supplementary information for the segment images.

[0030] Furthermore, the image acquisition unit 110 may accept parameters from the input device 1200 that specify the operating conditions for the compression process. Examples include the size of the unit segment image, the maximum division depth in the division unit 120, limitations on the applicable structuring rules in the terminal processing, and the output data identifier in the compression process.

[0031] A "segmented image" is raster data that has a pixel space in which attribute values ​​are arranged in a regular pattern.

[0032] "Pixel space" refers to an array structure in which pixels are arranged according to coordinates. This array structure has a size determined by the number of pixels in each dimension, and the size can be obtained from the segment image. It may also consist of two or more dimensions.

[0033] If the segment image is two-dimensional, the pixel space is configured as a two-dimensional array in which pixels are arranged in a first direction and a second direction.

[0034] If the segment image has three or more dimensions, the pixel space is configured as a multidimensional array that includes one or more additional dimensions in addition to the existing dimensions.

[0035] Segment image definition information refers to information that defines the structure and positional relationships of the pixel space of a segment image. This includes the sampling resolution per pixel, as well as reference point position information for arranging the segment image on a predetermined reference coordinate system. Furthermore, it may also include identification information or display metadata for identifying or displaying the segment image.

[0036] The image acquisition unit 110, in order to treat the segment images as unit segment images, performs at least one of the following operations on the received segment images: padding, trimming, division, or pixel count conversion. This adjusts the size of each dimension in the pixel space to a size that does not produce a remainder in the recursive division process based on the division ratio (for example, a power of 2 if the division into two is repeated), thereby generating a group of unit segment images.

[0037] The image acquisition unit 110 adjusts the size of each dimension in the pixel space to match the division ratio, so that no excess space is generated in the recursive division process, and the branch tree node structure is constructed regularly.

[0038] If the unit segment image and the pixel area size of the segment image (hereinafter referred to as the unit image size) do not match, then positional information indicating the location of each unit segment image within the pixel space of the segment image is passed to the next stage as positional information for each unit segment image.

[0039] The following descriptions are arbitrary configuration examples for the image acquisition unit 110.

[0040] The unit image size may be set considering consistency with subsequent encoding processes, such that the number of pixels contained in the unit segment image does not exceed the unit of calculation or the unit of memory access in the subsequent processing system.

[0041] If the size of the received segment image matches the unit image size, the pixel count adjustment process may be omitted.

[0042] Segment image definition information may be omitted if a description of the segment image is unnecessary or does not exist.

[0043] The segment image definition information may be passed to a subsequent processing unit as supplementary data accompanying the compression process.

[0044] To facilitate processing by the subsequent segmentation unit 120 and terminal processing unit 130, auxiliary preprocessing such as normalization and validation of segment images and attribute values ​​may be performed.

[0045] If the input data is in a format other than segment images and segment image definition information, for example, if it is a combination of vector data such as map data in a GIS and attribute value data, the data may be converted into segment images and segment image definition information.

[0046] (Function of the classification unit 120) The segmentation unit 120 recursively (hierarchically) divides the pixel space of a unit segment image according to the segmentation ratio, and forms a subtree node structure consisting of subblocks (hereinafter referred to as the segmented subtree node structure).

[0047] The segmentation unit 120 handles the attribute value column independently for each subblock, making it possible to individually evaluate the continuity of attribute values ​​and the regularity of the transition order within each subblock.

[0048] The following descriptions are arbitrary configuration examples for the compartmentalization unit 120.

[0049] A quadtree node is created by recursively dividing the space of a 2D unit segment image using a division ratio that halves both the vertical and horizontal dimensions.

[0050] The 3D unit segment image is spatially divided recursively using a division ratio that bisects each dimension, resulting in an octave tree node structure.

[0051] The 9-tree node structure is created by recursively partitioning the space using division ratios that divide the vertical and horizontal dimensions of a 2D unit segment image into thirds.

[0052] A hexadecimal node is created by recursively dividing a 2D unit segment image into rectangles using a vertical 2 / horizontal division ratio.

[0053] Spatial division may be continued or stopped based on structural conditions such as the size of the pixel space and the depth of the hierarchy.

[0054] Unlike Patent Document 2, the smallest subblock (deepest level) does not necessarily have to be subdivided to a single attribute value. This is because, in terminal processing, the code weight is compared at the branch tree node level, and if it is determined that the code weight is smaller when represented as a single block, the terminal subblock can be elevated to a higher level.

[0055] (Function of terminal processing unit 130) The terminal processing unit 130 compares the partitioned branch tree node structure formed by the partitioning unit 120 using the code amount calculated based on the structuring rules described later, and decides whether to represent it as a single block with structuring rules (hereinafter referred to as a terminal block) or to maintain it as a sub-branch tree structure that branches out to lower levels starting from the branch tree node.

[0056] A "structured rule" is a system of descriptive rules for abbreviating the arrangement of attribute values ​​contained in terminal blocks in a form that allows for the calculation of the sign value, and includes the form of the abbreviated expression and its parameters.

[0057] "Signature" refers to the amount of data (such as bit length) when represented as a terminal block, and when represented as a subtree structure, it refers to the sum of the information in the subtree node structure and the amount of data in each terminal block.

[0058] The integration of subtree structures based on code weight (hereinafter referred to as "superficialization") replaces the subtree structure with a new terminal block having the same attribute value arrangement. Here, the structuring rule for the terminal block is selected from several candidates tried in the code weight determination, choosing the one with the smallest code weight.

[0059] The terminal processing unit 130 manifests the spatial regularity of attribute values ​​included in the lower branch tree structure primarily as structuring rules for terminal blocks, while the broader spatial continuity manifests as the branch tree node structure. By performing multi-color or single-color superposition for each branch tree node according to the results of the code weight comparison, the lower branch tree structure is simplified, resulting in the formation of a terminalized branch tree node structure with a reduced overall code weight.

[0060] The following descriptions are arbitrary configuration examples for the terminal processing unit 130.

[0061] The order in which the hierarchy is raised can be such that it cycles through all the subtree nodes that make up the subtree node structure. For example, the hierarchy can be raised upwards, starting from the deepest subtree node in the subtree node structure.

[0062] Even if a terminal block has been elevated in a lower hierarchy, the possibility of further elevation may be determined at the higher-level subtree node containing it. This is because the scope of targets for integration expands in higher hierarchies, potentially allowing for further integration.

[0063] As an example of such terminal processing, the terminal processing unit 130 receives the partitioned subtree node structure and first determines the structuring rule for the terminal block for all subblocks based on the coding amount. Next, it iterates through the subtree nodes from the lowest level to the highest level and determines whether or not to perform a higher-level conversion at each level.

[0064] Alternatively, the terminal processing may be incorporated into the partitioning unit 120. In this case, the branch node structure is processed recursively from the upper level to the lower level, and the amount of code when each partitioned area is represented as a single terminal block is compared with the amount of code when it is represented as a branch node structure. If the amount of code of the terminal block is small, the partitioned area is treated as a terminal block and partitioning is stopped. If the amount of code as a branch node structure is small, partitioning is continued.

[0065] The structuring rules may be composed of selective combinations of some or all of the following structuring elements (1) to (4). (1) A configuration in which the attribute value array contained in the terminal block is directly represented as a palette and its index array, or as an attribute value array. (2) A scanning method for determining the arrangement order of attribute values ​​of pixels within a terminal block. (3) A method for encoding an attribute value column or index column obtained by a scanning method by shortening the regularity and continuity of the value sequence. (4) A method for representing numerical information obtained by (1) to (3) above as a bit string, wherein the recording width is variable according to the magnitude and / or frequency of occurrence of the value. For example, a numerical value generated based on a structured rule is encoded in an integer format in which the recording length is variable according to the magnitude of the value.

[0066] The structuring elements (1) to (4) each correspond to different types of regularities. (1) is an element for reducing redundancy based on the number of types or distribution of occurrences of attribute values ​​contained within terminal blocks. (2) is an element for utilizing arrangement rules resulting from the spatial arrangement order. (3) is an element for reducing redundancy resulting from consecutive or repeating values ​​appearing in the arrangement. (4) is an element for reducing redundancy resulting from the recording width of numerical representations.

[0067] The variable representation scheme for numerical values ​​in (4) may be applied not only to encoding based on structured rules, but also when representing numerical values ​​as bit sequences in subsequent structuring and compression processes.

[0068] When selecting a structuring rule for a terminal block, one may prepare several candidate structuring rules based on the structuring elements, calculate the sign amount when each is applied, and select the structuring rule that minimizes the sign.

[0069] (Function of the structuring unit 140) The structuring unit 140 serializes the terminalized branch tree node structure formed by the terminal processing unit 130 as a structured bit sequence, treating each branch tree node and terminal block as a single unit (hereinafter referred to as a node), based on the structuring rules assigned to the terminal block.

[0070] Serialization is performed in a recursive order from the top-level node of the branch tree node structure down to the lower-level nodes, with each node being output as a record containing its type information and the data representation corresponding to the node.

[0071] The record corresponding to the terminal block contains information obtained by converting the array information of the terminal block's attribute values ​​into a bit sequence according to the structuring rules.

[0072] For the common parts of the information contained in the records corresponding to the terminal blocks, a differential description method is applied that records only the differences from the information output immediately before, based on the serialization order.

[0073] The structuring unit 140 transforms the branch tree node structure into a linear structured bit sequence incorporating structural information. Furthermore, information common to nodes can be represented by differences, and information with continuity is shortened.

[0074] With such a structured bit sequence, the branch tree node structure can be restored by reading it sequentially from the beginning, and the unit segment image can be restored by rearranging the array information of attribute values ​​of terminal blocks in pixel space based on the branch tree node structure. Furthermore, the original segment image can be restored by arranging the unit segment image based on the arrangement information of the unit segments acquired by the image acquisition unit 110.

[0075] The following descriptions are arbitrary configuration examples for the structural unit 140.

[0076] For palette information defined for each of multiple terminal blocks, a differential description method (hereinafter referred to as cascaded palette) may be applied, which records only the difference from the immediately preceding palette information based on the serialization order.

[0077] The cascaded palette uses a fixed-length palette table shared within the branch tree node structure. It omits recording for matching ranges from the beginning of the table and outputs only the updated portion of the table as transition information.

[0078] A branch tree node may, when a child terminal block consists of a single attribute value, not output the child terminal block as an independent terminal block, but instead accommodate it as a simplified representation that directly records the attribute value.

[0079] For the various numerical information constituting the structured bit sequence, the variable representation scheme of structuring rule (4) may be applied.

[0080] (Function of the compression unit 150) The compression unit 150 receives a structured bit sequence corresponding to each unit segment image formed by the structuring unit 140, serializes the structured bit sequence according to a predetermined output format, generates compressed data, and stores it in the second storage device 1300.

[0081] If the image acquisition unit 110 divides the segment image into multiple unit segment images, the compression unit 150 stores the structured bit sequence corresponding to each unit segment image in the compressed data, associating it with the arrangement information generated by the image acquisition unit 110.

[0082] The compression unit 150 stores the structured bit sequence for each unit segment image in the compressed data, associated with the placement information, thereby determining the original segment image as data that can be restored.

[0083] The following descriptions are arbitrary configuration examples for the compression unit 150.

[0084] The structured bit string may be subjected to reversible data compression in a format that can be restored during decoding.

[0085] If the arrangement information of each divided unit segment image is regular with respect to the storage order of the structured bit string and can be uniquely reconstructed on the decoding side based on the rule, then all or part of the arrangement information may be omitted.

[0086] The starting position and size of each structured bit sequence in the compressed data can be obtained by scanning the structured bit sequence; however, to improve the efficiency of the decoding process, this information may be calculated in advance and added to the compressed data as index information.

[0087] The compressed data may include auxiliary information for describing or interpreting the segment images. This auxiliary information includes information that is not directly related to the reconstruction of the structured bit string and is used as display, coordinate transformation, or metadata.

[0088] Regarding the spatial partitioning and storage program: The spatial partitioning storage device 100 described above may also be configured as a computer system equipped with a CPU (Central Processing Unit), memory, and other hardware components.

[0089] This hardware executes a "spatial partitioning storage program" stored on a machine-readable and non-temporary storage medium, thereby realizing the functions of each part of the spatial partitioning storage device 100, and the spatial partitioning storage method is implemented by a computer system.

[0090] Some or all of such computer systems may consist of dedicated equipment, machine learning machines, DSPs (Digital Signal Processors), FPGAs (Field-Programmable Gate Arrays), GPUs (Graphics Processing Units), PLDs (Programmable Logic Devices), etc.

[0091] Alternatively, by centralizing or distributing some or all of the hardware and programs on servers in the cloud to configure a cloud system, a "spatial partitioning storage method" service may be provided to each of multiple clients.

[0092] Alternatively, the "spatial partitioning method" service may be provided on the hardware of multiple clients by offering part or all of the spatial partitioning program as an application to the client side.

[0093] Operation of Example 1 Next, we will explain the specific processing of the spatial partitioning storage method. Here, in order to make the operation and use concrete and simple, we will limit the explanation to the operation of compressing map images (a type of segment image) that use administrative division codes as attribute values.

[0094] Figures 2 and 3 are flowcharts illustrating an example of the operation of the spatial partitioning storage method performed by the spatial partitioning storage device 100 (computer system).

[0095] The following describes an example of the operation of the spatial partitioning storage method, following the step numbers shown in Figures 2 and 3.

[0096] (Operation of the image acquisition unit 110) Step S101: The segment image and segment image definition information are accepted as targets for compression. This information is obtained from the first storage device 1100.

[0097] In this embodiment, the segment image definition information consists of the latitude and longitude resolution value per pixel and the latitude and longitude coordinates of the origin of the segment image (hereinafter referred to as geographic coordinate information).

[0098] In this embodiment, the operating conditions for the compression process are received from the input device 1200. The only operating condition here is the output file name.

[0099] Step S102: Determine the arrangement of the segment images so that they become a set of unit segment images, each consisting of a pixel space with sides that are powers of 2.

[0100] In this embodiment, unit segment regions are arranged in a grid to determine the division boundary that encompasses the segment image and the necessary padding region.

[0101] Figure 4 shows the arrangement of unit segments used to divide the map image. In this embodiment, a segment image showing a portion of an administrative division map is divided into 5 x 4 unit segments.

[0102] Step S103: Generate supplementary data necessary for subsequent processing. In this embodiment, (1) the size of the segment image, (2) the geographic coordinate information of the map image, (3) the arrangement information of the unit segment, and (4) the output file name are determined.

[0103] Here, the arrangement information of the unit segments is expressed in the form of the size of the segment image, the arrangement information of the unit segments, and the order in which the unit segments are arranged, since the segment image to be processed is divided into a grid.

[0104] Step S104: The segment images are divided based on the determined arrangement, and the list containing the unit segment images is finalized.

[0105] In steps S101 to S104, the image acquisition unit 110 passes the supplementary data and the segment image group to the next stage.

[0106] Step S105: This step involves referring to a list containing the unit segment images generated by the image acquisition unit 110 and determining whether or not there are any unprocessed unit segment images.

[0107] Step S106: Obtain the unit segment image to be processed.

[0108] In this embodiment, the image acquisition unit 110 receives a unit segment image with a square value of 2, which is a power of 2.

[0109] (Operation of the segmentation unit 120) Step S107: This is a determination step to determine whether the division stop condition is met in the division region of each hierarchical level of the unit segment image, and to recursively repeat the division process.

[0110] Step S108: The segmentation unit 120 receives a unit segment image and performs spatial division by dividing the pixel space of the unit segment image in half vertically and horizontally at each level.

[0111] In this embodiment, the number of attribute values ​​within a category is counted each time a category is defined, and if there is only one type, further categories are stopped.

[0112] Step S109: The partitioning unit 120 determines the result of the recursive partitioning as a partitioned subtree node structure consisting of subtree nodes and terminal subblocks.

[0113] Figure 5 shows the arrangement of subblocks in the partitioned subtree node structure obtained by recursively partitioning the unit segment image B01 of Figure 4. In this embodiment, since the partitioning termination condition is set to a single attribute value, each terminal subblock has a single attribute value as a result of the quadtree formation.

[0114] In steps S107 to S109, the segmentation unit 120 passes on the segmentation subtree node structure corresponding to the unit segment image to the subsequent stage.

[0115] (Operation of terminal processing unit 130) Step S110: The terminal block initial processing described later is performed on the partitioned subtree node structure formed by the partitioning unit 120, and each subblock is determined to be a terminal block having a structuring rule.

[0116] Figure 6 is a reference diagram illustrating the recursive extraction of subtree nodes from a lower subtree structure in this embodiment, and consists of terminal blocks E1 to E19 and subtree nodes C1 to C6.

[0117] Step S111: This is a determination step for recursively repeating the process of raising the rank of the branch node to be processed in the branch node structure.

[0118] Step S112: Recursively extract the subtree nodes to be processed from the subtree node structure, in order from the terminal to the top-level node. In this example, this is done in the order of C1, C2, C3, C4, C5, and C6.

[0119] Step S113: Calculate the code weight for the sub-subtree structure below the subtree node. This code weight is used for determining the higher-level subtree.

[0120] Step S114: The lower branch tree structure is temporarily integrated and converted into a temporary block.

[0121] Step S115: The structuring rules for the temporary block are determined by the structuring rule determination process described later.

[0122] Step S116: Apply the structured rules to calculate the code weight of the temporary block. This code weight is used for determining the higher rank.

[0123] Step S117: Compare the code size of the temporary block with the code size of the lower branch tree structure. If the code size of the temporary block is larger, do not perform the top-down operation and proceed to determine the next branch tree node.

[0124] Step S118: If the amount of code in the temporary block is small, the lower branch tree structure is removed from the branch tree node structure, and the temporary block is placed in its place as a terminal block with a structured rule to perform the top-down operation.

[0125] The following describes an example of the process of upward refactoring with reference to Figures 6 and 7. Figure 7 shows the process when it is assumed that upward refactoring is possible for C1, C2, and C3 in the node structure of Figure 6 by reducing the amount of code.

[0126] In the example, when C1 undergoes the superposition process, C1 is superpositioned and replaced by a single terminal block E20, as shown in terminal processing state 1. At this time, E20 is assigned a new structuring rule.

[0127] Further processing leads to C2 being upgraded to E21, and C3 being upgraded to E22 by integrating multiple terminal blocks, including the already upgraded E20. New structuring rules are also applied to E20 and E22. On the other hand, C4 and C5 do not meet the conditions for upgrading and are therefore retained as subtree nodes.

[0128] Ultimately, the branching node structure will be the structure shown in terminal processing state 2 of Figure 7.

[0129] Step S119: In this embodiment, a series of steps are performed for all nodes to determine the terminal branch tree node structure.

[0130] Figure 8 shows the initial segmented image from Figure 5 after terminating. As shown above, compared to the case in Patent Document 1 (same as Figure 5), the embodiment of terminating processing of the present invention (see Figure 8) synergistically promotes hierarchical integration of the branch tree node structure.

[0131] In steps S110 to S119, the terminal processing unit 130 passes the terminalized branch tree node structure to the next stage.

[0132] (Regarding terminal block initial processing) The following describes the initial processing of terminal blocks. This process determines the structuring rules for each subblock included in the partitioned subtree node structure and identifies the terminal blocks.

[0133] Step S1001: This is a determination step in which the process is repeated for all subblocks included in the partitioned subtree node structure.

[0134] Step S1002: Scan the partitioned branch tree node structure to obtain a subblock.

[0135] Step S1003: A structured rule is determined for the subblock through the structured rule determination process described later.

[0136] Step S1004: Apply the determined structuring rules to the subblocks and finalize them as terminal blocks.

[0137] In this example, this process is performed on each terminal block from E1 to E19 shown in Figure 6.

[0138] (Regarding the process of determining structured rules) The following describes the process for determining structured rules.

[0139] Step S1101: The structured rule determination unit obtains the block to be processed.

[0140] Step S1102: This step determines whether or not the evaluation of all candidates for the pre-configured structured rule candidates has been completed.

[0141] Step S1103: Select the notation format for attribute values ​​based on the number and distribution of attribute values ​​within the block to be processed. In this embodiment, it is selected whether to represent them using a palette and index, or as direct values, and the bit width of the index is selected according to the number of attribute values.

[0142] Step S1104: Select a scanning method from the candidates for treating the attribute values ​​within the block to be processed as a one-dimensional column. In this embodiment, a scanning method with different continuity shown in Figure 12 is selected.

[0143] Step S1105: Select a method from the candidates to reduce the amount of description in the attribute value sequence obtained by the scanning method expressed in the attribute value notation format. In this embodiment, the choice is made between a method that records the attribute value sequence as is with a predetermined bit width and a method that shortens the description of the attribute value sequence.

[0144] One abbreviated description method separates the attribute value sequence into the continuous length of the attribute values ​​(spatial continuity) and the transition pattern (spatial regularity), and selects a representation format for each that reduces redundancy.

[0145] Another abbreviated description method focuses on similar patterns in adjacent attribute values ​​and selects a representation format that reduces redundancy caused by these patterns.

[0146] Furthermore, one abbreviated description method is to omit the repetition pattern of attribute values ​​by using a value that identifies the rule when the transition pattern of attribute values ​​exhibits a certain rule (e.g., alternating appearance).

[0147] Step S1106: Calculate the code amount obtained when the combination of methods selected in steps S1103 to S1105 is applied to the block.

[0148] Step S1107: Compare the number of signs calculated from multiple structured rules obtained through iterative processing.

[0149] Step S1108: Determine the combination of schemes that minimizes the amount of code as the block structuring rule.

[0150] (Operation of the structuring unit 140) Step S120: Initialize the shared information shared within the node block. In this embodiment, initialize the cascade palette used for comparison with the palette information of subsequent nodes and for update determination.

[0151] Figure 9 shows the branch tree node structure of the terminal processing block group in Figure 8.

[0152] Here, elements starting with Cn represent branch tree nodes, and nodes starting with En represent terminal blocks. The numbers assigned to Cn and En indicate the traversal order of the branch tree node structure, recursively starting from the top-level node.

[0153] Step S121: This step determines whether or not there are nodes to be processed in the branch tree node structure according to the traversal order.

[0154] Step S122: Obtain the node to be processed.

[0155] Step S123: Generate a record (structured record) through the following series of steps.

[0156] If a node has a palette, the correspondence between the node's palette information and the cascaded palette is determined. Identical parts are omitted from the record, and only the parts requiring updating are added to the record.

[0157] If a node is a subtree node, add information to the record that identifies it as a subtree node.

[0158] If a node is a terminal block, the record includes information identifying the structuring rule of the terminal block and an array of attribute values ​​of the terminal block structured according to the structuring rule. In this embodiment, if a terminal block of a subtree node consists of a single attribute value, the arrangement and attribute value of the child terminal block are contained within a part of the subtree node.

[0159] Step S124: Append the record as a structured bit sequence.

[0160] Step S125: If the palette information in the node is updated, the update is reflected in the cascaded palette.

[0161] Step S126: The structuring unit 140 determines the result of serializing all nodes as a structured bit sequence, which is a series of bits.

[0162] Figure 10 is a schematic diagram of a structured bit sequence in which records generated by the structuring unit 140 are arranged in an order that reflects the branch tree structure. The sequence of nodes is represented as a bit sequence arranged in a straight line.

[0163] (Operation of the compression unit 150) Step S127: Map-related data is stored in the header section of the compressed data. Map-related data includes information used for mutual conversion between latitude and longitude information and pixel positions.

[0164] Step S128: Store the image-related data from the associated data in the header section of the image data. The image-related data includes information that identifies the placement of the unit segment image on the segment image.

[0165] Step S129: This step determines whether or not there is an unprocessed structured bit sequence.

[0166] Step S130: Obtain the structured bit sequence to be processed.

[0167] Step S131: The structured bit sequence is subjected to reversible data compression to generate a compressed bit sequence. In this embodiment, LZSS coding is used.

[0168] In this embodiment, if the amount of data after compression increases due to the reversible data compression process, the compression process is omitted.

[0169] Step S132: A record is generated by combining the compressed bit string and the storage format which optionally includes its size information, and the record is added to the compressed data section.

[0170] Step S133: After combining all structured bit sequences as records, the compressed data is finalized.

[0171] Figure 11 is a schematic diagram of the compressed data layout. Based on the information contained in this compressed data, it is possible to identify the pixel regions on the map of the original segment image based on the map-related data and image-related data.

[0172] In steps S127 to S133, the compression unit 150 saves the compressed data to the second storage device 1300. In this embodiment, it is saved as a file with the file name included in the supplementary data.

[0173] The series of processes described above implements a spatial partitioning and storage method for map images (segment images). Effects of Example 1

[0174] Example 1 produces the following effects.

[0175] (1) Example 1 calculates the code amount for both cases: maintaining the divided structure and using an integrated structure, and adopts the structure with the smaller code amount. Therefore, it is superior in that the criterion for determining the structure is the actual output bit length rather than uniformity.

[0176] (2) Example 1 does not assume a partitioned structure, and the integrated structure is also evaluated using the same procedure. Therefore, unlike the branched tree method which assumes partitioning, it is superior in that it allows for structure determination without adopting partitioning itself.

[0177] (3) Example 1 performs code amount comparison even in the upper hierarchy, which includes structures integrated in the lower hierarchy. Therefore, it is superior in that the hierarchical structure is not fixed by local determination.

[0178] (4) Example 1 includes the branch tree structure information and the attribute value array information in the same structured bit string (a type of structured data, the same applies hereinafter). Therefore, it is superior in that it does not require separate structure management information to be maintained separately for structure management.

[0179] (5) Example 1 includes supplementary information about the coordinate system of the pixel space in the structured bit string. Therefore, it is advantageous in that there is no need to manage the structured data and the coordinate system information separately.

[0180] (6) Example 1 selects the array structuring method according to the distribution of attribute values ​​within the terminal block. Therefore, it is advantageous in that the recording format of the attribute value array is not fixed.

[0181] (7) Example 1 employs a scanning method with a small amount of code after trying multiple scanning methods. Therefore, it is superior in that it can suppress the increase in the amount of code caused by the scanning order.

[0182] (8) Example 1 serializes the data as a structured bit string while preserving the branch tree structure. Therefore, it is superior in that it can be represented in a linear recording format while maintaining the hierarchical structure.

[0183] (9) Example 1 performs the code size comparison on a per-decipher node basis. Therefore, it is advantageous in that the computational range of the coding evaluation is limited to the sub-nodes and below.

[0184] (10) Example 1 performs code size calculation and sequence structure selection on a terminal block basis. Therefore, it is advantageous in that the working memory required during compression is not proportional to the overall size of the image.

[0185] (11) Example 1 includes an array structure based on attribute value transitions as a candidate structure. Therefore, it is superior in that it does not result in redundant hierarchical divisions due to regular transitions. [Examples]

[0186] Embodiment 2 is an embodiment of a decoding method in which the decoding device 200 takes in the compressed data spatially partitioned and stored in Embodiment 1 and performs decoding.

[0187] Configuration of Example 2 Figure 13 is a block diagram illustrating the configuration of the decoding device 200. In Figure 13, the decoding device 200 includes a data acquisition unit 210 and a decoding unit 220. Furthermore, the decoding device 200 can exchange information with a display device 2100, an input device 2200, a first storage device 2300, and a second storage device 2400 as needed.

[0188] The first storage device 2300 and the second storage device 2400 are shown distinguishing between information generated by the decoding device 200 and information provided from an external source, but they may be configured as the same storage device.

[0189] The display device 2100, input device 2200, first storage device 2300, and second storage device 2400 may be arranged within the same device as the decoding device 200, or they may be provided as external devices, provided that they can exchange information with the decoding device 200.

[0190] (Functions of the data acquisition unit 210) The compressed data generated by the spatial partitioning storage device 100 (spatial partitioning storage method) of Example 1 is stored in the first storage device 2300. The data acquisition unit 210 reads this compressed data from the first storage device 2300 and acquires it as the target for decoding.

[0191] The data acquisition unit 210 receives values ​​indicating coordinates or regions in the segment pixel space of the compressed data (hereinafter referred to as input coordinate data) via the input device 2200.

[0192] The data acquisition unit 210 determines the compressed data to be processed and the input coordinate data.

[0193] The following descriptions are arbitrary configuration examples for the data acquisition unit 210.

[0194] Based on the input coordinate data, a unit segment image containing a coordinate or region may be identified from among the unit segment images included in the compressed data.

[0195] If the input coordinate data is specified in a coordinate system different from the pixel space corresponding to the compressed data, the data acquisition unit 210 may convert the input coordinate data to coordinates in pixel space using the accompanying data associated with the compressed data. For example, if location information specified by latitude and longitude, or a rectangular area defined by latitude and longitude, is input, it is converted to a coordinate system in pixel space based on the accompanying data.

[0196] In addition to input coordinate data, dynamic parameters related to subsequent operations, such as information used to modify the display information output to the display device 2100 and control information for the decoding process, may also be accepted via the input device 2200.

[0197] (Function of the decoding unit 220) The decoding unit 220 decodes the reversible data compression applied to the compressed data, restores the structured bit sequence (a type of structured data, hereinafter the same) contained in the compressed data, reconstructs the branch tree node structure, restores the attribute value array of the terminal block based on the structuring rules, and rearranges the attribute value array on the pixel space.

[0198] The decoding unit 220 expands and determines the attribute value array corresponding to the coordinates or regions in pixel space from the compressed data.

[0199] The following descriptions are arbitrary configuration examples for the decoding unit 220.

[0200] If the coordinates or region indicated by the input coordinate data are outside the storage range of the compressed data, an arbitrary attribute value may be assigned. Alternatively, processing may be interrupted.

[0201] The attribute value array may be saved as data without being passed to the display device 2100.

[0202] (Display device 2100) The display device 2100 includes a display processing unit 2120, which displays the attribute values ​​generated by the decoding device 200 as an image. The display device 2100 may also include an information combining unit 2110, which may display the generated image along with related supplementary information.

[0203] (Input device 2200) The input device 2200 is a device for inputting input coordinate data, information related to the control of the decoding process, or information related to display conditions to the decoding device 200. The input device 2200 may output information based on user operation, instructions from an external system, or program commands.

[0204] (First memory device 2300) The first storage device 2300 is a device that stores the compressed data to be processed by the decoding device 200. The first storage device 2300 may be an internal storage device or an external storage device.

[0205] (Second memory device 2400) The second storage device 2400 is a device that stores supplementary information associated with attribute values. The second storage device 2400 may be an internal storage device or an external storage device.

[0206] About the decryption program The decoding device 200 described above may also be configured as a computer system equipped with a CPU (Central Processing Unit), memory, and other hardware components.

[0207] This hardware executes a "decryption program" stored on a machine-readable and non-temporary storage medium, thereby realizing the functions of each part of the decryption device 200, and the decryption method is carried out by a computer system.

[0208] Some or all of such computer systems may consist of dedicated equipment, machine learning machines, DSPs (Digital Signal Processors), FPGAs (Field-Programmable Gate Arrays), GPUs (Graphics Processing Units), PLDs (Programmable Logic Devices), etc.

[0209] Alternatively, a "decryption method" service may be provided to each of multiple clients by configuring a cloud system in which some or all of the hardware and programs are centralized or distributed to servers on the cloud.

[0210] Alternatively, the "decryption method" service may be provided on the hardware of multiple clients by offering part or all of the decryption program as an application to the client side.

[0211] Operation in Example 2 Next, we will explain the specific processing of the decoding method. Here, in order to make the operation and application concrete and simple, we will limit the explanation to the operation of decoding compressed data of a map image (a type of segment image) created in Example 1.

[0212] Figure 14 shows an example of the operation of the decoding method performed by the decoding device 200 (computer system).

[0213] The following describes an example of the decryption method in accordance with the step numbers shown in Figure 14.

[0214] (Operation of decoding device 200) The decoding device 200 decodes all or part of the original segment image from the compressed data.

[0215] (Operation of data acquisition unit 210) Step S201: The compressed data stored in the first storage device 2300 is acquired as the target for decryption.

[0216] Step S202: In this embodiment, map-related data included in the compressed data is obtained. The map-related data includes information used for mutual conversion between latitude and longitude information and pixel positions.

[0217] Step S203: Convert latitude and longitude information to the coordinate system of the segment image. In this embodiment, the input coordinates or area are converted to the coordinate system of the segment image based on the map-related data.

[0218] (Operation of the decoding unit 220) Step S204: In the segment image coordinate system, identify the unit segment image containing the target coordinates or target area, and obtain all corresponding records.

[0219] Step S205: This step determines whether or not there are any unprocessed records in order to process all records.

[0220] Step S206: Convert the target coordinates of the segment image coordinate system to the coordinate system within the unit segment image based on the image-related data.

[0221] Step S207: Retrieve the record to be processed.

[0222] Step S208: Execute the attribute value acquisition process on the record and obtain an attribute value array corresponding to the intersection area between the pixel area of ​​the unit segment image and the target area. The attribute value acquisition process is performed by the attribute value acquisition process described later.

[0223] Step S209: The acquired attribute value array is rearranged to the corresponding position on the segment image coordinate system based on the target coordinates or target region, and is finalized as a two-dimensional attribute value image corresponding to the acquired region.

[0224] (Regarding the process of retrieving attribute values) The following describes the process for retrieving attribute values.

[0225] Step S2001: The compressed bit string contained in the record is subjected to a lossless data compression decryption process to restore the structured bit string.

[0226] Step S2002: Initialize the cascaded palette that manages the palette information shared within the branch tree node structure.

[0227] Step S2003: Read the nodes that make up the branch tree node structure from the structured bit sequence in serialization order.

[0228] Step S2004: If the retrieved node contains palette update information, update the cascaded palette.

[0229] Step S2005: Calculate the pixel region corresponding to a node in the unit segment image based on the branching node structure.

[0230] Step S2006: Determine whether the calculated pixel region includes the target coordinates or the target region.

[0231] Step S2007: If the pixel region contains the target coordinates or the target region, read the structured rule associated with the node.

[0232] Step S2008: Decode the terminal blocks based on the structured rules and restore the attribute value array corresponding to the terminal blocks.

[0233] Step S2009: Obtain the attribute values ​​of the target coordinates or target area from the restored attribute value array.

[0234] (Operation of display device 2100) In this embodiment, the display device 2100 generates a display image based on an attribute value array corresponding to the acquired area obtained by the decoding unit 220.

[0235] (Operation of the information coupling unit 2110) Step S210: Obtain an attribute value array corresponding to the acquisition region determined by the decoding unit 220.

[0236] Step S211: Using the attribute values ​​contained in the attribute value array as keys, supplementary information for the attribute values ​​is retrieved from the attribute value code map located in the second storage device 2400. For example, the attribute value code map is a table that maps the administrative district code of the attribute value to the name of the administrative district (e.g., Narashino City, Chiba Prefecture).

[0237] Step S212: Based on the attribute value array and the acquired supplementary information, the display information modification process is performed according to the display conditions, and image data that can be interpreted by the display processing unit 2120 is generated. The modification process may include mapping attribute values ​​to display colors, adding transparency information, adding borders, processing for highlighting, or overlaying supplementary information.

[0238] (Operation of display processing unit 2120) Step S213: Output the image to a software or hardware interface and display it on a display device.

[0239] Effects of Example 2 Example 2 produces the following effects.

[0240] Embodiment 2 has a configuration that transforms the input coordinates or input region into a pixel space coordinate system based on supplementary information contained in the compressed data, so the compressed data itself contains reference information for identifying the reference position. As a result, it is superior in that it can determine the position to be decoded without requiring an external coordinate transformation management mechanism.

[0241] Embodiment 2 has a configuration that acquires records corresponding to subblocks containing coordinates or regions after coordinate transformation and performs reversible data compression decoding on a record-by-record basis, and therefore does not presuppose a process of expanding the entire compressed data as a pixel array. As a result, it is superior in that the amount of data to be decoded and the decoding operation range are structurally limited.

[0242] Example 2 has a configuration that reconstructs the branch tree node structure while interpreting the structured bit string (a type of structured data, the same applies hereinafter) in serialization order, and identifies only the nodes that contain the target region, so it does not presuppose sequential search at the pixel level or full expansion. As a result, it is superior in that it can realize a structure that does not restore the attribute value array of nodes unrelated to the target.

[0243] Example 2 uses a structured bit string in which the branch tree node structure and the attribute value array information of the terminal block are recorded together. Therefore, the target terminal block can be interpreted directly from the structured bit string expanded in memory. As a result, it is advantageous in that it does not necessarily require an intermediate buffer to reconstruct the entire unit segment image as a two-dimensional pixel array.

[0244] Since Example 2 has a configuration that restores the attribute value array based on the structured rules assigned to the terminal block, it does not require auxiliary management processing to separately align the structure information and the attribute value information. As a result, it is superior in that it simplifies the management configuration of the decoding process.

[0245] Embodiment 2 has a configuration that calculates the pixel region at the branch tree node level and determines the inclusion relationship with the input coordinates or input region, thus eliminating the need for boundary search or polygon inclusion determination based on geometric operations as described in Patent Document 1. As a result, it is superior in that it simplifies the computational configuration during decoding.

[0246] Example 2 acquires only the attribute values ​​corresponding to the target coordinates or target area, and the acquisition process is closed in units of partial blocks, so there is no need to maintain an attribute value array for the entire unit segment image. As a result, it is superior in that the amount of working memory and processing time are not proportional to the size of the entire compressed data.

[0247] Example 2 has a configuration in which records are acquired and processed independently for each unit segment image, so that even when spanning multiple units, the processing units are clearly separated. As a result, it is advantageous in that the scope of influence of the decoding process is limited to each unit segment image.

[0248] Supplementary information regarding the embodiment The present invention is not limited to the embodiments described above, and various modifications are possible.

[0249] In particular, the embodiments described above are detailed explanations of the entire invention in order to make it easier to understand. Therefore, the present invention is not limited to having all the parts, configurations, functions, steps, and data structures described.

[0250] Furthermore, individual elements of the embodiment may be combined as appropriate. In addition, other configurations or other steps can be added, omitted, deleted, or replaced in relation to the embodiment. [Explanation of Symbols]

[0251] 100...Spatial division storage device, 110...Image acquisition unit, 120...Partitioning unit, 130...End processing unit, 140...Structuring unit, 150...Compression unit, 200...Decoding device, 210...Data acquisition unit, 220...Decoding unit, 1100...First storage device, 1200...Input device, 1300...Second storage device, 2100...Display device, 2110...Information coupling unit, 2120...Display processing unit, 2200...Input device, 2300...First storage device, 2400...Second storage device

Claims

1. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, The terminal processing step includes the steps of calculating the total code weight of the sub-subtree structures below the subtree node and the steps of calculating the code weight when the sub-subtree structures are integrated into the attribute value array information of a temporary block, and if the code weight of the temporary block is less than the total code weight of the sub-subtree structures, the temporary block is replaced as the terminal block at the position of the subtree node. A spatial partitioning storage method characterized by the following:

2. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, The terminal processing step includes, when integrating the subtree node and subsequent nodes into a single terminal block, a plurality of candidate structuring rules reflecting the array structure based on the attribute value transitions are pre-configured, and the terminal block with the smallest coding amount is selected from among the candidate structuring rules. A spatial partitioning storage method characterized by the following:

3. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, The image acquisition step involves dividing, trimming, or converting the pixel count of the received segment image to adjust the size of each dimension in the pixel space to a size that does not produce a remainder in the recursive division process based on the division ratio. Perform tree nodeization where the size of each dimension is consistent with the partition ratio. A spatial partitioning storage method characterized by the following:

4. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, In the terminal processing step, the numerical values ​​generated based on the structured rules are encoded in an integer format in which the recording length is variable depending on the magnitude of the value. A spatial partitioning storage method characterized by the following:

5. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, The terminal processing step attempts multiple scanning methods for scanning the subblocks included in the terminal block, determines the scanning method that generates the smallest amount of code, generates an attribute value column or index column, and includes the information of the determined scanning method in the structured data. A spatial partitioning storage method characterized by the following:

6. A spatial partitioning storage method in which a computer system stores images based on a spatial partitioning structure, An image acquisition step in which a multidimensional pixel space of two or more dimensions is divided into multiple regions (hereinafter referred to as "segments") and raster data (hereinafter referred to as "segment image") is obtained by assigning attribute values ​​related to the segments, A division step in which the pixel space of the segment image is recursively divided according to the division ratio into subblocks, and these subblocks are placed in hierarchical subtree nodes to form a subtree structure, A terminal processing step is performed to determine whether to retain the subtree node generated by the partitioning step in the hierarchical structure or to replace it with the terminal block, by calculating the code weight when generating structured data in the case where the subtree node and its subnodes are retained as a hierarchical structure and when they are represented as "terminal blocks containing multiple or single attribute values", comparing the code weights and selecting the smaller one. The system comprises a structuring step that generates structured data including the branch tree node structure determined by the terminal processing step and attribute value array information of the terminal block, The structuring step generates the structured data by partially structuring the sub-subtree structures below the subtree node and the terminal blocks included in the sub-subtree structures, which correspond to predetermined spatial positions in the pixel space, in a readable manner. A spatial partitioning storage method characterized by the following:

7. A spatial partitioning storage method according to any one of claims 1 to 6, The system further comprises a compression step of applying a reversible data compression process to the structured data generated by the structuring step. A spatial partitioning storage method characterized by the following:

8. A decoding method for decoding structured data generated by the spatial partitioning storage method described in any one of Claims 1 to 6, A data acquisition step of acquiring the structured data to be decrypted, A decoding step in which the terminal block is rearranged in the pixel space based on the "tree node structure determined by the terminal processing step" and "arrangement information of the attribute values ​​in the terminal block" contained in the acquired structured data, A decoding method characterized by comprising:

9. The computer system is made to execute the spatial partitioning storage method described in any one of claims 1 to 6. A spatial partitioning storage program characterized by the following:

10. The computer system is made to execute the decoding method described in claim 8. A decoding program characterized by the following features.