WO2021019906A1 - 測距装置、情報処理方法、および情報処理装置 - Google Patents

測距装置、情報処理方法、および情報処理装置 Download PDF

Info

Publication number
WO2021019906A1
WO2021019906A1 PCT/JP2020/022058 JP2020022058W WO2021019906A1 WO 2021019906 A1 WO2021019906 A1 WO 2021019906A1 JP 2020022058 W JP2020022058 W JP 2020022058W WO 2021019906 A1 WO2021019906 A1 WO 2021019906A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
light
time
points
distance
Prior art date
Application number
PCT/JP2020/022058
Other languages
English (en)
French (fr)
Inventor
加藤 弓子
安寿 稲田
敏康 杉尾
賀敬 井口
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2021536638A priority Critical patent/JPWO2021019906A1/ja
Publication of WO2021019906A1 publication Critical patent/WO2021019906A1/ja
Priority to US17/529,239 priority patent/US20220075077A1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/02Details
    • G01C3/06Use of electric means to obtain final indication
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4817Constructional features, e.g. arrangements of optical elements relating to scanning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/4861Circuits for detection, sampling, integration or read-out
    • G01S7/4863Detector arrays, e.g. charge-transfer gates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Definitions

  • This disclosure relates to a distance measuring device, an information processing method, and an information processing device.
  • the distance information of the target scene can be converted into, for example, three-dimensional point cloud data and used.
  • the point cloud data is typically data in which the distribution of points where an object exists in the scene is expressed in three-dimensional coordinates.
  • Patent Documents 1 and 2 disclose a system that obtains distance information to an object by scanning the space with an optical beam and detecting the reflected light from the object with an optical sensor. The system generates and outputs information in which the measurement time is associated with each point of the point cloud data.
  • Patent Documents 3 and 4 disclose a device that scans a space with an optical beam and receives reflected light from an object with an image sensor to acquire distance information.
  • the present disclosure provides techniques for acquiring and processing distance data or distance images. For example, one aspect of the present disclosure provides techniques that facilitate the integration of distance image data or point cloud data individually generated by a plurality of devices. In addition, one aspect of the present disclosure provides a technique for facilitating the integration of distance image data or point cloud data with other data.
  • the ranging device includes a light emitting device that emits a plurality of light beams toward a scene in different directions and at different timings, and an array of a plurality of light receiving elements, and is generated by the emission of each light beam.
  • Output data including a light receiving device that detects reflected light from the scene by the plurality of light receiving elements and measurement data indicating the positions or distances of a plurality of points in the scene based on the signals output from the light receiving devices. It is provided with a signal processing circuit for generating and outputting.
  • the output data includes data of a plurality of blocks each including the measurement data of a part of the plurality of points, and individual time data is assigned to each of the plurality of blocks.
  • the information processing method is first output data including first measurement data indicating the positions or distances of a plurality of points in the scene, each of which is among the plurality of points.
  • the first output data including the data of a plurality of blocks including the first measurement data of some points, and individual time data is assigned to each of the plurality of blocks, and the other in the scene.
  • Acquire the second output data including the second measurement data indicating the positions or distances of the plurality of points of the above, and the time data is added to the second measurement data of each of the other plurality of points.
  • the first measurement data of one or more points having time data included in a predetermined time range and the second measurement data of one or more points is generated by extracting each of the measurement data of the above and integrating them into the same coordinate system.
  • the information processing device includes a processor, and the processor acquires light receiving data detected at different timings by a light receiving device including an array of a plurality of light receiving elements, and based on the light receiving data.
  • Measurement data indicating the positions or distances of a plurality of points in the scene is generated, and each includes data of a plurality of blocks including the measurement data of some points of the plurality of points, and each of the plurality of blocks contains data.
  • the present disclosure may be implemented by recording media such as systems, devices, methods, integrated circuits, computer programs or computer readable recording disks, systems, devices, methods, integrated circuits, etc. It may be realized by any combination of a computer program and a recording medium.
  • the computer-readable recording medium may include a volatile recording medium, or may include a non-volatile recording medium such as a CD-ROM (Compact Disc-Read Only Memory).
  • the device may consist of one or more devices. When the device is composed of two or more devices, the two or more devices may be arranged in one device, or may be separately arranged in two or more separated devices.
  • "device" can mean not only one device, but also a system of multiple devices.
  • data including distance image data or point cloud data can be easily integrated.
  • FIG. 1 is a first diagram showing an example of information recorded on a recording medium.
  • FIG. 2 is a second diagram showing an example of information recorded on a recording medium.
  • FIG. 3 is a third diagram showing an example of information recorded on a recording medium. It is a figure which shows an example of an output data format.
  • FIG. 1 is a first diagram schematically showing a state of light reception due to projection of light beams having different beam diameters.
  • FIG. 2 is a second diagram schematically showing a state of light reception due to projection of light beams having different beam diameters. It is a figure which shows an example of the information recorded in the recording medium in Embodiment 2. It is a figure which shows an example of the information which the block range storage part in Embodiment 2 stores.
  • all or part of a circuit, unit, device, member or part, or all or part of a functional block in a block diagram is, for example, a semiconductor device, a semiconductor integrated circuit (IC), or an LSI (range scale integration). ) Can be performed by one or more electronic circuits.
  • the LSI or IC may be integrated on one chip, or may be configured by combining a plurality of chips.
  • functional blocks other than the storage element may be integrated on one chip.
  • it is called an LSI or an IC, but the name changes depending on the degree of integration, and it may be called a system LSI, a VLSI (very large scale integration), or a ULSI (ultra large scale integration).
  • a Field Programmable Gate Array (FPGA) programmed after the LSI is manufactured, or a reconfigurable logistic device capable of reconfiguring the junction relationship inside the LSI or setting up the circuit partition inside the LSI can also be used for the same purpose.
  • FPGA Field Programmable Gate Array
  • circuits, units, devices, members or parts can be executed by software processing.
  • the software is recorded on a non-temporary recording medium such as one or more ROMs, optical disks, hard disk drives, etc., and when the software is executed by a processor, the functions identified by the software It is executed by a processor and peripheral devices.
  • the system or device may include one or more non-temporary recording media on which the software is recorded, a processor, and the required hardware devices, such as an interface.
  • FIG. 1 is a conceptual diagram schematically showing an example of a system including a server 500 that monitors the traffic environment of a road.
  • the server 500 is connected to a distance measuring device mounted on a mobile body 300 such as a vehicle and a distance measuring device included in a fixed body system 400 such as a traffic light via a network 600.
  • the fixed body system 400 may be a fixed body other than a traffic light, for example, a system provided in a public object such as a lighting device, a utility pole, a guardrail, or other infrastructure.
  • Each distance measuring device includes a light source and an optical sensor, and sequentially generates and outputs sensor data including distance information.
  • the sensor data is, for example, data showing a distance image or a three-dimensional point cloud.
  • a three-dimensional point cloud is simply referred to as a "point cloud".
  • the distance measuring device included in the mobile body 300 and the fixed body system 400 includes a light source and an optical sensor, but a part or the whole of the distance measuring device is measured by another method. May be good.
  • a distance measuring device that performs distance measurement using wireless radio waves such as millimeter waves may be used, or a distance measuring device that performs distance measurement using two-dimensional images acquired by one or more cameras may be used. May be good.
  • the server 500 acquires data indicating the position and orientation of the distance measuring device and sensor data from each mobile body 300 and each fixed body system 400.
  • the server 500 includes a processor 520 and a recording medium 540.
  • the processor 520 integrates the sensor data acquired from each distance measuring device, sequentially generates data indicating the road environment, and records the data on the recording medium 540.
  • the processor 520 generates, for example, point cloud data represented by a three-dimensional coordinate system unique to the server 500. Such data can be used for the purpose of investigating the cause of an accident, for example, when an accident occurs.
  • the server 500 acquires the data indicating the position and orientation of the distance measuring device and the sensor data from the mobile body 300 and the fixed body system 400, but the acquired data may be only the sensor data. In that case, for example, the server 500 estimates the position and orientation of each distance device using the sensor data acquired from each distance measuring device.
  • the point cloud data generated by the server 500 is represented by the coordinate system unique to the server 500, but the coordinate system of the point cloud data generated by the server 500 needs to be unique to the server 500. Absent.
  • the coordinate system of the point cloud data may be specified to the server 500 from the outside, or the coordinate system of the point cloud data may be matched with the coordinate system of the three-dimensional map data used by the server 500. ..
  • FIG. 2 is a block diagram showing a more detailed configuration example of the above system.
  • the system in this example includes a plurality of mobile bodies 300 and a plurality of fixed body systems 400.
  • the number of each of the moving body 300 and the fixed body system 400 is arbitrary.
  • Each of the mobile bodies 300 includes a plurality of distance measuring sensors 310 arranged at different positions and postures, and a communication circuit 320.
  • each of the fixed body systems 400 includes a plurality of ranging sensors 410 arranged at different positions and orientations, and a communication circuit 420.
  • Each of the distance measuring sensors 310 and 410 performs distance measurement and generates a distance image or sensor data indicating a three-dimensional point cloud. The sensor data is transmitted to the server 500 by the communication circuits 320 and 420.
  • the server 500 includes a communication circuit 560 in addition to the processor 520 and the recording medium 540.
  • the processor 520 sequentially acquires sensor data via the communication circuit 560 and records it on the recording medium 540.
  • the processor 520 can generate integrated point cloud data at a specific time and a specific location by performing necessary processing such as time matching and coordinate conversion of the acquired sensor data.
  • FIG. 3 is a simplified diagram showing an example of the operation and data flow of the server 500, the mobile body 300, and the fixed body system 400.
  • the plurality of moving bodies 300 are collectively represented as one moving body
  • the plurality of fixed body systems 400 are collectively represented as one fixed body.
  • Each of the distance measuring sensors 310 and 410 in each of the moving body 300 and the fixed body system 400 performs repeated distance measuring and sequentially generates data including information on the position and time of an object in the scene.
  • the data is sent to the server 500.
  • the server 500 performs necessary processing such as time matching and coordinate conversion of the acquired data, and records the acquired data on the recording medium 540. Such an operation is repeated, for example, at a fixed cycle.
  • the server 500 may receive an external command requesting analysis of the road environment at a specific date and time and a specific location.
  • the processor 520 acquires the data of the corresponding date and time and place from the recording medium 540, generates the data according to the request, and outputs the data.
  • the processor 520 acquires the data of the corresponding date and time and place from the recording medium 540, generates the data according to the request, and outputs the data.
  • a distance measuring device that scans the scene with a light beam and detects the reflected light with an image sensor can be considered.
  • ToF Time of Flight
  • By measuring the distance while scanning the scene with the light beam it is possible to generate the distance image data or the point cloud data converted from the distance image data.
  • a group of distance image data or point cloud data may be referred to as a "frame”. This may or may not match the "frame", which is a unit of image data output from the image sensor.
  • Distance image data or point cloud data is repeatedly generated, for example, at a constant frame rate. It is also possible to output one time in association with the distance image data or the point cloud data for one frame.
  • a car traveling at a speed of 60 kilometers (km) moves about 1.66 centimeters (cm) in 1 millisecond (ms).
  • a typical moving image is composed of 30 fps, that is, a frame rate of 30 frames per second. That is, one frame is acquired about every 33 ms.
  • a vehicle at 60 km / h travels about 55 cm in 33 ms. Therefore, it may not be possible to clarify the positional relationship of a plurality of moving objects such as vehicles, pedestrians, and bicycles from the time information for each frame.
  • a distance measuring sensor that acquires distance information using an image sensor is used, for example, for short-distance three-dimensional measurement using flash light.
  • the distance measuring sensor as described above the distance can be measured by utilizing the difference between the timing of light emission and the timing of light reception.
  • the scene is scanned with a light beam having a narrowed light diameter and the reflected light is detected by an image sensor.
  • the light beam emitted with the light diameter reduced reaches only an object located in a limited range in the scene. Therefore, each time the image sensor emits one light beam, it receives reflected light only from an object located in a narrow range. That is, of the plurality of light receiving elements included in the image sensor, only a part of the light receiving elements located in the range corresponding to the position of the object receives the reflected light.
  • Distance information can be obtained for the entire range that can be detected by the image sensor by the scanning operation that detects the reflected light while sequentially changing the direction of the light beam.
  • the timing at which the light beam is emitted differs depending on the direction.
  • the timing of light reception differs depending on the portion in the distance image. For example, in the case of a distance image output at 30 fps, a difference of up to about 30 ms may occur depending on the pixel.
  • the distance measurement time differs depending on the distance image or the point cloud part. Therefore, when the data collected from a plurality of ranging sensors are integrated based on the frame time, the position information of the same object may differ between the sensors even if the data of the frames at the same time is used. Due to this displacement of location information, the integration of location information may not be accurate enough.
  • the distance measuring device includes a light emitting device, a light receiving device, and a signal processing circuit.
  • the light emitting device emits a plurality of light beams toward the scene in different directions and at different timings.
  • the light receiving device includes an array of a plurality of light receiving elements, and detects the reflected light from the scene generated by the emission of each light beam by the plurality of light receiving elements.
  • the signal processing circuit determines the positions or distances of a plurality of points in the scene corresponding to the light receiving elements that have detected the reflected light among the plurality of light receiving elements. Generates and outputs output data including the indicated measurement data.
  • the output data includes data of a plurality of blocks each including the measurement data of a part of the plurality of points. Individual time data is assigned to each of the plurality of blocks.
  • the time data given to each block may indicate the time when the light beam corresponding to the block is emitted from the plurality of light beams.
  • the time data given to each block may indicate the time when the reflected light of the light beam corresponding to the block is received by any of the plurality of light receiving elements among the plurality of light beams.
  • the light emitting device may be capable of changing the shape and / or diameter of the emitted light beam.
  • the number or range of the points belonging to each block depends on the shape and / or diameter of the light beam corresponding to the block.
  • the plurality of blocks may include two or more blocks having the same time data.
  • the signal processing circuit may generate point cloud data including information on three-dimensional coordinates of the plurality of points as the output data.
  • the signal processing circuit may generate distance image data showing the distance distribution of the plurality of points as the output data.
  • the time data represents the time in microsecond units or nanosecond units, for example.
  • the information processing method is the first output data from the first distance measuring device and the second distance measuring device, each of which is the distance measuring device according to any one of the above.
  • the output data and the second output data are acquired, respectively, and the data of one or more blocks having the time data included in the predetermined time range is extracted from each of the first output data and the second output data. Then, by integrating into the same coordinate system, three-dimensional point cloud data is generated.
  • the information processing method includes the following steps.
  • the first output data including the first measurement data indicating the positions or distances of a plurality of points in the scene, each of which is the first measurement data of some points among the plurality of points.
  • the first output data including the data of the plurality of blocks including the data and to which the individual time data is added to each of the plurality of blocks is acquired.
  • a second measurement data that includes second measurement data indicating the positions or distances of other plurality of points in the scene, and time data is added to the second measurement data of each of the other plurality of points. Get the output data of.
  • the first measurement data of one or more points having time data included in a predetermined time range and the second measurement data of one or more points From the first output data and the second output data, the first measurement data of one or more points having time data included in a predetermined time range and the second measurement data of one or more points.
  • Three-dimensional point cloud data is generated by extracting each measurement data and integrating them into the same coordinate system.
  • the second output data may include data of a plurality of blocks to which individual time data is assigned to each block, as in the case of the first output data.
  • time data may be individually assigned to each point of the second output data, or common time data may be assigned to all points indicated by the second output data. Overlapping points may be included between the above-mentioned “plurality of points” and “plurality of other points”.
  • the integration is based on the reliability of the first measurement data and the second measurement data by combining the first measurement data and the second measurement data that overlap each other in the spatiotemporal region. It may include merging.
  • the reliability can be determined, for example, based on at least one selected from the group consisting of (a) to (d) below.
  • At least one of the first measuring device that measures the first measurement data and the second measuring device that measures the second measurement data can be mounted on the moving body.
  • the integration may be performed by an information processing device provided on the fixed body or capable of communicating with the fixed body.
  • the information processing device acquires the measurement data from at least one of the first measuring device and the second measuring device when the moving body is located in a predetermined distance range from the fixed body. Can be configured.
  • the method In response to the analysis request signal, the method extracts a part of the integrated three-dimensional point cloud data corresponding to the spatiotemporal region specified by the analysis request signal. It may be further included.
  • the extraction may include constructing the part of the three-dimensional point cloud data into a plurality of frames of data sampled at a predetermined cycle.
  • the extraction may include extracting the point cloud data corresponding to the moving body from the three-dimensional point cloud data.
  • the method may further include generating tracking data for the moving object.
  • the information processing device includes a processor.
  • the processor outputs the first output data and the second output data, which are the output data, from the first distance measuring device and the second distance measuring device, each of which is the distance measuring device according to any one of the above. Each of them is acquired, and data of one or more blocks having time data included in a predetermined time range is extracted from each of the first output data and the second output data and integrated into the same coordinate system. As a result, three-dimensional point cloud data is generated.
  • the information processing device includes a processor.
  • the processor performs the following steps.
  • the first output data including the first measurement data indicating the positions or distances of a plurality of points in the scene, each of which is the first measurement data of some points among the plurality of points.
  • the first output data including the data of the plurality of blocks including the data and to which the individual time data is added to each of the plurality of blocks is acquired.
  • a second measurement data that includes second measurement data indicating the positions or distances of other plurality of points in the scene, and time data is added to the second measurement data of each of the other plurality of points. Get the output data of.
  • the first measurement data of one or more points having time data included in a predetermined time range and the second measurement data of one or more points From the first output data and the second output data, the first measurement data of one or more points having time data included in a predetermined time range and the second measurement data of one or more points.
  • Three-dimensional point cloud data is generated by extracting each measurement data and integrating them into the same coordinate system.
  • the information processing device includes a processor, which performs the following operations. -Acquire light receiving data generated at different timings by a light receiving device including an array of a plurality of light receiving elements. -Based on the received light data, measurement data indicating the positions or distances of a plurality of points in the scene is generated. -Each of the plurality of points includes data of a plurality of blocks including the measurement data of a part of the points, and each of the plurality of blocks is given individual time data to generate and output output data.
  • the data generation device is a data generation device that generates three-dimensional data, and the three-dimensional data includes the first measurement data measured in the first period and the second period.
  • the first measurement data includes a plurality of blocks, and the first block of the plurality of blocks is measured by irradiating one or a plurality of beams to include the second measurement data measured in the above.
  • the data generator includes a processor and a memory connected to the processor, and the processor generates data of the plurality of blocks, and the plurality of data are generated.
  • Time data indicating a plurality of measurement times corresponding to each of the blocks is generated, the data of the plurality of blocks and the three-dimensional data storing the time data are output, and the time data is a plurality of times included in each block. It is determined based on the emission time of the beam emitted for the measurement of the point.
  • the data processing apparatus is a data processing apparatus that processes three-dimensional data, and the three-dimensional data includes the first measurement data measured in the first period and the second period.
  • the first measurement data includes a plurality of blocks, and the first block of the plurality of blocks is measured by irradiating one or a plurality of beams to include the second measurement data measured in the above.
  • the data processing device includes a processor and a memory connected to the processor, and the processor reads out the three-dimensional data stored in the memory, and includes measurement data indicating the positions or distances of a plurality of points.
  • the three-dimensional data includes data of the plurality of blocks and time data indicating a plurality of measurement times corresponding to each of the plurality of blocks, and the data of the plurality of blocks and the time data of the second 3 are used. Dimensional data is generated, and the time data is determined based on the emission time of the beam emitted for the measurement of a plurality of points included in each block.
  • the distance measuring device includes a beam scanner that emits a light beam toward a scene to be distanced, an image sensor that detects reflected light from an object in the scene, and projection by the beam scanner.
  • a control circuit that controls the operation of light detection by the image sensor, a clock that generates time information, and data that shows the distribution of objects in the scene are generated based on the signal acquired from the image sensor and the signal acquired from the control circuit. It includes a signal processing circuit and a recording medium for recording the generated data.
  • the control circuit records the timing of light emission by the beam scanner and the timing of light reception by the image sensor on a recording medium as detailed time information.
  • the signal processing circuit generates distance image data based on a distance calculation unit that calculates the distance for each pixel based on the signal acquired from the image sensor and the signal acquired from the control circuit, and the calculated distance for each pixel. It includes a distance image generation unit and a point group data generation unit that converts distance information of each pixel of the distance image into point group data.
  • the signal processing circuit classifies the point cloud into a plurality of blocks, using a plurality of points whose distance information has been acquired at the same time as one block, and adds time information to each block and outputs the point cloud.
  • FIG. 4 is a block diagram showing the configuration of the distance measuring device 100 according to the first embodiment.
  • the distance measuring device 100 includes a beam scanner 110, an image sensor 120, a control circuit 130, a clock 140, a recording medium 150, and a signal processing circuit 160.
  • the signal processing circuit 160 includes a distance measurement unit 161, a distance image generation unit 162, a point cloud data generation unit 163, and an output unit 169.
  • the beam scanner 110 is a type of light emitting device that emits a light beam.
  • the beam scanner 110 includes, for example, a laser light source.
  • the beam scanner 110 emits an optical beam in a designated direction in response to a command from the control circuit 130.
  • the beam scanner 110 repeats the operation of scanning the target scene with the light beam.
  • the beam scanner 110 receives a predetermined trigger and performs an operation of scanning a specific area in the target scene.
  • the beam scanner 110 executes one scan within a predetermined time. This time is referred to as "frame time".
  • the beam scanner 110 sequentially emits a plurality of light beams in different directions within the frame time.
  • the frame time in each frame and the number of times the light beam is emitted are not always the same, and may differ from frame to frame.
  • the image sensor 120 is a kind of light receiving device, and includes an array of a plurality of light receiving elements arranged two-dimensionally along the light receiving surface. Optical components such as lenses that form an image on the light receiving surface of the image sensor 120 may also be provided.
  • the image sensor 120 receives reflected light from an object located on the path of the emitted light beam.
  • Each light receiving element includes a photoelectric conversion element such as a photodiode and one or more charge storage units, and stores charges according to the intensity of received light. In the following description, the light receiving element may be referred to as a "pixel".
  • the image sensor 120 accumulates electric charges in each light receiving element in response to a command from the control circuit 130, and outputs an electric signal corresponding to the amount of the accumulated electric charges.
  • the light receiving element that receives the reflected light of one light beam is only a part of all the light receiving elements.
  • the light beam is repeatedly emitted in different directions, and the reflected light is detected by a different light receiving element group each time.
  • the pattern and order of the light beam emission directions are preset.
  • the image sensor 120 generates one frame of data by detecting the reflected light beam generated due to the emission of the preset series of light beams.
  • the image sensor 120 outputs the data for all pixels as one frame of data when the scanning by the light beam is completed for the entire area of the scene that can be detected by the image sensor 120.
  • the image sensor 120 outputs, for example, 30 frames per second. This frame rate is only an example, and the frame rate is appropriately determined according to the application.
  • the data is output when the scanning by the light beam is completed for the entire area of the scene that can be detected by the image sensor 120. May be output and the obtained data may be output.
  • the image sensor 120 may output the data obtained from all the pixels, or may output only the data obtained from the pixels in a part of the above-mentioned areas.
  • the control circuit 130 can be realized by an electronic circuit including a processor, for example, a microcontroller unit (MCU).
  • the control circuit 130 determines the timing and direction of light beam emission by the beam scanner 110, and the exposure timing of the image sensor 120.
  • the control circuit 130 outputs a projection control signal and an exposure control signal to the beam scanner 110 and the image sensor 120, respectively, according to the determined timing.
  • the projection control signal is generated so that the light beams are sequentially emitted in a predetermined direction and order.
  • FIG. 5 is a diagram schematically showing how the scene to be distanced is scanned by the light beam.
  • the spots of a plurality of light beams are shown by dotted circles, but the number of light beams emitted at the same time can be any number of 1 or more.
  • the light beams are comprehensively and sequentially irradiated in a two-dimensional plane parallel to the light receiving surface of the image sensor 120.
  • the control circuit 130 records information indicating the light projection direction and the light projection timing of the light beam on the recording medium 150.
  • the mode of scanning with the light beam is arbitrary.
  • the squares in FIG. 5 represent the pixels of the image sensor 120.
  • the pixels of the image sensor 120 are actually fine, but in FIG. 5, they are shown coarser than they actually are for the sake of visibility. Similar expressions may be used in the following figures.
  • the clock 140 is a circuit that outputs detailed time information necessary for controlling the beam scan.
  • the clock 140 measures a time with an accuracy of, for example, nanoseconds or microseconds, and outputs the information.
  • the clock 140 can be realized by an integrated circuit such as a real-time clock.
  • the clock 140 may be synchronized with the time server.
  • a protocol such as NTP (Network Time Protocol) or PTP (Precision Time Protocol) may be used.
  • time synchronization may be performed based on the time of the server using GPS (Grobal Positioning System) information.
  • the time synchronization method is not limited to the above, and is arbitrary.
  • the distance measuring device 100 which is a client, can acquire accurate time information.
  • the recording medium 150 can be a memory such as a ROM or a RAM.
  • the recording medium 150 records various data generated by the control circuit 130 and the signal processing circuit 160.
  • the recording medium 150 may further store computer programs executed by the control circuit 130 and the signal processing circuit 160.
  • the recording medium 150 records information indicating the light projection direction and the light projection timing of the light beam output from the control circuit 130.
  • the recording medium 150 also records various data generated by the signal processing circuit 160. For example, the distance data for each pixel calculated by the distance measuring unit 161 is recorded. In the present embodiment, as will be described later, blocks of a plurality of corresponding pixels are associated and recorded for each combination of the light projection direction and the light projection timing of the light beam.
  • FIG. 6A to 6C show examples of information recorded on the recording medium 150.
  • FIG. 6A shows information common to a plurality of frames.
  • FIG. 6B shows information that is common to one frame but varies from frame to frame.
  • FIG. 6C shows different information for each pixel.
  • the information common to the plurality of frames includes information indicating the position of the image sensor 120 in the vehicle, the normal direction of the light receiving surface, and the angle of view.
  • the position of the image sensor 120 in the vehicle can be represented by, for example, three-dimensional coordinates with the center of the vehicle as the origin.
  • the normal direction of the light receiving surface of the image sensor 120 can be represented by a component of the normal vector represented by the three-dimensional coordinates.
  • the angle of view can be represented, for example, by an angle in a horizontal plane and an angle in a vertical plane.
  • the information that fluctuates from frame to frame includes information on the beam direction, the pixel range indicating the block, and the time.
  • a group of pixels that receive the reflected light of the light beam in one direction emitted from the beam scanner 110 is treated as one block. Even if the direction of the light beam is the same, the trajectory of the reflected light moves depending on the position of the object, so the position of the block can be different for each projection. If the number of distance measurements by the light beam in one direction is one per frame, the blocks may differ from frame to frame. In actual distance measurement, the energy of the reflected light is small, so that it may not be possible to accumulate sufficient electric charge with a single light projection and exposure.
  • a numerical value representing the unit vector of the beam direction in three-dimensional coordinates is recorded as the information indicating the beam direction.
  • an identifier (ID) for discriminating the block may be recorded.
  • the pixel range of a block can be specified, for example, by the coordinates of the first pixel (for example, the upper left pixel) and the coordinates of the last pixel (for example, the lower right pixel) among a plurality of pixels included in the block.
  • the designation of the pixel range of the block is not limited to the coordinate value, and may be specified by the pixel ID.
  • the measurement time is recorded in association with the beam direction and the pixel range of the block.
  • the time can be recorded, for example, in microseconds or nanoseconds.
  • date information may be recorded.
  • the measurement time is determined by the timing at which the light beam is emitted or the timing at which the reflected light of the light beam is received. Therefore, the time is common in the blocks corresponding to the light beam in one direction.
  • the pixel-by-pixel information includes distance information calculated by the signal processing circuit 160.
  • the time when the light beam is emitted or the time when the reflected light of the light beam is received is set as the measurement time, but a time different from the above may be set as the measurement time.
  • any information that can be used to identify or estimate the measurement time of the position data measured by the emission of the light beam such as the average value of the emission time and the reception time, or the emission time instructed by the beam scanner 110.
  • Information may be used as the measurement time.
  • the signal processing circuit 160 is an electronic circuit including a processor such as a CPU and / or GPU, for example.
  • the functions of the distance measurement unit 161, the distance image generation unit 162, the point group data generation unit 163, and the output unit 169 in the signal processing circuit 160 include, for example, the processor of the signal processing circuit 160 executing a program stored in the recording medium 150. It can be realized by doing. In that case, the processor functions as a distance measurement unit 161, a distance image generation unit 162, a point cloud data generation unit 163, and an output unit 169. Each of these functional parts may be realized by a dedicated Harware.
  • the control circuit 130 and the signal processing circuit 160 may be realized by one circuit. For example, one MCU may have the functions of both the control circuit 130 and the signal processing circuit 160.
  • the recording medium 150 may also be included in the circuit.
  • the distance measuring unit 161 acquires a signal output from the image sensor 120 indicating the amount of electric charge accumulated by light reception in each exposure period for each pixel. Based on the signal, the distance measuring unit 161 calculates the distance to the object at the position corresponding to each pixel, and records the distance information for each pixel on the recording medium 150. This distance information can be recorded, for example, in the format shown in FIG. 6C.
  • the distance image generation unit 162 generates distance image data based on the measured distance information for each pixel.
  • the point cloud data generation unit 163 converts the generated distance image data into point cloud data in a three-dimensional coordinate space whose origin is a predetermined point.
  • the origin may be set, for example, at the center position of the vehicle on which the ranging device 100 is mounted.
  • the point cloud data generation unit 163 further associates the projection time with the point cloud data for each pixel block, and generates the point cloud data to which the measurement time information for each block is added.
  • the output unit 169 outputs point cloud data to which measurement time information is added.
  • the point cloud data is recorded on, for example, the recording medium 150.
  • the measurement time information given to the point cloud data may be expressed in a unit of time different from the unit of time of the time information output by the clock 140.
  • the time information output by the clock 140 is expressed in the unit of time of about nanoseconds or the unit of time of about microseconds, but the measurement time information given to the point group data is in the unit of time of about milliseconds.
  • the control circuit 130 or the signal processing circuit 160 may derive the measurement time expressed in the unit of time used in the measurement time information based on the time information output by the clock 140.
  • the unit of time used for the measurement time information may be predetermined or may be set in response to an external instruction.
  • the output data may include time unit information indicating the time unit of the measurement time information. At this time, the time unit information is stored in, for example, a header area assigned to the output data.
  • FIG. 7A shows an example of the output data format.
  • fixed values which are data common to a plurality of frames, and data different for each frame are output.
  • the fixed value can be output at a frequency of once in a plurality of predetermined frames, for example.
  • the fixed value may include, for example, the position of the image sensor 120 in the vehicle, the normal direction of the light receiving surface of the image sensor 120, the angle of view of the image sensor 120, and a value indicating a date.
  • the position of the image sensor 120 can be represented by, for example, a 3-byte value represented by three-dimensional coordinates with the center of the vehicle as the origin.
  • the normal direction of the light receiving surface can be represented by, for example, a 3-byte value represented by the above three-dimensional coordinates.
  • the angle of view can be represented by, for example, a 2-byte value.
  • the date includes year, month, and day information and can be represented, for example, as a 2-byte value.
  • the output data for each frame includes the number of points included in the block, the measurement time of the block, and the position information of each of the plurality of points included in the block as the data for each block.
  • the number of points contained in a block can be represented, for example, in 1 byte.
  • the measurement time can be expressed in 5 bytes, for example, in microseconds.
  • the position of each point in the block is in three-dimensional coordinates and can be represented, for example, in 3 bytes.
  • the output of one frame of data is completed by repeating the data set of the number of points for each block, the time, and the position for each point by the number of blocks.
  • the number of blocks is a known fixed value.
  • FIG. 7B shows another example of the output data format.
  • ID numbers that associate each point of the point cloud data with each pixel in the distance image that is the conversion source of the point cloud data are sequentially assigned.
  • the number of blocks which is the number of light beam directions in one frame, is output as a fixed value common to all frames.
  • the data is output for each frame.
  • the ID of the first point (for example, 1 byte) and the ID of the last point (for example, 1 byte) of the plurality of points included in each block identify the plurality of points included in each block. Can be done.
  • This data is output for the number of blocks, and then the measurement time for each block is output for the number of blocks in 5 bytes in microsecond units.
  • the data of a plurality of points corresponding to the blocks and the time data are output side by side so that the information of the same block is in the same order.
  • the position of each point in the point cloud in the three-dimensional coordinates is output, for example, in 3 bytes.
  • the order of the point clouds at this time is the order of the point cloud IDs.
  • the position is output in 3 bytes for each point, and is continuously output for the number of points.
  • the information on the number of blocks may be included in the information for each frame.
  • the beam scanner 110 is a light emitting device capable of changing the emission direction of the light beam according to the control of the control circuit 130.
  • the beam scanner 110 sequentially irradiates a part of the scene to be distanced with the light beam.
  • the beam scanner 110 includes a mechanism for changing the emission direction of the light beam.
  • the beam scanner 110 may include a light emitting element such as a laser and at least one movable mirror, such as a MEMS mirror. The light emitted from the light emitting element is reflected by the movable mirror and heads for a predetermined area in the scene to be distanced.
  • the control circuit 130 can change the emission direction of the light beam by driving the movable mirror.
  • a light emitting device capable of changing the light emitting direction by a structure different from that of the light emitting device having a movable mirror may be used.
  • a light emitting device using a reflective waveguide as disclosed in Patent Document 4 may be used.
  • a light emitting device that changes the direction of light in the entire array may be used by adjusting the phase of the light output from each antenna by the antenna array.
  • FIG. 8 is a perspective view schematically showing an example of a light emitting device that can be used as the beam scanner 110.
  • This light emitting device includes an optical waveguide array including a plurality of optical waveguide elements 10.
  • Each of the plurality of optical waveguide elements 10 has a shape extending in the first direction (X direction in FIG. 8).
  • the plurality of optical waveguide elements 10 are regularly arranged in a second direction (Y direction in FIG. 8) intersecting the first direction.
  • the plurality of optical waveguide elements 10 propagate the light in the first direction and emit the light in the third direction D3 which intersects the virtual plane parallel to the first and second directions.
  • Each of the plurality of optical waveguide elements 10 has a first mirror 30 and a second mirror 40 facing each other, and an optical waveguide layer 20 located between the mirror 30 and the mirror 40.
  • Each of the mirror 30 and the mirror 40 has a reflective surface intersecting the third direction D3 at the interface with the optical waveguide layer 20.
  • the mirror 30, the mirror 40, and the optical waveguide layer 20 have a shape extending in the first direction.
  • the reflecting surface of the first mirror 30 and the reflecting surface of the second mirror 40 face each other substantially in parallel.
  • the first mirror 30 has a property of transmitting a part of the light propagating in the optical waveguide layer 20.
  • the first mirror 30 has a higher light transmittance than the second mirror 40 for the light. Therefore, a part of the light propagating in the optical waveguide layer 20 is emitted to the outside from the first mirror 30.
  • Such mirrors 30 and 40 can be, for example, multilayer mirrors formed by a multilayer film made of a dielectric.
  • the phase of the light input to each optical waveguide element 10 is adjusted, and the refractive index or thickness of the optical waveguide layer 20 in these optical waveguide elements 10 or the wavelength of the light input to the optical waveguide layer 20 is adjusted. By doing so, light can be emitted in any direction.
  • FIG. 9 is a diagram schematically showing a cross-sectional structure of one optical waveguide element 10 and an example of propagating light.
  • the X direction and the direction perpendicular to the Y direction shown in FIG. 8 are defined as the Z direction, and a cross section parallel to the XZ plane of the optical waveguide element 10 is schematically shown.
  • a pair of mirrors 30 and mirrors 40 are arranged so as to sandwich the optical waveguide layer 20.
  • the light 22 introduced from one end of the optical waveguide layer 20 in the X direction is optically waveguide while being repeatedly reflected by the first mirror 30 provided on the upper surface of the optical waveguide layer 20 and the second mirror 40 provided on the lower surface. Propagate within layer 20.
  • the light transmittance of the first mirror 30 is higher than the light transmittance of the second mirror 40. Therefore, a part of the light can be mainly output from the first mirror 30.
  • the light propagation angle means the angle of incidence on the interface between the mirror 30 or the mirror 40 and the optical waveguide layer 20.
  • Light that is incident at an angle closer to perpendicular to the mirror 30 or 40 can also propagate. That is, light incident on the interface can be propagated at an angle smaller than the critical angle of total reflection. Therefore, the group velocity of light in the direction of propagation of light is significantly lower than the speed of light in free space.
  • the optical waveguide element 10 has the property that the light propagation conditions change significantly with respect to changes in the wavelength of light, the thickness of the optical waveguide layer 20, and the refractive index of the optical waveguide layer 20.
  • Such an optical waveguide is referred to as a "reflective optical waveguide” or a “slow light optical waveguide”.
  • the emission angle ⁇ of the light emitted from the optical waveguide element 10 into the air is represented by the following equation (1).
  • the light emission direction is changed by changing any of the wavelength ⁇ of the light in the air, the refractive index n w of the optical waveguide layer 20, and the thickness d of the optical waveguide layer 20. Can be done.
  • the wavelength ⁇ of light is in the wavelength range of 400 nm to 1100 nm (visible light to near-infrared light), for example, where high detection sensitivity can be obtained with an image sensor that detects light by absorbing light with general silicon (Si). Can be included.
  • the wavelength ⁇ can be included in the near infrared light wavelength range of 1260 nm to 1625 nm, which has a relatively low transmission loss in an optical fiber or Si optical waveguide. These wavelength ranges are examples.
  • the wavelength range of the light used is not limited to the wavelength range of visible light or infrared light, and may be, for example, the wavelength range of ultraviolet light.
  • the light emitting device may include a first adjusting element that changes at least one of the refractive index, thickness, and wavelength of the optical waveguide layer 20 in each optical waveguide element 10. Thereby, the direction of the emitted light can be adjusted.
  • the optical waveguide layer 20 may include a liquid crystal material or an electro-optical material.
  • the optical waveguide layer 20 may be sandwiched by a pair of electrodes. By applying a voltage to the pair of electrodes, the refractive index of the optical waveguide layer 20 can be changed.
  • At least one actuator may be connected to at least one of the first mirror 30 and the second mirror 40.
  • the thickness of the optical waveguide layer 20 can be changed by changing the distance between the first mirror 30 and the second mirror 40 by at least one actuator. If the optical waveguide layer 20 is formed of a liquid, the thickness of the optical waveguide layer 20 can easily change.
  • the light emission direction changes due to the interference of light emitted from each optical waveguide element 10.
  • the phase of the light supplied to each optical waveguide element 10 the light emission direction can be changed. The principle will be described below.
  • FIG. 10A is a diagram showing a cross section of an optical waveguide array that emits light in a direction perpendicular to the exit surface of the optical waveguide array.
  • FIG. 10A also shows the amount of phase shift of light propagating through each optical waveguide element 10.
  • the phase shift amount is a value based on the phase of the light propagating through the optical waveguide element 10 at the left end.
  • the optical waveguide array in this embodiment includes a plurality of optical waveguide elements 10 arranged at equal intervals.
  • the dashed arc indicates the wave front of the light emitted from each optical waveguide element 10.
  • the straight line shows the wave surface formed by the interference of light. Arrows indicate the direction of light emitted from the optical waveguide array (ie, the direction of the wave vector).
  • the phases of the light propagating in the optical waveguide layer 20 in each optical waveguide element 10 are the same.
  • the light is emitted in a direction (Z direction) perpendicular to both the arrangement direction (Y direction) of the optical waveguide element 10 and the direction (X direction) in which the optical waveguide layer 20 extends.
  • FIG. 10B is a diagram showing a cross section of an optical waveguide array that emits light in a direction different from the direction perpendicular to the exit surface of the optical waveguide array.
  • the phases of the light propagating in the optical waveguide layer 20 in the plurality of optical waveguide elements 10 are different by a certain amount ( ⁇ ) in the arrangement direction.
  • the phase of the light propagating in the optical waveguide layer 20 in the plurality of optical waveguide elements 10
  • the light is emitted in a direction different from the Z direction.
  • the component in the Y direction of the wave number vector of light
  • the spread angle ⁇ of the light emission angle is expressed by the following equation (3).
  • the spread angle ⁇ can be reduced.
  • FIG. 11 is a perspective view schematically showing an optical waveguide array in a three-dimensional space.
  • the thick arrow shown in FIG. 11 indicates the direction of the light emitted from the light emitting device.
  • is the angle formed by the light emission direction and the YZ plane.
  • satisfies equation (2).
  • ⁇ 0 is the angle formed by the light emission direction and the XZ plane.
  • ⁇ 0 satisfies equation (3).
  • a phase shifter that changes the phase of the light may be provided before introducing the light into the optical waveguide element 10.
  • the light emitting device may include a plurality of phase shifters connected to each of the plurality of optical waveguide elements 10 and a second adjusting element for adjusting the phase of the light propagating through each phase shifter.
  • Each phase shifter includes an optical waveguide that connects directly to or via another optical waveguide to the optical waveguide layer 20 in one of the plurality of optical waveguide elements 10.
  • the second adjusting element changes the phase difference of the light propagating from the plurality of phase shifters to the plurality of optical waveguide elements 10, so that the direction of the light emitted from the plurality of optical waveguide elements 10 (that is, the third).
  • Direction D3 is changed.
  • a plurality of arranged phase shifters may be referred to as a "phase shifter array”.
  • FIG. 12 is a schematic view of the optical waveguide array 10A and the phase shifter array 80A as viewed from the normal direction (Z direction) of the light emitting surface.
  • all the phase shifters 80 have the same propagation characteristics, and all the optical waveguide elements 10 have the same propagation characteristics.
  • Each phase shifter 80 and each optical waveguide element 10 may have the same length or may have different lengths.
  • the respective phase shift amounts can be adjusted by the drive voltage. Further, by adopting a structure in which the length of each phase shifter 80 is changed in equal steps, it is possible to give the phase shift in equal steps with the same drive voltage.
  • this light emitting device includes an optical turnout 90 that branches and supplies light to a plurality of phase shifters 80, a first drive circuit 210 that drives each optical waveguide element 10, and a second drive that drives each phase shifter 80. It further includes a drive circuit 220.
  • the straight arrow in FIG. 12 indicates the input of light.
  • the first drive circuit 210 changes the angle of light emitted from the optical waveguide layer 20 by changing at least one of the refractive index and the thickness of the optical waveguide layer 20 in each optical waveguide element 10.
  • the second drive circuit 220 changes the phase of the light propagating inside the optical waveguide 20a by changing the refractive index of the optical waveguide 20a in each phase shifter 80.
  • the optical turnout 90 may be configured by an optical waveguide in which light is propagated by total reflection, or may be configured by a reflection type optical waveguide similar to the optical waveguide element 10.
  • each light may be introduced into the phase shifter 80.
  • a passive phase control structure by adjusting the length of the optical waveguide up to the phase shifter 80 can be used.
  • a phase shifter that has the same function as the phase shifter 80 and can be controlled by an electric signal may be used.
  • the phase may be adjusted before being introduced into the phase shifter 80 so that the light having the same phase is supplied to all the phase shifters 80.
  • the control of each phase shifter 80 by the second drive circuit 220 can be simplified.
  • Patent Document 4 Details such as the operating principle and operating method of the above light emitting device are disclosed in Patent Document 4. The entire disclosure content of Patent Document 4 is incorporated herein by reference.
  • FIG. 13 is a diagram showing another example of the beam scanner 110.
  • the beam scanner 110 in this example includes an optical waveguide array 10A and a phase shifter array 80A connected to the optical waveguide array 10A.
  • the optical waveguide array 10A includes a plurality of optical waveguide groups 10g arranged in the Y direction.
  • Each optical waveguide group 10g includes one or more optical waveguide elements 10.
  • the phase shifter array 80A includes a plurality of phase shifter groups 80 g arranged in the Y direction.
  • Each phase shifter group 80g includes one or more phase shifters 80.
  • the group of 80 g of the phase shifter group is different from the group of 10 g of the optical waveguide group. More specifically, two phase shifter groups 80 g are connected to one optical waveguide group 10 g.
  • the phase shift amount of each phase shifter 80 is individually controlled by the control circuit 130.
  • the phase shift amount of each phase shifter 80 is a first phase shift amount (an integral multiple of ⁇ ) according to the order of the arrangement and a second phase shift amount (Va, Vb, Vc) different for each phase shifter group 80 g. , Vd) and is controlled to be the sum.
  • Va, Vb, Vc phase shift amount
  • the control circuit 130 individually determines the value of the applied voltage for each 10 g of the optical waveguide group.
  • the X component in the emission direction of the light beam is controlled.
  • the light emission direction is determined depending on the combination of the phase shifter group 80 g and the optical waveguide group 10 g.
  • light is emitted in the same direction from two adjacent optical waveguide groups 10s connected to one phase shifter group 80g.
  • the luminous flux emitted from one optical waveguide group 10g is one light beam
  • two light beams can be emitted at the same time.
  • FIG. 14 is a diagram showing still another configuration example of the beam scanner 110.
  • the beam scanner 110 in this example includes a plurality of light emitting devices 70, each of which emits a light beam in a different direction.
  • a plurality of phase shifters 80 and a plurality of optical waveguide elements 10 are mounted on one chip.
  • the control circuit 130 controls the voltage applied to each phase shifter 80 and each optical waveguide element 10 in each light emitting device 70. As a result, the control circuit 130 controls the direction of the light beam emitted from each light emitting device 70.
  • the beam scanner 110 includes three light emitting devices 70, but may further include a larger number of light emitting devices 70.
  • FIG. 15 is a diagram showing still another configuration example of the beam scanner 110.
  • the beam scanner 110 in this example includes a plurality of light emitting devices 70, each mounted on a different chip.
  • the plurality of light emitting devices 70 emit light beams in different directions.
  • Each light emitting device 70 includes a control circuit 130a that determines a voltage applied to a plurality of phase shifters 80 and a plurality of optical waveguide elements 10.
  • the control circuit 130a in each light emitting device 70 is controlled by an external control circuit 130.
  • the beam scanner 110 includes three light emitting devices 70, but may further include a larger number of light emitting devices 70.
  • FIG. 16 is a diagram showing still another example of the beam scanner 110.
  • the beam scanner 110 includes a light emitting element such as a laser and at least one movable mirror, such as a MEMS mirror.
  • the light emitted from the light emitting element is reflected by the movable mirror and heads for a predetermined region in the target region (displayed as a rectangle in FIG. 16).
  • the control circuit 130 changes the direction of the emitted light from the beam scanner 110 by driving the movable mirror. Thereby, for example, as shown by the dotted arrow in FIG. 16, the target area can be scanned with light.
  • the image sensor 120 includes a plurality of light receiving elements arranged two-dimensionally along the light receiving surface.
  • An optical component (not shown) may be provided so as to face the light receiving surface of the image sensor 120.
  • the optical component may include, for example, at least one lens.
  • Optical components may include other optical elements such as prisms or mirrors.
  • the optical component may be designed so that light diffused from one point on an object in the scene is focused on one point on the light receiving surface of the image sensor 120.
  • the image sensor 120 may be, for example, a CCD (Charge-Coupled Device) sensor, a CMOS (Complementary Metal Oxide Semiconductor) sensor, or an infrared array sensor.
  • Each light receiving element includes a photoelectric conversion element such as a photodiode and one or more charge storage units. The charge generated by the photoelectric conversion is accumulated in the charge storage portion during the exposure period. The charge accumulated in the charge storage unit is output after the end of the exposure period. In this way, each light receiving element outputs an electric signal according to the amount of light received during the exposure period. This electric signal may be referred to as "light receiving data".
  • the image sensor 120 may be a monochrome type image sensor or a color type image sensor.
  • a color type image sensor having an R / G / B, R / G / B / IR, or R / G / B / W filter may be used.
  • the image sensor 120 may have detection sensitivity not only in the visible wavelength range but also in a wavelength range such as ultraviolet, near infrared, mid-infrared, and far infrared.
  • the image sensor 120 may be a sensor using SPAD (Single Photon Avalanche Diode).
  • the image sensor 120 may include an electronic shutter, that is, a global shutter mechanism, which can collectively read signals of all pixels after exposure.
  • the electronic shutter may be a rolling shutter method that exposes each row, or an area shutter method that exposes only a part of the area according to the irradiation range of the light beam.
  • the signal processing circuit 160 measures the distance to the object by a distance measuring method called an indirect ToF method.
  • a distance measuring method called an indirect ToF method.
  • the distance measurement method is not limited to the indirect ToF method, and a direct ToF method may be used.
  • the ToF method is a method of measuring the distance from the device to the object by measuring the flight time until the light emitted from the light source is reflected by the object and returned to the photodetector near the light source.
  • the method of directly measuring the flight time is called direct ToF.
  • a method in which a plurality of exposure periods are provided and the flight time is calculated from the energy distribution of the reflected light for each exposure period is called indirect ToF.
  • FIG. 17A is a diagram showing an example of the projection timing, the arrival timing of the reflected light, and the two exposure timings in the indirect ToF method.
  • the horizontal axis shows time.
  • the rectangular portion represents each period of projection, arrival of reflected light, and two exposures.
  • Part (a) of FIG. 17A shows the timing at which light is emitted from the light source.
  • T0 is the pulse width of the light beam for distance measurement.
  • Part (b) of FIG. 17A shows the period during which the light beam emitted from the light source and reflected by the object reaches the image sensor.
  • Td is the flight time of the light beam.
  • the reflected light reaches the image sensor at a time Td shorter than the time width T0 of the light pulse.
  • Part (c) of FIG. 17A shows the first exposure period of the image sensor.
  • the exposure is started at the same time as the start of the projection, and the exposure is finished at the same time as the end of the projection.
  • the first exposure period of the reflected light, the light that returns early is photoelectrically converted, and the generated charge is accumulated.
  • Q1 represents the energy of the light photoelectrically converted during the first exposure period. This energy Q1 is proportional to the amount of charge accumulated during the first exposure period.
  • Part (d) of FIG. 17A shows the second exposure period of the image sensor.
  • the second exposure period starts at the same time as the end of the light projection, and ends when the same time as the pulse width T0 of the light beam, that is, the same time as the first exposure period elapses.
  • Q2 represents the energy of the light photoelectrically converted during the second exposure period. This energy Q2 is proportional to the amount of charge accumulated during the second exposure period.
  • the second exposure period of the reflected light, the light that arrives after the end of the first exposure period is received. Since the length of the first exposure period is equal to the pulse width T0 of the light beam, the time width of the reflected light received in the second exposure period is equal to the flight time Td.
  • the integrated capacity of the electric charge accumulated in the light receiving element during the first exposure period is Cfd1
  • the integrated capacity of the electric charge accumulated in the light receiving element during the second exposure period is Cfd2
  • the optical current is Iph.
  • N the number of charge transfer clocks.
  • the output voltage of the light receiving element in the first exposure period is represented by the following Vout1.
  • Td ⁇ Vout2 / (Vout1 + Vout2) ⁇ ⁇ T0
  • the image sensor actually outputs the electric charge accumulated during the exposure period, it may not be possible to perform two exposures in succession in time. In that case, for example, the method shown in FIG. 17B can be used.
  • FIG. 17B is a diagram schematically showing the timing of light projection, exposure, and charge output when two exposure periods cannot be provided in succession.
  • the image sensor starts the exposure at the same time when the light source starts the light projection, and the image sensor ends the exposure at the same time when the light source ends the light projection.
  • This exposure period corresponds to the exposure period 1 in FIG. 17A.
  • the image sensor outputs the charge accumulated during this exposure period immediately after the exposure. This amount of charge corresponds to the energy Q1 of the received light.
  • the light source starts the light projection again, and ends the light projection when the same time T0 as the first time elapses.
  • the image sensor starts exposure at the same time when the light source finishes projecting light, and ends exposure when the same time length as the first exposure period elapses.
  • This exposure period corresponds to the exposure period 2 in FIG. 17A.
  • the image sensor outputs the charge accumulated during this exposure period immediately after the exposure. This amount of charge corresponds to the energy Q2 of the received light.
  • the light source in order to acquire the signal for the above distance calculation, the light source emits light twice, and the image sensor exposes each light projection at different timings. By doing so, even if the two exposure periods cannot be provided consecutively in time, the voltage can be acquired for each exposure period.
  • the image sensor that outputs the electric charge for each exposure period in order to obtain the information of the electric charge accumulated in each of the plurality of preset exposure periods, light under the same conditions is used for the set exposure period. The light will be projected as many times as the number of.
  • the image sensor can receive not only the light emitted from the light source and reflected by the object, but also the background light, that is, the light from the outside such as sunlight or ambient lighting. Therefore, in general, an exposure period is provided for measuring the accumulated charge due to the background light incident on the image sensor in a state where the light beam is not emitted. By subtracting the amount of charge measured during the background exposure period from the amount of charge measured when the reflected light of the light beam is received, the amount of charge when only the reflected light of the light beam is received is obtained. be able to. In this embodiment, for the sake of simplicity, the description of the operation of the background light will be omitted.
  • FIG. 18A is a diagram showing a first example of light detection when two light beams are continuously emitted in different directions in each unit period.
  • the horizontal axis represents time. In this example, three exposures are performed in succession within a unit period.
  • Part (a) of FIG. 18A shows the timing at which two light beams are emitted from the light source.
  • Part (b) of FIG. 18A shows the timing at which the reflected light generated by diffusing the two light beams emitted from the light source reaches the image sensor in the light receiving device.
  • the projection of the first light beam indicated by the solid line is completed, the projection of the second light beam indicated by the broken line is started.
  • the reflected light of these light beams reaches the image sensor a little later than the projection timing of each light beam.
  • the emission directions of the first light beam and the second light beam are different, and the reflected light of these light beams is incident on two different light receiving elements or a group of two light receiving elements in the image sensor.
  • Parts (c) to (e) in FIG. 18A show the first to third exposure periods, respectively.
  • the first exposure period starts at the same time as the start of the projection of the first light beam and ends at the same time as the end of the projection.
  • the second exposure period starts at the same time as the start of the projection of the second light beam and ends at the same time as the end of the projection.
  • the third exposure period starts at the same time as the end of the projection of the second light beam, and ends when the same time as the pulse time width of the light beam elapses.
  • Part (f) of FIG. 18A shows the shutter opening period of the image sensor.
  • Part (g) of FIG. 18A shows the period of charge output of each light receiving element.
  • each light receiving element of the image sensor independently accumulates the electric charge generated by the photoelectric conversion in the three exposure periods.
  • the charges accumulated in each charge accumulation period are read out at the same time.
  • each light receiving element is provided with three or more charge storage units.
  • the accumulation of charges in those charge storage units is switched, for example, by a switch.
  • the length of each exposure period is set to be shorter than the shutter opening period.
  • the image sensor opens the shutter at the start of the projection of the first light beam to start exposure. The shutter is open for a period of time during which the reflected light may be received.
  • the third exposure period which is the period during which the reflected light generated by the last light beam can be received, ends, the image sensor closes the shutter and ends the exposure.
  • the image sensor reads out the signal.
  • signals corresponding to the respective charges accumulated during the first to third charge accumulation periods are read out for each pixel.
  • the read signal is sent to the signal processing circuit 160 as light receiving data.
  • the signal processing circuit 160 can calculate the distance of the light receiving element that has received the reflected light based on the light receiving data by the method described with reference to FIG. 17A.
  • a plurality of charge storage units are required for each light receiving element, but the charges stored in the plurality of charge storage units can be output at once. Therefore, it is possible to repeat the light projection and the exposure in a shorter time.
  • FIG. 18B is a diagram showing a second example of light detection when two light beams are continuously emitted in different directions in each unit period.
  • the charge is output every time the exposure period ends.
  • the emission, exposure, and charge output of the first light beam and the second light beam are repeated three sets.
  • the exposure of each light receiving element is started at the same time as the projection of the first light beam is started, and the exposure is completed at the same time as the projection of the first light beam is completed.
  • This exposure period P1 corresponds to the exposure period 1 shown in FIG. 18A.
  • the exposure period P1 ends, the electric charge accumulated in each light receiving element is read out.
  • the exposure of each light receiving element is started at the same time as the end of the projection of the first light beam, that is, the start of the projection of the second light beam, and the end of the projection of the second light beam. At the same time, the exposure ends.
  • This exposure period P2 corresponds to the exposure period 2 shown in FIG. 18A.
  • the exposure period P2 ends, the electric charge accumulated in each light receiving element is read out.
  • the exposure of each light receiving element is started at the same time as the end of the projection of the second light beam, and the exposure ends when the time length corresponding to the pulse width of each light beam elapses.
  • This exposure period P3 corresponds to the exposure period 3 shown in FIG. 18A.
  • the electric charge accumulated in each light receiving element is read out.
  • a series of operations of continuous projection of a plurality of light beams, exposure, and reading of received light data are repeated three times.
  • light receiving data corresponding to the amount of electric charge in each exposure period can be acquired for each light receiving element.
  • the distance can be calculated by the above-mentioned calculation.
  • each light receiving element need only have one charge storage unit, the structure of the image sensor can be simplified.
  • the number of exposure periods per unit period may be 2 or less or 4 or more.
  • the exposure period per unit period may be two. In that case, the distance can be calculated by the method described with reference to FIG. 17A or FIG. 17B.
  • the exposure period per unit period may be one.
  • the number of light beams emitted per unit period is not limited to two, and may be three or more. The timing of light projection and light reception may be adjusted according to the setting of the reach range of a plurality of light beams.
  • FIG. 19 is a block diagram showing a detailed functional configuration of the distance measuring unit 161.
  • the distance measurement unit 161 includes a data pixel extraction unit 161a, a block range storage unit 161b, and a distance calculation unit 161c.
  • the data pixel extraction unit 161a and the distance calculation unit 161c can be realized by the signal processing circuit 160 executing a computer program.
  • the data pixel extraction unit 161a acquires a signal from the image sensor 120 according to the amount of electric charge accumulated in each pixel for each exposure period.
  • the data pixel extraction unit 161a also acquires information indicating the direction of the emitted light beam from the control circuit 130.
  • the data pixel extraction unit 161a extracts a range of pixels that can receive the reflected light of the light beam in the direction with reference to the block range storage unit 161b. Further, the data pixel extraction unit 161a is a pixel in which the value of at least one of the two signals acquired in the two or more exposure periods is not 0 among the pixels of the image sensor 120, and the range of the above pixels. Extract the pixels that overlap with.
  • a pixel within a predetermined number of pixels including the extracted pixel is determined as a block of pixels corresponding to the light beam.
  • the predetermined number of pixels can be, for example, 100 pixels included in a rectangular region of 10 pixels in the x-axis direction and 10 pixels in the y-axis direction.
  • the block range storage unit 161b is a recording medium such as a memory. In the example of FIG. 19, although it is a different element from the recording medium 150, it may be included in the recording medium 150.
  • each emission direction of the light beam and a pixel range capable of receiving the reflected light of the light beam are recorded in association with each other. Further, in each emission direction, assuming that there is a sufficiently large object at a distance of 100 m, for example, the range of pixels that receive the reflected light by the object is recorded as a "standard pixel range". The standard pixel range is included in the pixel range.
  • FIG. 20 shows an example of information recorded in the block range storage unit 161b.
  • the direction of the light beam can be represented, for example, by a component of a unit vector in that direction represented by predetermined three-dimensional coordinates.
  • the three-dimensional coordinates have the center of the light receiving surface as the origin, the x-axis in the direction corresponding to the horizontal direction of the image, the y-axis in the direction corresponding to the vertical direction of the image, and the direction toward the scene perpendicular to the light receiving surface.
  • the pixel range can be specified as a range of pixels included in a rectangular area among the pixels of the image sensor 120.
  • the pixel range can be represented by the upper left pixel position and the lower right pixel position on the output image.
  • the standard pixel range can be specified by the upper left pixel position and the lower right pixel position on the image.
  • the distance calculation unit 161c calculates the distance only for the pixel range determined by the data pixel extraction unit 161a.
  • the distance refers to the distance from the light receiving surface of the image sensor 120 to the object.
  • the distance calculation is calculated by, for example, the above-mentioned indirect ToF method.
  • FIG. 21 is a flowchart showing an example of the operation of the ranging device 100.
  • the distance measuring device 100 generates distance data and point cloud data for one frame by executing the operations of steps S1100 to S2800 shown in FIG.
  • the ranging device 100 repeats the operations of steps S1100 to S2800 shown in FIG. The operation of each step will be described below.
  • Step S1100 First, the control circuit 130 determines whether or not there is a direction in which the light is not projected among the predetermined directions of the light beam. If the light projection is completed in all the predetermined directions, that is, if yes in step S1100, the process proceeds to step S2100. If there is a direction in which the light is not projected among the predetermined directions, that is, if no in step S1100, the process proceeds to step S1200.
  • Step S1200 The control circuit 130 determines one of the predetermined directions of the light beam that is not projected.
  • Step S1300 The control circuit 130 records the information indicating the direction of the light beam determined in step S1200 on the recording medium 150.
  • Step S1400 The control circuit 130 determines whether the exposure of the image sensor 120 has been completed for all of the two or more predetermined exposure periods in the direction determined in step S1200. If this determination is yes, the process proceeds to step S1900. If this determination is no, the process proceeds to step S1500.
  • Step S1500 The control circuit 130 determines one of two or more predetermined exposure periods that have not yet been exposed. Each exposure period has, for example, the same time length as the time length of the light pulse emitted by the beam scanner 110.
  • the first exposure period starts at the same time as the start of the projection and ends at the same time as the end of the projection.
  • the second exposure period starts, for example, at the same time as the end of the light projection of the beam scanner 110, and ends when the same time as the time length of the light pulse elapses.
  • the third exposure period starts, for example, at the timing of the end of the second exposure period, and ends when the same time as the time length of the optical pulse elapses.
  • Step S1600 The control circuit 130 determines whether or not the light projected by the beam scanner 110 satisfies a predetermined number of times of light projected in the same direction with respect to the direction of the light beam determined in step S1200. If this determination is yes, the process returns to step S1400. If this determination is no, the process proceeds to step S1700.
  • Step S1700 The beam scanner 110 emits a light beam in the direction determined in step S1200.
  • the emitted light beam can be, for example, rectangular pulsed light.
  • the time length of the pulse can be, for example, about 100 ns.
  • Step S1800 The image sensor 120 receives light during the exposure period determined in step S1500.
  • This exposure period is, for example, one of the first to third exposure periods described above.
  • Step S1900 When the exposure for all the exposure periods is completed, the control circuit 130 records the detailed time (for example, in microseconds) when the light beam is emitted in association with the direction of the light beam. Since the beam scanner 110 in this example emits light beams in one direction a plurality of times, one time is determined with respect to the emission times of the plurality of light beams.
  • the control circuit 130 records, for example, the start time of the first projection as the detailed measurement time in each direction as the detailed measurement time.
  • the detailed measurement time may be the start time or end time of the last light projection in the direction, or the start time or end time of the light projecting in the center of the light projecting order in the direction. Alternatively, the average value of a plurality of projection times may be recorded as the detailed measurement time.
  • the detailed measurement time is determined based on the emission times of a plurality of light beams emitted in one direction, but the detailed measurement time may be determined by another method. For example, a time other than the emission time, such as the reception time of a plurality of light beams emitted in one direction, may be determined as the detailed measurement time.
  • Step S2000 The image sensor 120 outputs a signal corresponding to the amount of electric charge accumulated for each exposure period for all pixels. This signal is sent to the distance measuring unit 161 of the signal processing circuit 160.
  • the distance measurement unit 161 of the signal processing circuit 160 determines a block of pixels that have received the reflected light of the light beam among all the pixels of the image sensor 120.
  • the data pixel extraction unit 161a of the distance measurement unit 161 refers to the block range storage unit 161b and determines the range of pixels that can receive the reflected light from the object corresponding to the direction of the light beam. .. Further, the data pixel extraction unit 161a selects pixels in the range of pixels that can receive the reflected light from the object, based on the amount of electric charge accumulated for each exposure period, in which the amount of electric charge is not 0 in any of the exposure periods. To detect. The detected pixels and the pixels around them are determined as blocks.
  • the block may be composed of, for example, pixels in a rectangular region of 10 pixels in the x-axis direction and 10 pixels in the y-axis direction.
  • the range is determined centering on one or more pixels whose charge amount values are not 0 in any of the exposure periods.
  • pixels having a non-zero value for any of the exposure periods are distributed in a plurality of regions, a range including as many pixels as possible is determined within a predetermined size range.
  • a pixel whose value is not 0 is not detected in the range for any of the exposure periods, a plurality of pixels included in the standard pixel range predetermined for each emission direction are determined as blocks.
  • the standard pixel range is, for example, as described with reference to FIG.
  • step S2100 when there is an object of sufficient size at a specific distance from the light receiving surface of the image sensor 120, for example, at a position of 100 m, the reflected light from the object is transmitted. It can be in the range of pixels that receive light. Details of the operation of step S2100 will be described later.
  • the distance measuring unit 161 records data on the recording medium 150 that defines the correspondence between the block corresponding to the direction of the light beam and the pixels included in the block. For example, data indicating a block ID and a range of pixels included in the block can be recorded.
  • Step S2300 The distance measuring unit 161 calculates the distance to the object for each pixel included in the block determined in step S2100.
  • the method of calculating the distance is as described with reference to FIGS. 17A to 18B, for example.
  • Step S2400 The distance measuring unit 161 records the distance for each pixel included in the block calculated in step S2300 on the recording medium 150. After step S2400, the process returns to step S1100.
  • steps S1100 to S2400 are repeated until the preset light projection in all directions is completed.
  • the process proceeds to step S2500.
  • Step S2500 The distance image generation unit 162 generates distance image data in which the distance information of all pixels is converted into an image format based on the distance of each pixel recorded on the recording medium 150.
  • Step S2600 The point cloud data generation unit 163 generates point cloud data in predetermined three-dimensional spatial coordinates based on the distance for each pixel recorded on the recording medium 150.
  • the point cloud data generation unit 163 performs coordinate conversion on pixels having a value other than 0 or infinity based on information on the position of the image sensor 120 and the orientation of the image sensor 120. As a result, the distance image data is converted into the point cloud data.
  • the point cloud data generation unit 163 further converts the block-pixel correspondence information recorded in step S2200 into the block-point cloud correspondence information and records it.
  • Step S2700 The output unit 169 generates output data based on the point cloud data converted from the distance image in step S2600 and the correspondence information between the block and the point cloud. For example, as shown in FIG. 7A or FIG. 7B, output data including information on corresponding points and detailed times for each block and information on the positions of each point included in the point cloud in three-dimensional space is generated.
  • Step S2800 The output unit 169 outputs the data for one frame generated in step S2700.
  • the data is recorded on the recording medium 150.
  • the distance measuring device 100 can generate and output point cloud data including detailed time information in block units for one frame.
  • the operations of steps S1100 to S2800 can be repeated, for example, at a predetermined frame rate (for example, 30 fps).
  • step S2100 Next, the details of the operation in step S2100 will be described.
  • FIG. 22 is a flowchart showing the details of the operation of step S2100.
  • Step S2100 includes steps S2101 to S2110 shown in FIG. The operation of each step will be described below.
  • the data pixel extraction unit 161a of the distance measurement unit 161 refers to the block range storage unit 161b and determines the range of pixels that can receive the reflected light from the object corresponding to the direction of the light beam. For example, in the example of FIG. 20, the “pixel range” corresponding to the direction of the light beam determined in step S1200 is extracted.
  • the focused light is detected at a specific position on the light receiving surface of the image sensor 120.
  • the position where the light is detected is on a straight line projecting the direction of the light beam onto the light receiving surface, and the distance between the object and the image sensor 120.
  • the position on the straight line changes depending on the light.
  • FIG. 23 is a schematic diagram showing the relationship between the direction of the light beam, the position of the object, and the incident position of the reflected light by the object on the light receiving surface of the image sensor 120.
  • the light beam emitted from the beam scanner 110 is represented by a solid arrow L1.
  • the reflected light generated when the object is present at each of the positions 165A, 165B, and 165C is indicated by the dashed arrow.
  • the reflected light from the object existing at the position 165A is incident on the position 165a on the light receiving surface.
  • the reflected light from the object existing at the position 165B is incident on the position 165b on the light receiving surface.
  • the reflected light from the object existing at the position 165C is incident on the position 165c on the light receiving surface.
  • the positions 165a, 165b, and 165c are on a straight line that projects the path of the light beam L1 onto a plane including the light receiving surface of the image sensor 120.
  • the "pixel range” shown in FIG. 20 is set along this straight line, and the width of the pixel is given according to the spread width of the light beam. This pixel range represents a range in which reflected light can be received on the image sensor 120.
  • the "standard pixel range” shown in FIG. 20 represents the range of pixels that can receive the reflected light when it is assumed that the object exists at the maximum distance (for example, 100 m) at which the reflected light by the light beam can be detected. ..
  • Step S2102 The data pixel extraction unit 161a receives the reflected light from the pixels in the range in which the reflected light determined in step S2101 can be received, when the distance is already recorded on the recording medium 150. Exclude from the pixels in the range to be obtained.
  • Step S2103 The data pixel extraction unit 161a determines whether or not there are pixels in the range determined in step S2101 that are not excluded in step S2102 and have received light in any of the exposure periods. If this determination is yes, the process proceeds to step S2104. If this determination is no, the process proceeds to step S2105.
  • Step S2104 The data pixel extraction unit 161a determines whether or not the pixels received in any of the exposure periods specified in step S2103 are distributed in a range smaller than the predetermined block size.
  • the predetermined block size can be, for example, 10 pixels each in the vertical and horizontal directions. If the determination in step S2104 is yes, the process proceeds to step S2106. If the determination in step S2104 is no, the process proceeds to step S2107.
  • FIG. 24A is a diagram showing an example of a pixel range A1 having a possibility of receiving light and a standard pixel range A2 among the light receiving surfaces of the image sensor 120.
  • FIG. 24B is a diagram showing an example of a state in which the pixels S received in any of the exposure periods are distributed inside a range A3 having a predetermined size in a range in which light can be received.
  • 24C and 24D are diagrams showing an example of a state in which the pixels S received in any of the exposure periods are distributed beyond the range A3 having a predetermined size in the range where the light can be received. .. In the case of FIG. 24B, it is determined to be yes in step S2104. On the other hand, in the case of FIG. 24C or FIG. 24D, it is determined to be no in step S2104.
  • the range of continuous light receiving pixels S having more light received in the vicinity is set as a block, including the outside of the range A1 where light reception is possible. You may.
  • the block size region A3 at the center of the distribution range of the light receiving pixels S may be set as a block.
  • Step S2105 The data pixel extraction unit 161a sets the standard pixel range stored in the block range storage unit 161b as a block. This step is performed, for example, as shown in FIG. 24A. After executing step S2105, the process proceeds to step S2200.
  • Step S2106 The data pixel extraction unit 161a sets the continuous pixels that have received light as a block within the range where there is a possibility of receiving light that was extracted in step S2101. This step is performed, for example, as shown in FIG. 24B. After executing step S2106, the process proceeds to step S2200.
  • the data pixel extraction unit 161a specifies a region of continuous light receiving pixels in which adjacent pixels are all light receiving pixels. Among the regions in which the specified light receiving pixels are continuous, the region having the largest number of pixels, that is, the region having the largest number of pixels included in the region is extracted.
  • Step S2108 The data pixel extraction unit 161a determines whether or not the largest region of the continuous regions of the light receiving pixels extracted in step S2107 is equal to or smaller than a predetermined block size. If this determination is yes, the process proceeds to step S2109. If this determination is no, the process proceeds to step S2110.
  • Step S2109 The data pixel extraction unit 161a sets the area extracted in step S2107 as a block. This step is performed, for example, as shown in FIG. 24C. After executing step S2109, the process proceeds to step S2200.
  • Step S2110 The data pixel extraction unit 161a sets a block centered on the center position of the region extracted in step S2107, for example, the center of gravity position of the coordinates of all the light receiving pixels included in the region.
  • the block may be set so that the center position of the block overlaps with the center of the region extracted in step S2107. This step is performed as shown in FIG. 24D. After executing step S2110, the process proceeds to step S2200.
  • the distance measuring device 100 in the present embodiment includes a beam scanner 110, an image sensor 120, and a signal processing circuit 160.
  • the beam scanner 110 is a light emitting device that emits a plurality of light beams in different directions at different timings.
  • the image sensor 120 includes an array of a plurality of light receiving elements, and detects the reflected light from the scene generated by the emission of each light beam by the plurality of light receiving elements. Based on the signal output from the image sensor 120, the signal processing circuit 160 outputs data indicating the positions or distances of a plurality of points in the scene corresponding to the light receiving elements that have detected the reflected light among the plurality of light receiving elements. Generate and output the included output data.
  • the data of a plurality of points is classified into a plurality of blocks, and individual time data is assigned to each of the plurality of blocks.
  • the light beam is emitted only in a part of the range defined by the angle of view of the image sensor 120.
  • the measurement time is different for each beam.
  • the signal processing circuit 160 blocks a plurality of pixels in the distance image for each direction of the beam, and also blocks a plurality of points in the point cloud data converted from the distance image. By recording the measurement time for each block, it is possible to associate the detailed time with the point cloud data output as one frame and output it.
  • the measurement time in units of one frame (for example, in milliseconds) of the distance image is set for the pixel. It can be recorded block by block. Therefore, for example, it becomes easy to accurately integrate information from a plurality of devices including the distance measuring device 100 of the present embodiment.
  • the beam shape and beam diameter of the light beam are fixed, but in this embodiment, the beam shape and beam diameter can be adjusted for each frame.
  • the beam shape and beam diameter can be controlled to be different for each frame.
  • the beam diameter By reducing the beam diameter, the light beam reaches a long distance with the same light energy.
  • the energy of the emitted light is the same and the reach is adjusted for each frame, it is effective to adjust the beam shape and the beam diameter for each frame as in the present embodiment.
  • FIG. 26A and 26B are diagrams schematically showing the state of light reception due to the projection of light beams having different beam diameters.
  • FIG. 26A shows a state of light reception with a small beam diameter
  • FIG. 26B shows a state of light reception with a large beam diameter.
  • the dotted circle in the figure represents the beam spot
  • the thick rectangular frame represents the block.
  • the configuration of the distance measuring device of this embodiment is the same as the configuration of the distance measuring device 100 shown in FIG.
  • the control circuit 130 determines the beam shape and beam diameter of the light beam for each frame as well as the direction of the light beam. Information on the beam shape and beam diameter of the light beam is recorded in advance on the recording medium 150 as information for each frame.
  • FIG. 27 shows an example of information recorded on the recording medium 150 in the present embodiment.
  • the information shown in FIG. 27 is recorded on the recording medium 150 instead of the information shown in FIG. 6B.
  • the information shown in FIGS. 6A and 6C is similarly recorded in this embodiment.
  • a beam shape ID that specifies a beam shape and a beam diameter is recorded in association with information on a beam direction, a pixel range included in a block, and a time.
  • the block range storage unit 161b (see FIG. 19) in the present embodiment holds as many correspondence tables between the beam direction, the pixel range, and the standard pixel range as the number of possible beam shapes and beam diameters.
  • FIG. 28 shows an example of the information stored in the block range storage unit 161b in the present embodiment.
  • information on a pixel range that may receive light and a standard pixel range corresponding to the direction of each light beam is recorded in advance for each beam shape.
  • the block size is recorded for each beam shape.
  • the block size is a predetermined fixed value in the first embodiment, but is set for each beam shape in the present embodiment.
  • the control circuit 130 in the present embodiment first determines the beam shape and beam diameter of the light beam before determining whether or not there is a direction in which the light is not projected in step S1100 shown in FIG. Data of a list of light beam directions covering the entire detectable range of the image sensor 120 for each beam shape and beam diameter are pre-recorded on the recording medium 150. The control circuit 130 makes a determination in step S1100 with reference to the list.
  • the data pixel extraction unit 161a acquires information on the beam shape and beam diameter as well as information on the emission time of the light beam from the control circuit 130.
  • the data pixel extraction unit 161a has a correspondence table corresponding to the beam shape and beam diameter of the light beam of the frame from among a plurality of correspondence tables stored in the block range storage unit 161b according to the information of the beam shape and the beam diameter. Select. Then, the block is determined based on the information of the pixel range and the standard pixel range corresponding to the beam direction of interest in the selected correspondence table.
  • the beam shape and beam diameter of the light beam are determined for each frame. It is possible to block the pixels of the distance image for each direction of the beam, and further block the points of the point cloud data converted from the distance image.
  • the measurement time can be recorded for each block, and the detailed time can be associated with the point cloud corresponding to each frame and output.
  • the point cloud data is blocked for each light beam according to the specifications of the light beam for each frame, and the detailed time is output for each block of the point cloud. can do.
  • a configuration may be adopted in which the beam scanner 110 can emit a light beam having an arbitrary beam shape and a beam diameter, and the control circuit 130 arbitrarily sets the beam shape and the beam diameter for each frame.
  • the signal processing circuit 160 may calculate the pixel range and the standard pixel range corresponding to each beam direction each time. In that case, the signal processing circuit 160 obtains a straight line obtained by projecting a straight line extending in the light emitting direction onto the light receiving surface of the image sensor 120 based on the information of the light beam emitting direction, and determines the center position of the pixel range. Then, based on the information of the beam shape and the beam diameter, the expansion of the pixel range that can receive light can be calculated.
  • the beam diameter of the light beam is fixed during the distance measurement operation for one frame.
  • the beam diameter can be adjusted even during the distance measurement operation for one frame.
  • the projection of the present embodiment also includes the projection of a flash capable of irradiating the entire range of the angle of view of the image sensor 120 at one time.
  • the configuration of the ranging device 100 of the present embodiment is the same as the configuration of the first embodiment (see FIG. 4).
  • the control circuit 130 determines the diameter and direction of the light beam emitted by the beam scanner 110 with reference to the information recorded on the recording medium 150, and determines the timing of the light projection of the beam scanner 110 and the timing of the exposure of the image sensor 120. Control.
  • FIG. 29A is a diagram schematically showing how the image sensor 120 receives the reflected light from an object when a flash, which is light that spreads in a wide angle from one light source, is projected from the beam scanner 110.
  • the beam scanner 110 diffuses the light 50 that covers the range of the angle of view of the image sensor 120. Since the light 50 is widely diffused, the light 50 reaches only in the vicinity, for example, within 30 m. Therefore, the image sensor 120 receives the reflected light only from a nearby object. Therefore, reflected light is detected and distance measurement is performed for an object near the image sensor 120, which is shaded in FIG. 29A, for example, a car and a private car shown in the lower left of the figure, and a person shown in the lower right of the figure. It is possible.
  • FIG. 29B schematically shows how the image sensor 120 receives the reflected light from an object when the beam scanner 110 emits a light beam that has a small spread and the energy density is not easily attenuated by a distance, that is, a light beam that reaches a long distance. It is a figure.
  • the light 60 has a small beam diameter, but can reach a long distance, for example, 50 m or more, and the image sensor 120 can detect reflected light even from a distant object. Therefore, it is also possible to detect distant objects shaded in FIG. 29B, such as reflected light from a truck and private car in the upper center. By emitting a light beam having a small diameter in this way, it is possible to measure a distant object.
  • FIG. 29C is a schematic diagram showing both the light reception status of the reflected light from a nearby object due to the flash projection shown in FIG. 29A and the reflected light from a distant object due to the projection of the small diameter light beam shown in FIG. 29B.
  • the beam shape of the light beam is two types: a flash that extends over the entire range of the angle of view, and a circular light beam that reaches up to 100 m and has a small beam diameter.
  • the flash light 50 and the long-distance light 60 can be emitted at different timings within the same frame.
  • the beam shape of the light beam is not limited to these, and a light beam having another shape may be emitted. In the example of FIG.
  • the image sensor 120 can detect the reflected light of the flash for nearby bicycles, automobiles, and people. However, for automobiles and trucks that are far away, the image sensor 120 cannot detect the reflected light from the flash, and can detect only the reflected light of the light beam having a small spread angle.
  • FIG. 30 shows an example of information recorded on the recording medium 150 in this embodiment. Compared to the first embodiment, the information shown in FIG. 30 is recorded instead of the information shown in FIG. 6B. The information shown in FIGS. 6A and 6C is similarly recorded in this embodiment.
  • the type of light beam that is, the flash or the light beam for a long distance is recorded as the information for each frame. Since the flash spreads in all directions, no beam direction information is recorded.
  • the pixel range all the pixels that receive the reflected light of the flash can be the "pixel range".
  • the range can be recorded by a method in which the coordinates of the start pixel and the coordinates of the end pixel are written together in the x-axis direction.
  • the pixel ranges that receive the reflected light from the lower left car and bicycle are (5,1) (5,6), (6,1) (6,6) ... (10, 1) (10, It is expressed as 6).
  • the pixel range for receiving the reflected light from the person in the lower right is (6,11) (6,13), (7,11) (7,13) ... (10,11) (10,13). expressed.
  • the pixels of the image sensor 120 are much smaller than the squares shown in FIG. 29C, but the squares are drawn extremely large in FIG. 29C for the sake of clarity.
  • FIG. 31 is a flowchart showing a part of the operation of the distance measuring device 100 of the present embodiment.
  • the operations of steps S3100 to S3900 shown in FIG. 31 are added before step S1100 of the flowchart shown in FIG. Further, steps S4000 and S4100 are executed instead of steps S1100 and S1200, respectively. Except for these points, the operation of the present embodiment is the same as the operation of the first embodiment. The operation of the distance measuring device 100 of the present embodiment will be described with reference to FIG. 31.
  • Step S3100 the control circuit 130 determines whether or not the light projected by the beam scanner 110 for the flash satisfies a predetermined number of light projected. If this determination is yes, the process proceeds to step S3400. If this determination is no, the process proceeds to step S3200.
  • the beam scanner 110 projects a flash.
  • the projected flash may be, for example, pulsed light whose intensity changes with time in a rectangular shape.
  • the duration of the pulse can be, for example, 100 ns.
  • Step S3300 The image sensor 120 receives light within an exposure period set in advance according to the flash. As the exposure period, for example, as described above, the first to third exposure periods can be set. After the exposure, the process returns to step S3100.
  • Step S3400 The control circuit 130 records information on the detailed time (for example, in microsecond units) when the beam scanner 110 floods the flash on the recording medium 150. Since the beam scanner 110 projects the flash a plurality of times, one time is determined for the plurality of projection times.
  • the control circuit 130 stores, for example, the start time of the first projection of the flash as the detailed measurement time as the detailed measurement time.
  • the detailed measurement time may be the start time or end time of the last light projection of the flash, or the start time or end time of the light projection that hits the center of the light projection order of the flash light projection. Further, the average value of a plurality of projection times may be used as the detailed measurement time.
  • Step S3500 The image sensor 120 outputs the electric charge accumulated for each exposure period for all the pixels.
  • Step S3600 The distance measuring unit 161 extracts pixels that have received the reflected light from the object generated by the light projected by the flash during any exposure period, and determines the pixel range corresponding to the flash.
  • Step S3700 The distance measuring unit 161 records the pixel range of the flash determined in step S3600 on the recording medium 150 as the pixel range corresponding to the block.
  • the description format of the pixel range may be, for example, the format shown in FIG. 30 described above.
  • Step S3800 The distance measuring unit 161 calculates the distance for each pixel included in the flash block determined in step S3700.
  • the method of calculating the distance is as described with reference to FIGS. 17A to 18B, for example.
  • Step S3900 The distance calculation unit 161c records the distance of each pixel included in the block calculated in step S3800 on the recording medium 150.
  • Step S4000 In the control circuit 130, has all the pixels other than the pixel corresponding to the flash block recorded on the recording medium 150 been projected in the light emitting direction of the light beam that the pixel can receive the reflected light? Judge whether or not. If this determination is yes, the process proceeds to step S2500. If this determination is no, the process proceeds to step S4100.
  • Step S4100 The control circuit 130 determines the projection direction of the light beam in which the reflected light can be incident on the pixels that have not yet received the reflected light of the light beam among all the pixels other than the pixels corresponding to the flash block. After step S4100, the process proceeds to step S1300.
  • the projection direction of the light beam that a specific pixel of the image sensor 120 can receive the reflected light of the light beam can be determined, for example, as follows.
  • the pixel reflects the light beam.
  • the pixel can receive the reflected light, assuming that the object exists at the maximum distance that the pixel can detect the reflected light of the light beam, for example, 100 m.
  • the direction of the light beam can be calculated.
  • the pixel range that may receive light is determined, for example, by the method described in connection with the operation of step S2100 of Embodiment 1. In this way, for pixels that have not yet received the reflected light of the light beam, the direction of the light beam that the pixel may receive is determined in sequence, and it is not included in the pixel range that may receive light. The number of pixels can be reduced.
  • the pixel range is set assuming that the light beam is reflected by an object at a closer distance.
  • the direction of the light beam can be determined.
  • the direction of the light beam may be determined by setting a pixel range in which light can be received at a distance half of the maximum distance.
  • the direction of the light beam can be sequentially determined by setting a range in which the light can be received, assuming that an object exists at a distance of 100 m and 50 m, for example. If there are pixels that have not received light, the distance between the pixels may be set to infinity, assuming that there is no object.
  • the distance measurement is comprehensively performed for the pixels that did not receive the reflected light of the flash. Will be done.
  • the number of pixels included in the determined light-receiving pixel range or the size of the pixel range differs depending on the beam shape and beam diameter of the light beam.
  • the magnitude of the parallax differs depending on the difference between the position of the pixel in the image sensor 120 and the position of the light emitting point of the beam scanner 110. Therefore, the procedure of exhaustive ranging for pixels that did not receive the reflected light of the flash can be changed depending on the beam shape, the beam diameter, and the magnitude of the parallax.
  • step S2400 By repeating the operations from step S3100 to step S2400, distance information can be acquired for each pixel that can measure the distance by the set combination of light beams.
  • the signal processing circuit 160 generates distance image data and point cloud data, respectively, in steps S2500 and S2600. Finally, in step S2800, the point cloud data for one frame is output.
  • the light projection including the flash is repeatedly performed in one frame.
  • it is possible to change the beam shape and beam diameter of the light beam it is possible to realize highly accurate distance measurement with a smaller number of light projections.
  • the point cloud data is blocked for each light beam according to the specifications of the light beam for each frame, and detailed time information is given for each block of the point cloud. can do.
  • the ranging device 100 of the present embodiment is different from each of the above-described embodiments in that the beam scanner 110 simultaneously emits a plurality of light beams.
  • the control circuit 130 in the present embodiment adjusts the directions of the plurality of light beams emitted from the beam scanner 110 so that the reflected light of the light beams is not received by the same pixel.
  • the control circuit 130 in the present embodiment determines the combination of a plurality of light beams to be emitted and the timing and order of emission of each light beam.
  • the control circuit 130 refers to the information recorded on the recording medium 150, and determines a combination of a plurality of light beams emitted at the same time among the light beams that have not yet been projected.
  • FIG. 32 is a diagram showing an example of information recorded on the recording medium 150 in the distance measuring device 100 of the present embodiment.
  • the information shown in FIG. 32 is recorded instead of the information shown in FIG. 6B.
  • the information shown in FIGS. 6A and 6C is similarly recorded in this embodiment.
  • As information for each frame, the beam direction and the pixel range included in the block are recorded for each block.
  • the time information is different for each block, but in the present embodiment, the plurality of blocks corresponding to the plurality of light beams emitted at the same time have the same time information.
  • the operation of the distance measuring device 100 of the present embodiment is basically the same as the operation of the first embodiment shown in FIG. However, it differs in that a plurality of light projection directions are determined in step S1200.
  • the plurality of light beams emitted at the same time are such that the plurality of straight lines obtained by projecting the plurality of straight lines along the path of the light beams onto the light receiving surface of the image sensor 120 do not overlap or intersect with each other. Can be decided.
  • the control circuit 130 records the information of the plurality of light beams emitted at the same time on the recording medium 150. Further, in step S1900, the control circuit 130 records a common time value on the recording medium 150 as the emission time of the plurality of light beams.
  • the image sensor 120 outputs light receiving data of pixels of a plurality of blocks in the same exposure period.
  • the signal processing circuit 160 determines the presence or absence of light reception for the pixels included in the corresponding pixel range for each of the directions of the plurality of light beams, and determines the pixel range, that is, the block for which the distance is to be calculated.
  • the signal processing circuit 160 associates the time recorded in step S1900 and the plurality of pixel ranges corresponding to the plurality of blocks determined in step S2200 with the direction of the light beam on the recording medium 150. Record.
  • FIG. 33 shows an example of the output data output by the distance measuring device 100 in the present embodiment in step S2800.
  • the position coordinates of the image sensor 120 in the three-dimensional coordinates centered on the vehicle are output in 3 bytes as a fixed value common to the frame, and the image sensor in the three-dimensional coordinates is output.
  • the normal vector of the light receiving surface of 120 is output in 3 bytes
  • the angle of view of the image sensor 120 is output in 2 bytes
  • the date is output in 2 bytes.
  • information for each frame is output.
  • the time and the position of the point cloud included in the block are collectively output as the information for each frame.
  • the number of blocks sharing the time is output in 1 byte, and then the detailed time common to those plurality of blocks is output in 5 bytes.
  • the number of points in the point cloud contained in the block is output in 1 byte for one block measured at that time, and then the 3D position of each point is output in 3 bytes. ..
  • the number of points in the point cloud included in the block is also output in 1 byte for other blocks measured at the same time, and each point is output.
  • the three-dimensional position of is continuously output in 3 bytes.
  • the sequence of points and location information is repeated by the number of blocks sharing the time information. When all the information of the blocks at the same time is output, the information of the number of blocks sharing the time, the time, and the position data of each point of the point group included in the blocks follow again.
  • a plurality of light beams are emitted at the same time, and data of a plurality of pixel blocks having the same time information is output.
  • the time required for scanning the entire scene can be shortened.
  • the amount of output data can be reduced by outputting one time information in association with a plurality of blocks.
  • the pixels of the distance image are blocked for each direction of the light beam, and the points of the point cloud data converted from the distance image are also blocked.
  • the measurement time is recorded for each block, and the detailed time can be associated with each block of the point cloud data output as data for one frame and output.
  • the point cloud data is blocked for each light beam according to the specifications of the light beam for each frame, and the detailed time is output for each block of the point cloud. be able to.
  • the time when the light beam is emitted is recorded as the detailed time when the distance measurement is performed.
  • the time associated with the exposure period when the image sensor 120 receives the reflected light is recorded as the detailed time of the distance measurement.
  • the configuration of the distance measuring device of the present embodiment is the same as the configuration of the distance measuring device 100 of the first embodiment shown in FIG.
  • the signal processing circuit 160 collates the timing at which the reflected light is detected by each pixel of the image sensor 120 with the time generated by the clock 140, and generates detailed time information of the reception timing of the reflected light.
  • the signal processing circuit 160 records the generated detailed time information on the recording medium 150 in association with the pixel range of the block.
  • FIGS. 34A and 34B are diagrams showing an example of information recorded on the recording medium 150 in the present embodiment.
  • the information shown in FIGS. 34A and 34B is recorded instead of the information shown in FIG. 6B.
  • the information shown in FIGS. 6A and 6C is similarly recorded in this embodiment.
  • the signal processing circuit 160 records the detailed time of the exposure timing on the recording medium 150 for each exposure period of the image sensor 120.
  • the distance is measured by the indirect ToF method, so that two or more exposure periods are set for the timing of one light projection. Therefore, as shown in FIG. 34A, the exposure time is recorded together with the information indicating which of the plurality of exposure periods set for each projection is the exposure period.
  • the recorded time can be, for example, an exposure start time or an exposure end time.
  • the time can be stored, for example, in microseconds or nanoseconds.
  • the pixel range of each block is determined, as shown in FIG. 34B, the pixel range of each block and the measurement time for each block are recorded in association with each other. This measurement time is determined by the signal processing circuit 160 based on the exposure time shown in FIG. 34A.
  • FIG. 35 is a flowchart showing an example of the operation of the distance measuring device according to the present embodiment.
  • the same reference numerals are given to the same actions as those in the first embodiment (see FIG. 21).
  • the operations of steps S1100 to S1700 and S2100 to S2800 are the same as the operations shown in FIG.
  • steps S4000, S4100, and S4200 are added, and steps S4300, S4400, S4500, and S4600 are added in place of steps S1900 and S2000. Each of these steps will be described below.
  • Step S4000 The image sensor 120 receives light during the exposure period determined in step S1500, and outputs a light receiving signal indicating that the light has been received to the signal processing circuit 160.
  • the light receiving signal may be output at the start of exposure or at the end of exposure.
  • Step S4100 The signal processing circuit 160 acquires the timing at which the light receiving signal is acquired from the image sensor 120 in step S4000, that is, the detailed time at the start of exposure or the end of exposure from the clock 140, and outputs the exposure time to the recording medium 150.
  • Step S4200 The recording medium 150 stores the exposure time generated in step S4100. After step S4200, the process returns to step S1600.
  • Step S4300 When the exposure of one light beam in the entire exposure period is completed, the image sensor 120 outputs a signal indicating the amount of electric charge accumulated in each exposure period for all the pixels.
  • Step S4400 Based on the signal output in step S4300, the signal processing circuit 160 determines whether or not there is a pixel having a non-zero value in any of the exposure periods. If this determination is yes, the process proceeds to step S4500. If this determination is no, the process proceeds to step S4600.
  • the signal processing circuit 160 refers to the exposure time stored in the recording medium 150 and determines the detailed time at which the distance is measured.
  • the signal processing circuit 160 outputs the determined detailed time of distance measurement to the recording medium 150.
  • the recording medium 150 records the time corresponding to the block shown in FIG. 34B. Further, the recording medium 150 erases the time information for each exposure in FIG. 34A.
  • the determination of the detailed time of distance measurement since a plurality of exposure times are recorded, for example, the first exposure time of the exposure period in which the received pixel was present can be adopted. Alternatively, the last exposure time of the exposure period in which the received pixels were present, or the central exposure time of a plurality of exposure periods may be adopted. Further, the average value of the times of the exposure period in which the received pixels were present may be adopted.
  • Step S4600 The recording medium 150 erases the time information for each exposure shown in FIG. 34A. After step S4600, the process returns to step S1100.
  • the configuration is not limited to the same as that of the first embodiment, and any of the configurations of the second to fourth embodiments may be adopted.
  • FIG. 36 is a block diagram showing the configuration of the vehicle control system 1000 according to the second embodiment of the present disclosure.
  • the vehicle control system 1000 includes a point cloud data acquisition system 200 and an automatic driving control system 700.
  • the point cloud data acquisition system 200 includes a plurality of ranging devices 100A and a processor 190.
  • the automatic operation control system 700 includes a processor 710, a recording medium 720, and an output interface 730.
  • Each distance measuring device 100A has the same configuration as the distance measuring device 100 in any one of the first to fifth embodiments.
  • FIG. 36 the configuration of only one ranging device 100A is shown.
  • the plurality of distance measuring devices 100A all have the same function and are arranged at different positions of the vehicle.
  • Each distance measuring device 100A is different from the distance measuring device 100 in each of the above-described embodiments in that the signal processing circuit 160 outputs distance image data instead of point cloud data.
  • the point cloud data is generated by the processor 190, which is a processing device arranged outside the distance measuring device 100A.
  • the processor 190 integrates a plurality of distance image data output from each of the plurality of distance measuring devices 100A into one point cloud data and outputs the data.
  • the processor 190 includes a point cloud data generation unit 191 and a point cloud data output unit 192.
  • Each of the point cloud data generation unit 191 and the point cloud data output unit 192 may be realized as a dedicated circuit.
  • the processor 190 may function as a point cloud data generation unit 191 and a point cloud data output unit 192 by executing a computer program.
  • Each distance measuring device 100A generates distance image data to which time information is added for each block by executing the same operation as the operation in the first embodiment.
  • This data includes time information for each block and information indicating the correspondence between the block and the pixel.
  • This data is sent to the point cloud data generation unit 191.
  • the operation of each ranging device 100A is the same as the operation shown in FIG. 21 up to step S2500. Hereinafter, the operations after step S2500 will be described with reference to FIG. 37.
  • FIG. 37 shows a part of the operation of the distance measuring device 100A in the present embodiment that is different from the operation shown in FIG.
  • steps S1100 to S2400 shown in FIG. 21 data as illustrated in FIGS. 6A to 6C is recorded on the recording medium 150. That is, the information common to the plurality of frames exemplified in FIG. 6A, the information for each frame exemplified in FIG. 6B, and the distance information for each pixel for at least one frame exemplified in FIG. 6C are recorded.
  • the signal processing circuit 160 executes the operations of steps S2500 to S2750 shown in FIG. 37.
  • the operation of each step is as follows.
  • Step S2500 The signal processing circuit 160 generates a distance image in which the distance information of all the pixels is converted into an image format based on the distance of each pixel recorded on the recording medium 150.
  • Step S2710 The signal processing circuit 160 outputs output data based on the distance image generated in step S2500, information common to a plurality of frames recorded on the recording medium 150, correspondence information between blocks and pixels, and time information. Generate. This data includes time information for each block and information indicating the correspondence between the block and the pixel. This data is sent to the point cloud data generation unit 191.
  • FIG. 38A is a diagram showing an example of the format of data output from the signal processing circuit 160 in the distance measuring device 100A. Similar to the example of FIG. 7A, fixed values, which are data common to a plurality of frames, and data different for each frame are output.
  • the fixed value may include, for example, the position of the image sensor 120 in the vehicle, the normal direction of the light receiving surface of the image sensor 120, the angle of view of the image sensor 120, and a value indicating a date.
  • the position of the image sensor 120 can be represented by, for example, a 3-byte value.
  • the normal direction of the light receiving surface can be represented by, for example, a value of 3 bytes.
  • the angle of view can be represented by, for example, a 2-byte value.
  • the date can be represented, for example, as a 2-byte value.
  • the output data for each frame is the data for each block, that is, the number of pixels included in the block, the measurement time of the block, and the distance calculated for each of the plurality of pixels included in the block. Contains information.
  • the number of pixels included in the block can be represented by, for example, 1 byte.
  • the measurement time can be expressed in 5 bytes, for example, in microseconds.
  • the distance of each pixel in the block can be represented, for example, in 1 byte.
  • the output of one frame of data is completed by repeating the data set of the number of pixels for each block, the time, and the distance for each pixel by the number of blocks.
  • the number of blocks is a known fixed value.
  • FIG. 38B shows another example of the output data format.
  • the fixed value includes information on the number of blocks.
  • an ID is assigned to each pixel.
  • the number of blocks can be represented by, for example, 1 byte.
  • the range of a plurality of pixels included in each block, that is, the IDs of the pixels at the start point and the end point can be represented by, for example, 2 bytes.
  • the measurement time corresponding to each block can be represented by, for example, 5 bytes.
  • the measured distance for each pixel can be represented in 1 byte.
  • ID information that identifies each of the plurality of ranging devices 100A may be included in the information common to the plurality of frames.
  • Step S2720 The signal processing circuit 160 outputs the distance image data generated in step S2710 and the data including the measurement time for each block to the point cloud data generation unit 191.
  • the point cloud data generation unit 191 generates point cloud data by integrating a plurality of distance images acquired from the plurality of distance measuring devices 100A. Specifically, the point cloud data generation unit 191 sequentially acquires the distance image data for each block and the measurement time from the plurality of distance measuring devices 100A. In one example, among the acquired distance images of a plurality of frames, the distance images in which the measurement time for each block is within a certain time range are integrated as one "frame" in the point cloud data. In another example, in a one-frame distance image, blocks whose measurement times for each block are within a certain time range are integrated as one "frame" in the point cloud data.
  • the data in one distance image can be divided into multiple "frames" in the point cloud data.
  • the fixed time can be, for example, about 30 milliseconds.
  • the distance for each pixel of the distance image data based on the position and direction information of the image sensor 120 acquired from each distance measuring device 100A.
  • the information is converted into point group data in the three-dimensional coordinates of the vehicle control system 1000.
  • the three-dimensional coordinates can be, for example, three-dimensional coordinates with the center of the vehicle as the origin.
  • the correspondence between the pixels and the blocks in the distance image that is the conversion source of the point group data is generated as the correspondence information between the points and the blocks of the point group data, and the correspondence information between the measurement time of each block and the point group data is generated. Generate.
  • Step S2740 The point cloud data output unit 192 generates the point cloud data generated in step S2730, the correspondence information between the data points and the blocks, and the measurement time information for each block as an output data string. This output data string is sent to the processor 710 in the automatic operation control system 700.
  • FIG. 39A shows an example of the data format of the output data string.
  • the number of blocks is output in 1 byte for each data string, and then for each block, the number of points contained in the block is 1 byte, the time is 5 bytes, and the 3D position information of each point is output. It is output in 3 bytes.
  • FIG. 39B shows another example of the data format of the output data string.
  • the number of blocks is output in 1 byte
  • the total number of points is output in 1 byte
  • the corresponding points of the blocks are output in 2 bytes for the number of blocks
  • the time is 5 bytes and the number of blocks is output. It is output in minutes
  • the three-dimensional position information of each point is output in 3 bytes for all points.
  • an identifier (ID) for each data string may be assigned.
  • the identifier is incremented by 1 for each data string, and may be reset to 0 by a predetermined number.
  • the acquired sensor information may be included in the data string.
  • the number of sensor groups including the image sensor and the fixed value (for example, position, direction, angle of view) of each sensor may be included in the data string.
  • a sensor ID may be assigned to each block as information indicating which sensor of the plurality of sensors each block has acquired.
  • the automatic driving control system 700 performs automatic driving control of the vehicle based on the point cloud data sequentially acquired from the point cloud data acquisition system 200.
  • Various data such as map data are recorded on the recording medium 720 of the automatic operation control system 700.
  • Various types of data may be acquired and updated each time by communication.
  • the processor 710 sends an appropriate command to a plurality of operation systems based on the map data and the point cloud data sequentially acquired from the point cloud data acquisition system 200.
  • the operation system includes, for example, mechanisms such as an accelerator, a brake, and a steering wheel. According to the present embodiment, since the point cloud data acquisition system 200 sends the point cloud data appropriately timed, the possibility of erroneous recognition due to the time error can be reduced.
  • the number of bytes of each data is not limited to the above-mentioned value, and may be another fixed value or may be variable. If it is variable, the byte length may be included in the data separately.
  • synchronization information or a delimiter in a predetermined data format may be used as information indicating a data break for each block, frame, or sensor. When analyzing data, it is possible to analyze the data after acquiring the synchronization information. Data breaks may be indicated by including data length or number of data information in the data, or data breaks may be indicated by combining synchronization information with data length or number of data.
  • Each data may be in packet format. The packet may indicate, for example, the type, length, or data of the packet, and information common to the data may be indicated in the packet header.
  • time auxiliary information required for point cloud integration such as the protocol used for time synchronization or the server information used as the reference, may be added to the output file.
  • the indirect ToF method is used as the method for measuring the distance, but the direct ToF method may be used.
  • the image sensor 120 is replaced with a sensor comprising a two-dimensional array of light receiving elements including a timer counter.
  • the exposure of the image sensor 120 is started at the same time as the light beam is emitted, and the operation of the timer counter is started at the same time.
  • the operation of the timer counter is stopped.
  • the exposure time is defined as a time length equal to or longer than the time length corresponding to the maximum distance that the light beam can reach and the reflected light can be received, and the distance is infinite if no light is received within the exposure time. Since the direct ToF method captures a small amount of light and measures the time, the measured value is determined by a method such as performing distance measurement multiple times during actual distance measurement and taking the average value of the obtained time lengths. May be good. Similar to the above-described embodiment, the projection time of the light beam can be set as the measurement time of each block. When measuring the distance by multiple projections, the measurement time is the median value of the projection time of the first light beam, the projection time of the last light beam, or the projection time of all the light beams in the direction. Can be set as.
  • the point cloud data may be encoded or compressed and output.
  • the file formats shown in FIGS. 40A and 40B may be used.
  • a time ID is added to the position information of the point instead of the time information itself, and the actual time of each time ID is described in another area (for example, above the header).
  • the total number of times matches the number of blocks in the frame. That is, the range of the time ID is 0 to the number of blocks-1.
  • the amount of data including the redundant part due to the addition of the ID is reduced at the time of compression.
  • the range of time information values is 0 to 599999999, which is a huge 26 bits.
  • the amount of data can be reduced by adding a time ID to each point instead of the time value itself.
  • the number of bits required for the time ID depends on the number of blocks in the frame, but for example, when the number of blocks is 256, it is 8 bits, which is smaller than 26 bits.
  • the time ID is data indicating the correspondence relationship between the block and the points belonging to each block.
  • each distance measuring device does not necessarily have to be configured to output data in which a time is assigned to each block.
  • Each distance measuring device may generate output data in which detailed time is individually assigned to each of a plurality of points, for example.
  • the system acquires data indicating the positions or distances of a plurality of points represented by a three-dimensional coordinate system set for each distance measuring device from the plurality of distance measuring devices, and obtains the data. It is integrated by converting it into point cloud data represented by one three-dimensional coordinate system.
  • Each distance measuring device outputs data including information on the detailed time at the time of distance measurement as well as information on the position or distance.
  • the system generates and outputs four-dimensional point cloud data by integrating detailed time information and three-dimensional position information transmitted from a plurality of distance measuring devices.
  • Such a system may be, for example, a control system for an autonomous vehicle as in Embodiment 6, or a monitoring system that monitors the surrounding environment with a plurality of fixed sensors.
  • the system in the second example is a relatively small server system.
  • the server system may include, for example, an information processing device mounted on the fixed body system 400 shown in FIG. 2 as a server.
  • Such a server system may further include a plurality of terminal systems located around the fixed body system 400.
  • Each terminal system may be, for example, a system as in the first example.
  • each terminal system is configured to output point cloud data represented in its own coordinate system.
  • the server integrates the point cloud data to generate new point cloud data. At this time, the server generates four-dimensional data including the detailed time assigned to each point in addition to the position of the point cloud.
  • the server acquires data indicating the position and orientation of each terminal system.
  • the server has data indicating the position of the origin of the coordinate system of each terminal system in the coordinate system of the server and data indicating the rotation angle of the coordinate system of each terminal system with respect to the coordinate system of the server. get.
  • the position of each terminal system may be generated from the point cloud data obtained by the distance measuring device group included in the server itself or the peripheral fixed system. There may be overlap in the four-dimensional point cloud data output by multiple systems. If the point clouds have the same distance measurement time, or the difference in distance measurement time is very small (for example, 10 ⁇ sec or less), but the position of those point clouds is large, the data of any point is reliable. It is considered to be of low sex.
  • the reliability may be obtained for each point group in the system unit or for each data point based on the state of each system, and the point groups may be integrated according to the reliability. For example, a data point with low reliability may be merged with a data point with high reliability.
  • the integration of the first measurement data and the second measurement data is the first measurement of the data that overlaps each other in the spatiotemporal region in the first measurement data and the second measurement data. It may include merging based on the reliability of the data and the reliability of the second measurement data.
  • the reliability can be determined, for example, based on at least one of (a) to (c) below.
  • the server in the second example can be a local server for traffic condition monitoring installed on a fixed body such as a traffic light or a street light.
  • the server may be a server in a security system that includes a plurality of security robots. Such security systems can be used, for example, for monitoring buildings.
  • the server may generate point cloud data by integrating the data transmitted from the cameras mounted on the plurality of security robots.
  • the system in the third example includes a server that performs relatively large-scale operations, such as the server 500 shown in FIGS. 1 and 2.
  • the server in this example (hereinafter referred to as "large-scale server”) includes data output from a terminal system as in the first example and data output from a small-scale server as in the second example. To get.
  • the large-scale server stores map data over a wide area.
  • the large-scale server integrates the point group data acquired from each terminal system and each small-scale server based on the map data and the position and orientation data of each terminal system and the small-scale server. For example, a large-scale server converts the position of each point in each acquired point cloud data into a position in a three-dimensional coordinate system common to the map data and integrates them.
  • point cloud data there may be a contradiction between the arrangement of structures such as buildings shown in the map data and the data points acquired from the terminal system or small server.
  • data points inconsistent with the position of the structure shown in the map data may be deleted, and the reliability of the point group data including the deleted data points may be lowered. If the point clouds have the same distance measurement time, or the difference in distance measurement time is very small (for example, 10 ⁇ s or less), but the position of those point clouds fluctuates greatly, the reliability of the data at any of the points It is considered to be of low sex.
  • the reliability of the position data of each point may be obtained as a function of the spatial density of the data points, and the reliability may be recorded as additional information of the point cloud data.
  • the data points may be merged based on reliability, as in the second example.
  • the reliability is based on, for example, the relationship between the positions of a plurality of points shown in the measurement data and the positions of one or more structures shown in the map data. Can be decided. For example, if there are points inconsistent with the map data in the point cloud data output from the terminal system or the small-scale server, the reliability may be determined according to the ratio of the inconsistent points.
  • a specific example of a large-scale server may be a server that monitors and records the dynamic state of a plurality of mobile objects, such as a server installed in a traffic information center.
  • the large-scale server may be a server installed in a security center such as a building.
  • each distance measuring device adds detailed time data to the measurement data and outputs it.
  • the server that acquires the data acquires the measurement time of the data point in a time unit (for example, in microsecond units) that is more detailed than the frame interval (for example, 33 milliseconds interval) that is the output time unit of each distance measuring device. it can.
  • the server integrates the three-dimensional position data acquired from a plurality of distance measuring devices as four-dimensional data obtained by adding the time data. Since detailed time information can be obtained for each point or block, it is not necessary to synchronize the frame operation between a plurality of distance measuring devices or a plurality of systems including the distance measuring devices.
  • the data can be integrated without being constrained by the time unit of the output frame.
  • any region can be extracted and processed from the spatiotemporal coordinate data generated by the integration. This makes it possible to reproduce or analyze the state of the environment in detail.
  • the movement status of an object can be extracted in microsecond units.
  • FIG. 41 is a block diagram showing the configuration of the vehicle control system 1000 in the first example.
  • the automatic operation control system 800 includes a receiving device 810, a processor 820, a recording medium 830, and an output interface 840.
  • the distance measuring device 100Ai has the same configuration as the distance measuring device 100 in any one of the first to fifth embodiments. However, the distance measuring device 100Ai in the present embodiment outputs the distance image data and the detailed time data for each pixel.
  • the plurality of distance measuring devices 100Ai all have the same function and are arranged at different positions of the vehicle. Each ranging device 100Ai is wirelessly or wiredly connected to the receiving device 810.
  • the receiving device 810 acquires data output by a plurality of ranging devices 100Ai.
  • the receiving device 810 acquires data common to frames and data different for each frame from each ranging device 100Ai.
  • the data common to the frames includes, for example, data indicating the position and orientation of the distance measuring device 100Ai.
  • the data different for each frame includes distance image data and detailed time data at the time of distance measurement for each pixel.
  • the processor 820 converts the output data from the distance measuring device 100Ai sequentially acquired by the receiving device 810 into point cloud data represented by one unified coordinate system by executing the program stored in the recording medium 830. To do. Specifically, the distance image data is converted into point cloud data represented by the unified coordinate system of the vehicle based on the position and direction information of the distance measuring device 100Ai output from each distance measuring device 100Ai. ..
  • the unified coordinate system for example, a coordinate system in which the center of gravity of the vehicle is the origin and the plane including the x-axis and the d-axis in the depth direction is parallel to the horizontal plane can be used.
  • the processor 820 further performs recognition processing of the surrounding environment based on the generated point cloud data and the map data stored in the recording medium 830. Then, the processor 820 determines the operation of the vehicle based on the recognition result, and outputs a control signal to the operation system such as the steering wheel, the engine, and the brake.
  • the recording medium 830 stores four-dimensional data generated by the processor 820, which is a combination of the position of the point cloud represented by the unified coordinate system and the detailed measurement time of each point.
  • FIG. 42 shows an example of the contents stored in the recording medium 830. In the example of FIG. 42, the four-dimensional information of each point is recorded in association with the information indicating which distance measuring device each point is obtained by.
  • the operation in the present embodiment is the same as the operation in the sixth embodiment described with reference to FIG. 37. However, the present embodiment differs from the sixth embodiment in the following points.
  • the processor 190 provided separately from the vehicle control system 1000 integrates a plurality of distance image data output from the plurality of distance measuring devices 100A into one point cloud data.
  • the processor 820 in the automatic driving control system 800 executes the above integrated processing.
  • the receiving device 810 in the automatic operation control system 800 acquires the distance image data to which the detailed time data output in step S2720 is added from the plurality of distance measuring devices 100Ai.
  • the processor 820 integrates these data into one point cloud data.
  • FIG. 43 is a block diagram showing the configuration of the traffic information system 2000 in the second example.
  • the traffic information system 2000 includes a plurality of vehicle control systems 1000 and a fixed body system 400.
  • the fixed body system 400 includes a plurality of distance measuring devices 100A, a communication circuit 420, a processor 430, and a recording medium 440.
  • Each vehicle control system 1000 corresponds to the vehicle control system 1000 in the first example. In FIG. 43, for simplicity, components are shown only for one of the plurality of vehicle control systems 1000.
  • Each vehicle control system 1000 includes a communication circuit 840 in addition to the plurality of distance measuring devices 100Ai, a processor 820, and a recording medium 830 described above.
  • the communication circuit 840 can perform wireless communication with the communication circuit 420 in the fixed system 400.
  • Each vehicle control system 1000 outputs four-dimensional point cloud data recorded on the recording medium 830.
  • the output data may include data indicating the position, traveling speed, and traveling direction of the vehicle in addition to the four-dimensional point cloud data.
  • the output is, for example, periodic.
  • point cloud data can be output once every 33 msec.
  • the output timing of the point cloud data may be different for each vehicle control system 1000.
  • the output point cloud data is sent to the fixed body system 400.
  • the traffic information system 2000 is composed only of those located within the limited space around the fixed body system 400.
  • the fixed body system 400 may be installed at one of the traffic lights installed at an intersection.
  • the traffic information system 2000 may include, for example, one or more vehicle control systems 1000 located within a radius of 50 m around the fixed body system 400. If there is no vehicle control system 1000 in the area, the traffic information system 2000 includes only the fixed body system 400.
  • Each distance measuring device 100A in the fixed body system 400 has the same configuration as the distance measuring device 100Ai in the vehicle control system 1000.
  • the communication circuit 420 receives the point cloud data transmitted from the vehicle control system 1000.
  • the communication circuit 420 also transmits the data generated by the processing described later by the processor 430 to the vehicle control system 1000.
  • the processor 430 acquires the point cloud data acquired from the vehicle control system 1000 and the distance image data or the point cloud data output from the distance measuring device 100A, and expresses these data in a fixed three-dimensional coordinate system. Integrate into point cloud data. The processor 430 also generates four-dimensional data in which detailed measurement time data is added to each point of the point cloud data. The processor 430 may further perform processing for recognizing or analyzing the surrounding environment for each time based on the four-dimensional data, and generate data indicating the processing result.
  • the recording medium 440 stores the point cloud data acquired by the communication circuit 420 and the distance image data acquired by each distance measuring device 100A. Further, the recording medium 440 stores the four-dimensional data generated by the processor 430.
  • FIG. 44 is a flowchart showing an example of the operation executed by the processor 430 in the fixed body system 400.
  • the processor 430 integrates the data sequentially acquired from the plurality of vehicle control systems 1000 and the plurality of ranging devices 100A by executing the operations of steps S5110 to S5220 shown in FIG. 44, and is represented by a four-dimensional coordinate system. Generate data. The operation of each step will be described below.
  • Step S5110 the processor 430 determines the presence or absence of an end signal instructing the end of the operation input from the input means (not shown). If the end signal is input in step S5110, that is, if yes in step S5110, the operation ends. If the end signal is not input in step S5110, that is, if no in step S5110, the process proceeds to step S5120.
  • Step S5120 Processor 430 determines if there is data to process. Specifically, it is determined whether the communication circuit 420 has received the output data from the vehicle control system 1000, or whether the distance measuring device 100A has output the data. If the communication circuit 420 receives the data in step S5120, or if the ranging device 100A outputs the data, the process proceeds to step S5130. If the communication circuit 420 has not received the data in step S5120 and there is no data output by the ranging device 100A, the operation of step S5120 is repeated.
  • Step S5130 The processor 430 acquires the data received by the communication circuit 420 or the data output by the ranging device 100.
  • the data to be acquired is, for example, point cloud data or distance image data.
  • this acquired data will be referred to as "distance measurement data”.
  • Step S5140 The processor 430 determines whether or not unprocessed data remains among the ranging data acquired in step S5130. If unprocessed data remains in step S5140, the process proceeds to step S5150. If no unprocessed data remains in step S5140, the process returns to step S5120.
  • Step S5150 The processor 430 determines whether the data to be processed is the data from the mobile body, that is, the vehicle control system 1000, or the data from the fixed body, that is, the distance measuring device 100A. If the data to be processed in step S5150 is data from a mobile body, the process proceeds to step S5160. If the data to be processed in step S5150 is the data generated by the fixed body, the process proceeds to step S5190.
  • the processor 430 extracts the detailed time corresponding to each data point of the distance measurement data to be processed.
  • the processor 430 further acquires the position data at the extracted detailed time of the vehicle control system 1000 that outputs the distance measurement data to be processed.
  • the position data of the vehicle control system 1000 for example, the position data acquired from GPS may be used. In that case, the vehicle control system 1000 outputs the position data acquired from GPS as a fixed value for each frame, for example.
  • the processor 430 may calculate the position of the vehicle control system 1000 at each detailed time by linearly interpolating the movement of the position between two consecutive frames based on the time width of the frame interval.
  • Step S5170 The processor 430 determines whether or not the distance measurement data obtained by the distance measurement device 100A in the fixed body system 400 includes the distance measurement data acquired at a time in the vicinity of the detailed time. The time in the vicinity may be, for example, about 500 ⁇ s before and after the detailed time. If there is distance measurement data by the distance measuring device 100A in step S5170, the process proceeds to step S5180. If there is no distance measurement data by the distance measuring device 100A in step S5170, the process proceeds to step S5190.
  • Step S5180 The processor 430 generates point cloud data based on the distance measurement data by the distance measurement device 100A identified in step S5170.
  • the processor 430 clusters the data points and extracts the cluster corresponding to the vehicle closest to the position of the vehicle control system 1000 determined in step S5160. Then, the position of the vehicle control system 1000 is changed to the coordinates of the center of gravity of the extracted cluster.
  • Step S5190 The processor 430 converts the coordinate value of each data point into the coordinate value in the fixed coordinate system of the fixed body system 400.
  • the coordinates of the vehicle control system 1000 are set based on the position of the vehicle control system 1000 determined by the operations from step S5160 to step S5180.
  • the processor 430 converts the position coordinates of each data point represented by the coordinate system of the vehicle control system 1000 into the position coordinates represented by the fixed coordinates of the fixed body system 400.
  • Step S5200 The processor 430 generates the point cloud data as four-dimensional data by adding the detailed time corresponding to each data point to the point cloud data integrated in the fixed coordinate system in step S5190. Then, from the four-dimensional data, the point cloud data at the time corresponding to the data to be processed and its vicinity (for example, about 500 ⁇ s before and after) is extracted.
  • Step S5210) The processor 430 clusters the point cloud data extracted in step S5200. Areas where the density of data points is low around the cluster and points not included in any cluster are distributed are considered to be misaligned data points.
  • the processor 430 determines which vehicle control system 1000 or distance measuring device 100A is derived from the data points included in the cluster and the misaligned data points, and extracts the reliability of those data points.
  • Processor 430 recreates the cluster with only reliable data points. For unreliable data points included in data points that are misaligned from the original cluster, set the movement vector so that the number of data points that overlap with the recreated cluster is maximized, and move the three-dimensional position. , Merge the point cloud into the cluster.
  • Step S5220 The processor 430 records the four-dimensional point cloud data on the recording medium 440, including the data points moved in step S5220.
  • the point cloud data from the plurality of vehicle control systems 1000 that are sequentially input and the distance data from the distance measuring device 100A that is sequentially generated are used to obtain the fixed body system 400. It is possible to generate four-dimensional point cloud data including detailed time information in the surrounding environment.
  • the generated four-dimensional point cloud data can be transmitted to each of the vehicle control systems 1000 located around the fixed body system 400, for example, within a radius of 50 meters.
  • the processor 430 may output a processing result based on the point cloud data, for example, data indicating a moving object recognition result.
  • the data showing such a recognition result may include, for example, a label that identifies a moving body such as a vehicle, a person, or a bicycle, position information of the moving body, and movement vector information.
  • the reliability in step S5210 can be determined by the following factors. For example, the higher the moving speed of the system equipped with the distance measuring device, the lower the reliability can be set. In addition, based on the direction of the sun, the date and time, and the time in fixed coordinates, it is determined whether or not the sunlight was measured under the condition that it is incident on the sensor of the distance measuring device, and it is possible that the distance was measured under such condition. The reliability may be set low for a certain point cloud.
  • the traffic information system has the same configuration as the system described with reference to, for example, FIGS. 1 and 2.
  • the traffic information system includes a plurality of mobile bodies 300, a plurality of fixed body systems 400, and a server 500.
  • the number of each of the moving body 300 and the fixed body system 400 is arbitrary.
  • Each of the mobile bodies 300 includes a plurality of distance measuring sensors 310 arranged at different positions and postures, and a communication circuit 320.
  • each of the fixed body systems 400 includes a plurality of ranging sensors 410 arranged at different positions and orientations, and a communication circuit 420.
  • Each of the distance measuring sensors 310 and 410 measures the distance in the same manner as the distance measuring device in any of the above-described embodiments, and generates a distance image or data indicating a three-dimensional point cloud.
  • the generated data is transmitted to the server 500 by the communication circuits 320 and 420.
  • the fixed body system 400 may aggregate the distance measurement data from the surrounding mobile units 300 and transmit the data to the server 500.
  • each fixed body system 400 acquires data from one or more moving bodies 300 located in the surroundings, and the acquired data and data output from one or more ranging sensors 410 provided by the fixed body system 400. And are integrated to generate one point cloud data and send it to the server 500.
  • the fixed body system 400 acquires data from each sensor 410 of the moving body 300.
  • the data integration process by each fixed system 400 is executed by the processor 430 in the fixed system 400.
  • the processor 430 performs the data integration process by executing the program stored in the recording medium 440.
  • the data integration process by the processor 430 is the same as the process in the second example.
  • the server 500 includes a processor 520, a recording medium 540, and a communication circuit 560.
  • the processor 520 sequentially acquires data via the communication circuit 560 and records the data on the recording medium 540.
  • the processor 520 generates integrated point cloud data at a specific time and a specific location by performing necessary processing such as time matching and coordinate conversion of the acquired data.
  • FIG. 46 is a flowchart showing an example of the operation of the server 500.
  • the processor 520 of the server 500 executes the operations of steps S6110 to S6160 shown in FIG. 46.
  • the processor 520 uses one four-dimensional coordinate system, that is, a coordinate system in which time is added to three-dimensional position coordinates, based on the point cloud data or distance image data sequentially acquired and the time data of each point. Generate the point cloud data represented by. The operation of each step will be described below.
  • Step S6110 the server 500 determines the presence or absence of an end signal instructing the end of the operation input from an input device (not shown). If the end signal is input in step S6110, the operation ends. If the end signal is not input in step S6110, the process proceeds to step S6120.
  • Step S6120 The processor 520 determines whether the communication circuit 560 has received the output from the mobile 300 or the fixed system 400. If the output from the mobile body 300 or the fixed body system 400 is received in step S6120, the process proceeds to step S6130. If neither the output from the mobile body 300 nor the output from the fixed body system 400 is received in step S6120, step S6120 is repeated.
  • Step S6130 The processor 520 acquires the output data from the mobile 300 or the fixed system 400 received by the communication circuit 560 in step S6120.
  • Step S6140 The processor 520 extracts information on the position and direction of the moving body 300 or the fixed body system 400 at the time when the distance measurement is performed from the data acquired in step S6130.
  • the position and direction information can be, for example, GPS information.
  • the processor 520 further acquires detailed time data on which distance measurement has been performed.
  • the processor 520 converts the distance image data into point cloud data.
  • the processor 520 converts the distance value of the pixels in the distance image having a valid distance value into the position coordinates represented by the coordinate system peculiar to the moving body 300 or the fixed body system 400. This conversion is based on information about the position and orientation of the mobile 300 or fixed system 400.
  • Step S6150 The processor 520 converts the point cloud data represented by the coordinate system specific to the moving body 300 or the fixed body system 400 acquired or generated in step S6140 into the point cloud data represented by the absolute coordinate system unique to the server 500. Convert.
  • the absolute coordinate system is, for example, three-dimensional coordinates represented by latitude, longitude, and altitude. Altitude indicates the height above the surface of the earth or sea.
  • the processor 520 performs coordinate conversion of the point cloud data based on the position of the moving body 300 or the fixed body system 400 acquired in step S6140 in the absolute coordinate system.
  • the position of the mobile 300 or fixed system 400 can be represented, for example, by latitude and longitude and height above the surface of the earth.
  • the coordinate system specific to the moving body 300 or the fixed body system 400 may be composed of, for example, an x-axis parallel to the ground surface, a y-axis parallel to the vertical direction, and a d-axis parallel to the ground surface and perpendicular to the x-axis. ..
  • the processor 520 converts, for example, the origin of the y-axis to coincide with the height of the moving body 300 or the fixed body system 400 and the direction of the d-axis to coincide with the direction of the moving body 300 or the fixed body system 400.
  • Step S6160 The processor 520 adds the detailed time data of the distance measurement at each point to the three-dimensional data (latitude, longitude, altitude) expressed in the absolute coordinate system generated in step S6160 (latitude, longitude, altitude, time). ) Is recorded on the recording medium 540. After step S6160, the process returns to step S6110.
  • the server 500 accumulates point cloud data including detailed time information expressed in four-dimensional coordinates (latitude, longitude, altitude, time).
  • the server 500 may receive a command from an external device requesting analysis of the accident situation at a specific date and time and a specific location.
  • the processor 520 acquires the data of the corresponding date and time and place from the recording medium 540, generates the data according to the request, and outputs the data.
  • FIG. 47 is a flowchart showing an example of the operation when the server 500 receives the request for analysis of the accident situation.
  • the processor 520 in the server 500 outputs data indicating the requested traffic condition in the spatiotemporal region by executing the operations of steps S6510 to S6560 shown in FIG. 47. More specifically, the processor 520 extracts a corresponding region from the four-dimensional data (latitude, longitude, altitude, time) of a plurality of points stored in the recording medium 540, and the position within the region and the position within the region and By tracking the object based on the detailed time information, data showing the traffic condition in the spatiotemporal region is generated and output. The operation of each step will be described below.
  • Step S6510 First, in response to an analysis request signal input from an external device, the processor 520 uses the spatiotemporal region to be extracted from the four-dimensional data (latitude, longitude, altitude, time) stored in the recording medium 540. To determine.
  • the analysis request signal includes information for narrowing down the space-time.
  • the analysis request signal may include information that specifies a spatial range, such as a character string indicating an address or information that specifies a point on a map.
  • an approximate time for example, time information in hours or minutes, may be included in the analysis request signal by an input means such as a character string or a clock display.
  • Processor 520 identifies the road or road-like facility closest to the input location.
  • a region within a predetermined range from the specified position, for example, within a radius of 50 m is determined as a spatial region. Further, the processor 520 determines a region within a predetermined time range, for example, 30 minutes before and after, as a time domain, centered on the input time.
  • Step S6520 The processor 520 reads the data of the points included in the space-time region determined in step S6510 from the recording medium 540.
  • Step S6530 The processor 520 extracts a point cloud indicating a moving body from the point cloud indicated by the four-dimensional data (latitude, longitude, altitude, time) read in step S6520.
  • a four-dimensional voxel can be set, and the data points in the voxel whose points in the voxel fluctuate greatly with the passage of time can be regarded as the data points of the moving body.
  • the space represented by three dimensions is divided into a plurality of regions. Each region is, for example, a voxel with a side length of 30 cm.
  • Voxels may be set only in the area excluding the area where the building is known to exist from the map data. For each set voxel, for example, every 500 msec is divided on the time axis, and the number of data points existing in the voxel is acquired for each 500 msec. Voxels in which the number of data points fluctuates at intervals of 500 ms are extracted as voxels containing mobile objects. Here, when the fluctuation in the number of data points is larger than the fluctuation in the number of data points due to noise, the voxel is extracted as including a moving object.
  • the voxel when the number of data points in a voxel representing a specific spatial area is counted every 500 ms, if the minimum number of data points is 30% or less of the maximum number of data points, that is the case. It may be determined that the voxel contains a moving object. When a moving object passes through a specific spatial region, the number of point clouds indicating the moving object in the region gradually increases from 0, reaches a maximum value, and then decreases to 0 again. Even in the absence of moving objects, there are point clouds due to stationary objects or noise. Therefore, the presence or absence of a moving body can be determined based on the time change of the number of data points in the voxel indicating a specific region.
  • Step S6540 Processor 520 generates a distribution of data points acquired for each 30 msec, eg, every 30 msec, for all spatial voxel regions extracted as voxels containing mobiles in step S6530.
  • the data distribution for each 30 msec is clustered, and recognition processing is performed for each cluster. Based on characteristics such as the position, size, and moving speed of the cluster, it is recognized whether the cluster corresponds to, for example, a car, a bicycle, or a person.
  • Step S6550 The processor 520 generates tracking data for each of the clusters of mobiles recognized in step S6540, which are recognized as automobiles, bicycles, or people.
  • the tracking data can be data of a four-dimensional coordinate group in which information on the area occupied by the point cloud of the cluster in the three-dimensional space and information on the detailed time read in step S6520 are combined.
  • Step S6560 The processor 520 outputs the tracking data generated in step S6550.
  • the tracking data may be transmitted to a display device used by the user who input the analysis request signal or an external system which input the analysis request signal.
  • the processor 520 extracts a part of the point cloud data corresponding to the spatiotemporal region specified by the analysis request signal from the integrated point cloud data.
  • Processor 520 also extracts point cloud data corresponding to one or more mobiles from the integrated point cloud data. Then, tracking data showing the change over time in the position of the moving body is generated.
  • the processor 520 may configure the extracted point cloud data into a plurality of frames of data sampled at a predetermined cycle.
  • the position of a moving body such as a car, a bicycle, or a person can be specified with a fine time resolution in units of microseconds, for example.
  • information such as an accurate position, moving direction, and moving speed of each moving body at the time of collision can be verified after the fact.
  • the cause of the accident can be identified, and the convincingness of the ratio of responsibility of the parties can be improved.
  • the distance data measured by a plurality of distance measuring devices and the time information given to the distance data are combined.
  • the case of generating point cloud data using this method has been described.
  • the signal processing using the output data is not limited to the processing for integrating the above distance data.
  • the signal processing using the output data may be performed by the server 500 of FIG. 2, or may be performed by the signal processing circuit included in the mobile body 300 or the fixed body system 400. Further, it may be carried out by the signal processing circuit 160 included in the distance measuring device 100 or 100A.
  • the distance data or the three-dimensional point cloud data to which the measurement time information is given is data measured by a distance measuring device having a configuration different from that of the distance measuring device described in each of the above embodiments. May be good.
  • it may be data measured by a distance measuring device that measures distance using wireless radio waves such as millimeter waves, or measurement that performs distance measurement using two-dimensional images acquired by one or more cameras. It may be data measured by a distance device.
  • the distance measuring device that measures the distance using radio waves such as millimeter waves
  • a plurality of distance measurement data or three-dimensional point group data generated from the signal received by the receiving antenna of the above may be stored as one block.
  • measurement time information such as the emission time of the radio wave beam or the reception time of the reflected beam is added to each block data.
  • the method and apparatus for generating distance measurement data described for each embodiment of the present disclosure can be applied to any active distance measurement method for performing distance measurement by emitting electromagnetic waves such as light or radio waves.
  • the time information is given in smaller data units as compared with the case where one measurement time information is given to the distance measurement data or the point cloud data of the entire area to be distance measurement. Will be done. Therefore, when signal processing such as integration with other data is performed using the output data, it is possible to obtain effects such as easy processing or improvement in quality or reliability of the processing result.
  • the measurement time information may be added to each block by using the distance data or the three-dimensional point cloud data of a plurality of points acquired by emitting one or a plurality of beams as blocks. As a result, the size of the output data can be reduced as compared with the case where the measurement time information is given in a finer data unit such as a pixel unit.
  • the technology of the present disclosure can be widely used in a device or system for distance measurement.
  • the technique of the present disclosure can be used as a component of a LiDAR (Light Detection and Ringing) system.
  • Vehicle control system 100
  • Distance measuring device 110
  • Beam scanner 120
  • Image sensor 130
  • Control circuit 140 Clock 150
  • Recording medium 160
  • Signal processing circuit 161
  • Distance measurement unit 162
  • Distance image generator 163
  • Point group data generator 169
  • Output unit 190
  • Processor 200
  • Point group data Acquisition system 300
  • Mobile unit 310
  • Distance measurement sensor 320
  • Communication circuit 400
  • Fixed body 410
  • Distance measurement sensor 420
  • Communication circuit 500
  • Server 520
  • Processor 540
  • Recording medium 600
  • Automatic operation control system 710
  • Information processing device 720 Recording medium

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

