BACKGROUND
[0001] Time of flight (TOF) technology is used in a number of fields to determine the time
it takes light to travel through a medium. For instance, TOF methods may be used in
cameras to determine depth measurements in 3-dimensional environments.
[0002] US 6,323,942 B1 (Bamji) discloses a three-dimensional imaging system that includes a two-dimensional array
of pixel light sensing detectors and dedicated electronics and processing circuitry.
In an embodiment, each detector has an associated high speed counter that accumulates
clock pulses in number directly proportional to time of flight (TOF) for a system-emitted
pulse to reflect from an object point and be detected by a pixel detector focused
upon that point. For instance, a high speed clock can output a continuous train of
high frequency clock pulses at a frequency of 2 GHz with a duty cycle of 0.1%. A compensation
of detector response time using a lookup table based on calibration measurements is
also described therein.
SUMMARY
[0003] It is an object to improve the performance of a TOF depth camera to better suit new
operating environments. This is addressed by the subject-matter of the independent
claims. Preferred embodiments are described in the dependent claims. In an example,
a method for operating a time of flight (TOF) depth camera is provided. The method
includes, using an image processing module, interpolating an updated timing delay
calibration for each of a plurality of pixel sensors based at least on an updated
set of modulation frequency and duty cycle calibration combinations received by the
image processing module, the plurality of pixel sensors being coupled to a timing
clock and receiving light generated by a light source and reflected in a 3-dimensional
environment and the updated set of modulation frequency and duty cycle calibration
combinations replacing the corresponding factory-preloaded timing delay calibrations,
and applying the updated timing delay calibrations to pixel data corresponding to
each of the plurality of the pixel sensors to generate a depth map of the 3-dimensional
environment. In this way, the timing delay calibration for the pixel sensors can be
updated after the camera is shipped to a consumer. As a result, the operational mode
of the TOF depth camera can be changed and the performance state of the TOF depth
camera can be modified after product launch, enabling the applicability of the TOF
depth camera to be expanded. Specifically, the performance of the TOF depth camera
may be improved to better suit new operating environments. A variety of parameters
in the depth camera may be changed to improve camera operation, such as illumination
frequency, duty cycle (e.g., light source and pixel detector duty cycles), peak power
and integration time, etc., and the timing delays can be adjusted to match the parameter
changes. Adjusting these parameters enables accuracy, precision, depth noise, near
and far range, signal to noise ratio, mixed pixel resolution, motion blur, and/or
other suitable performance characteristics to be varied in the camera to provide desired
operating characteristics. Consequently, the lifespan of the depth camera can be extended
and the user experience with the camera can be enhanced when these parameters are
able to be dynamically updated after the camera is shipped to the consumer.
[0004] This Summary is provided to introduce a selection of concepts in a simplified form
that are further described below in the Detailed Description. This Summary is not
intended to identify key features or essential features of the claimed subject matter,
nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore,
the claimed subject matter is not limited to implementations that solve any or all
disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005]
FIG. 1 shows a schematic depiction of a time of flight (TOF) system;
FIG. 2 shows a method for operation of a TOF system;
FIGS. 3 and 4 show another method for operation of a TOF system;
FIG. 5 shows an example TOF system and graphical representation of the TOF and timing
delay in the TOF system;
FIG. 6 shows a graphical representation of the timing delay between a waveform received
via a pixel sensor included in the plurality of pixel sensors and a waveform sent
from the light source;
FIG. 7 shows a graphical representation of linear regression of data acquired during
factory calibration of a TOF depth camera; and
FIG. 8 shows an exemplary computing device.
DETAILED DESCRIPTION
[0006] Depth cameras may be used in entertainment and gaming systems as input devices to
identify user movement and execute functions in the device responsive to the detected
movement. Depth cameras can also be used in these systems for facial recognition,
object scanning, etc. However, it will be appreciated that depth cameras may be used
in a multitude of other systems.
[0007] Depth cameras may have timing delays due to the configuration of the hardware (e.g.,
timing clock and light source arrangement) within the camera. Specifically, depth
cameras typically include a timing mechanism connected to a pixel sensor and a laser.
The pixel sensor may be closer to the timing mechanism than the laser. Consequently,
there is a substantial delay between the timing signal received by the pixel sensor
and the actual moment of laser illumination triggered by a timing signal. This delay
results in depth errors which may be on the order of tens to hundreds of centimeters,
in some cases.
[0008] To account for these delays, TOF depths cameras can be calibrated at their production
factory to determine said timing delays for each pixel sensor in the camera. The timing
delay is a quantity which depends on the operational mode of the camera. This operational
mode may be determined based on an intended operating environment. For instance, the
operational mode in a gaming system may be selected for use in an indoor environment,
such as a living room. The factory calibration determines the timing delays for a
given operational mode. These factory calibrated delays are static and cannot be modified
once the camera is provided to the consumer. Fixing the timing delays in this way
limits the flexibility of the camera because it does not allow change to the operational
mode. In particular altering optical parameters, such as illumination frequency, duty
cycle, peak power, integration time, etc., affects the timing delay, thereby rendering
the factory calibrated timing delays invalid. As a result, the applicability of these
types of depth cameras is limited as they cannot be dynamically updated in the field.
A time of flight (TOF) system and method for operation of the time of flight system,
described below, have been developed to improve timing delay calibration.
[0009] FIG. 1 shows a schematic depiction of a TOF system 100. The TOF system 100 includes
a TOF depth camera 102, a calibration computing device 104, and an update computing
device 106. The calibration computing device 104 is configured to provide factory
calibration to the TOF depth camera 102. The update computing device 106 is configured
to provide post-production calibration to the TOF depth camera 102 after the camera
is sold or otherwise provided to a consumer. In other words, the update computing
device 106 is configured to provide in-field recalibration functionality. Providing
in-field recalibration enables the applicability of the TOF depth camera 102 to be
increased by enabling timing errors to be recalculated based on adjustments in parameters
of the camera. It will be appreciated that it may be desirable to change the parameters
of the camera when new information becomes available, software algorithms are improved,
the camera is used in unintended operating environments, etc. As a result, performance
characteristics of the camera can be redistributed to improve camera operation for
unanticipated end-use scenarios.
[0010] The methods for performing factory calibration of the TOF depth camera and updating
calibration on the TOF depth camera 102 are discussed in greater detail herein. Further,
in other examples, factory calibration and post-production dynamic calibration can
be provided via a single computing device. Furthermore, as depicted in FIG. 1, the
update computing device 106 is in electronic communication with the TOF depth camera
102 over a network 108, such as the Internet. However, other suitable networks have
been contemplated. The calibration computing device 104 is shown in directly electronic
communication with the TOF depth camera 102. Additionally, the calibration computing
device 104 may communicate with the TOF depth camera 102 over a suitable network,
including but not limited to the network 108.
[0011] The TOF depth camera 102 includes an image processing module 110 configured to determine
timing errors as well as perform additional functions described in greater detail
herein. The TOF depth camera 102 also includes a timing clock 112. The timing clock
112 is in electronic communication with the image processing module 110, which may
be configured to store duty cycle and frequency combinations. The timing clock 112
is configured to generate modulation signals 114 (e.g., modulation voltages). It will
be appreciated that the modulation signals 114 may be similar. For example, a similar
modulation signal may be sent to the light source and the pixel shutters from the
timing clock. It will be appreciated that even though the same signal may be sent
from timing clock to the light source as well as the pixel shutters the signals received
via the light source and the pixel shutter may have slight variations due to the difference
in electrical connections over which the signals propagates. Therefore in one example,
the modulation signal sent to the at least one shutter and the modulation signal sent
to the light source are the same signal.
[0012] The modulation signals 114 may be generated based on modulation frequency and duty
cycle combinations stored in the image processing module 110. As shown, the modulation
signals 114 are sent from the timing clock 112 to a light source 116 and a pixel array
118. It will be appreciated that the modulation signal dictates the shape and timing
of the waveform generated by the light source.
[0013] The light source 116 includes one or more lasers 120 and/or other suitable light
generating devices such as light emitting diodes (LEDs). The lasers 120 are configured
to generate light. In one example, the lasers are configured to emit light in the
infrared spectrum (i.e., light within the wavelength range: 1 millimeter (mm) - 700
nanometers (nm)). However, light sources generating light in other spectrums have
been contemplated.
[0014] The pixel array 118 includes a plurality of pixel sensors 122. The pixel array 118
further includes at least one shutter 124 associated with each of the plurality of
pixel sensors 122. In one example, two shutters may be associated with each of the
plurality of pixel sensors. Further, in other examples it will be appreciated that
the shutters are integrated into the plurality of pixel sensors 122. Still further,
in one example, the pixel array 118 may be integrated into the timing clock 112. The
modulation signal sent to the pixel array dictates the timing of shutter operation
(e.g., opening and closing). Thus, the modulation signal determines the timing of
the waveform received by the pixel array.
[0015] It will be appreciated that the light source 116 is configured to project light generated
therein into a 3-dimensional environment 126, as denoted via arrow 128. The light
is reflected off objects in the 3-dimensional environment 126 and returns to the plurality
of pixel sensors 122, as denoted via arrow 130. It will be appreciated that the shutters
124 regulate the timing of the light that enters the plurality of pixel sensors 122.
As shown, the pixel array 118 is in electronic communication with the image processing
module 110, as denoted via arrow 132. The image processing module 110 is also in electronic
communication with the timing clock 112, as denoted via arrows 133. Additionally,
the image processing module 110 is configured to generate depth maps 134 based on
signals received from the pixel array 118 and timing clock 112.
[0016] The timing clock 112 is configured to generate and send modulation signals 114 to
a plurality of pixel sensors 122 and a light source 116, the modulation signal generated
based on an updated set of modulation frequency and duty cycle calibration combinations
received by the image processing module 110. Furthermore, the image processing module
110 is configured to interpolate an updated timing delay calibration for each of a
plurality of pixel sensors 122 based on the updated set of modulation frequency and
duty cycle calibration combinations received by the image processing module. The image
processing module 110 is further configured to apply the timing delay calibrations
to pixel data corresponding to each of the plurality of the pixel sensors 122 to generate
a depth map of the 3-dimensional environment, the plurality of pixel sensors being
coupled to the timing clock and receiving light generated by the light source and
reflected in a 3-dimensional environment. The image processing module 110 is also
configured to replace a set of factory-preloaded timing delay calibrations with the
updated set of timing delay calibrations. Thus the updated set of timing delay calibrations
may be different from the set of factory-preloaded timing delay calibrations. This
dynamic calibration is discussed in greater detail herein.
[0017] FIG. 2 shows a method 200 for operation of a TOF system. The method 200 may be used
to operate the TOF system 100 described above with regard to FIG. 1. However, in other
examples the method 200 may be used to operate another TOF system.
[0018] At 202 the method includes performing factory calibration of a TOF depth camera.
Performing factory calibration of the TOF depth camera may include steps 204-213.
At 204 the method includes determining a set of factory-preloaded modulation frequency
and duty cycle combinations. It will be appreciated that these combinations may be
decided based on an intended end-use environment and entered into a calibration computing
device.
[0019] Next at 206, the method includes uploading the factory-preloaded frequency and duty
cycle combinations to the TOF depth camera. Uploading these combinations may include
electronically transferring (e.g., wired, wirelessly, etc.) the combinations from
the calibration computing device to the TOF depth camera. Further in one example,
brightness calibrations may additionally or alternatively be uploaded to the TOF camera
at 206. It will be appreciated that the brightness calibrations may correspond to
the magnitude of the signal sent to the light source and the pixel sensors in the
TOF depth camera.
[0020] At 208 the method includes acquiring depth data for a defined target at a calibrated
depth and calculating the amount of timing delay for each case. In this way, known
depth values may be used to determine pixel phase offset. It will be appreciated that
in some examples modulation duty cycle may vary between frequencies due to the configuration
of the camera.
[0021] Next at 210, the method includes normalizing the timing delays so that each measurement
represents the expected timing delay for a case when the modulation duty cycle is
at a set value. In one example, the set value may be a 50% duty cycle. However, other
set values of the duty cycle have been contemplated. At 212 the method includes applying
a linear fit to the timing delay data set and recording the slopes and timing offsets
for each pixel sensor. Recording the slopes and timing offsets for each pixel sensor
may include storing the slopes and timing offsets in a look-up table in memory, such
as flash storage. Linear regression of the data is discussed in greater detail herein
with regard to FIG. 6.
[0022] At 213 the method includes determining a constant for an update equation based on
the linear fit. In other examples, other types of fits may be used such as polynomial,
sinusoidal, and/or linear + sinusoidal fits. Specifically in one example, the value
of the slopes may define a constant in an update equation used for dynamic calibration
once the camera is shipped to a consumer. The update equation is discussed in greater
detail herein with regard to FIG. 4. Additionally, one or more of steps 204 and 208-213
may implemented via a calibration computing device, such as calibration computing
device 104 of FIG. 1. It will be appreciated that the factory calibration in steps
202-213 sets the camera up to be quickly and efficiently calibrated once the camera
is in the hands of the consumer.
[0023] At 214 the method includes shipping the TOF depth camera to the customer. Next at
216, the method includes receiving an updated set of frequency and duty cycle calibration
combinations at the TOF depth camera. Further in one example, brightness values may
be additionally or alternatively received by the TOF depth camera at 216. The updated
set of frequency and duty cycle calibration combinations may be sent from an update
computing device (e.g., update computing device 106 of FIG. 1) over a network, such
as the Internet.
[0024] At 218 the method includes applying an updated frequency and duty cycle calibration
combination to the update equation to determine timing delays for each of the pixel
sensors in the TOF depth camera. Next at 220, the method includes generating a depth
map based on the timing delays in the TOF depth camera (e.g., the timing delays determined
at 218). In this way, dynamic calibration of the camera can be implemented in the
field based on updated duty cycle and frequency combinations. As a result, the applicability
of the camera is increased.
[0025] FIGS. 3 and 4 show a method 300 for operation of a TOF system. The method 300 may
be used to operate the TOF system 100 described above with regard to FIG. 1. However,
in other examples the method 300 may be used to operate another suitable TOF system.
[0026] At 302 the method includes determining a set of factory-preloaded modulation frequency
and duty cycle combinations. It will be appreciated that these combinations may be
decided based on an intended end-use environment and entered into a calibration computing
device (e.g., calibration computing device 104 of FIG. 1). Next at 304, the method
includes transferring the set factory-preloaded of modulation frequency and duty cycle
combinations to the TOF depth camera.
[0027] At 306 the method includes receiving the set of factory-preloaded modulation frequency
and duty cycle combinations at the TOF camera. Next at 308, the method includes acquiring
depth data for a defined target at a calibrated depth and calculating the amount of
timing delay for each case.
[0028] Next at 310, the method includes normalizing the timing delays. It will be appreciated
that the timing delays may be calculated based on depth data acquired at different
duty cycles. Normalizing the timing delays may include adjusting the timing delays
based on a common duty cycle. In other words, the values of the timing delays measured
at different duty cycles are adjusted to fit to a common duty cycle. Thus, the timing
delays are appropriately scaled via normalization to account for the different duty
cycles.
[0029] At 312 the method includes determining a constant in a calibration algorithm for
each pixel sensor. The constant in the calibration algorithm may be a linear constant
determined based on Equation 1, shown below and discussed in greater detail herein.
However, in other examples alternate suitable equations may be used as the calibration
algorithm. Determining the constant in this way enables the camera to be configured
for subsequent dynamic calibration.
[0030] At 314 the method includes determining the factory-preloaded timing delay calibrations
based on the factory-preloaded modulation frequency and duty cycle calibration combinations
and sending the factory-preloaded timing delay calibrations to the TOF depth camera.
At 316 the method includes receiving the factory-preloaded timing delay calibrations.
It will be appreciated that steps 302-316 are implemented during factory calibration
prior to shipping the camera to the consumer.
[0031] Next at 318, the method includes applying factory-preloaded timing delay calibrations
to pixel data corresponding to each of the plurality of the pixel sensors to generate
a depth map of a 3-dimensional environment.
[0032] At 320 the method includes generating an updated set of modulation frequency and
duty cycle combinations. At 322 the method includes sending the updated set of modulation
frequency and duty cycle combinations to the TOF depth camera. It will be appreciated
that the updated set of modulation frequency and duty cycle combinations may be sent
over a network, such as the Internet. Next at 324, the method includes receiving the
updated set of modulation frequency and duty cycle combinations at the TOF camera.
[0033] At 326 the method includes sending modulation signals to a light source and a plurality
of pixel sensors, the modulation signals being generated based on an updated set of
modulation frequency and duty cycle calibration combinations received by the TOF depth
camera. In one example, the light source includes a laser generating light in the
infrared spectrum. At 328 the method includes temporarily modulating light emitted
from the light source into the 3-dimensional environment. In one example, the light
source may be switched on and off or partially switched on and off. Steps 302, 304,
310, 312, and 314 are implemented via the calibration computing device and steps 306,
308, 316, 318, 324, 326, and 328 are implemented via the TOF depth camera. It will
be appreciated that steps implemented via the TOF camera may be implemented via the
image processing module in the TOF depth camera. Additionally, steps 320 and 322 are
implemented via the update computing device.
[0034] Turning to FIG. 4, at 330 the method includes opening and closing at least one shutter
in each of the pixel sensors based a modulation signal sent from the timing clock,
the modulation signal corresponding to the updated set of modulation frequency and
duty cycle calibration combinations.
[0035] At 332 the method includes interpolating an updated timing delay calibration for
each of a plurality of pixel sensors based on an updated set of modulation frequency
and duty cycle calibration combinations received by the image processing module. It
will be appreciated that the updated set of timing delay calibrations replace a set
of factory-preloaded timing delay calibrations in the camera. It will be appreciated
that equation 1 described in greater detail herein may be used to interpolate the
updated timing delay calibration for each of the plurality of pixel sensors. Therefore,
interpolating the updated timing delay calibration may include entering frequency
and duty cycle values into an algorithm. Further in one example, interpolating the
updated timing delay calibration includes computing the average of a plurality of
timing delays. Next at 334, the method includes applying the updated timing delay
calibrations to pixel data corresponding to each of the plurality of the pixel sensors
to generate a depth map of the 3-dimensional environment. In one example, the updated
timing delay calibrations are applied to a phase offset of a modulated waveform of
light generated by the light source and a waveform of light received by each of the
pixel sensors. Further in one example, the depth map includes a matrix of depth pixels.
As shown, steps 330, 332, and 334 are implemented via the TOF depth camera.
[0036] FIG. 5 shows a timing diagram related to timing delay in the TOF system. A timing
clock 500 is shown in FIG. 5. The timing clock 500 is configured to send a modulation
signal to a light source 502 and pixel 504, denoted via arrows 506. It will be appreciated
that the aforementioned components are examples of the components of the TOF system
100 shown in FIG. 1.
[0037] The light source 502 includes 3 lasers in the depicted example. However, light sources
having alternate number of laser or other light generating devices have been contemplated.
For example, the light source may include a single laser or four or more lasers. Additionally,
each of the pixels 504 has two shutters, in the depicted example. However, pixels
with alternate numbers of shutters may be used in other examples. Further in one example,
the pixels 504 may be integrated into the timing clock 500. The waveforms of the light
generated via the light source, and specifically the 3 lasers, are shown at 510. Likewise,
the signal generated via pixels based on the returning light is shown at 512. The
waveform phase error is also shown at 514. The TOF between the light emitted via the
light source and the returning light is illustrated. Additionally, the timing delay
in the TOF system is also shown in FIG. 5. It will be appreciated that timing errors
in the system occur because of a number of factors such as the configuration of the
electronic components in the system, the latency in the electronic components, etc.
The waveform phase error is shown at 514 and the pixel skew in the pixel shutters
is also illustrated in FIG. 5. It will be appreciated that the method described above
may be used to determine the timing delays for the pixels and account for these timing
delays in camera operation.
[0038] FIG. 6 shows an exemplary graphical representation 600 of the timing delay between
a modulation signal 602 received via a pixel sensor included in the plurality of pixel
sensors 122, shown in FIG. 1. It will be appreciated that the pixel sensor receives
the modulation signal having a frequency and duty cycle from the timing clock. FIG.
6 also shows a waveform 604 sent from the light source 116, shown in FIG. 1. It will
be appreciated that the waveform sent from the light source may be generated based
on the modulation signal sent to the light source. The y-axis represents signal strength,
while the x-axis represents time. A timing delay for each pixel sensor is a period
of delay applied to the pixel sensor when determining TOF for the light emitted from
the light source and received by the pixel sensor. The timing delay for each of the
pixel sensors, expressed as

