Encoding device and decoding device

The encoding device reversibly encodes data by dividing space into unit spaces and assigning mesh numbers, addressing the limitations of existing methods by enabling lossless data encoding and decoding without constant data acquisition, thus reducing data volume and enhancing versatility.

JP2025119069AInactive Publication Date: 2025-08-14AP TECH株式会社
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2022077099
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-05-09
Publication Date
2025-08-14
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing methods for reducing data volume, such as discarding most significant digits or differential methods, require pre-planning of geographical locations and limit versatility, making it difficult to restore location data without acquiring necessary data and are not suitable for handling multiple pieces of data.

Method used

An encoding device that virtually divides a multidimensional space into unit spaces, assigns mesh numbers as identification information, and converts position data into binary data for reversible encoding, allowing data to be transmitted without needing to acquire necessary data at any time.

Benefits of technology

Enables lossless encoding and decoding of data groups without constant data acquisition, reducing data volume effectively and maintaining versatility for various applications, including position and status data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025119069000001_ABST
    Figure 2025119069000001_ABST
Patent Text Reader

Abstract

To provide an encoding device that can perform reversible encoding of a data group without acquiring necessary data as needed, and a decoding device that can decode the data group.SOLUTION: A three-dimensional space represented by position data obtained through satellite positioning is virtually divided by unit spaces to be quantized. Mesh numbers being identification information are assigned respectively to the unit spaces. The position data is thereby replaced with the mesh number of the corresponding unit space, and is converted into binary data to be encoded. When the binary data is data of M bytes and N bits, the data of M bytes is transmitted as encoded data in a time slot TS selected from the data of N bits. In such a manner, reversible encoding of position data assuming the unit space is performed.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an encoding device and a decoding device. [Background technology]

[0002] In order to reduce storage costs, communication costs, etc., it is desirable to reduce the amount of data. For relatively small amounts of data, it is usually necessary to reduce the amount of data reversibly. This is because a change in the value of a single bit has a large impact, and such a change in value often renders the data meaningless.