測距装置は、複数の光ビームを異なる方向および異なるタイミングでシーンに向けて出射する発光装置と、複数の受光素子のアレイを含み、各光ビームの出射によって生じた前記シーンからの反射光を前記複数の受光素子によって検出する受光装置と、前記受光装置から出力された信号に基づいて、前記シーン中の複数の点の位置または距離を示す計測データを含む出力データを生成して出力する信号処理回路と、を備える。前記出力データは、各々が前記複数の点のうちの一部の点の前記計測データ含む複数のブロックのデータを含む。前記複数のブロックの各々に個別の時刻データが付与されている。

Description

測距装置、情報処理方法、および情報処理装置
 本開示は、測距装置、情報処理方法、および情報処理装置に関する。
 従来、光で空間を走査(スキャン)し、物体からの反射光を受光して物体までの距離を計測する種々のデバイスが提案されている。対象シーンの距離情報は、例えば3次元の点群(point cloud)のデータに変換され、利用され得る。点群データは、典型的には、シーン中で物体が存在する点の分布が3次元座標で表現されたデータである。
 特許文献1および2は、光ビームによって空間を走査し、光センサによって物体からの反射光を検出することで物体までの距離情報を取得するシステムを開示している。当該システムは、点群データの各点に計測時刻が対応付けられた情報を生成して出力する。
 特許文献3および4は、光ビームによって空間を走査し、イメージセンサによって物体からの反射光を受光して距離情報を取得する装置を開示している。
