Ranging system

The ranging system addresses data overload by selectively storing data based on object size and distance, using culling and compression, maintaining spatial resolution for efficient object detection.

WO2026140146A1PCT designated stage Publication Date: 2026-07-02OPTEX CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
OPTEX CO LTD
Filing Date
2024-12-25
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Conventional ranging systems generate a large amount of data due to numerous measurements, leading to storage and data management burdens, while maintaining sufficient spatial resolution for object detection is crucial.

Method used

A ranging system that includes a distance-indicating value sensing unit, storage unit, and culling unit to selectively store data based on predetermined minimum object size and distance, combined with data compression techniques to reduce unnecessary data.

Benefits of technology

The system effectively reduces stored data while ensuring sufficient spatial resolution for object detection, optimizing data management and storage efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024046041_02072026_PF_FP_ABST
    Figure JP2024046041_02072026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a ranging system 100, including: a distance-indicating value sensing unit 10 that, for each of a plurality of directions therefrom, outputs a distance-indicating value that is a value indicating a distance to a point on an object in that direction, a storage unit 24 that stores a dataset for each of one or more of the directions, the dataset including at least the distance-indicating value for that direction output by the distance-indicating value sensing unit10, and a culling unit 23 that culls datasets, such that the culled dataset is not stored in the storage unit 24, on a basis of a predetermined minimum object size and the distance-indicating value of the dataset.
Need to check novelty before this filing date? Find Prior Art

Description

RANGING SYSTEM

[0001] The present invention relates to a ranging system for determining a distance to an object.

[0002] To determine the distance to an object, a ranging system may make a distance measurement by acquiring a distance-indicating value that can be used to calculate the distance to the object. For example, in conventional ranging systems it has been conceived of to emit a pulse of light in a given direction and use a photodetector to receive a return pulse of light that has scattered off an object in the path of the light, and measure the amount of time from when the light is emitted to when it is received (the ‘time of flight’ of the light) as the distance-indicating value. Furthermore, by using a scanning mechanism to alter the direction of the light between each measurement, the light may be scanned across the detection area to take measurements in many directions. In many applications, it is preferable to scan an area at high speed and to take many measurements in a single scan.

[0003] For example, Patent Literature 1 describes one such device that uses a semiconductor laser diode as a light source, an avalanche photodiode as a light-receiving element, and a scanning mechanism including a motor to obtain distance data to objects in a detection area for use in the field of security. It is described that 720 measurements may be taken over a single 180-degree scan (one at each 0.25-degree interval), and that 20 scans may be performed per second. Thus, even if measurements are only taken along a single straight line, this would mean 14,400 measurements a second, and data would be stored for each measurement.

[0004] It can be appreciated, therefore, that a ranging system may generate hundreds of thousands or even millions of data points in a short time. This creates a problem since, even though each of the data points contains a relatively small amount of data, the sheer number of data points causes a large amount of data to be generated, and this may be of considerable burden to the user due to the cost of storage and data transfer, as well as the complexity of data management. Reducing the amount of stored data is therefore desirable, and this may be done by deleting some of the data or by using data compression algorithms or the like to reduce it in size.

[0005] However, the level of detail that must be preserved in the data varies according to the application, and essential data to meet the needs of the user must not be deleted or lost during compression. For example, sufficient spatial resolution must be stored according to the object-of-interest in a specific application, and this may vary according to the size of the object-of-interest, the necessary density of data points for the application, and so on. Thus, there is the need to reduce the overall amount of stored data while taking into consideration the level of spatial resolution needed for the object-of-interest, in order to ensure that necessary data is not lost.

[0006] U.S. Patent 9,733,358

[0007] The present invention aims to solve the above-mentioned problems, and its object is to provide a ranging system that reduces the overall amount of data stored while ensuring that distance data of sufficient spatial resolution is stored to measure the distance to an object of interest.

[0008] A ranging system according to the present invention includes: a distance-indicating value sensing unit that, for each of a plurality of directions therefrom, outputs a distance-indicating value that is a value indicating a distance to a point on an object in that direction, a storage unit that stores a dataset for each of one or more of the directions, the dataset including at least the distance-indicating value for that direction output by the distance-indicating value sensing unit, and a culling unit that culls datasets, such that the culled dataset is not stored in the storage unit, on a basis of a predetermined minimum object size and the distance-indicating value of the dataset.

[0009] A ranging system with this configuration allows for a reduction in the amount of stored data by culling unnecessary data, while still ensuring that the ranging system is storing sufficient data to detect target objects of a minimum size specified by a user or the like. That is, for a target object at a given distance, the ranging system must have sufficiently high resolution to acquire a distance-indicating value for at least one point on the target object, and preferably many points on the object. Moreover, a higher resolution is necessary to achieve this as an object of a given size gets farther away from the ranging system. The configuration here allows for the ranging system to take into account both the minimum size of the object and the distance to the object (as indicated by the distance-indicating value) and ensures that only unnecessary data will be culled.

[0010] The ranging system is preferably one wherein the distance-indicating value sensing unit includes: a light source that emits light in the plurality of directions; a light receiving unit that, for each of the directions, receives light returned from the point on the object located in that direction, and a time-of-flight calculation unit that calculates a time-of-flight for each of the directions that is a time from when the light is emitted from the light source to when it is received by the light receiving unit.