may be calculated according to the following equation;

[0039] It will be appreciated that timing delay for each of the pixel sensors is a period
of time which it takes the modulation signal to travel from the timing clock, through
the electronic components to actuate the pixel sensors (e.g., shutters in the pixel
sensors).

is a fractional period, [Δ
tL] is a constant (e.g., system level timing delay),
f is the frequency of the modulation signal,
dH is the duty cycle of the modulation signal sent to the pixel sensor, and
dL is the duty cycle of the modulation signal sent to the light source. The fractional
period is essentially a timing delay calibration. It will be appreciated that the
equation can be used to interpolate the timing delay calibration based on updated
modulation frequency and duty cycle combinations.
[0040] The time-of-flight is measured as the phase difference between the returning waveform
superposition and the shutter modulation of each individual pixel. To improve the
quality of the calibration and period prediction additional techniques may be used
to reduce systematic errors before computing linear fit. Specifically, the deviations
of the measured data samples from the linear fit may be caused by systematic errors
in the measurement process. In particular, harmonic multiples of the modulation frequency
may be present in the light source signal. The harmonic multiples may cause a small
phase error which depends on the modulation frequency and the distance of the target.
One technique for reducing the systematic errors includes introducing an electronic
delay between the modulation signal and the light source signal, or between the modulation
signal and the pixel array. This will result in the estimated timing delay to be increased
by the known electronic delay. Subtraction of the known electronic delay from the
estimated timing delay will give an additional estimate of the timing delay. In a
perfect TOF camera system without systematic errors these different estimations of
the timing delay with different known electronic delays would be equal. However, for
a TOF system with systematic errors these estimations may lead to different values
of the estimated timing delay. For such a system, performing the estimation of the
timing delay multiple times while applying multiple of such additional electronic
delays will lead to many similar but not equal estimates of the timing delay. These
multiple estimates of the timing delays may be combined into a single "final" estimate
of the timing delay, for instance by computing the arithmetic mean over all estimated
timing delays. This final estimate of the timing delays may generally be more accurate
than the original single estimate.
[0041] FIG. 7 a graphical representation 700 of exemplary data acquired for a single TOF
depth camera during factory calibration of the TOF depth camera. As shown, the fractional
period is on the y-axis and the modulation frequency is on the x-axis. The fractional
period is essentially the timing delay for each pixel. It will be appreciated that
the data points may be normalized to a single duty cycle value (e.g., 50%) to account
for differing duty cycles between the different data points, as previously discussed.
The O values ("Measurement") represent the data points measured during factory calibration
of the TOF depth camera. The x values ("Normalized") represent the normalized data
points. It will be appreciated that the slope of the linear fit 702 may be analogous
to the linear constant[Δ
tL], discussed above with regard to FIG. 6.
[0042] FIG. 8 shows a non-limiting embodiment of a computing device 800 that can enact one
or more of the methods and processes described above. Therefore, it will be appreciated
that the camera (e.g., TOF depth camera 102 of FIG. 1) and computing device (e.g.,
calibration computing device 104 and/or update computing device 106 of FIG. 1) described
above may include one or more of the components in computing device 800.
[0043] Computing device 800 includes a logic machine 802 and a storage machine 804. Computing
device 800 may optionally include a display system 806, input system 808, communication
system 810, and/or other components not shown in FIG. 8.
[0044] Logic machine 802 includes one or more physical devices configured to execute instructions.
For example, the logic machine may be configured to execute instructions that are
part of one or more applications, services, programs, routines, libraries, objects,
components, data structures, or other logical constructs. Such instructions may be
implemented to perform a task, implement a data type, transform the state of one or
more components, achieve a technical effect, or otherwise arrive at a desired result.
[0045] The logic machine may include one or more processors configured to execute software
instructions. Additionally or alternatively, the logic machine may include one or
more hardware or firmware logic machines configured to execute hardware or firmware
instructions. Processors of the logic machine may be single-core or multi-core, and
the instructions executed thereon may be configured for sequential, parallel, and/or
distributed processing. Individual components of the logic machine optionally may
be distributed among two or more separate devices, which may be remotely located and/or
configured for coordinated processing. Aspects of the logic machine may be virtualized
and executed by remotely accessible, networked computing devices configured in a cloud-computing
configuration.
[0046] Storage machine 804 includes one or more physical devices configured to hold instructions
executable by the logic machine to implement the methods and processes described herein.
When such methods and processes are implemented, the state of storage machine 804
may be transformed-e.g., to hold different data.
[0047] Storage machine 804 may include removable and/or built-in devices. Storage machine
804 may include optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor
memory (e.g., RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive,
floppy-disk drive, tape drive, MRAM, etc.), among others. Storage machine 804 may
include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access,
sequential-access, location-addressable, file-addressable, and/or content-addressable
devices.
[0048] It will be appreciated that storage machine 804 includes one or more physical devices.
However, aspects of the instructions described herein alternatively may be propagated
by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.)
that is not held by a physical device for a finite duration.
[0049] Aspects of logic machine 802 and storage machine 804 may be integrated together into
one or more hardware-logic components. Such hardware-logic components may include
field-programmable gate arrays (FPGAs), program- and application-specific integrated
circuits (PASIC / ASICs), program- and application-specific standard products (PSSP
/ ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs),
for example.
[0050] The terms "module," "program," and "engine" may be used to describe an aspect of
computing device 800 implemented to perform a particular function. In some cases,
a module, program, or engine may be instantiated via logic machine 802 executing instructions
held by storage machine 804. It will be understood that different modules, programs,
and/or engines may be instantiated from the same application, service, code block,
object, library, routine, API, function, etc. Likewise, the same module, program,
and/or engine may be instantiated by different applications, services, code blocks,
objects, routines, APIs, functions, etc. The terms "module," "program," and "engine"
may encompass individual or groups of executable files, data files, libraries, drivers,
scripts, database records, etc.
[0051] It will be appreciated that a "service", as used herein, is an application program
executable across multiple user sessions. A service may be available to one or more
system components, programs, and/or other services. In some implementations, a service
may run on one or more server-computing devices.
[0052] When included, display system 806 may be used to present a visual representation
of data held by storage machine 804. This visual representation may take the form
of a graphical user interface (GUI). As the herein described methods and processes
change the data held by the storage machine, and thus transform the state of the storage
machine, the state of display system 806 may likewise be transformed to visually represent
changes in the underlying data. Display system 806 may include one or more display
devices utilizing virtually any type of technology. Such display devices may be combined
with logic machine 802 and/or storage machine 804 in a shared enclosure, or such display
devices may be peripheral display devices.
[0053] When included, input system 808 may comprise or interface with one or more user-input
devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments,
the input system may comprise or interface with selected natural user input (NUI)
componentry. Such componentry may be integrated or peripheral, and the transduction
and/or processing of input actions may be handled on- or off-board. Example NUI componentry
may include a microphone for speech and/or voice recognition; an infrared, color,
stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a
head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or
intent recognition; as well as electric-field sensing componentry for assessing brain
activity.
[0054] When included, communication system 810 may be configured to communicatively couple
computing system 800 with one or more other computing devices. Communication system
810 may include wired and/or wireless communication devices compatible with one or
more different communication protocols. As non-limiting examples, the communication
system may be configured for communication via a wireless telephone network, or a
wired or wireless local- or wide-area network. In some embodiments, the communication
system may allow computing device 800 to send and/or receive messages to and/or from
other devices via a network such as the Internet. The subject matter of the present
disclosure is further described in the following paragraphs. According to one aspect,
a method for operating a time of flight (TOF) system is provided. The method includes
using an image processing module, interpolating an updated timing delay calibration
for each of a plurality of pixel sensors based at least on an updated set of modulation
frequency and duty cycle calibration combinations received by the image processing
module, the plurality of pixel sensors coupled to a timing clock and receiving light
generated by a light source and reflected in a 3-dimensional environment, the updated
set of modulation frequency and duty cycle calibration combinations replacing the
corresponding factory-preloaded timing delay calibrations; and applying the updated
timing delay calibrations to pixel data corresponding to each of the plurality of
the pixel sensors to generate a depth map of the 3-dimensional environment.
[0055] In this aspect, the method may further include, prior to interpolating the updated
timing delay calibrations, at the image processing module, receiving the updated set
of modulation frequency and duty cycle calibration combinations at the image processing
module from an update computing device.
[0056] In this aspect, the updated set of modulation frequency and duty cycle calibration
combinations may be sent over a network.
[0057] In this aspect, the method may further include, prior to interpolating the updated
timing delay calibrations, at the image processing module, applying factory-preloaded
timing delay calibrations to pixel data corresponding to each of the plurality of
the pixel sensors to generate a second depth map of a second 3-dimensional environment,
the factory-preloaded timing delay calibration corresponding to a set of factory-preloaded
modulation frequency and duty cycle calibration combinations different from the updated
set of modulation frequency and duty cycle calibration combinations.
[0058] In this aspect, the method may further include, at a calibration computing device,
prior to applying the factory-preloaded timing delay calibrations, determining a constant
in a calibration algorithm for each pixel sensor and determining the factory-preloaded
timing delay calibrations based on the factory-preloaded modulation frequency and
duty cycle calibration combinations.
[0059] In this aspect, the factory-preloaded modulation frequency and duty cycle calibration
combinations may be normalized to determine the constant.
[0060] In this aspect, interpolating the updated timing delay calibration may include computing
the average of a plurality of timing delays.
[0061] In this aspect, the light source may include a laser, the laser generating light
in the infrared spectrum.
[0062] In this aspect, the updated timing delay calibrations may be applied to a phase offset
of a modulated waveform of light generated by the light source and a waveform of light
received by each of the pixel sensors.
[0063] In this aspect, the depth map includes a matrix of depth pixels.
[0064] In this aspect, the light generated by the light source is generated based on a modulation
signal sent from the timing clock, the modulation signal corresponding to the updated
set of modulation frequency and duty cycle calibration combinations.
[0065] In this aspect, the method may further include opening and closing at least one shutter
in each of the pixel sensors based a modulation signal sent from the timing clock,
the modulation signal corresponding to the updated set of modulation frequency and
duty cycle calibration combinations.
[0066] In this aspect, the modulation signal sent to the at least one shutter and the modulation
signal sent to the light source may be the same signal.
[0067] In this aspect, prior to interpolating the updated timing delay calibrations, at
the light source, pulsing light emitted from the light source into the 3-dimensional
environment.
[0068] According to another aspect, a time of flight (TOF) depth camera is provided. The
TOF depth camera includes a timing clock configured to generate and send modulation
signals to a plurality of pixel sensors and a light source, the modulation signals
generated based at least on an updated set of modulation frequency and duty cycle
calibration combinations received by an image processing module; and the image processing
module configured to (i) interpolate an updated timing delay calibration for each
of a plurality of pixel sensors based on the updated set of modulation frequency and
duty cycle calibration combinations received by the image processing module, (ii)
apply the timing delay calibrations to pixel data corresponding to each of the plurality
of the pixel sensors to generate a depth map of the 3-dimensional environment, and
(iii) replace a set of factory-preloaded timing delay calibrations with the updated
set of timing delay calibrations, the plurality of pixel sensors coupled to the timing
clock and configured to receive light generated by the light source and reflected
in a 3-dimensional environment.
[0069] In this aspect, the modulation signals may be similar modulation voltages sent to
the plurality of pixel sensors and the light source.
[0070] In this aspect, each of the plurality of pixel sensors may include a shutter.
[0071] In this aspect, the TOF system may further include at an update computing device
configured to, prior to applying the factory-preloaded timing delay calibrations,
determine a constant in a calibration algorithm for each pixel sensor, determine the
factory-preloaded timing delay calibrations based on the factory-preloaded modulation
frequency and duty cycle calibration combinations, and transfer the calibration algorithm
to the image processing module.
[0072] According to another aspect, a method for operating a time of flight (TOF) system
is provided. The method includes using a timing clock, sending modulation signals
to a light source and a plurality of pixel sensors, the modulation signals generated
based on an updated set of modulation frequency and duty cycle calibration combinations
received by the TOF depth camera; using an image processing module, interpolating
an updated timing delay calibration for each of the plurality of pixel sensors based
at least on the updated set of modulation frequency and duty cycle calibration combinations,
the updated set of modulation frequency and duty cycle calibration combinations replacing
the corresponding factory-preloaded timing delay calibrations; and applying the updated
timing delay calibrations to pixel data corresponding to each of the plurality of
the pixel sensors to generate a depth map of a 3-dimensional environment.
[0073] In this aspect, interpolating the updated timing delay calibrations may include entering
the updated set of modulation frequency and duty cycle calibration combinations into
a calibration algorithm, the calibration algorithm including a constant determined
during factory calibration.
1. A method (300) for operating a time of flight (TOF) system (102) comprising a light
source (116), a plurality of pixel sensors (122), a timing clock (112) and an image
processing module (110), the plurality of pixel sensors (122) coupled to the timing
clock (112) and configured to receive light generated by the light source (116) and
reflected in a 3-dimensional environment (126), the timing clock (112) configured
to generate and send a modulation signal (114) to the plurality of pixel sensors and
a modulation signal (114) to the light source (116), the modulation signals (114)
to be generated are based at least on an updated set of modulation frequency and duty
cycle calibration combinations received by the image processing module (110) and are
to determine the timing of light received by the plurality of pixel sensors (122),
the method comprising:
using the image processing module (110) to (i) interpolate (332) an updated timing
delay calibration for each of the plurality of pixel sensors (122) based at least
on an updated set of modulation frequency and duty cycle calibration combinations
received by the image processing module (110), wherein a timing delay calibration
for one of the plurality of pixel sensors (122) corresponds to a calibration of a
timing delay for the one of the plurality of pixel sensors (122) for accounting for
a time difference between the modulation signal (114) received by the one of the plurality
of pixel sensors (122) and an actual moment of light illumination triggered by the
modulation signal (114) received by the light source (116), (ii) replace a set of
factory-preloaded timing delay calibrations with the updated timing delay calibrations;
and (iii) apply (334) the updated timing delay calibrations to pixel data corresponding
to each of the plurality of the pixel sensors (122) to generate a depth map of the
3-dimensional environment (126).
2. The method (300) of claim 1, further comprising, prior to interpolating (332) the
updated timing delay calibrations, at the image processing module (110), receiving
(324) the updated set of modulation frequency and duty cycle calibration combinations
at the image processing module (110) from an update computing device (106).
3. The method (300) of claim 2, where the updated set of modulation frequency and duty
cycle calibration combinations are sent over a network (108).
4. The method (300) of claim 1, further comprising, prior to interpolating (332) the
updated timing delay calibrations, at the image processing module (110), applying
(318) the factory-preloaded timing delay calibrations to pixel data corresponding
to each of the plurality of the pixel sensors (122) to generate a second depth map
of a second 3-dimensional environment, the factory-preloaded timing delay calibrations
corresponding to a set of factory-preloaded modulation frequency and duty cycle calibration
combinations different from the updated set of modulation frequency and duty cycle
calibration combinations.
5. The method (300) of claim 4, further comprising, at a calibration computing device
(104), prior to applying (318) the factory-preloaded timing delay calibrations, determining
(312) a constant in a calibration algorithm for each pixel sensor (122) and determining
(314) the factory-preloaded timing delay calibrations based on the factory-preloaded
modulation frequency and duty cycle calibration combinations.
6. The method (300) of claim 5, where the factory-preloaded modulation frequency and
duty cycle calibration combinations are normalized (310) to determine the constant.
7. The method (300) of claim 1, where interpolating (332) the updated timing delay calibration
includes computing the average of a plurality of timing delays.
8. The method (300) of claim 1, where the updated timing delay calibrations are applied
to a phase offset of a modulated waveform of light generated by the light source (116)
and a waveform of light received by each of the pixel sensors (122).
9. The method (300) of claim 1, where the depth map includes a matrix of depth pixels.
10. The method (300) of claim 1, further comprising opening and closing (330) at least
one shutter (124) in each of the pixel sensors based on the modulation signal (114)
for the plurality of pixels (122) sent from the timing clock, the modulation signal
(114) for the plurality of pixels (122) corresponding to the updated set of modulation
frequency and duty cycle calibration combinations and prior to interpolating (332)
the updated timing delay calibrations, at the light source (116), pulsing light emitted
from the light source (116) into the 3-dimensional environment (126).
11. The method (300) of claim 10, where the modulation signal (114) to be sent to the
at least one shutter (124) and the modulation signal (114) to be sent to the light
source (116) are the same signal.
12. A time of flight (TOF) depth camera (102) comprising:
a plurality of pixel sensors (122) coupled to a timing clock (112) and configured
to receive light generated by a light source (116) and reflected in a 3-dimensional
environment (126), the timing clock (112) configured to generate and send a modulation
signal (114) to the plurality of pixel sensors (122) and a modulation signal (114)
to the light source (116), the modulation signals (114) to be generated are based
at least on an updated set of modulation frequency and duty cycle calibration combinations
received by an image processing module (110) and are to determine the timing of light
received by the plurality of pixel sensors (122); and
the image processing module (110) configured to (i) interpolate (332) an updated timing
delay calibration for each of a plurality of pixel sensors (122) based on the updated
set of modulation frequency and duty cycle calibration combinations received by the
image processing module (110), wherein a timing delay calibration for one of the plurality
of pixel sensors (122) corresponds to a calibration of a timing delay for the one
of the plurality of pixel sensors (122) for accounting for a time difference between
the modulation signal (114) received by the one of the plurality of pixel sensors
(122) and an actual moment of light illumination triggered by the modulation signal
(114) received by the light source (116), (ii) replace a set of factory-preloaded
timing delay calibrations with the updated set of timing delay calibrations, and (iii)
apply (334) the updated timing delay calibrations to pixel data corresponding to each
of the plurality of the pixel sensors (122) to generate a depth map of the 3-dimensional
environment (126).
13. The TOF depth camera (102) of claim 12, where the modulation signals (114) are similar
modulation voltages to be sent to the plurality of pixel sensors (122) and the light
source (116) and where each of the plurality of pixel sensors (122) includes a shutter
(124).
14. The TOF depth camera (102) of claim 12, further comprising, at an update computing
device (106) configured to, prior to applying (334) the factory-preloaded timing delay
calibrations, determine (312) a constant in a calibration algorithm for each pixel
sensor (122), determine (314) the factory-preloaded timing delay calibrations based
on the factory-preloaded modulation frequency and duty cycle calibration combinations,
and transfer the calibration algorithm to the image processing module (110).
1. Verfahren (300) zum Betreiben eines Laufzeitsystems (TOF-Systems) (102), umfassend
eine Lichtquelle (116), eine Vielzahl von Pixelsensoren (122), einen Taktgeber (112)
und ein Bildverarbeitungsmodul (110), wobei die Vielzahl von Pixelsensoren (122) an
den Taktgeber (112) gekoppelt und dazu ausgelegt sind, Licht zu empfangen, das durch
die Lichtquelle (116) erzeugt und in einer 3-dimensionalen Umgebung (126) reflektiert
wird, wobei der Taktgeber (112) dazu ausgelegt ist, ein Modulationssignal (114) zu
erzeugen und an die Vielzahl von Pixelsensoren zu senden und ein Modulationssignal
(114) zu erzeugen und an die Lichtquelle (116) zu senden, wobei die zu erzeugenden
Modulationssignale (114) mindestens auf einem aktualisierten Satz von Modulationsfrequenz-
und Tastverhältniskalibrierungskombinationen basieren, die durch das Bildverarbeitungsmodul
(110) empfangen werden, und die Zeitsteuerung von Licht, das durch die Vielzahl von
Pixelsensoren (122) empfangen wird, bestimmen sollen, das Verfahren umfassend:
Verwenden des Bildverarbeitungsmoduls (110) zum (i) Interpolieren (332) einer aktualisierten
Zeitsteuerungsverzögerungskalibrierung für jeden der Vielzahl von Pixelsensoren (122)
mindestens basierend auf einem aktualisierten Satz von Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen,
die durch das Bildverarbeitungsmodul (110) empfangen werden, wobei eine Zeitsteuerungsverzögerungskalibrierung
für einen der Vielzahl von Pixelsensoren (122) einer Kalibrierung einer Zeitsteuerungsverzögerung
für den einen der Vielzahl von Pixelsensoren (122) entspricht, um einen Zeitunterschied
zwischen dem Modulationssignal (114), das durch den einen der Vielzahl von Pixelsensoren
(122) empfangen wird, und einem tatsächlichen Moment einer Lichtbeleuchtung, die durch
das Modulationssignal (114) ausgelöst wird, das durch die Lichtquelle (116) empfangen
wird, zu berücksichtigen, (ii) Ersetzen eines Satzes von werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen
mit den aktualisierten Zeitsteuerungsverzögerungskalibrierungen und (iii) Anwenden
(334) der aktualisierten Zeitsteuerungsverzögerungskalibrierungen auf Pixeldaten,
die jedem der Vielzahl der Pixelsensoren (122) entsprechen, um eine Tiefenkarte der
3-dimensionalen Umgebung (126) zu erzeugen.
2. Verfahren (300) nach Anspruch 1, weiter umfassend, vor dem Interpolieren (332) der
aktualisierten Zeitsteuerungsverzögerungskalibrierungen, an dem Bildverarbeitungsmodul
(110), ein Empfangen (324) des aktualisierten Satzes von Modulationsfrequenz- und
Tastverhältniskalibrierungskombinationen an dem Bildverarbeitungsmodul (110) von einer
Aktualisierungsrechenvorrichtung (106).
3. Verfahren (300) nach Anspruch 2, wobei der aktualisierte Satz von Modulationsfrequenz-
und Tastverhältniskalibrierungskombinationen über ein Netzwerk (108) gesendet wird.
4. Verfahren (300) nach Anspruch 1, weiter umfassend, vor dem Interpolieren (332) der
aktualisierten Zeitsteuerungsverzögerungskalibrierungen, an dem Bildverarbeitungsmodul
(110), ein Anwenden (318) der werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen
auf Pixeldaten, die jedem der Vielzahl der Pixelsensoren (122) entsprechen, um eine
zweite Tiefenkarte einer zweiten 3-dimensionalen Umgebung zu erzeugen, wobei die werkseitig
vorgeladenen Zeitsteuerungsverzögerungskalibrierungen einem Satz von werkseitig vorgeladenen
Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen entsprechen, die
von dem aktualisierten Satz von Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen
verschieden sind.
5. Verfahren (300) nach Anspruch 4, weiter umfassend, an einer Kalibrierungsrechenvorrichtung
(104), vor dem Anwenden (318) der werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen,
ein Bestimmen (312) einer Konstante in einem Kalibrierungsalgorithmus für jeden Pixelsensor
(122) und ein Bestimmen (314) der werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen
basierend auf den werkseitig vorgeladenen Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen.
6. Verfahren (300) nach Anspruch 5, wobei die werkseitig vorgeladenen Modulationsfrequenz-
und Tastverhältniskalibrierungskombinationen normalisiert (310) werden, um die Konstante
zu bestimmen.
7. Verfahren (300) nach Anspruch 1, wobei das Interpolieren (332) der aktualisierten
Zeitsteuerungsverzögerungskalibrierung ein Berechnen des Durchschnitts einer Vielzahl
von Zeitsteuerungsverzögerungen einschließt.
8. Verfahren (300) nach Anspruch 1, wobei die aktualisierten Zeitsteuerungsverzögerungskalibrierungen
auf einen Phasenversatz einer modulierten Wellenform von Licht, das durch die Lichtquelle
(116) erzeugt wird, und einer Wellenform von Licht, das durch jeden der Pixelsensoren
(122) empfangen wird, angewendet werden.
9. Verfahren (300) nach Anspruch 1, wobei die Tiefenkarte eine Matrix von Tiefenpixeln
einschließt.
10. Verfahren (300) nach Anspruch 1, weiter umfassend ein Öffnen und Schließen (330) von
mindestens einem Verschluss (124) in jedem der Pixelsensoren basierend auf dem Modulationssignal
(114) für die Vielzahl von Pixeln (122), das von dem Taktgeber gesendet wird, wobei
das Modulationssignal (114) für die Vielzahl von Pixeln (122) dem aktualisierten Satz
von Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen und, vor dem
Interpolieren (332) der aktualisierten Zeitsteuerungsverzögerungskalibrierungen, an
der Lichtquelle (116), pulsierendem Licht, das von der Lichtquelle (116) in die 3-dimensionale
Umgebung (126) emittiert wird, entspricht.
11. Verfahren (300) nach Anspruch 10, wobei das Modulationssignal (114), das an den mindestens
einen Verschluss (124) gesendet werden soll, und das Modulationssignal (114), das
an die Lichtquelle (116) gesendet werden soll, das gleiche Signal sind.
12. Laufzeittiefenkamera (TOF-Tiefenkamera) (102), umfassend:
eine Vielzahl von Pixelsensoren (122), die an einen Taktgeber (112) gekoppelt und
dazu ausgelegt sind, Licht zu empfangen, das durch eine Lichtquelle (116) erzeugt
und in einer 3-dimensionalen Umgebung (126) reflektiert wird, wobei der Taktgeber
(112) dazu ausgelegt ist, ein Modulationssignal (114) zu erzeugen und an die Vielzahl
von Pixelsensoren (122) zu senden und ein Modulationssignal (114) zu erzeugen und
an die Lichtquelle (116) zu senden, wobei die zu erzeugenden Modulationssignale (114)
mindestens auf einem aktualisierten Satz von Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen
basieren, die durch ein Bildverarbeitungsmodul (110) empfangen werden, und die Zeitsteuerung
von Licht, das durch die Vielzahl von Pixelsensoren (122) empfangen wird, bestimmen
sollen; und
das Bildverarbeitungsmodul (110), das ausgelegt ist zum (i) Interpolieren (332) einer
aktualisierten Zeitsteuerungsverzögerungskalibrierung für jeden einer Vielzahl von
Pixelsensoren (122) basierend auf dem aktualisierten Satz von Modulationsfrequenz-
und Tastverhältniskalibrierungskombinationen, die durch das Bildverarbeitungsmodul
(110) empfangen werden, wobei eine Zeitsteuerungsverzögerungskalibrierung für einen
der Vielzahl von Pixelsensoren (122) einer Kalibrierung einer Zeitsteuerungsverzögerung
für den einen der Vielzahl von Pixelsensoren (122) entspricht, um einen Zeitunterschied
zwischen dem Modulationssignal (114), das durch den einen der Vielzahl von Pixelsensoren
(122) empfangen wird, und einem tatsächlichen Moment einer Lichtbeleuchtung, die durch
das Modulationssignal (114) ausgelöst wird, das durch die Lichtquelle (116) empfangen
wird, zu berücksichtigen, (ii) Ersetzen eines Satzes von werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen
mit dem aktualisierten Satz von Zeitsteuerungsverzögerungskalibrierungen und (iii)
Anwenden (334) der aktualisierten Zeitsteuerungsverzögerungskalibrierungen auf Pixeldaten,
die jedem der Vielzahl der Pixelsensoren (122) entsprechen, um eine Tiefenkarte der
3-dimensionalen Umgebung (126) zu erzeugen.
13. TOF-Tiefenkamera (102) nach Anspruch 12, wobei die Modulationssignale (114) ähnliche
Modulationsspannungen, die an die Vielzahl von Pixelsensoren (122) und die Lichtquelle
(116) gesendet werden sollen, sind und wobei jeder der Vielzahl von Pixelsensoren
(122) einen Verschluss (124) einschließt.
14. TOF-Tiefenkamera (102) nach Anspruch 12, weiter umfassend, an einer Aktualisierungsrechenvorrichtung
(106), die ausgelegt ist, vor dem Anwenden (334) der werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen,
zum Bestimmen (312) einer Konstante in einem Kalibrierungsalgorithmus für jeden Pixelsensor
(122), ein Bestimmen (314) der werkseitig vorgeladenen Zeitsteuerungsverzögerungskalibrierungen
basierend auf den werkseitig vorgeladenen Modulationsfrequenz- und Tastverhältniskalibrierungskombinationen
und ein Übertragen des Kalibrierungsalgorithmus an das Bildverarbeitungsmodul (110).
1. Procédé (300) pour faire fonctionner un système à temps de vol (TOF) (102) comprenant
une source de lumière (116), une pluralité de capteurs pixels (122), une horloge de
synchronisation (112) et un module de traitement d'image (110), la pluralité de capteurs
pixels (122) étant couplés à l'horloge de synchronisation (112) et configurés pour
recevoir une lumière générée par la source de lumière (116) et réfléchie dans un environnement
tridimensionnel (126),
l'horloge de synchronisation (112) étant configurée pour générer et envoyer un signal
de modulation (114) à la pluralité de capteurs pixels et un signal de modulation (114)
à la source de lumière (116), les signaux de modulation (114) à générer étant basés
au moins sur un ensemble actualisé de combinaisons d'étalonnage de fréquence de modulation
et de rapport cyclique reçu par le module de traitement d'image (110) et servant à
déterminer le moment de réception de lumière par la pluralité de capteurs pixels (122),
le procédé comprenant :
l'utilisation d'un module de traitement d'image (110) pour (i) interpoler (332) un
étalonnage de retard de synchronisation actualisé pour chacun de la pluralité de capteurs
pixels (122) sur la base au moins d'un ensemble actualisé de combinaisons d'étalonnage
de fréquence de modulation et de rapport cyclique reçu par le module de traitement
d'image (110), dans lequel l'étalonnage de retard de synchronisation pour un de la
pluralité de capteurs pixels (122) correspond à un étalonnage d'un retard de synchronisation
pour l'un de la pluralité de capteurs pixels (122) pour prendre en compte une différence
de temps entre le signal de modulation (114) reçu par l'un de la pluralité de capteurs
pixels (122) et un moment réel d'éclairage lumineux déclenché par le signal de modulation
(114) reçu par la source de lumière (116), (ii) remplacer un ensemble d'étalonnages
de retard de synchronisation préchargés en usine par les étalonnages de retard de
synchronisation actualisés ; et (iii) appliquer (334) les étalonnages de retard de
synchronisation actualisés à des données de pixels correspondant à chacun de la pluralité
de capteurs pixels (122) pour générer une carte de profondeur de l'environnement tridimensionnel
(126).
2. Procédé (300) selon la revendication 1, comprenant en outre, avant l'interpolation
(332) des étalonnages de retard de synchronisation actualisés, au niveau du module
de traitement d'image (110), la réception (324) de l'ensemble actualisé de combinaisons
d'étalonnage de fréquence de modulation et de rapport cyclique au niveau du module
de traitement d'image (110) à partir d'un dispositif de calcul d'actualisation (106).
3. Procédé (300) selon la revendication 2, dans lequel l'ensemble actualisé de combinaisons
d'étalonnage de fréquence de modulation et de rapport cyclique est envoyé sur un réseau
(108).
4. Procédé (300) selon la revendication 1, comprenant en outre, avant l'interpolation
(332) des étalonnages de retard de synchronisation actualisés, au niveau du module
de traitement d'image (110), l'application (318) des étalonnages de retard de synchronisation
préchargés en usine à des données de pixels correspondant à chacun de la pluralité
des capteurs pixels (122) pour générer une seconde carte de profondeur d'un second
environnement tridimensionnel, les étalonnages de retard de synchronisation préchargés
en usine correspondant à un ensemble de combinaisons d'étalonnage de fréquence de
modulation et de rapport cyclique préchargées en usine différent de l'ensemble actualisé
de combinaisons d'étalonnage de fréquence de modulation et de rapport cyclique.
5. Procédé (300) selon la revendication 4, comprenant en outre, au niveau d'un dispositif
de calcul d'étalonnage (104), avant l'application (318) des étalonnages de retard
de synchronisation préchargés en usine, la détermination (312) d'une constante dans
un algorithme d'étalonnage pour chaque capteur pixel (122) et la détermination (314)
des étalonnages de retard de synchronisation préchargés en usine sur la base des combinaisons
d'étalonnage de fréquence de modulation et de rapport cyclique préchargées en usine.
6. Procédé (300) selon la revendication 5, dans lequel les combinaisons d'étalonnage
de fréquence de modulation et de rapport cyclique préchargées en usine sont normalisées
(310) pour déterminer la constante.
7. Procédé (300) selon la revendication 1, dans lequel l'interpolation (332) de l'étalonnage
de retard de synchronisation actualisé comprend le calcul de la moyenne d'une pluralité
de retards de synchronisation.
8. Procédé (300) selon la revendication 1, dans lequel les étalonnages de retard de synchronisation
actualisés sont appliqués à un déphasage d'une forme d'onde modulée de lumière générée
par la source de lumière (116) et d'une forme d'onde de lumière reçue par chacun des
capteurs pixels (122).
9. Procédé (300) selon la revendication 1, dans lequel la carte de profondeur comprend
une matrice de pixels de profondeur.
10. Procédé (300) selon la revendication 1, comprenant en outre l'ouverture et la fermeture
(330) d'au moins un obturateur (124) dans chacun des capteurs pixels sur la base du
signal de modulation (114) pour la pluralité de pixels (122) envoyé par l'horloge
de synchronisation, le signal de modulation (114) pour la pluralité de pixels (122)
correspondant à l'ensemble actualisé de combinaisons d'étalonnage de fréquence de
modulation et de rapport cyclique et avant l'interpolation (332) des étalonnages de
retard de synchronisation actualisés, au niveau de la source de lumière (116), le
fait de pulser une lumière émise par la source de lumière (116) dans l'environnement
tridimensionnel (126).
11. Procédé (300) selon la revendication 10, dans lequel le signal de modulation (114)
à envoyer à au moins un obturateur (124) et le signal de modulation (114) à envoyer
à la source de lumière (116) sont le même signal.
12. Caméra de profondeur à temps de vol (TOF) (102) comprenant :
une pluralité de capteurs pixels (122) couplés à une horloge de synchronisation (112)
et configurés pour recevoir une lumière générée par une source de lumière (116) et
réfléchie dans un environnement tridimensionnel (126), l'horloge de synchronisation
(112) étant configurée pour générer et envoyer un signal de modulation (114) à la
pluralité de capteurs pixels (122) et un signal de modulation (114) à la source de
lumière (116), les signaux de modulation (114) à générer étant basés au moins sur
un ensemble actualisé de combinaisons d'étalonnage de fréquence de modulation et de
rapport cyclique reçu par un module de traitement d'image (110) et servant à déterminer
le moment de réception de lumière par la pluralité de capteurs pixels (122) ; et
le module de traitement d'image (110) étant configuré pour (i) interpoler (332) un
étalonnage de retard de synchronisation actualisé pour chacun d'une pluralité de capteurs
pixels (122) sur la base de l'ensemble actualisé de combinaisons d'étalonnage de fréquence
de modulation et de rapport cyclique reçu par le module de traitement d'image (110),
dans laquelle l'étalonnage de retard de synchronisation pour un de la pluralité de
capteurs pixels (122) correspond à un étalonnage d'un retard de synchronisation pour
l'un de la pluralité de capteurs pixels (122) pour prendre en compte une différence
de temps entre le signal de modulation (114) reçu par l'un de la pluralité de capteurs
pixels (122) et un moment réel d'éclairage lumineux déclenché par le signal de modulation
(114) reçu par la source de lumière (116), (ii) remplacer un ensemble d'étalonnages
de retard de synchronisation préchargés en usine par l'ensemble actualisé d'étalonnages
de retard de synchronisation ; et (iii) appliquer (334) les étalonnages de retard
de synchronisation actualisés à des données de pixels correspondant à chacun de la
pluralité de capteurs pixels (122) pour générer une carte de profondeur de l'environnement
tridimensionnel (126).
13. Caméra de profondeur à TOF (102) selon la revendication 12, dans laquelle les signaux
de modulation (114) sont des tensions de modulation similaires à envoyer à la pluralité
de capteurs pixels (122) et à la source de lumière (116) et dans laquelle chacun de
la pluralité de capteurs pixels (122) comprend un obturateur (124).
14. Caméra de profondeur à TOF (102) selon la revendication 12, comprenant en outre, au
niveau d'un dispositif de calcul d'actualisation (106) configuré pour, avant l'application
(334) des étalonnages de retard de synchronisation préchargés en usine, déterminer
(312) une constante dans un algorithme d'étalonnage pour chaque capteur pixel (122),
déterminer (314) les étalonnages de retard de synchronisation préchargés en usine
sur la base des combinaisons d'étalonnage de fréquence de modulation et de rapport
cyclique préchargées en usine, et transférer l'algorithme d'étalonnage au module de
traitement d'image (110).