特開2011-170599号公報 特開2009-294128号公報 特開2016-224062号公報 米国特許出願公開第2018/0217258号明細書
 本開示は、距離データまたは距離画像の取得および処理に関する技術を提供する。例えば、本開示の一態様は、複数の装置によって個別に生成された距離画像データまたは点群データの統合を容易にする技術を提供する。また、本開示の一態様は、距離画像データまたは点群データと他のデータとの統合を容易にする技術を提供する。
 本開示の一態様に係る測距装置は、複数の光ビームを異なる方向および異なるタイミングでシーンに向けて出射する発光装置と、複数の受光素子のアレイを含み、各光ビームの出射によって生じた前記シーンからの反射光を前記複数の受光素子によって検出する受光装置と、前記受光装置から出力された信号に基づいて、前記シーン中の複数の点の位置または距離を示す計測データを含む出力データを生成して出力する信号処理回路と、を備える。前記出力データは、各々が前記複数の点のうちの一部の点の前記計測データを含む複数のブロックのデータを含み、前記複数のブロックの各々に個別の時刻データが付与されている。
 本開示の他の態様に係る情報処理方法は、シーン中の複数の点の位置または距離を示す第1の計測データを含む第1の出力データであって、各々が前記複数の点のうちの一部の点の前記第1の計測データを含む複数のブロックのデータを含み、且つ前記複数のブロックの各々に個別の時刻データが付与されている第1の出力データと、前記シーン中の他の複数の点の位置または距離を示す第2の計測データを含み、且つ前記他の複数の点の各々の前記第2の計測データに時刻データが付与されている第2の出力データとを取得し、前記第1の出力データおよび前記第2の出力データから、所定の時刻範囲に含まれる時刻データを有する1つ以上の点の前記第1の計測データおよび1つ以上の点の前記第2の計測データをそれぞれ抽出して同一の座標系に統合することにより、3次元点群データを生成する。
 本開示の他の態様に係る情報処理装置は、プロセッサを備え、前記プロセッサは、複数の受光素子のアレイを含む受光装置によって異なるタイミングで検出された受光データを取得し、前記受光データを基にシーン中の複数の点の位置または距離を示す計測データを生成し、各々が前記複数の点の一部の点の前記計測データを含む複数のブロックのデータを含み、前記複数のブロックの各々に個別の時刻データが付与された出力データを生成し、出力する。
 本開示の包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能な記録ディスク等の記録媒体によって実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意の組み合わせによって実現されてもよい。コンピュータ読み取り可能な記録媒体は、揮発性の記録媒体を含んでいてもよいし、CD-ROM(Compact Disc‐Read Only Memory)等の不揮発性の記録媒体を含んでいてもよい。装置は、1つ以上の装置で構成されてもよい。装置が2つ以上の装置で構成される場合、当該2つ以上の装置は、1つの機器内に配置されてもよく、分離した2つ以上の機器内に分かれて配置されてもよい。本明細書および特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
 本開示の一態様によれば、距離画像データまたは点群データを含むデータの統合が容易になる。
 本開示に含まれる様々な態様における付加的な恩恵および有利な点は本明細書および図面から明らかとなる。この恩恵および/または有利な点のそれぞれは、本明細書および図面に開示された様々な態様または各態様における一部の特徴により個別に提供され得るものであり、恩恵および/または有利な点の1つ以上を得るために特徴の全てが必要ではない。