[0011] This is a specific configuration of the ranging system, which specifies the configuration of the distance-indicating value sensing unit as including a light source, a light receiving unit, and a time-of-flight calculation unit. This configuration allows for the time-of-flight to be calculated to the point on the object in each of the directions, and the time-of-flight can then be used as the distance-indicating value to a given point, or it may be used to calculate another distance-indicating value, such as the distance itself.

[0012] The ranging system is preferably one wherein the distance-indicating value is the time-of-flight calculated by the time-of-flight calculation unit or a distance to the point calculated using the time-of-flight.

[0013] This is a specific configuration of the ranging system, and here specifies two possibilities to use as the distance-indicating value, namely the time-of-flight itself or a distance that has been calculated using the time-of-flight. These values have the advantage of being intuitive to a user, and they also may be easily used to great a point cloud using the data.

[0014] The ranging system is preferably one wherein the culling unit makes a determination to cull the dataset if the distance-indicating value indicates that the distance to the point is smaller than a predetermined smallest distance value.

[0015] This configuration allows the ranging system to eliminate unnecessary data. That is, as an object gets closer to the ranging system, the distance-indicating value sensing unit tends to acquire a distance-indicating value for many points on the object, and thus it is best to cull data sets for certain points if they are closer to the ranging system than a certain distance in order to reduce the amount of stored data.

[0016] The ranging system is preferably one wherein the culling unit makes the determination to cull the dataset only for each of a subset of the directions.

[0017] This configuration allows the ranging system to cull the dataset if the distance-indicating value indicates that the distance to the point is smaller than a predetermined smallest value only for a subset of the directions. In other words, for some of the directions the dataset is not culled regardless of the distance to the point, but for some of the directions, i.e. a subset of all the directions, the dataset is culled if the distance to the point in that direction is smaller than the predetermined smallest value. That way, even if an object is close to the ranging system, the distance-indicating value to at least some of the points on the object will be stored in the storage unit, but for the subset of the directions this data be culled to reduce the amount of overall data stored.

[0018] It is preferable that the ranging system be one wherein the culling unit determines the directions included in the subset of the directions based on the predetermined minimum object size.

[0019] Via this configuration, the ranging system is able to minimize the amount of stored data while nevertheless ensuring that data of sufficient resolution is stored for a given minimum object size and a given distance. That is, greater resolution is needed for smaller objects or for objects that are farther away.

[0020] It is preferable that the ranging system further include a distance calculation unit that, for each of the datasets stored in the storage unit, calculates a distance to the point on the object based on the time-of-flight of the dataset, and the calculated distance is stored in the storage unit as distance data.

[0021] With this configuration, the time-of-flight data is converted into distance data, which is more intuitive to a user. Storing the data as distance data also allows the data to be easily converted into a point cloud or the like for further use.

[0022] It is preferably that the ranging system be one wherein each piece of data in the dataset is stored as bits, including higher order bits and lower order bits; and further include a data rearranging compression unit that rearranges a section of data stored in the storage unit such that all of the higher order bits in the section are stored together consecutively to each other and all of the lower order bits in the section are stored together consecutively to each other.

[0023] With this configuration, the ranging system is able to store higher order bits next to each other. This is advantageous because if a combination of a higher order bit and a lower order bit is used to represent a distance (or distance-indicating value), the higher order bit effectively indicates a larger approximate distance while the lower bit effectively indicates a smaller detailed distance. Thus, distance-indicating value for points that are near each other in space often have identical higher order bits. Likewise, when a measurement is taken in the same direction at multiple times, the measurements taken near in time to each other often have the same high order bits. Storing the higher order bits together consecutively often results in bits with the same value stored consecutively, such that they can be compressed easily, for example by run length encoding or other data compression methods.

[0024] It is preferable that the ranging system be one wherein each piece of data in the dataset is stored as bits, including higher order bits and lower order bits; and further include an adjacent data compression unit that subtracts from a data point of interest of the data a value of an adjacent data point and then adds a greatest possible value of the lower order bits of the data point of interest divided by a predetermined constant, and stores the result in the storage unit as a processed data point.

[0025] Configured like this, it is possible to ensure that when a value of an adjacent data point is subtracted from an uncompressed data point, if the higher order bits are the same the higher order bit of the result of the subtraction will be zero. This allows the higher order bit to be equal to zero for many data points, such that this data can be compressed easily.

[0026] It is preferable that the ranging system be one wherein the adjacent data compression unit returns the processed data point to its original value by adding to the processed data point the value of the adjacent data point and then subtracting the greatest possible value of the lower order bits divided by the predetermined constant.

[0027] This configuration allows the data values that have been compressed via the subtraction to be decompressed using the value of the adjacent data point, such that they are usable as normal data.

[0028] It is preferable that the ranging system be one where the predetermined constant is two.

[0029] In this configuration the predetermined constant is two, which is advantageous because two is the most efficient number to use as the predetermined constant in order to carry out the data compression via subtraction.