[0003] A conventional method for reversibly reducing data volume is the differential method, which, for continuous data, such as location data representing the location of a moving object, transmits differential data representing the difference, taking the change from the previous location as the difference. This differential method reduces the amount of data transmitted and received by transmitting differential data instead of the transmitted location data after the original location data has been transmitted. However, with this differential method, if the receiving side is unable to receive the location data or differential data, the receiving side is unable to restore the location data. To address this issue, a method has been proposed in which the geographical locations of the receiving and transmitting sides are planned in advance, and predetermined upper digits are discarded to reduce the amount of data (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2018-166248 Summary of the Invention [Problem to be solved by the invention]

[0005] The location data, the most significant digits of which are discarded, is a data group including longitude data and latitude data. Such location data can be obtained by satellite positioning (satellite positioning system). Therefore, in a method of discarding the most significant digits to reduce the amount of data, the receiving side generates the most significant digits of the longitude data and location data that would otherwise be discarded using satellite positioning, thereby accurately restoring the original location data. However, to achieve this, the geographical locations of the receiving side and the transmitting side must be planned in advance, and both the receiving side and the transmitting side, i.e., the encoding side and the decoding side, must move to the pre-planned geographical locations when transmitting and receiving the location data. Without this, the receiving side cannot generate the most significant digits of the data necessary to restore the location data.

[0006] For this reason, the method of discarding the most significant digits to reduce the amount of data requires data different from that required by the differential method to restore the position data. The existence of such data leads to another drawback: low versatility and significant limitations on use. Taking these drawbacks into consideration, it seems important to realize lossless encoding (compression) of data while avoiding the need to obtain necessary data as needed. It also seems important to be able to handle data groups that contain multiple pieces of data, such as position data.

[0007] An object of the present invention is to provide an encoding device capable of reversibly encoding a group of data without acquiring necessary data as needed, and a decoding device capable of restoring the group of data. [Means for solving the problem]

[0008] An encoding device according to one embodiment of the present disclosure includes a data acquisition means for acquiring a plurality of data to be encoded, a space identification means for regarding each piece of data constituting the plurality of data acquired by the data acquisition means as one-dimensional data, thereby defining the number of data constituting the plurality of data as the number of dimensions, and for identifying a unit space corresponding to the plurality of data from among unit spaces that virtually divide a multidimensional space according to the number of dimensions, and an encoding means for outputting identification information assigned to the unit space identified by the space identification means as encoded data for the plurality of data. [Effects of the Invention]

[0009] According to the present invention, a data group can be losslessly encoded without needing to acquire necessary data at any time, and the data group can be restored from the data obtained by the encoding. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a diagram illustrating an example of application of an encoding device and a decoding device according to an embodiment of the present invention. [Figure 2] 1 is a diagram showing an example of a circuit configuration of a mobile body equipped with an encoding device according to an embodiment of the present invention. [Figure 3] FIG. 2 is a functional block diagram showing an example of a functional configuration realized on a mobile body on which an encoding device according to an embodiment of the present invention is mounted. [Figure 4] 1 is a diagram illustrating an example of an encoding method employed in an encoding device according to an embodiment of the present invention. [Figure 5] FIG. 10 is a diagram illustrating an example of quantization of the entire space. [Figure 6] 10 is a flowchart showing an example of the flow of an encoding process and a decoding process. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that the embodiments described below are merely examples, and the technical scope of the present invention is not limited to these. Various modifications are also included within the technical scope of the present invention.

[0012] FIG. 1 is a diagram illustrating an example of application of an encoding device and a decoding device according to an embodiment of the present invention. In this application example, an encoding device is mounted on a moving body 1 to confirm the position of the moving body 1. As a result, the moving body 1 encodes position data and transmits the encoded position data.

[0013] The mobile object 1 may be an object that can move its own location, or may be an object that is intended to be carried by a person or installed on an object that can move its location. Thus, the mobile object 1 may be, for example, a smartphone, a smartwatch, a drone, an airplane, or an automobile. It may also be realized as a communication device that is mounted on or combined with the mobile object 1.

[0014] The position data is a group of data obtained by satellite positioning. The position data includes, for example, longitude data, latitude data, and altitude data. The mobile unit 1 encodes the position data PD including these three pieces of data and transmits the encoded position data PD. The mobile unit 1 also encodes and transmits status data SD that represents the status of the mobile unit 1 itself, the status of the person carrying the mobile unit 1, or the environment in which the mobile unit 1 is located. The encoded status data SD is a data group including two or more pieces of data.

[0015] The status data SD of the person carrying the device may include, for example, data (biometric information) such as heart rate, heart rate variability, blood oxygen concentration, body temperature, activity evaluation value, sleep evaluation value, etc. The status data SD may also be identification information assigned to a design (for example, a stamp) that represents a message that the person wants to convey.

[0016] The status data SD of the moving object 1 itself may include, for example, a fault code indicating an occurring malfunction, a moving speed, a moving direction, etc. The status data SD indicating the environment in which the moving object 1 is located may include, for example, data on atmospheric pressure, temperature, humidity, etc. Each type of status data SD is merely an example, and the status data SD may be determined according to the type, use, etc. of the moving object 1. For this reason, the status data SD is not particularly limited. Strictly speaking, it may be data that may change depending on the situation, etc.

[0017] The encoding device on the mobile unit 1 is realized by installing, for example, an encoding program AP1, which is an application program (hereinafter abbreviated as "application"), in an executable manner on the mobile unit 1. The position data PD and the status data SD, each of which is a data group, that is, a plurality of data, are separately encoded by the encoding program AP1 and transmitted from the communication module 11.

[0018] The encoding program AP1 may be recorded on a removable medium and distributed, or may be distributed via a network N2 (described later) or the like. Therefore, the recording medium on which the encoding program AP1 is recorded may be one that is installed or attached to an information processing device directly or indirectly connected to the network N2 or the like, or one that is installed or attached to an externally accessible device. The same applies to the decoding program AP2 (described later).

[0019] In this embodiment, a decoding device that restores the encoded position data PD by decoding is installed in the server 2. The server 2 and the mobile object 1 are capable of communicating with each other via a network N1. A communication module 21 installed in the server 2 enables communication via the network N1.

[0020] This server 2 is also connected to a network N2. A person who owns or uses the mobile object 1 or is involved in the management of the mobile object 1 can check the restored position data PD or the position represented by the position data PD by accessing the server 2 with an information terminal 3 via the network N2. The server 2 is equipped with a communication module 22 to enable communication via the network N2.

[0021] The decoding device on the server 2 is realized by, for example, installing a decoding program AP2, which is an application, in an executable manner on the server 2. The position data PD and status data SD, both of which are encoded and received by the communication module 21, are decoded and restored by the decoding program AP2.

[0022] The network N2 is a group of networks including, for example, the Internet, a public telephone network, a mobile phone network, etc. The information terminal 3 is an information processing device that is connected to, for example, a LAN (Local Area Network) or a mobile phone network, etc., and is capable of communicating with the server 2 via the network N2.

[0023] If the mobile unit 1 can connect to a LAN, a public telephone network, a mobile phone network, or the like, the mobile unit 1 and the information terminal 3 can communicate directly via the network N2. However, in reality, the areas that can be connected to a LAN, a public telephone network, a mobile phone network, or the like are limited. In reality, the percentage of areas in Japan that can be connected to a LAN, a public telephone network, a mobile phone network, or the like is very small. Therefore, the location data PD and the like are transmitted and received between the mobile unit 1 and the information terminal 3 via the network N1 and the server 2.

[0024] For this reason, the network N1 is assumed to enable communication in areas that cannot be covered by the network N2. An example of such a network N1 is an LPWA (Low-Power Wide-Area) network.

[0025] The characteristics of communication via LPWA networks include low power consumption, low bit rate, and wide area coverage. As a result, when an LPWA network is used as network N1, areas not covered by network N2 can be covered efficiently, i.e., with fewer base stations. It is also planned to use artificial satellites such as low-earth orbit satellites as base stations.

[0026] In an LPWA network, due to its low bit rate, the number of bytes that can be stored in the payload is usually relatively small. For example, some communication specifications limit the payload to 12 bytes. Therefore, in communications via an LPWA network, it is desirable to reduce the amount of data transmitted. For this reason, in this embodiment, an encoding device is installed in the mobile object 1 to further reduce the amount of data stored in the payload. This makes it possible to store the encoded position data PD and status data SD in a single payload.

[0027] FIG. 2 is a diagram showing an example of the circuit configuration of a mobile object equipped with an encoding device according to an embodiment of the present invention. 2, the moving body 1 includes a communication module 11, a flight controller (FC) 10, a transmission / reception module 12, a motor group 13, an electric speed controller (ESC) group 14, a touch panel 15, a camera 16, and a sensor group P.

[0028] The transmission / reception module 12 is a module that enables communication with a transceiver (proportional system, abbreviated as "propo" in FIG. 3) for controlling the moving body 1. This transmission / reception module 12 allows the moving body 1 to operate according to instructions given by the transceiver.

[0029] The motor group 13 is a plurality of motors that rotate corresponding rotors (propellers), and the ESC group 14 is a plurality of ESCs that drive corresponding motors. The touch panel 15 is an input / output device that allows various information to be displayed or instructions to be given. The camera 16 is a device that captures moving or still images according to settings, which can be made using the touch panel 15.

[0030] The sensor group P is a variety of sensors used when the moving body 1 flies. As shown in Fig. 2, the sensor group P includes a gyro sensor P1, an acceleration sensor P2, a magnetic direction sensor P3, a barometric pressure sensor P4, a GNSS (Global Navigation Satellite System) receiving module P5, and a ranging module group P6.

[0031] The gyro sensor P1 is a sensor for measuring the angular velocity of the mobile object 1 on each of three axes, for example. The acceleration sensor P2 is a sensor for detecting the posture of the mobile object 1 on each of three axes, for example. The magnetic direction sensor P3 is a sensor for detecting the direction in which the mobile object 1 is facing.

[0032] The atmospheric pressure sensor P4 is a sensor for detecting atmospheric pressure. This atmospheric pressure sensor P4 can also detect the approximate current altitude of the mobile object 1. The GNSS receiving module P5 generates position data PD representing the longitude, latitude, and altitude of the mobile object 1 by satellite positioning, i.e., by receiving radio waves transmitted from a positioning satellite. The ranging module group P6 is a plurality of ranging modules for measuring the distance to objects located in each direction of the mobile object 1, for example, forward / backward, left / right, and up / down. This ranging module group P6 enables the mobile object 1 to move without coming into contact with other objects. Note that each ranging module can measure the distance to an object by, for example, emitting ultrasonic waves or laser light.

[0033] The FC 10 controls the entire moving object 1. The FC 10 performs the processing of instructions received by the transmission / reception module 12, communication via the communication module 11, drive control of the motor group 13 via the ESC group 14, input / output via the touch panel 15, control of the camera 16, and processing of signals from the sensor group P. For this purpose, the FC 10 is equipped with a microcontroller 100.

[0034] As shown in FIG. 2, this microcontroller (hereinafter abbreviated as "microcomputer") 100 includes a CPU (Central Processing Unit) 101, a flash memory 102, a RAM (Random Access Memory) 103, and an I / F (Interface) controller group 104, which are connected to a bus.

[0035] The CPU 101 reads out various programs stored in the flash memory 102 into the RAM 103 and executes them to control the entire moving object 1. The various programs include an encoding program AP1 shown in FIG.

[0036] The I / F controller group 104 is a plurality of controllers that enable communication between, for example, the sensors P1 to P6 that make up the sensor group P, the ESC group 14, the touch panel 15, and the camera 16. The communication module 11 and the transmission / reception module 12 are connected to a bus, similar to the flash memory 102 and the like.

[0037] The I / F controller group 104 enables the CPU 101 to take in and process signals acquired from the sensors P1 to P6 as data. The CPU 101 can also control the camera 16 at any time, and can store the imaging results and the like output from the camera 16 in a flash memory 102 or the like. The moving body 1 can be moved by driving the motor group 13 via the ESC group 14.

[0038] 3 is a functional block diagram showing an example of a functional configuration realized on a mobile object equipped with an encoding device according to an embodiment of the present invention. Note that this functional configuration example is just an example, and the functional configuration is not particularly limited.

[0039] 3, the CPU 101 constituting the microcomputer 100 of the moving object 1 has the following functional components implemented: an operation recognition unit 1001, a screen generation unit 1002, an instruction recognition unit 1003, a drive control unit 1004, a route registration unit 1005, an autopilot unit 1006, a distance measurement unit 1007, a camera control unit 1008, a fault diagnosis unit 1009, an encoding unit 1010, and a setting change unit 1011. In order to implement these functional components on the CPU 101, the flash memory 102 has the following areas for storing information: a common encryption key storage unit 1201, a route information storage unit 1202, and a setting information storage unit 1203.

[0040] The operation recognition unit 1001 recognizes an operation performed on the touch panel 15. Depending on the recognition result, other components function. The screen generation unit 1002 generates a screen to be displayed on the touch panel 15. The recognition result of the operation recognition unit 1001 is used to determine whether or not to generate a screen, and to specify the type of screen to be generated.

[0041] The instruction recognition unit 1003 recognizes the content of an instruction given by operating the transceiver 5. For this recognition, data received by the transceiver module 12 and input to the CPU 101 is passed to the instruction recognition unit 1003.

[0042] The drive control unit 1004 controls the drive of the motor group 13 via the ESC group 14. To this end, the result of instruction recognition by the instruction recognition unit 1003 is passed to the drive control unit 1004. For posture control and the like, information such as the rotation speed of each motor constituting the motor group 13, as well as digital data of signals from the gyro sensor P1, acceleration sensor P2, and the like are also passed to the drive control unit 1004.

[0043] The route registration unit 1005 registers the route along which the mobile object 1 should autonomously travel. Information representing the registered route is stored as route information in a route information storage unit 1202 secured in the flash memory 102. For route registration, the operation recognition unit 1001 and screen generation unit 1002 also function to provide a necessary UI (user interface).

[0044] The autopilot unit 1006 enables the mobile unit 1 to autonomously move along the route represented by the route information stored in the route information storage unit 1202. The actual movement is realized by the control of the drive control unit 1004. To enable movement along the route, position data PD output from the GNSS receiving module P5 at any time is used. Autopilot using the position data PD enables the mobile unit 1 to move along the route represented by the route information. This makes it possible for the autopilot 1 to be used for various surveys, various measurements, delivery of goods, etc. in areas where communication with the transceiver 5 is not possible.

[0045] The distance measurement unit 1007 processes data output from each distance measurement module constituting the distance measurement module group P6, for example, and measures (calculates) the distance to an object present in each of the forward / backward, left / right, and up / down directions. The measurement results are passed to the drive control unit 1004 or the automatic steering unit 1006. As a result, the moving object 1 is autonomously controlled so as not to come into contact with the object.

[0046] The camera control unit 1008 controls the camera 16 to capture moving or still images as necessary. The camera control unit 1008 stores the captured moving or still images in the flash memory 102 and transmits the moving images to the transceiver 5 via the transceiver module 12. This allows the person operating the transceiver 5 to check the images captured by the camera 16, provided that the transceiver 5 is located within a range where communication via the transceiver module 12 is possible.

[0047] The fault diagnosis unit 1009 performs diagnosis to detect faults, including malfunctions, that have occurred in the moving object 1. When a fault is detected, information indicating the fault, such as a fault code, is identified and stored, for example, in the flash memory 102. The fault code is data that corresponds to the status data SD.

[0048] The encoding unit 1010 encodes the position data PD output from the GNSS receiving module P5 and transmits the encoded position data PD via the communication module 11. The encoding of the position data PD is performed by referring to a group of common encryption keys stored in a common encryption key storage unit 1201 secured in the flash memory 102. Details of encoding including common encryption keys will be described later. The encoding unit 1010 also encodes the status data SD separately from encoding the position data PD.

[0049] The data to be coded is ultimately determined by the coding unit 1010. Thus, the coding unit 1010 corresponds to all of the data acquisition means, space specification means, and coding means in this embodiment. The setting change unit 1011 corresponds to setting means. Data to be coded also includes various state data SD generated by the fault diagnosis unit 1009, etc.

[0050] The setting change unit 1011 corresponds to a setting change in the encoding of the position data PD by the encoding unit 1010. The setting information storage unit 1203 secured in the flash memory 102 is for storing setting information indicating the setting contents. The setting contents will also be described in detail later.

[0051] As described above, the mobile object 1 is an air vehicle, such as a drone, that can be controlled by the transceiver 5. In this embodiment, it is also assumed that the mobile object 1 will move (fly) to a location where communication with the transceiver 5 is not possible. For this reason, communication via the network N1 is used to make it possible to confirm the location of the mobile object 1. Here, it is assumed that the location of the mobile object 1 is confirmed by the user terminal 6, in other words, that the destination of the encoded position data PD is the user terminal 6. As a result, the user terminal 6 becomes an information processing device that realizes a decoding device by executing the decoding program AP2 shown in FIG. 1.

[0052] The user terminal 6 itself is an information processing device used by the person operating the transceiver 5 or by a person related to that person. The information processing device is not particularly limited, but in FIG. 3, a tablet PC (Personal Computer) or the like capable of communication via the network N1 is assumed.

[0053] As shown in FIG. 3, the user terminal 6 includes a communication module 61, a CPU 62, a flash memory 63, and a touch panel 64. The communication module 61 is a module that enables communication via the network N1. The flash memory 63 has a common encryption key storage unit 631, just like the mobile unit 1. The content of the common encryption key group stored in the common encryption key storage unit 631 is also the same as that of the mobile unit 1. The word "common" in the common encryption key indicates this.

[0054] The decoding program AP2 is stored in, for example, a flash memory 63. By executing this decoding program AP2, a bit data restoration unit 621, a decoding unit 622, and a setting change unit 623 are realized as functional components on the CPU 62. The functions of the bit data restoration unit 621, the decoding unit 622, and the setting change unit 623 will be described in detail later.

[0055] In the user terminal 6 as a whole, the encoded data is acquired by the communication module 61. As a result, it can be said that the communication module 61 corresponds to the information acquisition means in this embodiment. However, if the encoded data is divided, the bit data restoration unit 621 is also essential. As a result, it can be said that the bit data restoration unit 621 also corresponds to the information acquisition means. The decoding unit 622 corresponds to both the data identification means and the output means.

[0056] 4 is a diagram illustrating an example of an encoding method employed in an encoding device according to an embodiment of the present invention. This encoding method assumes that position data PD is composed of longitude data, latitude data, and altitude data.

[0057] Position data PD obtained by satellite positioning usually contains some errors. These errors include satellite clock error, satellite orbit error, ionospheric delay error, tropospheric delay error, etc. The total error depends on the sum of these errors. The presence of such errors changes the number of effective digits for each of the longitude data, latitude data, and altitude data.

[0058] Furthermore, the accuracy required for the position data PD typically differs depending on the type, size, or use of the moving body 1. For example, large passenger aircraft and large ships such as tankers typically do not require accuracy in the meter due to their size. Ships, automobiles, and people typically exist on the surface of the sea or the earth, so altitude does not need to be considered. Depending on such accuracy requirements, the number of digits actually required for each of the longitude data, latitude data, and altitude data varies. In some cases, altitude data is not necessary.

[0059] As described above, the number of digits actually required for each of the longitude data, latitude data, and altitude data varies depending on error, required accuracy, and the like. The smaller the number of digits, the more the amount of data can be reduced. In this embodiment, in order to accommodate changes in the required number of digits, the space in which a position can be indicated by the position data PD is virtually quantized, i.e., divided. The smallest space used for this quantization is the unit space. Hereinafter, the space in which a position can be indicated by the position data PD will be referred to as the "whole space" to more clearly distinguish it from the unit space. The top diagram in Figure 4 shows an example of a method for dividing the whole space into unit spaces. Note that although the whole space here is a three-dimensional space, since the whole space itself is intended for encoding multiple data, it may be a multidimensional space with two or more dimensions.

[0060] In this embodiment, in accordance with the quantization of the entire space, a mesh number is assigned to each unit space as identification information. As a result, the unit space containing the position indicated by the position data PD is identified from the position data PD, and the position data PD is converted into a mesh number assigned to the identified unit space. To enable the conversion to a mesh number, in addition to the mesh number, each unit space is also assigned, for example, a range of position data PD associated with that unit space. In practice, the range of the position data PD is treated as the range or shape of the unit space, and mesh numbers are assigned to the range of the position data PD.

[0061] The allocation of mesh numbers to unit spaces can be done arbitrarily. The mesh number itself is data different from the position data PD. Therefore, converting the position data PD into a mesh number is not only encoding the position data PD but also encrypting it. This mesh number is also used to decrypt the position data PD. For this reason, the mesh number serves as a common encryption key.

[0062] Only one piece of position data PD is associated with a mesh number. This piece of position data PD may be calculated from the range of the position data PD, or may be prepared separately from the data indicating the range of the position data PD. The method for calculating this piece of position data PD may vary depending on the assumed unit space. For example, in a unit space that includes or is in contact with sea level or the earth's surface, the height of sea level or the earth's surface may be used as altitude data, while in other unit spaces, an intermediate height may be used as altitude data. For this reason, there are no particular limitations on how one piece of position data PD is set. In addition, one piece of position data PD associated with a unit space will hereinafter be referred to as "representative position data PD" to distinguish it from others.

[0063] Fig. 5 is a diagram illustrating an example of quantization of the entire space. In Fig. 5, the size of the unit space for quantizing the entire space is represented by the height scale and the maximum error. The target example is an example of a moving object 1 assumed in the size of the corresponding unit space.

[0064] The height scale here refers to the number of divisions in a predetermined height range. For example, if the height range is 0 to 10,000 m and the height scale is 1000, the height of the unit space will be 10 m. If the height scale is 1, the unit space will be treated as an area above sea level or the ground surface. In this case, altitude data will be ignored.

[0065] The maximum error is an index defined, for example, as the length from the center of the unit space to the edge with the greatest horizontal distance. If the shape of the horizontal surface of the unit space is rectangular, the edge with the greatest distance will be all four corners, or one or more corners. If the rectangle is, for example, a square with sides of approximately 11 m, the maximum error will be approximately 7 m, and the edges with the greatest error will be the four corners.

[0066] In FIG. 5, six examples of unit space sizes are shown. However, the size of the unit space is not particularly limited. Furthermore, the shape of the unit space is not particularly limited. The target examples are shown as representative examples of assumed unit spaces of each size, and the relationship between the size of the unit space and the target examples is not particularly limited.

[0067] The correspondence between the position data PD and the unit space changes depending on the size of the unit space as shown in Fig. 5. For this reason, in this embodiment, the size of the unit space can be arbitrarily selected as a setting for encoding the position data PD. The setting change unit 1011 shown in Fig. 3 is a function for making the size of such a unit space changeable as a setting. The setting information stored in the setting information storage unit 1203 is information representing the size of the unit space, that is, the quantization content of the entire space.

[0068] The decoding side of the position data PD must decode the position data PD in accordance with the size of the unit space used during encoding. For this reason, as shown in Fig. 3, a setting change unit 623 is also implemented on the CPU 62 mounted on the user terminal 6. The setting information is stored in, for example, a flash memory 63. Since the decoding side cannot properly restore the position data PD unless it matches the settings on the encoding side, making the settings changeable is useful for realizing higher confidentiality of the position data PD.

[0069] The amount of data required to encode the position data PD by quantizing the entire space as described above, that is, the amount of data required to represent the encoded position data PD, is as follows. Here, we will explain using as an example a unit space with a standard height scale of 650 and a maximum error of approximately 7 m. For ease of understanding, we will assume that the entire space is a rectangular parallelepiped section. Accordingly, we will assume that the shape of the horizontal plane of the unit space is a square with each side measuring 7 m.

[0070] First, the surface area of the Earth is Earth's surface area ≒ 510 x 10 6 [km 2]=510×10 12 [m 2 ] is. If we assume that this surface area is rectangular in shape and divide it into square areas with sides of 11 m, the total number of square areas is Total number of areas = 510 x 10 12 / 121≒421×10 10 This becomes:

[0071] If we consider this area as a block with height, and 650 of these blocks are stacked vertically (if we divide the assumed height range by 650), the total number of blocks is Total number of blocks ≒ 421 x 10 10 ×650=274×10 13 The total number of blocks is the total number of unit spaces.

[0072] This total is 256 6 Dividing by (the total number of numbers that can be expressed in 6 bytes) gives 274×10 13 / 256 6 ≒9.73 Therefore, to express a binary number, that is, binary data, 6 bytes are required, as well as the decimal number 10 (an integer number between 0 and 9). In other words, 4 bits or more are required to express it as binary data. In other words, the minimum number of bits required to express it as binary data is 6 bytes + 1 byte (minimum 4 bits).

[0073] Figure 4 shows that converting the mesh number into binary data generates N bits + M bytes of data. In the example above, N is an integer between 4 and 8, and M is an integer greater than or equal to 6. 4 is the minimum value for N, and 6 is the minimum value for M.

[0074] These values of N and M are three-dimensional data and are realized as a result of a dimension conversion operation of the position data PD, which is composed of three pieces of data, from three dimensions to one dimension. This dimension conversion operation avoids the need to handle each of the three pieces of data individually, eliminating or minimizing redundancy. As a result, the amount of data can be reduced and reversible data compression is also possible. Since the data is compressed by a dimension conversion operation, it is also encrypted.

[0075] In this embodiment, it is assumed that encoded position data PD is transmitted. For this reason, in this embodiment, M bytes of data are transmitted as encoded data of the position data PD, and the most significant N bits are used as control data for transmitting the encoded data. As a result, here, the M bytes of data correspond to the first data, and the N bits of data correspond to the second data. Note that binary data may also be transmitted as M+1 bytes of encoded data.

[0076] In order to enable the use of N-bit data as control data for transmission, in this embodiment, a predetermined unit time is divided, and each time width obtained by the division is used as a time slot TS (TS1 to TSk) which is a communication resource for communicating encoded data. As a result, as shown in Fig. 4, the N-bit control data is used as a communication resource, that is, for selecting a time slot TS, and the encoded data is transmitted in the selected time slot TS.

[0077] Specifically, for example, as described above, when N-bit data represents the decimal numbers 0 to 9, ten time slots TS1 to TS10 (k=10) are prepared as time slots TS. If the N-bit data represents 9 in decimal, for example, time slot TS10 is selected as the time slot TS for transmitting 6 bytes of data. If the N-bit data represents 0 in decimal, for example, time slot TS1 is selected as the time slot TS for transmitting 6 bytes of data. N-bit data can be expressed through such selection of time slot TS.

[0078] As a result, for example, when transmitting encoded data of position data PD according to a communication specification (communication standard) with a 12-byte payload, 6 bytes of data can be transmitted at once in addition to the encoded data. Note that the position in the binary data of the N-bit data used to select the time slot TS can be any position. The N-bit data does not have to be contiguous. In other words, the N-bit data can be distributed to multiple positions. This is because the positions can be determined in advance and the restored N-bit data can be inserted at those positions.

[0079] The time slots TS used to transmit the encoded data can also be recognized on the receiving side. This is because the unit time, the number of time slots TS, the time width of each time slot TS, and the start time of each unit time can be treated as common settings in advance. This allows the decoding side to restore N bits of control data from the timing when the encoded data was received. Therefore, the decoding side can restore binary data consisting of N bits of control data and M bytes of encoded data.

[0080] The restored binary data is the mesh number converted into a binary number. Therefore, after the binary data is restored, the decimal mesh number represented by the binary data is restored, and the unit space to which that mesh number is assigned is identified. By identifying the unit space, the representative position data PD associated with that unit space is further identified. By identifying the representative position data PD, the decoding is completed, and the identified representative position data PD is treated as the restored position data PD.

[0081] 3 displays the location indicated by the restored location data PD as a mark or the like on a map or a topographical map displayed on the touch panel 64 using data previously stored in the flash memory 63, for example. This allows the user of the user terminal 6 to confirm the location of the mobile device 1. The user of the user terminal 6 may be the same person as the user operating the transceiver 5, or may be a different person.

[0082] Encoding the position data PD reduces the amount of data transmitted and received. For this reason, even if communication between the mobile object 1 and the user terminal 6 is possible via a communication network that does not restrict data transmission and reception, such as an LPWA network, for example, a mobile phone network, the position data PD may be encoded. As a result, the communication network used for data transmission and reception is not particularly limited. Furthermore, the position data PD may be encoded in order to store the data in a recording medium. For example, the mobile object 1 may store the encoded position data PD in a flash memory 102, making it possible to confirm the actual movement route of the mobile object 1.

[0083] Regardless of the application, the data required for decoding can be prepared in advance on the decoding side, eliminating the need to constantly acquire data for decoding. Therefore, there are fewer restrictions on the use of data encoding and decoding, making it highly versatile. The data is not limited to position data PD, and multiple data can be applied, as long as each data is one-dimensional, making the range of data application extremely wide.

[0084] Fig. 6 is a flowchart showing an example of the flow of the encoding process and the decoding process. These two flowcharts are based on the assumption that the position data PD is encoded as shown in Fig. 4. It is assumed that the encoding process is performed by the CPU 101, and the decoding process is performed by the CPU 62. The encoding process is realized by the CPU 101 executing the encoding program AP1, and the decoding process is realized by the CPU 62 executing the decoding program AP2.

[0085] The GNSS receiver module P5 performs satellite positioning at time intervals set by the CPU 101, for example, and outputs the resulting position data PD. In such a case, the encoding process is initiated by the output of the position data PD from the GNSS receiver module P5. It is assumed that various settings, including the size of the unit space, are configured in advance. Based on this assumption, a common encryption key group 7 is shown as data referenced by the encoding side and the decoding side depending on the settings. This common encryption key group 7 corresponds only to one setting. For example, as described above, each mesh number, which is the common encryption key, is associated with the corresponding unit space range and representative position data PD. The common encryption key storage unit 1201 stores a configurable number of such common encryption keys 7. Note that the settings may also include the data volume of the encoded data. Given the existence of various communication specifications, it is desirable to make the data volume of the encoded data configurable. The common encryption key group 7 may be automatically generated, thereby avoiding the need to prepare it in advance as data.

[0086] First, in step S1, the CPU 101 acquires the position data PD output from the GNSS receiving module P5. In the next step S2, the CPU 101 refers to the common encryption key group 7 to identify the mesh number of the unit space corresponding to the acquired position data PD, and replaces the position data PD with the identified mesh number.

[0087] In step S3, which follows, CPU 101 converts the mesh number into binary data. In the following step S4, CPU 101 determines whether or not a division setting (see FIG. 4) has been made, in which the binary data is divided and one part is used to control the transmission timing of the remaining part. If such division setting has been made, the determination in step S4 is YES, and the process proceeds to step S5. If such division setting has not been made, the determination in step S4 is NO, and the encoding process ends here. As a result, the binary data obtained in step S3 is transmitted as encoded data.

[0088] In step S5, CPU 101 divides the binary data. Then, the encoding process ends. By dividing the binary data, one part is used to select a time slot TS for controlling the transmission timing of the remaining part, and the remaining part is transmitted in the selected time slot TS. In the encoding process, the above-described process is executed, whereby the position data PD is encoded, and the encoded data is transmitted using the time slot TS as a communication resource as necessary, as shown in Fig. 4.

[0089] On the other hand, the decoding process is initiated, for example, by receiving encoded data. First, in step S11, the CPU 62 acquires the binary data received as encoded data as well as the reception timing of the binary data, for example, the reception date and time. In the following step S12, the CPU 62 determines whether or not a division setting has been made. If the division setting has been made, the determination in step S12 is YES, and the process proceeds to step S13. If the division setting has not been made, the determination in step S12 is NO, and the process proceeds to step S14.

[0090] In step S13, the CPU 62 converts the reception timing into data. In this way, in the example shown in Fig. 4, N-bit data is restored. As a result of this restoration, the process proceeds to step S14 in a state where the binary data obtained by converting the mesh number, that is, the complete binary data, exists. If the process proceeds due to a NO determination in step S12, the complete binary data has been acquired in step S11.

[0091] In step S14, the CPU 62 restores the mesh number from the binary data. In the following step S15, the CPU 62 refers to the common encryption key group 7 to identify the representative position data PD of the unit space corresponding to the restored mesh number, and restores the position data PD by using the identified representative position data PD as the decrypted position data PD. Thereafter, the decryption process ends.

[0092] As described above, the restored position data PD contains vertical errors corresponding to the height scale and horizontal errors within the maximum error. However, by selecting an appropriate unit space size, it is possible to encode and decode the position data PD without any problems. Even if the position data PD output by the GNSS receiver module P5 is encoded without reducing accuracy, the encoded data can be stored in a 12-byte payload with ample space.

[0093] When accuracy is not reduced, the representative position data PD of the unit space associated with the position data PD may represent the position of a point identified by the values of the longitude data, latitude data, and altitude data. In this case, the unit space is simply used for dimension conversion operations on the three data items of longitude data, latitude data, and altitude data. Data compression is performed by lossless, reversible encoding.

[0094] Since the unit space is used for such purposes, the number of data to be collectively encoded, i.e., the number of dimensions, only needs to be two or more. This allows multiple pieces of data to be collectively encoded as status data SD. In this embodiment, by encoding multiple pieces of data as status data SD separately from the position data PD, it becomes possible to transmit more data at one time.

[0095] The shape of the unit space is basically determined according to the number of dimensions, and the size of the unit space may be determined according to the required accuracy, etc. As a result, the amount of coded data can be reduced to a value corresponding to the multiplication result obtained by multiplying the number of values to be expressed by each piece of data.

[0096] In this embodiment, the encoding settings are fixed. In other words, the settings cannot be changed while encoding is being performed. However, the settings may be changed while encoding is being performed. The settings may be changed by human instruction, according to a schedule, or autonomously.

[0097] For example, in a flying mobile body 1, the allowable error in the horizontal direction usually changes depending on the altitude. For example, the closer the mobile body 1 is to sea level or the ground, the smaller the allowable error in the horizontal direction tends to be. This tendency is particularly pronounced when the mobile body 1 is moving toward a destination or target location on the sea level or the ground. For this reason, the settings may be autonomously changed so that the maximum error in the horizontal direction becomes smaller as the mobile body 1 approaches the sea level or the ground. Such an autonomous setting change may be performed by the setting change unit 1011 based on, for example, the distance to an object below the mobile body 1 measured by the distance measurement unit 1007 and / or the altitude predicted from the air pressure measured by the air pressure sensor P4.

[0098] To enable autonomous setting changes, it is necessary to enable the decoding side to recognize the settings made during encoding. As shown in Figure 5, when selecting one of six settings, three or more bits of data are required to enable the decoding side to recognize the setting. The three bits of data may be transmitted as one byte of data together with N bits of data. Even if data indicating the setting is added, the total data volume is limited to seven bytes. Therefore, in a 12-byte payload, five bytes can be allocated for transmitting other data. The autonomous setting changes may be performed according to the speed of the mobile unit 1, the topography of the area in which the mobile unit 1 is moving, etc.

[0099] In this embodiment, the amount of coded data to be transmitted is fixed. However, the amount of data may be changed depending on the combination of height scale and maximum error. Alternatively, combinations of height scale and maximum error that can be combined depending on the specified data amount may be presented, and the user may select a desired combination from the presented combinations. Alternatively, target examples may be presented, and the user may select an assumed moving object from the presented target examples. [Explanation of symbols]

[0100] 1 Mobile object, 2 Server, 3 Information terminal, 5 Transmitter / receiver, 6 User terminal, 7 Common encryption key group, 10 FC, 11, 21, 22, 61 Communication module, 62, 101 CPU, 63, 102 Flash memory, 631 Bit data recovery unit, 632 Decryption unit, 623, 1011 Setting change unit, Drive control unit 1004 Route registration unit, 1005 Autopilot unit, 1007 Ranging unit, 1010 Encoding unit, 1201 Common encryption key storage unit, AP1 Encoding program, AP2 Decryption program, N1, N2 Network, P Sensor group, P5 GNSS receiving module, P6 Ranging module group.

Claims

1. a data acquisition means for acquiring a plurality of data to be encoded; a space specifying means for regarding each piece of data constituting the plurality of data acquired by the data acquiring means as one-dimensional data, thereby determining the number of pieces of data constituting the plurality of data as the number of dimensions, and specifying the unit space corresponding to the plurality of data from among unit spaces obtained by virtually dividing a multidimensional space according to the number of dimensions; encoding means for outputting identification information assigned to the unit space identified by the space identification means as encoded data of the plurality of data; An encoding device comprising:

2. When the data acquisition means acquires position data indicating a position on the earth by at least longitude data and latitude data obtained by satellite positioning as the plurality of data, the space identification means identifies the unit space by regarding the position data as the plurality of data by regarding at least the longitude data and the latitude data as the one-dimensional data. The encoding device according to claim 1 .

3. the data acquisition means acquires the position data including only the longitude data and the latitude data as the plurality of data; the space specification means specifies the number of dimensions as two, defines the multidimensional space as a two-dimensional plane, and specifies an area corresponding to the longitude data and the latitude data from among a plurality of areas existing on the two-dimensional plane, with an area obtained by virtually dividing the two-dimensional plane as the unit space; the encoding means outputs, as the encoded data, identification information of the area specified by the space specifying means. The encoding device according to claim 2 .

4. the data acquisition means acquires the position data including the longitude data, the latitude data, and the altitude data as the plurality of data; the space specifying means specifies the number of dimensions as three, specifies the multidimensional space as a three-dimensional space, specifies a hexahedron that virtually divides the three-dimensional space as a unit space, and specifies a hexahedron that corresponds to the longitude data, the latitude data, and the altitude data from among a plurality of hexahedrons that exist in the three-dimensional space; the encoding means outputs, as the encoded data, identification information of the hexahedron identified by the space identification means. The encoding device according to claim 2 .

5. Further, a setting means for setting a shape including the size of the unit space is provided, the space specifying means specifies the unit space corresponding to the plurality of data by assuming the unit space having the shape set by the setting means; The encoding device according to claim 1 .

6. when the encoding means outputs the encoded data for transmission, the encoding means divides the encoded data into first data and second data and outputs the first data at a transmission timing controlled by the second data; The encoding device according to any one of claims 1 to 5.

7. an information acquisition unit that acquires the identification information output as the encoded data by the encoding device according to any one of claims 1 to 5; a data specifying means for specifying the unit space to which the identification information acquired by the information acquiring means is assigned, and further specifying the plurality of data items associated with the specified unit space; an output means for outputting the plurality of data identified by the data identification means as decoded data; A decoding device comprising:

Citation Information

Patent Citations

  • Geographical position data compression communication method, geographical position data compression communication system, mobile body, and receiver

    JP2018166248A