交通環境を監視するシステムを模式的に示す概念図である。 上記システムの構成例を示すブロック図である。 上記システムにおけるデータの流れの一例を簡略化して示す図である。 実施形態1に係る測距装置の構成を示すブロック図である。 光ビームによって測距対象のシーンが走査される様子を模式的に示す図である。 記録媒体に記録される情報の例を示す第1の図である。 記録媒体に記録される情報の例を示す第2の図である。 記録媒体に記録される情報の例を示す第3の図である。 出力データ形式の一例を示す図である。 出力データ形式の他の例を示す図である。 発光デバイスの一例を模式的に示す斜視図である。 1つの光導波路素子の断面の構造および伝搬する光の例を模式的に示す図である。 光導波路アレイの出射面に垂直な方向に光を出射する光導波路アレイの断面を示す図である。 光導波路アレイの出射面に垂直な方向とは異なる方向に光を出射する光導波路アレイの断面を示す図である。 3次元空間における光導波路アレイを模式的に示す斜視図である。 光導波路アレイおよび位相シフタアレイを、光出射面の法線方向から見た模式図である。 ビームスキャナの他の例を示す図である。 ビームスキャナのさらに他の構成例を示す図である。 ビームスキャナのさらに他の構成例を示す図である。 ビームスキャナのさらに他の例を示す図である。 間接ToF方式による測距方法を説明するための第1の図である。 間接ToF方式による測距方法を説明するための第2の図である。 間接ToF方式による測距方法を説明するための第3の図である。 間接ToF方式による測距方法を説明するための第4の図である。 距離計測部の詳細な機能構成を示すブロック図である。 ブロック範囲記憶部に記録される情報の一例を示す図である。 測距装置の動作の一例を示すフローチャートである。 ステップS2100の動作の詳細を示すフローチャートである。 光ビームの方向と、物体の位置と、反射光のイメージセンサの受光面上への入射位置との関係を示す模式図である。 ブロックの決定方法を説明するための第1の図である。 ブロックの決定方法を説明するための第2の図である。 ブロックの決定方法を説明するための第3の図である。 ブロックの決定方法を説明するための第4の図である。 ブロックの決定方法を説明するための第5の図である。 ブロックの決定方法を説明するための第6の図である。 ビーム径の異なる光ビームの投光による、受光の状態を模式的に示す第1の図である。 ビーム径の異なる光ビームの投光による、受光の状態を模式的に示す第2の図である。 実施形態2における記録媒体に記録される情報の一例を示す図である。 実施形態2におけるブロック範囲記憶部が記憶する情報の一例を示す図である。 フラッシュが出射された場合に、イメージセンサが物体からの反射光を受光する様子を模式的に示す図である。 光ビームが出射された場合に、イメージセンサが物体からの反射光を受光する様子を模式的に示す図である。 フラッシュおよび光ビームが出射された場合に、イメージセンサが物体からの反射光を受光する様子を模式的に示す図である。 実施形態3における記録媒体に記録される情報の一例を示す図である。 実施形態3の測距装置の動作の一部を示すフローチャートである。 実施形態4における記録媒体に記録される情報の一例を示す図である。 実施形態4における測距装置がステップS280において出力する出力データの一例を示す図である。 実施形態5において記録媒体に記録される情報の例を示す図である。 実施形態5において記録媒体に記録される情報の例を示す図である。 実施形態5における測距装置の動作の一例を示すフローチャートである。 実施形態6に係る車両制御システムの構成を示すブロック図である。 実施形態6における測距装置の動作の一部を示す図である。 実施形態6において出力されるデータのフォーマットの一例を示す図である。 実施形態6において出力されるデータのフォーマットの他の例を示す図である。 出力データ形式の他の例を示す図である。 出力データ形式のさらに他の例を示す図である。 符号化された点群データのデータ形式の一例を示す図である。 符号化された点群データのデータ形式の一例を示す図である。 車両制御システムの構成例を示すブロック図である。 車両制御システムの記録媒体に記録されるデータの例を示す図である。 交通情報システムの構成例を示すブロック図である。 固定体システムにおけるプロセッサが実行する動作の一例を示すフローチャートである。 交通情報システムの他の構成例を示すブロック図である。 交通情報システムにおけるサーバの動作の一例を示すフローチャートである。 交通情報システムにおけるサーバが事故状況の解析の要求を受け付けた場合の動作の一例を示すフローチャートである。
 本開示において、回路、ユニット、装置、部材もしくは部の全部または一部、またはブロック図における機能ブロックの全部または一部は、例えば、半導体装置、半導体集積回路(IC)、またはLSI(large scale integration)を含む1つまたは複数の電子回路によって実行され得る。LSIまたはICは、1つのチップに集積されてもよいし、複数のチップを組み合わせて構成されてもよい。例えば、記憶素子以外の機能ブロックは、1つのチップに集積されてもよい。ここでは、LSIまたはICと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(very large scale integration)、もしくはULSI(ultra large scale integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、Field Programmable Gate Array(FPGA)、またはLSI内部の接合関係の再構成またはLSI内部の回路区画のセットアップができるreconfigurable logic deviceも同じ目的で使うことができる。
 さらに、回路、ユニット、装置、部材または部の全部または一部の機能または動作は、ソフトウェア処理によって実行することが可能である。この場合、ソフトウェアは1つまたは複数のROM、光学ディスク、ハードディスクドライブなどの非一時的記録媒体に記録され、ソフトウェアが処理装置(processor)によって実行されたときに、そのソフトウェアで特定された機能が処理装置(processor)および周辺装置によって実行される。システムまたは装置は、ソフトウェアが記録されている1つまたは複数の非一時的記録媒体、処理装置(processor)、および必要とされるハードウェアデバイス、例えばインターフェースを備えていてもよい。
 <後述する実施形態を適用し得る構成の一例>
 以降の実施形態を説明する前に、後述する実施形態を適用し得る構成の一例について説明する。
 図1は、道路の交通環境を監視するサーバ500を含むシステムの一例を模式的に示す概念図である。サーバ500は、車両などの移動体300に搭載された測距装置、および信号機などの固定体システム400が備える測距装置に、ネットワーク600を介して接続される。固定体システム400は、信号機以外の固定体、例えば照明機器、電柱、ガードレールなどの公共物その他のインフラストラクチャに設けられたシステムであってもよい。各測距装置は、光源と光センサとを備え、距離情報を含むセンサデータを逐次生成して出力する。センサデータは、例えば、距離画像または3次元点群を示すデータである。以下の説明において、特に断らない限り、3次元点群を単に「点群」と称する。なお、この例では移動体300および固定体システム400が備える測距装置は、光源と光センサとを備えるが、それらの測距装置の一部または全体は、他の方式で測距を行ってもよい。例えば、ミリ波などの無線電波を用いて測距を行う測距装置を用いてもよいし、一または複数のカメラで取得された2次元画像を用いて測距を行う測距装置を用いてもよい。
 サーバ500は、各移動体300および各固定体システム400から、測距装置の位置および姿勢を示すデータと、センサデータとを取得する。サーバ500は、プロセッサ520と、記録媒体540とを備える。プロセッサ520は、各測距装置から取得したセンサデータを統合して道路環境を示すデータを逐次生成し、記録媒体540に記録する。プロセッサ520は、例えばサーバ500に固有の3次元座標系で表現された点群データを生成する。このようなデータは、例えば事故が生じたときに、事故の原因を調査する目的で利用され得る。
 なお、この例では、サーバ500が移動体300および固定体システム400から測距装置の位置および姿勢を示すデータとセンサデータとを取得するが、取得するデータはセンサデータのみであってもよい。その場合、例えば、サーバ500は各測距装置から取得したセンサデータを用いて各距離装置の位置と姿勢を推定する。
 また、この例では、サーバ500が生成する点群データは、サーバ500に固有の座標系で表現されているが、サーバ500が生成する点群データの座標系はサーバ500に固有である必要はない。例えば、サーバ500に対して、外部から点群データの座標系を指定できるようにしてもよいし、サーバ500が利用する三次元地図データの座標系に点群データの座標系を合わせてもよい。
 図2は、上記のシステムのより詳細な構成例を示すブロック図である。この例におけるシステムは、複数の移動体300と、複数の固定体システム400とを含む。移動体300および固定体システム400の各々の個数は任意である。
 移動体300の各々は、異なる位置および姿勢で配置された複数の測距センサ310と、通信回路320とを備える。同様に、固定体システム400の各々は、異なる位置および姿勢で配置された複数の測距センサ410と、通信回路420とを備える。測距センサ310および410の各々は、測距を行い、距離画像または3次元点群を示すセンサデータを生成する。センサデータは、通信回路320および420によってサーバ500に送信される。
 サーバ500は、プロセッサ520および記録媒体540に加えて、通信回路560を備える。プロセッサ520は、通信回路560を介してセンサデータを逐次取得し、記録媒体540に記録する。プロセッサ520は、取得したセンサデータの時刻照合および座標変換などの必要な処理を行うことにより、特定の時刻および特定の場所における統合された点群データを生成することができる。
 図3は、サーバ500、移動体300、および固定体システム400の動作およびデータの流れの一例を簡略化して示す図である。図3では簡単のため、複数の移動体300がまとめて1つの移動体として表現され、複数の固定体システム400がまとめて1つの固定体として表現されている。移動体300および固定体システム400の各々における測距センサ310および410の各々は、繰り返し測距を行い、シーン中の物体の位置および時刻の情報を含むデータを逐次生成する。それらのデータは、サーバ500に送られる。サーバ500は、取得したデータの時刻照合および座標変換などの必要な処理を行い、記録媒体540に記録する。このような動作が例えば一定の周期で繰り返される。
 サーバ500は、特定の日時および特定の場所における道路環境の解析を要求する指令を外部から受けることがある。その場合、プロセッサ520は、該当する日時および場所のデータを記録媒体540から取得し、要求に応じたデータを生成して出力する。このような動作により、例えば事故原因の解明に役立つデータを取得することができる。
 上記のようなシステムにおいて、逐次生成されるセンサデータを統合して正確な道路環境のデータを生成するためには、各位置のデータが取得された時刻を正確に記録することが重要である。特に車両事故の原因解明のために特定の時刻および特定の場所における物体の正確な位置および移動速度を把握するためには、事故現場における3次元の位置データと、各位置のデータが取得された正確な時刻の情報が要求される。
 対象シーンの距離分布の情報を取得するために、光ビームでシーンを走査してイメージセンサで反射光を検出する測距装置が考えられる。後述するようにToF(Time of Flight)の技術を適用することにより、光ビームによって照射された物体までの距離を計測することができる。光ビームでシーンを走査しながら距離を計測することにより、距離画像データ、または距離画像データから変換された点群データを生成することができる。本開示では、距離画像データまたは点群データのあるひと纏まりを「フレーム」と称することがある。これはイメージセンサから出力される画像データの単位である「フレーム」と一致する場合もあれば、異なる場合もある。距離画像データまたは点群データは、例えば一定のフレームレートで繰り返し生成される。1フレーム分の距離画像データまたは点群データに1つの時刻を対応付けて出力することも可能である。
 例えば、時速60キロメートル(km)で走行している自動車は、1ミリ秒(ms)で約1.66センチメートル(cm)移動する。一般的な動画像は、30fpsすなわち1秒間に30フレームのフレームレートで構成される。すなわち、約33msごとに1フレームが取得される。時速60kmの車両は、33msの間に約55cm移動する。よって、1フレームごとの時刻情報では、車両、歩行者、または自転車等の複数の移動体の位置関係を明確にすることができない可能性がある。
 イメージセンサを用いて距離情報を取得する測距センサには、例えばフラッシュ光を用いた近距離の3次元計測に用いられる。一方で、光径を絞った光ビームを出射して物体からの反射光を検出する方式も存在する。このような方式は、100mを越える長距離の距離情報の取得に向く。以上のような測距センサによれば、投光のタイミングと受光のタイミングとのずれを利用して距離を計測することができる。
 ここで一例として、光径を絞った光ビームでシーンを走査し、反射光をイメージセンサで検出する場合を想定する。光径を絞った状態で出射された光ビームはシーン内の限られた範囲に位置する物体にのみ到達する。そのため、イメージセンサは1つの光ビームを出射する度に狭い範囲に位置する物体のみから反射光を受ける。すなわち、イメージセンサが備える複数の受光素子のうち、当該物体の位置に対応する範囲に位置する一部の受光素子のみが反射光を受ける。光ビームの方向を順次変化させながら反射光を検出するスキャン動作により、イメージセンサが検出可能な範囲の全体について距離情報を得ることができる。このような構成においては、光ビームの出射されるタイミングが方向によって異なる。1回のスキャンが完了する度に1つの距離画像が生成される構成においては、距離画像中の部分によって受光のタイミングが異なる。例えば30fpsで出力される距離画像の場合、画素によって最大で30ms程度の差が生じ得る。
 このように、同一のフレームであっても、距離画像または点群の部分によって測距の時刻が異なる。このため、複数の測距センサから収集したデータをフレーム時刻に基づいて統合する場合、同時刻のフレームのデータを用いたとしてもセンサ間で同一物体の位置情報が異なる可能性がある。この位置情報のずれにより、位置情報の統合が十分に正確ではない可能性がある。
 一方、距離画像データの画素ごと、または点群データの点ごとに詳細な時刻情報を記録する方法も考えられる。そのような方法であれば、前述の問題は回避できる。しかし、距離画像データの画素ごと、または点群データの点ごとに詳細な時刻情報を付与すると、データ量が膨大になり、極めて高速な通信網、および高性能な演算プロセッサが必要となる。
 以下、本開示の実施形態の概要を説明する。
 本開示の一実施形態による測距装置は、発光装置と、受光装置と、信号処理回路とを備える。前記発光装置は、複数の光ビームを異なる方向および異なるタイミングでシーンに向けて出射する。前記受光装置は、複数の受光素子のアレイを含み、各光ビームの出射によって生じた前記シーンからの反射光を前記複数の受光素子によって検出する。前記信号処理回路は、前記受光装置から出力された信号に基づいて、前記複数の受光素子のうち、前記反射光を検出した受光素子にそれぞれ対応する前記シーン中の複数の点の位置または距離を示す計測データを含む出力データを生成して出力する。前記出力データは、各々が前記複数の点のうちの一部の点の前記計測データを含む複数のブロックのデータを含む。前記複数のブロックの各々に個別の時刻データが付与されている。
 各ブロックに付与された前記時刻データは、前記複数の光ビームのうち、前記ブロックに対応する光ビームが出射された時刻を示していてもよい。
 各ブロックに付与された前記時刻データは、前記複数の光ビームのうち、前記ブロックに対応する光ビームの反射光が前記複数の受光素子のいずれかによって受光された時刻を示していてもよい。
 前記発光装置は、出射する光ビームの形状および/または径を変化させることが可能であってもよい。各ブロックに属する前記点の数または範囲は、前記ブロックに対応する光ビームの形状および/または径に応じて異なる。
 前記複数のブロックは、前記時刻データが共通する2つ以上のブロックを含んでいてもよい。
 前記信号処理回路は、前記複数の点の3次元座標の情報を含む点群データを前記出力データとして生成してもよい。
 前記信号処理回路は、前記複数の点の距離分布を示す距離画像データを前記出力データとして生成してもよい。
 前記時刻データは、例えば、マイクロ秒単位またはナノ秒単位で時刻を表現する。
 本開示の他の実施形態による情報処理方法は、各々が上記のいずれかに記載の測距装置である第1の測距装置および第2の測距装置から、前記出力データである第1の出力データおよび第2の出力データをそれぞれ取得し、前記第1の出力データおよび前記第2の出力データの各々から、所定の時刻範囲に含まれる時刻データを有する1つ以上のブロックのデータを抽出して同一の座標系に統合することにより、3次元点群データを生成する。
 本開示のさらに他の実施形態による情報処理方法は、以下のステップを含む。
・シーン中の複数の点の位置または距離を示す第1の計測データを含む第1の出力データであって、各々が前記複数の点のうちの一部の点の前記第1の計測データを含む複数のブロックのデータを含み、且つ前記複数のブロックの各々に個別の時刻データが付与されている第1の出力データを取得する。
・前記シーン中の他の複数の点の位置または距離を示す第2の計測データを含み、且つ前記他の複数の点の各々の前記第2の計測データに時刻データが付与されている第2の出力データを取得する。
・前記第1の出力データおよび前記第2の出力データから、所定の時刻範囲に含まれる時刻データを有する1つ以上の点の前記第1の計測データおよび1つ以上の点の前記第2の計測データをそれぞれ抽出して同一の座標系に統合することにより、3次元点群データを生成する。
 ここで、第2の出力データは、第1の出力データと同様、ブロック毎に個別の時刻データが付与された複数のブロックのデータを含んでいてもよい。あるいは、第2の出力データの点ごとに個別に時刻データが付与されていてもよいし、第2の出力データが示す全ての点について共通の時刻データが付与されていてもよい。上記の「複数の点」と「他の複数の点」との間に、重複する点が含まれていてもよい。
 前記統合は、前記第1の計測データおよび前記第2の計測データの中で、時空間領域で互いに重なりのあるデータを、前記第1の計測データおよび前記第2の計測データの信頼度に基づきマージすることを含んでいてもよい。
 前記信頼度は、例えば、以下の(a)から(d)からなる群から選択される少なくとも1つに基づいて決定され得る。
 (a)前記第1の計測データを生成した第1の計測装置の移動速度、および前記第2の計測データを生成した第2の計測装置の移動速度のうちの少なくとも一方
 (b)前記第1の計測装置および前記第2の計測装置のうちの少なくとも一方の位置および姿勢と、太陽の方向との関係
 (c)前記第1の計測データが示す前記複数の点の空間密度、および前記第2の計測データが示す前記他の複数の点の空間密度のうちの少なくとも一方
 (d)前記第1の計測データが示す前記複数の点の位置、および前記第2の計測データが示す前記他の複数の点の位置のうちの少なくとも一方と、地図データに示された1つ以上の構造物の位置との関係
 前記第1の計測データを計測した第1の計測装置、および前記第2の計測データを計測した第2の計測装置のうちの少なくとも一方は、移動体に搭載され得る。前記統合は、固定体に設けられた、または前記固定体と通信可能な情報処理装置によって実行され得る。前記情報処理装置は、前記移動体が前記固定体から所定の距離範囲に位置するとき、前記第1の計測装置および前記第2の計測装置の前記少なくとも一方から、前記計測データを取得するように構成され得る。
 前記方法は、解析要求信号に応答して、統合された前記3次元点群データのうち、前記解析要求信号が指定する時空間領域に対応する一部の3次元点群データを抽出することをさらに含んでいてもよい。
 前記抽出は、前記一部の3次元点群データを、所定の周期でサンプリングされた複数フレームのデータに構成することを含んでいてもよい。
 前記抽出は、前記3次元点群データのうち、移動体に対応する点群データを抽出することを含んでいてもよい。前記方法は、前記移動体のトラッキングデータを生成することをさらに含んでいてもよい。
 本開示のさらに他の実施形態による情報処理装置は、プロセッサを備える。前記プロセッサは、各々が上記のいずれかに記載の測距装置である第1の測距装置および第2の測距装置から、前記出力データである第1の出力データおよび第2の出力データをそれぞれ取得し、前記第1の出力データおよび前記第2の出力データの各々から、所定の時刻範囲に含まれる時刻データを有する1つ以上のブロックのデータを抽出して同一の座標系に統合することにより、3次元点群データを生成する。
 本開示のさらに他の実施形態による情報処理装置は、プロセッサを備える。前記プロセッサは、以下のステップを実行する。
・シーン中の複数の点の位置または距離を示す第1の計測データを含む第1の出力データであって、各々が前記複数の点のうちの一部の点の前記第1の計測データを含む複数のブロックのデータを含み、且つ前記複数のブロックの各々に個別の時刻データが付与されている第1の出力データを取得する。
・前記シーン中の他の複数の点の位置または距離を示す第2の計測データを含み、且つ前記他の複数の点の各々の前記第2の計測データに時刻データが付与されている第2の出力データとを取得する。
・前記第1の出力データおよび前記第2の出力データから、所定の時刻範囲に含まれる時刻データを有する1つ以上の点の前記第1の計測データおよび1つ以上の点の前記第2の計測データをそれぞれ抽出して同一の座標系に統合することにより、3次元点群データを生成する。
 本開示のさらに他の実施形態による情報処理装置は、プロセッサを備え、前記プロセッサは、以下の動作を実行する。
・複数の受光素子のアレイを含む受光装置によって異なるタイミングで生成された受光データを取得する。
・前記受光データを基にシーン中の複数の点の位置または距離を示す計測データを生成する。
・各々が前記複数の点の一部の点の前記計測データを含む複数のブロックのデータを含み、前記複数のブロックの各々に個別の時刻データが付与された出力データを生成し、出力する。
 本開示のさらに他の実施形態によるデータ生成装置は、3次元データを生成するデータ生成装置であって、前記3次元データは第1の期間に計測された第1の計測データと第2の期間に計測された第2の計測データとを含み、前記第1の計測データは複数のブロックを含み、前記複数のブロックのうちの第1のブロックは、一または複数のビームを照射して測定された複数の点の位置または距離を示す測定データを含み、前記データ生成装置はプロセッサと前記プロセッサに接続されたメモリとを含み、前記プロセッサは、前記複数のブロックのデータを生成し、前記複数のブロックのそれぞれに対応する複数の計測時刻を示す時刻データを生成し、前記複数のブロックのデータおよび前記時刻データを格納した前記3次元データを出力し、前記時刻データはそれぞれのブロックに含まれる複数の点の計測のために出射されたビームの出射時刻に基づいて決定されている。
 本開示のさらに他の実施形態によるデータ処理装置は、3次元データを処理するデータ処理装置であって、前記3次元データは第1の期間に計測された第1の計測データと第2の期間に計測された第2の計測データとを含み、前記第1の計測データは複数のブロックを含み、前記複数のブロックのうちの第1のブロックは、一または複数のビームを照射して計測された複数の点の位置または距離を示す測定データを含み、前記データ処理装置はプロセッサと前記プロセッサに接続されたメモリとを含み、前記プロセッサは、前記メモリに格納された前記3次元データを読み出し、前記3次元データは、前記複数のブロックのデータおよび前記複数のブロックのそれぞれに対応する複数の計測時刻を示す時刻データを含み、前記複数のブロックのデータおよび前記時刻データを用いて第2の3次元データを生成し、前記時刻データはそれぞれのブロックに含まれる複数の点の計測のために出射されたビームの出射時刻に基づいて決定されている。
 以下、本開示の実施形態について、より具体的に説明する。なお、以下で説明する実施形態は、いずれも包括的または具体的な例を示すものである。以下の実施形態で示される数値、形状、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は模式図であり、必ずしも厳密に図示されたものではない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略または簡略化される場合がある。
 [実施形態1]
 実施形態1に係る測距装置を説明する。実施形態1に係る点群データ取得システムは、測距対象のシーンに向けて光ビームを出射するビームスキャナと、シーン中の物体からの反射光を検出するイメージセンサと、ビームスキャナによる投光およびイメージセンサによる光検出の動作を制御する制御回路と、時刻情報を生成するクロックと、イメージセンサから取得した信号および制御回路から取得した信号に基づいてシーン中の物体の分布を示すデータを生成する信号処理回路と、生成されたデータを記録する記録媒体とを備える。制御回路は、ビームスキャナによる投光のタイミングと、イメージセンサによる受光のタイミングとを詳細な時刻情報として記録媒体に記録する。信号処理回路は、イメージセンサから取得した信号および制御回路から取得した信号に基づいて画素ごとに距離を計算する距離計算部と、計算された画素ごとの距離に基づいて距離画像のデータを生成する距離画像生成部と、距離画像の各画素の距離情報を点群データに変換する点群データ生成部とを含む。信号処理回路は、点群のうち、同時刻に距離情報が取得された複数の点を1つのブロックとして、点群を複数のブロックに分類し、ブロックごとに時刻情報を付与して出力する。
 [1-1 点群データ取得システムの構成]
 図4は、実施形態1に係る測距装置100の構成を示すブロック図である。図4に示されるように、測距装置100は、ビームスキャナ110と、イメージセンサ120と、制御回路130と、クロック140と、記録媒体150と、信号処理回路160とを備える。信号処理回路160は、距離計測部161と、距離画像生成部162と、点群データ生成部163と、出力部169とを含む。
 ビームスキャナ110は、光ビームを出射する発光装置の一種である。ビームスキャナ110は、例えばレーザ光源を含む。ビームスキャナ110は、制御回路130からの指令に応答して、光ビームを指定された方向に出射する。一例において、ビームスキャナ110は、対象シーンを光ビームで走査する動作を繰り返す。他の例において、ビームスキャナ110は、所定のトリガを受けて、対象シーンにおける特定の領域を走査する動作を行う。ビームスキャナ110は、1回の走査を所定の時間内に実行する。この時間を「フレーム時間」と称する。ビームスキャナ110は、フレーム時間内に、複数の光ビームを異なる方向に順次出射する。各フレームにおけるフレーム時間、および光ビームの出射回数は同一とは限らず、フレーム毎に異なる場合もある。
 イメージセンサ120は、受光装置の一種であり、受光面に沿って2次元に配列された複数の受光素子のアレイを備える。イメージセンサ120の受光面に像を形成するレンズなどの光学部品も設けられ得る。イメージセンサ120は、出射された光ビームの経路上に位置する物体からの反射光を受ける。各受光素子は、フォトダイオードなどの光電変換素子および1つ以上の電荷蓄積部を含み、受けた光の強度に応じて電荷を蓄積する。以下の説明において、受光素子を「画素」と称することがある。イメージセンサ120は、制御回路130からの指令に応答して、各受光素子に電荷を蓄積させ、蓄積された電荷の量に応じた電気信号を出力する。1つの光ビームの反射光を受ける受光素子は、全受光素子のうちの一部のみである。光ビームが異なる方向に繰り返し出射され、その都度、異なる受光素子群によって反射光が検出される。光ビームの出射方向のパターンおよび順序は、予め設定されている。その予め設定された一連の光ビームの出射に起因して生じた反射光ビームを検出することにより、イメージセンサ120は1フレームのデータを生成する。本実施形態では、イメージセンサ120が検出可能なシーンの全域について光ビームによる走査が完了した段階で、イメージセンサ120は全画素分のデータを1フレームのデータとして出力する。イメージセンサ120は、例えば1秒間に30フレームを出力する。このフレームレートは一例に過ぎず、用途に応じてフレームレートは適宜決定される。
 なお、上記説明ではイメージセンサ120が検出可能なシーンの全域について光ビームによる走査が完了した段階でデータを出力するとしたが、イメージセンサ120が備える画素の一部の領域に対応する方向に光ビームを出射して得られたデータを出力してもよい。このとき、イメージセンサ120は、すべての画素で得られたデータを出力してもよいし、上述した一部の領域の画素で得られたデータのみを出力してもよい。
 制御回路130は、例えばマイクロコントローラユニット(MCU)などの、プロセッサを含む電子回路によって実現され得る。制御回路130は、ビームスキャナ110による光ビームの出射のタイミングと出射の方向、およびイメージセンサ120の露光のタイミングを決定する。制御回路130は、決定したタイミングに従って、投光制御信号および露光制御信号を、ビームスキャナ110およびイメージセンサ120にそれぞれ出力する。投光制御信号は、予め定められた方向および順序で光ビームが順次出射されるように生成される。
 図5は、光ビームによって測距対象のシーンが走査される様子を模式的に示す図である。図5には、複数の光ビームのスポットが点線の円で示されているが、同時に出射される光ビームの本数は1以上の任意の数であり得る。本実施形態では、イメージセンサ120の受光面に平行な2次元平面において網羅的に光ビームが順次照射される。制御回路130は、光ビームの投光方向と投光タイミングを示す情報を記録媒体150に記録する。なお、光ビームによる走査の態様は任意である。図5におけるマス目は、イメージセンサ120の画素を表している。なお、イメージセンサ120の画素は、実際には微細であるが、図5では、見易さのため、実際よりも粗く示されている。以降の図でも同様の表現を用いることがある。
 クロック140は、ビームスキャンの制御に必要な詳細な時刻情報を出力する回路である。クロック140は、例えばナノ秒またはマイクロ秒の精度の時刻を計測し、その情報を出力する。クロック140は、例えばリアルタイムクロックなどの集積回路によって実現され得る。クロック140は時刻サーバと同期していてもよい。同期には、例えばNTP(Network Time Protocol)またはPTP(Precision Time Protocol)等のプロトコルを利用してもよい。あるいは、GPS(Grobal Positioning System)の情報を用いてサーバの時刻を基準とする時刻同期を行ってもよい。なお、時刻同期の方法は上記に限らず、任意である。時刻同期により、クライアントである測距装置100は正確な時刻情報を取得できる。
 記録媒体150は、例えばROMまたはRAMなどのメモリであり得る。記録媒体150は、制御回路130および信号処理回路160によって生成される各種のデータを記録する。記録媒体150は、さらに、制御回路130および信号処理回路160によって実行されるコンピュータプログラムを格納していてもよい。
 記録媒体150は、制御回路130から出力された光ビームの投光方向と投光タイミングを示す情報を記録する。記録媒体150は、さらに、信号処理回路160によって生成された各種のデータも記録する。例えば、距離計測部161で計算された画素ごとの距離データを記録する。本実施形態では、後述するように、光ビームの投光方向と投光タイミングの組み合わせごとに、対応する複数の画素のブロックが対応付けられて記録される。
 図6Aから図6Cは、記録媒体150に記録される情報の例を示している。図6Aは、複数のフレームに共通の情報を示している。図6Bは、1フレームでは共通であるが、フレームごとに変動する情報を示している。図6Cは、画素ごとに異なる情報を示している。
 図6Aに示すように、複数のフレームに共通の情報は、イメージセンサ120の車両内での位置、受光面の法線方向、および画角を示す情報を含む。イメージセンサ120の車両内での位置は、例えば、車両の中心を原点とした3次元座標で表され得る。イメージセンサ120の受光面の法線方向は、当該3次元座標で表された法線ベクトルの成分によって表され得る。画角は、例えば水平面での角度および鉛直面での角度によって表され得る。
 図6Bに示すように、フレームごとに変動する情報は、ビーム方向、ブロックを示す画素範囲、および時刻の情報を含む。本実施形態では、ビームスキャナ110から出射される1方向の光ビームの反射光を受光する画素群が1つのブロックとして扱われる。光ビームの方向が同一であっても物体の位置によって反射光の軌跡が移動するため、ブロックの位置は投光のたびに異なり得る。1フレームあたり1方向の光ビームによる測距の回数が1回である場合、ブロックはフレームごとに異なり得る。なお、実際の測距では、反射光のエネルギーが小さいため、1回の投光および露光では十分な電荷を蓄積できない場合がある。その場合には、1回の測距のために複数回の同一方向の投光を繰り返し、露光を反復することで十分な電荷を蓄積してもよい。その場合の詳細な時刻の決定方法については後述する。図6Bの例では、ビーム方向を示す情報として、ビーム方向の単位ベクトルを3次元座標で表した数値が記録される。なお、ビーム方向を示す情報に代えて、ブロックを判別するための識別子(ID)が記録されてもよい。ブロックの画素範囲は、例えばそのブロックに含まれる複数の画素のうち、最初の画素(例えば最も左上の画素)の座標と最後の画素(例えば最も右下の画素)の座標とによって指定され得る。ブロックの画素範囲の指定は座標値に限らず、画素のIDによって指定されてもよい。ビーム方向およびブロックの画素範囲に対応付けて、計測時刻が記録される。時刻は、例えばマイクロ秒またはナノ秒の単位で記録され得る。なお、時刻の情報に加えて、日付の情報が記録されてもよい。計測時刻は、光ビームの出射のタイミング、または当該光ビームの反射光を受光したタイミングによって定まる。このため、1方向の光ビームに対応するブロックでは時刻が共通となる。図6Cの例では、画素ごとの情報は、信号処理回路160によって計算された距離情報を含む。
 なお、上記説明では光ビームを出射した出射時刻または光ビームの反射光を受光した時刻を計測時刻としたが、上記とは異なる時刻を計測時刻としてもよい。例えば、出射時刻と受光時刻の平均値、またはビームスキャナ110に指示された出射時刻など、当該光ビームの出射によって計測された位置データの計測時刻の特定または推定に利用できる情報であればどのような情報を計測時刻として用いてもよい。
 信号処理回路160は、例えばCPUおよび/またはGPUなどのプロセッサを含む電子回路である。信号処理回路160における距離計測部161、距離画像生成部162、点群データ生成部163、および出力部169の機能は、例えば信号処理回路160のプロセッサが、記録媒体150に格納されたプログラムを実行することによって実現され得る。その場合、当該プロセッサが、距離計測部161、距離画像生成部162、点群データ生成部163、および出力部169として機能する。これらの各機能部は、専用のハーウェアによって実現されていてもよい。なお、制御回路130と信号処理回路160とが、1つの回路によって実現されていてもよい。例えば、1つのMCUが、制御回路130および信号処理回路160の両方の機能を有していてもよい。記録媒体150も、当該回路に含まれていてもよい。
 距離計測部161は、イメージセンサ120から出力された、画素ごとの、各露光期間での受光によって蓄積された電荷量を示す信号を取得する。距離計測部161は、その信号に基づき、各画素に対応する位置にある物体までの距離を計算し、画素ごとの距離情報を記録媒体150に記録する。この距離情報は、例えば図6Cに示す形式で記録され得る。
 距離画像生成部162は、計測された画素ごとの距離情報に基づき、距離画像データを生成する。
 点群データ生成部163は、生成された距離画像データを予め定められた点を原点とする3次元座標空間中の点群データに変換する。原点は、例えば、測距装置100が搭載された車両の中心位置に設定され得る。点群データ生成部163は、さらに、画素ブロックごとに投光時刻と点群データとを対応付け、ブロックごとの計測時刻情報が付加された点群データを生成する。
 出力部169は、計測時刻情報が付加された点群データを出力する。当該点群データは、例えば記録媒体150に記録される。
 なお、点群データに付与される計測時刻情報は、クロック140が出力する時刻情報の時間の単位と異なる時間の単位で表現されていてもよい。例えば、クロック140が出力する時刻情報がナノ秒程度の時間の単位またはマイクロ秒程度の時間の単位で表現されているが、点群データに付与される計測時刻情報がミリ秒程度の時間の単位による表現の精度で十分である場合がある。そのような場合、制御回路130または信号処理回路160は、クロック140が出力する時刻情報に基づいて計測時刻情報で用いる時間の単位で表現された計測時刻を導出してもよい。ここで、計測時刻情報に用いる時間の単位は、予め決められていてもよいし、外部からの指示に応じて設定できてもよい。また、出力データは、計測時刻情報の時間の単位を示す時刻単位情報を含んでいてもよい。このとき、時刻単位情報は、例えば出力データに付与されたヘッダ領域などに格納される。
 図7Aは、出力データ形式の一例を示している。この例では、複数のフレームに共通のデータである固定値と、フレームごとに異なるデータとが出力される。固定値は、例えば予め定められた複数のフレームに1回の頻度で出力され得る。
 固定値は、例えばイメージセンサ120の車両内での位置、イメージセンサ120の受光面の法線方向、イメージセンサ120の画角、および日付を示す値を含み得る。イメージセンサ120の位置は、例えば車両の中心を原点とした3次元座標で表された3バイトの値で表現され得る。受光面の法線方向は、例えば上記の3次元座標で表された3バイトの値で表現され得る。画角は、例えば2バイトの値で表現され得る。日付は、年、月、日の情報を含み、例えば2バイトの値で表現され得る。
 図7Aの例では、フレームごとの出力データは、ブロックごとのデータとして、当該ブロックに含まれる点の数、当該ブロックの計測時刻、および当該ブロックに含まれる複数の点のそれぞれの位置の情報を含む。ブロックに含まれる点の数は、例えば1バイトで表され得る。計測時刻は、例えばマイクロ秒単位で5バイトで表され得る。ブロック内の各点の位置は、3次元座標であり、例えば3バイトで表され得る。ブロックごとの点の数、時刻、点ごとの位置のデータセットをブロック数だけ反復することで、1フレームのデータの出力が完了する。なお、図7Aの例ではブロック数は既知の固定値である。
 図7Bは、出力データ形式の他の例を示している。この例では、点群データの各点と、点群データの変換元である距離画像における各画素とを紐づけるID番号が順に付与されている。1フレーム内の光ビームの方向の数であるブロックの数はすべてのフレームで共通の固定値として出力される。その上で、フレームごとにデータが出力される。フレームごとに、各々のブロックに含まれる複数の点のうち最初の点のID(例えば1バイト)と最後の点のID(例えば1バイト)の2バイトで各ブロックに含まれる複数の点が特定され得る。このデータがブロック数分出力され、続いて、ブロックごとの計測時刻がマイクロ秒単位で5バイトでブロック数分出力される。このとき、ブロックに対応する複数の点のデータと、時刻データは、同一のブロックの情報が同じ順番になるように並べられて出力される。ブロックごとのデータに続いて、点群の各点の3次元座標中の位置が例えば3バイトで出力される。このときの点群の並び順は、点群IDの順である。位置は点ごとに3バイトで出力され、点の個数分だけ連続で出力される。なお、フレームによってブロック数が異なる場合は、フレーム毎の情報にブロック数の情報が含まれてもよい。
 [1-1-2 ビームスキャナ110の構成]
 次に、ビームスキャナ110の構成例を説明する。ビームスキャナ110は、制御回路130の制御に応じて光ビームの出射方向を変化させることができる発光デバイスである。ビームスキャナ110は、測距対象のシーン内の一部の領域を光ビームで順次照射する。この機能を実現するため、ビームスキャナ110は、光ビームの出射方向を変化させる機構を備える。例えば、ビームスキャナ110は、レーザなどの発光素子と、少なくとも1つの可動ミラー、例えばMEMSミラーとを備え得る。発光素子から出射された光は、可動ミラーによって反射され、測距対象のシーン内の所定の領域に向かう。制御回路130は、可動ミラーを駆動することにより、光ビームの出射方向を変化させることができる。
 可動ミラーを有する発光デバイスとは異なる構造によって光の出射方向を変化させることが可能な発光デバイスを用いてもよい。例えば、特許文献4に開示されているような、反射型導波路を利用した発光デバイスを用いてもよい。あるいは、アンテナアレイによって各アンテナから出力される光の位相を調節することで、アレイ全体の光の方向を変化させる発光デバイスを用いてもよい。
 以下、ビームスキャナ110の構成の一例を説明する。
 図8は、ビームスキャナ110として使用され得る発光デバイスの一例を模式的に示す斜視図である。この発光デバイスは、複数の光導波路素子10を含む光導波路アレイを備える。複数の光導波路素子10の各々は、第1の方向(図8におけるX方向)に延びた形状を有する。複数の光導波路素子10は、第1の方向に交差する第2の方向(図8におけるY方向)に規則的に配列されている。複数の光導波路素子10は、第1の方向に光を伝搬させながら、第1および第2の方向に平行な仮想的な平面に交差する第3の方向D3に光を出射させる。
 複数の光導波路素子10のそれぞれは、互いに対向する第1のミラー30および第2のミラー40と、ミラー30とミラー40の間に位置する光導波層20とを有する。ミラー30およびミラー40の各々は、第3の方向D3に交差する反射面を、光導波層20との界面に有する。ミラー30およびミラー40、ならびに光導波層20は、第1の方向に延びた形状を有している。
 第1のミラー30の反射面と第2のミラー40の反射面とは略平行に対向している。2つのミラー30およびミラー40のうち、少なくとも第1のミラー30は、光導波層20を伝搬する光の一部を透過させる特性を有する。言い換えれば、第1のミラー30は、当該光について、第2のミラー40よりも高い光透過率を有する。このため、光導波層20を伝搬する光の一部は、第1のミラー30から外部に出射される。このようなミラー30および40は、例えば誘電体による多層膜によって形成される多層膜ミラーであり得る。
 それぞれの光導波路素子10に入力する光の位相を調整し、さらに、これらの光導波路素子10における光導波層20の屈折率もしくは厚さ、または光導波層20に入力される光の波長を調整することで、任意の方向に光を出射させることができる。
 図9は、1つの光導波路素子10の断面の構造および伝搬する光の例を模式的に示す図である。図9では、図8に示すX方向およびY方向に垂直な方向をZ方向とし、光導波路素子10のXZ面に平行な断面が模式的に示されている。光導波路素子10において、一対のミラー30とミラー40が光導波層20を挟むように配置されている。光導波層20のX方向における一端から導入された光22は、光導波層20の上面に設けられた第1のミラー30および下面に設けられた第2のミラー40によって反射を繰り返しながら光導波層20内を伝搬する。第1のミラー30の光透過率は第2のミラー40の光透過率よりも高い。このため、主に第1のミラー30から光の一部を出力することができる。
 通常の光ファイバーなどの光導波路では、全反射を繰り返しながら光が光導波路に沿って伝搬する。これに対して、本実施形態における光導波路素子10では、光は光導波層20の上下に配置されたミラー30および40によって反射を繰り返しながら伝搬する。このため、光の伝搬角度に制約がない。ここで光の伝搬角度とは、ミラー30またはミラー40と光導波層20との界面への入射角度を意味する。ミラー30またはミラー40に対して、より垂直に近い角度で入射する光も伝搬できる。すなわち、全反射の臨界角よりも小さい角度で界面に入射する光も伝搬できる。このため、光の伝搬方向における光の群速度は自由空間における光速に比べて大きく低下する。これにより、光導波路素子10は、光の波長、光導波層20の厚さ、および光導波層20の屈折率の変化に対して光の伝搬条件が大きく変化するという性質を持つ。このような光導波路を、「反射型光導波路」または「スローライト光導波路」と称する。
 光導波路素子10から空気中に出射される光の出射角度θは、以下の式(1)によって表される。
Figure JPOXMLDOC01-appb-M000001
 式(1)からわかるように、空気中での光の波長λ、光導波層20の屈折率nおよび光導波層20の厚さdのいずれかを変えることで光の出射方向を変えることができる。
 例えば、n=2、d=387nm、λ=1550nm、m=1の場合、出射角度は0°である。この状態から、屈折率をn=2.2に変化させると、出射角度は約66°に変化する。一方、屈折率を変えずに厚さをd=420nmに変化させると、出射角度は約51°に変化する。屈折率も厚さも変化させずに波長をλ=1500nmに変化させると、出射角度は約30°に変化する。このように、光の波長λ、光導波層20の屈折率n、および光導波層20の厚さdのいずれかを変化させることにより、光の出射方向を変化させることができる。
 光の波長λは、例えば一般的なシリコン(Si)により光を吸収することで光を検出するイメージセンサで高い検出感度が得られる400nmから1100nm(可視光から近赤外光)の波長域に含まれ得る。他の例では、波長λは、光ファイバーまたはSi光導波路において伝送損失の比較的小さい1260nmから1625nmの近赤外光の波長域に含まれ得る。なお、これらの波長範囲は一例である。使用される光の波長域は、可視光または赤外光の波長域に限定されず、例えば紫外光の波長域であってもよい。
 発光デバイスは、各光導波路素子10における光導波層20の屈折率、厚さ、および波長の少なくとも1つを変化させる第1調整素子を備え得る。これにより、出射光の方向を調製することができる。
 光導波層20の少なくとも一部の屈折率を調整するために、光導波層20は、液晶材料または電気光学材料を含んでいてもよい。光導波層20は、一対の電極によって挟まれ得る。一対の電極に電圧を印加することにより、光導波層20の屈折率を変化させることができる。
 光導波層20の厚さを調整するために、例えば、第1のミラー30および第2のミラー40の少なくとも一方に少なくとも1つのアクチュエータが接続されてもよい。少なくとも1つのアクチュエータによって第1のミラー30と第2のミラー40との距離を変化させることにより、光導波層20の厚さを変化させることができる。光導波層20が液体から形成されていれば、光導波層20の厚さは容易に変化し得る。
 複数の光導波路素子10が一方向に配列された光導波路アレイにおいて、それぞれの光導波路素子10から出射される光の干渉により、光の出射方向は変化する。各光導波路素子10に供給する光の位相を調整することにより、光の出射方向を変化させることができる。以下、その原理を説明する。
 図10Aは、光導波路アレイの出射面に垂直な方向に光を出射する光導波路アレイの断面を示す図である。図10Aには、各光導波路素子10を伝搬する光の位相シフト量も記載されている。ここで、位相シフト量は、左端の光導波路素子10を伝搬する光の位相を基準にした値である。本実施形態における光導波路アレイは、等間隔に配列された複数の光導波路素子10を含んでいる。図10Aにおいて、破線の円弧は、各光導波路素子10から出射される光の波面を示している。直線は、光の干渉によって形成される波面を示している。矢印は、光導波路アレイから出射される光の方向(すなわち、波数ベクトルの方向)を示している。図10Aの例では、各光導波路素子10における光導波層20を伝搬する光の位相はいずれも同じである。この場合、光は光導波路素子10の配列方向(Y方向)および光導波層20が延びる方向(X方向)の両方に垂直な方向(Z方向)に出射される。
 図10Bは、光導波路アレイの出射面に垂直な方向とは異なる方向に光を出射する光導波路アレイの断面を示す図である。図10Bに示す例では、複数の光導波路素子10における光導波層20を伝搬する光の位相が、配列方向に一定量(Δφ)ずつ異なっている。この場合、光は、Z方向とは異なる方向に出射される。このΔφを変化させることにより、光の波数ベクトルのY方向の成分を変化させることができる。隣接する2つの光導波路素子10の間の中心間距離をpとすると、光の出射角度αは、以下の式(2)によって表される。
Figure JPOXMLDOC01-appb-M000002
 光導波路素子10の本数がNのとき、光の出射角度の広がり角Δαは、以下の式(3)によって表される。
Figure JPOXMLDOC01-appb-M000003
 したがって、光導波路素子10の本数が多いほど、広がり角Δαを小さくすることができる。
 図11は、3次元空間における光導波路アレイを模式的に示す斜視図である。図11に示す太い矢印は、発光デバイスから出射される光の方向を表す。θは、光の出射方向とYZ平面とがなす角度である。θは式(2)を満たす。αは、光の出射方向とXZ平面とがなす角度である。αは式(3)を満たす。
 それぞれの光導波路素子10から出射される光の位相を制御するために、例えば、光導波路素子10に光を導入する前段に、光の位相を変化させる位相シフタが設けられ得る。発光デバイスは、複数の光導波路素子10のそれぞれに接続された複数の位相シフタと、各位相シフタを伝搬する光の位相を調整する第2調整素子とを備え得る。各位相シフタは、複数の光導波路素子10の対応する1つにおける光導波層20に直接的にまたは他の光導波路を介して繋がる光導波路を含む。第2調整素子は、複数の位相シフタから複数の光導波路素子10へ伝搬する光の位相の差をそれぞれ変化させることにより、複数の光導波路素子10から出射される光の方向(すなわち、第3の方向D3)を変化させる。以下の説明では、光導波路アレイと同様に、配列された複数の位相シフタを「位相シフタアレイ」と称することがある。
 図12は、光導波路アレイ10Aおよび位相シフタアレイ80Aを、光出射面の法線方向(Z方向)から見た模式図である。図12に示す例では、全ての位相シフタ80が同じ伝搬特性を有し、全ての光導波路素子10が同じ伝搬特性を有する。それぞれの位相シフタ80およびそれぞれの光導波路素子10は同じ長さであってもよいし、長さが異なっていてもよい。それぞれの位相シフタ80の長さが等しい場合は、例えば、駆動電圧によってそれぞれの位相シフト量を調整することができる。また、それぞれの位相シフタ80の長さを等ステップで変化させた構造にすることで、同じ駆動電圧で等ステップの位相シフトを与えることもできる。さらに、この発光デバイスは、複数の位相シフタ80に光を分岐して供給する光分岐器90と、各光導波路素子10を駆動する第1駆動回路210と、各位相シフタ80を駆動する第2駆動回路220とをさらに備える。図12における直線の矢印は光の入力を示している。別々に設けられた第1駆動回路210と第2駆動回路220とをそれぞれ独立に制御することにより、2次元的に光の出射方向を変化させることができる。この例では、第1駆動回路210は、第1調整素子の1つの要素として機能し、第2駆動回路220は、第2調整素子の1つの要素として機能する。
 第1駆動回路210は、各光導波路素子10における光導波層20の屈折率および厚さの少なくとも一方を変化させることにより、光導波層20から出射する光の角度を変化させる。第2駆動回路220は、各位相シフタ80における光導波路20aの屈折率を変化させることにより、光導波路20aの内部を伝搬する光の位相を変化させる。光分岐器90は、全反射によって光が伝搬する光導波路で構成してもよいし、光導波路素子10と同様の反射型光導波路で構成してもよい。
 なお、光分岐器90で分岐したそれぞれの光の位相を制御した後に、それぞれの光を位相シフタ80に導入してもよい。この位相制御には、例えば、位相シフタ80に至るまでの光導波路の長さを調整することによるパッシブな位相制御構造を用いることができる。あるいは、位相シフタ80と同様の機能を有する電気信号で制御可能な位相シフタを用いても良い。このような方法により、例えば、全ての位相シフタ80に等位相の光が供給されるように、位相シフタ80に導入される前に位相を調整してもよい。そのような調整により、第2駆動回路220による各位相シフタ80の制御をシンプルにすることができる。
 上記の発光デバイスの動作原理、および動作方法などの詳細は、特許文献4に開示されている。特許文献4の開示内容の全体を本明細書に援用する。
 図13は、ビームスキャナ110の他の例を示す図である。この例におけるビームスキャナ110は、光導波路アレイ10Aと、光導波路アレイ10Aに接続された位相シフタアレイ80Aとを備える。光導波路アレイ10Aは、Y方向に並ぶ複数の光導波路群10gを含む。各光導波路群10gは、1つ以上の光導波路素子10を含む。位相シフタアレイ80Aは、Y方向に並ぶ複数の位相シフタ群80gを含む。各位相シフタ群80gは、1つ以上の位相シフタ80を含む。この例において、位相シフタ群80gのまとまりは、光導波路群10gのまとまりとは異なっている。より具体的には、1つの光導波路群10gに、2つの位相シフタ群80gが接続されている。
 各位相シフタ80の位相シフト量は、制御回路130によって個別に制御される。各位相シフタ80の位相シフト量は、その配列の順序に応じた第1の位相シフト量(Δφの整数倍)と、位相シフタ群80gごとに異なる第2の位相シフト量(Va、Vb、Vc、Vdのいずれか)との和になるように制御される。第2の位相シフト量を位相シフタ群80gごとに変化させることにより、光ビームの出射方向のY成分、およびスポットサイズのY方向の広がり角が制御される。
 一方、制御回路130は、光導波路群10gごとに、印加される電圧の値を個別に決定する。各光導波路群10gへの印加電圧の制御により、光ビームの出射方向のX成分が制御される。位相シフタ群80gと光導波路群10gとの組み合わせに依存して、光の出射方向が決定される。図13の例では、1つの位相シフタ群80gに接続された隣り合う2つの光導波路群10sから同一の方向に光が出射する。1つの光導波路群10gから出射される光束を1つの光ビームとすると、図13の例では、2本の光ビームを同時に出射することができる。光導波路素子10および位相シフタ80の数を増やせば、さらにビーム本数を増やすことができる。
 図14は、ビームスキャナ110のさらに他の構成例を示す図である。この例におけるビームスキャナ110は、各々が異なる方向に光ビームを出射する複数の発光デバイス70を備える。この例では、1つのチップ上に複数の位相シフタ80および複数の光導波路素子10が実装される。制御回路130は、各発光デバイス70における各位相シフタ80および各光導波路素子10への印加電圧を制御する。これにより、制御回路130は、各発光デバイス70から出射する光ビームの方向を制御する。この例では、ビームスキャナ110は3つの発光デバイス70を備えるが、さらに多数の発光デバイス70を備えていてもよい。
 図15は、ビームスキャナ110のさらに他の構成例を示す図である。この例におけるビームスキャナ110は、各々が異なるチップに実装された複数の発光デバイス70を備える。複数の発光デバイス70は、異なる方向に光ビームを出射する。各発光デバイス70は、複数の位相シフタ80および複数の光導波路素子10に印加する電圧を決定する制御回路130aを備える。各発光デバイス70における制御回路130aは、外部の制御回路130によって制御される。この例でも、ビームスキャナ110は3つの発光デバイス70を備えるが、さらに多数の発光デバイス70を備えていてもよい。
 図16は、ビームスキャナ110のさらに他の例を示す図である。この例では、ビームスキャナ110は、レーザなどの発光素子と、少なくとも1つの可動ミラー、例えばMEMSミラーとを備える。発光素子から出射された光は、可動ミラーによって反射され、対象領域内(図16において矩形で表示)の所定の領域に向かう。制御回路130は、可動ミラーを駆動することにより、ビームスキャナ110からの出射光の方向を変化させる。これにより、例えば図16において点線矢印で示すように、対象領域を光でスキャンすることができる。
 [1-1-3 イメージセンサ120の構成]
 次に、イメージセンサ120の構成例を説明する。イメージセンサ120は、受光面に沿って2次元に配列された複数の受光素子を備える。イメージセンサ120の受光面に対向して、不図示の光学部品が設けられ得る。光学部品は、例えば少なくとも1つのレンズを含み得る。光学部品は、プリズムまたはミラー等の他の光学素子を含んでいてもよい。光学部品は、シーン中の物体の1点から拡散した光がイメージセンサ120の受光面上の1点に集束するように設計され得る。
 イメージセンサ120は、例えばCCD(Charge-Coupled Device)センサ、CMOS(Complementary Metal Oxide Semiconductor)センサ、または赤外線アレイセンサであり得る。各受光素子は、例えばフォトダイオードなどの光電変換素子と、1つ以上の電荷蓄積部とを含む。光電変換によって生じた電荷が、露光期間の間、電荷蓄積部に蓄積される。電荷蓄積部に蓄積された電荷は、露光期間終了後、出力される。このようにして、各受光素子は、露光期間の間に受けた光の量に応じた電気信号を出力する。この電気信号を「受光データ」と称することがある。イメージセンサ120は、モノクロタイプの撮像素子であってもよいし、カラータイプの撮像素子であってもよい。例えば、R/G/B、R/G/B/IR、またはR/G/B/Wのフィルタを有するカラータイプの撮像素子を用いてもよい。イメージセンサ120は、可視の波長範囲に限らず、例えば紫外、近赤外、中赤外、遠赤外などの波長範囲に検出感度を有していてもよい。イメージセンサ120は、SPAD(Single Photon Avalanche Diode)を利用したセンサであってもよい。イメージセンサ120は、露光後に全画素の信号を一括で読出すことが可能な電子シャッタ、すなわちグローバルシャッタの機構を備え得る。電子シャッタは、行毎に露光を行うローリングシャッタ方式、または光ビームの照射範囲に合わせた一部のエリアのみ露光を行うエリアシャッタ方式であってもよい。
 [1-1-4 測距方法の例]
 本実施形態では、信号処理回路160は、間接ToF方式と呼ばれる測距方法によって物体までの距離を計測する。以下、一般的な間接ToF方式による測距方法の一例を説明する。なお、間接ToF方式に限らず、直接ToF方式による測距方法を用いてもよい。
 ToF方式は、光源から出射した光が物体によって反射されて光源の近傍の光検出器まで戻ってくるまでの飛行時間を測定することで、装置から物体までの距離を測定する方式である。飛行時間を直接計測する方式を直接ToFと呼ぶ。複数の露光期間を設け、露光期間ごとの反射光のエネルギー分布から、飛行時間を計算する方式を間接ToFと呼ぶ。
 図17Aは、間接ToF方式における投光タイミング、反射光の到達タイミング、および2回の露光タイミングの例を示す図である。横軸は時間を示している。矩形部分は、投光、反射光の到達、および2回の露光のそれぞれの期間を表している。この例では、簡単のため、1つの光ビームが出射され、その光ビームによって生じた反射光を受ける受光素子が連続で2回露光する場合の例を説明する。図17Aの部分(a)は、光源から光が出射するタイミングを示している。T0は測距用の光ビームのパルス幅である。図17Aの部分(b)は、光源から出射して物体で反射された光ビームがイメージセンサに到達する期間を示している。Tdは光ビームの飛行時間である。図17Aの例では、光パルスの時間幅T0よりも短い時間Tdで反射光がイメージセンサに到達している。図17Aの部分(c)は、イメージセンサの第1の露光期間を示している。この例では、投光の開始と同時に露光が開始され、投光の終了と同時に露光が終了している。第1の露光期間では、反射光のうち、早期に戻ってきた光が光電変換され、生じた電荷が蓄積される。Q1は、第1の露光期間の間に光電変換された光のエネルギーを表す。このエネルギーQ1は、第1の露光期間の間に蓄積された電荷の量に比例する。図17Aの部分(d)は、イメージセンサの第2の露光期間を示している。この例では、第2の露光期間は、投光の終了と同時に開始し、光ビームのパルス幅T0と同一の時間、すなわち第1の露光期間と同一の時間が経過した時点で終了する。Q2は、第2の露光期間の間に光電変換された光のエネルギーを表す。このエネルギーQ2は、第2の露光期間の間に蓄積された電荷の量に比例する。第2の露光期間では、反射光のうち、第1の露光期間が終了した後に到達した光が受光される。第1の露光期間の長さが光ビームのパルス幅T0に等しいことから、第2の露光期間で受光される反射光の時間幅は、飛行時間Tdに等しい。
 ここで、第1の露光期間の間に受光素子に蓄積される電荷の積分容量をCfd1、第2の露光期間の間に受光素子に蓄積される電荷の積分容量をCfd2、光電流をIph、電荷転送クロック数をNとする。第1の露光期間における受光素子の出力電圧は、以下のVout1で表される。
 Vout1=Q1/Cfd1=N×Iph×(T0-Td)/Cfd1
 第2の露光期間における受光素子の出力電圧は、以下のVout2で表される。
 Vout2=Q2/Cfd2=N×Iph×Td/Cfd2
 図17Aの例では、第1の露光期間の時間長と第2の露光期間の時間長とが等しいため、Cfd1=Cfd2である。従って、Tdは以下の式で表すことができる。
 Td={Vout2/(Vout1+Vout2)}×T0
 光速をC(≒3×10m/s)とすると、装置と物体との距離Lは、以下の式で表される。
 L=1/2×C×Td=1/2×C×{Vout2/(Vout1+Vout2)}×T0
 イメージセンサは、実際には露光期間に蓄積した電荷を出力するため、時間的に連続して2回の露光を行うことができない場合がある。その場合には、例えば図17Bに示す方法が用いられ得る。
 図17Bは、連続で2つの露光期間を設けることができない場合の投光と露光、および電荷出力のタイミングを模式的に示す図である。図17Bの例では、まず、光源が投光を開始すると同時にイメージセンサは露光を開始し、光源が投光を終了すると同時にイメージセンサは露光を終了する。この露光期間は、図17Aにおける露光期間1に相当する。イメージセンサは、露光直後にこの露光期間で蓄積された電荷を出力する。この電荷量は、受光された光のエネルギーQ1に相当する。次に、光源は再度投光を開始し、1回目と同一の時間T0が経過すると投光を終了する。イメージセンサは、光源が投光を終了すると同時に露光を開始し、第1の露光期間と同一の時間長が経過すると露光を終了する。この露光期間は、図17Aにおける露光期間2に相当する。イメージセンサは、露光直後にこの露光期間で蓄積された電荷を出力する。この電荷量は、受光された光のエネルギーQ2に相当する。
 このように、図17Bの例では、上記の距離計算のための信号を取得するために、光源は投光を2回行い、イメージセンサはそれぞれの投光に対して異なるタイミングで露光する。このようにすることで、2つの露光期間を時間的に連続して設けることができない場合でも、露光期間ごとに電圧を取得できる。このように、露光期間ごとに電荷の出力を行うイメージセンサでは、予め設定された複数の露光期間の各々で蓄積される電荷の情報を得るために、同一条件の光を、設定された露光期間の数と等しい回数だけ投光することになる。
 なお、実際の測距では、イメージセンサは、光源から出射されて物体で反射された光のみではなく、バックグラウンド光、すなわち太陽光または周辺の照明等の外部からの光を受光し得る。そこで、一般には、光ビームが出射されていない状態でイメージセンサに入射するバックグラウンド光による蓄積電荷を計測するための露光期間が設けられる。バックグランド用の露光期間で計測された電荷量を、光ビームの反射光を受光したときに計測される電荷量から減算することで、光ビームの反射光のみを受光した場合の電荷量を求めることができる。本実施形態では、簡便のため、バックグランド光についての動作の説明を省略する。
 上記の例では、簡単のため、1つの光ビームのみに着目したが、複数の光ビームが連続で出射されてもよい。以下、2つの光ビームが連続で出射される場合の光検出動作の例を説明する。
 図18Aは、各単位期間において、異なる方向に2つの光ビームが連続で出射される場合の光検出の第1の例を示す図である。横軸は時間を表す。この例では、単位期間内に、3回の露光が連続して行われる。
 図18Aの部分(a)は、光源から2つの光ビームが出射されるタイミングを示している。図18Aの部分(b)は、光源から出射された2つの光ビームが物体で拡散されることによって生じる反射光が受光装置におけるイメージセンサに到達するタイミングを示している。この例では、実線で示される第1の光ビームの投光が終了すると、すぐに破線で示される第2の光ビームの投光が開始される。これらの光ビームの反射光は、各光ビームの投光タイミングよりも少し遅れてイメージセンサに到達する。第1の光ビームと、第2の光ビームとでは、出射方向が異なり、これらの光ビームの反射光は、イメージセンサにおける異なる2つの受光素子または2つの受光素子群に入射する。図18Aの部分(c)から(e)は、第1から第3の露光期間をそれぞれ示している。この例では、第1の露光期間は、第1の光ビームの投光の開始と同時に開始され、投光の終了と同時に終了する。第2の露光期間は、第2の光ビームの投光の開始と同時に開始され、投光の終了と同時に終了する。第3の露光期間は、第2の光ビームの投光の終了と同時に開始され、当該光ビームのパルスの時間幅と同じ時間が経過すると終了する。図18Aの部分(f)は、イメージセンサのシャッタ開放期間を示している。図18Aの部分(g)は、各受光素子の電荷出力の期間を示している。
 この例では、イメージセンサの各受光素子は、3つの露光期間において、それぞれ独立に、光電変換によって生じた電荷を蓄積する。各電荷蓄積期間で蓄積された電荷は、同時に読み出される。この動作を実現するために、各受光素子には、3つ以上の電荷蓄積部が設けられる。それらの電荷蓄積部への電荷の蓄積は、例えばスイッチによって切り替えられる。各露光期間の長さは、シャッタ開放期間よりも短い時間に設定される。イメージセンサは、最初の光ビームの投光の開始時点でシャッタを開いて露光を開始する。反射光が受光される可能性のある期間にわたってシャッタは開放されている。最後の光ビームによって生じた反射光が受光され得る期間である第3の露光期間が終了すると、イメージセンサは、シャッタを閉じ、露光を終了する。シャッタ開放期間が終了すると、イメージセンサは、信号の読出しを行う。この際、第1から第3の電荷蓄積期間に蓄積されたそれぞれの電荷量に応じた信号が画素ごとに読み出される。読み出された信号は、受光データとして、信号処理回路160に送られる。信号処理回路160は、当該受光データに基づき、図17Aを参照して説明した方法により、反射光を受けた受光素子について、距離を計算することができる。
 図18Aの例によれば、受光素子ごとに複数の電荷蓄積部が必要であるが、複数の電荷蓄積部に蓄積された電荷の出力を一括で行うことができる。このため、投光と露光の反復をより短時間で行うことができる。
 図18Bは、各単位期間において、異なる方向に2つの光ビームが連続で出射される場合の光検出の第2の例を示す図である。図18Bの例では、図17Bの例と同様に、露光期間が終了する度に電荷出力が行われる。1つの単位期間の間に、第1の光ビームおよび第2の光ビームの出射、露光、および電荷出力が、3セット繰り返される。第1のセットにおいて、第1の光ビームの投光開始と同時に、各受光素子の露光が開始され、第1の光ビームの投光終了と同時に露光が終了する。この露光期間P1は、図18Aに示す露光期間1に相当する。露光期間P1が終了すると、各受光素子に蓄積された電荷が読み出される。第2のセットにおいては、第1の光ビームの投光終了と同時に、すなわち第2の光ビームの投光開始と同時に、各受光素子の露光が開始され、第2の光ビームの投光終了と同時に露光が終了する。この露光期間P2は、図18Aに示す露光期間2に相当する。露光期間P2が終了すると、各受光素子に蓄積された電荷が読み出される。第3のセットにおいては、第2の光ビームの投光終了と同時に、各受光素子の露光が開始され、各光ビームのパルス幅に相当する時間長が経過すると露光が終了する。この露光期間P3は、図18Aに示す露光期間3に相当する。露光期間P1が終了すると、各受光素子に蓄積された電荷が読み出される。この例では、各単位期間において、複数の光ビームの連続投光、露光、および受光データの読出しの一連の動作が3回繰り返される。これにより、図17Bの例と同様に、受光素子ごとに、各露光期間の電荷量に応じた受光データを取得することができる。これにより、前述の演算によって距離を計算することができる。
 図18Bの例によれば、各受光素子は1つの電荷蓄積部を有していればよいため、イメージセンサの構造を簡素化できる。
 なお、図18Aおよび図18Bの例では、単位期間ごとに、3つの露光期間が設定されているが、単位期間あたりの露光期間の数は2以下または4以上であってもよい。例えば、同時に複数の方向に光ビームを出射できる光源を使用する場合、単位期間あたりの露光期間は2つでもよい。その場合、図17Aまたは図17Bを参照して説明した方法によって距離を計算できる。あるいは、後述する直接ToFによる距離計算方法を適用する場合、単位期間あたりの露光期間は1つでもよい。さらに、単位期間あたりに出射される光ビームの数は2つに限らず、3つ以上でもよい。投光および受光のタイミングは、複数の光ビームの到達距離範囲の設定等に応じて調整され得る。
 [1-1-5.距離計測部161の構成]
 距離計測部161の構成を説明する。図19は、距離計測部161の詳細な機能構成を示すブロック図である。距離計測部161は、データ画素抽出部161aと、ブロック範囲記憶部161bと、距離計算部161cとを備える。なお、データ画素抽出部161aおよび距離計算部161cは、信号処理回路160がコンピュータプログラムを実行することによって実現され得る。
 データ画素抽出部161aは、イメージセンサ120から、露光期間ごとに各画素に蓄積された電荷の量に応じた信号を取得する。データ画素抽出部161aは、制御回路130から、出射された光ビームの方向を示す情報も取得する。データ画素抽出部161aは、ブロック範囲記憶部161bを参照して、当該方向の光ビームの反射光を受光し得る画素の範囲を抽出する。さらに、データ画素抽出部161aは、イメージセンサ120の画素のうち、2つ以上の露光期間で取得された2つの信号のうちの少なくとも一方の値が0でない画素であって、上記の画素の範囲と重なる画素を抽出する。抽出された画素を含む予め定められた画素数の範囲内の画素が当該光ビームに対応する画素のブロックとして決定される。予め定められた画素数は、例えば、x軸方向に10画素、y軸方向に10画素の矩形領域に含まれる100個であり得る。
 ブロック範囲記憶部161bは、メモリなどの記録媒体である。図19の例では、記録媒体150とは別の要素であるが、記録媒体150に含まれていてもよい。ブロック範囲記憶部161bには、光ビームの各出射方向と、当該光ビームの反射光を受光し得る画素範囲とが関連付けられて記録されている。さらに、各出射方向について、例えば100mの距離に十分大きな物体があると仮定した場合に、当該物体による反射光を受光する画素の範囲が、「標準画素範囲」として記録されている。標準画素範囲は、画素範囲に含まれる。
 図20は、ブロック範囲記憶部161bに記録される情報の一例を示している。光ビームの方向は、例えば、所定の3次元座標で表された当該方向の単位ベクトルの成分で表現され得る。この3次元座標は、例えば、受光面の中心を原点とし、画像の横方向に相当する方向にx軸、画像の縦方向に相当する方向にy軸、受光面に垂直でシーンに向けた方向にz軸をもつ座標であり得る。画素範囲は、イメージセンサ120の画素のうち、矩形の領域に含まれる画素の範囲として指定され得る。例えば、出力される画像上で最も左上の画素位置と最も右下の画素位置によって画素範囲が表され得る。標準画素範囲も同様に、画像上の最も左上の画素位置と最も右下の画素位置によって範囲が指定され得る。
 距離計算部161cは、データ画素抽出部161aが決定した画素範囲についてのみ、距離を計算する。距離は、イメージセンサ120の受光面から物体までの距離を指す。距離計算は、例えば前述の間接ToF方式による計算で計算される。
 [1-2 動作]
 次に、測距装置100の動作を説明する。
 図21は、測距装置100の動作の一例を示すフローチャートである。測距装置100は、図20に示すステップS1100からS2800の動作を実行することにより、1フレーム分の距離データおよび点群データを生成する。連続して複数フレーム分のデータを生成する場合、測距装置100は、図21に示すステップS1100からS2800の動作を繰り返す。以下、各ステップの動作を説明する。
 (ステップS1100)
 まず、制御回路130は、予め定められた光ビームの方向のうち、投光されていない方向があるかどうかを判断する。予め定められた全ての方向について、投光が完了している場合、すなわちステップS1100においてyesの場合、ステップS2100に進む。予め定められた方向のうち投光されていない方向がある場合、すなわちステップS1100においてnoの場合、ステップS1200に進む。
 (ステップS1200)
 制御回路130は、予め定められた光ビームの方向のうち投光されていない方向の1つを決定する。
 (ステップS1300)
 制御回路130は、ステップS1200で決定された光ビームの方向を示す情報を記録媒体150に記録する。
 (ステップS1400)
 制御回路130は、ステップS1200で決定された方向について、予め定められた2つ以上の露光期間の全てについて、イメージセンサ120の露光が完了したかを判断する。この判断がyesの場合、ステップS1900に進む。この判断がnoの場合、ステップS1500に進む。
 (ステップS1500)
 制御回路130は、予め定められた2つ以上の露光期間のうち、まだ露光が行われていない露光期間の1つを決定する。各露光期間は、例えば、ビームスキャナ110が出射する光パルスの時間長と同じ時間長をもつ。第1の露光期間は、例えば、投光開始と同時に開始し、投光終了と同時に終了する。第2の露光期間は、例えば、ビームスキャナ110の投光終了と同時に開始され、光パルスの時間長と同じ時間が経過すると終了する。第3の露光期間が設定される場合、当該第3の露光期間は、例えば、第2の露光期間の終了のタイミングで開始され、光パルスの時間長と同じ時間が経過すると終了する。
 (ステップS1600)
 制御回路130は、ステップS1200で決定された光ビームの方向について、ビームスキャナ110の投光が、予め定められた同一方向への投光回数を満たしたか否かを判断する。この判断がyesの場合、ステップS1400へ戻る。この判断がnoの場合、ステップS1700に進む。
 (ステップS1700)
 ビームスキャナ110は、ステップS1200で決定された方向に光ビームを出射する。出射される光ビームは、例えば矩形パルス光であり得る。パルスの時間長は、例えば100ns程度であり得る。
 (ステップS1800)
 イメージセンサ120は、ステップS1500で決定された露光期間で受光を行う。この露光期間は、例えば前述の第1から第3の露光期間のいずれかである。
 (ステップS1900)
 全ての露光期間での露光が完了すると、制御回路130は、光ビームが出射された詳細時刻(例えばマイクロ秒単位)を、その光ビームの方向と関連付けて記録する。この例におけるビームスキャナ110は、1つの方向に光ビームを複数回出射するため、複数の光ビームの出射時刻に対して1つの時刻が決定される。制御回路130は、例えば、計測の詳細時刻として、各方向について、1番目の投光の開始時刻を計測の詳細時刻として記録する。計測の詳細時刻は、当該方向の最後の投光の開始時刻もしくは終了時刻、または、当該方向の投光のうち、投光順の中央に当たる投光の開始時刻もしくは終了時刻でもよい。あるいは、複数の投光時刻の平均値を計測の詳細時刻として記録してもよい。
 なお、上記の例では、一つの方向に出射された複数の光ビームの出射時刻に基づいて計測の詳細時刻が決定されるが、計測の詳細時刻を他の方法で決定してもよい。例えば一つの方向に出射された複数の光ビームの受光時刻など、出射時刻以外の時刻を計測の詳細時刻として決定してもよい。
 (ステップS2000)
 イメージセンサ120は、全画素について、露光期間ごとに蓄積された電荷の量に応じた信号を出力する。この信号は、信号処理回路160の距離計測部161に送られる。
 (ステップS2100)
 信号処理回路160の距離計測部161は、イメージセンサ120の全画素のうち、当該光ビームの反射光を受光した画素のブロックを決定する。具体的には、距離計測部161のデータ画素抽出部161aは、ブロック範囲記憶部161bを参照し、当該光ビームの方向に対応する、物体からの反射光を受光し得る画素の範囲を決定する。さらに、データ画素抽出部161aは、露光期間ごとに蓄積された電荷量に基づき、物体からの反射光を受光しうる画素の範囲のうち、いずれかの露光期間での電荷量が0でない画素を検出する。検出された画素およびその周辺の画素をブロックとして決定する。ブロックは、例えば、x軸方向10画素、y軸方向10画素の矩形の領域内の画素によって構成され得る。いずれかの露光期間における電荷量の値が0でない1つ以上の画素を中心に範囲が決定される。いずれかの露光期間について値が0でない画素が複数の領域に分布する場合には、予め定められた大きさの範囲で、できるだけ多くの画素を含む範囲が決定される。当該範囲内に、いずれかの露光期間について値が0でない画素が検出されない場合は、予め出射方向ごとに定められた標準画素範囲に含まれる複数の画素がブロックとして決定される。標準画素範囲は、例えば図20を参照して説明したように、イメージセンサ120の受光面から特定の距離、例えば100mの位置に十分な大きさの物体がある場合にその物体からの反射光を受光する画素の範囲であり得る。ステップS2100の動作の詳細は後述する。
 (ステップS2200)
 距離計測部161は、光ビームの方向に対応するブロックと、当該ブロックに含まれる画素との対応関係を規定するデータを、記録媒体150に記録する。例えば、ブロックのIDと、当該ブロックに含まれる画素の範囲を示すデータが記録され得る。
 (ステップS2300)
 距離計測部161は、ステップS2100で決定されたブロックに含まれる各画素について、物体までの距離を計算する。距離計算の方法は、例えば図17Aから図18Bを参照して説明したとおりである。
 (ステップS2400)
 距離計測部161は、ステップS2300で計算された、当該ブロックに含まれる画素ごとの距離を記録媒体150に記録する。ステップS2400の後、ステップS1100に戻る。
 以上のステップS1100からS2400までの動作が、予め設定された全方向への投光が完了するまで、繰り返される。全方向への投光が完了すると、ステップS2500に進む。
 (ステップS2500)
 距離画像生成部162は、記録媒体150に記録された画素ごとの距離に基づいて、全画素の距離情報を画像形式にした距離画像データを生成する。
 (ステップS2600)
 点群データ生成部163は、記録媒体150に記録された画素ごとの距離に基づいて、予め定められた3次元空間座標における点群データを生成する。点群データ生成部163は、イメージセンサ120の位置、およびイメージセンサ120の向きの情報に基づいて、0または無限大以外の値をもつ画素について、座標変換を行う。これにより、距離画像データを点群データへ変換する。点群データ生成部163は、さらに、ステップS2200において記録されたブロックと画素との対応情報を、ブロックと点群との対応情報に変換して記録する。
 (ステップS2700)
 出力部169は、ステップS2600において距離画像から変換された点群データと、ブロックと点群との対応情報に基づいて、出力データを生成する。例えば、図7Aまたは図7Bに示すような、ブロックごとの対応点および詳細時刻の情報と、点群に含まれる各点の3次元空間での位置の情報とを含む出力データが生成される。
 (ステップS2800)
 出力部169は、ステップS2700で生成された1フレーム分のデータを出力する。当該データは、記録媒体150に記録される。
 ステップS1100からS2800の動作により、測距装置100は、1フレーム分の、ブロック単位の詳細時刻情報を含む点群データを生成し、出力することができる。ステップS1100からS2800の動作が、例えば所定のフレームレート(例えば30fps)で繰り返され得る。
 [ステップS2100の詳細動作]
 次に、ステップS2100における動作の詳細を説明する。図22は、ステップS2100の動作の詳細を示すフローチャートである。ステップS2100は、図22に示すステップS2101からS2110を含む。以下、各ステップの動作を説明する。
 (ステップS2101)
 距離計測部161のデータ画素抽出部161aは、ブロック範囲記憶部161bを参照し、当該光ビームの方向に対応する、物体からの反射光を受光し得る画素の範囲を決定する。例えば図20の例では、ステップS1200で決定された光ビームの方向に対応する「画素範囲」を抽出する。光ビームが出射され、物体から拡散した光を歪みのない光学レンズで集光すると、集光された光はイメージセンサ120の受光面の特定の位置で検出される。イメージセンサ120の受光面に直交する方向以外の方向に出射される場合、光が検出される位置は、光ビームの方向を受光面に投影した直線上にあり、物体とイメージセンサ120との距離によって当該直線上のどの位置に入射するかが変化する。
 図23は、光ビームの方向と、物体の位置と、物体による反射光のイメージセンサ120の受光面上への入射位置との関係を示す模式図である。図23において、ビームスキャナ110から出射された光ビームは、実線の矢印L1で表されている。物体が位置165A、165B、165Cのそれぞれに存在する場合に生じる反射光が、破線矢印で示されている。位置165Aに存在する物体からの反射光は、受光面上の位置165aに入射する。位置165Bに存在する物体からの反射光は、受光面上の位置165bに入射する。位置165Cに存在する物体からの反射光は、受光面上の位置165cに入射する。位置165a、165b、および165cは、光ビームL1の経路をイメージセンサ120の受光面を含む平面に投影した直線上にある。図20に示す「画素範囲」は、この直線に沿って設定されており、光ビームの広がり幅に応じた画素の幅が付与されている。この画素範囲は、イメージセンサ120上で反射光を受光し得る範囲を表す。一方、図20に示す「標準画素範囲」は、その光ビームによる反射光を検出し得る最大の距離(例えば100m)に物体が存在すると仮定した場合の反射光を受光し得る画素の範囲を表す。
 (ステップS2102)
 データ画素抽出部161aは、ステップS2101で決定された反射光を受光し得る範囲の画素のうち、すでに記録媒体150に距離が記録されている画素がある場合は、当該画素を反射光を受光し得る範囲の画素から除外する。
 (ステップS2103)
 データ画素抽出部161aは、ステップS2101で決定された範囲の画素であって、ステップS2102で除外されなかった画素について、いずれかの露光期間で受光した画素があるか否かを判断する。この判断がyesの場合、ステップS2104に進む。この判断がnoの場合、ステップS2105に進む。
 (ステップS2104)
 データ画素抽出部161aは、ステップS2103で特定された、いずれかの露光期間で受光した画素が、予め定められたブロックのサイズよりも小さい範囲で分布しているか否かを判断する。予め定められたブロックのサイズは、例えば縦横10画素ずつの大きさであり得る。ステップS2104の判断がyesの場合、ステップS2106に進む。ステップS2104の判断がnoの場合、ステップS2107に進む。
 図24Aは、イメージセンサ120の受光面のうち、受光可能性のある画素範囲A1と、標準画素範囲A2の例を示す図である。図24Bは、いずれかの露光期間で受光した画素Sが、受光可能性のある範囲で予め定められた大きさの範囲A3の内部に分布している状態の例を示す図である。図24Cおよび図24Dは、いずれかの露光期間で受光した画素Sが、受光可能性のある範囲で予め定められた大きさの範囲A3を超えて分布している状態の例を示す図である。図24Bのような場合、ステップS2104において、yesと判断される。一方、図24Cまたは図24Dのような場合、ステップS2104においてnoと判断される。
 なお、特殊なケースとして、図25Aの例のように、受光可能性のある範囲A1の中で、同一の大きさの連続した受光画素Sの範囲が複数検出される場合があり得る。あるいは、図25Bの例のように、受光可能性のある範囲A1に一様に受光画素Sが分布している場合があり得る。これらの例外に対して、図25Aの場合には、例えば、受光可能性のある範囲A1の外を含めて、近傍に受光した画素が多い方の連続した受光画素Sの範囲をブロックとして設定してもよい。図25Bの場合には、例えば、受光画素Sの分布範囲の中央の位置のブロックサイズの領域A3をブロックとして設定してもよい。
 (ステップS2105)
 データ画素抽出部161aは、ブロック範囲記憶部161bに記憶された標準画素範囲をブロックとして設定する。このステップは、例えば図24Aに示すような場合に実行される。ステップS2105を実行した後、ステップS2200に進む。
 (ステップS2106)
 データ画素抽出部161aは、ステップS2101で抽出された、受光可能性のある範囲内で、受光した連続する画素をブロックとして設定する。このステップは、例えば図24Bに示すような場合に実行される。ステップS2106を実行した後、ステップS2200に進む。
 (ステップS2107)
 データ画素抽出部161aは、隣り合う画素がいずれも受光画素である、連続する受光画素の領域を特定する。特定された受光画素が連続する領域のうち、最も大きいもの、すなわち領域に含まれる画素数が最も大きい領域を抽出する。
 (ステップS2108)
 データ画素抽出部161aは、ステップS2107で抽出した受光画素が連続する領域のうち最も大きい領域が、予め定められたブロックサイズ以下であるか否かを判断する。この判断がyesの場合、ステップS2109に進む。この判断がnoの場合、ステップS2110に進む。
 (ステップS2109)
 データ画素抽出部161aは、ステップS2107で抽出された領域をブロックとして設定する。このステップは、例えば図24Cに示すような場合に実行される。ステップS2109を実行した後、ステップS2200に進む。
 (ステップS2110)
 データ画素抽出部161aは、ステップS2107で抽出された領域の中心位置、例えば当該領域に含まれる全受光画素の座標の重心位置を中心として、ブロックを設定する。ブロックの中心位置がステップS2107で抽出した領域の中心と重なるようにブロックを設定してもよい。このステップは、図24Dに示すような場合に実行される。ステップS2110を実行した後ステップS2200に進む。
 [1-3.効果]
 以上のように、本実施形態における測距装置100は、ビームスキャナ110と、イメージセンサ120と、信号処理回路160とを備える。ビームスキャナ110は、異なるタイミングで複数の光ビームを異なる方向に出射する発光装置である。イメージセンサ120は、複数の受光素子のアレイを含み、各光ビームの出射によって生じた前記シーンからの反射光を複数の受光素子によって検出する。信号処理回路160は、イメージセンサ120から出力された信号に基づいて、複数の受光素子のうち、反射光を検出した受光素子にそれぞれ対応するシーン中の複数の点の位置または距離を示すデータを含む出力データを生成して出力する。出力データにおいて、複数の点のデータは、複数のブロックに分類されており、複数のブロックの各々に個別の時刻データが付与されている。あるタイミングにおいて、光ビームは、イメージセンサ120の画角によって規定される範囲の一部のみに出射される。逐次的に光ビームの方向を変更して各画素での距離を計測することにより、イメージセンサ120全体として受光し得るシーンの全域について距離画像を生成できる。1つの距離画像に関しては、ビームごとに計測時刻が異なる。信号処理回路160は、距離画像における複数の画素を、ビームの方向ごとにブロック化し、さらに距離画像から変換した点群データにおける複数の点も同様にブロック化する。ブロックごとに計測時刻を記録することにより、1フレームとして出力される点群データに詳細な時刻を対応付けて出力することができる。
 本実施形態によれば、距離画像の1フレーム単位の計測時刻(例えばミリ秒単位)でなく、フレーム内での光ビームの照射タイミングに対応した詳細な計測時刻(例えばマイクロ秒単位)を画素のブロックごとに記録することができる。このため、例えば本実施形態の測距装置100を備える複数の装置からの情報を正確に統合することが容易になる。本実施形態によれば、物体の3次元の位置情報に加えて、詳細な時刻情報を含む4次元の時空間情報を生成することができる。3次元の位置情報に対応する詳細時刻の出力により、特に移動物体の位置、移動方向、および速度を、より正確に構成することができる。具体的には、事故が生じたときの複数の移動体の位置関係などの交通状況の詳細を再現することが可能になる。
 [実施形態2]
 次に、第2の実施形態による測距装置を説明する。
 前述の各実施形態では光ビームのビーム形状およびビーム径が固定であるが、本実施形態では、ビーム形状およびビーム径がフレームごとに調整可能である。フレームごとにビーム形状およびビーム径が異なるように制御することができる。ビーム径を小さくすることにより、同じ光のエネルギーであれば光ビームは遠くまで到達する。出射される光のエネルギーが同じで、フレームごとに到達距離を調整する場合には、本実施形態のようにフレームごとにビーム形状およびビーム径を調整することが有効である。
 図26Aおよび図26Bは、ビーム径の異なる光ビームの投光による、受光の状態を模式的に示す図である。図26Aは小さいビーム径での受光の状態を示し、図26Bは大きいビーム径での受光の状態を示す。図中の点線の円は、ビームスポットを表し、太線の矩形枠はブロックを表す。ビーム径が小さいと、受光範囲に含まれる画素数は少なくなり、ビーム径が大きいと受光範囲に含まれる画素数は多くなる。このように、ビーム形状およびビーム径の変化に応じて、イメージセンサ120上で、1つの光ビームの方向に対応する画素範囲が変化する。
 本実施形態の測距装置の構成は、図4に示す測距装置100の構成と同じである。ただし、本実施形態では、制御回路130は、光ビームの方向だけでなくフレームごとに光ビームのビーム形状およびビーム径を決定する。記録媒体150には、フレームごとの情報として、光ビームのビーム形状およびビーム径の情報が予め記録されている。
 図27は、本実施形態における記録媒体150に記録される情報の一例を示している。本実施形態では、図6Bに示す情報に代えて、図27に示す情報が記録媒体150に記録される。図6Aおよび図6Cに示す情報は、本実施形態でも同様に記録される。本実施形態では、図27に示すように、ビーム形状およびビーム径を特定するビーム形状IDが、ビーム方向、ブロックに含まれる画素範囲および時刻の情報に関連付けて記録される。
 本実施形態におけるブロック範囲記憶部161b(図19参照)は、ビーム方向と画素範囲と標準画素範囲との対応表を、取り得るビーム形状およびビーム径の数だけ保持する。図28は、本実施形態におけるブロック範囲記憶部161bが記憶する情報の一例を示している。図28の例では、ビーム形状ごとに、各光ビームの方向に対応する、受光する可能性のある画素範囲と、標準画素範囲の情報が予め記録されている。さらに、ビーム形状ごとに、ブロックサイズが記録されている。ブロックサイズは、実施形態1では予め定められた固定値であるが、本実施形態では、ビーム形状ごとに設定されている。
 本実施形態における制御回路130は、図21に示すステップS1100で投光されていない方向があるかどうかを判断する前に、まず、光ビームのビーム形状およびビーム径を決定する。ビーム形状およびビーム径ごとに、イメージセンサ120の検出可能な範囲の全体を網羅する光ビームの方向のリストのデータが、記録媒体150に予め記録されている。制御回路130は、そのリストを参照して、ステップS1100の判断を行う。
 本実施形態におけるデータ画素抽出部161a(図19参照)は、制御回路130から、光ビームの出射時刻の情報とともに、ビーム形状およびビーム径の情報を取得する。データ画素抽出部161aは、そのビーム形状およびビーム径の情報に従って、ブロック範囲記憶部161bに記憶された複数の対応表の中から、当該フレームの光ビームのビーム形状およびビーム径に対応する対応表を選択する。そして、選択した対応表における着目するビーム方向に対応する画素範囲および標準画素範囲の情報に基づき、ブロックを決定する。
 以上のように、本実施形態では、フレームごとに光ビームのビーム形状およびビーム径が決定される。ビームの方向ごとに距離画像の画素をブロック化し、さらに距離画像から変換した点群データの点をブロック化することができる。ブロックごとに計測時刻を記録し、各フレームに対応する点群に詳細な時刻を対応付けて出力することができる。加えて、フレームごとに光ビームの到達距離が異なる仕様においても、フレームごとの光ビームの仕様に合わせて、光ビームごとに点群データをブロック化し、点群のブロックごとに詳細な時刻を出力することができる。
 ビームスキャナ110が任意のビーム形状およびビーム径の光ビームを出射でき、制御回路130がフレームごとに、任意にビーム形状およびビーム径を設定する構成を採用してもよい。その場合、信号処理回路160は、それぞれのビーム方向に対応する画素範囲と標準画素範囲とを都度計算してもよい。その場合、信号処理回路160は、光ビームの出射方向の情報に基づき、出射方向に延びる直線をイメージセンサ120の受光面に投影した直線を求め、画素範囲の中心位置を決定する。そして、ビーム形状およびビーム径の情報に基づいて、受光可能性のある画素範囲の広がりを計算することができる。
 [実施形態3]
 次に、第3の実施形態による測距装置を説明する。
 前述の各実施形態では、光ビームのビーム径は、1フレーム分の距離計測動作中は固定である。これに対し、本実施形態では、1フレーム分の距離計測動作中であってもビーム径が調整可能である。本実施形態における投光には、イメージセンサ120の画角の範囲全体に一度に光を照射することができるフラッシュの投光も含まれる。
 本実施形態の測距装置100の構成は実施形態1の構成(図4参照)と同一である。制御回路130は、記録媒体150に記録された情報を参照してビームスキャナ110が出射する光ビームの径および方向を決定し、ビームスキャナ110の投光のタイミングとイメージセンサ120の露光のタイミングを制御する。
 図29Aは、1つの光源から広角に広がる光であるフラッシュをビームスキャナ110から投光した場合に、イメージセンサ120が物体からの反射光を受光する様子を模式的に示す図である。フラッシュ投光時には、ビームスキャナ110は、イメージセンサ120の画角の範囲を網羅する光50を拡散する。光50が広く拡散されるため、光50は近傍、例えば30m以内にしか届かない。よって、イメージセンサ120は近傍の物体のみから反射光を受光する。従って、図29Aに網掛けで示す、イメージセンサ120の近くにある物体、例えば図の左下に示される自動車と自家用車、および右下に示される人については、反射光が検出され、測距が可能である。
 図29Bは、広がりが小さくエネルギー密度が距離によって減衰しにくい、すなわち遠くまで届く光ビームをビームスキャナ110が出射した場合に、イメージセンサ120が物体からの反射光を受光する様子を模式的に示す図である。図29Aに示すフラッシュ光50とは異なり、光60は、ビーム径は小さいが、長距離、例えば50m以上にまで届き、イメージセンサ120は遠くの物体からも反射光を検出できる。従って、図29Bに網掛けで示される遠くの物体、例えば上部中央のトラックと自家用車からの反射光も検出することが可能である。このように、小径の光ビームを出射することで、遠方の物体も測距可能である。
 図29Cは、図29Aに示すフラッシュの投光による近傍の物体からの反射光と、図29Bに示す小径の光ビームの投光による遠方の物体からの反射光の両方の受光状況を示す模式図である。ここでは説明の便宜上、光ビームのビーム形状は、画角の範囲の全体に広がるフラッシュと、100mまで到達する円形でビーム径の細い光ビームの2種類とする。フラッシュ光50と、遠距離用の光60は、同一フレーム内で、異なるタイミングで出射され得る。光ビームのビーム形状は、これらに限らず、他の形状の光ビームを出射してもよい。図29Cの例では、近くにある自転車、自動車、および人については、フラッシュの反射光をイメージセンサ120が検出することができる。しかし、遠くにある自動車とトラックについては、イメージセンサ120は、フラッシュによる反射光を検出できず、広がり角の小さい光ビームの反射光のみを検出できる。
 図30は、本実施形態における記録媒体150に記録される情報の一例を示している。実施形態1と比較して、図6Bに示す情報の代わりに、図30に示す情報が記録される。図6Aおよび図6Cに示す情報は、本実施形態でも同様に記録される。本実施形態では、フレームごとの情報として、光ビームの種類、すなわちフラッシュか遠距離用の光ビームかが記録される。フラッシュは全方向に広がるため、ビーム方向の情報は記録されない。画素範囲については、フラッシュの反射光を受光する全ての画素が「画素範囲」となり得る。画素範囲の形状が不定であるため、例えば、y座標が同一の画素について、x軸方向に、開始画素の座標と終了画素の座標とを併記する方法で範囲が記録され得る。図29Cの例では、1つのマス目が1つの画素に対応するとし、左上を(0,0)とする。この場合、左下の自動車と自転車からの反射光を受光する画素範囲は(5,1)(5,6)、(6,1)(6,6)・・・(10、1)(10,6)と表される。右下の人からの反射光を受光する画素範囲は、(6、11)(6,13)、(7,11)(7,13)・・・(10,11)(10、13)と表される。なお、実際には、イメージセンサ120の画素は、図29Cに示すマス目よりも遥かに小さいが、図29Cではわかり易さのため、マス目が極端に大きく描かれている。
 図31は、本実施形態の測距装置100の動作の一部を示すフローチャートである。本実施形態では、図21に示すフローチャートのステップS1100の前に、図31に示すステップS3100からステップS3900の動作が追加される。さらに、ステップS1100およびS1200の代わりにステップS4000およびS4100がそれぞれ実行される。これらの点を除き、本実施形態の動作は実施形態1の動作と同じである。図31を参照して、本実施形態の測距装置100の動作を説明する。
 (ステップS3100)
 まず、制御回路130は、フラッシュについてビームスキャナ110の投光が、予め定められた投光回数を満たしたか否かを判断する。この判断がyesの場合、ステップS3400に進む。この判断がnoの場合、ステップS3200に進む。
 (ステップS3200)
 ビームスキャナ110はフラッシュを投光する。投光されるフラッシュは、例えば、矩形状に強度が時間的に変化するパルス光であり得る。パルスの時間長は、例えば100nsであり得る。
 (ステップS3300)
 イメージセンサ120は、予めフラッシュに合わせて設定された露光期間で受光を行う。露光期間として、例えば、前述のように、第1から第3の露光期間が設定され得る。露光の後、ステップS3100に戻る。
 (ステップS3400)
 制御回路130は、ビームスキャナ110がフラッシュを投光した詳細時刻(例えばマイクロ秒単位)の情報を記録媒体150に記録する。ビームスキャナ110は、フラッシュを複数回投光するため、複数の投光時刻に対して1つの時刻を決定する。制御回路130は、例えば、計測の詳細時刻として、フラッシュの1番目の投光の開始時刻を計測の詳細時刻として記憶する。あるいは、計測の詳細時刻は、フラッシュの最後の投光の開始時刻もしくは終了時刻、または、フラッシュの投光のうち投光順の中央に当たる投光の開始時刻もしくは終了時刻等でもよい。また、複数回の投光時刻の平均値を計測の詳細時刻としてもよい。
 (ステップS3500)
 イメージセンサ120は、全画素について、露光期間ごとに蓄積された電荷を出力する。
 (ステップS3600)
 距離計測部161は、フラッシュの投光によって生じた物体からの反射光を、いずれかの露光期間で受光した画素を抽出し、フラッシュに対応する画素範囲として決定する。
 (ステップS3700)
 距離計測部161は、ステップS3600で決定されたフラッシュの画素範囲を、ブロックに対応する画素範囲として記録媒体150に記録する。画素範囲の記述形式は、例えば前述の図30に示す形式であり得る。
 (ステップS3800)
 距離計測部161は、ステップS3700で決定されたフラッシュのブロックに含まれる各画素について、距離を計算する。距離計算の方法は、例えば図17Aから図18Bを参照して説明したとおりである。
 (ステップS3900)
 距離計算部161cは、ステップS3800で計算された当該ブロックに含まれる各画素の距離を記録媒体150に記録する。
 (ステップS4000)
 制御回路130は、記録媒体150に記録された、フラッシュのブロックに対応する画素以外のすべての画素について、当該画素が反射光を受光し得る光ビームの投光方向への投光が行われたか否かを判断する。この判断がyesの場合、ステップS2500に進む。この判断がnoの場合、ステップS4100に進む。
 (ステップS4100)
 制御回路130は、フラッシュのブロックに対応する画素以外のすべての画素のうち、まだ光ビームの反射光を受光していない画素に反射光が入射し得る光ビームの投光方向を決定する。ステップS4100の後、ステップS1300に進む。
 イメージセンサ120の特定の画素が光ビームの反射光を受光し得る光ビームの投光方向は、例えば以下の要領で決定することができる。イメージセンサ120の特定の画素と、イメージセンサ120の受光面に集光する光学系のレンズ中心に当たる位置とを結んだ直線上の物体に光ビームが照射されると、当該画素は光ビームの反射光を受光し得る。光ビームの出射点の位置と画素の位置との間にずれがあるため、物体までの距離に応じて、当該画素が反射光を受光する光ビームの方向は異なる。光ビームの方向を決定する方法の一例として、当該画素が光ビームの反射光を検出し得る最大距離、例えば100mの距離に物体が存在すると仮定した場合に、当該画素が反射光を受光し得る光ビームの方向を計算によって求めることができる。特定の光ビームの方向について、受光可能性のある画素範囲は、例えば実施形態1のステップS2100の動作に関連して説明した方法で決定される。このような方法で、光ビームの反射光をまだ受光していない画素について、順次、当該画素が受光する可能性のある光ビームの方向を決定し、受光可能性のある画素範囲に含まれない画素を減少させることができる。最大距離での光ビームの方向で、反射光を受光可能な画素範囲に含まれることがなかった画素がある場合、光ビームがより近距離にある物体によって反射されるものとして画素範囲を設定し、光ビームの方向を決定することができる。例えば、最大距離の半分の距離で受光可能な画素範囲を設定して光ビームの方向を決定してもよい。フラッシュの反射光を受光しなかった画素について、例えば100mおよび50mの距離に物体が存在するものとして受光可能性のある範囲を設定して光ビームの方向を順次決定することができる。それでも受光しなかった画素がある場合には、物体が存在しないものとして、当該画素の距離を無限大に設定してもよい。
 本実施形態では、光ビームで計測可能な最大距離とその半分の距離での受光可能性のある画素範囲を決定することにより、フラッシュの反射光を受光しなかった画素について網羅的に測距が行われる。光ビームのビーム形状とビーム径に依存して、決定される受光可能な画素範囲に含まれる画素数または画素範囲の大きさは異なる。また、イメージセンサ120における画素の位置とビームスキャナ110の光出射点の位置との差に依存して、視差の大きさが異なる。よって、フラッシュの反射光を受光しなかった画素に対する網羅的測距の手順は、ビーム形状、ビーム径、および視差の大きさに依存して変更され得る。ビーム径が小さく1つの光ビームの反射光を受光し得る画素範囲が小さいほど、想定される距離を精細に設定して光ビームの方向が設定され得る。また、イメージセンサ120の画素の位置とビームスキャナ110の光源位置とのずれに起因する視差が大きいほど、想定される距離を精細に設定して光ビームの方向が設定され得る。
 ステップS3100からステップS2400までの動作を繰り返すことにより、設定された光ビームの組み合わせによって測距可能な画素ごとに、距離情報を取得することができる。信号処理回路160は、ステップS2500およびS2600において、距離画像データおよび点群データをそれぞれ生成する。最終的に、ステップS2800で1フレーム分の点群データが出力される。
 以上のように、本実施形態によれば、1つのフレーム内で、フラッシュを含む投光が繰り返し行われる。光ビームのビーム形状およびビーム径を変更可能にすることで、より少ない投光回数で精度の高い測距を実現することができる。ビームの種類または方向ごとに距離画像の画素をブロック化し、さらに距離画像から変換された点群データの点をブロック化することができる。このような構成により、ブロックごとに計測時刻を記録し、1フレームとして出力される点群データに詳細な時刻を対応付けて出力することができる。さらに、フレームごとに光ビームの到達距離が異なる仕様においても、フレームごとの光ビームの仕様に合わせて、光ビームごとに点群データをブロック化し、点群のブロックごとに詳細な時刻情報を付与することができる。
 [実施形態4]
 次に第4の実施形態による測距装置を説明する。
 本実施形態の測距装置100は、ビームスキャナ110が複数の光ビームを同時に出射する点で、前述の各実施形態と異なる。本実施形態における制御回路130は、ビームスキャナ110から出射される複数の光ビームについて、それらの光ビームの反射光が同一の画素で受光されないように、それぞれの光ビームの方向を調整する。
 本実施形態における制御回路130は、出射する複数の光ビームの組み合わせと、各光ビームの出射のタイミングおよび順序を決定する。制御回路130は、記録媒体150に記録されている情報を参照し、まだ投光されていない光ビームの中で、同時に出射する複数の光ビームの組み合わせを決定する。
 図32は、本実施形態の測距装置100における記録媒体150に記録される情報の一例を示す図である。本実施形態では、図6Bに示す情報に代えて、図32に示す情報が記録される。図6Aおよび図6Cに示す情報は、本実施形態でも同様に記録される。フレーム毎の情報として、ブロックごとにビーム方向と、当該ブロックに含まれる画素範囲とが記録される。実施形態1ではブロックごとに時刻情報が異なるが、本実施形態では、同時に出射された複数の光ビームにそれぞれ対応する複数のブロックが同一の時刻情報を持つ。
 本実施形態の測距装置100の動作は、図21に示す実施形態1の動作と基本的には同じである。ただし、ステップS1200において複数の投光方向が決定される点で異なる。同時に出射される複数の光ビームは、それらの光ビームの経路に沿った複数の直線をイメージセンサ120の受光面に射影することで得られる複数の直線が、互いに重ならない、または交差しないように決定され得る。ステップS1300において、制御回路130は、同時に出射される複数の光ビームの情報を記録媒体150に記録する。また、ステップS1900において、制御回路130は、複数の光ビームの出射時刻として、共通の1つの時刻の値を記録媒体150に記録する。S2000において、イメージセンサ120は、同一の露光期間に複数のブロックの画素の受光データを出力する。ステップS2100において、信号処理回路160は、複数の光ビームの方向のそれぞれについて、対応する画素範囲に含まれる画素について受光の有無を判断し、距離計算すべき画素の範囲すなわちブロックを決定する。ステップS2200において、信号処理回路160は、ステップS1900で記録された時刻と、ステップS2200で決定された複数のブロックにそれぞれ対応する複数の画素範囲とを、光ビームの方向と関連付けて記録媒体150に記録する。
 図33は、本実施形態における測距装置100がステップS2800において出力する出力データの一例を示している。この例では、前述の例と同様、フレーム共通の固定値として、車両を中心とした3次元座標中でのイメージセンサ120の位置座標が3バイトで出力され、当該3次元座標中でのイメージセンサ120の受光面の法線ベクトルが3バイトで出力され、イメージセンサ120の画角が2バイトで出力され、日付が2バイトで出力される。固定値に続いて、フレームごとの情報が出力される。図33の例では、フレームごとの情報として、ブロックごとに時刻および当該ブロックに含まれる点群の位置がまとめて出力される。具体的には、フレームごとに、時刻を共有するブロックの数が1バイトで出力され、それに続いて、それらの複数ブロックに共通の詳細時刻が5バイトで出力される。時刻に続いて、その時刻に測距された1つのブロックについて、ブロック内に含まれる点群の点の数が1バイトで出力され、続いて各点の3次元位置が3バイトで出力される。ブロック内の点の位置情報が連続で出力された後、同一の時刻に計測された他のブロックについても同様に、ブロック内に含まれる点群の点の数が1バイトで出力され、各点の3次元位置が3バイトで連続で出力される。時刻情報を共有するブロックの数だけ点数と位置情報の列が反復される。同一時刻のブロックの情報がすべて出力されると、再び、時刻を共有するブロックの数の情報と時刻、ブロックに含まれる点群の各点の位置データが続く。
 以上のように、本実施形態の測距装置100によれば、複数の光ビームを同時に出射し、同一の時刻情報を持つ複数の画素ブロックのデータが出力される。異なる方向に複数の光ビームを同時に出射し、方向の組み合わせを変化させながら対象シーンをスキャンすることで、シーン全体のスキャンに要する時間を短縮することができる。さらに、複数のブロックに対応付けて1つの時刻情報を出力することで、出力データの量を削減することができる。
 本実施形態によれば、光ビームの方向ごとに距離画像の画素がブロック化され、さらに距離画像から変換された点群データの点もブロック化される。これにより、ブロックごとに計測時刻が記録され、1フレーム分のデータとして出力される点群データの各ブロックに詳細な時刻を対応付けて出力することができる。さらに、フレームごとに光ビームの到達距離が異なる仕様においても、フレームごとの光ビームの仕様に合わせて、光ビームごとに点群データをブロック化し、点群のブロックごとに詳細な時刻を出力することができる。
 [実施形態5]
 次に、第5の実施形態による測距装置を説明する。
 前述の各実施形態では、光ビームが出射された時刻を測距が行われた詳細な時刻として記録される。これに対し、本実施形態では、測距の詳細な時刻として、イメージセンサ120が反射光を受光した露光期間に関連付けられた時刻が記録される。
 本実施形態の測距装置の構成は、図4に示す実施形態1の測距装置100の構成と同じである。本実施形態では、信号処理回路160が、イメージセンサ120の各画素によって反射光が検出されたタイミングをクロック140が生成する時刻と照合し、反射光の受光タイミングの詳細な時刻情報を生成する。信号処理回路160は、生成した詳細な時刻情報を、ブロックの画素範囲と関連付けて記録媒体150に記録する。
 図34Aおよび図34Bは、本実施形態において記録媒体150に記録される情報の例を示す図である。本実施形態では、図6Bに示す情報の代わりに、図34Aおよび図34Bに示す情報が記録される。図6Aおよび図6Cに示す情報は、本実施形態でも同様に記録される。
 図34Aに示すように、信号処理回路160は、イメージセンサ120の露光期間ごとに、露光タイミングの詳細時刻を記録媒体150に記録する。本実施形態では間接ToF方式による測距が行われるため、1回の投光のタイミングに対して2つ以上の露光期間が設定される。そのため、図34Aに示すように、投光ごとに設定された複数の露光期間のうちのいずれの露光期間かを示す情報とともに、露光時刻が記録される。記録される時刻は、例えば露光開始時刻または露光終了時刻であり得る。時刻は、例えばマイクロ秒単位またはナノ秒単位で記憶され得る。
 各ブロックの画素範囲が決定された後、図34Bに示すように、各ブロックの画素範囲とブロックごとの計測時刻とが関連付けられて記録される。この計測時刻は、図34Aに示す露光時刻に基づき、信号処理回路160によって決定される。
 図35は、本実施形態における測距装置の動作の一例を示すフローチャートである。実施形態1における動作(図21参照)と同じ動作については同一の符号を付している。ステップS1100からS1700、S2100からS2800の動作は、図21に示す動作と同一である。本実施形態では、ステップS1700の後、ステップS4000、S4100、S4200が追加され、ステップS1900およびS2000の代わりにステップS4300、S4400、S4500、S4600が追加されている。以下、これらの各ステップを説明する。
 (ステップS4000)
 イメージセンサ120は、ステップS1500で決定された露光期間の受光を行い、受光した旨を示す受光信号を信号処理回路160に出力する。受光信号は露光開始時または露光終了時に出力され得る。
 (ステップS4100)
 信号処理回路160は、ステップS4000でイメージセンサ120から受光信号を取得したタイミング、すなわち露光開始時または露光終了時の詳細時刻をクロック140から取得し、露光時刻として記録媒体150に出力する。
 (ステップS4200)
 記録媒体150は、ステップS4100で生成された露光時刻を記憶する。ステップS4200の後、ステップS1600に戻る。
 (ステップS4300)
 1つの光ビームについて、全露光期間での露光が完了すると、イメージセンサ120は、全画素について、露光期間ごとに蓄積された電荷の量を示す信号を出力する。
 (ステップS4400)
 信号処理回路160は、ステップS4300で出力された信号に基づき、いずれかの露光期間で0でない値を持つ画素があるか否かを判断する。この判断がyesの場合、ステップS4500に進む。この判断がnoの場合、ステップS4600に進む。
 (ステップS4500)
 信号処理回路160は、記録媒体150に記憶された露光時刻を参照し、距離が計測された詳細時刻を決定する。信号処理回路160は、決定した測距の詳細時刻を記録媒体150に出力する。記録媒体150は、図34Bに示すブロックに対応する時刻として記録する。さらに、記録媒体150は、図34Aの露光ごとの時刻の情報を消去する。測距の詳細時刻の決定について、露光時刻は複数回分が記録されているため、例えば受光した画素があった露光期間の最初の露光時刻が採用され得る。あるいは、受光した画素があった露光期間の最後の露光時刻、または複数回の露光期間の中央の露光時刻を採用してもよい。また、受光した画素があった露光期間の時刻の平均値を採用してもよい。
 (ステップS4600)
 記録媒体150は、図34Aに示す露光ごとの時刻の情報を消去する。ステップS4600の後、ステップS1100へ戻る。
 本実施形態によっても、実施形態1と同様の効果を得ることができる。なお、光ビームの出射に関しては、実施形態1と同様の構成に限らず、実施形態2から4のいずれかの構成を採用してもよい。
 [実施形態6]
 次に、第6の実施形態による車両制御システムを説明する。
 図36は、本開示の第2の実施形態に係る車両制御システム1000の構成を示すブロック図である。この車両制御システム1000は、点群データ取得システム200と、自動運転制御システム700とを含む。点群データ取得システム200は、複数の測距装置100Aと、プロセッサ190とを備える。自動運転制御システム700は、プロセッサ710と、記録媒体720と、出力インタフェース730とを備える。
 各測距装置100Aは、実施形態1から5のいずれかにおける測距装置100と同様の構成を備える。図36では、1つの測距装置100Aのみ、その構成が示されている。複数の測距装置100Aは、いずれも同等の機能を有し、車両の異なる位置に配置されている。各測距装置100Aは、信号処理回路160が点群データではなく距離画像データを出力する点で前述の各実施形態における測距装置100とは異なる。本実施形態において、点群データは、測距装置100Aの外部に配置された処理装置であるプロセッサ190によって生成される。プロセッサ190は、複数の測距装置100Aからそれぞれ出力される複数の距離画像データを1つの点群データに統合して出力する。プロセッサ190は、点群データ生成部191と、点群データ出力部192とを備える。点群データ生成部191および点群データ出力部192の各々は、専用の回路として実現されていてもよい。あるいは、プロセッサ190がコンピュータプログラムを実行することにより、点群データ生成部191および点群データ出力部192として機能してもよい。
 各測距装置100Aは、実施形態1における動作と同様の動作を実行することにより、ブロックごとに時刻情報が付与された距離画像データを生成する。このデータには、ブロックごとの時刻情報と、ブロックと画素との対応関係を示す情報とが含まれる。このデータは、点群データ生成部191に送られる。各測距装置100Aの動作は、ステップS2500までは図21に示す動作と同一である。以下、図37を参照して、ステップS2500以降の動作を説明する。
 図37は、本実施形態における測距装置100Aの動作のうち、図21に示す動作とは異なる部分を示している。図21に示すステップS1100からステップS2400の動作により、記録媒体150に、図6Aから図6Cに例示されるようなデータが記録される。すなわち、図6Aに例示される複数フレームに共通の情報と、図6Bに例示されるフレームごとの情報と、図6Cに例示される少なくとも1フレーム分の画素ごとの距離情報とが記録される。以後、信号処理回路160は、図37に示すステップS2500からS2750の動作を実行する。各ステップの動作は以下のとおりである。
 (ステップS2500)
 信号処理回路160は、記録媒体150に記録された画素ごとの距離に基づいて、全画素の距離情報を画像形式にした距離画像を生成する。
 (ステップS2710)
 信号処理回路160は、ステップS2500で生成された距離画像と、記録媒体150に記録された、複数フレームに共通の情報、ブロックと画素との対応情報、および時刻情報とに基づいて、出力データを生成する。このデータには、ブロックごとの時刻情報と、ブロックと画素との対応関係を示す情報とが含まれる。このデータは、点群データ生成部191に送られる。
 図38Aは、測距装置100Aにおける信号処理回路160から出力されるデータのフォーマットの一例を示す図である。図7Aの例と同様、複数のフレームに共通のデータである固定値と、フレームごとに異なるデータとが出力される。固定値は、例えばイメージセンサ120の車両内での位置、イメージセンサ120の受光面の法線方向、イメージセンサ120の画角、および日付を示す値を含み得る。イメージセンサ120の位置は、例えば3バイトの値で表現され得る。受光面の法線方向は、例えば3バイトの値で表現され得る。画角は、例えば2バイトの値で表現され得る。日付は、例えば2バイトの値で表現され得る。図38Aの例では、フレームごとの出力データは、ブロックごとのデータとして、当該ブロックに含まれる画素数、当該ブロックの計測時刻、および当該ブロックに含まれる複数の画素のそれぞれについて計算された距離の情報を含む。ブロックに含まれる画素数は、例えば1バイトで表され得る。計測時刻は、例えばマイクロ秒単位で5バイトで表され得る。ブロック内の各画素の距離は、例えば1バイトで表され得る。ブロックごとの画素数、時刻、画素ごとの距離のデータセットをブロック数だけ反復することで、1フレームのデータの出力が完了する。なお、図38Aの例ではブロック数は既知の固定値である。
 図38Bは、出力データ形式の他の例を示している。この例では、図7Bの例と同様、固定値にブロック数の情報が含まれている。また、各画素にIDが付与されている。ブロック数は、例えば1バイトで表され得る。フレームごとに、各々のブロックに含まれる複数の画素の範囲、すなわち開始点と終了点の画素のIDが例えば2バイトで表され得る。続いて、各ブロックに対応する計測時刻が例えば5バイトで表され得る。最後に、各画素について計測された距離が1バイトで表され得る。
 なお、複数の測距装置100Aのそれぞれを識別するID情報が、複数フレームに共通する情報に含まれていてもよい。
 (ステップS2720)
 信号処理回路160は、ステップS2710で生成した距離画像データとブロックごとの計測時刻を含むデータを、点群データ生成部191に出力する。
 (ステップS2730)
 点群データ生成部191は、複数の測距装置100Aから取得した複数の距離画像を統合して点群データを生成する。具体的には、点群データ生成部191は、複数の測距装置100Aから、ブロックごとの距離画像データと測定時刻とを逐次取得する。一例においては、取得した複数フレームの距離画像のうち、ブロックごとの測定時刻が一定時間の範囲内にある距離画像を、点群データにおける1つの「フレーム」として統合する。他の例においては、1フレームの距離画像中において、ブロックごとの測定時刻が一定時間の範囲内にあるブロックを点群データにおける1つの「フレーム」として統合する。後者の例では、1つの距離画像中のデータが、点群データにおける複数の「フレーム」に分割され得る。一定時間は、例えば30ミリ秒程度であり得る。取得した距離画像の画素のうち、0または無限大以外の値をもつ画素について、各測距装置100Aから取得したイメージセンサ120の位置および方向の情報に基づいて、距離画像データの画素ごとの距離情報を、車両制御システム1000の持つ3次元座標中の点群データに変換する。3次元座標は、例えば当該車両の中心を原点とした3次元座標であり得る。さらに、点群データの変換元である距離画像における画素とブロックとの対応を、点群データの点とブロックとの対応情報として生成し、各ブロックの計測時刻と点群データとの対応情報を生成する。
 (ステップS2740)
 点群データ出力部192は、ステップS2730で生成された点群データ、データ点とブロックとの対応情報、およびブロックごとの計測時間情報を出力データ列として生成する。この出力データ列は、自動運転制御システム700におけるプロセッサ710に送られる。
 図39Aは、出力データ列のデータ形式の一例を示している。この例では、データ列ごとに、1バイトでブロック数が出力され、続いて、ブロックごとに、ブロック内に含まれる点数が1バイトで、時刻が5バイトで、各点の3次元位置情報が3バイトで出力される。
 図39Bは、出力データ列のデータ形式の他の例を示している。この例では、データ列ごとに、1バイトでブロック数が、1バイトで全点数がまず出力され、続いて、ブロックの対応点が2バイトでブロック数分出力され、時刻が5バイトでブロック数分出力され、各点の3次元位置情報が3バイトで全点数分出力される。
 なお、図39Aおよび図39Bの例において、データ列毎の識別子(ID)が付与されてもよい。識別子はデータ列毎に1ずつ増えるものとし、所定の数で0にリセットされてもよい。また、取得されたセンサ情報をデータ列に含めてもよい。例えば、イメージセンサを含むセンサ群の数、およびそれぞれのセンサの固定値(例えば、位置、方向、画角)がデータ列に含まれていてもよい。それぞれのブロックが複数のセンサのうちのどのセンサで取得されたかを示す情報として、ブロックごとにセンサIDを付与してもよい。
 自動運転制御システム700は、点群データ取得システム200から逐次取得した点群データに基づき、車両の自動運転制御を行う。自動運転制御システム700の記録媒体720には、地図データなどの各種のデータが記録されている。各種のデータは通信により都度取得および更新されてもよい。プロセッサ710は、地図データと、点群データ取得システム200から逐次取得した点群データに基づき、複数の操作系に適切な指令を送る。操作系には、例えば、アクセル、ブレーキ、ステアリングなどの機構が含まれる。本実施形態によれば、点群データ取得システム200から、適切に時刻合わせされた点群データが送られるため、時刻の誤差に起因する誤認識の可能性を低減することができる。
 上記の各実施形態では、データ形式の一例を示したが、その他のデータ形式が用いられてもよい。例えば、それぞれのデータのバイト数は前述の値に限らず、他の固定値であってもよいし、可変であってもよい。可変の場合は、別途バイト長がデータに含まれるようにしてもよい。また、ブロック、フレーム、またはセンサ毎のデータの切れ目を示す情報として、所定のデータ形式の同期情報またはデリミタが用いられてもよい。データを解析する際に、同期情報を取得した後、データの解析が可能となる。データにデータ長またはデータ数の情報を含めることにより、データの切れ目を示してもよいし、同期情報とデータ長またはデータ数とを組み合わせることによってデータの切れ目を示してもよい。それぞれのデータをパケット形式としてもよい。パケットには、例えばパケットの種別、長さ、またはデータなどを示し、パケットヘッダにデータ共通の情報を示してもよい。
 なお、出力ファイルに、時刻同期に用いたプロトコルまたは基準にしたサーバ情報等、点群の統合時に必要な時刻補助情報を付加してもよい。
 上記の各実施形態では、距離を計測する方法として間接ToF法が用いられるが、直接ToF法を用いてもよい。その場合には、イメージセンサ120は、タイマーカウンタを備える受光素子の2次元アレイを備えるセンサで置き換えられる。直接ToFによる距離計測では、光ビームの出射と同時にイメージセンサ120の露光が開始され、さらに同時にタイマーカウンタの動作が開始される。イメージセンサ120の受光素子が1つの光子を受光した時点で、タイマーカウンタの動作が停止される。光ビームが到達し、反射光が受光可能な最大距離に対応する時間長以上の時間長を露光時間とし、露光時間内に受光がなかった場合は距離が無限大とされる。直接ToF法では僅かな光をとらえて時間を計測するため、実際の距離計測時には複数回の距離計測を行い、得られた時間長の平均値をとる等の方法により、計測値を決定してもよい。前述の実施形態と同様に光ビームの投光時刻が各ブロックの計測時刻として設定され得る。複数の投光によって距離を計測する場合には、最初の光ビームの投光時刻、最後の光ビームの投光時刻、または当該方向の全光ビームの投光時刻の中央値等が、計測時刻として設定され得る。
 点群データを符号化または圧縮して出力してもよい。符号化の際には、例えば図40Aおよび図40Bに示すようなファイルフォーマットを用いてもよい。図40Aおよび図40Bの例では、点の位置情報に時刻情報そのものではなく、時刻IDが付加され、各時刻IDの実際の時刻は別領域(例えばヘッダの上位)に記述される。時刻の総数はフレーム内のブロック数に一致する。つまり時刻IDの範囲は0からブロック数-1である。これにより、各点の属性情報として時刻を付加することで、符号化の観点では処理が行いやすく、符号化効率を上げやすくなる。すなわち、時刻IDを使用することで、圧縮時にはID付加による冗長部も含めてデータ量が削減される。例えばマイクロ秒の精度の場合、時刻情報の値の範囲が0~59999999で26bitと膨大である。複数の点に同じ時刻が付加される場合、時刻の値そのものの代わりに、時刻IDを各点に付加することでデータ量を削減できる。時刻IDに必要なビット数は、フレーム内のブロック数に依存するが、例えばブロック数が256個の場合は8bitと、26bitより小さくてすむ。
 このように、時刻IDを使用することにより、データサイズを抑えつつ、符号化に適したファイルフォーマットを実現することができる。なお、同じ時刻IDが付与された点は同じブロックに属しているため、時刻IDは、ブロックと各ブロックに属する点との対応関係を示すデータであるといえる。
 [実施形態7]
 次に、第7の実施形態によるシステムを説明する。本実施形態のシステムは、複数の測距装置から出力データを取得し、それらの出力データを統合して新たな点群データを生成する。実施形態6におけるシステムとは異なり、本実施形態では、各測距装置は、必ずしもブロック毎に時刻が付与されたデータを出力するように構成されていなくてもよい。各測距装置は、例えば、複数の点のそれぞれに個別に詳細な時刻が付与された出力データを生成してもよい。複数の測距装置からの出力データを統合するシステムには、例えば以下の3つの例がある。
 第1の例では、システムは、複数の測距装置から、測距装置ごとに設定された3次元座標系で表現された複数の点の位置または距離を示すデータを取得し、それらのデータを1つの3次元座標系で表現された点群データに変換することによって統合する。各測距装置は、位置または距離の情報とともに、測距時の詳細時刻の情報を含むデータを出力する。システムは、複数の測距装置から送信された、詳細時刻の情報と3次元の位置情報とを統合することにより、4次元の点群データを生成して出力する。このようなシステムは、例えば実施形態6のような自動運転車両の制御システム、または複数の固定センサによって周辺環境を監視する監視システムであり得る。
 第2の例におけるシステムは、比較的小規模なサーバシステムである。サーバシステムは、例えば、図2に示す固定体システム400に搭載された情報処理装置をサーバとして備え得る。そのようなサーバシステムは、当該固定体システム400の周囲に位置する複数の端末システムをさらに備え得る。各端末システムは、例えば第1の例のようなシステムであってもよい。そのような例では、各端末システムは、それぞれに固有の座標系で表現された点群データを出力するように構成される。サーバは、それらの点群データを統合して、新たな点群データを生成する。このとき、サーバは、点群の位置に加えて、点ごとに付与された詳細な時刻を含めた4次元のデータを生成する。各端末システムが移動体に含まれる場合、サーバは、各端末システムの位置および姿勢を示すデータを取得する。例えば、サーバは、各端末システムの座標系の原点が、サーバの座標系においてどの位置にあるかを示すデータと、各端末システムの座標系の、サーバの座標系に対する回転角を示すデータとを取得する。各端末システムの位置を、サーバ自身あるいは周辺の固定システムに含まれる測距装置群によって得られた点群データから生成してもよい。複数のシステムが出力する4次元の点群データには重なりがある可能性がある。点群の測距時刻が同一、あるいは測距時刻の差がごく小さい(例えば、10μ秒以下)にも関わらず、それらの点群の位置のぶれが大きい場合、いずれかの点のデータの信頼性が低いと考えられる。そこで、各システムの状態に基づいて、システム単位の点群ごと、あるいは各データ点ごとに信頼度を求め、信頼度に従って点群の統合を行ってもよい。例えば、信頼度の低いデータ点を信頼度の高いデータ点にマージしてもよい。このように、第1の計測データと第2の計測データとの統合は、第1の計測データおよび第2の計測データの中で、時空間領域で互いに重なりのあるデータを、第1の計測データの信頼度および第2の計測データの信頼度に基づきマージすることを含み得る。この例において、信頼度は、例えば以下の(a)から(c)のうちの少なくとも1つに基づいて決定され得る。
 (a)第1の計測データを生成した第1の計測装置の移動速度、および第2の計測データを生成した第2の計測装置の移動速度のうちの少なくとも一方
 (b)第1の計測装置および第2の計測装置のうちの少なくとも一方の位置および姿勢と、太陽の方向との関係
 (c)第1の計測データが示す複数の点の空間密度、および第2の計測データが示す他の複数の点の空間密度のうちの少なくとも一方
 第2の例におけるサーバは、例えば信号機または街灯などの固定体に設置された交通状況監視用のローカルサーバであり得る。あるいは、サーバは、複数のセキュリティロボットを含むセキュリティシステムにおけるサーバであってもよい。そのようなセキュリティシステムは、例えばビルを監視する用途で使用され得る。サーバは、複数のセキュリティロボットに搭載されたカメラから送信されたデータを統合して点群データを生成してもよい。
 第3の例におけるシステムは、例えば図1および図2に示すサーバ500のような、比較的大規模な演算を行うサーバを含む。この例におけるサーバ(以下、「大規模サーバ」と称する。)は、第1の例のような端末システムから出力されるデータと、第2の例のような小規模サーバから出力されるデータとを取得する。大規模サーバは、広域の地図データを記憶している。大規模サーバは、地図データと、個々の端末システムおよび小規模サーバのそれぞれの位置および姿勢のデータとに基づいて、各端末システムおよび各小規模サーバから取得した点群データを統合する。例えば、大規模サーバは、取得したそれぞれの点群データにおける各点の位置を地図データと共通の3次元座標系における位置に変換して統合する。点群データの統合にあたって、地図データに示された建造物などの構造物の配置と、端末システムまたは小規模サーバから取得したデータ点との間の矛盾が生じる場合がある。そのような矛盾を解消するために、例えば、地図データに示された構造物の位置と矛盾するデータ点を削除し、削除したデータ点を含む点群データの信頼度を下げてもよい。点群の測距時刻が同一、あるいは測距時刻の差がごく小さい(例えば、10μ秒以下)にも関わらず、それらの点群の位置のぶれが大きい場合、いずれかの点のデータの信頼性が低いと考えられる。そこで、例えばデータ点の空間密度の関数として各点の位置データの信頼度を求め、その信頼度を点群データの付加情報として記録してもよい。あるいは、第2の例のように、信頼度に基づいてデータ点をマージしてもよい。信頼度は、第2の例で示した例の他にも、例えば、計測データが示す複数の点の位置と、地図データに示された1つ以上の構造物の位置との関係に基づいて決定され得る。例えば、端末システムまたは小規模サーバから出力された点群データのうち、地図データと矛盾した点がある場合、矛盾した点の割合に応じて信頼度を決定してもよい。
 大規模サーバの具体的な例は、例えば、交通情報センターに設置されるサーバのような、複数の移動体の動的状態を監視して記録するサーバであり得る。あるいは、大規模サーバは、ビル等のセキュリティセンターに設置されたサーバであってもよい。
 上記の第1から第3の例のいずれにおいても、各測距装置は、計測データに詳細な時刻データを付加して出力する。これにより、データを取得するサーバは、各測距装置の出力の時間単位であるフレーム間隔(例えば33ミリ秒間隔)よりも詳細な時間単位(例えばマイクロ秒単位)でデータ点の計測時刻を取得できる。サーバは、複数の測距装置から取得した3次元の位置データに時刻データを加えた4次元データとして統合する。点ごとあるいはブロックごとに詳細な時刻の情報が得られるため、複数の測距装置、あるいは測距装置を含む複数のシステムの間で、フレーム動作の同期をとる必要がない。よって、出力されるフレームの時間単位に拘束されずにデータを統合することができる。また、統合によって生成した時空間座標データから、任意の領域を抽出して処理することができる。これにより、環境の状態を詳細に再現または分析することが可能になる。例えば、対象物の移動状況をマイクロ秒単位で抽出することができる。
 以下、上記の第1から第3の例におけるシステムをより具体的に説明する。
 <第1の例>
 図41は、第1の例における車両制御システム1000の構成を示すブロック図である。この車両制御システム1000は、複数(n個)の測距装置100Ai(i=1,2,・・・,n)と、自動運転制御システム800とを含む。自動運転制御システム800は、受信装置810と、プロセッサ820と、記録媒体830と、出力インタフェース840とを備える。
 測距装置100Aiは、実施形態1から5のいずれかにおける測距装置100と同様の構成を備える。ただし、本実施形態における測距装置100Aiは、距離画像データと、画素ごとの詳細時刻のデータとを出力する。複数の測距装置100Aiはいずれも同等の機能を有し、車両の異なる位置に配置されている。各測距装置100Aiは、受信装置810と無線または有線で接続されている。
 受信装置810は、複数の測距装置100Aiが出力するデータを取得する。受信装置810は、各測距装置100Aiから、フレームに共通のデータと、フレームごとに異なるデータとを取得する。フレームに共通のデータは、例えば測距装置100Aiの位置および姿勢を示すデータを含む。フレームごとに異なるデータは、距離画像データと、画素ごとの測距時の詳細時刻データとを含む。
 プロセッサ820は、記録媒体830に格納されたプログラムを実行することにより、受信装置810が順次取得する測距装置100Aiからの出力データを1つの統一された座標系で表された点群データに変換する。具体的には、各測距装置100Aiから出力される当該測距装置100Aiの位置および方向の情報に基づいて、距離画像データを、当該車両の統一座標系で表現された点群データに変換する。統一座標系として、例えば、当該車両の重心を原点とし、x軸と奥行方向のd軸とを含む平面が水平面に並行になる座標系が用いられ得る。プロセッサ820は、さらに、生成した点群データと、記録媒体830に格納された地図データとに基づいて、周辺環境の認識処理を行う。そして、プロセッサ820は、認識結果に基づいて車両の動作を決定し、ステアリング、エンジン、ブレーキ等の操作系に制御信号を出力する。
 記録媒体830は、プロセッサ820によって生成された、統一座標系で表現された点群の位置と、各点の詳細な計測時刻とを合わせた4次元データを記憶する。図42は、記録媒体830が記憶する内容の一例を示している。図42の例では、各点の4次元情報と合わせて、各点がどの測距装置によって得られた点であるかを示す情報とが関連付けられて記録される。
 本実施形態における動作は、図37を参照して説明した実施形態6における動作と同様である。ただし、本実施形態では、以下の点が実施形態6とは異なっている。実施形態6では、車両制御システム1000とは別に設けられたプロセッサ190が複数の測距装置100Aから出力された複数の距離画像データを1つの点群データに統合する。これに対し、本実施形態では、自動運転制御システム800におけるプロセッサ820が上記の統合処理を実行する。自動運転制御システム800における受信装置810は、ステップS2720で出力された詳細な時刻データが付加された距離画像データを、複数の測距装置100Aiから取得する。プロセッサ820は、これらのデータを、1つの点群データに統合する。
 <第2の例>
 図43は、第2の例における交通情報システム2000の構成を示すブロック図である。この交通情報システム2000は、複数の車両制御システム1000と、固定体システム400とを含む。固定体システム400は、複数の測距装置100Aと、通信回路420と、プロセッサ430と、記録媒体440とを備える。
 各車両制御システム1000は、第1の例における車両制御システム1000に相当する。図43では、簡単のため、複数の車両制御システム1000の1つについてのみ、構成要素が図示されている。各車両制御システム1000は、前述の複数の測距装置100Ai、プロセッサ820、記録媒体830に加えて、通信回路840を備える。通信回路840は、固定体システム400における通信回路420との間で無線通信を行うことができる。各車両制御システム1000は、記録媒体830に記録された4次元の点群データを出力する。出力されるデータには、4次元点群データに加えて、当該車両の位置、走行速度、および走行方向を示すデータが含まれ得る。出力は、例えば周期的に行われる。例えば、33m秒に1回点群データが出力され得る。点群データの出力のタイミングは車両制御システム1000ごとに異なっていてもよい。出力された点群データは、固定体システム400に送られる。
 交通情報システム2000は、固定体システム400の周辺の限られた空間の範囲内に位置するもののみで構成される。例えば、固定体システム400は交差点に設置された信号機のうちの1つに設置され得る。交通情報システム2000は、例えば固定体システム400の周囲の半径50m以内に位置する1つ以上の車両制御システム1000を含み得る。領域内に車両制御システム1000がない場合、交通情報システム2000は、固定体システム400のみを含む。
 固定体システム400における各測距装置100Aは、車両制御システム1000における測距装置100Aiと同様の構成を備える。
 通信回路420は、車両制御システム1000から送信された点群データを受信する。通信回路420はまた、プロセッサ430による後述の処理によって生成されたデータを車両制御システム1000に送信する。
 プロセッサ430は、車両制御システム1000から取得した点群データと、測距装置100Aから出力された距離画像データまたは点群データを取得し、それらのデータを、固定の3次元座標系で表現された点群データに統合する。プロセッサ430はまた、当該点群データの各点に詳細な計測時刻のデータを付加した4次元データを生成する。プロセッサ430は、さらに、当該4次元データに基づき、時刻ごとの周辺環境の認識または分析の処理を行い、処理結果を示すデータを生成してもよい。
 記録媒体440は、通信回路420が取得した点群データ、および各測距装置100Aが取得した距離画像データを記憶する。さらに、記録媒体440は、プロセッサ430によって生成された4次元データを記憶する。
 図44は、固定体システム400におけるプロセッサ430が実行する動作の一例を示すフローチャートである。プロセッサ430は、図44に示すステップS5110からS5220の動作を実行することにより、複数の車両制御システム1000および複数の測距装置100Aから順次取得したデータを統合し、4次元座標系で表現されたデータを生成する。以下、各ステップの動作を説明する。
 (ステップS5110)
 まず、プロセッサ430は、図示されていない入力手段から入力された動作の終了を指示する終了信号の有無を判断する。ステップS5110において終了信号が入力されている場合、すなわちステップS5110においてyesの場合、動作を終了する。ステップS5110において終了信号が入力されていない場合、すなわちステップS5110においてnoの場合、ステップS5120に進む。
 (ステップS5120)
 プロセッサ430は、処理すべきデータがあるか否かを判定する。具体的には、通信回路420が車両制御システム1000からの出力データを受信したか、あるいは、測距装置100Aがデータを出力したか否かが判定される。ステップS5120において通信回路420がデータを受信した場合、または測距装置100Aがデータを出力した場合、ステップS5130に進む。ステップS5120において通信回路420がデータを受信しておらず、測距装置100Aが出力したデータがない場合、ステップS5120の動作を繰り返す。
 (ステップS5130)
 プロセッサ430は、通信回路420が受信したデータ、あるいは測距装置100が出力したデータを取得する。取得するデータは、例えば点群データまたは距離画像データである。以下、この取得したデータを「測距データ」と称する。
 (ステップS5140)
 プロセッサ430は、ステップS5130で取得した測距データのうち未処理のデータが残っているか否かを判断する。ステップS5140において未処理のデータが残っている場合、ステップS5150に進む。ステップS5140において未処理のデータが残っていない場合、ステップS5120に戻る。
 (ステップS5150)
 プロセッサ430は、処理対象のデータが移動体すなわち車両制御システム1000からのデータか、固定体すなわち測距装置100Aからのデータかを判断する。ステップS5150において処理対象のデータが移動体からのデータである場合、ステップS5160に進む。ステップS5150において処理対象のデータが固定体で生成されたデータである場合、ステップS5190へ進む。
 (ステップS5160)
 プロセッサ430は、処理対象の測距データの各データ点に対応する詳細時刻を抽出する。プロセッサ430は、さらに、処理対象の測距データを出力した車両制御システム1000の、抽出された詳細時刻における位置データを取得する。車両制御システム1000の位置データとして、例えばGPSから取得した位置データを用いてもよい。その場合、車両制御システム1000は、例えばフレームごとに、GPSから取得した位置データを固定値として出力する。プロセッサ430は、連続する2つのフレーム間の位置の移動をフレーム間隔の時間幅に基づいて線形補完することにより、各詳細時刻における車両制御システム1000の位置を算出してもよい。
 (ステップS5170)
 プロセッサ430は、固定体システム400における測距装置100Aによる測距データの中に、当該詳細時刻の近傍の時刻に取得された測距データがあるか否かを判断する。近傍の時刻は、例えば当該詳細時刻の前後500μs程度であり得る。ステップS5170において測距装置100Aによる測距データがある場合、ステップS5180に進む。ステップS5170において測距装置100Aによる測距データがない場合、ステップS5190に進む。
 (ステップS5180)
 プロセッサ430は、ステップS5170で特定された測距装置100Aによる測距データに基づき、点群データを生成する。プロセッサ430は、データ点をクラスタリングし、ステップS5160で決定された車両制御システム1000の位置に最も近い車両に相当するクラスタを抽出する。そして、車両制御システム1000の位置を、抽出したクラスタの重心の座標に変更する。
 (ステップS5190)
 プロセッサ430は、各データ点の座標値を固定体システム400の固定座標系での座標値に変換する。車両制御システム1000から取得したデータ点については、ステップS5160からステップS5180までの動作で決定された車両制御システム1000の位置を基準に車両制御システム1000の座標が設定される。プロセッサ430は、車両制御システム1000の座標系で表現された各データ点の位置座標を、固定体システム400の固定座標で表現された位置座標に変換する。
 (ステップS5200)
 プロセッサ430は、ステップS5190で固定座標系に統合された点群データに、各データ点に対応する詳細時刻を付加することにより、4次元データとしての点群データを生成する。そして、4次元データ中で、処理対象のデータに対応する時刻およびその近傍(例えば前後500μs程度)の点群データを抽出する。
 (ステップS5210)
 プロセッサ430は、ステップS5200で抽出した点群データをクラスタリングする。クラスタ周辺においてデータ点の密度が低く、いずれのクラスタにも含まれなかった点が分布する領域は、位置ずれしたデータ点とみなされる。プロセッサ430は、クラスタに含まれるデータ点および位置ずれしたデータ点について、どの車両制御システム1000または測距装置100Aに由来するかを判断し、それらのデータ点の信頼度を抽出する。プロセッサ430は、信頼度の高いデータ点のみでクラスタを再作成する。元のクラスタから位置ずれしたデータ点に含まれる信頼度の低いデータ点については、再作成したクラスタと重なるデータ点の数が最大になるように移動ベクトルを設定して、3次元位置を移動させ、点群をクラスタにマージする。
 (ステップS5220)
 プロセッサ430は、ステップS5220で移動されたデータ点を含め、4次元の点群データを記録媒体440に記録する。
 ステップS5120からステップS5220を繰り返すことで、逐次入力される複数の車両制御システム1000からの点群データと、逐次生成される測距装置100Aからの距離データとを利用して、固定体システム400の周辺環境における詳細な時刻情報を含む4次元の点群データを生成することができる。
 生成された4次元の点群データは、固定体システム400の周辺、例えば半径50メートル以内の範囲に位置する車両制御システム1000の各々に送信され得る。プロセッサ430は、点群データに加えて、点群データに基づく処理結果、例えば、移動体の認識結果を示すデータを出力してもよい。そのような認識結果を示すデータは、例えば、車両、人、または自転車等の移動体を識別するラベルと、当該移動体の位置情報と、移動ベクトル情報とを含み得る。固定体システム400の固定座標に統一された点群データ、および当該点群データに基づく処理結果を示すデータを取得することにより、各車両制御システム1000は、より安全な航行が可能となる。例えば、オクルージョン等により、自車の測距装置等のセンサでは検知し得なかった障害物等を検知して動作計画を作成することで、より安全に航行することが可能となる。
 なお、ステップS5210における信頼度は、以下のような要因により決定され得る。例えば、測距装置が搭載されたシステムの移動速度が高いほど信頼度が低く設定され得る。また、固定座標における太陽の方角と日時と時刻とに基づき、太陽光が測距装置のセンサに入射する条件で測距されたか否かを判定し、そのような条件で測距された可能性がある点群については、信頼度を低く設定してもよい。
 <第3の例>
 次に、第3の例における交通情報システムを説明する。交通情報システムは、例えば図1および図2を参照して説明したシステムと同様の構成を備える。交通情報システムは、複数の移動体300と、複数の固定体システム400と、サーバ500とを含む。移動体300および固定体システム400の各々の個数は任意である。
 移動体300の各々は、異なる位置および姿勢で配置された複数の測距センサ310と、通信回路320とを備える。同様に、固定体システム400の各々は、異なる位置および姿勢で配置された複数の測距センサ410と、通信回路420とを備える。測距センサ310および410の各々は、前述のいずれかの実施形態における測距装置と同様の方法で測距を行い、距離画像または3次元点群を示すデータを生成する。生成されたデータは、通信回路320および420によってサーバ500に送信される。各移動体300がデータを直接サーバ500に送信する代わりに、固定体システム400が周囲の移動体300からの測距データを集約してサーバ500に送信してもよい。図45は、そのような交通情報システムの構成例を示している。図45の例では、各固定体システム400は、周囲に位置する1つ以上の移動体300からデータを取得し、取得したデータと自身が備える1つ以上の測距センサ410から出力されたデータとを統合して1つの点群データを生成してサーバ500に送信する。固定体システム400は、固定体システム400から所定の距離範囲に移動体300が位置するとき、当該移動体300の各センサ410からデータを取得する。各固定体システム400によるデータ統合処理は、固定体システム400におけるプロセッサ430によって実行される。プロセッサ430は、記録媒体440に格納されたプログラムを実行することにより、データ統合処理を行う。プロセッサ430によるデータ統合処理は、第2の例における処理と同様である。
 サーバ500は、プロセッサ520と、記録媒体540と、通信回路560とを備える。プロセッサ520は、通信回路560を介してデータを逐次取得し、記録媒体540に記録する。プロセッサ520は、取得したデータの時刻照合および座標変換などの必要な処理を行うことにより、特定の時刻および特定の場所における統合された点群データを生成する。
 図46は、サーバ500の動作の一例を示すフローチャートである。サーバ500のプロセッサ520は、図46に示すステップS6110からステップS6160の動作を実行する。これにより、プロセッサ520は、順次取得した点群データまたは距離画像データと、各点の時刻データとに基づいて、1つの4次元座標系、すなわち、3次元の位置座標に時間を加えた座標系で表現された点群データを生成する。以下、各ステップの動作を説明する。
 (ステップS6110)
 まず、サーバ500は、図示されていない入力装置から入力された動作の終了を指示する終了信号の有無を判断する。ステップS6110において、終了信号が入力されている場合、動作を終了する。ステップS6110において、終了信号が入力されていない場合、ステップS6120に進む。
 (ステップS6120)
 プロセッサ520は、通信回路560が移動体300からの出力を受信したか、あるいは固定体システム400からの出力を受信したかを判断する。ステップS6120において移動体300または固定体システム400からの出力を受信している場合、ステップS6130に進む。ステップS6120において移動体300からの出力も、固定体システム400からの出力もいずれも受信していない場合、ステップS6120を繰り返す。
 (ステップS6130)
 プロセッサ520は、ステップS6120で通信回路560が受信した移動体300または固定体システム400からの出力データを取得する。
 (ステップS6140)
 プロセッサ520は、ステップS6130で取得したデータから、測距が行われた時点での移動体300または固定体システム400の位置および方向の情報を抽出する。位置および方向の情報は、例えばGPS情報であり得る。プロセッサ520は、さらに、測距が行われた詳細な時刻データを取得する。ステップS6130で取得したデータが距離画像データである場合、プロセッサ520は、距離画像データを点群データに変換する。プロセッサ520は、距離画像中の画素のうち、有効な距離の値を持つ画素について、距離の値を、移動体300または固定体システム400に固有の座標系で表された位置座標に変換する。この変換は、移動体300または固定体システム400の位置および方向の情報に基づいて行われる。
 (ステップS6150)
 プロセッサ520は、ステップS6140で取得または生成した、移動体300または固定体システム400に固有の座標系で表された点群データを、サーバ500に固有の絶対座標系で表された点群データに変換する。絶対座標系は、例えば、緯度と経度と高度とによって表現される3次元座標である。高度は、地表または海水面からの高さを示す。プロセッサ520は、ステップS6140で取得した移動体300または固定体システム400の絶対座標系での位置に基づいて、点群データの座標変換を行う。移動体300または固定体システム400の位置は、例えば緯度と経度と地表からの高さとで表現され得る。移動体300または固定体システム400に固有の座標系は、例えば、地表面に平行なx軸、鉛直方向に平行なy軸、および地表面に平行でx軸に垂直なd軸によって構成され得る。プロセッサ520は、例えば、y軸の原点を移動体300または固定体システム400の高さに一致し、d軸の方向が当該移動体300または固定体システム400の方向と一致するように変換する。
 (ステップS6160)
 プロセッサ520は、ステップS6160で生成した絶対座標系で表現された(緯度、経度、高度)の3次元データに、各点の測距の詳細時刻のデータを付加した(緯度、経度、高度、時刻)の4次元データを、記録媒体540に記録する。ステップS6160の後ステップS6110に戻る。
 ステップS6110からステップS6160を繰り返すことで、サーバ500は、(緯度、経度、高度、時刻)の4次元座標で表現された詳細な時刻の情報を含む点群データを蓄積する。
 サーバ500は、特定の日時および特定の場所における事故状況の解析を要求する指令を外部の装置から受けることがある。その場合、プロセッサ520は、該当する日時および場所のデータを記録媒体540から取得し、要求に応じたデータを生成して出力する。
 図47は、サーバ500が事故状況の解析の要求を受け付けた場合の動作の一例を示すフローチャートである。サーバ500におけるプロセッサ520は、図47に示すステップS6510からステップS6560の動作を実行することにより、要求された時空間領域の交通状況を示すデータを出力する。より具体的には、プロセッサ520は、記録媒体540に記憶された複数の点の(緯度、経度、高度、時刻)の4次元のデータから、該当する領域を抽出し、その領域内の位置および詳細な時刻の情報に基づき、対象物のトラッキングを行うことにより、当該時空間領域の交通状況を示すデータを生成して出力する。以下各ステップの動作を説明する。
 (ステップS6510)
 まず、外部の装置から入力された解析要求信号に応答して、プロセッサ520は、記録媒体540に格納された(緯度、経度、高度、時刻)の4次元のデータから、抽出すべき時空間領域を決定する。解析要求信号には、時空間を絞り込むための情報が含まれる。例えば、住所を示す文字列、または地図上の点を指定する情報などの、空間範囲を特定する情報が解析要求信号に含まれ得る。また、文字列または時計表示などの入力手段によって、おおよその時刻、例えば、時間単位あるいは分単位の時刻情報が解析要求信号に含まれ得る。プロセッサ520は、入力された位置に最も近い道路または道路に類する施設を特定する。特定された位置から所定の範囲内、例えば半径50mの範囲内の領域を空間領域として決定する。さらにプロセッサ520は、入力された時刻を中心に、所定の時間範囲内、例えば前後30分間の領域を時間領域として決定する。
 (ステップS6520)
 プロセッサ520は、ステップS6510で決定した時空間領域に含まれる点のデータを記録媒体540から読み出す。
 (ステップS6530)
 プロセッサ520は、ステップS6520で読みだされた(緯度、経度、高度、時刻)の4次元データが示す点群から、移動体を示す点群を抽出する。例えば、4次元のボクセルを設定し、ボクセル内の点数が時間の経過とともに大きく変動するボクセル内のデータ点を移動体のデータ点とみなすことができる。具体的な方法の一例として、まず、ステップS6520で読みだされた4次元の時空間領域のうち、3次元で表現された空間を複数の領域に分割する。各領域は、例えば、1辺の長さが30cmのボクセルである。地図データから建造物が存在することがわかっている範囲を除いた領域にのみ、ボクセルを設定してもよい。設定したボクセルごとに、時間軸上で例えば500m秒ごとに区切り、各500m秒間に当該ボクセル内に存在するデータ点の数を取得する。データ点の数が、500m秒の時間の区切りごとに変動するボクセルを、移動体を含むボクセルとして抽出する。ここで、データ点の数の変動が、ノイズに起因するデータ点の数の変動よりも大きい場合に、そのボクセルが移動体を含むものとして抽出される。例えば、特定の空間領域を表すボクセル内のデータ点の数を、500m秒ごとにカウントした場合に、データ点の数の最小値がデータ点の数の最大値の30%以下になれば、そのボクセルが移動体を含むと判断してもよい。移動体が特定の空間領域を通り過ぎる場合、その領域内の移動体を示す点群の数は、0から次第に増加し、最大値に達した後、減少して再び0になる。移動体が存在しない場合でも、静止物体またはノイズに起因する点群が存在する。このため、特定の領域を示すボクセル内のデータ点の数の時間変化に基づいて、移動体の有無を判断できる。
 (ステップS6540)
 プロセッサ520は、ステップS6530で移動体を含むボクセルとして抽出されたすべての空間ボクセルの領域について、例えば30m秒ごとに、各30m秒間に取得されたデータ点の分布を生成する。各30m秒間のデータ分布をクラスタリングし、各クラスタに対して、認識処理を行う。クラスタの位置、大きさ、および移動速度などの特性に基づき、クラスタごとに、例えば自動車、自転車、人のいずれに該当するかが認識される。
 (ステップS6550)
 プロセッサ520は、ステップS6540で認識された移動体のクラスタのうち、自動車、自転車、または人と認識された各クラスタについて、トラッキングデータを生成する。トラッキングデータは、そのクラスタの点群が3次元空間中で占める領域の情報と、ステップS6520で読みだされた詳細時刻の情報とを合わせた4次元座標群のデータであり得る。
 (ステップS6560)
 プロセッサ520は、ステップS6550で生成されたトラッキングデータを出力する。トラッキングデータは、解析要求信号を入力したユーザが使用する表示デバイス、または解析要求信号を入力した外部システムに送信され得る。
 以上のように、プロセッサ520は、統合された点群データから、解析要求信号が指定する時空間領域に対応する一部の点群データを抽出する。プロセッサ520はまた、統合された点群データから、1つ以上の移動体に対応する点群データを抽出する。そして、当該移動体の位置の経時変化を示すトラッキングデータを生成する。プロセッサ520は、抽出した点群データを、所定の周期でサンプリングされた複数フレームのデータに構成してもよい。
 上記の動作により、例えば自動車、自転車、または人などの移動体の位置を、例えばマイクロ秒単位の精細な時間分解能で特定することができる。これにより、例えば移動体同士が衝突する事故が生じた場合に、衝突時の各移動体の正確な位置、移動方向、および移動速度等の情報を、事後的に検証することができる。このような移動体の詳細動作の検証により、例えば事故の原因を特定し、当事者の責任の割合等についての納得性を向上させることができる。
 [補足]
 (1)上記の各実施の形態では、測距装置で計測された距離データを統合する処理の一例として、複数の測距装置で計測された距離データと当該距離データに付与された時刻情報を用いて点群データを生成する場合について説明した。しかしながら、出力データを用いた信号処理は、上記の距離データを統合する処理に限られない。出力データを用いた信号処理は、図2のサーバ500で実施されてもよいし、移動体300または固定体システム400が備える信号処理回路で実施されてもよい。また、測距装置100または100Aが備える信号処理回路160で実施されてもよい。
 (2)上記の各実施の形態では、光ビームを出射して計測した距離データまたは3次元点群データに対して計測時刻情報を付与する場合を例に挙げて説明した。しかしながら、計測時刻情報が付与される対象である距離データまたは3次元点群データは、上記各実施の形態で説明した測距装置とは異なる構成を有する測距装置で測定されたデータであってもよい。例えば、ミリ波などの無線電波を用いて測距を行う測距装置で測定されたデータであってもよいし、一または複数のカメラで取得された2次元画像を用いて測距を行う測距装置で測定されたデータであってもよい。
 また、ミリ波などの無線電波を用いて測距を行う測距装置で測定されたデータに関しては、例えば、同一時刻に一または複数の送信アンテナから出射された電波ビームに基づいて、一または複数の受信アンテナで受信された信号から生成された複数の測距データまたは3次元点群データを一つのブロックとして格納してもよい。このとき、ブロックのデータごとに、電波ビームの出射時刻または反射ビームの受信時刻などの計測時刻情報が付与される。
 このように、本開示の各実施の形態について説明した測距データの生成方法および装置は、例えば光または電波などの電磁波を出射して測距を行う任意の能動的な測距方式に適用可能である。本構成によると、出力データにおいて、測距対象となる領域全体の測距データまたは点群データに対して一つの計測時刻情報を付与する場合と比較して、より小さなデータ単位で時刻情報が付与される。このため、当該出力データを用いて他のデータとの統合などの信号処理を行う場合に、処理が容易になる、または処理結果の品質もしくは信頼性が向上するなどの効果を得ることができる。また、一または複数のビームを出射することによって取得された複数の点の距離データまたは3次元点群データをブロックとして、ブロックごとに計測時刻情報を付与してもよい。これにより、例えば画素単位など、より細かいデータ単位で計測時刻情報を付与する場合と比較して、出力データのサイズを小さくすることができる。
 本開示の技術は、測距を行う装置またはシステムに広く利用可能である。例えば、本開示の技術は、LiDAR(Light Detection and Ranging)システムの構成要素として使用され得る。
 10  車両制御システム
 100 測距装置
 110 ビームスキャナ
 120 イメージセンサ
 130 制御回路
 140 クロック
 150 記録媒体
 160 信号処理回路
 161 距離計測部
 162 距離画像生成部
 163 点群データ生成部
 169 出力部
 190 プロセッサ
 200 点群データ取得システム
 300 移動体
 310 測距センサ
 320 通信回路
 400 固定体
 410 測距センサ
 420 通信回路
 500 サーバ
 520 プロセッサ
 540 記録媒体
 600 ネットワーク
 700 自動運転制御システム
 710 情報処理装置
 720 記録媒体

Claims (17)

  1.  複数の光ビームを異なる方向および異なるタイミングでシーンに向けて出射する発光装置と、
     複数の受光素子のアレイを含み、各光ビームの出射によって生じた前記シーンからの反射光を前記複数の受光素子によって検出する受光装置と、
     前記受光装置から出力された信号に基づいて、前記シーン中の複数の点の位置または距離を示す計測データを含む出力データを生成して出力する信号処理回路と、
    を備え、
     前記出力データは、各々が前記複数の点のうちの一部の点の前記計測データを含む複数のブロックのデータを含み、前記複数のブロックの各々に個別の時刻データが付与されている、
     測距装置。
  2.  各ブロックに付与された前記時刻データは、前記複数の光ビームのうち、前記ブロックに対応する光ビームが出射された時刻を示す、請求項1に記載の測距装置。
  3.  各ブロックに付与された前記時刻データは、前記複数の光ビームのうち、前記ブロックに対応する光ビームの反射光が前記複数の受光素子のいずれかによって受光された時刻を示す、請求項1に記載の測距装置。
  4.  前記発光装置は、出射する光ビームの形状および/または径を変化させることが可能であり、
     各ブロックに属する前記点の数または範囲は、前記ブロックに対応する光ビームの形状および/または径に応じて異なる、
     請求項1から3のいずれかに記載の測距装置。
  5.  前記複数のブロックは、前記時刻データが共通する2つ以上のブロックを含む、請求項1から4のいずれかに記載の測距装置。
  6.  前記信号処理回路は、前記複数の点の3次元座標の情報を含む点群データを前記出力データとして生成する、請求項1から5のいずれかに記載の測距装置。
  7.  前記信号処理回路は、前記複数の点の距離分布を示す距離画像データを前記出力データとして生成する、請求項1から5のいずれかに記載の測距装置。
  8.  前記時刻データは、マイクロ秒単位またはナノ秒単位で時刻を表現する、請求項1から7のいずれかに記載の測距装置。
  9.  シーン中の複数の点の位置または距離を示す第1の計測データを含む第1の出力データであって、各々が前記複数の点のうちの一部の点の前記第1の計測データを含む複数のブロックのデータを含み、且つ前記複数のブロックの各々に個別の時刻データが付与されている第1の出力データと、前記シーン中の他の複数の点の位置または距離を示す第2の計測データを含み、且つ前記他の複数の点の各々の前記第2の計測データに時刻データが付与されている第2の出力データとを取得することと、
     前記第1の出力データおよび前記第2の出力データから、所定の時刻範囲に含まれる時刻データを有する1つ以上の点の前記第1の計測データおよび1つ以上の点の前記第2の計測データをそれぞれ抽出して同一の座標系に統合することにより、3次元点群データを生成することと、
     を含む情報処理方法。
  10.  前記統合は、前記第1の計測データおよび前記第2の計測データの中で、時空間領域で互いに重なりのあるデータを、前記第1の計測データの信頼度および前記第2の計測データの信頼度に基づきマージすることを含む、請求項9に記載の情報処理方法。
  11.  前記信頼度は、
     (a)前記第1の計測データを生成した第1の計測装置の移動速度、および前記第2の計測データを生成した第2の計測装置の移動速度のうちの少なくとも一方、
     (b)前記第1の計測装置および前記第2の計測装置のうちの少なくとも一方の位置および姿勢と、太陽の方向との関係、
     (c)前記第1の計測データが示す前記複数の点の空間密度、および前記第2の計測データが示す前記他の複数の点の空間密度のうちの少なくとも一方、および
     (d)前記第1の計測データが示す前記複数の点の位置、および前記第2の計測データが示す前記他の複数の点の位置のうちの少なくとも一方と、地図データに示された1つ以上の構造物の位置との関係からなる群から選択される少なくとも1つに基づいて決定される、請求項10に記載の情報処理方法。
  12.  前記第1の計測データを計測した第1の計測装置、および前記第2の計測データを計測した第2の計測装置のうちの少なくとも一方は、移動体に搭載され、
     前記統合は、固定体に設けられた、または前記固定体と通信可能な情報処理装置によって実行され、
     前記情報処理装置は、前記移動体が前記固定体から所定の距離範囲に位置するとき、前記第1の計測装置および前記第2の計測装置の前記少なくとも一方から、前記計測データを取得する、
     請求項9に記載の情報処理方法。
  13.  解析要求信号に応答して、統合された前記3次元点群データのうち、前記解析要求信号が指定する時空間領域に対応する一部の3次元点群データを抽出することをさらに含む、請求項9に記載の情報処理方法。
  14.  前記抽出は、前記一部の3次元点群データを、所定の周期でサンプリングされた複数フレームのデータに構成することを含む、請求項13に記載の情報処理方法。
  15.  前記抽出は、前記3次元点群データのうち、移動体に対応する点群データを抽出することを含み、
     前記方法は、前記移動体の位置の経時変化を示すトラッキングデータを生成することをさらに含む、
     請求項13または14に記載の情報処理方法。
  16.  プロセッサを備え、前記プロセッサは、
     シーン中の複数の点の位置または距離を示す第1の計測データを含む第1の出力データであって、各々が前記複数の点のうちの一部の点の前記第1の計測データを含む複数のブロックのデータを含み、且つ前記複数のブロックの各々に個別の時刻データが付与されている第1の出力データと、前記シーン中の他の複数の点の位置または距離を示す第2の計測データを含み、且つ前記他の複数の点の各々の前記第2の計測データに時刻データが付与されている第2の出力データとを取得し、
     前記第1の出力データおよび前記第2の出力データから、所定の時刻範囲に含まれる時刻データを有する1つ以上の点の前記第1の計測データおよび1つ以上の点の前記第2の計測データをそれぞれ抽出して同一の座標系に統合することにより、3次元点群データを生成する、
     情報処理装置。
  17.  プロセッサを備え、前記プロセッサは、
     複数の受光素子のアレイを含む受光装置によって異なるタイミングで生成された受光データを取得し、
     前記受光データを基にシーン中の複数の点の位置または距離を示す計測データを生成し、
     各々が前記複数の点の一部の点の前記計測データを含む複数のブロックのデータを含み、前記複数のブロックの各々に個別の時刻データが付与された出力データを生成し、出力する、
     情報処理装置。
PCT/JP2020/022058 2019-07-26 2020-06-04 測距装置、情報処理方法、および情報処理装置 WO2021019906A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021536638A JPWO2021019906A1 (ja) 2019-07-26 2020-06-04
US17/529,239 US20220075077A1 (en) 2019-07-26 2021-11-17 Distance measurement apparatus, information processing method, and information processing apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019-138193 2019-07-26
JP2019138193 2019-07-26
JP2019-206498 2019-11-14
JP2019206498 2019-11-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/529,239 Continuation US20220075077A1 (en) 2019-07-26 2021-11-17 Distance measurement apparatus, information processing method, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2021019906A1 true WO2021019906A1 (ja) 2021-02-04

Family

ID=74228439

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/022058 WO2021019906A1 (ja) 2019-07-26 2020-06-04 測距装置、情報処理方法、および情報処理装置

Country Status (3)

Country Link
US (1) US20220075077A1 (ja)
JP (1) JPWO2021019906A1 (ja)
WO (1) WO2021019906A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023073987A1 (ja) * 2021-11-01 2023-05-04 日立Astemo株式会社 電子制御装置、及び物体識別方法
CN116643290A (zh) * 2023-06-16 2023-08-25 山西建筑工程集团有限公司 一种不规则轮廓的双平台运动补偿的计量方法和系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11585899B2 (en) * 2017-03-01 2023-02-21 Pointcloud Inc. Modular three-dimensional optical sensing system
US11573294B2 (en) * 2020-03-17 2023-02-07 Litexel Inc. Switched optical phased array based beam steering LiDAR

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014006786A1 (ja) * 2012-07-03 2014-01-09 国立大学法人大阪大学 特徴量抽出装置および特徴量抽出方法
JP2015535925A (ja) * 2012-09-04 2015-12-17 デジタル・シグナル・コーポレーション 3次元測定システムから取得された画像の解像度を上げること
WO2017098966A1 (ja) * 2015-12-07 2017-06-15 株式会社Hielero 点群データ取得システム及びその方法
JP2017161500A (ja) * 2015-12-29 2017-09-14 ザ・ボーイング・カンパニーThe Boeing Company 可変分解能光レーダーシステム
US20180313956A1 (en) * 2017-05-01 2018-11-01 Symbol Technologies, Llc Device and method for merging lidar data
WO2019098263A1 (ja) * 2017-11-16 2019-05-23 日本電気株式会社 測距装置、測距方法及びプログラム
WO2019230122A1 (ja) * 2018-05-30 2019-12-05 株式会社Ihi 検知装置及び検知システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170124216A (ko) * 2016-05-02 2017-11-10 삼성전자주식회사 청소로봇 및 그 제어 방법
US11275177B2 (en) * 2017-03-31 2022-03-15 Sony Corporation Distance measurement apparatus and vehicle
US11500099B2 (en) * 2018-03-14 2022-11-15 Uatc, Llc Three-dimensional object detection
US11300776B2 (en) * 2018-12-07 2022-04-12 Beijing Voyager Technology Co., Ltd. Coupled and synchronous mirror elements in a lidar-based micro-mirror array

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014006786A1 (ja) * 2012-07-03 2014-01-09 国立大学法人大阪大学 特徴量抽出装置および特徴量抽出方法
JP2015535925A (ja) * 2012-09-04 2015-12-17 デジタル・シグナル・コーポレーション 3次元測定システムから取得された画像の解像度を上げること
WO2017098966A1 (ja) * 2015-12-07 2017-06-15 株式会社Hielero 点群データ取得システム及びその方法
JP2017161500A (ja) * 2015-12-29 2017-09-14 ザ・ボーイング・カンパニーThe Boeing Company 可変分解能光レーダーシステム
US20180313956A1 (en) * 2017-05-01 2018-11-01 Symbol Technologies, Llc Device and method for merging lidar data
WO2019098263A1 (ja) * 2017-11-16 2019-05-23 日本電気株式会社 測距装置、測距方法及びプログラム
WO2019230122A1 (ja) * 2018-05-30 2019-12-05 株式会社Ihi 検知装置及び検知システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023073987A1 (ja) * 2021-11-01 2023-05-04 日立Astemo株式会社 電子制御装置、及び物体識別方法
CN116643290A (zh) * 2023-06-16 2023-08-25 山西建筑工程集团有限公司 一种不规则轮廓的双平台运动补偿的计量方法和系统
CN116643290B (zh) * 2023-06-16 2024-04-26 山西建筑工程集团有限公司 一种不规则轮廓的双平台运动补偿的计量方法和系统

Also Published As

Publication number Publication date
JPWO2021019906A1 (ja) 2021-02-04
US20220075077A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
WO2021019906A1 (ja) 測距装置、情報処理方法、および情報処理装置
JP6536984B2 (ja) 測距撮像システム、固体撮像素子及び測距撮像方法
JP7256920B2 (ja) Lidarシステム及び方法
US11725956B2 (en) Apparatus for acquiring 3-dimensional maps of a scene
JP7203217B2 (ja) 構造化光照明付き飛行時間型センサ
JP7453220B2 (ja) Lidarシステム及び方法
US10183541B2 (en) Surround sensing system with telecentric optics
CN114424086A (zh) 用于lidar测量的处理系统
KR20220058947A (ko) 라이다 이미지의 처리
KR20150024860A (ko) 적응 피사계 심도를 이용한 게이트된 영상
CA2173685A1 (en) Scanning optical rangefinder
US20220120908A1 (en) Distance measurement apparatus, information processing method, and information processing apparatus
EP0619502B1 (en) Scanning optical rangefinder
WO2021095382A1 (ja) センシングデバイスおよび情報処理装置
JPWO2021019906A5 (ja)
WO2022153126A1 (en) Synchronization of multiple lidar systems
US9177213B2 (en) Method and apparatus for use in forming an image
WO2021065138A1 (ja) 測距装置および制御方法

Legal Events

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

Ref document number: 20846445

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021536638

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20846445

Country of ref document: EP

Kind code of ref document: A1