[0030] It is preferable that the ranging system be one wherein each piece of data in the dataset is stored as bits, each including higher order bits and lower order bits; and the ranging system further include a reference value compression unit that, for each of the plurality of directions: determines a reference distance-indicating value that indicates a reference distance, and compares the distance-indicating value output by the distance-indicating value sensing unit to the reference distance-indicating value, and, if the distance indicated by the distance-indicating value is the same as or greater than the reference distance indicated by the reference distance-indicating value, causes a zero to be stored as the distance-indicating value in the dataset for that direction.

[0031] This configuration allows the ranging system to ignore distance-indicating values that imply that no object of interest is present. That is, when the ranging system is used in a detection area, there are often some permanent objects such as barriers within the detection area. This creates the problem that the distance-indicating value sensing unit will obtain distance-indicating values for points on permanent objects each time the ranging system is used in the detection area, even though these are not objects of interest, and unnecessary data will be stored. The configuration here allows a reference distance to be set that takes into consideration permanent objects, such that data will only be stored for objects of interest that move between the permanent object and the ranging system. Furthermore, variations in values due to errors or noise or the like may also be taken into consideration when determining the reference values.

[0032] The ranging system is preferably one wherein each piece of data in the dataset is stored as bits, each including higher order bits and lower order bits; and the ranging system further include a reference value compression unit that, for each of the plurality of directions: determines a reference distance-indicating value that indicates a reference distance, and performs an operation of subtracting the distance-indicating value output by the distance-indicating value sensing unit from the reference distance-indicating value and adding a greatest possible value of the lower order bit of the uncompressed data point divided by a predetermined constant, and stores the result in the storage unit as a processed data point.

[0033] Configured like this, it is possible to ensure that when a value of a distance-indicating value is subtracted from a reference distance-indicating value, if the higher order bits are the same the higher order bit of the result of the subtraction will be zero. Similarly to the configuration described above, this allows the higher order bit to be equal to zero for many data points, such that this data can be compressed easily.Advantageous Effects of the Invention

[0034] According to the present invention, a ranging system is provided that reduces the amount of data stored while ensuring that distance data of sufficient spatial resolution is stored to measure the distance to an object of interest.

[0035] A schematic diagram of the ranging system according to a first embodiment of the present invention.FIGs 2A and 2B show plan views of the ranging system according to the first embodiment.A perspective view of the ranging system according to the first embodiment.A perspective view of the ranging system according to a variation embodiment.A functional block diagram showing the functions of the information processing unit of the ranging system according to the first embodiment.A schematic view of measurement points of the ranging system according to the first embodiment.A schematic view of measurement points of the ranging system according to a variation embodiment.A schematic diagram of higher order bits and lower order bits in the ranging system according to the first embodiment.A schematic diagram of higher order bits and lower order bits in a variation embodiment.A schematic diagram of the rearranging of bits in the first embodiment.A schematic diagram of binary subtraction in convention.A schematic diagram of a mathematical operation performed by the first embodiment.A plan view illustrating barriers and the detection area in the first embodiment.

[0036] A first embodiment of the present invention is described below with reference to the drawings.

[0037] A ranging system 100 of the present invention determines a distance to one or more objects in a detection area.

[0038] As shown in FIG 1, the ranging system 100 includes a distance-indicating value sensing unit 10 and an information processing unit 20.

[0039] The distance-indicating value sensing unit 10 makes a distance measurement in a plurality of direction by calculating a distance-indicating value that indicates a distance to a point on an object in the detection area in each direction, and includes a light source 11, a light receiving unit 12, a scanning mechanism 13, and a time-of-flight calculation unit 14. A distance-indicating value is a value that indicates the distance to the point on the object, and it may be the distance itself or it may be a value from which the distance to the point on the object can be calculated. As is explained below, in the present embodiment, a time of flight of a light pulse is used as the distance-indicating value. Note that the detection area is the area in which distance measurements are to be made; the largest possible detection area is determined by the capabilities of the distance-indicating value sensing unit 10, but a smaller detection area may be selected by a user.

[0040] The light source 11 may be a laser light source configured to emit laser pulses in a specific wavelength range, for example in the near-infrared spectrum, though alternative wavelengths may also be used depending on the use case. For example, the light source 11 may be a pulsed semiconductor laser that generates optical pulses with a narrow temporal width and a defined peak power. The light source 11 may be capable of emitting pulses at a high repetition rate, enabling the system to capture multiple returns per scan. The laser pulses generated by the light source 11 may be emitted at precise intervals, and the distance-indicating value sensing unit 10 may include mechanisms for controlling the timing and intensity of each pulse.

[0041] The light receiving unit 12 receives reflected light, i.e. returned laser pulses, which has scattered off a point on an object in the detection area, and converts the optical signal into an electronic signal. The light receiving unit 12 may consist of a photodetector, such as a photodiode, an avalanche photodiode (APD), or a single-photon avalanche diode (SPAD), which is capable of detecting the return light with sufficient sensitivity for light scattered from the detection area.

