Distance measuring device and distance measuring method
By adopting pulse generation and exposure pulse control in the distance measuring device, the distance measuring range is divided into multiple distance intervals, which solves the problem of difficult to take into account both the distance measuring accuracy and the range in the prior art, and achieves a high-precision and large-range distance measuring effect.
Patent Information
- Application Number
- CN202080074438.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-11-19
- Filing Date
- 2020-10-30
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2040-10-30
AI Technical Summary
The prior art is difficult to expand the range measurement range while maintaining the distance measurement accuracy, and increasing the number of signal accumulation units will lead to increased costs and complexity.
The pulse generation unit generates light emission and exposure pulses, and the control unit uses n charge packet generation code to control the exposure of the light source and the imaging unit. n is an integer of 4 or more, divides the distance measurement range into a plurality of distance intervals, and calculates the signal value of each unit interval through the distance calculation unit to achieve high-precision distance measurement.
High-precision and large-scale ranging are achieved, avoiding the cost and complexity brought about by increasing the signal accumulation unit and improving the performance of the ranging device.
Smart Images

Figure CN114641707B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a distance measuring device and a distance measuring method. Background Art
[0002] Among various methods for detecting an object, a TOF (time of flight) method is known that measures distance using the round-trip flight time of light to the object being measured.
[0003] Patent document 1 discloses the following conventional technology, namely: synchronizing two different signal storage units with the intermittent action of light from a light source, transferring charges and storing signals at different phases from each other, calculating the distance to the object based on the distribution ratio of the stored signals, and further eliminating the background light by having a third signal storage unit store signals only for background light, thereby eliminating the influence of the background light.
[0004] Furthermore, the prior art disclosed in Patent Document 2 synchronizes three different signal storage units with the intermittent motion of light from a light source, performs charge transfer and accumulates signals at different phases, and specifies a signal storage unit that accumulates only background light according to a judgment result of the magnitude relationship of the accumulated signal amounts, thereby removing the background light and eliminating the influence of the background light.
[0005] (Prior art literature)
[0006] (Patent Document)
[0007] Patent Document 1: Japanese Patent Application Laid-Open No. 2004-294420
[0008] Patent Document 2 International Publication No. 2016 / 189808
[0009] However, in the conventional technology disclosed in Patent Document 1, since the third signal storage unit is used only for background light, the ranging range (limit) D depends on the pulse width (To) of the light source. If the speed of light (299, 792, 458 m / s) is set to c, it can be expressed as shown below.
[0010] D=c×To / 2
[0011] Increasing the pulse width (To) of the light source increases the distance measurement range (D), but reduces the distance resolution. Therefore, distance measurement accuracy is inversely proportional to the pulse width (To). Increasing the pulse width (To) to increase the distance measurement range (limit) D actually results in reduced distance measurement accuracy.
[0012] Therefore, the problem that arises is that it is difficult to achieve both an expansion of the ranging range and an improvement in ranging accuracy. Furthermore, in the conventional technology disclosed in Patent Document 2, in order to expand the ranging range while maintaining ranging accuracy, it is necessary to increase the number of signal storage units. Therefore, the problem that arises is that it is difficult to achieve both an expansion of the ranging range and an improvement in ranging accuracy. Summary of the Invention
[0013] In view of the above problems, an object of the present disclosure is to provide a distance measuring device and a distance measuring method that achieve high distance measuring accuracy and a large distance measuring range.
[0014] To address the aforementioned issues, a distance measuring device according to one embodiment of the present disclosure includes: a pulse generating unit that generates a light emission pulse and an exposure pulse, the light emission pulse being used to indicate light irradiation timing and the exposure pulse being used to indicate exposure timing of reflected light; a control unit that controls the pulse generating unit according to n types of charge packet generation codes, the n types of charge packet generation codes indicating whether exposure should be performed for each of a plurality of unit intervals or whether light emission should be performed for each of the plurality of unit intervals, the plurality of unit intervals corresponding to a plurality of distance intervals obtained by dividing a distance measurement range, where n is an integer greater than or equal to 4; a light source unit that irradiates light according to the light emission pulse; a solid-state imaging unit that captures images according to the exposure pulse; and a distance calculating unit that calculates the distance based on the n types of signal values for each of the unit intervals obtained from the solid-state imaging unit.
[0015] Furthermore, the present disclosure provides a distance measurement method in a distance measurement device, the distance measurement device comprising: a pulse generating unit for generating a light emission pulse and an exposure pulse, the light emission pulse being used to indicate a light irradiation timing, and the exposure pulse being used to indicate a reflected light exposure timing; a control unit for controlling the pulse generating unit; a light source unit for irradiating light according to the light emission pulse; a solid-state imaging unit for capturing images according to the exposure pulse; and a distance calculating unit for calculating a distance based on a signal value obtained from the solid-state imaging unit, wherein the pulse generating unit generates the light emission pulse and the exposure pulse according to n types of charge packet generation codes, the n types of charge packet generation codes indicating whether exposure should be performed in each of a plurality of unit intervals, or indicating whether exposure should be performed in each of a plurality of unit intervals. The solid-state imaging unit emits light for each unit interval, the multiple unit intervals corresponding to the multiple distance intervals obtained by dividing the ranging range, and n is an integer greater than or equal to 4. In the ranging method, n types of signal values for each unit interval are obtained from the solid-state imaging unit, the n types of signal values are binarized, and the binarized n-bit binary number is determined as an exposure code. The n-bit binary number for each unit interval included in the n types of charge packet generation codes is generated as an independent code, the independent code is compared with the exposure code, and the distance corresponding to the consistent unit interval is calculated. Each of the n types of charge packet generation codes indicates multiple exposure pulses for one light-emitting pulse, or indicates multiple light-emitting pulses for one exposure pulse.
[0016] The distance measuring device according to the present disclosure can achieve high distance measuring accuracy and a large distance measuring range. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 A schematic configuration of a TOF (Time Of Flight) type distance measuring device according to the first embodiment is shown.
[0018] Figure 2 The configuration of one pixel arranged in the solid-state imaging unit according to Embodiments 1 to 4 is shown.
[0019] Figure 3 It is a diagram showing the configuration of a solid-state imaging unit according to Embodiments 1 to 4.
[0020] Figure 4 A control sequence of the light emitting unit and the solid-state imaging unit according to the first embodiment is shown.
[0021] Figure 5 The following shows charge packet 1 to 6 generation codes used when the pulse generating section according to the first embodiment generates a charge packet 1 to 6 unit driving pattern for controlling the solid-state imaging section and discharges driving pulses.
[0022] Figure 6A This is a diagram for explaining the operation timing of the charge packet 1 unit driving pattern according to the first embodiment.
[0023] Figure 6B This is a diagram for explaining the operation timing of the charge packet 2 unit driving pattern according to the first embodiment.
[0024] Figure 6C This is a diagram for explaining the operation timing of the charge packet three-unit driving pattern according to the first embodiment.
[0025] Figure 6D This is a diagram for explaining the operation timing of the charge packet four-unit driving pattern according to the first embodiment.
[0026] Figure 6E This is a diagram for explaining the operation timing of the charge packet 5 unit drive pattern according to the first embodiment.
[0027] Figure 6F This is a diagram for explaining the operation timing of the charge packet 6-unit driving pattern according to the first embodiment.
[0028] Figure 7 This is a diagram explaining the operation timing of reading pixel values from the solid-state imaging unit according to the first to fourth embodiments.
[0029] Figure 8 The configuration of the distance calculation unit according to the first embodiment is shown.
[0030] Figure 9 The method for converting the method according to the first embodiment into Figure 5 The charge packets 1 to 6 generate codes and store the data into the memory (LUT) of the distance calculation unit.
[0031] Figure 10 The operation timing of the distance calculation unit according to the first embodiment is shown.
[0032] Figure 11 This is a diagram showing how the section number of one pixel on the short distance side is calculated when the independent code according to the first embodiment is equal to the exposure code.
[0033] Figure 12 This is a diagram showing how the section number of one pixel on the long-distance side is calculated when the independent code according to the first embodiment is equal to the exposure code.
[0034] Figure 13 This is a diagram showing how the section number of one pixel on the short distance side is calculated when the adjacent code according to the first embodiment is equal to the exposure code.
[0035] Figure 14This is a diagram showing how the section number of one pixel on the far side is calculated when the adjacent code according to the first embodiment is equal to the exposure code.
[0036] Figure 15 A schematic configuration of a TOF (Time Of Flight) type distance measuring device according to the second embodiment is shown.
[0037] Figure 16 A control sequence of the light emitting unit and the solid-state imaging unit according to the second embodiment is shown.
[0038] Figure 17 The following shows charge packet 1 to 6 generation codes that take background light into consideration and are used when the pulse generating section according to the second embodiment generates a charge packet 1 to 6 unit drive pattern for controlling the solid-state imaging section and discharges drive pulses.
[0039] Figure 18A The operation timing of the charge packet 1 unit driving pattern according to the second embodiment is shown.
[0040] Figure 18B This is a diagram for explaining the operation timing of the charge packet 2 unit driving pattern according to the second embodiment.
[0041] Figure 18C This is a diagram for explaining the operation timing of the charge packet 3-unit driving pattern according to the second embodiment.
[0042] Figure 18D This is a diagram for explaining the operation timing of the charge packet 4-unit driving pattern according to the second embodiment.
[0043] Figure 18E This is a diagram for explaining the operation timing of the charge packet 5-unit driving pattern according to the second embodiment.
[0044] Figure 18F This is a diagram for explaining the operation timing of the charge packet 6-unit driving pattern according to the second embodiment.
[0045] Figure 19 The configuration of the distance calculation unit according to the second embodiment is shown.
[0046] Figure 20 Shown is a diagram for converting the second embodiment into Figure 17 The charge packets 1 to 6 generate codes and store the data into the memory (LUT) of the distance calculation unit.
[0047] Figure 21 The operation timing of the distance calculation unit according to the second embodiment is shown.
[0048] Figure 22A control sequence of the light emitting unit and the solid-state imaging unit in which independent codes are repeated according to the second embodiment is shown.
[0049] Figure 23 The charge packet 1 to 6 generation codes in which independent codes are repeated are shown, which are used when the pulse generating section according to the second embodiment generates the charge packet 1 to 6 unit driving pattern for controlling the solid-state imaging section and discharges the driving pulses.
[0050] Figure 24A The operation timing of the charge packet 1 unit driving pattern according to the second embodiment is shown.
[0051] Figure 24B This is a diagram for explaining the operation timing of the charge packet 2 unit driving pattern according to the second embodiment.
[0052] Figure 24C This is a diagram for explaining the operation timing of the charge packet 3-unit driving pattern according to the second embodiment.
[0053] Figure 24D This is a diagram for explaining the operation timing of the charge packet 4-unit driving pattern according to the second embodiment.
[0054] Figure 24E This is a diagram for explaining the operation timing of the charge packet 5-unit driving pattern according to the second embodiment.
[0055] Figure 24F This is a diagram for explaining the operation timing of the charge packet 6-unit driving pattern according to the second embodiment.
[0056] Figure 25 Shown is a diagram for converting the second embodiment into Figure 23 The charge packets 1 to 6 generate codes and store the data into the memory (LUT) of the distance calculation unit.
[0057] Figure 26 A schematic configuration of a TOF (Time Of Flight) type distance measuring device according to a third embodiment is shown.
[0058] Figure 27 The configuration of the distance calculation unit according to the third embodiment is shown.
[0059] Figure 28 Shown is a diagram for converting the method according to Embodiment 3 into Figure 17 The charge packets 1 to 6 generate codes and store the data into the memory (LUT) of the distance calculation unit.
[0060] Figure 29A The following shows the processing contents of data selection by the distance calculation unit according to the third embodiment.
[0061] Figure 29B The following describes the processing contents of data selection by the distance calculation unit according to the third embodiment (continued).
[0062] Figure 30 The operation timing of the distance calculation unit according to the third embodiment is shown.
[0063] Figure 31A The following describes the processing contents of data selection in the distance calculation unit that improves the S / N ratio according to the embodiment.
[0064] Figure 31B The following describes the processing contents of data selection in the distance calculation unit according to the third embodiment, which improves the S / N ratio (continued).
[0065] Figure 31C The following describes the processing contents of data selection in the distance calculation unit according to the third embodiment, which improves the S / N ratio (continued).
[0066] Figure 32 A schematic configuration of a TOF (Time Of Flight) type distance measuring device according to a fourth embodiment is shown.
[0067] Figure 33 A control sequence of the light emitting unit and the solid-state imaging unit according to the fourth embodiment is shown.
[0068] Figure 34 The following shows charge packet 1 to 6 generation codes that take background light into consideration and are used when a pulse generating section according to the fourth embodiment generates a charge packet 1 to 6 unit drive pattern for controlling a solid-state imaging section and discharges drive pulses.
[0069] Figure 35A The operation timing of the charge packet 1 unit drive pattern A according to the fourth embodiment is shown.
[0070] Figure 35B The operation timing of the charge packet 2 unit drive pattern A according to the fourth embodiment is shown.
[0071] Figure 35C The operation timing of the charge packet 3 unit drive pattern A according to the fourth embodiment is shown.
[0072] Figure 35D The operation timing of the charge packet 4-unit drive pattern A according to the fourth embodiment is shown.
[0073] Figure 35E The operation timing of the charge packet 5 unit drive pattern A according to the fourth embodiment is shown.
[0074] Figure 35FThe operation timing of the charge packet 6-unit drive pattern A according to the fourth embodiment is shown.
[0075] Figure 36A The operation timing of the charge packet 1 unit driving pattern B according to the fourth embodiment is shown.
[0076] Figure 36B The operation timing of the charge packet 2 unit drive pattern B according to the fourth embodiment is shown.
[0077] Figure 36C The operation timing of the charge packet 3 unit drive pattern B according to the fourth embodiment is shown.
[0078] Figure 36D The operation timing of the charge packet 4-unit driving pattern B according to the fourth embodiment is shown.
[0079] Figure 36E The operation timing of the charge packet 5 unit drive pattern B according to the fourth embodiment is shown.
[0080] Figure 36F The operation timing of the charge packet 6-unit drive pattern B according to the fourth embodiment is shown.
[0081] Figure 37A The operation timing of the charge packet 1 unit drive pattern C according to the fourth embodiment is shown.
[0082] Figure 37B The operation timing of the charge packet 2 unit drive pattern C according to the fourth embodiment is shown.
[0083] Figure 37C The operation timing of the charge packet 3 unit drive pattern C according to the fourth embodiment is shown.
[0084] Figure 37D The operation timing of the charge packet 4-unit drive pattern C according to the fourth embodiment is shown.
[0085] Figure 37E The operation timing of the charge packet 5 unit drive pattern C according to the fourth embodiment is shown.
[0086] Figure 37F The operation timing of the charge packet 6-unit drive pattern C according to the fourth embodiment is shown.
[0087] Figure 38 The configuration of a distance calculation unit according to the fourth embodiment is shown.
[0088] Figure 39 Shown is a diagram for converting the method according to Embodiment 4 into Figure 34The charge packets 1 to 6 generate codes and store the data into the memory (LUT) of the distance calculation unit.
[0089] Figure 40A The data selection process of the distance calculation unit according to the fourth embodiment is shown.
[0090] Figure 40B The data selection process of the distance calculation unit according to the fourth embodiment is shown (continued).
[0091] Figure 40C The data selection process of the distance calculation unit according to the fourth embodiment is shown (continued).
[0092] Figure 40D The data selection process of the distance calculation unit according to the fourth embodiment is shown (continued).
[0093] Figure 41 The operation timing of the distance calculation unit according to the fourth embodiment is shown.
[0094] Figure 42 The configuration of one pixel arranged in a solid-state imaging unit according to a modification is shown.
[0095] Figure 43 It is a diagram showing the configuration of a solid-state imaging unit according to a modification.
[0096] Figure 44 A control sequence of the light emitting unit and the solid-state imaging unit according to a modification is shown.
[0097] Figure 45A An example of allocation of the charge packet generation code, the independent code, and the second adjacent code according to the fifth embodiment is shown.
[0098] Figure 45B Shown in order to Figure 45A Example of assignment of charge packet generation codes, independent codes, and first adjacent codes for comparison.
[0099] Figure 46 This is a diagram for explaining the operation of AND adjacent codes using a charge packet according to the fifth embodiment.
[0100] Figure 47 This is an explanatory diagram of the first threshold value and the second threshold value according to the fifth embodiment.
[0101] Figure 48 An example of allocation of the charge packet generation code, the independent code, the first adjacent code, and the second adjacent code according to the sixth embodiment is shown.
[0102] Figure 49This is a diagram for explaining the operation of using OR adjacent codes and AND adjacent codes for charge packets according to the sixth embodiment in combination.
[0103] Figure 50A This is an explanatory diagram of an example of a binarization error that occurs due to the first threshold value according to the sixth embodiment.
[0104] Figure 50B This is an explanatory diagram of an example in which no binarization error occurs by using the second threshold value according to the sixth embodiment.
[0105] Figure 51A This is an explanatory diagram of binarization using the first threshold value according to the sixth embodiment.
[0106] Figure 51B This is an explanatory diagram of the binarization using the second threshold value according to the sixth embodiment.
[0107] Figure 52 This is a block diagram showing an example configuration of a distance measuring device and surrounding objects in Embodiments 7, 9, and 10.
[0108] Figure 53 This is a block diagram showing a configuration example of a light source unit in Embodiments 7, 9, and 10.
[0109] Figure 54 This is a block diagram showing a configuration example of a solid-state imaging unit in Embodiments 7 to 10.
[0110] Figure 55 This is a block diagram showing an example of the configuration of pixels in Embodiments 7 to 10.
[0111] Figure 56 This is a timing chart showing an example of the light detection operation of the pixel in Embodiments 7 to 10.
[0112] Figure 57 An example of data stored in the range image generation unit, the pulse generation unit, and the control unit in the seventh to tenth embodiments is shown.
[0113] Figure 58 This is a timing chart showing an example of the operation sequence in Embodiments 7 to 10.
[0114] Figure 59 (a) shows a specific example of the luminous table in embodiments 7 to 10, (b) shows a specific example of the luminous code in embodiments 7 to 10, and (c) shows a specific example of the independent code and the first adjacent code in embodiments 7 to 10.
[0115] Figure 60 An example of the first to sixth light emission patterns in embodiments 7 to 10 is shown.
[0116] Figure 61 Other examples of driving the first light emission pattern in Embodiments 7 to 10 are shown.
[0117] Figure 62 This is a flowchart showing an example of processing for generating a range image in the seventh to ninth embodiments.
[0118] Figure 63 It shows Figure 62 Flowchart of an example of binarization processing of step 1101 in . Figure 64 (a) shows another example of the independent code and the first adjacent code in Implementation Example 7, and (b) shows still another example.
[0119] Figure 65 This is a block diagram that simulates an example configuration of a distance measuring device and surrounding objects in the eighth embodiment.
[0120] Figure 66 This is a block diagram showing a configuration example of a light source unit in the eighth embodiment.
[0121] Figure 67 An example of a light-emitting table in Embodiment 8 is shown.
[0122] Figure 68 An example of the first to sixth light emission patterns in embodiment 8 is shown.
[0123] Figure 69 An example of repeated driving of the first light emission pattern in embodiment 8 is shown.
[0124] Figure 70 An example of a light emitting table in Embodiment 9 is shown.
[0125] Figure 71 This is a timing chart including an example of a pause period in the driving timing of the light-emitting element in Embodiment 9.
[0126] Figure 72 An example of the first to sixth light emission pattern groups in embodiment 9 is shown.
[0127] Figure 73 An example of driving a plurality of light emission patterns divided from the first light emission pattern group in Embodiment 9 is shown.
[0128] Figure 74 This is a flowchart showing an example of a process for generating a range image in the tenth embodiment.
[0129] Figure 75 It shows Figure 74 Flowchart of an example of processing of the distance calculation step in .
[0130] Figure 76 An example of allocation of the charge packet generation code and the second adjacent code according to the eleventh embodiment is shown.
[0131] Figure 77 An example of allocation of the charge packet generation code, the first adjacent code, and the second adjacent code according to the twelfth embodiment is shown. DETAILED DESCRIPTION
[0132] The following describes a range-finding camera device according to an embodiment of the present disclosure with reference to the accompanying drawings. The following embodiments each illustrate a specific example of the present disclosure, and the numerical values, shapes, materials, components, configuration positions of the components, and connection methods are provided as examples and are not intended to limit the present disclosure.
[0133] (Overview of Embodiments)
[0134] The distance measuring device described in the "Background Art" of this disclosure has a problem in that it is difficult to achieve both an expansion of the distance measuring range and an improvement of the distance measuring accuracy. To address this issue, the present disclosure provides a distance measuring device and a distance measuring method that achieve high distance measuring accuracy and a large distance measuring range.
[0135] Therefore, a distance measuring device according to one aspect of the present disclosure includes: a pulse generating unit that generates a light emission pulse and an exposure pulse, wherein the light emission pulse indicates the timing of light irradiation and the exposure pulse indicates the timing of exposure of reflected light; a control unit that controls the pulse generating unit according to n types of charge packet generation codes, wherein the n types of charge packet generation codes indicate whether exposure should be performed for each of a plurality of unit intervals or whether light emission should be performed for each of the plurality of unit intervals, wherein the plurality of unit intervals correspond to a plurality of distance intervals obtained by dividing a distance measurement range, and n is an integer greater than or equal to 4; a light source unit that irradiates light according to the light emission pulse; a solid-state imaging unit that captures images according to the exposure pulse; and a distance calculating unit that calculates the distance based on the n types of signal values for each of the unit intervals obtained from the solid-state imaging unit.
[0136] This makes it possible to achieve high ranging accuracy and a large ranging range.
[0137] Furthermore, the present disclosure provides a distance measurement method in a distance measurement device, the distance measurement device comprising: a pulse generating unit for generating a light emission pulse and an exposure pulse, the light emission pulse being used to indicate a light irradiation timing, and the exposure pulse being used to indicate a reflected light exposure timing; a control unit for controlling the pulse generating unit; a light source unit for irradiating light according to the light emission pulse; a solid-state imaging unit for capturing images according to the exposure pulse; and a distance calculating unit for calculating a distance based on a signal value obtained from the solid-state imaging unit, wherein the pulse generating unit generates the light emission pulse and the exposure pulse according to n types of charge packet generation codes, the n types of charge packet generation codes indicating whether exposure should be performed in each of a plurality of unit intervals, or indicating whether exposure should be performed in each of a plurality of unit intervals. The solid-state imaging unit emits light for each unit interval, the multiple unit intervals corresponding to the multiple distance intervals obtained by dividing the ranging range, and n is an integer greater than or equal to 4. In the ranging method, n types of signal values for each unit interval are obtained from the solid-state imaging unit, the n types of signal values are binarized, and the binarized n-bit binary number is determined as an exposure code. The n-bit binary number for each unit interval included in the n types of charge packet generation codes is generated as an independent code, the independent code is compared with the exposure code, and the distance corresponding to the consistent unit interval is calculated. Each of the n types of charge packet generation codes indicates multiple exposure pulses for one light-emitting pulse, or indicates multiple light-emitting pulses for one exposure pulse.
[0138] This makes it possible to achieve high ranging accuracy and a large ranging range.
[0139] The distance measuring device described below is based on the premise that, in Embodiments 1 to 6, the n types of charge packet generation codes described above indicate whether exposure should be performed for each unit interval. Furthermore, in Embodiments 7 to 11, the premise is that the n types of charge packet generation codes described above indicate whether light emission should be performed for each unit interval.
[0140] (Implementation Method 1)
[0141] Figure 1 The configuration of a TOF (Time Of Flight) type distance measuring device and surrounding objects according to the first embodiment is schematically shown.
[0142] In this figure, imaging space 10100 is a space containing a distance measuring device and an object 10101 to be measured. Object 10101 can be either a person or an object. The distance measuring device in this figure includes a light source unit 10102, an optical lens 10103, an optical filter 10104, a solid-state imaging unit 10105, a control unit 10106, a pulse generating unit 10107, and a distance calculating unit 10108.
[0143] The light source unit 10102 emits pulsed light according to the light pulse 10120 from the pulse generator 10107. The light pulse 10120 is a signal for instructing the light source unit 10102 to emit pulsed light. The light source unit 10102 emits infrared light, for example. The light source unit 10102 may be an LED or a laser element.
[0144] The optical lens 10103 and the optical filter 10104 are an optical system that guides the reflected light from the object 10101 to the solid-state imaging unit 10105. The optical filter 10104 is, for example, an infrared-transmitting filter.
[0145] The control unit 10106 controls the pulse generation unit 10107 according to n (n is an integer greater than or equal to 4) types of charge packet generation codes. The n types of charge packet generation codes indicate whether exposure should be performed for each of a plurality of unit intervals corresponding to the plurality of distance intervals obtained by dividing the ranging range. Here, a charge packet refers to the signal charge generated and accumulated by the solid-state imaging unit 10105 through multiple exposures based on the charge packet generation codes. Based on the n types of charge packet generation codes, n types of charge packets (signal charges) are generated. As a specific example, n = 6 is assumed below.
[0146] The pulse generating unit 10107 generates a light emission pulse 10120 for instructing the light source unit 10102 on the timing of light irradiation, and an exposure pulse for instructing the solid-state imaging unit 10105 on the timing of exposure. The pulse generating unit 10107 generates six signals, charge packet 1 exposure pulse 10121 through charge packet 6 exposure pulse 10126, as n types of exposure pulses.
[0147] The solid-state imaging unit 10105 performs imaging according to the light emission pulse 10120 and n types of exposure pulses. Imaging here mainly means obtaining a distance image showing the distance for each pixel by receiving reflected light for distance measurement.
[0148] The distance calculation unit 10108 calculates the distance based on the n types of signal values for each unit section obtained from the solid-state imaging unit 10105 .
[0149] like Figure 1As shown, in imaging space 10100, the following image is captured: light source unit 10102 irradiates object 10101 with pulsed light 10110 having a wavelength of 940 nm (pulse width 10 ns). Reflected light 10111 reflected from object 10101 passes through optical lens 10103 and filter 10104 that transmits light in the near-infrared wavelength region near 940 nm, and is received by solid-state imaging unit 10105, forming an image. The emission timing of light source unit 10102 and the exposure timing of solid-state imaging unit 10105 are controlled by emission pulse 10120 of pulse generator 10107, exposure pulses 10121 to 10126 of charge packets 1 to 6, and discharge drive pulse 10127. Pulse generator 10107 is controlled by control unit 10106 via a control bus. Furthermore, the light source unit 10102 emits illumination light 10110 when the light emission pulse 10120 is at a high level, and does not emit illumination light 10110 when the light emission pulse 10120 is at a low level. The solid-state imaging unit 10105 outputs a solid-state imaging unit output signal 10130 to the distance calculation unit 10108 for each pixel. The solid-state imaging unit output signal 10130 has six signal values corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6. The distance calculation unit 10108 uses the solid-state imaging unit output signal 10130 and control information from the control unit 10106 to output a section number signal 10131 corresponding to the distance to the object 10101 for each pixel.
[0150] The light source unit 10102, optical lens 10103, filter 10104, solid-state imaging unit 10105, control unit 10106, pulse generator 10107, and distance calculator 10108 constitute a distance measuring device. The light source unit 10102 includes a drive circuit and a light-emitting element, and emits light by applying a voltage from the drive circuit. Laser diodes or other light-emitting elements can be used as the light-emitting element. Furthermore, the control unit 10106, pulse generator 10107, and distance calculator 10108 can be implemented by combining, for example, a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), and an AFE (Analog Front End).
[0151] Figure 2 This is a diagram showing the configuration of a pixel 10200 of the solid-state imaging unit 10105 according to Embodiments 1 to 4.
[0152] As shown in the figure, pixel 10200 includes a photoelectric conversion pixel 10201, two drains 10210, six FDAs (Floating Diffusion Amplifiers) 10211 to 10216, six source follower circuits 10221 to 10226, and six output selection transistors 10231 to 10236. Pixel 10200 also has a gate electrode located between drain 10210 and photoelectric conversion pixel 10201, and a gate electrode located between each of FDAs 10211 to 10216 and photoelectric conversion pixel 10201.
[0153] The photoelectric conversion pixel 10201 is composed of a PD (Photodiode) that receives the reflected light 10111 and performs photoelectric conversion.
[0154] The drain 10210 discharges the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 .
[0155] Each of the FDAs 10211 to 10216 accumulates the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 .
[0156] The source follower circuit 10221 outputs a voltage corresponding to the amount of signal charge of the FDA (signal charge storage unit) 10211. The same applies to the source follower circuits 10222 to 10226.
[0157] When the output enable signal is at a High level, the output selection transistor 10231 outputs the output voltage of the source follower circuit 10221 as the pixel output signal 10241. The same applies to the output selection transistors 10232 to 10236.
[0158] Next, the operation of pixel 10200 will be described. When exposure pulse 10121 for charge packet 1 is set to a High level, the signal charge photoelectrically converted in photoelectric conversion pixel 10201 is accumulated in FDA 10211. When exposure pulse 10122 for charge packet 2 is set to a High level, the signal charge photoelectrically converted in photoelectric conversion pixel 10201 is accumulated in FDA 10212. When exposure pulse 10123 for charge packet 3 is set to a High level, the signal charge photoelectrically converted in photoelectric conversion pixel 10201 is accumulated in FDA 10213. When exposure pulse 10124 for charge packet 4 is set to a High level, the signal charge photoelectrically converted in photoelectric conversion pixel 10201 is accumulated in FDA 10214. When exposure pulse 10125 for charge packet 5 is set to a High level, the signal charge photoelectrically converted in photoelectric conversion pixel 10201 is accumulated in FDA 10215. When the exposure pulse 10126 of the charge packet 6 is set to the High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in the FDA 10216 .
[0159] When the discharge drive pulse 10127 is set to a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is discharged to the drain 10210. Therefore, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a Low level, by setting the discharge drive pulse 10127 to a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a Low level is discharged to the drain 10210. When one of the six exposure pulses 10121 to 10126 of the charge packets 1 to 6 is at a High level, by setting the remaining five to a Low level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a Low level is discharged to the drain 10210. w level, and the discharge drive pulse 10127 is set to a Low level, so that the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in the FDA10211 to 10216 corresponding to the exposure pulses 10121 to 10126 of the charge packets 1 to 6 only when one of the six exposure pulses 10121 to 10126 of the charge packets 1 to 6 is at a High level. Therefore, six types of shooting corresponding to the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are performed at each pixel. FDA10211 to 10216 accumulate signal charges to generate voltages corresponding to the signal charge amounts, thereby generating a charge packet 1 voltage value corresponding to the signal charge amount of FDA10211, a charge packet 2 voltage value corresponding to the signal charge amount of FDA10212, a charge packet 3 voltage value corresponding to the signal charge amount of FDA10213, a charge packet 4 voltage value corresponding to the signal charge amount of FDA10214, a charge packet 5 voltage value corresponding to the signal charge amount of FDA10215, and a charge packet 6 voltage value corresponding to the signal charge amount of FDA10216. By setting the output enable signal 10240 to a High level, the following voltage values are simultaneously output: the charge packet 1 voltage value is output to the pixel output signal 10241 via the source follower circuit 10221 and the output selection transistor 10231, the charge packet 2 voltage value is output to the pixel output signal 10242 via the source follower circuit 10222 and the output selection transistor 10232, and the charge packet 3 voltage value is output to the pixel output signal 10243 via the source follower circuit 10223 and the output selection transistor 10234. 0233 is output to pixel output signal 10243, the voltage value of charge packet 4 is output to pixel output signal 10244 via source follower circuit 10224 and output selection transistor 10234, the voltage value of charge packet 5 is output to pixel output signal 10245 via source follower circuit 10225 and output selection transistor 10235, and the voltage value of charge packet 6 is output to pixel output signal 10246 via source follower circuit 10226 and output selection transistor 10236.
[0160] Figure 31 is a structural diagram of the solid-state imaging unit 10105 according to Embodiments 1 to 4. The solid-state imaging unit 10105 in this figure includes a plurality of pixels 10200 arranged two-dimensionally, a row selection unit, a column AD 10370, and a shift register 10371. Figure 3 As shown, in the solid-state imaging unit 10105, pixels 10200 are arranged two-dimensionally, with X pixels arranged horizontally and Y pixels arranged vertically. In Embodiments 1 to 4, X = 320 and Y = 240. The number of pixels is merely an example and is not limiting. The output enable signals 10240 of the pixels 10200 at pixel address 11, pixel address 12, and pixel address 1X arranged in the horizontal direction of the first row are connected to the row selection signal 10300, the output enable signals 10240 of the pixels 10200 at pixel address 21, pixel address 22, and pixel address 2X arranged in the horizontal direction of the second row are connected to the row selection signal 10301, the output enable signals 10240 of the pixels 10200 at pixel address 31, pixel address 32, and pixel address 3X arranged in the horizontal direction of the third row are connected to the row selection signal 10302, and the output enable signals 10240 of the pixels 10200 at pixel address Y1, pixel address Y2, and pixel address YX arranged in the horizontal direction of the Y row are connected to the row selection signal 10303. Furthermore, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 11, pixel address 21, pixel address 31, and pixel address Y1 arranged in the vertical direction of the first column are connected to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 12, pixel address 22, pixel address 32, and pixel address Y2 arranged in the vertical direction of the second column are connected to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 1X, pixel address 2X, pixel address 3X, and pixel address YX arranged in the vertical direction of the X column are connected to the vertical pixel signals 10331 to 10336. Then, vertical pixel signals 10311 to 10316 , 10321 to 10326 , and 10331 to 10336 are connected to column AD 10370 , the output signal of column AD 10370 is connected to shift register 10371 , and solid-state imaging unit output signal 10130 is output from shift register 10371 .
[0161] Next, a description will be given of the readout operation of the solid-state imaging unit 10105. Note that this readout operation is the same as that of a general CMOS image sensor with the horizontal pixel number increased sixfold. By setting the row selection signal 10300 to a High level, the row selection signal 10301 to a Low level, the row selection signal 10302 to a Low level, and the row selection signal 10303 to a Low level, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 11 are output to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 12 are output to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 1X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a high level, the row selection signal 10302 to a low level, and the row selection signal 10303 to a low level, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21 are output to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22 are output to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are output to the vertical pixel signals 10331 to 10336, and then are input to the column AD370. By setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a low level, setting the row selection signal 10302 to a high level, and setting the row selection signal 10303 to a low level, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 31 are output to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 32 are output to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 at the pixel address 3X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370.By setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a low level, setting the row selection signal 10302 to a low level, and setting the row selection signal 10303 to a high level, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y1 are output to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y2 are output to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the charge packets 1 to 6 of the pixel 10200 of the pixel address YX are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370. Column AD 10370 AD-converts pixel output signals 10241 to 10246 of charge packets 1 to 6 of the input X pixels into 12-bit signal values. For each of the X pixels, column AD 10370 generates a 12-bit signal value: a charge packet 1 signal value obtained by AD-converting the voltage value of charge packet 1, a charge packet 2 signal value obtained by AD-converting the voltage value of charge packet 2, a charge packet 3 signal value obtained by AD-converting the voltage value of charge packet 3, a charge packet 4 signal value obtained by AD-converting the voltage value of charge packet 4, a charge packet 5 signal value obtained by AD-converting the voltage value of charge packet 5, and a charge packet 6 signal value obtained by AD-converting the voltage value of charge packet 6. These values are then output to shift register 10371. Shift register 10371 shifts the signal values of charge packets 1 to 6 of the input X pixels bit by bit and outputs them to solid-state imaging unit output signal 10130.
[0162] Figure 4 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 according to the first embodiment is shown. Figure 4 The control sequence in Figure 1 As shown in FIG. 1 , the control unit 10106 instructs the pulse generating unit 10107 via the control bus the number of repetitions of the frame unit drive pattern (12 times) and the number of repetitions of the unit drive pattern of charge packets 1 to 6 (300 times). In accordance with the number of repetitions of the frame unit drive pattern and the number of repetitions of the unit drive pattern of charge packets 1 to 6, the pulse generating unit 10107 generates a light emitting pulse 10120, exposure pulses 10121 to 10126 of charge packets 1 to 6, and a discharge driving pulse 10127. Figure 4 The generation of unit drive patterns 10431 to 10436 for charge packets 1 to 6 is described in Figure 5 and Figures 6A to 6F, according to each of the unit driving patterns 10431 to 10436 of charge packets 1 to 6, a method for generating the light emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge driving pulse 10127 is described.
[0163] like Figure 4 As shown, one frame is composed of a frame drive pattern 10400. The frame drive pattern 10400 includes 12 repetitions of the frame-based drive pattern 10410 and the output of the signal charge accumulated in the signal charge storage units of all pixels 10200 from the solid-state imaging unit 10105, i.e., image data readout 10411. The frame-based drive pattern 10410 includes a charge packet 1 drive pattern 10421, a charge packet 2 drive pattern 10422, a charge packet 3 drive pattern 10423, a charge packet 4 drive pattern 10424, a charge packet 5 drive pattern 10425, and a charge packet 6 drive pattern 10426. The charge packet 1 drive pattern 10421 is composed of 300 repetitions of the charge packet 1 drive pattern 10431. The charge packet 2 drive pattern 10422 is composed of 300 repetitions of the charge packet 2 drive pattern 10432. The charge packet 3 driving pattern 10423 is composed of 300 repetitions of the charge packet 3 unit driving pattern 10433. The charge packet 4 driving pattern 10424 is composed of 300 repetitions of the charge packet 4 unit driving pattern 10434. The charge packet 5 driving pattern 10425 is composed of 300 repetitions of the charge packet 5 unit driving pattern 10435. The charge packet 6 driving pattern 10426 is composed of 300 repetitions of the charge packet 6 unit driving pattern 10436. The unit driving patterns 10431 to 10436 of charge packets 1 to 6 drive the light emitting pulse 10120, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127. In addition, the details of the unit driving patterns 10431 to 10436 of charge packets 1 to 6 will be used. Figure 5 and Figures 6A to 6F To illustrate. And, Figure 4 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 shown is an example and is not limited to this example.
[0164] The unit drive patterns 10431 to 10436 of charge packets 1 to 6 are respectively repeated 300 times in the drive patterns 10421 to 10426 of charge packets 1 to 6, and 12 times in the frame unit drive pattern. That is, the unit drive patterns 10431 to 10436 of charge packets 1 to 6 are repeated 300×12=3600 times. By repeating 3600 times, even if the amount of light 10110 is small each time, sufficient light can be ensured. In addition, by dividing the frame drive pattern 10400 into 12 frame unit drive patterns 10410, the time required for each frame unit drive pattern 10410 is shortened, so that the imaging timing of charge packets 1 to 6 can appear to be simultaneous. Therefore, by repeating the frame unit driving pattern 10410 12 times, the jitter caused by the movement of the object 10101 can occur evenly in charge packets 1 to 6, thereby suppressing side effects such as data garbled characters during distance calculation caused by the movement of the object 10101.
[0165] Figure 5 10431 to 10436 for generating unit drive patterns 10431 to 10436 for controlling charge packets 1 to 6 of the solid-state imaging unit 10105 according to Embodiment 1 and generation codes 10501 to 10506 for generating charge packets 1 to 6 to the control unit 10106 for discharging the drive pulse 10127 are shown. Figure 5 As shown, the generation codes 10501 to 10506 for charge packets 1 to 6 are divided into 32 intervals numbered 10500 from 0 to 31. Each interval number 10500 determines a value of "0" or "1," which serves as information for controlling the driving of exposure pulses 10121 to 10126 for charge packets 1 to 6. Here, interval numbers are consecutive numbers assigned to the multiple distance intervals (also called unit intervals) that divide the ranging range. Furthermore, the generation codes 10501 to 10506 for charge packets 1 to 6 can be pre-stored in internal memory by the control unit 10106, or dynamically obtained from an external source and stored in internal memory.
[0166] The interval number 10500 and the generation codes 10501 to 10506 for charge packets 1 to 6 are sent to the pulse generator 10107 via the control bus. The pulse generator 10107 generates unit drive patterns 10431 to 10436 for charge packets 1 to 6 based on the interval number 10500 and the generation codes 10501 to 10506 for charge packets 1 to 6. Figure 5 The generated codes of charge packets 1 to 6 shown are only an example, and the generated codes of charge packets 1 to 6 are not limited to this example.
[0167] Figures 6A to 6F1 is a timing chart showing the charge packet 1 unit driving pattern 10431 to the charge packet 6 unit driving pattern 10436 according to the first embodiment. Figures 6A to 6F As shown, the pulse generating unit 10107 switches the interval number 10600 to 80 intervals from 0 to 79 according to the unit interval (10ns), and uses the generation codes 10501 to 10506 of the charge packets 1 to 6 with interval numbers equal to the interval number 10600 and the interval number 10500 to control the light-emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge drive pulse 10127, thereby generating the unit drive patterns 10431 to 10436 of the charge packets 1 to 6. The reason why the interval number 10600 of the pulse generating unit 10107 is set to a value (79) that is twice or more the maximum value (31) of the interval number 10500 is to prevent the reception of reflected light 10111 that is reflected from the object 10101 located outside the distance measurement range (interval number greater than the maximum value of the interval number 10500) when the irradiation light 10110 is irradiated to the object 10101 located outside the distance measurement range (interval number greater than the maximum value of the interval number 10500). Therefore, for the interval number that does not exist in the interval number 10500, a pulse is generated in which the light emitting pulse 10120 is at a low level, the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are at a low level, and the discharge driving pulse 10127 is at a high level. Thus, by controlling the solid-state imaging unit 10105, the time required for 12 repetitions of the frame-unit drive pattern 10410, which corresponds to the imaging exposure time, is calculated as follows: 10 ns per unit interval × 80 interval numbers × 300 repetitions of the charge packet-unit drive pattern × 6 charge packets × 12 repetitions of the frame-unit drive pattern = 17.28 ms. Furthermore, while this unit interval specifies that the pulse widths of the irradiation light 10110 and the exposure pulses 10121 to 10126 of charge packets 1 to 6 are the same, the pulse width is not limited to 10 ns.
[0168] The following describes a method for controlling the light emitting pulses 10120 with section numbers 0 to 31, the exposure pulses 10121 to 10126 with charge packets 1 to 6, and the discharge driving pulse 10127 in the section number 10500 .
[0169] Figure 6AThis is a timing diagram illustrating charge packet 1 unit drive pattern 10431. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 1 exposure pulse 10121 is generated as a pulse that reaches a high level when charge packet 1 generation code 10501 corresponding to interval number 10500 is "1," and a low level when charge packet 1 generation code 10501 corresponding to interval number 10500 is "0." Charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 10500 from 0 to 31. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 1 generation code 10501 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 1 generation code 10501 corresponding to the interval number 10500 is "0", and is generated as a pulse that is logically inverted from the charge packet 1 exposure pulse 10121.
[0170] Figure 6B This is a timing diagram illustrating the charge packet 2 unit drive pattern 10432. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 2 exposure pulse 10122 is generated as a pulse that reaches a high level when charge packet 2 generation code 10502 corresponding to interval number 10500 is "1," and a low level when charge packet 2 generation code 10502 corresponding to interval number 10500 is "0." Charge packet 1 exposure pulse 10121, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that are low level for all intervals 10500 from 0 to 31. In addition, the discharge drive pulse 10127 is generated as a pulse that is logically inverted from the charge packet 2 exposure pulse 10122 by becoming a low level when the charge packet 2 generation code 10502 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 2 generation code 10502 corresponding to the interval number 10500 is "0".
[0171] Figure 6CThis is a timing diagram illustrating the charge packet 3 unit drive pattern 10433. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 3 exposure pulse 10123 is generated as a pulse that reaches a high level when charge packet 3 generation code 10503 corresponding to interval number 10500 is "1," and a low level when charge packet 3 generation code 10503 corresponding to interval number 10500 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level for all intervals 10500 from 0 to 31. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 3 generation code 10503 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 3 generation code 10503 corresponding to the interval number 10500 is "0", and is generated as a pulse that is logically inverted from the charge packet 3 exposure pulse 10123.
[0172] Figure 6D This is a timing diagram illustrating the charge packet 4 unit drive pattern 10434. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 4 exposure pulse 10124 is generated as a pulse that reaches a high level when charge packet 4 generation code 10504 corresponding to interval number 10500 is "1," and a low level when charge packet 4 generation code 10504 corresponding to interval number 10500 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated by setting all intervals 10500 to a low level. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 4 generation code 10504 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 4 generation code 10504 corresponding to the interval number 10500 is "0", and is generated as a pulse that is logically inverted from the charge packet 4 exposure pulse 10124.
[0173] Figure 6EThis is a timing diagram illustrating the charge packet 5 unit drive pattern 10435. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 5 exposure pulse 10125 is generated as a pulse that reaches a high level when charge packet 5 generation code 10505 corresponding to interval number 10500 is "1," and a low level when charge packet 5 generation code 10505 corresponding to interval number 10500 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 6 exposure pulse 10126 are generated by maintaining a low level in all intervals 10500 from 0 to 31. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 5 generation code 10505 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 5 generation code 10505 corresponding to the interval number 10500 is "0", and is generated as a pulse that is logically inverted from the charge packet 5 exposure pulse 10125.
[0174] Figure 6F This is a timing diagram illustrating the charge packet 6 unit drive pattern 10436. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 10500 is 0, and a low level when interval numbers 10500 are 1 to 31. Charge packet 6 exposure pulse 10126 is generated as a pulse that reaches a high level when charge packet 6 generation code 10506 corresponding to interval number 10500 is "1," and a low level when charge packet 6 generation code 10506 corresponding to interval number 10500 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 5 exposure pulse 10125 are generated as pulses that are low level in all intervals 10500 from 0 to 31. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 6 generation code 10506 corresponding to the interval number 10500 is "1" and becoming a high level when the charge packet 6 generation code 10506 corresponding to the interval number 10500 is "0", and is generated as a pulse that is logically inverted from the charge packet 6 exposure pulse 10126.
[0175] Figure 7 This is a timing chart of the imaging data readout 10411 of the solid-state imaging unit 10105 according to the first to fourth embodiments.
[0176] Regarding the symbols in the figures, for example, the symbols "P1(11)v" to "P6(11)v" in the following description represent the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 11, which correspond to pixel output signals 10241 to 10246 and vertical pixel signals 10311 to 10316. Similarly, the symbol P6(YX)v represents the voltage value of charge packet 6 in the pixel at pixel address YX, which corresponds to pixel output signal 10246 and vertical pixel signal 10336.
[0177] Furthermore, for example, the symbols "P1(11)Sig" to "P6(11)Sig" in the following description represent the signal values of charge packets 1 to 6 of pixel 10200 at pixel address 11. Specifically, P1(11)Sig in the figure means the signal value of charge packet 1 of pixel 10200 at pixel address 11, that is, the digital value obtained by AD conversion from the voltage value of charge packet 1 by column AD10370, and output to distance calculation unit 10108 as solid-state imaging unit output signal 10130 via shift register 10371. Similarly, P6(YX)Sig means the signal value of charge packet 6 of pixel 10200 at pixel address YX, that is, the digital value obtained by AD conversion from the voltage value of charge packet 6 by column AD10370, and output to distance calculation unit 10108 as solid-state imaging unit output signal 10130 via shift register 10371.
[0178] The row selection signals 10300 to 10303, the column AD 10370, and the shift register 10371 are controlled to Figure 3 The signal values of charge packets 1 to 6 of all pixels 10200 are output to the solid-state imaging unit output signal 10130. The operation of the imaging data readout 10411 is the same as that of a conventional CMOS image sensor with six times the number of horizontal pixels.
[0179] like Figure 7As shown, by setting the row selection signal 10300 to a High level, the row selection signal 10301 to a Low level, the row selection signal 10302 to a Low level, and the row selection signal 10303 to a Low level at timing 10700, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 11 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 12 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 1X are output to the vertical pixel signals 10331 to 10336. Vertical pixel signals 10311 to 10316, vertical pixel signals 10321 to 10326, and vertical pixel signals 10331 to 10336 are connected to column AD 10370 and converted into 12-bit signal values. This generates the following signal values: charge packet 1 signal value (the voltage value of charge packet 1 at pixel address 11, pixel address 12, and pixel address 1X is converted); charge packet 2 signal value (the voltage value of charge packet 2 is converted); charge packet 3 signal value (the voltage value of charge packet 3 is converted); charge packet 4 signal value (the voltage value of charge packet 4 is converted); charge packet 5 signal value (the voltage value of charge packet 5 is converted); and charge packet 6 signal value (the voltage value of charge packet 6 is converted). At timing 10701, when AD conversion is complete, the converted signal values of charge packets 1 to 6 at pixel address 11, pixel address 12, and pixel address 1X are output to shift register 10371. While shifting the input signal value, the shift register 10371 outputs the charge packet 1 signal value of pixel address 11, the charge packet 2 signal value of pixel address 11, the charge packet 3 signal value of pixel address 11, the charge packet 4 signal value of pixel address 11, the charge packet 5 signal value of pixel address 11, the charge packet 6 signal value of pixel address 11, the charge packet 1 signal value of pixel address 12, the charge packet 2 signal value of pixel address 12, the charge packet 3 signal value of pixel address 12, the charge packet 4 signal value of pixel address 12, the charge packet 5 signal value of pixel address 12, the charge packet 6 signal value of pixel address 12, the charge packet 1 signal value of pixel address 1X, the charge packet 2 signal value of pixel address 1X, the charge packet 3 signal value of pixel address 1X, the charge packet 4 signal value of pixel address 1X, the charge packet 5 signal value of pixel address 1X, and the charge packet 6 signal value of pixel address 1X in this order from the solid-state imaging unit output signal 10130.Furthermore, by setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a high level, setting the row selection signal 10302 to a low level, and setting the row selection signal 10303 to a low level at timing 10701, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 21, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 22, and up to the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 2X are input to column AD10370 and AD conversion is performed to a 12-bit signal value. The AD conversion of column AD10370 and the shifting of shift register 10371 start at timing 10701, and when they end at timing 10702, the AD conversion result of column AD10370 that starts at timing 10701 is output to shift register 10371 at the end timing 10702. As described above, the signal value of the input is shifted while the signal 10130 is output from the solid-state imaging unit. Furthermore, at timing 10702, row select signal 10300 is set to a low level, row select signal 10301 is set to a low level, row select signal 10302 is set to a high level, and row select signal 10303 is set to a low level. As a result, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 31, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 32, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 3X are input to column AD 10370 and, similarly to the above, are A / D-converted into 12-bit signal values. By performing the above operation for all rows, the signal values of all pixels 10200 are output from solid-state imaging unit output signal 10130. Furthermore, Figure 2 FDA 10211 to 10216 as shown, and Figure 5While there are six generation codes 10501 to 10506 for charge packets 1 to 6, this is not limited to six. When the number of signal charge storage units is greater than the number of charge packet generation codes, since the signal values of charge packets 1 to 6 are obtained in a single frame, the interval number corresponding to the distance can be calculated using data from a single frame. When the number of signal charge storage units is less than the number of charge packet generation codes, the interval number corresponding to the distance can be calculated by obtaining the signal values of charge packets 1 to 6 using data from multiple frames. Furthermore, the time required for image data readout 10411, which corresponds to the image readout time, is the value obtained by taking into account the number of pixels in the blanking period (horizontal pixel number x 320 + horizontal blanking period 80) × (vertical pixel number Y 240 + vertical blanking period 23) divided by the output clock frequency of the solid-state imaging unit output signal 10130. Here, if the output clock frequency is set to 39.319 MHz, the time required to read 10411 pieces of image data, which corresponds to the image reading time, becomes 16.053 ms.
[0180] Figure 8 The configuration of the distance calculation unit 10108 according to the first embodiment is shown.
[0181] In the figure, the distance calculation unit 10108 includes a threshold register 10800 , a comparator 10802 , a parallelization unit 10803 , and a memory (LUT) 10801 .
[0182] The threshold register 10800 holds, as a threshold, a boundary value between a black level, which is a signal level when there is no reflected light, and a signal level when there is reflected light.
[0183] The comparator 10802 compares the solid-state imaging unit output signal 10130 with a threshold value and binarizes the solid-state imaging unit output signal 10130 , that is, outputs a binary signal indicating the presence or absence of reflected light.
[0184] The parallelization unit 10803 parallelizes charge packets 1 through 6 for the same pixel address. Specifically, the binary charge packets 1 through 6 for the same pixel address are output in parallel. The 6-bit data corresponding to the binary charge packets 1 through 6 for the same pixel address is called an exposure code.
[0185] The memory (LUT) 10801 is a lookup table (LUT) that converts the exposure code into the segment number. For example, the LUT inputs the exposure code as an address and outputs the segment number as read data.
[0186] Next, the operation of distance calculation unit 10108 will be described. Distance calculation unit 10108 compares solid-state imaging unit output signal 10130 with the value of threshold register 10800 at comparator 10802. It outputs a charge packet code 10810, which is "0" when solid-state imaging unit output signal 10130 ≤ threshold register 10800, and "1" when solid-state imaging unit output signal 10130 > threshold register 10800. Parallelization unit 10803 parallelizes charge packet codes 10810 corresponding to the signal values of charge packets 1 to 6 for each pixel address. These six parallelized charge packet codes 10810 are treated as a 6-bit binary number to generate exposure code 10820. Here, a value obtained by adding a black level and a bias value that takes into account variations caused by dark current in photoelectric conversion pixel 10201 or FDAs 10211 to 10216 is set in threshold register 10800. This allows comparator 10802 to interpret the signal values of charge packets 1 to 6 that include reflected light 10111 as "1," while the signal values of charge packets 1 to 6 that do not include reflected light 10111 are interpreted as "0." Exposure code 10820 indicates a charge packet that includes reflected light 10111. Exposure code 10820 is then used as a read address to access memory (LUT) 10801, and the read data from memory (LUT) 10801 is output as section number signal 10131. In addition, the initial value of the memory (LUT) 10801 is set by the control unit 10106 via the control bus. The method of generating the initial value set to the memory (LUT) 10801 is to use Figure 9 To explain.
[0187] Figure 9 The method for generating the initial value of the memory (LUT) 10801 according to the first embodiment is shown in the upper part of the figure. Figure 5 The illustrated charge packet 1 generation code 10501 to charge packet 6 generation code 10506, independent code 10900, and adjacent code 10901. The lower portion of the figure also shows a memory 10801, i.e., a LUT.
[0188] The independent code 10900 in the upper section of the figure refers to the n-bit data per unit interval included in n types (here, 6 types) of charge packet generation codes. The figure includes 31 independent codes. In principle, each independent code is different from any other independent code. Independent code 10900 is generated by control unit 10106, for example, as an n-bit binary number per unit interval included in n types of charge packet generation codes. When the exposure code described above matches a certain independent code, the distance value of that pixel is the distance indicated by the corresponding unit interval (distance interval).
[0189] Adjacent code 10901 is a code obtained by logically adding the bits of two independent codes corresponding to two adjacent unit intervals. Adjacent code 10901 is generated, for example, by control unit 10106 using the logical addition of the bits of two independent codes corresponding to two adjacent unit intervals. If the exposure code described above matches a certain adjacent code, the distance between the two unit intervals corresponding to the matching adjacent code becomes the pixel distance value.
[0190] like Figure 9 As shown, the initial value of the memory (LUT) 10801 is generated based on the unit drive styles 10431 to 10436 for generating charge packets 1 to 6, the interval number 10500, and the generation code 10501 to 10506 of the charge packets 1 to 6, and the charge packet 1 to 6 unit drive styles 10431 to 10436 are used to control the light source unit 10102 and the solid-state imaging unit 10105.
[0191] The control unit 10106 generates an independent code 10900 as a 6-bit binary number. Specifically, the 6-bit binary number is as follows: the code 10501 generated by charge packet 1 is regarded as bit 0, the code 10502 generated by charge packet 2 is regarded as bit 1, the code 10503 generated by charge packet 3 is regarded as bit 2, the code 10504 generated by charge packet 4 is regarded as bit 3, the code 10505 generated by charge packet 5 is regarded as bit 4, and the code 10506 generated by charge packet 6 is regarded as bit 5. For example, the independent code 10920 with the interval number 10500 of 10921 being 7 is regarded as the following 6-bit binary number, specifically, the "0" of the code 10501 generated by the charge packet 1 with the interval number 10500 being 7 is regarded as bit 0, the "0" of the code 10502 generated by the charge packet 2 with the interval number 10500 being 7 is regarded as bit 1, the "0" of the code 10503 generated by the charge packet 3 with the interval number 10500 being 7 is regarded as bit 2, the "0" of the code 10504 generated by the charge packet 4 with the interval number 10500 being 7 is regarded as bit 3, the "1" of the code 10505 generated by the charge packet 5 with the interval number 10500 being 7 is regarded as bit 4, and the "0" of the code 10506 generated by the charge packet 6 with the interval number 10500 being 7 is regarded as bit 5. If expressed as a hexadecimal number, it becomes "10". Furthermore, the control unit 10106 generates an adjacent code 10901 by performing an OR operation on the bits of the independent codes 10900 of two adjacent intervals.For example, the adjacent codes 10923 of the adjacent positions of the interval number 10500 of 10924, which are 24 and 25, are regarded as the following 6-bit binary numbers, which are "33" if expressed in hexadecimal. Specifically, the 6-bit binary numbers are: the value "1" of bit 0 of the independent code with the interval number 10500 being 24 and the value "0" of bit 0 of the independent code with the interval number 10500 being 25 are regarded as bit 0; the value "1" of bit 1 of the independent code with the interval number 10500 being 24 and the value "1" of bit 1 of the independent code with the interval number 10500 being 25 are regarded as bit 1; the value "0" of bit 2 of the independent code with the interval number 10500 being 24 and the value "0" of bit 2 of the independent code with the interval number The result of the “OR” operation of the value “0” of bit 2 of the independent code with interval number 10500 being 25 is “0”, which is the result of the “OR” operation of the value “0” of bit 3 of the independent code with interval number 10500 being 24 and the value “0” of bit 3 of the independent code with interval number 10500 being 25 is “0”, which is the result of the “OR” operation of the value “0” of bit 4 of the independent code with interval number 10500 being 24 and the value “1” of bit 4 of the independent code with interval number 10500 being 25 is “1”, which is the result of the “OR” operation of the value “1” of bit 5 of the independent code with interval number 10500 being 24 and the value “1” of bit 5 of the independent code with interval number 10500 being 25 is “1”, which is the result of the “OR” operation of the value “1” of bit 5 of the independent code with interval number 10500 being 24 and the value “1” of bit 5 of the independent code with interval number 10500 being 25 is considered as bit 5. Here, since the independent code 10900 is when only one interval number 10500 has reflected light 10111 returned, the signal values of charge packets 1 to 6 including reflected light 10111 are "1" and those not including reflected light 10111 are "0", and the adjacent code 10901 is when reflected light 10111 is returned across two adjacent interval numbers 10500, the signal values of charge packets 1 to 6 including reflected light 10111 are "1" and those not including reflected light 10111 are "0", therefore the exposure code 10820 of each interval number 10500 is estimated based on the generated codes 10501 to 10506 of charge packets 1 to 6. Therefore, memory (LUT) 10801 is initialized using independent code 10900 and adjacent code 10901 as addresses and segment number 10500 corresponding to independent code 10900 and adjacent code 10901 as data. Exposure code 10820 is used as an address to access memory (LUT) 10801 for reading, thereby converting exposure code 10820 into a segment number corresponding to the distance. Table 10910 is a data set used to initialize memory (LUT) 10801.Since independent code 10920 is "10" in hexadecimal notation, the data at address "10" in table 10910 is set to 7, which is section number 10921 of independent code 10920. Furthermore, since adjacent code 10923 is "33" in hexadecimal notation, the data at address "33" in table 10910 is set to 24.5, the average value of 24 and 25, which is section numbers 10924 of adjacent code 10923. This is because section number 10924 of adjacent code 10923 spans section numbers 24 and 25. While reflected light 10111 is known to have returned, the more detailed timing of reflected light 10111's return is unknown. Therefore, by using the average value of the two adjacent section numbers, the maximum error can be suppressed to half the section number, assuming that reflected light 10111 has returned between two adjacent sections.
[0192] Here, the method for generating generated codes 10501 to 10506 for charge packets 1 to 6, which are provided to control unit 10106, will be described. To calculate the interval number using exposure code 10820 generated based on the signal values of charge packets 1 to 6, it is necessary to establish a one-to-one correspondence between exposure code 10820 and the interval number. To this end, generated codes 10501 to 10506 for charge packets 1 to 6 are determined so that they do not overlap with the values of independent code 10900 or adjacent code 10901, ensuring a one-to-one correspondence between exposure code 10820 and the interval number. Furthermore, generated codes 10501 to 10506 for charge packets 1 to 6 are determined so that independent code 10900 and adjacent code 10901 do not form "00" when expressed in hexadecimal. If reflected light 10111 returns at the timing when independent code 10900 or adjacent code 10901 has a value of "00," the signal values of charge packets 1 to 6 do not include the component of reflected light 10111, as exposure pulses 10121 to 10126 of charge packets 1 to 6 are at a low level. Furthermore, if object 10101 is not within the ranging range of intervals 0 to 31, the signal values of charge packets 1 to 6 also do not include the component of reflected light 10111. Since these two conditions cannot be determined from the signal values of charge packets 1 to 6, generated codes 10501 to 10506 for charge packets 1 to 6 are generated so that independent code 10900 and adjacent code 10901 do not represent "00" in hexadecimal notation. In addition, considering that the exposure code 10820 matches "00" which does not exist in the independent code 10900 and the adjacent code 10901, by setting the section number to a negative value of -1 in advance, it can be determined that the section number is not calculated correctly.
[0193] Figure 10This is a timing chart of the distance calculation unit 10108 according to the first embodiment.
[0194] About the figure Figure 7 Identical contents are assigned the same reference numerals. Reference numerals "P1(11)bin" to "P6(11)bin" represent the codes of charge packets 1 to 6 of pixel 10200 at pixel address 11 in the following description, and correspond to exposure code 10820 of pixel 10200 at pixel address 11.
[0195] like Figure 10 As shown, at timing 11000 before a valid signal value is output from the solid-state imaging unit output signal 10130, the control unit 10106 sets the value to the threshold register 10800 and the memory (LUT) 10801 via the control bus. In addition, a value near the black level is written to the threshold register 10800, and the data of the table 10910 is written to the memory (LUT) 10801. At timing 11001, the signal values of the charge packets 1 to 6 of the pixel address 11, that is, P1(11)sig to P6(11)sig in the figure, are sequentially sent out from the solid-state imaging unit output signal 10130. The sent signal values are sequentially compared with the values of the threshold register 10800 by the comparator 10802, and codes of the charge packets 1 to 6 of the pixel address 11 corresponding to the signal values of the charge packets 1 to 6 of the pixel address 11, that is, P1(11)bin to P6(11)bin in the figure, are generated and sent to the parallelization unit 10803. At timing 11002, the codes of charge packets 1 to 6 at pixel address 11 are parallelized to determine exposure code 10820. Using exposure code 10820 as the address, read access is performed to memory (LUT) 10801, and at timing 11003, segment number signal 10131 corresponding to the distance from pixel address 11 is output. This operation is performed for all pixels 10200 arranged two-dimensionally, thereby outputting all two-dimensional segment numbers.
[0196] The following describes in detail the distance calculation method of the 1-pixel distance calculation unit 10108.
[0197] Figure 11 FIG. 1 shows a distance calculation method of the distance calculation unit 10108 according to the first embodiment. Figure 11 As shown, the signal values of the charge packets 1 to 6 of the solid-state imaging unit output signal 10130 corresponding to one pixel input to the distance calculation unit 10108 are,
[0198] Charge packet 1 signal value = value near black level,
[0199] Charge packet 2 signal value = value greater than black level,
[0200] Charge packet 3 signal value = value near black level,
[0201] Charge packet 4 signal value = value near black level,
[0202] Charge packet 5 signal value = value near black level,
[0203] Charge packet 6 signal value = value near black level.
[0204] Furthermore, the signal values of charge packets 1 to 6 are determined by the signal charge after the reflected light 10111 is photoelectrically converted in the photoelectric conversion pixel 10201, the dark current noise of the photoelectric conversion pixel 10201 and the FDAs 10211 to 10216, etc. In a typical image sensor, since components such as dark current noise are relatively small, the signal values of charge packets 1 to 6 that do not include the reflected light 10111 are close to the black level. Figure 4 as well as Figures 6A to 6F In the control sequence shown for the light source unit 10102 and solid-state imaging unit 10105, unit drive patterns 10431 to 10436 for charge packets 1 to 6 are executed 1920 times each. This ensures sufficient light intensity for reflected light 10111, and the signal values of charge packets 1 to 6 are greater than the black level. Furthermore, a value near the black level is set in the threshold register 10800, and the value in the table 10910 is set in the memory (LUT) 10801.
[0205] The comparator 10802 sequentially compares the signal values of the charge packets 1 to 6 sequentially input from the solid-state imaging unit 10105 with the value of the threshold register 10800 to generate codes for the charge packets 1 to 6 .
[0206] Furthermore, the charge packet 1 code is "0" because the charge packet 1 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 2 code is "1" because the charge packet 2 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 3 code is "0" because the charge packet 3 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 4 code is "0" because the charge packet 4 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 5 code is "0" because the charge packet 5 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 6 code is "0" because the charge packet 6 signal value "value near black level" ≤ the threshold register "value near black level."
[0207] The codes for charge packets 1 through 6 are parallelized by parallelization unit 10803. The code for charge packet 1 is treated as bit 0, the code for charge packet 2 as bit 1, the code for charge packet 3 as bit 2, the code for charge packet 4 as bit 3, the code for charge packet 5 as bit 4, and the code for charge packet 6 as bit 5, that is, as a six-bit binary number, to generate exposure code 10820. This is expressed as "02" in hexadecimal. When this exposure code 10820 is used as the address of memory (LUT) 10801 for reading, since address 02 in table 10910 is 1, it is determined that reflected light 10111 returned within segment number 1. Therefore, segment number 1 is output as the distance.
[0208] In addition, the actual distance to the object 10101 can be calculated from the time difference between the generation of the irradiation light 10110 and the return of the reflected light 10111. The time difference between the generation of the irradiation light 10110 and the return of the reflected light 10111 can be calculated by multiplying the interval number by the time of 1 interval. Since the irradiation light 10110 is reflected by the object 10101 and returns to the solid-state imaging unit 10105 as the reflected light 10111, the irradiation light 10110 and the reflected light 10111 move a distance twice the distance to the object 10101. Therefore, the actual distance to the object 10101 is
[0209] = Speed of light × 1 interval length × interval number of reflected light 10111 ÷ 2
[0210] =299792458[m / s]×10[ns]×1÷2
[0211] =1.49896229[m].
[0212] That is, the reflected wave from the unit section (distance section) of section number 0 indicates that an object is located between 0 and 1.5 meters. The reflected wave from the unit section (distance section) of section number 1 indicates that an object is located between 1.5 and 3 meters. The reflected wave from the unit section (distance section) of section number 2 indicates that an object is located between 3 and 4.5 meters. The same applies to the other section numbers.
[0213] In addition, the unit interval can use the pulse width of the exposure pulse as a reference. The unit interval can be the same as or different from the pulse width of the exposure pulse. The pulse width of the exposure pulse can be the same as or different from the pulse width of the light emitting pulse. In this embodiment, for ease of understanding, the pulse width of the exposure pulse, the pulse width of the light emitting pulse, and the unit interval are all considered to be the same.
[0214] Figure 12FIG. 1 shows a distance calculation method of the distance calculation unit 10108 according to the first embodiment. Figure 12 As shown, the signal values of the charge packets 1 to 6 of the solid-state imaging unit output signal 10130 corresponding to one pixel input to the distance calculation unit 10108 are,
[0215] Charge packet 1 signal value = value greater than black level,
[0216] Charge packet 2 signal value = value near black level,
[0217] Charge packet 3 signal value = value greater than black level,
[0218] Charge packet 4 signal value = value greater than black level,
[0219] Charge packet 5 signal value = value near black level,
[0220] Charge packet 6 signal value = a value greater than the black level.
[0221] The comparator 10802 sequentially compares the signal values of the charge packets 1 to 6 sequentially input from the solid-state imaging unit with the value of the threshold register 10800 to generate codes for the charge packets 1 to 6 .
[0222] Furthermore, the charge packet 1 code is "1" because the charge packet 1 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 2 code is "0" because the charge packet 2 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 3 code is "1" because the charge packet 3 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 4 code is "1" because the charge packet 4 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 5 code is "0" because the charge packet 5 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 6 code is "1" because the charge packet 6 signal value "value greater than black level" > the threshold register "value near black level."
[0223] The codes for charge packets 1 through 6 are parallelized by parallelization unit 10803. The code for charge packet 1 is considered as bit 0, the code for charge packet 2 as bit 1, the code for charge packet 3 as bit 2, the code for charge packet 4 as bit 3, the code for charge packet 5 as bit 4, and the code for charge packet 6 as bit 5, i.e., a 6-bit binary number. This generates exposure code 10820, expressed as "2D" in hexadecimal. When this exposure code 10820 is used as the address of memory (LUT) 10801 for reading, since the data at address 2D in table 10910 is 30, it is determined that reflected light 10111 returned at interval number 30. Therefore, interval number 30 is output as the distance.
[0224] Figure 13 FIG. 1 shows a distance calculation method of the distance calculation unit 10108 according to the first embodiment. Figure 13 As shown, the signal values of the charge packets 1 to 6 of the solid-state imaging unit output signal 10130 corresponding to one pixel input to the distance calculation unit 10108 are,
[0225] Charge packet 1 signal value = value near black level,
[0226] Charge packet 2 signal value = value greater than black level,
[0227] Charge packet 3 signal value = value greater than black level,
[0228] Charge packet 4 signal value = value near black level,
[0229] Charge packet 5 signal value = value near black level,
[0230] Charge packet 6 signal value = value near black level.
[0231] The comparator 10802 sequentially compares the signal values of the charge packets 1 to 6 sequentially input from the solid-state imaging unit with the value of the threshold register 10800 , and generates codes for the charge packets 1 to 6 .
[0232] Furthermore, the charge packet 1 code is "0" because the charge packet 1 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 2 code is "1" because the charge packet 2 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 3 code is "1" because the charge packet 3 signal value "value greater than black level" > the threshold register "value near black level." The charge packet 4 code is "0" because the charge packet 4 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 5 code is "0" because the charge packet 5 signal value "value near black level" ≤ the threshold register "value near black level." The charge packet 6 code is "0" because the charge packet 6 signal value "value near black level" ≤ the threshold register "value near black level."
[0233] The codes for charge packets 1 through 6 are parallelized by parallelization unit 10803. The code for charge packet 1 is treated as bit 0, the code for charge packet 2 as bit 1, the code for charge packet 3 as bit 2, the code for charge packet 4 as bit 3, the code for charge packet 5 as bit 4, and the code for charge packet 6 as bit 5, that is, as a six-bit binary number, to generate exposure code 10820, which is expressed as "06" in hexadecimal. When exposure code 10820 is used as the address of memory (LUT) 10801 for reading, since the data at address 06 in table 10910 is 1.5, it is determined that reflected light 10111 returned between interval numbers 1 and 2, and interval number 1.5 is output as the distance.
[0234] Figure 14 FIG. 1 shows a distance calculation method of the distance calculation unit 10108 according to the first embodiment. Figure 14 As shown, the signal values of the charge packets 1 to 6 of the solid-state imaging unit output signal 10130 corresponding to one pixel input to the distance calculation unit 10108 are,
[0235] Charge packet 1 signal value = value greater than black level,
[0236] Charge packet 2 signal value = value near black level,
[0237] Charge packet 3 signal value = value greater than black level,
[0238] Charge packet 4 signal value = value greater than black level,
[0239] Charge packet 5 signal value = value greater than black level,
[0240] Charge packet 6 signal value = a value greater than the black level.
[0241] Comparator 10802 sequentially compares the signal values of charge packets 1 to 6, which are sequentially input from the solid-state imaging unit, with the value of threshold register 10800, generating codes for charge packets 1 to 6. The code for charge packet 1 is "1" because the value of charge packet 1 (a value greater than black level) > the value near black level in the threshold register. The code for charge packet 2 is "0" because the value of charge packet 2 (a value near black level) ≤ the value near black level in the threshold register. The code for charge packet 3 is "1" because the value of charge packet 3 (a value greater than black level) > the value near black level in the threshold register. The code for charge packet 4 is "1" because the value of charge packet 4 (a value greater than black level) > the value near black level in the threshold register. The code for charge packet 5 is "1" because the value of charge packet 5 (a value greater than black level) > the value near black level in the threshold register. The code for charge packet 6 is "1" because the value of charge packet 6 (a value greater than black level) > the value near black level in the threshold register.
[0242] The codes for charge packets 1 through 6 are parallelized by parallelization unit 10803. The code for charge packet 1 is treated as bit 0, the code for charge packet 2 as bit 1, the code for charge packet 3 as bit 2, the code for charge packet 4 as bit 3, the code for charge packet 5 as bit 4, and the code for charge packet 6 as bit 5, that is, as a 6-bit binary number, to generate exposure code 10820, expressed as "3D" in hexadecimal. When this exposure code 10820 is used as the address of memory (LUT) 10801 for reading, since the data at address 3D in table 10910 is 29.5, it is determined that reflected light 10111 returned between interval numbers 29 and 30, and interval number 29.5 is output as the distance.
[0243] Through the above operation, the time required for 12 repetitions of the frame-based drive pattern 10410, equivalent to the camera exposure time, is 17.28 ms, and the time required for image data readout 10411, equivalent to the camera readout time, is 16.053 ms. Therefore, the time required for one frame is 33.3 ms, and the frame rate of this ranging device is 30 fps. Compared to conventional technologies, this technology significantly expands the range of distance measurement with a smaller number of charge packets. Therefore, it is possible to maintain the frame rate while significantly expanding the range of distance measurement.
[0244] As described above, the distance measuring device according to the first embodiment includes: a pulse generating unit that generates a light emission pulse and an exposure pulse, wherein the light emission pulse indicates the timing of light irradiation and the exposure pulse indicates the timing of exposure of reflected light; a control unit that controls the pulse generating unit according to n types of charge packet generation codes, wherein the n types of charge packet generation codes indicate whether exposure should be performed for each of a plurality of unit intervals or whether light emission should be performed for each of the plurality of unit intervals, wherein the plurality of unit intervals correspond to a plurality of distance intervals obtained by dividing a distance measurement range, and n is an integer greater than or equal to 4; a light source unit that irradiates light according to the light emission pulse; a solid-state imaging unit that captures images according to the exposure pulse; and a distance calculating unit that calculates the distance based on the n types of signal values for each of the unit intervals obtained from the solid-state imaging unit.
[0245] This enables high ranging accuracy and a wide ranging range. This is because the distance to an object is determined by defining a unit interval (i.e., a distance interval) that is composed of n-bit data obtained by binarizing n signal values, corresponding to the n-bit data of each of the multiple unit intervals (multiple distance intervals) in the n-type charge packet generation code. Since the n-bit data of each unit interval (multiple distance intervals) corresponds to 2n-power unit intervals, the number of unit intervals can be easily increased, achieving high ranging accuracy and a wide ranging range.
[0246] Here, the n-bit binary number of each unit interval included in the n types of charge packet generation codes may be generated as an independent code, the distance calculation unit may binarize the n types of signal values, determine the n-bit binary number as an exposure code, compare the independent code with the exposure code, and calculate the distance corresponding to the consistent unit interval.
[0247] The distance to the object is thus determined by identifying distance intervals where the exposure code matches the independent code. Since the maximum number of unit intervals (i.e., the number of independent codes) is 2 to the power of n, the number of unit intervals can be easily increased, achieving high distance measurement accuracy and a wide distance measurement range.
[0248] Here, the control unit may generate an n-bit adjacent code by performing an "OR" operation on each bit of the two independent codes corresponding to the two adjacent unit intervals, and the distance calculation unit may further compare the exposure code with the adjacent code, and calculate the distance between the corresponding two unit intervals when they are consistent.
[0249] In this way, when the exposure code matches the adjacent code, two corresponding distance intervals are determined, and the distance to the object is calculated as the distance between the two determined distance intervals. Furthermore, the total number of independent codes and the number of adjacent codes can be set to a maximum of 2 to the power of n. For example, since a maximum of 2 to the power of (n-1) independent codes and 2 to the power of (n-1) adjacent codes can be set, higher ranging accuracy and a larger ranging range can be achieved.
[0250] Here, each of the adjacent codes may be different from any other adjacent codes.
[0251] With this, when the exposure code matches the adjacent code, the distance to the object can be easily determined as a distance that straddles the boundary between the two corresponding distance intervals and falls within a range equal to or smaller than the distance interval.
[0252] Here, each of the independent codes may be different from any other independent code.
[0253] With this configuration, when the exposure code and the independent code match with each other regarding the distance to the object, the corresponding distance zone can be easily identified.
[0254] Here, the solid-state imaging unit may include: photoelectric conversion pixels; n signal charge storage units corresponding to the n types of charge packet generation codes, storing signal charges generated by the photoelectric conversion pixels; and a signal output unit that outputs n types of signal values corresponding to the signal charges stored in the n signal charge storage units.
[0255] This allows the solid-state imaging unit to accumulate n types of signal values. Since the signal value reading operation can be performed after accumulating n types of signal values, that is, after continuous exposure according to n types of charge packet generation codes, the imaging operation can be accelerated. In other words, the frame rate can be easily increased.
[0256] Furthermore, the distance measurement method according to the first embodiment is a distance measurement method in a distance measurement device, the distance measurement device comprising: a pulse generating unit that generates a light emission pulse and an exposure pulse, the light emission pulse being used to indicate a timing of light irradiation and the exposure pulse being used to indicate a timing of exposure of reflected light; a control unit that controls the pulse generating unit according to n types of charge packet generation codes, the n types of charge packet generation codes indicating whether exposure should be performed for each of a plurality of unit intervals or whether light emission should be performed for each of the plurality of unit intervals, the plurality of unit intervals corresponding to a plurality of distance intervals obtained by dividing a distance measurement range, and n being an integer greater than or equal to 4; a light source unit that irradiates light according to the light emission pulse; a solid-state imaging unit that captures images according to the exposure pulse; and a distance calculation unit that calculates a distance based on n types of signal values for each of the unit intervals obtained from the solid-state imaging unit, the pulse generating unit generating the n types of charge packet generation codes indicating whether exposure should be performed for each of the plurality of unit intervals or whether light emission should be performed for each of the plurality of unit intervals, the plurality of unit intervals corresponding to a plurality of distance intervals obtained by dividing a distance measurement range, and n being an integer greater than or equal to 4. The invention relates to a method for generating a light-emitting pulse and an exposure pulse by generating a code, wherein the n types of charge packet generation codes indicate whether exposure should be performed for each of a plurality of unit intervals, or whether light should be emitted for each of a plurality of unit intervals, wherein the plurality of unit intervals correspond to a plurality of distance intervals obtained by dividing a ranging range, and n is an integer greater than or equal to 4. In the ranging method, n types of signal values for each of the unit intervals obtained from the solid-state imaging unit are obtained, the n types of signal values are binarized, and the binarized n-bit binary number is determined as an exposure code. The n-bit binary number for each of the unit intervals included in the n types of charge packet generation codes is generated as an independent code, and the independent code is compared with the exposure code to calculate the distance corresponding to the consistent unit interval. Each of the n types of charge packet generation codes indicates a plurality of exposure pulses for one light-emitting pulse, or indicates a plurality of light-emitting pulses for one exposure pulse.
[0257] Based on this, the distance to the object is determined by identifying distance intervals where the exposure code matches the independent code. Since the maximum number of unit intervals (i.e., the number of independent codes) is 2 to the power of n, the number of unit intervals can be easily increased, achieving high distance measurement accuracy and a wide distance measurement range.
[0258] Here, it is also possible to further generate an n-bit adjacent code by performing an "OR" operation on each bit of the two independent codes corresponding to the two adjacent unit intervals, compare the independent code with the adjacent code, and calculate the distance between the corresponding two unit intervals if they are consistent.
[0259] In this way, when the exposure code matches the adjacent code, two corresponding distance intervals are determined, and the distance to the object can be calculated as the distance between the two determined distance intervals. Furthermore, the total number of independent codes and the number of adjacent codes can be set to a maximum of 2 to the power of n. For example, since a maximum of 2 to the power of (n-1) independent codes and 2 to the power of (n-1) adjacent codes can be set, higher ranging accuracy and a larger ranging range can be achieved.
[0260] (Implementation Method 2)
[0261] Embodiment 1 describes use in an environment without background light containing a component with a wavelength of 940 nm. However, in outdoor use, the presence of high-energy background light containing a component with a wavelength of 940 nm, due to the influence of sunlight and other factors, can significantly adversely affect the accuracy of the distance measuring device. Embodiment 2 describes a method for mitigating this adverse effect even in the presence of high-energy background light containing a component with a wavelength of 940 nm.
[0262] Figure 15 The configuration of a TOF (Time Of Flight) type distance measuring device and surrounding objects in an environment including background light according to the second embodiment is schematically shown. Figure 15As shown, background light 21510 emitted by a background light source 21502 including a component having the same wavelength of 940 nm as that of the light source unit 10102, and pulsed irradiation light 10110 (pulse width 10 ns) having a wavelength of 940 nm irradiated from the light source unit 10102 are irradiated onto an object 10101 in a shooting space 10100 and reflected from the object 10101. The reflected light 10111 of the irradiation light 10110 and the background light reflected light 21511 of the background light 21510 are received by the solid-state imaging unit 10105 through an optical lens 10103 and a filter 10104 that transmits light in a near-infrared wavelength region near a wavelength of 940 nm, and the resulting image is captured. The light emission timing of the light source unit 10102 and the exposure timing of the solid-state imaging unit 10105 are controlled by the light emission pulse 10120, exposure pulses 10121 to 10126 for charge packets 1 to 6, and the discharge drive pulse 10127 of the pulse generating unit 10107. The pulse generating unit 10107 is controlled by the control unit 10106 via a control bus. Furthermore, the light source unit 10102 emits illumination light 10110 when the light emission pulse 10120 is at a high level and does not emit illumination light 10110 when it is at a low level. The solid-state imaging unit 10105 outputs the solid-state imaging unit output signal 10130, which is a set of six signal values corresponding to the exposure pulses 10121 to 10126 for charge packets 1 to 6, to the distance calculating unit 21508 for each pixel. The distance calculation unit 21508 uses the solid-state imaging unit output signal 10130 and the control information from the control unit 10106 to output a section number signal 10131 corresponding to the distance to the object 10101 for each pixel.
[0263] The light source unit 10102, optical lens 10103, filter 10104, solid-state imaging unit 10105, control unit 10106, pulse generating unit 10107, and distance calculating unit 21508 constitute a distance measuring device. The light source unit 10102 includes a drive circuit and a light-emitting element, and emits light by applying a voltage from the drive circuit. Laser diodes or other light-emitting elements can be used as the light-emitting element. The control unit 10106, pulse generating unit 10107, and distance calculating unit 21508 are implemented by combining, for example, a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), and an AFE (Analog Front End).
[0264] Figure 2 1 is a diagram showing the configuration of a pixel 10200 of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 2 As shown, the pixel 10200 is composed of a signal charge storage unit and an output unit. The signal charge storage unit includes: a photoelectric conversion pixel 10201 composed of a PD (Photodiode) that receives reflected light 10111 and performs photoelectric conversion; a drain 10210 for discharging the signal charge photoelectrically converted in the photoelectric conversion pixel 10201; and an FDA (Floating Diffusion Electrode) for accumulating the signal charge photoelectrically converted in the photoelectric conversion pixel 10201. Amplifier: floating diffusion amplifier) 10211 to 10216, the output part outputs the voltage value corresponding to the signal charge accumulated in FDA10211 to 10216, and the output part includes: source follower circuit 10221, output selection transistor 10231, source follower circuit 10222, output selection transistor 10232, source follower circuit 10223, output selection transistor 10233, source follower circuit 10224, output selection transistor 10234, source follower circuit 10225, output selection transistor 10235, source follower circuit 10226, and output selection transistor 10236.
[0265] Next, the operation of the pixel 10200 will be described. When the exposure pulse 10121 of the charge packet 1 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10211. When the exposure pulse 10122 of the charge packet 2 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10212. When the exposure pulse 10123 of the charge packet 3 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10213. When the exposure pulse 10124 of the charge packet 4 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10214. The signal charge photoelectrically converted in the conversion pixel 10201 is accumulated in FDA10214. When the exposure pulse 10125 of charge packet 5 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10215. When the exposure pulse 10126 of charge packet 6 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10216. When the discharge drive pulse 10127 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is discharged to the drain 10210. Therefore, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the discharge drive pulse 10127 is set to a high level. Thus, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the signal charges photoelectrically converted in the photoelectric conversion pixel 10201 are discharged to the drain 10210. When one of the six exposure pulses 10121 to 10126 of the charge packets 1 to 6 is at a high level, the remaining five are set to a low level. ow level and the discharge drive pulse 10127 is made Low level, so that only when one of the six exposure pulses 10121 to 10126 of charge packets 1 to 6 is High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated to the FDAs 10211 to 10216 corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6, and six types of shooting corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6 are performed at each pixel. FDA10211 to 10216 accumulate signal charges to generate voltages corresponding to the signal charge amounts, generating a charge packet 1 voltage value corresponding to the signal charge amount of FDA10211, a charge packet 2 voltage value corresponding to the signal charge amount of FDA10212, a charge packet 3 voltage value corresponding to the signal charge amount of FDA10213, a charge packet 4 voltage value corresponding to the signal charge amount of FDA10214, a charge packet 5 voltage value corresponding to the signal charge amount of FDA10215, and a charge packet 6 voltage value corresponding to the signal charge amount of FDA10216.By making the output enable signal 10240 a High level, the following voltage values are output simultaneously: the charge packet 1 voltage value is output to the pixel output signal 10241 via the source follower circuit 10221 and the output selection transistor 10231, the charge packet 2 voltage value is output to the pixel output signal 10242 via the source follower circuit 10222 and the output selection transistor 10232, and the charge packet 3 voltage value is output to the pixel output signal 10243 via the source follower circuit 10223 and the output selection transistor 10234. 0233 is output to pixel output signal 10243, the voltage value of charge packet 4 is output to pixel output signal 10244 via source follower circuit 10224 and output selection transistor 10234, the voltage value of charge packet 5 is output to pixel output signal 10245 via source follower circuit 10225 and output selection transistor 10235, and the voltage value of charge packet 6 is output to pixel output signal 10246 via source follower circuit 10226 and output selection transistor 10236.
[0266] Figure 3 1 is a structural diagram of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 3As shown, in the solid-state imaging unit 10105, pixels 10200 are arranged two-dimensionally with X pixels arranged horizontally and Y pixels arranged vertically. In Embodiments 1 to 4, X = 320 and Y = 240. The number of pixels is an example and is not limiting. The output enable signals 10240 of the pixels 10200 with pixel address 11, pixel address 12, and pixel address 1X arranged in the horizontal direction of the first row are connected to the row selection signal 10300, the output enable signals 10240 of the pixels 10200 with pixel address 21, pixel address 22, and pixel address 2X arranged in the horizontal direction of the second row are connected to the row selection signal 10301, the output enable signals 10240 of the pixels 10200 with pixel address 31, pixel address 32, and pixel address 3X arranged in the horizontal direction of the third row are connected to the row selection signal 10302, and the output enable signals 10240 of the pixels 10200 with pixel address Y1, pixel address Y2, and pixel address YX arranged in the horizontal direction of the Y row are connected to the row selection signal 10303. Furthermore, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 11, pixel address 21, pixel address 31, and pixel address Y1 arranged in the vertical direction of the first column are connected to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 12, pixel address 22, pixel address 32, and pixel address Y2 arranged in the vertical direction of the second column are connected to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 1X, pixel address 2X, pixel address 3X, and pixel address YX arranged in the vertical direction of the X column are connected to the vertical pixel signals 10331 to 10336. Thus, the vertical pixel signals 10311 to 10316 , 10321 to 10326 , and 10331 to 10336 are connected to the column AD 10370 , the output signal of the column AD 10370 is connected to the shift register 10371 , and the solid-state imaging unit output signal 10130 is output from the shift register 10371 .
[0267] Next, the readout operation of the solid-state imaging unit 10105 will be described. This readout operation is similar to that of a typical CMOS image sensor with the horizontal pixel count multiplied by 6. By setting row select signal 10300 to a high level, row select signal 10301 to a low level, row select signal 10302 to a low level, and row select signal 10303 to a low level, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 11 are output as vertical pixel signals 10311 to 10316, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 12 are output as vertical pixel signals 10321 to 10326, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 1X are output as vertical pixel signals 10331 to 10336, which are then input to column AD 10370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a high level, the row selection signal 10302 to a low level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a low level, the row selection signal 10302 to a high level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 31 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 32 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 3X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370. By setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a low level, setting the row selection signal 10302 to a low level, and setting the row selection signal 10303 to a high level, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y1 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y2 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address YX are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370.Column AD 10370 converts the input voltage values of charge packets 1 to 6 of X pixels into 12-bit signal values, generating the following signal values for the X pixels and outputting them to shift register 10371. Specifically, the generated signal values for the X pixels are: charge packet 1 signal value after AD conversion of the voltage value of charge packet 1, charge packet 2 signal value after AD conversion of the voltage value of charge packet 2, charge packet 3 signal value after AD conversion of the voltage value of charge packet 3, charge packet 4 signal value after AD conversion of the voltage value of charge packet 4, charge packet 5 signal value after AD conversion of the voltage value of charge packet 5, and charge packet 6 signal value after AD conversion of the voltage value of charge packet 6. Shift register 10371 shifts the input signal values of charge packets 1 to 6 of the X pixels bit by bit and outputs them to solid-state imaging unit output signal 10130.
[0268] Figure 16 A control sequence of the light source unit 10102 and the solid-state imaging unit 10105 according to the second embodiment is shown. Figure 16 The control sequence in Figure 1 As shown, the control unit 10106 instructs the pulse generation unit 10107 via the control bus the number of repetitions of the frame unit drive pattern (12 times) and the number of repetitions of the unit drive pattern of charge packets 1 to 6 (300 times). In accordance with the number of repetitions of the frame unit drive pattern and the number of repetitions of the unit drive pattern of charge packets 1 to 6, the pulse generation unit 10107 generates a light emitting pulse 10120, exposure pulses 10121 to 10126 of charge packets 1 to 6, and a discharge driving pulse 10127. Figure 16 The generation of the unit drive patterns 21631 to 21636 of the charge packets 1 to 6 is described. Figure 17 and 18A to 18F A method of generating the light emission pulse 10120 for each of the unit drive patterns 21631 to 21636 of the charge packets 1 to 6, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge drive pulse 10127 will be described.
[0269] like Figure 16As shown, one frame consists of a frame drive pattern 10400. Frame drive pattern 10400 is composed of 12 repetitions of a frame-based drive pattern 10410, and imaging data readout 10411, in which the solid-state imaging unit 10105 outputs the signal charges accumulated in the signal charge storage units of all pixels 10200. Frame-based drive pattern 10410 is composed of a charge packet 1 drive pattern 10421, a charge packet 2 drive pattern 10422, a charge packet 3 drive pattern 10423, a charge packet 4 drive pattern 10424, a charge packet 5 drive pattern 10425, and a charge packet 6 drive pattern 10426. Charge packet 1 drive pattern 10421 is composed of 300 repetitions of a charge packet 1 drive pattern 21631. Charge packet 2 drive pattern 10422 is composed of 300 repetitions of a charge packet 2 drive pattern 21632. The charge packet 3 driving pattern 10423 is composed of 300 repetitions of the charge packet 3 unit driving pattern 21633. The charge packet 4 driving pattern 10424 is composed of 300 repetitions of the charge packet 4 unit driving pattern 21634. The charge packet 5 driving pattern 10425 is composed of 300 repetitions of the charge packet 5 unit driving pattern 21635. The charge packet 6 driving pattern 10426 is composed of 300 repetitions of the charge packet 6 unit driving pattern 21636. The unit driving patterns 21631 to 21636 of charge packets 1 to 6 drive the light emitting pulse 10120, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127. The details of the unit driving patterns 21631 to 21636 of charge packets 1 to 6 will be described in detail. Figure 17 and 18A to 18F To illustrate. And, Figure 16 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 shown is an example and is not limited to this example.
[0270] The unit drive patterns 21631 to 21636 of charge packets 1 to 6 are repeated 300 times in the drive patterns 10421 to 10426 of charge packets 1 to 6, respectively, and the drive patterns 10421 to 10426 of charge packets 1 to 6 are repeated 12 times in the frame unit drive pattern. That is, the unit drive patterns 21631 to 21636 of charge packets 1 to 6 are repeated 300×12=3600 times. By repeating 3600 times, even if the amount of light in a single irradiation light 10110 is small, a sufficient amount of light can be ensured. In addition, by dividing the frame drive pattern 10400 into 12 frame unit drive patterns 10410, the time required for each frame unit drive pattern 10410 can be shortened, so that the camera timing of charge packets 1 to 6 can appear to be parallel. Therefore, by repeating the frame unit driving pattern 10410 12 times, the jitter generated when the object 10101 moves can occur evenly in charge packets 1 to 6, thereby suppressing side effects such as data garbled during distance calculation caused by the movement of the object 10101.
[0271] Figure 17 1 shows generation codes 21701 to 21706 of charge packets 1 to 6 given to the control unit 10106 in order to generate unit drive patterns 21631 to 21636 of charge packets 1 to 6 and a discharge drive pulse 10127 for controlling the solid-state imaging unit 10105 according to the second embodiment. Figure 17 As shown, the generation codes 21701 to 21706 for charge packets 1 to 6 are information for controlling the driving of exposure pulses 10121 to 10126 for charge packets 1 to 6, respectively. Segment number 21700 is divided into 31 segments from 0 to 30, and a value of "0" or "1" is determined for each segment number 21700. Segment number 21700 and the generation codes 21701 to 21706 for charge packets 1 to 6 are sent to the pulse generation unit 10107 via the control bus. The pulse generation unit 10107 generates unit drive patterns 21631 to 21636 for charge packets 1 to 6 based on segment number 21700 and the generation codes 21701 to 21706 for charge packets 1 to 6. Figure 17 The generation codes of charge packets 1 to 6 shown are only examples and are not intended to limit the generation codes of charge packets 1 to 6.
[0272] 18A to 18F 2 is a timing chart showing the charge packet 1 unit driving pattern 21631 to the charge packet 6 unit driving pattern 21636 according to the second embodiment. 18A to 18FAs shown, the pulse generating unit 10107 switches the interval number 10600 to 80 intervals from 0 to 79 according to the unit interval (10 ns), and controls the light emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge driving pulse 10127 using the generation codes 21701 to 21706 of the interval number 10600 and the interval number 10600, thereby generating the unit driving patterns 21631 to 21636 of the charge packets 1 to 6. The interval number 10600 of the pulse generating unit 10107 is set to a value (79) that is twice or more of the maximum value (30) of the interval number 21700 in order to prevent the reception of the reflected light 10111 from the object 10101 located outside the ranging range of the irradiation light 10110 (interval number greater than the maximum value of the interval number 21700). To this end, in interval numbers not included in interval number 21700, pulses are generated that set the light emitting pulse 10120 to a low level, the exposure pulses 10121 to 10126 of charge packets 1 to 6 to a low level, and the discharge drive pulse 10127 to a high level. In this way, by controlling the solid-state imaging unit 10105, the time required to repeat the frame-based drive pattern 10410 12 times, which corresponds to the imaging exposure time, is: (unit interval 10 ns x number of interval numbers 80 x number of charge packet-based drive pattern repetitions 300 times x number of charge packets 6 x number of frame-based drive pattern repetitions 12 times = 17.28 ms). While this unit interval specifies that the pulse widths of the irradiation light 10110 and the exposure pulses 10121 to 10126 of charge packets 1 to 6 are the same, the pulse widths are not limited to 10 ns.
[0273] The following describes a method for controlling the light emitting pulses 10120 of section numbers 0 to 30, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127 in section number 21700.
[0274] Figure 18AThis is a timing diagram illustrating charge packet 1 unit drive pattern 21631. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 1 exposure pulse 10121 is generated as a pulse that reaches a high level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "1," and a low level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "0." Charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level for all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "0", and is generated as a pulse logically inverted from the charge packet 1 exposure pulse 10121.
[0275] Figure 18B This is a timing diagram illustrating the charge packet 2 unit drive pattern 21632. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 2 exposure pulse 10122 is generated as a pulse that reaches a high level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "1," and a low level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that are low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 2 exposure pulse 10122.
[0276] Figure 18CThis is a timing diagram illustrating charge packet 3 unit drive pattern 21633. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 3 exposure pulse 10123 is generated as a pulse that reaches a high level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "1," and a low level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 3 exposure pulse 10123.
[0277] Figure 18D This is a timing diagram illustrating charge packet 4 unit drive pattern 21634. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 4 exposure pulse 10124 is generated as a pulse that reaches a high level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "1," and a low level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 becomes a low level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "1", and becomes a high level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 4 exposure pulse 10124.
[0278] Figure 18EThis is a timing diagram illustrating the charge packet 5 unit drive pattern 21635. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 5 exposure pulse 10125 is generated as a pulse that reaches a high level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "1," and a low level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 5 exposure pulse 10125.
[0279] Figure 18F This is a timing diagram illustrating charge packet 6 unit drive pattern 21636. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 6 exposure pulse 10126 is generated as a pulse that reaches a high level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "1," and a low level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 5 exposure pulse 10125 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 6 exposure pulse 10126.
[0280] Figure 7FIG. 1 is a timing diagram of the image data readout 10411 of the solid-state image pickup unit 10105 according to Embodiments 1 to 4. The row selection signals 10300 to 10303, the column AD 10370, and the shift register 10371 are controlled as follows. Figure 3 As shown, the signal values of charge packets 1 to 6 of all pixels 10200 are output to the solid-state imaging unit output signal 10130. The operation of the imaging data readout 10411 is the same as that of a conventional CMOS image sensor with the number of horizontal pixels increased by six.
[0281] like Figure 7As shown, at timing 10700, by making the row selection signal 10300 a High level, the row selection signal 10301 a Low level, the row selection signal 10302 a Low level, and the row selection signal 10303 a Low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 11 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 12 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 1X are output to the vertical pixel signals 10331 to 10336. Vertical pixel signals 10311 to 10316, vertical pixel signals 10321 to 10326, and vertical pixel signals 10331 to 10336 are connected to column AD 10370 and are A / D-converted into 12-bit signal values. This generates the following signal values: Charge Packet 1 (the voltage value of charge packet 1 at pixel addresses 11, 12, and 1X), Charge Packet 2 (the voltage value of charge packet 2), Charge Packet 3 (the voltage value of charge packet 3), Charge Packet 4 (the voltage value of charge packet 4), Charge Packet 5 (the voltage value of charge packet 5), and Charge Packet 6 (the voltage value of charge packet 6). At timing 10701, when A / D conversion is complete, the A / D-converted signal values of Charge Packets 1 to 6 at pixel addresses 11, 12, and 1X are output to shift register 10371. While shifting the input signal value, the shift register 10371 outputs the charge packet 1 signal value of pixel address 11, the charge packet 2 signal value of pixel address 11, the charge packet 3 signal value of pixel address 11, the charge packet 4 signal value of pixel address 11, the charge packet 5 signal value of pixel address 11, the charge packet 6 signal value of pixel address 11, the charge packet 1 signal value of pixel address 12, the charge packet 2 signal value of pixel address 12, the charge packet 3 signal value of pixel address 12, the charge packet 4 signal value of pixel address 12, the charge packet 5 signal value of pixel address 12, the charge packet 6 signal value of pixel address 12, the charge packet 1 signal value of pixel address 1X, the charge packet 2 signal value of pixel address 1X, the charge packet 3 signal value of pixel address 1X, the charge packet 4 signal value of pixel address 1X, the charge packet 5 signal value of pixel address 1X, and the charge packet 6 signal value of pixel address 1X in this order from the solid-state imaging unit output signal 10130.Furthermore, at timing 10701, the row selection signal 10300 is set to a low level, the row selection signal 10301 is set to a high level, the row selection signal 10302 is set to a low level, and the row selection signal 10303 is set to a low level, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are input to the column AD10370 and AD converted into 12-bit signal values. The AD conversion of column AD10370 started at timing 10701 and the shifting operation of shift register 10371 are completed at timing 10702. At this timing 10702, the AD conversion result of column AD10370 started at timing 10701 is output to shift register 10371. As described above, while shifting the input signal value, signal 10130 is output from the solid-state imaging unit. At timing 10702, row select signal 10300 is set to a low level, row select signal 10301 is set to a low level, row select signal 10302 is set to a high level, and row select signal 10303 is set to a low level. Consequently, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 31, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 32, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 3X are input to column AD 10370 and, similarly to the above, are A / D-converted into 12-bit signal values. By performing the above operation for all rows, the signal values of all pixels 10200 are output from solid-state imaging unit output signal 10130. Furthermore, Figure 2 FDA 10211 to 10216 as shown, and Figure 17 While there are six generation codes 21701 to 21706 for charge packets 1 to 6, this number is not limited to six. When the number of signal charge storage units is greater than the number of charge packet generation codes, since the signal values of charge packets 1 to 6 can be obtained in a single frame, the interval number corresponding to the distance can be calculated using data from a single frame. When the number of signal charge storage units is less than the number of charge packet generation codes, the interval number corresponding to the distance can be calculated by obtaining the signal values of charge packets 1 to 6 using data from multiple frames. Furthermore, the time required to read out the image data 10411, which corresponds to the image readout time, is calculated by taking into account the number of pixels in the blanking period (horizontal pixel number x 320 + horizontal blanking period 80) × (vertical pixel number Y 240 + vertical blanking period 23) divided by the output clock frequency of the solid-state imaging unit output signal 10130. Here, assuming an output clock frequency of 39.319 MHz, the time required to read out the image data 10411, which corresponds to the image readout time, is 16.053 ms.
[0282] Figure 19 FIG. 2 shows the structure of the distance calculation unit 21508 involved in the second embodiment. Figure 19 As shown, the distance calculation unit 21508 has exposure times 21901 to 21906 of charge packets 1 to 6 controlled by the control unit 10106 via the control bus, and a memory (LUT) 10801, and its configuration includes: a selection circuit 21907 for selecting the exposure times 21901 to 21906 of charge packets 1 to 6; a divider 21908 for dividing the output signal 10130 of the solid-state imaging unit by the output signal of the selection circuit 21907; a parallelization unit (B) 21909 for parallelizing the output signal of the divider 21908 for each pixel address; a minimum value detector 21911 for detecting the minimum value of the output signals 21921 to 21926 of the parallelization unit (B); and a multiplier 21912 for multiplying the output signal 21927 of the minimum value detector. The multiplication operation is performed by multiplying the exposure counts 21901 to 21906 of charge packets 1 to 6; a parallelization unit (A) 21910 parallelizes the solid-state imaging unit output signal 10130 for each pixel address; a subtractor 21913 subtracts the parallelization unit (A) output signals 21941 to 21946 from the multiplier output signals 21931 to 21936; a maximum / minimum value detector 21914 detects the maximum and minimum values of the subtraction signals 21951 to 21956; an average value calculator 21915 calculates the average value of the maximum value signal 21957 and the minimum value signal 21958 of the maximum / minimum value detector and generates a threshold signal 21960; and a comparator 10802 compares the subtraction signals 21951 to 21956 with the threshold signal 21960. Next, the operation of the distance calculation unit 21508 will be described. In addition, the following description assumes that there is one or more charge packets that do not include the reflected light 10111 and one or more charge packets that include the reflected light 10111 in the signal values of the charge packets 1 to 6 of the solid-state imaging unit output signal 10130. Figure 20 Provide explanation.
[0283] The solid-state imaging unit output signal 10130 is parallelized in the parallelization unit (A) 21910 for each pixel address, generating parallelization unit (A) output signals 21941 to 21946. Furthermore, since the number of times the exposure pulses 10121 to 10126 of charge packets 1 to 6 become High level differs for each of the signal values of charge packets 1 to 6, in order to make the amount of background light reflected light 21511 included in the signal values of charge packets 1 to 6 the same, the number of exposure pulses 21901 to 21906 of charge packets 1 to 6 is selected by the selection circuit 21907 for each of the signal values of charge packets 1 to 6, divided by the divider 21908, and input to the parallelization unit (B) 21909. Furthermore, the method for generating the number of exposure pulses 21901 to 21906 of charge packets 1 to 6 will utilize Figure 20For explanation, the parallelization unit (B) parallelizes the output signal of the divider 21908 for each pixel address and outputs it to the minimum value detector 21911. The minimum value detector 21911 detects the minimum value of the parallelization unit (B) output signals 21921 to 21926, thereby estimating the signal value corresponding to the amount of background reflected light 21511 and generating a minimum value detector output signal 21927. The minimum value detector output signal 21927 is multiplied by the exposure counts 21901 to 21906 of charge packets 1 to 6 at a multiplier 21912, generating multiplier output signals 21931 to 21936, which are signal values corresponding to the amount of background reflected light 21511 included in each of the signal values of charge packets 1 to 6. Subtractor 21913 subtracts parallelization unit (A) output signals 21941 to 21946 from multiplier output signals 21931 to 21936, generating subtraction signals 21951 to 21956 from which the background light reflected light 21511 component included in the signal values of charge packets 1 to 6 has been removed. Maximum / minimum value detector 21914 generates maximum value signal 21957 and minimum value signal 21958 of subtraction signals 21951 to 21956. Since the signal values of charge packets 1 to 6 include at least one charge packet that does not include reflected light 10111 and at least one charge packet that includes reflected light 10111, maximum value signal 21957 corresponds to the light intensity of reflected light 10111, while minimum value signal 21958 corresponds to the black level. Average value calculator 21915 generates an average value of maximum value signal 21957 and minimum value signal 21958, thereby generating threshold signal 21960, which serves as a threshold value for detecting charge packets that include and exclude reflected light 10111. Comparator 10802 compares threshold signal 21960, the average value of maximum value signal 21957 and minimum value signal 21958, with subtraction signals 21951 to 21956. This reduces the effects of variations and shot noise caused by dark currents in photoelectric conversion pixels 10201 and FDAs 10211 to 10216, and sets the results of comparator 10802 to "1" for subtraction signals 21951 to 21956 that include reflected light 10111 and "0" for subtraction signals 21951 to 21956 that exclude reflected light 10111. Therefore, exposure code 10820, which is a bit-concatenated combination of comparator output signals 21961 to 21966, becomes a code indicating the charge packet including reflected light 10111. Exposure code 10820 is then used as a read address to access memory (LUT) 10801, and the read data from memory (LUT) 10801 is output as section number signal 10131.In addition, the initial value of the memory (LUT) 10801 is set by the control unit 10106 via the control bus. The method for generating the initial value set in the memory (LUT) 10801 will be described later. Figure 20 is described in .
[0284] Figure 20 FIG. 2 shows a method for generating the number of exposures 21901 to 21906 of charge packets 1 to 6 and the initial value of the memory (LUT) 10801 according to Embodiment 2. Figure 20 As shown, the exposure times 21901 to 21906 of charge packets 1 to 6 and the initial value of the memory (LUT) 10801 are generated based on the interval number 21700 and the generation code 21701 to 21706 of the charge packets 1 to 6, which are used to generate the unit drive styles 21631 to 21636 of the charge packets 1 to 6. The unit drive styles 21631 to 21636 of the charge packets 1 to 6 are used to control the light source unit 10102 and the solid-state imaging unit 10105.
[0285] First, the method for calculating the exposure counts 21901 to 21906 for charge packets 1 to 6 will be described. The amount of background light reflection 21511 included in the signal values of charge packets 1 to 6 is proportional to the number of times (exposure counts) that exposure pulses 10121 to 10126 for charge packets 1 to 6 are set to a High level. Therefore, the control unit 10106 calculates the number of intervals in which the generation code for charge packets 1 to 6 is "1" across all interval numbers 21700 for each generation code of charge packets 1 to 6, and generates the exposure counts 21901 to 21906 for charge packets 1 to 6 based on this calculation.
[0286] Next, the method for generating the initial value of memory (LUT) 10801 is described. Control unit 10106 regards charge packet 1 generated code 21701 as bit 0, charge packet 2 generated code 21702 as bit 1, charge packet 3 generated code 21703 as bit 2, charge packet 4 generated code 21704 as bit 3, charge packet 5 generated code 21705 as bit 4, and charge packet 6 generated code 21706 as bit 5, and generates independent code 22000 as these 6-bit binary numbers. For example, the independent code 22020 with interval number 21700 of 22021 being 7 regards the "0" of the code 21701 generated by charge packet 1 with interval number 21700 being 7 as bit 0, regards the "0" of the code 21702 generated by charge packet 2 with interval number 21700 being 7 as bit 1, regards the "0" of the code 21703 generated by charge packet 3 with interval number 21700 being 7 as bit 2, regards the "0" of the code 21704 generated by charge packet 4 with interval number 21700 being 7 as bit 3, regards the "1" of the code 21705 generated by charge packet 5 with interval number 21700 being 7 as bit 4, and regards the "0" of the code 21706 generated by charge packet 6 with interval number 21700 being 7 as bit 5, that is, it is regarded as a 6-bit binary number, which is "10" if expressed in hexadecimal. Furthermore, the control unit 10106 generates an adjacent code 22001 by performing an OR operation on the bits of the independent codes 22000 of the two adjacent intervals.For example, in the adjacent code 22023 at the adjacent position of the interval number 21700 of 22024, the value "1" of bit 0 of the independent code with interval number 21700 being 24 and the value "0" of bit 0 of the independent code with interval number 21700 being 25 are regarded as bit 0, the value "1" of bit 1 of the independent code with interval number 21700 being 24 and the value "1" of bit 1 of the independent code with interval number 21700 being 25 are regarded as bit 1, and the value "0" of bit 2 of the independent code with interval number 21700 being 24 and the value "0" of bit 2 of the independent code with interval number 21700 being 25 are regarded as bit 1. The 6-bit binary number is regarded as 33, the value of bit 3 of the independent code with interval number 21700 being 24 is “0”, and the value of bit 3 of the independent code with interval number 21700 being 25 is “0”, and the result of the “OR” operation of the value of bit 4 of the independent code with interval number 21700 being 24 is “0”, and the value of bit 4 of the independent code with interval number 21700 being 25 is “1”, and the result of the “OR” operation of the value of bit 5 of the independent code with interval number 21700 being 24 is “1”, and the result of the “OR” operation of the value of bit 5 of the independent code with interval number 21700 being 25 is “1”, that is, the 6-bit binary number is represented as “33” in hexadecimal. Here, the independent code 22000 is, when the reflected light 10111 is returned only in one interval number 21700, the signal values of the charge packets 1 to 6 that include the reflected light 10111 are set to "1", and the signal values that do not include the reflected light 10111 are set to "0". The adjacent code 22001 is, when the reflected light 10111 is returned in the interval spanning two adjacent interval numbers 21700, the signal values of the charge packets 1 to 6 that include the reflected light 10111 are set to "1", and the signal values that do not include the reflected light 10111 are set to "0". Based on the generated codes 21701 to 21706 of the charge packets 1 to 6, the exposure code 10820 of each interval number 21700 is estimated. Therefore, memory (LUT) 10801 is initialized using independent code 22000 and adjacent code 22001 as addresses, and segment number 21700 corresponding to independent code 22000 and adjacent code 22001 as data. Exposure code 10820 is used as the address to read from memory (LUT) 10801, thereby converting exposure code 10820 into a segment number corresponding to the distance. Table 22010 is the data set used to initialize memory (LUT) 10801. Since independent code 22020 is "10" in hexadecimal notation, the data at address "10" in the hexadecimal representation of table 22010 becomes 7, segment number 22021 of independent code 22020.Furthermore, since adjacent code 22023 is "33" in hexadecimal notation, the data at address "33" in the hexadecimal notation of table 22010 is set to the average value of 24.5, which is the sum of 24 and 25, of interval numbers 22024 of adjacent code 22023. This is because, while it is known that reflected light 10111 returns in the interval spanning interval numbers 24 and 25 of interval number 22024 of adjacent code 22023, the more detailed return timing of reflected light 10111 is unknown. Therefore, it is assumed that reflected light 10111 returns midway between two adjacent intervals. By using the average value of the two adjacent interval numbers, the maximum error can be suppressed to half the interval.
[0287] Here, the method for generating generated codes 21701 to 21706 for charge packets 1 to 6, which are provided to control unit 10106, will be described. To calculate the interval number using exposure code 10820 generated based on the signal values of charge packets 1 to 6, it is necessary to establish a one-to-one correspondence between exposure code 10820 and the interval number. Therefore, generated codes 21701 to 21706 for charge packets 1 to 6 are determined so that they do not overlap with independent code 22000 or adjacent code 22001, thus ensuring a one-to-one correspondence between exposure code 10820 and the interval number. Furthermore, generated codes 21701 to 21706 for charge packets 1 to 6 are determined so that independent code 22000 and adjacent code 22001 do not correspond to "00" or "3F" when expressed in hexadecimal. If reflected light 10111 returns at the timing when the value of independent code 22000 or adjacent code 22001 is "00," the signal values of charge packets 1 to 6 do not include the component of reflected light 10111, because exposure pulses 10121 to 10126 of charge packets 1 to 6 are at a low level. Furthermore, if object 10101 is not within the ranging range of intervals 0 to 31, the signal values of charge packets 1 to 6 also do not include the component of reflected light 10111. Since these two conditions cannot be distinguished based on the signal values of charge packets 1 to 6, generated codes 21701 to 21706 for charge packets 1 to 6 are generated so that independent code 22000 and adjacent code 22001 do not represent "00" in hexadecimal. Furthermore, by ensuring that the independent code 22000 and the adjacent code 22001 do not have a value of "00" when expressed in hexadecimal, one or more charge packets including reflected light 10111 can be included in the signal values of charge packets 1 to 6 of the solid-state imaging unit output signal 10130. Furthermore, by ensuring that the independent code 22000 and the adjacent code 22001 do not have a value of "3F" when expressed in hexadecimal, and generating the generated codes 21701 to 21706 for charge packets 1 to 6, one or more charge packets not including reflected light 10111 can be included in the signal values of charge packets 1 to 6 of the solid-state imaging unit output signal 10130. Furthermore, in consideration of the fact that the exposure code 10820 matches "00," "1B," or "3F," which do not exist in the independent code 22000 or the adjacent code 22001, setting the interval number to a negative value of -1 makes it possible to detect that the interval number was not correctly calculated.
[0288] Figure 21 This is a timing chart of the distance calculation unit 21508 according to the second embodiment.
[0289] About the figure Figure 10The same reference numerals are used for the same contents. The reference numerals “P1(11)CT” to “P6(11)CT” represent the number of exposures of charge packets 1 to 6 of pixel 10200 at pixel address 11 in the following description, and correspond to the output of selection circuit 21907 .
[0290] The notation “P1(11)Sig / CT1” represents the pixel 1020 at pixel address 11 (charge packet 1 signal value of the solid-state imaging unit output signal 10130) / (charge packet 1 exposure count), which is equivalent to the charge packet 1 parallelized B signal 21921.
[0291] The label “min(11)” indicates the minimum value among the charge packet 1 parallelized B signals 21921 to the charge packet 1 parallelized B signals 21926 of the pixel 10200 at the pixel address 11 , and is equivalent to the parallelized B minimum signal 21927 .
[0292] The notation “min(11)×CT1” represents (parallelized B minimum signal 21927)×(charge packet 1 exposure count) of the pixel 10200 at pixel address 11, and is equivalent to the charge packet 1 multiplication signal 21931.
[0293] The notation “P1(11)Sig-mul” represents (charge packet 1 parallelized A signal 21941)-(charge packet 1 multiplication signal 21931) of pixel 10200 at pixel address 11, which is equivalent to charge packet 1 subtraction signal 21951.
[0294] The mark “mx(11)” indicates the maximum value among the charge packet 1 subtraction signal 21951 to the charge packet 6 subtraction signal 21956 of the pixel 10200 at the pixel address 11 , and corresponds to the maximum value signal 21957 .
[0295] The notation “mn(11)” indicates the minimum value among the charge packet 1 subtraction signal 21951 to the charge packet 6 subtraction signal 21956 of the pixel 10200 at the pixel address 11 , and corresponds to the minimum value signal 21958 .
[0296] The mark “th(11)” represents (mx(11)+mn(11)) / 2, which is the average of the maximum value signal 21957 and the minimum value signal 21958 of the pixel 10200 at the pixel address 11, which is equivalent to the threshold signal 21960.
[0297] The notation "Nd(11)" corresponds to the section number 10131 of the pixel 10200 at the pixel address 11. Here, "Nd(11)" and the like are expressed as integers.
[0298] like Figure 21As shown, at timing 22100, before a valid signal value is output from the solid-state imaging unit output signal 10130, the control unit 10106 sets the exposure counts 21901 to 21906 for charge packets 1 to 6 and the values in the memory (LUT) 10801 via the control bus. The exposure counts 21901 for charge packet 1 are 11, the exposure counts 21902 for charge packet 2 are 11, the exposure counts 21903 for charge packet 3 are 12, the exposure counts 21904 for charge packet 4 are 11, the exposure counts 21905 for charge packet 5 are 11, and the exposure counts 21906 for charge packet 6 are 14. The memory (LUT) 10801 then writes the data in table 22010. At timing 22101, the solid-state imaging unit outputs signal 10130, and the signal values of charge packets 1 to 6 at pixel address 11 are sequentially transmitted. The output signal values are sequentially sent to deserializer (A) 21910, where they are simultaneously divided by the exposure counts 21901 to 21906 for charge packets 1 to 6 and sent to deserializer (B) 21909. At timing 22102, deserializer (A) output signals 21941 to 21946, deserializer (B) output signals 21921 to 21926, and the exposure counts 21901 to 21906 for charge packets 1 to 6 are used to determine exposure code 10820. Using exposure code 10820 as an address, memory (LUT) 10801 is read, and at timing 22103, segment number signal 10131 corresponding to the distance to pixel address 11 is output. This operation is performed for all pixels 10200 arranged two-dimensionally, thereby outputting all two-dimensional segment numbers.
[0299] Through the above operation, the time required for 12 repetitions of the frame-based drive pattern 10410, equivalent to the camera exposure time, is 17.28 ms, and the time required for image data readout 10411, equivalent to the camera readout time, is 16.053 ms. Therefore, the time required for one frame is 33.3 ms, and the frame rate of this ranging device is 30 fps. Compared to conventional technologies, this technology significantly expands the range of possible measurements with a smaller number of charge packets. Therefore, even in the presence of background light, this technology can extend the range of possible measurements while maintaining the frame rate.
[0300] Here, the embodiment 1 Figure 9 The generated codes 10501 to 10506 of the charge packets 1 to 6 are determined in such a way that the independent code 10900 and the adjacent code 10901 do not become "00" when expressed in hexadecimal. Figure 20The generated codes 21701 to 21706 of the charge packets 1 to 6 are determined by not having the values of "00" and "3F" when the independent code 22000 and the adjacent code 22001 are expressed as hexadecimal numbers. Figure 20 The largest interval number is 30. Figure 9 The maximum interval number is 31, so the ranging range is narrowed. Figure 16 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 is changed to Figure 22 ,Will Figure 17 The generation codes 21701 to 21706 for charge packets 1 to 6 are changed to Figure 23 ,Will 18A to 18F The unit drive patterns 21631 to 21636 of charge packets 1 to 6 are changed to 24A to 24F ,Will Figure 20 The generation of the initial value of the memory (LUT) 10801 is changed to Figure 25 , which can further expand the ranging range. This method will be explained below.
[0301] Figure 22 FIG. 1 shows a control sequence for the light source unit 10102 and the solid-state imaging unit 10105 for further extending the distance measurement range according to the second embodiment. Figure 16 The difference is that the unit driving patterns 22231 to 22236 of charge packets 1 to 6 are different.
[0302] Figure 23 The diagram shows generation codes 22301 to 22306 for charge packets 1 to 6 given to the control unit 10106 in order to generate unit drive patterns 22231 to 22236 for charge packets 1 to 6 and discharge drive pulses 10127 for controlling the solid-state imaging unit 10105 in order to further expand the distance measurement range according to the second embodiment. Figure 25 A method for generating generation codes 22301 to 22306 for charge packets 1 to 6 will be described.
[0303] 24A to 24F This is a timing chart showing the unit drive patterns 22231 to 22236 of charge packets 1 to 6 for further expanding the ranging range according to Embodiment 2. Since the generation codes 22301 to 22306 of charge packets 1 to 6 and the interval number 10500 are used for generation, the generation method is the same as that of 18A to 18F same.
[0304] Figure 25The method for generating the initial value of the memory (LUT) 10801 for further expanding the distance measurement range involved in the second embodiment is shown. The initial value of the memory (LUT) 10801 is the same as Figure 20 Using the same method, independent code 22500 overlaps with the hexadecimal representation of "01" in interval number 0 for interval number 22502 and interval number 3 for interval number 22503. However, the fact that reflected light 10111 returns only in interval number 10500 of 0 is when the distance to object 10101 is 0. If the distance to object 10101 is not 0, it takes time for irradiated light 10110 from light source unit 10102 to reflect off object 10101 and for reflected light 10111 to reach solid-state imaging unit 10105. Therefore, the fact that reflected light 10111 returns only in interval number 10500 of 0 does not actually occur. Therefore, if exposure code 10820 is expressed as "01" in hexadecimal, it is correct to determine that reflected light 10111 has returned in section number 3. Therefore, even if independent code 22500 with section number 10500 being 0 overlaps once with independent code 22500 in a section other than 0, the section number corresponding to the distance can be calculated. The same applies if independent code 22500 with section number 10500 being 0 overlaps only once with adjacent code 22501 in a section other than 0 or 1.
[0305] Through the above work, this technology can achieve the same ranging range regardless of the presence of background light. Compared with previous technologies, it can significantly expand the range of distance measurement with a smaller number of charge packets, thereby significantly expanding the ranging range while maintaining the frame rate.
[0306] As described above, in the distance measuring device according to the second embodiment, the independent code of the unit section in which the light emission pulse and the exposure pulse have the same timing may be the same as any of the independent codes of other unit sections and the adjacent codes. Figure 25 In the example, the independent code for the unit interval with the same timing as the light pulse is the same as all independent codes for the unit interval with different timing as the light pulse, and any adjacent codes. The unit interval with the same timing as the light pulse and the exposure pulse corresponds to the distance interval of distance 0. The independent code for the distance interval of distance 0 can be the same as any other independent code or adjacent codes.
[0307] According to this, even if the independent code of the timing of the light emitting pulse overlaps with another independent code, the distance interval can be specified.
[0308] Here, each of the independent codes may include at least 1 bit of 0, and each of the adjacent codes may include at least 1 bit of 0.
[0309] According to this, even when the exposure code corresponds to either an independent code or an adjacent code, the background light component can be acquired, thereby improving the distance measurement accuracy.
[0310] (Implementation 3)
[0311] Embodiments 1 and 2 describe distance measurement methods based on unit intervals. However, achieving high distance measurement accuracy requires shortening the unit interval itself, but this increases the cost of a light source unit that achieves shorter pulsed light emission or a solid-state imaging unit that achieves shorter exposure times. Therefore, Embodiment 3 describes a method for achieving high distance measurement accuracy without using shorter pulsed light emission or shorter exposure times.
[0312] Figure 26 The configuration of a TOF (Time Of Flight) type distance measuring device and surrounding objects in an environment including background light according to the third embodiment is schematically shown. Figure 26As shown, in the shooting space 10100, the background light 21510 emitted from the background light light source 21502, which includes a component of the same wavelength of 940 nm as the light source unit 10102, and the pulsed (pulse width 10 ns) irradiation light 10110 with a wavelength of 940 nm irradiated from the light source unit 10102 are irradiated to the object 10101, and the reflected light 10111 of the irradiation light 10110 and the background light reflected light 21511 of the background light 21510 are reflected by the object 10101, and the reflected light 10111 of the irradiation light 10110 and the background light reflected light 21511 of the background light 21510 are received by the solid-state imaging unit 10105 via the optical lens 10103 and the filter 10104 that transmits light in the near-infrared wavelength region near the wavelength of 940 nm, and the resulting image is captured. The light emission timing of the light source unit 10102 and the exposure timing of the solid-state imaging unit 10105 are controlled by the light emission pulse 10120, exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge drive pulse 10127 of the pulse generating unit 10107. The pulse generating unit 10107 is controlled by the control unit 10106 via a control bus. Furthermore, the light source unit 10102 emits illumination light 10110 when the light emission pulse 10120 is at a high level and does not emit illumination light 10110 when it is at a low level. The solid-state imaging unit 10105 outputs six signal values corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6, i.e., solid-state imaging unit output signals 10130, to the distance calculating unit 32608 for each pixel. The distance calculation unit 32608 uses the solid-state imaging unit output signal 10130 and the control information from the control unit 10106 to output a section number signal 10131 corresponding to the distance to the object 10101 for each pixel.
[0313] The light source unit 10102, the optical lens 10103, the optical filter 10104, the solid-state imaging unit 10105, the control unit 10106, the pulse generating unit 10107, and the distance calculating unit 32608 constitute a distance measuring device. The light source unit 10102 includes a driving circuit and a light-emitting element, and emits light by a voltage applied from the driving circuit. Laser diodes or other light-emitting elements can be used as the light-emitting element. Furthermore, the control unit 10106, the pulse generating unit 10107, and the distance calculating unit 32608 are implemented by combining, for example, a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), and an AFE (Analog Front End).
[0314] Figure 2 1 is a diagram showing the configuration of a pixel 10200 of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 2 As shown, the pixel 10200 is composed of a signal charge storage unit and an output unit. The signal charge storage unit includes: a photoelectric conversion pixel 10201 composed of a PD (Photodiode) that receives reflected light 10111 and performs photoelectric conversion; a drain 10210 for discharging the signal charge photoelectrically converted in the photoelectric conversion pixel 10201; and an FDA (Floating Diffusion Electrode) for accumulating the signal charge photoelectrically converted in the photoelectric conversion pixel 10201. The output section outputs a voltage value corresponding to the signal charge accumulated in the FDAs 10211 to 10216, and includes a source follower circuit 10221, an output selection transistor 10231, a source follower circuit 10222, an output selection transistor 10232, a source follower circuit 10223, an output selection transistor 10233, a source follower circuit 10224, an output selection transistor 10234, a source follower circuit 10225, an output selection transistor 10235, a source follower circuit 10226, and an output selection transistor 10236.
[0315] Next, the operation of the pixel 10200 will be described. When the exposure pulse 10121 of the charge packet 1 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10211. When the exposure pulse 10122 of the charge packet 2 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10212. When the exposure pulse 10123 of the charge packet 3 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10213. When the exposure pulse 10124 of the charge packet 4 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10214. The signal charge photoelectrically converted in the conversion pixel 10201 is accumulated in FDA10214. When the exposure pulse 10125 of charge packet 5 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10215. When the exposure pulse 10126 of charge packet 6 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10216. When the discharge drive pulse 10127 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is discharged to the drain 10210. Therefore, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the discharge drive pulse 10127 is set to a high level. Thus, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the signal charges photoelectrically converted in the photoelectric conversion pixel 10201 are discharged to the drain 10210. When one of the six exposure pulses 10121 to 10126 of the charge packets 1 to 6 is at a high level, the remaining five are set to a low level. ow level and the discharge drive pulse 10127 is made Low level, so that only when one of the six exposure pulses 10121 to 10126 of charge packets 1 to 6 is High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated to the FDAs 10211 to 10216 corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6, and six types of shooting corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6 are performed at each pixel. FDA10211 to 10216 accumulate signal charges to generate voltages corresponding to the signal charge amounts, generating a charge packet 1 voltage value corresponding to the signal charge amount of FDA10211, a charge packet 2 voltage value corresponding to the signal charge amount of FDA10212, a charge packet 3 voltage value corresponding to the signal charge amount of FDA10213, a charge packet 4 voltage value corresponding to the signal charge amount of FDA10214, a charge packet 5 voltage value corresponding to the signal charge amount of FDA10215, and a charge packet 6 voltage value corresponding to the signal charge amount of FDA10216.By making the output enable signal 10240 a High level, the following voltage values are output simultaneously: the charge packet 1 voltage value is output to the pixel output signal 10241 via the source follower circuit 10221 and the output selection transistor 10231, the charge packet 2 voltage value is output to the pixel output signal 10242 via the source follower circuit 10222 and the output selection transistor 10232, and the charge packet 3 voltage value is output to the pixel output signal 10243 via the source follower circuit 10223 and the output selection transistor 10234. 0233 is output to pixel output signal 10243, the voltage value of charge packet 4 is output to pixel output signal 10244 via source follower circuit 10224 and output selection transistor 10234, the voltage value of charge packet 5 is output to pixel output signal 10245 via source follower circuit 10225 and output selection transistor 10235, and the voltage value of charge packet 6 is output to pixel output signal 10246 via source follower circuit 10226 and output selection transistor 10236.
[0316] Figure 3 1 is a structural diagram of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 3As shown, in the solid-state imaging unit 10105, pixels 10200 are arranged two-dimensionally with X pixels arranged horizontally and Y pixels arranged vertically. In Embodiments 1 to 4, X = 320 and Y = 240. The number of pixels is an example and is not limiting. The output enable signals 10240 of the pixels 10200 with pixel address 11, pixel address 12, and pixel address 1X arranged in the horizontal direction of the first row are connected to the row selection signal 10300, the output enable signals 10240 of the pixels 10200 with pixel address 21, pixel address 22, and pixel address 2X arranged in the horizontal direction of the second row are connected to the row selection signal 10301, the output enable signals 10240 of the pixels 10200 with pixel address 31, pixel address 32, and pixel address 3X arranged in the horizontal direction of the third row are connected to the row selection signal 10302, and the output enable signals 10240 of the pixels 10200 with pixel address Y1, pixel address Y2, and pixel address YX arranged in the horizontal direction of the Y row are connected to the row selection signal 10303. Furthermore, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 11, pixel address 21, pixel address 31, and pixel address Y1 arranged in the vertical direction of the first column are connected to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 12, pixel address 22, pixel address 32, and pixel address Y2 arranged in the vertical direction of the second column are connected to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 1X, pixel address 2X, pixel address 3X, and pixel address YX arranged in the vertical direction of the X column are connected to the vertical pixel signals 10331 to 10336. Thus, the vertical pixel signals 10311 to 10316 , 10321 to 10326 , and 10331 to 10336 are connected to the column AD 10370 , the output signal of the column AD 10370 is connected to the shift register 10371 , and the solid-state imaging unit output signal 10130 is output from the shift register 10371 .
[0317] Next, the readout operation of the solid-state imaging unit 10105 will be described. This readout operation is similar to that of a typical CMOS image sensor with the horizontal pixel count multiplied by 6. By setting row select signal 10300 to a high level, row select signal 10301 to a low level, row select signal 10302 to a low level, and row select signal 10303 to a low level, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 11 are output as vertical pixel signals 10311 to 10316, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 12 are output as vertical pixel signals 10321 to 10326, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 1X are output as vertical pixel signals 10331 to 10336, which are then input to column AD 10370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a high level, the row selection signal 10302 to a low level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a low level, the row selection signal 10302 to a high level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 31 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 32 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 3X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370. By setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a low level, setting the row selection signal 10302 to a low level, and setting the row selection signal 10303 to a high level, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y1 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y2 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address YX are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370.Column AD 10370 converts the input voltage values of charge packets 1 to 6 of X pixels into 12-bit signal values, generating the following signal values for the X pixels and outputting them to shift register 10371. Specifically, the generated signal values for the X pixels are: charge packet 1 signal value after AD conversion of the voltage value of charge packet 1, charge packet 2 signal value after AD conversion of the voltage value of charge packet 2, charge packet 3 signal value after AD conversion of the voltage value of charge packet 3, charge packet 4 signal value after AD conversion of the voltage value of charge packet 4, charge packet 5 signal value after AD conversion of the voltage value of charge packet 5, and charge packet 6 signal value after AD conversion of the voltage value of charge packet 6. Shift register 10371 shifts the input signal values of charge packets 1 to 6 of the X pixels bit by bit and outputs them to solid-state imaging unit output signal 10130.
[0318] Figure 16 A control sequence of the light source unit 10102 and the solid-state imaging unit 10105 according to the third embodiment is shown. Figure 16 The control sequence in Figure 1 As shown, the control unit 10106 instructs the pulse generation unit 10107 via the control bus the number of repetitions of the frame unit drive pattern (12 times) and the number of repetitions of the unit drive pattern of charge packets 1 to 6 (300 times). In accordance with the number of repetitions of the frame unit drive pattern and the number of repetitions of the unit drive pattern of charge packets 1 to 6, the pulse generation unit 10107 generates a light emitting pulse 10120, exposure pulses 10121 to 10126 of charge packets 1 to 6, and a discharge driving pulse 10127. Figure 16 The generation of the unit drive patterns 21631 to 21636 of the charge packets 1 to 6 is described. Figure 17 and 18A to 18F , a method for generating the light emitting pulse 10120 of each of the charge packet 1 unit driving style 21631 to the charge packet 6 unit driving style 21636, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge driving pulse 10127 is described.
[0319] like Figure 16As shown, one frame consists of a frame drive pattern 10400. Frame drive pattern 10400 is composed of 12 repetitions of a frame-based drive pattern 10410, and imaging data readout 10411, in which the solid-state imaging unit 10105 outputs the signal charges accumulated in the signal charge storage units of all pixels 10200. Frame-based drive pattern 10410 is composed of a charge packet 1 drive pattern 10421, a charge packet 2 drive pattern 10422, a charge packet 3 drive pattern 10423, a charge packet 4 drive pattern 10424, a charge packet 5 drive pattern 10425, and a charge packet 6 drive pattern 10426. Charge packet 1 drive pattern 10421 is composed of 300 repetitions of a charge packet 1 drive pattern 21631. Charge packet 2 drive pattern 10422 is composed of 300 repetitions of a charge packet 2 drive pattern 21632. The charge packet 3 driving pattern 10423 is composed of 300 repetitions of the charge packet 3 unit driving pattern 21633. The charge packet 4 driving pattern 10424 is composed of 300 repetitions of the charge packet 4 unit driving pattern 21634. The charge packet 5 driving pattern 10425 is composed of 300 repetitions of the charge packet 5 unit driving pattern 21635. The charge packet 6 driving pattern 10426 is composed of 300 repetitions of the charge packet 6 unit driving pattern 21636. The unit driving patterns 21631 to 21636 of charge packets 1 to 6 drive the light emitting pulse 10120, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127. The details of the unit driving patterns 21631 to 21636 of charge packets 1 to 6 will be described in detail. Figure 17 and 18A to 18F To illustrate. And, Figure 16 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 shown is an example and is not limited to this example.
[0320] The unit drive patterns 21631 to 21636 of charge packets 1 to 6 are repeated 300 times in the drive patterns 10421 to 10426 of charge packets 1 to 6, respectively, and the drive patterns 10421 to 10426 of charge packets 1 to 6 are repeated 12 times in the frame unit drive pattern. That is, the unit drive patterns 21631 to 21636 of charge packets 1 to 6 are repeated 300×12=3600 times. By repeating 3600 times, even if the amount of light in a single irradiation light 10110 is small, a sufficient amount of light can be ensured. In addition, by dividing the frame drive pattern 10400 into 12 frame unit drive patterns 10410, the time required for each frame unit drive pattern 10410 can be shortened, so that the camera timing of charge packets 1 to 6 can appear to be parallel. Therefore, by repeating the frame unit driving pattern 10410 12 times, the jitter generated when the object 10101 moves can occur evenly in charge packets 1 to 6, thereby suppressing side effects such as data garbled during distance calculation caused by the movement of the object 10101.
[0321] Figure 17 1 shows generation codes 21701 to 21706 of charge packets 1 to 6 given to the control unit 10106 in order to generate unit drive patterns 21631 to 21636 of charge packets 1 to 6 and a discharge drive pulse 10127 for controlling the solid-state imaging unit 10105 according to the third embodiment. Figure 17 As shown, the generation codes 21701 to 21706 for charge packets 1 to 6 are information for controlling the driving of exposure pulses 10121 to 10126 for charge packets 1 to 6, respectively. Segment number 21700 is divided into 31 segments from 0 to 30, and a value of "0" or "1" is determined for each segment number 21700. Segment number 21700 and the generation codes 21701 to 21706 for charge packets 1 to 6 are sent to the pulse generation unit 10107 via the control bus. The pulse generation unit 10107 generates unit drive patterns 21631 to 21636 for charge packets 1 to 6 based on segment number 21700 and the generation codes 21701 to 21706 for charge packets 1 to 6. Figure 17 The generation codes of charge packets 1 to 6 shown are only examples and are not intended to limit the generation codes of charge packets 1 to 6.
[0322] 18A to 18F 2 is a timing chart showing the charge packet 1 unit driving pattern 21631 to the charge packet 6 unit driving pattern 21636 according to the second embodiment. 18A to 18FAs shown, the pulse generating unit 10107 switches the interval number 10600 to 80 intervals from 0 to 79 according to the unit interval (10 ns), and controls the light emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge driving pulse 10127 using the generation codes 21701 to 21706 of the interval number 10600 and the interval number 10600, thereby generating the unit driving patterns 21631 to 21636 of the charge packets 1 to 6. The interval number 10600 of the pulse generating unit 10107 is set to a value (79) that is twice or more of the maximum value (30) of the interval number 21700 in order to prevent the reception of the reflected light 10111 from the object 10101 located outside the ranging range of the irradiation light 10110 (interval number greater than the maximum value of the interval number 21700). To this end, in interval numbers not included in interval number 21700, pulses are generated that set the light emitting pulse 10120 to a low level, the exposure pulses 10121 to 10126 of charge packets 1 to 6 to a low level, and the discharge drive pulse 10127 to a high level. In this way, by controlling the solid-state imaging unit 10105, the time required to repeat the frame-based drive pattern 10410 12 times, which corresponds to the imaging exposure time, is: (unit interval 10 ns x number of interval numbers 80 x number of charge packet-based drive pattern repetitions 300 times x number of charge packets 6 x number of frame-based drive pattern repetitions 12 times = 17.28 ms). While this unit interval specifies that the pulse widths of the irradiation light 10110 and the exposure pulses 10121 to 10126 of charge packets 1 to 6 are the same, the pulse widths are not limited to 10 ns.
[0323] The following describes a method for controlling the light emitting pulses 10120 of section numbers 0 to 30, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127 in section number 21700.
[0324] Figure 18AThis is a timing diagram illustrating charge packet 1 unit drive pattern 21631. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 1 exposure pulse 10121 is generated as a pulse that reaches a high level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "1," and a low level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "0." Charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level for all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "0", and is generated as a pulse logically inverted from the charge packet 1 exposure pulse 10121.
[0325] Figure 18B This is a timing diagram illustrating the charge packet 2 unit drive pattern 21632. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 2 exposure pulse 10122 is generated as a pulse that reaches a high level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "1," and a low level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that are low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 2 exposure pulse 10122.
[0326] Figure 18CThis is a timing diagram illustrating charge packet 3 unit drive pattern 21633. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 3 exposure pulse 10123 is generated as a pulse that reaches a high level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "1," and a low level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 3 exposure pulse 10123.
[0327] Figure 18D This is a timing diagram illustrating charge packet 4 unit drive pattern 21634. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 4 exposure pulse 10124 is generated as a pulse that reaches a high level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "1," and a low level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 becomes a low level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "1", and becomes a high level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 4 exposure pulse 10124.
[0328] Figure 18EThis is a timing diagram illustrating the charge packet 5 unit drive pattern 21635. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 5 exposure pulse 10125 is generated as a pulse that reaches a high level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "1," and a low level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 5 exposure pulse 10125.
[0329] Figure 18F This is a timing diagram illustrating charge packet 6 unit drive pattern 21636. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 6 exposure pulse 10126 is generated as a pulse that reaches a high level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "1," and a low level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 5 exposure pulse 10125 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 6 exposure pulse 10126.
[0330] Figure 7FIG. 1 is a timing diagram of the image data readout 10411 of the solid-state image pickup unit 10105 according to Embodiments 1 to 4. The row selection signals 10300 to 10303, the column AD 10370, and the shift register 10371 are controlled as follows. Figure 3 As shown, the signal values of charge packets 1 to 6 of all pixels 10200 are output to the solid-state imaging unit output signal 10130. The operation of the imaging data readout 10411 is the same as that of a conventional CMOS image sensor with the number of horizontal pixels increased by six.
[0331] like Figure 7As shown, at timing 10700, by making the row selection signal 10300 a High level, the row selection signal 10301 a Low level, the row selection signal 10302 a Low level, and the row selection signal 10303 a Low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 11 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 12 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 1X are output to the vertical pixel signals 10331 to 10336. Vertical pixel signals 10311 to 10316, vertical pixel signals 10321 to 10326, and vertical pixel signals 10331 to 10336 are connected to column AD 10370 and are A / D-converted into 12-bit signal values. This generates the following signal values: Charge Packet 1 (the voltage value of charge packet 1 at pixel addresses 11, 12, and 1X), Charge Packet 2 (the voltage value of charge packet 2), Charge Packet 3 (the voltage value of charge packet 3), Charge Packet 4 (the voltage value of charge packet 4), Charge Packet 5 (the voltage value of charge packet 5), and Charge Packet 6 (the voltage value of charge packet 6). At timing 10701, when A / D conversion is complete, the A / D-converted signal values of Charge Packets 1 to 6 at pixel addresses 11, 12, and 1X are output to shift register 10371. While shifting the input signal value, the shift register 10371 outputs the charge packet 1 signal value of pixel address 11, the charge packet 2 signal value of pixel address 11, the charge packet 3 signal value of pixel address 11, the charge packet 4 signal value of pixel address 11, the charge packet 5 signal value of pixel address 11, the charge packet 6 signal value of pixel address 11, the charge packet 1 signal value of pixel address 12, the charge packet 2 signal value of pixel address 12, the charge packet 3 signal value of pixel address 12, the charge packet 4 signal value of pixel address 12, the charge packet 5 signal value of pixel address 12, the charge packet 6 signal value of pixel address 12, the charge packet 1 signal value of pixel address 1X, the charge packet 2 signal value of pixel address 1X, the charge packet 3 signal value of pixel address 1X, the charge packet 4 signal value of pixel address 1X, the charge packet 5 signal value of pixel address 1X, and the charge packet 6 signal value of pixel address 1X in this order from the solid-state imaging unit output signal 10130.Furthermore, at timing 10701, the row selection signal 10300 is set to a low level, the row selection signal 10301 is set to a high level, the row selection signal 10302 is set to a low level, and the row selection signal 10303 is set to a low level, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are input to the column AD10370 and AD converted into 12-bit signal values. The AD conversion of column AD10370 started at timing 10701 and the shifting operation of shift register 10371 are completed at timing 10702. At this timing 10702, the AD conversion result of column AD10370 started at timing 10701 is output to shift register 10371. As described above, while shifting the input signal value, signal 10130 is output from the solid-state imaging unit. At timing 10702, row select signal 10300 is set to a low level, row select signal 10301 is set to a low level, row select signal 10302 is set to a high level, and row select signal 10303 is set to a low level. Consequently, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 31, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 32, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 3X are input to column AD 10370 and, similarly to the above, are A / D-converted into 12-bit signal values. By performing the above operation for all rows, the signal values of all pixels 10200 are output from solid-state imaging unit output signal 10130. Furthermore, Figure 2 FDA 10211 to 10216 as shown, and Figure 17 While there are six generation codes 21701 to 21706 for charge packets 1 to 6, this number is not limited to six. When the number of signal charge storage units is greater than the number of charge packet generation codes, since the signal values of charge packets 1 to 6 can be obtained in a single frame, the interval number corresponding to the distance can be calculated using data from a single frame. When the number of signal charge storage units is less than the number of charge packet generation codes, the interval number corresponding to the distance can be calculated by obtaining the signal values of charge packets 1 to 6 using data from multiple frames. Furthermore, the time required to read out the image data 10411, which corresponds to the image readout time, is calculated by taking into account the number of pixels in the blanking period (horizontal pixel number x 320 + horizontal blanking period 80) × (vertical pixel number Y 240 + vertical blanking period 23) divided by the output clock frequency of the solid-state imaging unit output signal 10130. Here, assuming an output clock frequency of 39.319 MHz, the time required to read out the image data 10411, which corresponds to the image readout time, is 16.053 ms.
[0332] Figure 27 FIG. 3 shows the structure of the distance calculation unit 32608 involved in the third embodiment. Figure 27As shown, the distance calculation unit 32608 includes exposure times 21901 to 21906 of charge packets 1 to 6 controlled by the control unit 10106 via the control bus, and a memory (LUT) 10801, and includes a selection circuit 21907 for selecting the exposure times 21901 to 21906 of charge packets 1 to 6; a divider 21908 for dividing the output signal 10130 of the solid-state imaging unit by the output signal of the selection circuit 21907; A parallelization unit (B) 21909 parallelizes the output signal of the divider 21908 for each pixel address; a minimum value detector 21911 detects the minimum value of the output signals 21921 to 21926 of the parallelization unit (B); a multiplier 21912 performs a multiplication operation on the minimum value detector output signal 21927 and the exposure numbers 21901 to 21906 of the charge packets 1 to 6; a parallelization unit (A) 21910 performs a multiplication operation on the exposure numbers 21901 to 21906 of the charge packets 1 to 6 for each pixel address. The address is used to parallelize the output signal 10130 of the solid-state imaging unit; the subtractor 21913 performs a subtraction operation on the output signals 21941 to 21946 of the parallelization unit (A) and the output signals 21931 to 21936 of the multiplier; the maximum / minimum value detector 21914 detects the maximum value and minimum value of the subtraction signals 21951 to 21956; the average value calculator 21915 calculates the maximum value signal 21957 of the maximum / minimum value detector and the minimum value. The average value of the value signal 21958 is calculated to generate a threshold signal 21960. The comparator 10802 compares the subtraction signals 21951 to 21956 with the threshold signal 21960. The data selection unit 32710 selects data from the subtraction signals 21951 to 21956. The ratio calculation divider 32713 calculates the ratio of the two-unit interval reflected light 32712 and the one-unit interval reflected light 32711 output from the data selection unit 32710. Next, the operation of the distance calculation unit 32608 will be described. The outline of the operation is as follows: the interval number (integer part) 32715 to which the reflected light 10111 returns is determined by the same method as in embodiment 2, and when the reflected light 10111 returns across two adjacent unit intervals, the interval number (decimal part) 32714 after the unit interval is subdivided is calculated by the ratio of the reflected light 32712 of the two unit intervals to the reflected light 32711 of the one unit interval, thereby improving the ranging accuracy. The above-mentioned reflected light 32712 of the two unit intervals corresponds to the amount of light of the reflected light 10111 returned to the two adjacent unit intervals, and the above-mentioned reflected light 32711 of the one unit interval corresponds to the amount of light of the reflected light 10111 returned to the unit interval on the side far from the light-emitting pulse 10120 among the two adjacent unit intervals.Furthermore, the description will be given assuming that among the signal values of charge packets 1 to 6 of the solid-state imaging unit output signal 10130, there is one or more charge packets that do not include the reflected light 10111, and there is one or more charge packets that include the reflected light 10111. A method for implementing this restriction will be described later. Figure 28 is described in .
[0333] First, the calculation method for interval number (integer part) 32715 will be described. In the solid-state imaging unit output signal 10130, the signal values of charge packets 1 to 6 are parallelized for each pixel address in the parallelization unit (A) 21910, generating parallelization unit (A) output signals 21941 to 21946. Furthermore, since the number of times the exposure pulses 10121 to 10126 of charge packets 1 to 6 are at a High level varies for each of the signal values of charge packets 1 to 6, in order to ensure that the amount of background light reflected light 21511 included in the signal values of charge packets 1 to 6 is the same, the selection circuit 21907 selects the number of exposure pulses 21901 to 21906 for charge packets 1 to 6 for each of the signal values. The numbers are then divided by the divider 21908 and input to the parallelization unit (B) 21909. In addition, the method for generating the exposure times 21901 to 21906 of charge packets 1 to 6 will use Figure 28For explanation, the parallelization unit (B) parallelizes the output signal of the divider 21908 for each pixel address and outputs it to the minimum value detector 21911. The minimum value detector 21911 detects the minimum value of the parallelization unit (B) output signals 21921 to 21926, thereby estimating the signal value corresponding to the amount of background reflected light 21511 and generating a minimum value detector output signal 21927. The minimum value detector output signal 21927 is multiplied by the exposure counts 21901 to 21906 of charge packets 1 to 6 at a multiplier 21912, generating multiplier output signals 21931 to 21936, which are signal values corresponding to the amount of background reflected light 21511 included in each of the signal values of charge packets 1 to 6. Subtractor 21913 subtracts parallelization unit (A) output signals 21941 to 21946 from multiplier output signals 21931 to 21936, generating subtraction signals 21951 to 21956 from which the background light reflected light 21511 component included in the signal values of charge packets 1 to 6 has been removed. Maximum / minimum value detector 21914 generates maximum value signal 21957 and minimum value signal 21958 of subtraction signals 21951 to 21956. Since the signal values of charge packets 1 to 6 include at least one charge packet that does not include reflected light 10111 and at least one charge packet that includes reflected light 10111, maximum value signal 21957 corresponds to the light intensity of reflected light 10111, while minimum value signal 21958 corresponds to the black level. Average value calculator 21915 generates an average value of maximum value signal 21957 and minimum value signal 21958, thereby generating threshold signal 21960, which serves as a threshold value for detecting charge packets that include and exclude reflected light 10111. Comparator 10802 compares threshold signal 21960, the average value of maximum value signal 21957 and minimum value signal 21958, with subtraction signals 21951 to 21956. This reduces the effects of variations and shot noise caused by dark currents in photoelectric conversion pixels 10201 and FDAs 10211 to 10216, and sets the results of comparator 10802 to "1" for subtraction signals 21951 to 21956 that include reflected light 10111 and "0" for subtraction signals 21951 to 21956 that exclude reflected light 10111. Therefore, exposure code 10820, which is a bit-concatenated combination of comparator output signals 21961 to 21966, becomes a code indicating the charge packet including reflected light 10111. Exposure code 10820 is then used as a read address to access memory (LUT) 10801, and the data read from memory (LUT) 10801 becomes interval number (integer part) 32715.In addition, the initial value of the memory (LUT) 10801 is set by the control unit 10106 via the control bus. The method for generating the initial value set in the memory (LUT) 10801 will be described later. Figure 28 is described in .
[0334] Next, the calculation method of the interval number (decimal part) 32714 is described. In the second embodiment, when the reflected light 10111 returns across two adjacent interval numbers 21700, since the detailed timing of the return of the reflected light 10111 is unknown, it is considered that the reflected light 10111 returns in the middle of the two adjacent intervals, and the average value of the two adjacent interval numbers is used to suppress the maximum error to half of the interval. The light amount corresponding to the reflected light 10111 returned to the adjacent two unit intervals is regarded as the two unit interval reflected light 32712, and the light amount corresponding to the reflected light 10111 returned to the adjacent two unit intervals is regarded as the two unit interval reflected light 32712. The amount of reflected light 10111 in the unit interval farther from the emission pulse 10120 (far side) of two adjacent unit intervals corresponds to one unit interval of reflected light 32711. By using the ratio of two unit intervals of reflected light 32712 to one unit interval of reflected light 32711 (one unit interval of reflected light 32711 ÷ two unit intervals of reflected light 32712), the interval number (decimal portion) 32714, which further subdivides the unit interval, is calculated, thereby improving ranging accuracy. For example, if reflected light 10111 begins returning 2.5 ns after the beginning of a unit interval, reflected light 10111 will exist for 7.5 ns on the side closer to the emission pulse 10120 (near side) of the two adjacent unit intervals and for 2.5 ns on the side farther from the emission pulse 10120 (far side) of the two adjacent unit intervals. Theoretically, if the reflected light 32712 of the two unit intervals is set to "1," the proportional relationship holds true: the reflected light 32711 of the one unit interval is "0.25." For reflected light 10111, the delay from the start of the unit interval until reflected light 10111 returns can be calculated as the unit interval time: 10ns × 0.25 = 2.5ns. This distance measuring device outputs a section number corresponding to the distance. Furthermore, the time difference from the onset of irradiation light 10110 to the return of reflected light 10111 can be calculated by multiplying the section number of reflected light 10111 by the unit interval time. Thus, by setting the section number (decimal portion) as the reflected light 32711 divided by the reflected light 32712 of the two unit intervals, ranging accuracy can be improved. The 1 unit interval reflected light 32711 and the 2 unit interval reflected light 32712 are generated in the data selection 32710 by using the subtraction signals 21951 to 21956, and are divided by the ratio calculation divider 32713 to generate the interval number (decimal part) 32714. In addition, the details of the data selection 32710 will be described in detail. Figure 29A 、 Figure 29B 、 Figures 31A to 31C To explain.
[0335] Finally, the bits of the section number (integer part) 32715 and the section number (fractional part) 32714 are concatenated to generate the section number signal 10131 .
[0336] Figure 28 FIG. 2 shows the number of exposures 21901 to 21906 of charge packets 1 to 6 and the method for generating the initial value of the memory (LUT) 10801 according to Embodiment 3. Figure 28 As shown, the exposure times 21901 to 21906 of charge packets 1 to 6 and the initial value of the memory (LUT) 10801 are generated according to the interval number 21700 for generating the unit drive style 22231 to 22236 of charge packets 1 to 6 and the generation code 21701 to 21706 of the charge packets 1 to 6, and the unit drive style 22231 to 22236 of the charge packets 1 to 6 is used to control the light source unit 10102 and the solid-state imaging unit 10105.
[0337] First, the method for calculating the exposure counts 21901 to 21906 for charge packets 1 to 6 will be described. The amount of background light reflection 21511 included in the signal values of charge packets 1 to 6 is proportional to the number of times (exposure counts) that exposure pulses 10121 to 10126 for charge packets 1 to 6 are set to a High level. Therefore, the control unit 10106 calculates the number of intervals in which the generation code for charge packets 1 to 6 is "1" across all interval numbers 21700 for each generation code of charge packets 1 to 6, and generates the exposure counts 21901 to 21906 for charge packets 1 to 6 based on this calculation.
[0338] Next, the method for generating the initial value of memory (LUT) 10801 is described. Control unit 10106 regards charge packet 1 generated code 21701 as bit 0, charge packet 2 generated code 21702 as bit 1, charge packet 3 generated code 21703 as bit 2, charge packet 4 generated code 21704 as bit 3, charge packet 5 generated code 21705 as bit 4, and charge packet 6 generated code 21706 as bit 5, and generates independent code 22000 as these 6-bit binary numbers. For example, the independent code 22020 with interval number 21700 of 22021 being 7 regards the "0" of the code 21701 generated by charge packet 1 with interval number 21700 being 7 as bit 0, regards the "0" of the code 21702 generated by charge packet 2 with interval number 21700 being 7 as bit 1, regards the "0" of the code 21703 generated by charge packet 3 with interval number 21700 being 7 as bit 2, regards the "0" of the code 21704 generated by charge packet 4 with interval number 21700 being 7 as bit 3, regards the "1" of the code 21705 generated by charge packet 5 with interval number 21700 being 7 as bit 4, and regards the "0" of the code 21706 generated by charge packet 6 with interval number 21700 being 7 as bit 5, that is, these 6 bits are regarded as binary numbers, which is "10" if expressed in hexadecimal. Furthermore, the control unit 10106 generates an adjacent code 22001 by performing an OR operation on the bits of the independent codes 22000 of the two adjacent intervals.For example, in the adjacent code 32823 of the adjacent position where the interval number 21700 of 32824 is 24 and 25, the value "1" of bit 0 of the independent code with interval number 21700 being 24 and the value "0" of bit 0 of the independent code with interval number 21700 being 25 are regarded as bit 0, the value "1" of bit 1 of the independent code with interval number 21700 being 24 and the value "1" of bit 1 of the independent code with interval number 21700 being 25 are regarded as bit 1, and the value "0" of bit 2 of the independent code with interval number 21700 being 24 and the value "0" of bit 2 of the independent code with interval number 21700 being 25 are regarded as bit 1. The 6-bit binary number is regarded as 33, the value of bit 3 of the independent code with interval number 21700 being 24 is “0”, and the result of the “OR” operation of the value of bit 3 of the independent code with interval number 21700 being 25 is “0”. The value of bit 4 of the independent code with interval number 21700 being 24 is “0”, and the result of the “OR” operation of the value of bit 4 of the independent code with interval number 21700 being 25 is “1”. The value of bit 5 of the independent code with interval number 21700 being 24 is “1”, and the result of the “OR” operation of the value of bit 5 of the independent code with interval number 21700 being 25 is “1”. Here, the independent code 22000 is, when the reflected light 10111 is returned only in one interval number 21700, the signal values of the charge packets 1 to 6 that include the reflected light 10111 are set to "1", and the signal values that do not include the reflected light 10111 are set to "0". The adjacent code 22001 is, when the reflected light 10111 is returned in the interval spanning two adjacent interval numbers 21700, the signal values of the charge packets 1 to 6 that include the reflected light 10111 are set to "1", and the signal values that do not include the reflected light 10111 are set to "0". Based on the generated codes 21701 to 21706 of the charge packets 1 to 6, the exposure code 10820 of each interval number 21700 is estimated. Therefore, memory (LUT) 10801 is initialized using independent code 22000 and adjacent code 22001 as addresses, and segment number 21700 corresponding to independent code 22000 and adjacent code 22001 as data. Exposure code 10820 is used as the address to read from memory (LUT) 10801, thereby converting exposure code 10820 into a segment number corresponding to the distance. Table 22010 is the data set used to initialize memory (LUT) 10801. Since independent code 22020 is "10" in hexadecimal notation, the data at address "10" in the hexadecimal representation of table 22010 becomes 7, segment number 22021 of independent code 22020.Furthermore, since adjacent code 32823 is "33" in hexadecimal notation, the data at address "33" in the hexadecimal notation of table 22010 is set to the smaller of section number 32824 of adjacent code 32823, that is, 24. This is because, with respect to section number 32824 of adjacent code 32823, when reflected light 10111 returns across the section with section numbers 21700 of 24 and 25, the detailed timing of reflected light 10111's return is separately calculated using the ratio of two-unit-section reflected light 32712 to one-unit-section reflected light 32711. The two-unit-section reflected light 32712 corresponds to the amount of reflected light 10111 that returned to the sections with section numbers 21700 of 24 and 25, while the one-unit-section reflected light 32711 corresponds to the amount of reflected light 10111 that returned to the section with section number 21700 of 25.
[0339] Here, the method for generating generated codes 21701 to 21706 for charge packets 1 to 6, which are provided to control unit 10106, will be described. To calculate the interval number using exposure code 10820 generated based on the signal values of charge packets 1 to 6, it is necessary to establish a one-to-one correspondence between exposure code 10820 and the interval number. Therefore, generated codes 21701 to 21706 for charge packets 1 to 6 are determined so that they do not overlap with independent code 22000 or adjacent code 22001, thus ensuring a one-to-one correspondence between exposure code 10820 and the interval number. Furthermore, generated codes 21701 to 21706 for charge packets 1 to 6 are determined so that independent code 22000 and adjacent code 22001 do not correspond to "00" or "3F" when expressed in hexadecimal. If reflected light 10111 returns at the timing when the value of independent code 22000 or adjacent code 22001 is "00," the signal values of charge packets 1 to 6 do not include the component of reflected light 10111, because exposure pulses 10121 to 10126 of charge packets 1 to 6 are at a low level. Furthermore, if object 10101 is not within the ranging range of intervals 0 to 31, the signal values of charge packets 1 to 6 also do not include the component of reflected light 10111. Since these two conditions cannot be distinguished based on the signal values of charge packets 1 to 6, generated codes 21701 to 21706 for charge packets 1 to 6 are generated so that independent code 22000 and adjacent code 22001 do not represent "00" in hexadecimal. Furthermore, by ensuring that the independent code 22000 and the adjacent code 22001 do not have a value of "00" when expressed in hexadecimal, one or more charge packets including reflected light 10111 can be included in the signal values of charge packets 1 to 6 of the solid-state imaging unit output signal 10130. Furthermore, by ensuring that the independent code 22000 and the adjacent code 22001 do not have a value of "3F" when expressed in hexadecimal, and generating the generated codes 21701 to 21706 for charge packets 1 to 6, one or more charge packets not including reflected light 10111 can be included in the signal values of charge packets 1 to 6 of the solid-state imaging unit output signal 10130. Furthermore, in consideration of the fact that the exposure code 10820 matches "00," "1B," or "3F," which do not exist in the independent code 22000 or the adjacent code 22001, setting the interval number to a negative value of -1 makes it possible to detect that the interval number was not correctly calculated.
[0340] Figure 29A as well as Figure 29BThe following figure shows the processing details of data selection 32710 of distance calculation unit 32608 according to Embodiment 3. When reflected light 10111 returns across two adjacent intervals numbered 21700, subtraction signals 21951 to 21956 of charge packets 1 to 6 can be classified into the following four types based on the respective combinations of generated codes 21701 to 21706 of charge packets 1 to 6 in the two adjacent intervals.
[0341] Specifically, distance calculation unit 32608 classifies n types of signal values based on the bit combinations of two independent codes corresponding to adjacent codes. Specifically, distance calculation unit 32608 classifies a signal value as type A when the bit of one of the two independent codes is 0 and the bit of the other of the two independent codes is 0. Similarly, distance calculation unit 32608 classifies a signal value as type B when the bit of one of the two independent codes is 1 and the bit of the other is 0; classifies a signal value as type C when the bit of one of the two independent codes is 0 and the bit of the other is 1; and classifies a signal value as type D when the bit of one of the two independent codes is 1 and the bit of the other is 1.
[0342] Type A corresponds to a charge packet generation code of “0” on the side closer to the light emitting pulse 10120 and a charge packet generation code of “0” on the side farther from the light emitting pulse 10120 .
[0343] Type B corresponds to a charge packet generation code of “1” on the side closer to the light emitting pulse 10120 and a charge packet generation code of “0” on the side farther from the light emitting pulse 10120 .
[0344] Type C corresponds to a charge packet generation code of “0” on the side closer to the light emitting pulse 10120 and a charge packet generation code of “1” on the side farther from the light emitting pulse 10120 .
[0345] Type D corresponds to a charge packet generation code of “1” on the side closer to the light emitting pulse 10120 and a charge packet generation code of “1” on the side farther from the light emitting pulse 10120 .
[0346] Thus, distance calculation unit 32608 classifies n types of signal values based on the combination of bits of two independent codes corresponding to adjacent codes. Here, two-unit-interval reflected light 32712, corresponding to the amount of reflected light 10111 returning to two adjacent unit intervals, can be generated using subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D, or subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B plus subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C.
[0347] Therefore, according to each exposure code 10820, when there are subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D, the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D are used; when there are no subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D, the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B + the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C are used to generate 2 unit interval reflected light 32712.
[0348] Furthermore, 1 unit interval reflected light 32711 corresponding to the amount of light of the reflected light 10111 of the unit interval returned to the side far from the light-emitting pulse 10120 (the far-distance side) in the two adjacent unit intervals can be generated by utilizing subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C.
[0349] Furthermore, generated codes 21701 to 21706 for charge packets 1 to 6 are generated so that subtraction signals 21951 to 21956 for charge packets 1 to 6 classified as type C are present in all adjacent codes 22001, with generated codes "0" on the side closer to emission pulse 10120 and "1" on the side farther from emission pulse 10120. Therefore, for each exposure code 10820, reflected light 32711 is generated for one unit interval using subtraction signals 21951 to 21956 for charge packets 1 to 6 classified as type C.
[0350] In addition, when there are multiple subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B, type C, or type D, 2-unit interval reflection light 32712 and 1-unit interval reflection light 32711 can be generated by selecting one of them.
[0351] Here, when the exposure code 10820 is "0B", type B is charge packet 2 subtraction signal 21952, type C is charge packet 1 subtraction signal 21951, and type D is charge packet 4 subtraction signal 21954. The 2-unit interval reflected light 32712 becomes charge packet 4 subtraction signal 21954 due to the presence of charge packet 4 subtraction signal 21954 classified as type D, and the 1-unit interval reflected light 32711 becomes charge packet 1 subtraction signal 21951 due to the presence of charge packet 1 subtraction signal 21951 classified as type C.
[0352] Furthermore, when exposure code 10820 is "0C," type B is charge packet 3 subtraction signal 21953, type C is charge packet 4 subtraction signal 21954, and type D does not exist. Consequently, since subtraction signals 21951 to 21956 for charge packets 1 to 6, which are classified as type D, are absent, reflected light 32712 from two unit intervals is charge packet 3 subtraction signal 21953 classified as type B + charge packet 4 subtraction signal 21954 classified as type C. Reflected light 32711 from one unit interval is charge packet 4 subtraction signal 21954, which is classified as type C, because subtraction signals 21951 to 21956 for charge packets 1 to 6, which are classified as type D, are absent.
[0353] Furthermore, when reflected light 10111 returns only in one segment number 21700, since irradiation light 10110 and exposure pulses 10121 to 10126 of charge packets 1 to 6 have the same pulse width (10 ns), ranging accuracy can be maintained even without calculating the ratio of one unit segment reflected light 32711 to two unit segment reflected light 32712. Therefore, when exposure code 10820 and independent code 22000 are equal, two unit segment reflected light 32712 is fixed at "1" and one unit segment reflected light 32711 is fixed at "0" so that the calculation result of ratio calculation divider 32713 is "0." In addition, when there are multiple subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B, type C, or type D, by using the subtraction signals 21951 to 21956 of the multiple charge packets 1 to 6, the S / N ratio can be improved by increasing the light utilization efficiency of the reflected light 10111. Figures 31A to 31C Provide explanation.
[0354] Figure 30 This is a timing chart of the distance calculation unit 32608 according to the third embodiment.
[0355] Regarding the markings in this figure, Figure 21 The symbols in have the same meaning. The symbol “N(11)” represents the integer part of the interval number 10131 of the pixel 10200 at the pixel address 11 in the following description, and corresponds to the output of the LUT 10801.
[0356] The notation “ S1 ( 11 )” corresponds to the reflected light 32711 of one unit section of the pixel 10200 at the pixel address 11 .
[0357] The notation “S0(11)” corresponds to the two-unit-interval reflected light 32712 of the pixel 10200 at the pixel address 11.
[0358] The mark “de(11)” represents S1(11) / S0(11), that is, (1 unit interval reflected light 32711) / (2 unit interval reflected light 32712) of pixel 10200 at pixel address 11, which is equivalent to the decimal part of interval number 10131.
[0359] "Nd(11)" and other marks are Figure 21 The decimal part is not included in Figure 30 The decimal part is included. Figure 30 The notation "Nd(11)" corresponds to N(11)+de(11), that is, the integer part and the decimal part of the interval number 10131 of the pixel 10200 at the pixel address 11. Here, "+" means concatenation or addition.
[0360] like Figure 30As shown, at timing 33000, before a valid signal value is output from the solid-state imaging unit output signal 10130, the control unit 10106 sets the exposure counts 21901 to 21906 for charge packets 1 to 6 and the values in the memory (LUT) 10801 via the control bus. The exposure count 21901 for charge packet 1 is 11, the exposure count 21902 for charge packet 2 is 11, the exposure count 21903 for charge packet 3 is 12, the exposure count 21904 for charge packet 4 is 11, the exposure count 21905 for charge packet 5 is 11, and the exposure count 21906 for charge packet 6 is 14. The data in table 32810 is written to the memory (LUT) 10801. At timing 33001, the solid-state imaging unit outputs signal 10130, and the signal values of charge packets 1 to 6 at pixel address 11 are sequentially transmitted. The output signal values are sequentially sent to deserializer (A) 21910, where they are simultaneously divided by the exposure counts 21901 to 21906 for charge packets 1 to 6 and sent to deserializer (B) 21909. At timing 33002, deserializer (A) output signals 21941 to 21946, deserializer (B) output signals 21921 to 21926, and the exposure counts 21901 to 21906 for charge packets 1 to 6 are used to determine exposure code 10820. Using exposure code 10820 as an address, memory (LUT) 10801 is read, and at timing 33003, a bin number (integer portion) 32715 corresponding to the distance from pixel address 11 is generated. Then, using the subtraction signals 21951 to 21956 of charge packets 1 to 6 and the exposure code 10820, data selection 32710 generates two-unit interval reflected light 32712 and one-unit interval reflected light 32711. Ratio calculation divider 32713 generates interval number (fractional part) 32714. Interval number (integer part) 32715 and interval number (fractional part) 32714 are bitwise concatenated to generate interval number signal 10131. This operation is performed on all pixels 10200 arranged two-dimensionally, thereby outputting all two-dimensional interval numbers.
[0361] exist Figure 29A as well as Figure 29B Although the method described in the text is to select one of the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B, type C, or type D to generate 1 unit interval reflection light 32711 and 2 unit interval reflection light 32712 when there are multiple subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B, type C, or type D, the method of generating 1 unit interval reflection light 32711 and 2 unit interval reflection light 32712 using the subtraction signals 21951 to 21956 of multiple charge packets 1 to 6 is described here.
[0362] Figures 31A to 31CThe processing contents of the data selection 32710 of the distance calculation unit 32608 for improving the distance measurement accuracy according to the third embodiment are shown. Figure 29A as well as Figure 29B The data selection process shown is performed by using Figures 31A to 31C The processing content of the data selection shown can improve the distance measurement accuracy.
[0363] When the reflected light 10111 returns across two adjacent intervals numbered 21700, the subtraction signals 21951 to 21956 of charge packets 1 to 6 can be classified into the following four types by respective combinations of the generated codes 21701 to 21706 of charge packets 1 to 6 of the two intervals constituting the adjacent codes.
[0364] Type A corresponds to a generated code of “0” on the side closer to the light emitting pulse 10120 and a generated code of “0” on the side farther from the light emitting pulse 10120 .
[0365] Type B corresponds to a generated code of “1” on the side closer to the light emitting pulse 10120 and a generated code of “0” on the side farther from the light emitting pulse 10120 .
[0366] Type C corresponds to a generated code of “0” on the side closer to the light emitting pulse 10120 and a generated code of “1” on the side farther from the light emitting pulse 10120 .
[0367] Type D corresponds to a generated code of “1” on the side closer to the light emitting pulse 10120 and a generated code of “1” on the side farther from the light emitting pulse 10120 .
[0368] The 2-unit interval reflected light 32712 and the 1-unit interval reflected light 32711 can be calculated by the following four calculation methods depending on whether the subtraction signals 21951 to 21956 of the charge packets 1 to 6 classified as type B, type C, or type D exist. In the presence of subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as types B, C, and D, 2-unit interval reflected light 32712 is calculated by subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D + subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B + subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C, and 1-unit interval reflected light 32711 is calculated by subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D - subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B + subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C. In the case where the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as types B and C exist, but the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D do not exist, the 2-unit interval reflected light 32712 is calculated by the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B + the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C, and the 1-unit interval reflected light 32711 is calculated by the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C. When the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as types C and D exist, but the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B do not exist, the 2-unit interval reflected light 32712 is calculated using the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D, and the 1-unit interval reflected light 32711 is calculated using the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C. In the case where the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as types B and D exist but the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type C do not exist, the 2-unit interval reflected light 32712 is calculated by the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D, and the 1-unit interval reflected light 32711 is calculated by the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type D - the subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as type B.Furthermore, when there are multiple subtraction signals 21951 to 21956 of charge packets 1 to 6 classified as types B, C, and D, the average value of the subtraction signals 21951 to 21956 of the multiple charge packets 1 to 6 is used. Figure 29A as well as Figure 29B Compared with the method, in the calculation of the reflected light 32711 in the 1 unit interval and the reflected light 32712 in the 2 unit interval, by using the subtraction signals 21951 to 21956 of the plurality of charge packets 1 to 6, it is possible to improve the light utilization efficiency for the reflected light 10111 and improve the S / N. In addition, Figure 29A 、 Figure 29B 、 Figures 31A to 31C The method of generating the 1-unit interval reflected light 32711 and the 2-unit interval reflected light 32712 shown is only an example and is not limited to this example.
[0369] Through the above operation, the time required for 12 repetitions of the frame-based drive pattern 10410, equivalent to the camera exposure time, is 17.28 ms, and the time required for image data readout 10411, equivalent to the camera readout time, is 16.053 ms. Therefore, the time required for one frame is 33.3 ms, and the frame rate of this ranging device is 30 fps. Compared to conventional technologies, this technology significantly expands the range of possible measurements with a smaller number of charge packets. Therefore, even in the presence of background light, this technology significantly expands the range of possible measurements while maintaining the frame rate. This technology also achieves ranging accuracy by further subdividing the unit interval without resorting to shorter pulsed light or exposure methods.
[0370] Alternatively, the distance calculation unit 32608 may calculate the distance obtained by subdividing the distance interval using at least two signal values classified into category B, category C, and category D.
[0371] As described above, in the ranging device involved in embodiment 3, when the exposure code is consistent with the adjacent code, the distance calculation unit performs n types of classification of the signal output unit based on the combination of each bit of the two independent codes corresponding to the adjacent codes, and uses the classified signal value to calculate the distance within the corresponding two adjacent unit intervals.
[0372] According to this, when the exposure code and the adjacent code match, the distance to the object can be estimated more accurately within a range that straddles the boundary between the two corresponding distance intervals and is smaller than the distance interval, thereby improving the distance measurement accuracy.
[0373] Here, it can also be that the distance calculation unit classifies the n types of signal values of the signal output unit into the following four categories according to the combination of each bit of the two independent codes constituting the adjacent codes, namely: when the bit of the independent code on the side close to the light-emitting pulse is 0 and the bit of the independent code on the side far from the light-emitting pulse is 0, it is classified as category A; when the bit of the independent code on the side close to the light-emitting pulse is 1 and the bit of the independent code on the side far from the light-emitting pulse is 0, it is classified as category B; when the bit of the independent code on the side close to the light-emitting pulse is 0 and the bit of the independent code on the side far from the light-emitting pulse is 1, it is classified as category C; when the bit of the independent code on the side close to the light-emitting pulse is 1 and the bit of the independent code on the side far from the light-emitting pulse is 1, it is classified as category D, and the distance is calculated using the signal values classified into at least two of category B, category C, and category D.
[0374] According to this, when the exposure code and the adjacent code match, the distance to the object can be estimated more accurately within a range that straddles the boundary between the two corresponding distance intervals and is smaller than the distance interval, thereby improving the distance measurement accuracy.
[0375] Here, the distance calculation unit may calculate the distance by using the signal value classified as the category A and excluding background light components included in each of the signal values classified as the categories B, C, and D.
[0376] According to this, when the exposure code and the adjacent code match in the distance to the object, the influence of background light can be reduced, thereby further improving the distance measurement accuracy.
[0377] (Implementation 4)
[0378] Embodiments 1, 2, and 3 describe how this technology can significantly expand the ranging range. However, because the amount of reflected light attenuates inversely proportional to the square of the distance, if the image is shot without saturating the near side, the exposure at the far side is very low, making ranging difficult. Furthermore, increasing the light intensity to enable ranging at the far side can lead to saturation at the near side, making ranging impossible. To address this issue, a method is described in which the number of exposures is varied according to distance, thereby reducing the difference in exposure between the near and far sides. This allows ranging across the entire ranging range, from near to far.
[0379] Figure 32 The configuration of a TOF (Time Of Flight) type distance measuring device and surrounding objects in an environment including background light according to the second embodiment is schematically shown. Figure 32 As shown, background light 21510 emitted by a background light source 21502 including a component having the same wavelength of 940 nm as that of the light source unit 10102, and pulsed irradiation light 10110 (pulse width 10 ns) having a wavelength of 940 nm irradiated from the light source unit 10102 are irradiated onto an object 10101 in a shooting space 10100 and reflected from the object 10101. The reflected light 10111 of the irradiation light 10110 and the background light reflected light 21511 of the background light 21510 are received by the solid-state imaging unit 10105 through an optical lens 10103 and a filter 10104 that transmits light in a near-infrared wavelength region near a wavelength of 940 nm, and the resulting image is captured. The light emission timing of the light source unit 10102 and the exposure timing of the solid-state imaging unit 10105 are controlled by the light emission pulse 10120, exposure pulses 10121 to 10126 for charge packets 1 to 6, and the discharge drive pulse 10127 of the pulse generating unit 10107. The pulse generating unit 10107 is controlled by the control unit 10106 via a control bus. Furthermore, the light source unit 10102 emits illumination light 10110 when the light emission pulse 10120 is at a high level and does not emit illumination light 10110 when it is at a low level. The solid-state imaging unit 10105 outputs the solid-state imaging unit output signal 10130, which is a set of six signal values corresponding to the exposure pulses 10121 to 10126 for charge packets 1 to 6, to the distance calculating unit 21508 for each pixel. The distance calculation unit 43208 uses the solid-state imaging unit output signal 10130 and the control information from the control unit 43206 to output a section number signal 10131 corresponding to the distance to the object 10101 for each pixel.
[0380] The light source unit 10102, optical lens 10103, filter 10104, solid-state imaging unit 10105, control unit 43206, pulse generator 43207, and distance calculator 43208 constitute a distance measuring device. The light source unit 10102 includes a drive circuit and a light-emitting element, and emits light by applying a voltage from the drive circuit. Laser diodes or other light-emitting elements can be used as the light-emitting element. The control unit 43206, pulse generator 43207, and distance calculator 43208 are implemented, for example, by combining a CPU (Central Processing Unit), an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor), an AFE (Analog Front End), and the like.
[0381] Figure 2 1 is a diagram showing the configuration of a pixel 10200 of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 2 As shown, the pixel 10200 is composed of a signal charge storage unit and an output unit. The signal charge storage unit includes: a photoelectric conversion pixel 10201 composed of a PD (Photo diode) that receives reflected light 10111 and performs photoelectric conversion; a drain 10210 for discharging the signal charge photoelectrically converted in the photoelectric conversion pixel 10201; and an FDA (Floating Diffusion Electrode) for accumulating the signal charge photoelectrically converted in the photoelectric conversion pixel 10201. The output section outputs a voltage value corresponding to the signal charge accumulated in the FDAs 10211 to 10216, and includes a source follower circuit 10221, an output selection transistor 10231, a source follower circuit 10222, an output selection transistor 10232, a source follower circuit 10223, an output selection transistor 10233, a source follower circuit 10224, an output selection transistor 10234, a source follower circuit 10225, an output selection transistor 10235, a source follower circuit 10226, and an output selection transistor 10236.
[0382] Next, the operation of the pixel 10200 will be described. When the exposure pulse 10121 of the charge packet 1 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10211. When the exposure pulse 10122 of the charge packet 2 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10212. When the exposure pulse 10123 of the charge packet 3 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10213. When the exposure pulse 10124 of the charge packet 4 is at a high level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is stored in FDA10214. The signal charge photoelectrically converted in the conversion pixel 10201 is accumulated in FDA10214. When the exposure pulse 10125 of charge packet 5 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10215. When the exposure pulse 10126 of charge packet 6 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated in FDA10216. When the discharge drive pulse 10127 is at a High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is discharged to the drain 10210. Therefore, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the discharge drive pulse 10127 is set to a high level. Thus, when the exposure pulses 10121 to 10126 of the charge packets 1 to 6 are all at a low level, the signal charges photoelectrically converted in the photoelectric conversion pixel 10201 are discharged to the drain 10210. When one of the six exposure pulses 10121 to 10126 of the charge packets 1 to 6 is at a high level, the remaining five are set to a low level. ow level and the discharge drive pulse 10127 is made Low level, so that only when one of the six exposure pulses 10121 to 10126 of charge packets 1 to 6 is High level, the signal charge photoelectrically converted in the photoelectric conversion pixel 10201 is accumulated to the FDAs 10211 to 10216 corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6, and six types of shooting corresponding to the exposure pulses 10121 to 10126 of charge packets 1 to 6 are performed at each pixel. FDA10211 to 10216 accumulate signal charges to generate voltages corresponding to the signal charge amounts, generating a charge packet 1 voltage value corresponding to the signal charge amount of FDA10211, a charge packet 2 voltage value corresponding to the signal charge amount of FDA10212, a charge packet 3 voltage value corresponding to the signal charge amount of FDA10213, a charge packet 4 voltage value corresponding to the signal charge amount of FDA10214, a charge packet 5 voltage value corresponding to the signal charge amount of FDA10215, and a charge packet 6 voltage value corresponding to the signal charge amount of FDA10216.By making the output enable signal 10240 a High level, the following voltage values are output simultaneously: the charge packet 1 voltage value is output to the pixel output signal 10241 via the source follower circuit 10221 and the output selection transistor 10231, the charge packet 2 voltage value is output to the pixel output signal 10242 via the source follower circuit 10222 and the output selection transistor 10232, and the charge packet 3 voltage value is output to the pixel output signal 10243 via the source follower circuit 10223 and the output selection transistor 10234. 0233 is output to pixel output signal 10243, the voltage value of charge packet 4 is output to pixel output signal 10244 via source follower circuit 10224 and output selection transistor 10234, the voltage value of charge packet 5 is output to pixel output signal 10245 via source follower circuit 10225 and output selection transistor 10235, and the voltage value of charge packet 6 is output to pixel output signal 10246 via source follower circuit 10226 and output selection transistor 10236.
[0383] Figure 3 1 is a structural diagram of the solid-state imaging unit 10105 according to Embodiments 1 to 4. Figure 3As shown, in the solid-state imaging unit 10105, pixels 10200 are arranged two-dimensionally with X pixels arranged horizontally and Y pixels arranged vertically. In Embodiments 1 to 4, X = 320 and Y = 240. The number of pixels is an example and is not limiting. The output enable signals 10240 of the pixels 10200 with pixel address 11, pixel address 12, and pixel address 1X arranged in the horizontal direction of the first row are connected to the row selection signal 10300, the output enable signals 10240 of the pixels 10200 with pixel address 21, pixel address 22, and pixel address 2X arranged in the horizontal direction of the second row are connected to the row selection signal 10301, the output enable signals 10240 of the pixels 10200 with pixel address 31, pixel address 32, and pixel address 3X arranged in the horizontal direction of the third row are connected to the row selection signal 10302, and the output enable signals 10240 of the pixels 10200 with pixel address Y1, pixel address Y2, and pixel address YX arranged in the horizontal direction of the Y row are connected to the row selection signal 10303. Furthermore, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 11, pixel address 21, pixel address 31, and pixel address Y1 arranged in the vertical direction of the first column are connected to the vertical pixel signals 10311 to 10316, the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 12, pixel address 22, pixel address 32, and pixel address Y2 arranged in the vertical direction of the second column are connected to the vertical pixel signals 10321 to 10326, and the pixel output signals 10241 to 10246 of the pixels 10200 at pixel address 1X, pixel address 2X, pixel address 3X, and pixel address YX arranged in the vertical direction of the X column are connected to the vertical pixel signals 10331 to 10336. Thus, the vertical pixel signals 10311 to 10316 , 10321 to 10326 , and 10331 to 10336 are connected to the column AD 10370 , the output signal of the column AD 10370 is connected to the shift register 10371 , and the solid-state imaging unit output signal 10130 is output from the shift register 10371 .
[0384] Next, the readout operation of the solid-state imaging unit 10105 will be described. This readout operation is similar to that of a typical CMOS image sensor with the horizontal pixel count multiplied by 6. By setting row select signal 10300 to a high level, row select signal 10301 to a low level, row select signal 10302 to a low level, and row select signal 10303 to a low level, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 11 are output as vertical pixel signals 10311 to 10316, the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 12 are output as vertical pixel signals 10321 to 10326, and the voltage values of charge packets 1 to 6 of pixel 10200 at pixel address 1X are output as vertical pixel signals 10331 to 10336, which are then input to column AD 10370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a high level, the row selection signal 10302 to a low level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 21 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 22 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 2X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD370. By setting the row selection signal 10300 to a low level, the row selection signal 10301 to a low level, the row selection signal 10302 to a high level, and the row selection signal 10303 to a low level, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 31 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 32 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 at the pixel address 3X are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370. By setting the row selection signal 10300 to a low level, setting the row selection signal 10301 to a low level, setting the row selection signal 10302 to a low level, and setting the row selection signal 10303 to a high level, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y1 are output to the vertical pixel signals 10311 to 10316, the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address Y2 are output to the vertical pixel signals 10321 to 10326, and the voltage values of the charge packets 1 to 6 of the pixel 10200 of the pixel address YX are output to the vertical pixel signals 10331 to 10336, and then input to the column AD10370.Column AD 10370 converts the input voltage values of charge packets 1 to 6 of X pixels into 12-bit signal values, generating the following signal values for the X pixels and outputting them to shift register 10371. Specifically, the generated signal values for the X pixels are: charge packet 1 signal value after AD conversion of the voltage value of charge packet 1, charge packet 2 signal value after AD conversion of the voltage value of charge packet 2, charge packet 3 signal value after AD conversion of the voltage value of charge packet 3, charge packet 4 signal value after AD conversion of the voltage value of charge packet 4, charge packet 5 signal value after AD conversion of the voltage value of charge packet 5, and charge packet 6 signal value after AD conversion of the voltage value of charge packet 6. Shift register 10371 shifts the input signal values of charge packets 1 to 6 of the X pixels bit by bit and outputs them to solid-state imaging unit output signal 10130.
[0385] Figure 33 A control sequence of the light source unit 10102 and the solid-state imaging unit 10105 according to the fourth embodiment is shown. Figure 33 The control sequence in Figure 1 As shown, the control unit 43206 instructs the pulse generation unit 43207 via the control bus the number of frame unit drive pattern repetitions (12 times), the number of executions of the unit drive pattern of charge packets 1 to 6 (300 times), and the switching timing of the unit drive pattern of charge packets 1 to 6. In accordance with the number of frame unit drive pattern repetitions, the number of executions of the unit drive pattern of charge packets 1 to 6, and the switching timing of the unit drive pattern of charge packets 1 to 6, the pulse generation unit 43207 generates the light emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge drive pulse 10127. Figure 33 The generation of unit drive patterns 1 to 282 of charge packets 1 to 6 is described in FIG. Figure 34 、 Figures 35A to 35F 、 Figures 36A to 36F ,as well as Figures 37A to 37F The generation method of the unit drive style A43311 to 43316 of each charge packet 1 to 6, the unit drive style B43321 to 43326 of charge packets 1 to 6, the unit drive style C43331 to 43336 of charge packets 1 to 6, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge drive pulse 10127 is explained.
[0386] like Figure 33As shown, one frame is composed of a frame drive pattern 10400. Frame drive pattern 10400 is composed of 12 repetitions of a frame-based drive pattern 10410, and imaging data readout 10411, in which the solid-state imaging unit 10105 outputs the signal charges accumulated in the signal charge storage units of all pixels 10200. Frame-based drive pattern 10410 is composed of a charge packet 1 drive pattern 10421, a charge packet 2 drive pattern 10422, a charge packet 3 drive pattern 10423, a charge packet 4 drive pattern 10424, a charge packet 5 drive pattern 10425, and a charge packet 6 drive pattern 10426.
[0387] Charge packet 1 drive pattern 10421 is configured to switch whenever charge packet 1 unit drive pattern A to Z is executed, and charge packet 1 unit drive pattern A to Z is executed a total of 300 times. Charge packet 2 drive pattern 10422 is configured to switch whenever charge packet 2 unit drive pattern A to Z is executed, and charge packet 2 unit drive pattern A to Z is executed a total of 300 times. Charge packet 3 drive pattern 10423 is configured to switch whenever charge packet 3 unit drive pattern A to Z is executed, and charge packet 3 unit drive pattern A to Z is executed a total of 300 times. Charge packet 4 drive pattern 10424 is configured to switch whenever charge packet 4 unit drive pattern A to Z is executed, and charge packet 4 unit drive pattern A to Z is executed a total of 300 times. Charge packet 5 drive pattern 10425 is configured to switch whenever charge packet 5 unit drive pattern A to Z is executed, and charge packet 5 unit drive pattern A to Z is executed a total of 300 times. The charge packet 6 driving pattern 10426 is configured to switch each time the charge packet 6 unit driving patterns A to Z are executed, and the charge packet 6 unit driving patterns A to Z are executed 300 times in total. The unit driving patterns A to Z of charge packets 1 to 6 drive the light emitting pulse 10120, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge driving pulse 10127. In addition, the generation method and switching method of the unit driving patterns A to Z of charge packets 1 to 6 will be described in detail. Figure 34 、 Figures 35A to 35F 、 Figures 36A to 36F ,as well as Figures 37A to 37F In addition, Figure 33 The control sequence of the light source unit 10102 and the solid-state imaging unit 10105 shown is an example and is not limited thereto.
[0388] The unit drive patterns A to Z for charge packets 1 to 6 are executed a total of 300 times in the drive patterns 10421 to 10426 for charge packets 1 to 6, and the drive patterns 10421 to 10426 for charge packets 1 to 6 are repeated 12 times in the frame unit drive pattern. That is, the unit drive patterns A to Z for charge packets 1 to 6 are executed a total of 300 × 12 = 3600 times. By executing them 3600 times, even if the amount of light 10110 is small each time, sufficient light can be ensured. Furthermore, by dividing the frame drive pattern 10400 into 12 frame unit drive patterns 10410, the time required for each frame unit drive pattern 10410 is shortened, and the imaging timing of charge packets 1 to 6 appears to be parallelized. Therefore, by repeating the frame unit driving pattern 10410 12 times, the jitter caused by the movement of the object 10101 occurs evenly in charge packets 1 to 6, thereby suppressing side effects such as data garbled during distance calculation caused by the movement of the object 10101.
[0389] Figure 34 The diagram shows generation codes 21701 to 21706 for charge packets 1 to 6 given to the control unit 43206 in order to generate unit drive patterns A to Z for charge packets 1 to 6 and a discharge drive pulse 10127 for controlling the solid-state imaging unit 10105 involved in embodiment 4, and the number of interval exposures 43400 used to switch the unit drive patterns A to Z for charge packets 1 to 6.
[0390] like Figure 34 As shown, the generation codes 21701 to 21706 of charge packets 1 to 6 are information in which the interval number 21700 is divided into 31 intervals from 0 to 30, and the value of "0" or "1" is determined according to each interval number 21700, and is used to control the drive of the exposure pulses 10121 to 10126 of charge packets 1 to 6. Furthermore, the interval exposure number 43400 is used to specify the number of times the drive of the exposure pulses 10121 to 10126 of the charge packets 1 to 6 of each interval number 21700 is controlled. In the pulse generating unit 43207, the interval exposure number 43400 is set as the number of times the exposure pulses 10121 to 10126 of the charge packets 1 to 6 of each interval number 21700 is controlled, and the interval exposure number 43400 is set to gradually increase as the interval number 21700 goes from 0 (near distance side) to 30 (far distance side), thereby reducing the difference in exposure amount between the near distance side and the far distance side, and enabling ranging in all ranging ranges from the near distance side to the far distance side.
[0391] Unit drive pattern number 43401 is assigned A to Z according to the number of interval exposures 43400. For example, in an interval with interval numbers 21700 of 0 to 5 and an interval exposure number 43400 of 9, unit drive pattern number 43401 is A; in an interval with interval number 21700 of 6 and an interval exposure number 43400 of 12, unit drive pattern number 43401 is B; and in an interval with interval number 21700 of 7 and an interval exposure number 43400 of 17, unit drive pattern number 43401 is C. Furthermore, regarding the number of unit drive style executions 43402, when the unit drive style number 43401 is A, it is 9, which is the same as the number of interval exposures 43400 for the interval number 21700 from 0 to 5; when the unit drive style number 43401 is B, it becomes 12 of the number of interval exposures 43400 for the interval number 21700 being 6 - 9 of the number of interval exposures 43400 for the interval number 21700 being 0 to 5 = 3; and when the unit drive style number 43401 is C, it becomes 17 of the number of interval exposures 43400 for the interval number 21700 being 7 - 12 of the number of interval exposures 43400 for the interval number 21700 being 6 = 5. Accordingly, the unit drive pattern A of charge packets 1 to 6 is executed 9 times, the unit drive pattern B of charge packets 1 to 6 is executed 3 times, and the unit drive pattern C of charge packets 1 to 6 is executed 5 times. For each charge packet, the unit drive patterns A to Z are executed a total of 300 times. The interval number 21700, the generation codes 21701 to 21706 of charge packets 1 to 6, the interval exposure count 43400, the unit drive pattern number 43401, and the unit drive pattern execution count 43402 are sent to the pulse generation unit 43207 via the control bus. The pulse generation unit 43207 generates the unit drive patterns A to Z of charge packets 1 to 6 based on the interval number 21700, the generation codes 21701 to 21706 of charge packets 1 to 6, the unit drive pattern number 43401, and the unit drive pattern execution count 43402. In addition, the unit drive pattern A of charge packets 1 to 6 is executed in Figures 35A to 35F As explained in , the unit driving pattern B of charge packets 1 to 6 is Figures 36A to 36F For illustration, the unit driving pattern C of charge packets 1 to 6 is Figures 37A to 37F Explain. And, Figure 34 The generation codes and interval exposure times of charge packets 1 to 6 shown are merely examples, and are not limited thereto.
[0392] Figures 35A to 35FIt is a timing diagram showing charge packet 1 unit drive pattern A43311, charge packet 2 unit drive pattern A43312, charge packet 3 unit drive pattern A43313, charge packet 4 unit drive pattern A43314, charge packet 5 unit drive pattern A43315, and charge packet 6 unit drive pattern A43316 involved in embodiment 4.
[0393] like Figures 35A to 35F As shown, the pulse generating unit 43207 switches the interval number 10600 to 80 intervals from 0 to 79 according to the unit interval (10ns), and uses the generation codes 21701 to 21706 of the charge packets 1 to 6 with interval numbers equal to the interval number 10600 and the interval number 10600 to control the light-emitting pulse 10120, the exposure pulses 10121 to 10126 of the charge packets 1 to 6, and the discharge drive pulse 10127 to generate unit drive patterns A43311, 43312, 43313, 43314, 43315, and 43316 of the charge packets 1 to 6. The reason for setting the interval number 10600 of the pulse generating unit 43207 to a value (79) that is twice or more the maximum value (30) of the interval number 21700 is to prevent reception of reflected light 10111 from the object 10101 located outside the ranging range of the irradiation light 10110 (interval numbers greater than the maximum value of the interval number 21700). For this purpose, in the interval number not existing in the interval number 21700, pulses are generated that set the light emitting pulse 10120 to a low level, set the exposure pulses 10121 to 10126 of the charge packets 1 to 6 to a low level, and set the discharge driving pulse 10127 to a high level. Thus, by controlling the solid-state imaging unit 10105, the time required to repeat the frame-unit drive pattern 10410 12 times, which corresponds to the imaging exposure time, is: 10 ns per unit interval × 80 interval numbers × 300 executions of the charge packet-unit drive patterns A to Z × 6 charge packets × 12 repetitions of the frame-unit drive pattern = 17.28 ms. While this unit interval specifies that the pulse widths of the irradiation light 10110 and the exposure pulses 10121 to 10126 of charge packets 1 to 6 are identical, the pulse widths are not limited to 10 ns. The following describes the control method for the emission pulses 10120 of interval numbers 0 to 30, the exposure pulses 10121 to 10126 of charge packets 1 to 6, and the discharge drive pulse 10127, which are located in interval number 21700.
[0394] Figure 35AThis is a timing diagram showing charge packet 1 unit drive pattern A43311. Lighting pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level for interval numbers 21700 ranging from 1 to 30. Charge packet 1 exposure pulse 10121 is generated as a pulse that reaches a high level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "1," and a low level when charge packet 1 generation code 21701 corresponding to interval number 21700 is "0." Charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level for all intervals 21700 ranging from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "0", and is generated as a pulse logically inverted from the charge packet 1 exposure pulse 10121.
[0395] Figure 35B This is a timing diagram illustrating charge packet 2 unit drive pattern A43312. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 2 exposure pulse 10122 is generated as a pulse that reaches a high level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "1," and a low level when charge packet 2 generation code 21702 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that are low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 2 exposure pulse 10122.
[0396] Figure 35CThis is a timing diagram illustrating charge packet 3 unit drive pattern A43313. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 3 exposure pulse 10123 is generated as a pulse that reaches a high level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "1," and a low level when charge packet 3 generation code 21703 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 4 exposure pulse 10124, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 3 exposure pulse 10123.
[0397] Figure 35D This is a timing diagram illustrating charge packet 4 unit drive pattern A43314. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 4 exposure pulse 10124 is generated as a pulse that reaches a high level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "1," and a low level when charge packet 4 generation code 21704 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 5 exposure pulse 10125, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 becomes a low level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "1", and becomes a high level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 4 exposure pulse 10124.
[0398] Figure 35EThis is a timing diagram illustrating charge packet 5 unit drive pattern A43315. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 5 exposure pulse 10125 is generated as a pulse that reaches a high level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "1," and a low level when charge packet 5 generation code 21705 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 6 exposure pulse 10126 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 5 exposure pulse 10125.
[0399] Figure 35F This is a timing diagram illustrating charge packet 6 unit drive pattern A43316. Light emission pulse 10120 is generated as a pulse that reaches a high level when interval number 21700 is 0, and a low level when interval numbers 21700 are 1 to 30. Charge packet 6 exposure pulse 10126 is generated as a pulse that reaches a high level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "1," and a low level when charge packet 6 generation code 21706 corresponding to interval number 21700 is "0." Charge packet 1 exposure pulse 10121, charge packet 2 exposure pulse 10122, charge packet 3 exposure pulse 10123, charge packet 4 exposure pulse 10124, and charge packet 5 exposure pulse 10125 are generated as pulses that reach a low level in all intervals 21700 from 0 to 30. In addition, the discharge drive pulse 10127 is generated by becoming a low level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "1" and becoming a high level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "0", and is generated as a pulse that is logically inverted from the charge packet 6 exposure pulse 10126.
[0400] Figures 36A to 36FIt is a timing diagram showing the charge packet 1 unit driving pattern B43321, charge packet 2 unit driving pattern B43322, charge packet 3 unit driving pattern B43323, charge packet 4 unit driving pattern B43324, charge packet 5 unit driving pattern B43325, and charge packet 6 unit driving pattern B43326 involved in embodiment 4.
[0401] Figure 36A This is a timing diagram showing charge packet 1 unit drive pattern B 43321. Light emission pulse 10120 is generated to a high level when interval number 21700 is 0, and to a low level when interval numbers 21700 are 1 to 30. Charge packet 1 exposure pulse 10121 is generated to a low level when interval numbers 21700 are 0 to 5, when the interval exposure number 43400 is 9, which is less than 12, for unit drive pattern number 43401 B. For interval numbers 21700, which are 6 to 30, when the interval exposure number 43400 is 12 or greater, the charge packet 1 generation code 21701 corresponding to interval number 21700 is "1," and to a low level when the charge packet 1 generation code 21701 corresponding to interval number 21700 is "0." Furthermore, charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 in the unit drive pattern number 43401 being B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 1 exposure pulse 10121.
[0402] Figure 36BThis is a timing diagram illustrating charge packet 2 unit drive pattern B 43322. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level when interval numbers 21700 are 1 to 30. Charge packet 2 exposure pulse 10122 is generated to be at a low level when interval numbers 21700 are 0 to 5, when the interval exposure number 43400 is 9, which is less than 12, for unit drive pattern number 43401 B. For interval numbers 21700, which are 6 to 30, when the interval exposure number 43400 is 12 or greater, the charge packet 2 generation code 21702 corresponding to interval number 21700 is "1," and at a low level when the charge packet 2 generation code 21702 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 in the unit drive pattern number 43401 being B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "0", thereby being generated as a pulse that is logically inverted from the charge packet 2 exposure pulse 10122.
[0403] Figure 36CThis is a timing diagram showing charge packet 3 unit drive pattern B 43323. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level when interval numbers 21700 are 1 to 30. Charge packet 3 exposure pulse 10123 is generated to be at a low level when interval numbers 21700 are 0 to 5, when the interval exposure number 43400 is 9, which is less than 12, for unit drive pattern number 43401 B. For interval numbers 21700, which are 6 to 30, when the interval exposure number 43400 is 12 or greater, the charge packet 3 generation code 21703 corresponding to interval number 21700 is "1," and at a low level when the charge packet 3 generation code 21703 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 in the unit drive pattern number 43401 being B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "0", thereby being generated as a pulse that is logically inverted from the charge packet 3 exposure pulse 10123.
[0404] Figure 36DThis is a timing diagram showing charge packet 4 unit drive pattern B 43324. Light emission pulse 10120 is generated to a high level when interval number 21700 is 0, and to a low level when interval numbers 21700 are 1 to 30. Charge packet 4 exposure pulse 10124 is generated to a low level when interval numbers 21700 are 0 to 5, when the interval exposure number 43400 is 9, which is less than 12, for unit drive pattern number 43401 B. For interval numbers 21700, which are 6 to 30, when the interval exposure number 43400 is 12 or greater, the charge packet 4 generation code 21704 corresponding to interval number 21700 is "1," and to a low level when the charge packet 4 generation code 21704 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 in the unit drive pattern number 43401 being B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "0", thereby being generated as a pulse that is logically inverted from the charge packet 4 exposure pulse 10124.
[0405] Figure 36EThis is a timing diagram showing charge packet 5 unit drive pattern B 43325. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level for interval numbers 21700 from 1 to 30. Charge packet 5 exposure pulse 10125 is generated to be at a low level for interval numbers 21700 from 0 to 5, where the interval exposure number 43400 is 9, which is less than 12 for interval exposure number 43400 of 12 when unit drive pattern number 43401 is B. For interval numbers 21700 from 6 to 30, where the interval exposure number 43400 is 12 or greater, the charge packet 5 generation code 21705 corresponding to interval number 21700 is "1," and at a low level when the charge packet 5 generation code 21705 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , and charge packet 6 exposure pulse 10126 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 when the unit drive pattern number 43401 is B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 5 generation code 21705 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 5 exposure pulse 10125.
[0406] Figure 36FThis is a timing diagram showing charge packet 6 unit drive pattern B 43326. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level when interval numbers 21700 are 1 to 30. Charge packet 6 exposure pulse 10126 is generated to be at a low level when interval numbers 21700 are 0 to 5, when the interval exposure number 43400 is 9, which is less than 12, for unit drive pattern number 43401 B. For interval numbers 21700, which are 6 to 30, when the interval exposure number 43400 is 12 or greater, the charge packet 6 generation code 21706 corresponding to interval number 21700 is "1," and at a low level when the charge packet 6 generation code 21706 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , and charge packet 5 exposure pulse 10125 are generated as Low levels in all intervals where interval numbers 10600 are 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval number 21700 is 0 to 5 and the interval exposure number 43400 is 9, which is smaller than the interval exposure number 43400 of 12 in the unit drive pattern number 43401 being B, it becomes a High level; when the interval number 21700 is 6 to 30 and the interval exposure number 43400 is greater than 12, it becomes a Low level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "1"; it becomes a High level when the charge packet 6 generation code 21706 corresponding to the interval number 21700 is "0", thereby being generated as a pulse that is logically inverted from the charge packet 6 exposure pulse 10126.
[0407] Figures 37A to 37F It is a timing diagram showing the charge packet 1 unit driving pattern C43331, charge packet 2 unit driving pattern C43332, charge packet 3 unit driving pattern C43333, charge packet 4 unit driving pattern C43334, charge packet 5 unit driving pattern C43335, and charge packet 6 unit driving pattern C43336 involved in embodiment 4.
[0408] Figure 37AThis is a timing diagram showing charge packet 1 unit drive pattern C43331. Light emission pulse 10120 is generated to a high level when interval number 21700 is 0, and to a low level when interval numbers 21700 are 1 to 30. Charge packet 1 exposure pulse 10121 is generated to a low level when interval numbers 21700 are 0 to 6, when interval exposure numbers 43400 are 9 and 12, which are less than 17 for unit drive pattern number 43401 C. For interval numbers 21700, 7 to 30, when interval exposure numbers 43400 are 17 or greater, the charge packet 1 generation code 21701 corresponding to interval number 21700 is "1," and to a low level when the charge packet 1 generation code 21701 corresponding to interval number 21700 is "0." Furthermore, charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are at a Low level in all sections with section numbers 10600 ranging from 0 to 30. Furthermore, regarding the discharge drive pulse 10127, it becomes a High level when the interval exposure number 43400 is 9 and 12, which is smaller than the interval exposure number 43400 of 17 when the unit drive pattern number 43401 is C, and the interval number 21700 is 0 to 6, and when the interval exposure number 43400 is 17 or more and the interval number 21700 is 7 to 30, it becomes a Low level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "1", and becomes a High level when the charge packet 1 generation code 21701 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 1 exposure pulse 10121.
[0409] Figure 37BThis is a timing diagram showing charge packet 2 unit drive pattern C43332. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level when interval numbers 21700 are 1 to 30. Charge packet 2 exposure pulse 10122 is generated to be at a low level when interval numbers 21700 are 0 to 6, when interval exposure numbers 43400 are 9 and 12, which are less than 17 for unit drive pattern number 43401 C. For interval numbers 21700, which are 7 to 30, when interval exposure numbers 43400 are 17 or greater, the charge packet 2 generation code 21702 corresponding to interval number 21700 is "1," and at a low level when the charge packet 2 generation code 21702 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 3 exposure pulse 10123 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are at a Low level in all sections with section numbers 10600 ranging from 0 to 30. Furthermore, regarding the discharge drive pulse 10127, it becomes a High level when the interval exposure number 43400 is 9 and 12, which is smaller than the interval exposure number 43400 of 17 when the unit drive pattern number 43401 is C, and the interval number 21700 is 0 to 6, and when the interval exposure number 43400 is 17 or more and the interval number 21700 is 7 to 30, it becomes a Low level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "1", and becomes a High level when the charge packet 2 generation code 21702 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 2 exposure pulse 10122.
[0410] Figure 37CThis is a timing diagram showing charge packet 3 unit drive pattern C43333. Light emission pulse 10120 is generated to be at a high level when interval number 21700 is 0, and at a low level when interval numbers 21700 are 1 to 30. Charge packet 3 exposure pulse 10123 is generated to be at a low level when interval numbers 21700 are 0 to 6, when interval exposure numbers 43400 are 9 and 12, which are less than 17 for unit drive pattern number 43401 C. For interval numbers 21700, 7 to 30, when interval exposure numbers 43400 are 17 or greater, the charge packet 3 generation code 21703 corresponding to interval number 21700 is "1," and the charge packet 3 generation code 21703 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 4 exposure pulse 10124 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are at a Low level in all sections with section numbers 10600 ranging from 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval exposure number 43400 is 9 and 12, which is smaller than the interval exposure number 43400 of 17 when the unit drive pattern number 43401 is C, and the interval number 21700 is 0 to 6, and when the interval exposure number 43400 is 17 or more and the interval number 21700 is 7 to 30, it becomes a Low level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "1", and becomes a High level when the charge packet 3 generation code 21703 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 3 exposure pulse 10123.
[0411] Figure 37DThis is a timing diagram showing charge packet 4 unit drive pattern C43334. Light emission pulse 10120 is generated to a high level when interval number 21700 is 0, and to a low level when interval numbers 21700 are 1 to 30. Charge packet 4 exposure pulse 10124 is generated to a low level when interval numbers 21700 are 0 to 6, when interval exposure numbers 43400 are 9 and 12, which are less than 17 for unit drive pattern number 43401 C. For interval numbers 21700, which are 7 to 30, when interval exposure numbers 43400 are 17 or greater, the charge packet 4 generation code 21704 corresponding to interval number 21700 is "1," and to a low level when the charge packet 4 generation code 21704 corresponding to interval number 21700 is "0." Furthermore, charge packet 1 exposure pulse 10121 , charge packet 2 exposure pulse 10122 , charge packet 3 exposure pulse 10123 , charge packet 5 exposure pulse 10125 , and charge packet 6 exposure pulse 10126 are at a Low level in all sections with section numbers 10600 ranging from 0 to 30. Furthermore, regarding the discharge drive pulse 10127, when the interval exposure number 43400 is 9 and 12, which is smaller than the interval exposure number 43400 of 17 when the unit drive pattern number 43401 is C, and the interval number 21700 is 0 to 6, and when the interval exposure number 43400 is 17 or more and the interval number 21700 is 7 to 30, it becomes a Low level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "1", and becomes a High level when the charge packet 4 generation code 21704 corresponding to the interval number 21700 is "0", thereby being generated as a pulse logically inverted from the charge packet 4 exposure ...
Claims
1. A distance measuring device comprising: a pulse generating unit for generating a light emission pulse and an exposure pulse, wherein the light emission pulse is used to indicate a timing of irradiating light and the exposure pulse is used to indicate a timing of exposing reflected light; a control unit configured to control the pulse generating unit according to n types of charge packet generation codes, the n types of charge packet generation codes indicating whether exposure should be performed for each of a plurality of unit intervals or indicating whether light should be emitted for each of the plurality of unit intervals, the plurality of unit intervals corresponding to a plurality of distance intervals obtained by dividing a ranging range, where n is an integer greater than or equal to 4; a light source unit for irradiating light according to the light pulse; a solid-state imaging unit configured to capture images according to the exposure pulse; as well as a distance calculation unit that calculates the distance based on the n types of signal values for each of the unit intervals obtained from the solid-state imaging unit, The control unit generates an n-bit binary number of each of the unit intervals included in the n types of charge packet generation codes as an independent code, The distance calculation unit binarizes the n types of signal values using a first threshold value, and determines the binarized n-bit binary number as a first exposure code. The distance calculation unit compares the independent code with the first exposure code and calculates a distance corresponding to a unit section in which the independent code and the first exposure code match.
2. The distance measuring device according to claim 1, The solid-state imaging unit generates first to n-th sub-frame images corresponding to the n types of charge packet generation codes for one frame period based on the reflected light. The distance calculation unit generates distance information for each pixel of the distance image based on the n types of signal values included in the first to nth subframe images, the distance information indicating a distance interval corresponding to the reflected light among the plurality of distance intervals. The pulse generating unit generates pulses in the following manner: after generating one light-emitting pulse, it generates one or more exposure pulses according to the charge packet generation code, or before generating one exposure pulse, it generates one or more light-emitting pulses according to the charge packet generation code.
3. The distance measuring device according to claim 1 or 2, The n types of charge packet generation codes indicate n types of exposure patterns in the plurality of unit intervals, or indicate n types of light emission patterns in the plurality of unit intervals. Each of the n exposure patterns corresponds to a plurality of exposure pulses and a light-emitting pulse. Each of the n types of light emission patterns corresponds to one exposure pulse. In the n exposure patterns, at least one of the number of output times and output timings of the exposure pulses in the plurality of unit intervals is different from each other, In the n types of light emission patterns, at least one of the number of output times and output timings of the light emission pulses in the plurality of unit intervals is different from each other.
4. The distance measuring device according to claim 3, The control unit sequentially selects one of the n types of charge packet generation codes, and causes the pulse generation unit to generate an exposure pulse or a light emission pulse according to the selected charge packet generation code.
5. The distance measuring device according to claim 1, The control unit generates a first adjacent code of n bits by performing an OR operation on each bit of the two independent codes corresponding to the two adjacent unit intervals. The distance calculation unit further compares the first exposure code with the first adjacent code, and calculates a distance between two corresponding unit sections when they match.
6. The distance measuring device according to claim 5, Each of the first adjacent codes is different from any other first adjacent codes.
7. The distance measuring device according to claim 1, The control unit generates a second adjacent code of n bits by performing an AND operation on each bit of the two independent codes corresponding to the two adjacent unit intervals. The distance calculation unit further The n types of signal values are binarized using a second threshold value, and the binarized n-bit binary number is determined as a second exposure code. The second exposure code is compared with the second adjacent code, and when they match, the distance between the two corresponding unit sections is calculated.
8. The distance measuring device according to claim 7, Each of the second adjacent codes is different from any other second adjacent codes.
9. The distance measuring device according to claim 5, The control unit generates a second adjacent code of n bits by performing an AND operation on each bit of the two independent codes corresponding to the two adjacent unit intervals. The distance calculation unit further The n types of signal values are binarized using a second threshold value, and the binarized n-bit binary number is determined as a second exposure code. The second exposure code is compared with the second adjacent code, and when they match, the distance between the two corresponding unit sections is calculated.
10. The distance measuring device according to claim 9, The first threshold is smaller than the second threshold.
11. The distance measuring device according to claim 1, Each of the independent codes is different from any other independent code.
12. The distance measuring device according to claim 5, One of the independent codes in the unit section having the same timing as the light emission pulse and the exposure pulse is the same as all the independent codes in the other unit sections and any one of the first adjacent codes.
13. The distance measuring device according to claim 7, One of the independent codes in the unit section having the same timing as the light emission pulse and the exposure pulse is the same as all the independent codes in the other unit sections and any one of the second adjacent codes.
14. The distance measuring device according to claim 5, The distance calculation unit, When the first exposure code and the first adjacent code are consistent, the n types of signal values are classified according to a bit-by-bit combination of two independent codes corresponding to the first adjacent code. The distance between two adjacent unit intervals is calculated using the classified signal values.
15. The distance measuring device according to claim 7, The distance calculation unit, When the second exposure code and the second adjacent code are consistent, the n types of signal values are classified according to a bit-by-bit combination of two independent codes corresponding to the second adjacent code. The distance between two adjacent unit intervals is calculated using the classified signal values.
16. The distance measuring device according to claim 14, The distance calculation unit classifies the n types of signal values into the following four types based on the combination of each bit of the two independent codes: When the bit of one of the two independent codes is 0 and the bit of the other of the two independent codes is 0, it is type A. When the bit of one side is 1 and the bit of the other side is 0, it is type B. When the bit of one side is 0 and the bit of the other side is 1, it is type C. When the bit of one side is 1 and the bit of the other side is 1, it is type D. The distance calculation unit calculates the distance obtained by subdividing the distance interval using the signal values classified into at least two of the categories B, C, and D.
17. The distance measuring device according to claim 16, The distance calculation unit calculates the distance by using the signal value classified as the category A and removing background light components included in each of the signal values classified as the categories B, C, and D.
18. The distance measuring device according to claim 1 or 2, The control unit repeatedly controls the pulse generating unit according to n types of charge packet generation codes a plurality of times. The pulse generating unit has a function of setting whether to perform masking for each of the unit intervals with respect to the charge packet generation code, wherein the masking function is to prevent the exposure pulse or the light emission pulse from being generated.
19. The distance measuring device according to claim 1 or 2, The solid-state imaging unit includes: Photoelectric conversion pixels; n signal charge storage units corresponding to the n types of charge packet generation codes and storing the signal charges generated by the photoelectric conversion pixels; and The signal output unit outputs n types of signal values corresponding to the signal charges accumulated in the n signal charge accumulation units.
20. The distance measuring device according to claim 1 or 2, The solid-state imaging unit includes: Photoelectric conversion pixels; a signal charge storage unit that stores signal charges generated by the photoelectric conversion pixels; and The signal output unit outputs a signal value corresponding to the signal charge accumulated in the signal charge accumulation unit.
21. The distance measuring device according to claim 2, The n types of charge packet generation codes indicate n types of exposure patterns in the plurality of unit intervals, or indicate n types of light emission patterns in the plurality of unit intervals. Each of the n exposure patterns corresponds to a plurality of exposure pulses and a light-emitting pulse. Each of the n types of light emission patterns corresponds to one exposure pulse. In the n exposure patterns, at least one of the number of output times and output timings of the exposure pulses in the plurality of unit intervals is different from each other, In the n types of light emission patterns, at least one of the number of output times and the output timing of the light emission pulses in the plurality of unit intervals is different from each other, The light source unit includes one or more light emitting elements. The control unit has first to nth light emitting tables corresponding to the first to nth sub-frame images. The n types of light emission tables store the total number of times the light emitting element emits light corresponding to each of the plurality of unit intervals. The control unit determines the n types of light emission patterns as the n types of charge packet generation codes according to the first to nth light emission tables.
22. The distance measuring device according to claim 2, The n types of charge packet generation codes indicate n types of exposure patterns in the plurality of unit intervals, or indicate n types of light emission patterns in the plurality of unit intervals. Each of the n exposure patterns corresponds to a plurality of exposure pulses and a light-emitting pulse. Each of the n types of light emission patterns corresponds to one exposure pulse. In the n exposure patterns, at least one of the number of output times and output timings of the exposure pulses in the plurality of unit intervals is different from each other, In the n types of light emission patterns, at least one of the number of output times and the output timing of the light emission pulses in the plurality of unit intervals is different from each other, The n types of light emission patterns include the first to nth light emission pattern groups corresponding to the first to nth subframe images, Each of the first to nth light emission pattern groups includes a light emission pattern showing a single light emission pulse having output timings different from each other. The pulse generating section selects one of the first to nth emission pattern groups and outputs the exposure pulse once for each emission pattern included in the selected emission pattern group.
23. The distance measuring device according to claim 22, The light source unit includes one or more light emitting elements. The control unit has first to nth light emitting tables corresponding to the first to nth sub-frame images. The n types of light emission tables store the total number of times the light emitting element emits light corresponding to each of the plurality of unit intervals. The control unit determines the light emission pattern included in each of the first to nth light emission pattern groups based on the first to nth light emission tables.
24. The distance measuring device according to claim 21 or 23, The control unit generates the first to n-th emission codes as the n types of charge packet generation codes by binarizing the first to n-th emission tables. The control unit generates the independent code and the first adjacent code, The independent code is obtained by considering the first to nth light emitting codes as an n-bit binary number for each of the plurality of unit intervals. The first adjacent code is obtained by performing an OR operation on the independent codes of two adjacent unit intervals. The distance calculation unit determines the first exposure code, which is obtained by regarding each pixel of the first to n-th sub-frame images as an n-bit binary number. The distance calculation unit generates the distance information by comparing the first exposure code with the independent code and the first adjacent code.
25. The distance measuring device according to claim 21 or 23, The control unit generates the first to n-th emission codes as the n types of charge packet generation codes by binarizing the first to n-th emission tables. The control unit generates the independent code and the second adjacent code, The independent code is obtained by considering the first to nth light emitting codes as an n-bit binary number for each of the plurality of unit intervals. The second adjacent code is obtained by performing an AND operation on the independent codes of two adjacent unit intervals. The distance calculation unit determines a second exposure code obtained by regarding each pixel of the first to n-th sub-frame images as an n-bit binary number. The distance calculation unit generates the distance information by comparing the second exposure code with the independent code and the second adjacent code.
26. The distance measuring device according to claim 23, The one frame period includes the first to nth sub-frame periods for generating the first to nth sub-frame images. The pulse generating unit repeats a combination of output of the light emitting pulse according to the i-th light emitting pattern and output of the exposure pulse once M times during the i-th subframe, where i is an integer from 1 to n and M is an integer greater than or equal to 2.
27. The distance measuring device according to claim 26, The control unit reduces the number of repetitions of the light emission pulse in the unit interval corresponding to the shorter distance interval among the plurality of distance intervals, to a number less than M times during the first to nth subframe periods.
28. The distance measuring device according to any one of claims 21 to 23, The light source unit increases the amount of irradiated light in a unit section corresponding to a longer distance section among the plurality of distance sections.
29. A distance measurement method, which is a distance measurement method in a distance measurement device. The distance measuring device comprises: a pulse generating unit for generating a light emission pulse and an exposure pulse, wherein the light emission pulse is used to indicate a timing of irradiating light and the exposure pulse is used to indicate a timing of exposing reflected light; a control unit for controlling the pulse generating unit; a light source unit for irradiating light according to the light pulse; a solid-state imaging unit configured to capture images according to the exposure pulse; as well as a distance calculation unit that calculates the distance based on the signal value obtained from the solid-state imaging unit, In the ranging method, The pulse generating unit generates a light emission pulse and an exposure pulse according to n types of charge packet generation codes, wherein the n types of charge packet generation codes indicate whether exposure should be performed for each of a plurality of unit intervals or whether light emission should be performed for each of a plurality of unit intervals, wherein the plurality of unit intervals correspond to a plurality of distance intervals obtained by dividing a ranging range, and n is an integer greater than or equal to 4. obtaining n types of signal values for each of the unit intervals obtained from the solid-state imaging unit, Binarize the n signal values. The binarized n-bit binary number is determined as the exposure code. generating an n-bit binary number for each of the unit intervals included in the n types of charge packet generation codes as an independent code, Compare the independent code with the exposure code, calculate the distance corresponding to the unit interval where the independent code and the exposure code are consistent, Each of the n types of charge packet generation codes indicates a plurality of exposure pulses for one light-emitting pulse, or indicates a plurality of light-emitting pulses for one exposure pulse.
Citation Information
Patent Citations
Distance image sensor
JP2004294420A
Distance measurement imaging device, distance measurement method using same, and solid-state imaging device
WO2016189808A1
Range gating code super-resolution three-dimensional imaging method
CN103438863A
Solid-state imaging element, solid-state imaging device, solid-state imaging system, and method for driving solid-state imaging element
WO2019186838A1