[0042] The scanning mechanism 13 is configured to alter the direction of the laser pulses emitted by the light source 11 by a predetermined angle between each distance measurement, and may be a mechanical scanning mechanism including one or more mirrors 131 that are mechanically rotated and employed to deflect the laser pulses in different directions. Depending on the application, a single rotating mirror or a set of mirrors may be used to sweep the laser pulse in only a horizontal direction, in only a vertical direction, or in both a horizontal direction and a vertical direction. As shown in FIG 3, in the present embodiment the laser pulse in swept in both the horizontal direction and the vertical direction. The mirrors 131 may be actuated by motors or other mechanical actuators. Alternatively, the scanning mechanism 13 may be a scanning mechanism that includes non-moving elements, such as a micro-electromechanical system (MEMS).

[0043] The time-of-flight calculation unit 14 calculates the total time from when a pulse of light is emitted by the light source 11 to when the return light is received by the light receiving unit 12 (the ‘time of flight’), and may be a specialized electronic circuit or the like. The time of flight represents the total travel time from the pulse being emitted to the pulse being received and, because the speed of light is constant, may be used to calculate the distance to the point on the object off of which the light was reflected. In other words, by measuring the time of flight of a pulse for a given direction, the distance-indicating value sensing unit 10 is effectively making a distance measurement in said direction.

[0044] The distance-indicating value sensing unit 10 outputs a distance information signal to the information processing unit 20 each time a pulse is emitted and received by the distance-indicating value sensing unit 10, the distance information signal including at least the time of flight of the pulse, the direction in which the pulse was emitted, and a timestamp. The timestamp may be the time at which the pulse was emitted, the time at which the return pulse was received, or a related value. The distance information signal may also include additional information including the intensity of the received pulse or the photon number, color data, etc.

[0045] The information processing unit 20 may be a so-called computer containing, for example, a CPU, memory, an input and output interface, and so on. Functionally, the CPU and other peripherals work together in accordance with a program stored in the aforementioned memory to perform the functions of a distance information signal receiving unit 21, an initial storage unit 22, a culling unit 23, a storage unit 24, a distance calculation unit 25, a data rearrangement compression unit 26, an adjacent data compression unit 27, and a reference value compression unit 28. Alternatively, the information processing unit 20 may be implemented as a virtualized system in the cloud, and may leverage distributed computing resources across multiple servers or data centers, with the processing power and storage capabilities thereof allocated to perform these functions.

[0046] Note that, as shown in FIG 1, the information processing unit 20 is provided externally to the distance-indicating value sensing unit 10, and may communicate with the distance-indicating value sensing unit 10 via a wireless communication or via a cable or the like. However, it is not limited to this, and the information processing unit 20 may instead be provided within the casing of the distance-indicating value sensing unit 10.

[0047] The distance information signal receiving unit 21 receives the distance information signal from the distance-indicating value sensing unit 10, and stores it as distance information data in the initial storage unit 22.

[0048] The distance information data received from the initial storage unit 22 corresponding to the distance information signal is stored as a dataset in the initial storage unit 22. The dataset contains data from one instance of a pulse being emitted and received by the distance-indicating value sensing unit 10 in a given direction (i.e., one distance measurement) and includes at least the time of flight of the pulse, the direction in which the pulse was emitted, and the timestamp from the distance information signal. Depending on the application, additional data from the distance information signal may be stored in the dataset, such as the intensity of the return pulse or color data or the like. Note that each piece of data stored in the dataset, such as the time of flight, may hereafter also be called a data point.

[0049] The culling unit 23 culls data by, for each dataset stored in the initial storage unit 22, making a determination as to whether the dataset is deleted (i.e., culled) or is moved to the storage unit 24 for longer-term storage.

[0050] The culling unit 23 is configured to receive a predetermined minimum object size, for example via an external signal, as shown in FIG 5. The predetermined minimum object size indicates the smallest size of an object-of-interest for which distance data is sought (i.e., the intended object(s) of investigation) and here is a diameter of a surface area of the object-of-interest. The culling unit 23 may use a default value of the predetermined minimum object size at first, and use a new predetermined minimum object size if an external signal indicating another predetermined minimum object size is received.

[0051] According to the present embodiment, the culling unit 23 ensures that at least one distance measurement of any object of the predetermined minimum object size in the detection area is not deleted and is stored in the storage unit 24, but deletes unnecessary datasets beyond that when possible.

[0052] As shown in FIG 2A, in some measurement directions (called hereafter non-culled directions 41), the dataset thereof is not culled regardless of how close the object is to the distance-indicating value sensing unit 10. On the other hand, in a subset of directions (culled directions 42), datasets are culled for measurements if the distance measured is smaller than a predetermined smallest distance value. The measurement path of the cull-eligible directions 42 consists of a culled area 422 and a non-culled area 421. The culled area 422 extends outwardly from the distance-indicating value sensing unit 10, and its length is the distance indicated by the predetermined smallest distance value. The non-culled area 421 begins where the culled area 422 ends and extends outwardly.

[0053] Making further reference to FIG 2A, note that the maximum spatial resolution of the data is determined by the angle between each measurement, and as an object of a certain size gets far enough away it will eventually be able to escape detection by fitting between two measurement directions. On the other hand, as the object gets closer to the distance-indicating value sensing unit 10, it will inevitably be unable to fit between measurement directions (i.e., its diameter will be larger than the gap between the path of two measurement directions).

[0054] FIG 2A shows an object O that is an exemplary object-of-interest whose diameter D is the predetermined minimum object size. Once the object O gets a certain distance close enough to the distance-indicating value sensing unit 10, its diameter D is such that the object will necessarily be present in three of the paths of the measurement directions (this is the situation shown in FIG 2A). Thus, if the object is at this certain distance or nearer, even if one of the measurements is culled, at least one distance measurement to the object will not be culled and will be stored in the storage unit 24. The culling unit 23 may therefore use this ‘certain distance’ as the predetermined smallest distance value, and may cull the measurements of every other measurement direction. This predetermined smallest distance value is calculated based on the angle between each measurement direction and the predetermined minimum object size.

[0055] It is possible for the culling unit 23 to allow for more culling closer to the distance-indicating value sensing unit 10. That is, even in the case shown in FIG 2A, as the object O gets closer and closer it will eventually again be in a situation in which it is present in three measurement paths, which would result in unnecessary data being stored for close objects. FIG 2B, which shows two objects O of the same size, one closer than the other, shows how further culling at closer distances can solve this problem. To further reduce the amount of data stored, it is possible to further cull data for every other of the measurement paths that were not culled farther out, but using an appropriate predetermined smallest distance value that is shorter. That is, while FIG 2A shows only one of every two measurement directions to be culled directions 42 (a 50% cull ratio), FIG 2B shows three out of every four measurement directions being culled directions 42 (a 75% cull ratio), one of which having a shorter culled area 423. In other words, the cull ratio becomes higher closer to the distance-indicating value sensing unit 10. Thus, the amount of stored data can be further reduced while still ensuring that a distance measurement to the object will be taken in at least one measurement direction.

[0056] FIG 6 shows an example of this stepwise culling. Here, each measurement direction is presented as a point, and the distance between each point represents the spatial resolution at a given distance. Points 51 are points on non-culled directions 41, and thus datasets for these are never culled, and points 51 are used to take distance measurements of nearby objects. Culled points 52 are points along the subset of culled directions 42, but with different predetermined smallest distance values. Medium-range points 52a have a medium-range predetermined smallest distance value, and datasets are stored in the storage unit 24 for these points for objects at a medium distance or farther. Far-range points 52b have a far-range predetermined smallest distance value, and datasets are stored in the storage unit 24 for these points for objects at a far-away distance. Here, only three types of points 51, 52a, 52b are shown, but is possible to have more than three types to more finely tune the culling.

[0057] Note that is also possible for the culling unit 23 to take into consideration optical effects when choosing which directions are culled directions 41 and which are culled directions 42. For example, FIG 7 shows that measurement directions at corners and edges may be made to be culled directions 41, thus reducing the change that an object with escape detection due to the effects of distortion aberration or the like occurring at the end of a lens or the like within the optical system of the ranging system 100.

[0058] Note that the culling unit 23 may use other methods of deciding which measurement directions are in the subset of culled directions 42, so long as at least one measurement for an object of the predetermined minimum object size is taken at a given distance within the detection area.

[0059] The distance-indicating value sensing unit 10 calculates the time of flight and uses this as the distance-indicating value. However, rather than expressing the distance to the object in time, depending on the application it may be advantageous to express the distance as a distance value (for example, in meters). The distance calculation unit 25 allows this, and it retrieves the time of flight from a dataset stored in the 24, uses it to calculate a distance value based on the speed of light and the time of flight, and then saves the calculated distance value as a data point in said dataset.

[0060] The ranging system 100 may also use data compression to further reduce the amount of data stored in the storage unit 24 by employing the data rearrangement compression unit 26, the adjacent data compression unit 27, and the first reference value compression unit 28.

[0061] As shown in FIG 8, the data stored in the storage unit 24 is stored as bits, with each value in the dataset being stored as a predetermined number of bits divided into higher order bits and lower order bits. Lower order bits tend to express finer details because they have a lower arithmetic value than higher order bits. This means that, for a distance value expressed in bits, a change to the higher order bits would represent a relatively large change in distance and a change to the lower order bits would represent a relatively small change in distance; for example, a change in the higher order bits may express a change on the order of a meter or so, while a change in the lower order bits may express a change on the order of a millimeter or so.

[0062] Due to this fact, because nearby measurements in space or in time often have similar values, they often share the same higher order bits. For example, during a scan across the detection area, if a distance measurement is taken in a direction and the pulse hits a point on an object, the next distance measurement will then be taken in an adjacent direction and it is relatively likely that the pulse thereof will hit a nearby point on the same object. If this happens, the two measured distances will likely be similar in value (for example, they may differ only by a few millimeters), and are likely to have the same higher order bits but different lower order bits. The same is true of two distance measurements taken in the same direction at nearby points in time, such as in two scans performed milliseconds apart, since the object in that direction will have only moved a small amount in that time so the variation between measurements will be small. The data rearrangement compression unit 26 takes advantage of this tendency.

[0063] As shown in FIG 10, the data rearrangement compression unit 26 rearranges data stored in the storage unit 24. That is, the data rearrangement compression unit 26 rearranges a section of adjacent data such that after rearrangement all of the higher order bits in the section are arranged together adjacent to one another and all of the lower order bits in the section are arranged together adjacent to one another. The size of the section that is rearranged is predetermined and may be the data from one scan, from one section of a scan, or from a plurality of scans. In FIG 10, adjacent data before rearranging is shown as having adjacent addresses expressed hexadecimally, and adjacent data may represent data from adjacent directions in a single scan, or may represent data from the same direction in adjacent scans in time.

[0064] After the data has been rearranged, the data rearrangement compression unit 26 compresses the rearranged data using a lossless compression algorithm. The algorithm used may be one that identifies and encodes redundant or repeated data patterns; for example, a run-length encoding algorithm may be used. Since, after rearrangement, the higher order bits are stored together adjacent to one another, and since the higher order bits tend to have the same value, the ranging system 100 is able to significantly reduce the amount of data stored. The data rearrangement compression unit 26 may also be capable of decompressing the data when necessary.

[0065] Note that, while FIG 8 and FIG 10 show an example in which the distance measurement value is divided into one group of higher order bits and one group of lower order bits, but the invention is not limited to this. As shown in FIG 9, it is also possible for the higher order bits and the lower order bits to be divided up further, such as into first higher order bits and second higher order bits and first lower order bits and second lower order bits, and so on. Rearranging would then occur for each of these (i.e., the first higher orders bits stored together, then the second higher order bits, and so on).

[0066] Next, the adjacent data compression unit 27 will be explained, which uses a different approach to take advantage of the tendency for adjacent distances measurements in time or space to have the same higher order bits.

[0067] First consider the example shown in FIG 11, which illustrates a problem solved by the adjacent data compression unit 27 according to the present invention. Example A of FIG 11 shows a hypothetical datapoint of a distance measurement, which we will call a ‘data point of interest,’ with a decimal value of 12,345. Furthermore, a hypothetical adjacent data point (from an adjacent direction or the like) has a decimal value of 12,344. Note that the data point of interest is greater in value than the adjacent data point. If the adjacent data point is subtracted from the data point of interest, the resulting decimal value is 1, and the resulting higher order bits become zero (in binary, 0000 0000). From the perspective of reducing data storage, this is advantageous, since the zero value of the higher order bits could potentially be useful to compress the data if it occurs often.

[0068] However, there is a problem, which is seen by comparing this result with that of Example B. Here, the decimal value of the data point of interest in 12,344, and the decimal value of the adjacent data point is 12,345. In contrast with Example A, this time the adjacent data point has a larger value. Unfortunately, when the adjacent data point is subtracted from the data point of interest, in binary notation the result is 1111 1111 1111 1111. Thus, the higher order bits do not become zero and this result is not so useful from the perspective of reducing stored data.

[0069] This problem can be avoided by, in addition to subtraction, adding a constant to avoid what would otherwise be a negative result. Thus, the adjacent data compression unit 27 uses a mathematical operation that includes addition by a constant, which is here the maximum value of the lower order bits divided by two, in order to solve the problem shown in FIG 11. Specifically, the adjacent data compression unit 27 performs a mathematical operation on a datapoint of interest stored in the storage unit 24 by subtracting the value of an adjacent data point from the data point of interest and then adding the maximum value of the lower order bits divided by two. The result of the operation is stored in the storage unit 24 as a processed data point. The formula is thus the following: processed data point = data point of interest - adjacent data point + ([maximum value of the lower order bits] / 2)

[0070] The adjacent data point may be, for example, a data point from an adjacent direction in the same scan or a data point the same direction from a scan performed adjacently in time. Furthermore, which bits are higher order bits and which bits are lower order bits is determined in advance. FIG 12 shows an example wherein each value is expressed with a total of 16 bits and there are 8 higher order bits and 8 lower orders bits, but the invention is not limited to this. Note too that the expression ([maximum value of the lower order bits] / 2) may be rounded down. Furthermore, note that it is also possible to divide by a constant other than 2 here, but 2 is the preferable choice since it results in the median of the lower order bits being used as the constant. The predetermined constant should be close to the median of the lower order bits.

[0071] FIG 12 shows, via example, the advantage of the operation performed by the adjacent data compression unit 27. Example C is one wherein the data point of interest has a greater value than the adjacent data point. The data point of interest has a decimal value of 12,345, while the adjacent data point has a decimal value of 12,344. When the operation is performed, the result has a decimal value of 128, and the higher order bits of this operation become equal to zero. Thus, this result may be useful from the perspective of reducing data storage. Next, Example D is one wherein the data point of interest has a smaller value than the adjacent data point. The data point has a decimal value of 12,344, while the adjacent data point has a decimal value of 12,345. When the operation is performed by the adjacent data compression unit 27, the result has a decimal value of 126. Here, the advantage of this operation is seen: the higher order bits come out to zero. Thus, regardless of whether or not the adjacent data point is greater or lesser in value than the data point of interest, the higher order bits come out to zero if they are the same in the adjacent data point and in the data point of interest.

[0072] After the data has been rearranged, the adjacent data compression unit 27 may compresses the processed data points using a lossless compression algorithm. The algorithm used may be one that identifies and encodes redundant or repeated data patterns; for example, a run-length encoding algorithm may be used. Alternatively, the higher order bits could be removed from the data entirely. Since, after the data points are processed, the higher order bits are typically zero, the ranging system 100 is able to significantly reduce the amount of data stored.

[0073] The adjacent data compression unit 27 is also capable of decompressing the data when necessary. To do this, it performs an operation wherein the stored processed data point is added to the value of the adjacent data point and the maximum value of the lower order bits divided by two is subtracted from this. The decompression formula is thus as follows: decompressed data point = processed data point + adjacent data point - ([maximum value of the lower order bits] / 2)

[0074] Next, the reference value compression unit 28 will be explained, which makes use of a reference distance in order to then perform data compression.

[0075] In order for the reference value compression unit 28 to determine the reference distance, the ranging system 100 first performs, ahead of time, at least one scan, or preferably several scans, of the detection area when no objects-of-interest are present in order to make distance measurements (i.e., calculate the time of flight of the pulse) in each direction where barriers or other permanent objects are present in the detection area. For example, FIG 13A shows an example of a detection area with barriers but no object-of-interest present. Distance measurements to these barriers or other permanent objects inevitably vary due to error and the like. Due to this, over several scans, the distance measurement to a permanent object in a given direction will have a minimum value and a maximum value. The reference value compression unit 28 determines the minimum value and uses this the reference distance (the minimum value may be determined by performing many scans, or by performing a single scan and using a known error or the like). The value representing the reference distance may be expressed in terms of the time of flight or as a distance calculated based on the time of flight or the like, and therefore may be called a reference distance-indicating value.

[0076] The reference value compression unit 28 uses the reference distance, determined in advance, to perform data compression during normal usage. That is, when a distance measurement is carried out, the reference value compression unit 28 compares the measured distance (the distance-indicating value) with the reference distance (the reference distance-indicating value), and if the measured distance is farther away than the reference distance, the reference value compression unit 28 makes the measured distance equal to zero. This allows the system to ignore a distance measurement (make its value equal to zero) if the measurement merely indicates the presence of a barrier or other permanent object that is not an object-of-instance. It also lets the system ignore any errors wherein a measurement is indicated to be even farther out than the barrier or permanent object; this situation is shown in FIG 13B. Since a zero is stored as the data point, it is then possible to delete said data point or to compress it via a compression algorithm, thus reducing the amount of stored data. On the other hand, when an object is closer than the barrier or permanent object, as shown in FIG 13C, the measurement to the object will be stored as normally in the storage unit 24.

[0077] In the ranging system 100, the culling unit 23 allows unnecessary data sets to be culled while making sure that necessary data is stored in the storage unit 24. At the same time, the data rearrangement compression unit 26, the adjacent data compression unit 27, and the reference value compression unit 28 allow data to be compressed without losing any important distance data. Thus, the ranging system is able to provide a ranging system that reduces the overall amount of data stored while ensuring that distance data of sufficient spatial resolution to measure the distance to an object of interest remains.

[0078] Note that the ranging system 100 is not limited to the above-described embodiments.

[0079] In a variation embodiment, the reference value compression unit 28 may use the determined reference value for each direction in different way. First, as described above, the reference value is determined for each of the directions. However, in contrast to what is described above, during normal use the reference value compression unit 28 uses the reference value to perform a mathematic operation for each relevant direction. That is, for a given direction in which a distance measurement is made, the reference value compression unit 28 performs a mathematical operation of subtracting the value of the distance-indicating value from the reference distance-indicating value, and adding a greatest possible value of the lower order bits divided by two. The result of this operation is stored then in the storage unit 24 as a processed data point. The formula for the operation is as follows: processed data point = reference distance-indicating value - distance-indicating value + ([maximum value of the lower order bits] / 2)

[0080] This variation of the reference value compression unit 28 has the same advantage as the one described for the adjacent data compression unit 27, since this allows the higher order bits of the result to often equal zero such that data compression can be carried out to reduce the amount of stored data.

[0081] In the above embodiments, the time of flight calculation unit 14 is provided to the distance-indicating value sensing unit 10, but it is not limited to this, and it may be provided within the information processing unit 20.

[0082] In the above embodiments, the light from the light source 11 is a laser light, but it is not limited to this and other types of light may be used. Moreover, it is also possible for the light source 11 to be a radio transmitter or the like, and for the light receiving unit 12 to be a radio receiver.

[0083] In the above embodiments, the light source 11 emits the light as a beam, but the ranging system 100 is not limited to this; as shown in FIG 4, the light may instead be shaped to form a sheet-like vertical surface. In this embodiment, distance measurements are taken only in two dimensions.

[0084] Moreover, in the above-described embodiments, the distance-indicating value sensing unit 10 is a scanning-type one that includes a scanning mechanism 13, but the system is not limited to this. It is also possible for the light source 11 to be a flash that illuminates the detection area and for the light receiving unit 12 to be a distance image camera that includes a TOF image sensor capable of generating a distance image by acquiring the distance measurement data as pixel values. In such a configuration, a scanning mechanism 13 may not be included. Moreover, different pixels on the image sensor of the distance image camera may cull data according to a predetermined smallest distance value assigned to that pixel in the same manner as how the predetermined smallest distance value varied by measurement direction in the above-described embodiments. For example, in the explanation above, each point in FIG 6 represented a direction in which a distance measurement was taken; however, in the case of a distance image camera, each point in FIG 6 may represent a pixel on the image sensor. In this case, for example, pixels 52b may be long-range pixels, pixels 52a may be mid-ranged pixels, both of which are culled for measurements closer than respective predetermined smallest distance values, and pixels 51 may be short-range pixels that are not culled.

[0085] It is needless to say that the present invention is not limited to the embodiments described above and various modifications can be made to the present invention without departing from the spirit of the present invention.

[0086] Note that numbers in this specification are expressed according to standard usage in the United States. That is, the symbol ‘.’ is used as the decimal separator, such that 1.0 represents the number one, and 1,000 represents the number one thousand.

[0087] According to the present invention, a ranging system is provided that reduces the overall amount of data stored while ensuring that distance data of sufficient spatial resolution is stored to measure the distance to an object of interest.Reference Sign List

[0088] 100 ranging system 10 distance-indicating value sensing unit 11 light source 12 light receiving unit 14 time-of-flight calculation unit 23 culling unit 24 storage unit 25 distance calculation unit 26 data rearrangement compression unit 27 adjacent data compression unit 28 reference value compression unit

Claims

1. A ranging system, comprising: a distance-indicating value sensing unit that, for each of a plurality of directions therefrom, outputs a distance-indicating value that is a value indicating a distance to a point on an object in that direction, a storage unit that stores a dataset for each of one or more of the directions, the dataset including at least the distance-indicating value for that direction output by the distance-indicating value sensing unit, and a culling unit that culls datasets, such that the culled dataset is not stored in the storage unit, on a basis of a predetermined minimum object size and the distance-indicating value of the dataset.

2. The ranging system according to claim 1, wherein the distance-indicating value sensing unit comprises: a light source that emits light in the plurality of directions; a light receiving unit that, for each of the directions, receives light returned from the point on the object located in that direction, and a time-of-flight calculation unit that calculates a time-of-flight for each of the directions that is a time from when the light is emitted from the light source to when it is received by the light receiving unit.

3. The ranging system according to claim 2, wherein the distance-indicating value is the time-of-flight calculated by the time-of-flight calculation unit or a distance to the point calculated using the time-of-flight.

4. The ranging system according to claim 1, wherein the culling unit makes a determination to cull the dataset if the distance-indicating value indicates that the distance to the point is smaller than a predetermined smallest distance value.

5. The ranging system according to claim 4, wherein the culling unit makes the determination to cull the dataset only for each of a subset of the directions.

6. The ranging system according to claim 5, wherein the culling unit determines the directions included in the subset of the directions based on the predetermined minimum object size.

7. The ranging system according to claim 2, further comprising a distance calculation unit that, for each of the datasets stored in the storage unit, calculates a distance to the point on the object based on the time-of-flight of the dataset, and the calculated distance is stored in the storage unit as distance data.

8. The ranging system according to claim 1, wherein each piece of data in the dataset is stored as bits, including higher order bits and lower order bits; and the ranging system further comprises a data rearranging compression unit that rearranges a section of data stored in the storage unit such that all of the higher order bits in the section are stored together consecutively to each other and all of the lower order bits in the section are stored together consecutively to each other.

9. The ranging system according to claim 1, wherein each piece of data in the dataset is stored as bits, including higher order bits and lower order bits; and the ranging system further comprises an adjacent data compression unit that subtracts from a data point of interest of the data a value of an adjacent data point and then adds a predetermined constant, and stores the result in the storage unit as a processed data point.

10. The ranging system according to claim 9, wherein the adjacent data compression unit returns the processed data point to its original value by adding to the processed data point the value of the adjacent data point and then subtracting the predetermined constant.

11. The ranging system according to claim 9, wherein the predetermined constant is a greatest possible value of the lower order bits of the data point of interest divided by two.

12. The ranging system according to claim 1, wherein: each piece of data in the dataset is stored as bits, each including higher order bits and lower order bits; and the ranging system further comprises a reference value compression unit that, for each of the plurality of directions: determines a reference distance-indicating value that indicates a reference distance, and compares the distance-indicating value output by the distance-indicating value sensing unit to the reference distance-indicating value, and, if the distance indicated by the distance-indicating value is the same as or greater than the reference distance indicated by the reference distance-indicating value, causes a zero to be stored as the distance-indicating value in the dataset for that direction.

13.

13. The ranging system according to claim 1, wherein each piece of data in the dataset is stored as bits, each including higher order bits and lower order bits; and the ranging system further comprises a reference value compression unit that, for each of the plurality of directions: determines a reference distance-indicating value that indicates a reference distance, and performs an operation of subtracting the distance-indicating value output by the distance-indicating value sensing unit from the reference distance-indicating value and adding a greatest possible value of the lower order bit of the uncompressed data point divided by a predetermined constant, and stores the result in the storage unit as a processed data point.