The present disclosure relates to an information processing device and an information processing method, and particularly to an information processing device and an information processing method capable of suppressing a drop of coding efficiency.
Use of image sensors for sensing has been increasing in recent years. For example, there has been developed a technology which measures a distance from a target object by detecting a phase difference between a sine wave applied from a light source and a reflected wave (e.g., see NPL 1).
According to such a type of distance measuring method, more accurate distance measurement is achievable without reduction of a maximum measurement distance, with use of light of multiple modulation frequencies for distance measurement. In the case of distance measurement using multiple modulation frequencies as described above, a distance measurement result (depth value) wraps around a predetermined value range when obtained by using light having a high modulation frequency.
For coding such a depth value, there has been a method which derives a difference between a depth value of a processing target and a predicted value of the depth value and codes a difference value thus derived, such as a method of DPCM (Differential Pulse Code Modulation).
Meanwhile, there has been a method which utilizes wrapping around to suppress a drop of data coding efficiency (e.g., see PTL 1 and PTL 2).
However, if the foregoing method which derives a difference between a depth value and a predicted value of the depth value and codes a difference value thus derived is adopted as the method for coding a depth value which wraps around as described above, the difference value increases due to wrapping around of the depth value. As a result, coding efficiency may drop. Meanwhile, each of the methods recited in PTL 1 and PTL 2 utilizes wrapping around of a difference value and coded data to limit these within a predetermined value range. Accordingly, a drop of coding efficiency of wraparound data is difficult to suppress.
The present disclosure has been developed in consideration of such circumstances and achieves suppression of a drop of coding efficiency.
An information processing device according to one aspect of the present technology includes a first quantization unit that quantizes a depth value that wraps around a predetermined value range, by using a predetermined quantization step, a difference value derivation unit that derives a difference value between the depth value quantized by the first quantization unit and a predicted value of the depth value, a second quantization unit that quantizes a turnback value of the depth value by using the quantization step, a correction unit that appropriately corrects, by using the turnback value quantized by the second quantization unit, the difference value derived by the difference value derivation unit, and a coding unit that codes the difference value appropriately corrected by the correction unit.
An information processing method according to one aspect of the present technology includes quantizing a depth value that wraps around a predetermined value range, by using a predetermined quantization step, deriving a difference value between the quantized depth value and a predicted value of the depth value, quantizing a turnback value of the depth value by using the quantization step, appropriately correcting the derived difference value by using the quantized turnback value, and coding the appropriately corrected difference value.
An information processing device according to another aspect of the present technology includes a decoding unit that decodes coded data to derive a difference value between coefficient data associated with a depth value wrapping around a predetermined value range, and a predicted value of the coefficient data, a coefficient data derivation unit that adds the predicted value to the difference value derived by the decoding unit, to derive the coefficient data, a quantization unit that quantizes a turnback value of the depth value by using a predetermined quantization step, a correction unit that appropriately corrects, by using the turnback value quantized by the quantization unit, the coefficient data derived by the coefficient data derivation unit, and an inverse quantization unit that inversely quantizes, by using the quantization step, the coefficient data appropriately corrected by the correction unit, to derive the depth value.
An information processing method according to another aspect of the present technology includes decoding coded data to derive a difference value between coefficient data associated with a depth value wrapping around a predetermined value range, and a predicted value of the coefficient data, adding the predicted value to the derived difference value to derive the coefficient data, quantizing a turnback value of the depth value by using a predetermined quantization step, appropriately correcting the derived coefficient data by using the quantized turnback value, and inversely quantizing the appropriately corrected coefficient data by using the quantization step to derive the depth value.
According to the information processing device and the information processing method of the one aspect of the present technology, a depth value that wraps around a predetermined value range is quantized by using a predetermined quantization step. A difference value between the quantized depth value and a predicted value of the depth value is derived. A turnback value of the depth value is quantized by using the quantization step. The derived difference value is appropriately corrected by using the quantized turnback value. The appropriately corrected difference value is coded.
According to the information processing device and the information processing method of the other aspect of the present technology, coded data is decoded to derive a difference value between coefficient data associated with a depth value wrapping around a predetermined value range, and a predicted value of the coefficient data. The predicted value is added to the derived difference value to derive the coefficient data. A turnback value of the depth value is quantized by using a predetermined quantization step. The derived coefficient data is appropriately corrected by using the quantized turnback value. The appropriately corrected coefficient data is inversely quantized by using the quantization step to derive the depth value.
Modes for carrying out the present disclosure (hereinafter referred to as embodiments) will be hereinafter described. Note that description will be presented in the following order.
<iToF>
Use of image sensors for sensing has been increasing in recent years. For example, as recited in NPL 1, there has been developed a technology which measures a distance from a target object by detecting a phase difference between a sine wave applied from a light source and a reflected wave.
For example, as depicted in
The direct ToF method uses a TDC (Time-to-Digital Converter). Accordingly, high-pixelation is difficult to achieve. The indirect ToF method does not require a time calculation circuit, such as a TDC, within each pixel and therefore can suppress an increase in the number of elements within each pixel. Accordingly, high-pixelation is easily achievable.
In the case of the indirect ToF method, photocharge generated by a photodiode is modulated by a lock-in pixel with use of a time window (clock) synchronized with a light source. At this time, time information is reflected in a signal quantity, so that a flight time is derivable.
For example, a modulation method adopted for the indirect ToF method includes continuous wave modulation and pulse wave modulation.
A modulation frequency fm is known. Accordingly, the phase (φTOF) can be converted to a time (tTOF) by the following equation (2).
Note that, while the received light contains a direct current component other than a light source component, i.e., a background light component, this background light component is cancelled by calculation of the equation (1) above. Accordingly, a distance can be estimated without being affected by background light, within a range of no saturation of a sensor.
Meanwhile,
TD represents a discharge window through which unnecessary background light is discharged. Only the background light component can be recognized by providing three or more time windows TW. In this manner, a distance can be estimated without being affected by background light. According to the pulse wave modulation, imaging robust for background light can be achieved by raising a duty ratio of the light source.
<Depth Value Derivation Device>
The sensor 31 receives light and measures intensity of the received light in cooperation with shutters each having a quarter cycle of a modulation wave.
The sensor 31 further supplies data of these four sections (N1, N2, N3, N4) to the i-signal generation unit 32 and the q-signal generation unit 33. The i-signal generation unit 32 subtracts the data N1 from the data N3 to generate an i (In-Phase)-signal. The i-signal generation unit 32 supplies this i-signal to the phase difference detection unit 34. The q-signal generation unit 33 subtracts the data N4 from the data N2 to generate a q (Quadrature)-signal. The q-signal generation unit 33 supplies this q-signal to the phase difference detection unit 34.
The phase difference detection unit 34 derives a phase difference (p in a manner expressed by the following equation (4), by using the supplied i-signal and q-signal.
The phase difference detection unit 34 supplies the derived phase difference (p to the depth calculation unit 35.
The depth calculation unit 35 derives a depth value (depth) d from the phase difference p in a manner expressed by the following equation (5).
In the manner described above, the depth value d can be derived from a sensor output.
<iToF Using Multiple Modulation Frequencies>
According to iToF, more accurate distance measurement is achievable by raising a modulation frequency of irradiation light. In this case, however, a wavelength decreases. Accordingly, a distance measurable range is narrowed. For example, suppose that a distance of a range X extending between a spot at a distance X1 from a sensor and a spot at a distance X2 from the sensor is measurable. In this case, this range X can be more accurately measured by raising a modulation frequency. However, a length of this range X decreases (a difference between the distance X1 and the distance X2 decreases). By contrast, accuracy of distance measurement is lowered by reducing the modulation frequency. However, the length of the range X increases (the difference between the distance X1 and the distance X2 increases).
Accordingly, by using iToF combining multiple modulation frequencies, accuracy of distance measurement can be raised while suppressing a decrease of a distance measurable range (while suppressing a decrease in the length of the range X) (Dual Frequency iToF). For example, a more accurate depth value having a wider range of possible values can be obtained by merging a depth value that is derived by low modulation frequency iToF and is designated as a high-order bit and a depth value that is derived by high modulation frequency iToF and is designated as a low-order bit.
For example, as depicted in
Moreover, also adoptable is an example depicted in
In a case where one device is used in a time-division manner as described above, it is required to store data of a distance measurement result (depth value) of at least one modulation frequency in a memory or the like to merge distance measurement results of respective modulation frequencies. When the data of the distance measurement result is to be stored in the memory, an increase in a memory capacity required for the storage can be suppressed by coding (compressing) the data.
Note that this data coding may be achieved by any coding method. However, it is preferable to adopt such a method capable of raising coding efficiency and reducing delays. For example, adoptable is such a method which derives a difference value between samples and codes the difference value, such as a method of DPCM (Differential Pulse Code Modulation).
<Coding of Depth Value>
Accordingly, coding of a depth value will be examined herein. For example, A in
For example, suppose that a distance from a sensor 41 to an object 42 is measured by a combination of iToF using a low modulation frequency and iToF using a high modulation frequency as depicted in A in
As depicted in A in
A depth image 44 depicted in B in
A depth image 45 depicted in C in
While PTL 1 and PTL 2 each disclose a method which limits a difference value and coded data within a predetermined value range by wrapping around these, to suppress a drop of coding efficiency. However, a drop of coding efficiency of such wraparound data as the depth value described above is difficult to suppress by these methods.
<Correction of Difference Value>
Accordingly, a difference value is appropriately corrected before coding. For example, an information processing method quantizes a depth value wrapping around a predetermined value range by using a predetermined quantization step, derives a difference value between the quantized depth value and a predicted value of the depth value, quantizes a turnback value of the depth value by using the quantization step described above, appropriately corrects the derived difference value by using the quantized turnback value, and codes the difference value appropriately corrected.
For example, an information processing device includes a first quantization unit that quantizes a depth value wrapping around a predetermined value range by using a predetermined quantization step, a difference value derivation unit that derives a difference value between the depth value quantized by the first quantization unit and a predicted value of the depth value, a second quantization unit that quantizes a turnback value of the depth value by using the quantization step described above, a correction unit that appropriately corrects, by using the turnback value quantized by the second quantization unit, the difference value derived by the difference value derivation unit, and a coding unit that codes the difference value appropriately corrected by the correction unit.
An increase in the difference value produced by turnback of the depth value can be suppressed by appropriately correcting the difference value with use of the turnback value of the depth value as described above. Accordingly, suppression of a drop of coding efficiency is achievable.
Note that quantization of the depth value can decrease the difference value. However, when only the depth value is quantized, no correlation is established between the depth value and the turnback value. In this case, correction of the difference value is difficult to achieve. Accordingly, the turnback value is also quantized by using a quantization step similar to the quantization step for the depth value. In this manner, the correlation between the depth value and the turnback value can be maintained, achieving correction of the difference value. Accordingly, an increase in the difference value can be more suppressed, and therefore, further suppression of a drop of coding efficiency is achievable.
<Correction of Coefficient Data>
Note that coded data of a depth value (a difference value of a depth value) described above is decoded when used. At the time of decoding of the coded data, coefficient data (quantized depth value) obtained by decoding the coded data is appropriately corrected.
For example, an information processing method decodes coded data to derive a difference value between coefficient data associated with a depth value wrapping around a predetermined value range and a predicted value of the coefficient data, adds the predicted value to the derived difference value to derive the coefficient data, quantizes a turnback value of the depth value by using a predetermined quantization step, appropriately corrects the derived coefficient data by using the quantized turnback value, and inversely quantizes the corrected coefficient data by using the quantization step described above, to derive the depth value.
For example, an information processing device includes a decoding unit that decodes coded data to derive a difference value between coefficient data associated with a depth value wrapping around a predetermined value range and a predicted value of the coefficient data, a coefficient data derivation unit that adds the predicted value to the difference value derived by the decoding unit to derive the coefficient data, a quantization unit that quantizes a turnback value of the depth value by using a predetermined quantization step, a correction unit that appropriately corrects, by using the turnback value quantized by the quantization unit, the coefficient data derived by the coefficient data derivation unit, and an inverse quantization unit that inversely quantizes, by using the quantization step described above, the coefficient data appropriately corrected by the correction unit, to derive the depth value.
As described above, the coefficient data derived by decoding the coded data, for example, is appropriately corrected by using the turnback value of the depth value. In this manner, the depth value can be derived by appropriately decoding the coded data. In other words, an increase in the difference value produced by turnback of the depth value can be suppressed, and therefore, suppression of a drop of coding efficiency is achievable.
Note that, in a case where the depth value is quantized and coded, no correlation is established between the coefficient data obtained by decoding the coded data, for example, and the turnback value of the depth value. In this case, correction of the coefficient data by using the turnback value of the depth value is difficult to achieve. Accordingly, the turnback value of the depth value is quantized by a quantization step similar to the quantization step adopted to inverse quantization of the coefficient data. In this manner, a correlation between the coefficient data and the turnback value can be maintained, and therefore, correction of the coefficient data can be achieved. Accordingly, an increase in the difference value can be suppressed, and therefore, further suppression of a drop of coding efficiency is realizable.
<Coding Device>
As depicted in
The quantization unit 111 acquires a turnback value of a depth value which wraps around. For example, the turnback value is an upper limit of the depth value (measured value) which wraps around, as depicted in
The quantization unit 111 quantizes the acquired turnback value by using a quantization step. The quantization step is set for each of any data units. For example, the quantization step may be set for each of blocks (multiple pixels in a depth image). Moreover, the quantization unit 111 shares this quantization step with the quantization unit 112. That is, the quantization unit 111 quantizes the turnback value by using a quantization step identical to a quantization step of the quantization unit 112. In this manner, a correlation can be maintained between the turnback value and the depth value. For example, the quantization unit 111 divides the turnback value by the quantization step to quantize the turnback value. After derivation of the quantized turnback value (e.g., (turnback value)/(quantization step)), the quantization unit 111 supplies the quantized turnback value to the correction unit 121 (the arithmetic unit 114 and the arithmetic unit 115 of the correction unit 121).
The quantization unit 112 acquires a depth value as input data. The depth value is information indicating a distance from a sensor used for distance measurement to a subject including an object corresponding to a distance measurement target. A method employed for the distance measurement may be any method. For example, the depth value may be derived by distance measurement using an indirect ToF (Time-of-Flight) method. For example, the depth value may be derived in the following manner. IR laser light is applied from a light output unit. The applied light is reflected on the subject including the object corresponding to the distance measurement target, and is detected by the sensor as reflection light. The depth value is derived from a phase difference between the applied light and the reflection light. The sensor may include multiple pixels, and the depth value may be derived for each of the pixels of the sensor. Accordingly, it is possible that the quantization unit 112 acquires a depth image including depth values of the respective pixels.
The depth value wraps around a predetermined value range. For example, the depth value may be derived by distance measurement based on an indirect ToF method performed by using light having a high modulation frequency. For example, the depth value may be derived by applying light having a modulation frequency whose distance measurable range is narrower than a range of possible values of the distance to the subject, and detecting reflection light of the applied light.
The quantization unit 112 quantizes the depth value thus acquired, by using a quantization step. The quantization step is set for each of any data units. For example, the quantization step may be set for each of blocks (multiple pixels in a depth image). Moreover, the quantization unit 112 shares the quantization step with the quantization unit 111. Specifically, the quantization unit 112 quantizes the depth value by using a quantization step identical to the quantization step of the quantization unit 111. In this manner, a correlation can be maintained between the turnback value and the depth value. For example, the quantization unit 112 divides the depth value by the quantization step to quantize the depth value.
After derivation of the quantized depth value (e.g., (depth value)/(quantization step)), the quantization unit 112 supplies the quantized depth value to the DPCM processing unit 113.
The DPCM processing unit 113 performs DPCM processing on the depth value quantized by the quantization unit 112, to derive a difference value between the depth value and a predicted value of the depth value. Specifically, the DPCM processing unit 113 designates a depth value of a previous processing target pixel, which is a pixel processed one pixel before, as a predicted value of a current processing target pixel which is a processing target pixel at present, and derives a difference value between the depth value of the current processing target pixel and the depth value of the previous processing target pixel. On the basis of the difference value derived by the DPCM processing unit 113 in the manner described above, suppression of a drop of coding efficiency is achievable. The DPCM processing unit 113 supplies the difference value derived by the DPCM processing to the correction unit 121 (the arithmetic unit 114, the arithmetic unit 115, the selection control unit 116, and the selection unit 117 of the correction unit 121).
The correction unit 121 appropriately corrects, by using the turnback value quantized by the quantization unit 111, the difference value derived by the DPCM processing unit 113.
The arithmetic unit 114 acquires the difference value supplied from the DPCM processing unit 113. The arithmetic unit 114 further acquires the quantized turnback value supplied by the quantization unit 111. The arithmetic unit 114 adds the quantized turnback value to the difference value to correct the difference value. The arithmetic unit 114 supplies a correction result (an addition result as a sum of the difference value and the quantized turnback value) to the selection control unit 116 and the selection unit 117.
The arithmetic unit 115 acquires the difference value supplied from the DPCM processing unit 113. Moreover, the arithmetic unit 115 acquires the quantized turnback value supplied by the quantization unit 111. The arithmetic unit 115 subtracts the quantized turnback value from the difference value to correct the difference value. The arithmetic unit 115 supplies a correction result (a subtraction result as a difference between the difference value and the quantized turnback value) to the selection control unit 116 and the selection unit 117.
The selection control unit 116 acquires the difference value supplied from the DPCM processing unit 113. The selection control unit 116 further acquires the correction result of the difference value (i.e., the addition result as the sum of the difference value and the quantized turnback value) supplied from the arithmetic unit 114. The selection control unit 116 further acquires the correction result of the difference value (i.e., the subtraction result as the difference between the difference value and the quantized turnback value) supplied from the arithmetic unit 115. The selection control unit 116 controls operation of the selection unit 117 on the basis of these values.
The selection unit 117 acquires the difference value supplied from the DPCM processing unit 113. The selection unit 117 further acquires the correction result of the difference value (i.e., the addition result as the sum of the difference value and the quantized turnback value) supplied from the arithmetic unit 114. The selection unit 117 further acquires the correction result of the difference value (i.e., the subtraction result as the difference between the difference value and the quantized turnback value) supplied from the arithmetic unit 115. The selection unit 117 selects a minimum absolute value from among absolute values of the acquired difference value, addition result, and subtraction result under control by the selection control unit 116. The selection unit 117 supplies the selected value (any of the difference value, the addition result, and the subtraction result) to the coding unit 118.
The coding unit 118 acquires information supplied from the correction unit 121 (the selection unit 117 of the correction unit 121) and codes the acquired information. This information corresponds to the difference value appropriately corrected by the correction unit 121. Specifically, this information corresponds to any of the difference value, the addition result, and the subtraction result selected by the selection unit 117. A method employed for this coding may be any method. For example, variable-length coding (VLC (Variable Length Code)), or fixed-length coding (FLC (Fixed Length Coding)) may be adopted. The coding unit 118 outputs coded data derived by coding the appropriately corrected difference value (difference value, addition result, or subtraction result) to the outside of the coding device 100.
<Processing Example>
An example of processing performed by the coding device 100 configured as above will be described with reference to
Moreover, as illustrated in
Suppose that the DPCM processing unit 113 calculates a difference [1] between a depth value and a predicted value which is a depth value of a pixel located to the immediate left. Since the DPCM processing unit 113 uses the quantized input data described above as the depth value, “−149,” “1,” and “1” are obtained as [1] as illustrated in the left part of
As described above, the actual distances corresponding to these four pixels are “1490,” “1500,” “1510,” and “1520.” Accordingly, if no turnback is caused by these depth values, “149,” “150,” “151,” and “152” are obtained as the corrected input data (input data in the case of no turnback). If the DPCM processing unit 113 derives [1] on the basis of these depth values, “1,” “1,” and “1” are obtained as [1]. Specifically, in the case of the example in
For solving this problem, the arithmetic unit 114 adds the quantized turnback value “150” to [1] to derive a correction result (addition result) [2]. In the case of the example in the left part of
Thereafter, the selection unit 117 selects a minimum absolute value from among absolute values of [1], [2], and [3] for each of the pixels under control by the selection control unit 116. In the case of the example in the left part of
As described above, a difference value is appropriately corrected, and a minimum absolute value is selected from among absolute values of the corrected difference value. In this manner, an increase in the coded difference value can be suppressed. Accordingly, suppression of a drop of coding efficiency is achievable.
A right part of
Moreover, as illustrated in
In the case of this example, “−1,” “−1,” and “−149” are obtained as [1]. Accordingly, the difference value of the pixel causing turnback increases.
As described above, the actual distances corresponding to these four pixels are “1520,” “1510,” “1500,” and “1490.” Accordingly, if no turnback of these depth values is caused, “152,” “151,” “150,” and “149” are obtained as the corrected input data (input data in the case of no turnback). Accordingly, “−1,” “−1,” and “−1” are obtained as [1]. Specifically, in the case of the example in
For solving this problem, the arithmetic unit 114 adds the quantized turnback value “150” to [1] to derive a correction result (addition result) [2]. In the case of the example in the right part of
Thereafter, the selection unit 117 selects a minimum absolute value from among absolute values of [1], [2], and [3] for each of the pixels under control by the selection control unit 116. In the case of the example in the right part of
As described above, a difference value is appropriately corrected, and a minimum absolute value is selected from among absolute values of the corrected difference value. In this manner, an increase in the coded difference value can be suppressed. Accordingly, suppression of a drop of coding efficiency is achievable.
Moreover, the depth value and a turnback value of the depth value are both quantized. Hence, an increase in the difference value can be more suppressed, and therefore, further suppression of a drop of coding efficiency is achievable.
<Flow of Coding Process>
An example of a flow of a coding process executed by the coding device 100 will subsequently be described with reference to a flowchart in
At a start of the coding process, the quantization unit 111 of the coding device 100 divides a turnback value by a predetermined quantization step to quantize the turnback value in step S101.
In step S102, the quantization unit 112 divides input data (a depth value wrapping around a predetermined value range) by a quantization step identical to the quantization step used by the quantization unit 111 for quantization, to quantize the input data.
In step S103, the DPCM processing unit 113 executes DPCM processing for the quantized input data derived in step S102, to derive a difference value (difference data) between a depth value of a current processing target pixel and a depth value of a processing target pixel one pixel before.
In step S104, the arithmetic unit 114 adds the quantized turnback value derived in step S101 to the difference data derived in step S103.
In step S105, the arithmetic unit 115 subtracts the quantized turnback value derived in step S101, from the difference data derived in step S103.
In step S106, the selection unit 117 selects a minimum absolute value from among absolute values of the difference data derived in step S103, the addition result derived in step S104, and the subtraction result derived in step S105, under control by the selection control unit 116.
In step S107, the coding unit 118 codes appropriately corrected difference data (the difference value, the addition result, or the subtraction result selected in step S106) to derive coded data.
After completion of processing in step S107, the coding process ends. The coding device 100 executes such a coding process for each of pixels (respective depth values) in a depth image.
In this manner, an increase in the coded difference value can be suppressed as described above. Accordingly, suppression of a drop of coding efficiency is achievable.
Moreover, the depth value and the turnback value of the depth value are both quantized. Hence, an increase in the difference value can be more suppressed, and therefore, further suppression of a drop of coding efficiency is achievable.
<Decoding Device>
Note that
As depicted in
The quantization unit 211 acquires a turnback value of a depth value which wraps around. This turnback value is similar to the turnback value in the case of the coding device 100 (example in
The quantization unit 211 quantizes the acquired turnback value by using a quantization step. This quantization step is set for each of any data units. For example, the quantization step may be set for each of blocks (multiple pixels in a depth image). Moreover, the quantization unit 211 shares this quantization step with the inverse quantization unit 218. Specifically, the quantization unit 211 quantizes the turnback value by using a quantization step identical to a quantization step of the inverse quantization unit 218. In this manner, a correlation can be maintained between the turnback value and the depth value. For example, the quantization unit 211 divides the turnback value by the quantization step to quantize the turnback value. After derivation of the quantized turnback value (e.g., (turnback value)/(quantization step)), the quantization unit 211 supplies the quantized turnback value to the correction unit 221 (the arithmetic unit 214, the arithmetic unit 215, and the selection control unit 216 of the correction unit 221).
The decoding unit 212 acquires coded data. This coded data is generated by the coding device 100 using the present technology described in the first embodiment. The decoding unit 212 decodes the acquired coded data to generate difference data. The decoding unit 212 decodes the coded data by a decoding method corresponding to the coding method used by the coding unit 118. This difference data is a difference value between coefficient data associated with a depth value wrapping around a predetermined value range and a predicted value of the coefficient data. For example, variable-length coding (VLC (Variable Length Code)), or fixed-length coding (FLC (Fixed Length Coding)) may be adopted. The decoding unit 212 supplies the derived difference data to the inverse DPCM processing unit 213.
The inverse DPCM processing unit 213 acquires difference data of a current processing target pixel which is a processing target pixel at present and is supplied from the decoding unit 212. This difference data is a difference value between coefficient data of the current processing target pixel and coefficient data of a previous processing target pixel which is a processing target pixel one pixel before. The inverse DPCM processing unit 213 further acquires coefficient data of the previous processing target pixel from the selection unit 217. The inverse DPCM processing unit 213 designates the coefficient data of the previous processing target pixel as a predicted value of the current processing target pixel, and performs inverse DPCM processing which is an inverse process of DPCM processing. The inverse DPCM processing is processing for adding the predicted value of the current processing target pixel to the difference data of the current processing target pixel. Specifically, the inverse DPCM processing unit 213 adds the coefficient data of the previous processing target pixel to the difference data of the current processing target pixel to derive coefficient data of the current processing target. In this manner, coded data as a coded difference value can correctly be decoded on the basis of coefficient data derived by the inverse DPCM processing unit 213 from difference data. In other words, coding of the difference value is achievable. Accordingly, suppression of a drop of coding efficiency is achievable. The inverse DPCM processing unit 213 supplies the coefficient data of the current processing target pixel derived by the inverse DPCM processing to the correction unit 221 (the arithmetic unit 214, the arithmetic unit 215, the selection control unit 216, and the selection unit 217 of the correction unit 221).
The correction unit 221 appropriately corrects, by using the turnback value quantized by the quantization unit 211, the coefficient data derived by the inverse DPCM processing unit 1213.
The arithmetic unit 214 acquires the coefficient data supplied from the inverse DPCM processing unit 213. The arithmetic unit 214 further acquires the quantized turnback value supplied from the quantization unit 211. The arithmetic unit 214 adds the quantized turnback value to the coefficient data to correct the coefficient data. The arithmetic unit 214 supplies a correction result (an addition result as a sum of the coefficient data and the quantized turnback value) to the selection unit 217.
The arithmetic unit 215 acquires the coefficient data supplied from the inverse DPCM processing unit 213. The arithmetic unit 215 further acquires the quantized turnback value supplied from the quantization unit 211. The arithmetic unit 215 subtracts the quantized turnback value from the coefficient data to correct the coefficient data. The arithmetic unit 215 supplies a correction result (a subtraction result as a difference between the coefficient data and the quantized turnback value) to the selection unit 217.
The selection control unit 216 acquires the quantized turnback value supplied from the quantization unit 211. The selection control unit 216 further acquires the coefficient data supplied from the inverse DPCM processing unit 213. The selection control unit 216 controls operation of the selection unit 217 on the basis of these values.
The selection unit 217 acquires the coefficient data supplied from the inverse DPCM processing unit 213. The selection unit 217 further acquires the correction result of the coefficient data supplied from the arithmetic unit 214 (i.e., the addition result as the sum of the coefficient data and the quantized turnback value). The selection unit 217 further acquires the correction result of the coefficient data supplied from the arithmetic unit 215 (i.e., the subtraction result as the difference between the coefficient data and the quantized turnback value). The selection unit 217 selects a value falling within a value range of the depth value from among values of the acquired coefficient data, addition result, and subtraction result under control by the selection control unit 216. The selection unit 217 supplies the selected value (any of the coefficient data, the addition result, and the subtraction result) to the inverse quantization unit 218 as appropriately corrected coefficient data.
The inverse quantization unit 218 acquires the appropriately corrected coefficient data supplied from the selection unit 217. This coefficient data is a quantized depth value.
The inverse quantization unit 218 inversely quantizes the appropriately corrected coefficient data by using a quantization step. For example, the inverse quantization unit 218 inversely quantizes the one selected by the selection unit 217 from among the coefficient data, the addition result, and the subtraction result. This appropriately corrected coefficient data is a quantized depth value. In other words, the inverse quantization unit 218 inversely quantizes the appropriately corrected coefficient data to derive the depth value.
This quantization step is set for each of any data units. For example, the quantization step may be set for each of blocks (multiple pixels in a depth image). Moreover, the inverse quantization unit 218 shares the quantization step with the quantization unit 211. Specifically, the inverse quantization unit 218 inversely quantizes the coefficient data by using a quantization step identical to the quantization step of the quantization unit 211. In this manner, a correlation can be maintained between the turnback value and the depth value. For example, the inverse quantization unit 218 multiplies the appropriately corrected coefficient data by the quantization step to derive the depth value.
This depth value is information indicating a distance from a sensor used for distance measurement to a subject including an object corresponding to a distance measurement target. A method employed for the distance measurement may be any method. For example, the depth value may be derived by distance measurement using an indirect ToF (Time-of-Flight) method. For example, the depth value may be derived in the following manner. IR laser light is applied from a light output unit. The applied light is reflected on the subject including the object corresponding to the distance measurement target, and is detected by the sensor as reflection light. The depth value is derived from a phase difference between the applied light and the reflection light. The sensor may include multiple pixels, and the depth value may be derived for each of the pixels of the sensor. In other words, the inverse quantization unit 218 inversely quantizes the coefficient data to derive such a depth value.
This depth value wraps around a predetermined value range. For example, the depth value may be such a depth value derived by distance measurement based on an indirect ToF method performed by using light having a high modulation frequency. For example, the depth value to be obtained (restored) by the inverse quantization may be such a depth value derived by applying light having a modulation frequency whose distance measurable range is narrower than a range of possible values of the distance to the subject, and detecting reflection light of the applied light.
The inverse quantization unit 218 outputs the derived depth value to the outside of the decoding device 200 as output data.
<Processing Example>
An example of processing performed by the decoding device 200 configured as above will be described with reference to
In a case where this coefficient data is out of a value range (0 to 149), the selection unit 217 selects corrected coefficient data falling within the value range. In the case of the example in the left part of
Thereafter, the inverse quantization unit 218 inversely quantizes the coefficient data appropriately corrected in this manner. By the inverse quantization, output data (depth values) of “1490,” “0,” “10,” and “20” are obtained.
In the case of an example in a right part of
In a case where this coefficient data is out of a value range (0 to 149), the selection unit 217 selects corrected coefficient data falling within the value range. In the case of the example in the right part of
Thereafter, the inverse quantization unit 218 inversely quantizes the coefficient data appropriately corrected in this manner. By the inverse quantization, output data (depth values) of “20,” “10,” “0,” and “1490” are obtained.
By appropriately correcting the coefficient data out of the value range in the manner described above, an increase in the difference value can be suppressed. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, since the turnback value of the depth value is quantized and used, an increase in the difference value can be more suppressed, and therefore, further suppression of a drop of coding efficiency is achievable.
<Flow of Decoding Process>
An example of a flow of a decoding process executed by the decoding device 200 will subsequently be described with reference to a flowchart in
At a start of the decoding process, the quantization unit 211 of the decoding device 200 divides a turnback value by a predetermined quantization step to quantize the turnback value in step S201.
In step S202, the decoding unit 212 decodes coded data to derive difference data.
In step S203, the inverse DPCM processing unit 213 executes inverse DPCM processing for the difference data derived in step S201, to derive coefficient data (decoded data).
In step S204, the arithmetic unit 214 adds the quantized turnback value derived in step S201 to the coefficient data (decoded data) derived in step S203.
In step S205, the arithmetic unit 215 subtracts the quantized turnback value derived in step S201, from the coefficient data (decoded data) derived in step S203.
In step S206, the selection unit 217 selects a value falling within a value range of a depth value from among values of the coefficient data (decoded data) derived in step S203, the addition result derived in step S204, and the subtraction result derived in step S205, under control by the selection control unit 216.
In step S207, the inverse quantization unit 218 inversely quantizes the one selected in step S206 from among the coefficient data (decoded data) derived in step S203, the addition result derived in step S204, and the subtraction result derived in step S205, to derive the depth value.
After completion of processing in step S207, the decoding process ends. The decoding device 200 executes such a decoding process for each of pixels (respective depth values) in a depth image.
In this manner, an increase in the difference value can be suppressed as described above. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, since the turnback value of the depth value is quantized, an increase in the difference value can be more suppressed, and therefore, further suppression of a drop of coding efficiency is achievable.
<Coding Device>
Described with reference to
The selection control unit 116 acquires the difference value supplied from the DPCM processing unit 113. The selection control unit 116 further acquires a quantized turnback value supplied from the quantization unit 111. The selection control unit 116 controls operation of the selection unit 117 on the basis of these values.
The selection unit 117 acquires the difference value supplied from the DPCM processing unit 113. The selection unit 117 selects a method for correcting the difference value, on the basis of the acquired difference value under control by the selection control unit 116. Thereafter, the selection unit 117 supplies the difference value to a processing unit corresponding to the selection. For example, the selection unit 117 selects omission of correction of the difference value, addition of the quantized turnback value to the difference value, or subtraction of the quantized turnback value from the difference value, as the method for correcting the difference value. Thereafter, in a case where omission of correction of the difference value is selected, the selection unit 117 supplies the difference value to the coding unit 118. Alternatively, in a case where addition of the quantized turnback value is selected, the selection unit 117 supplies the difference value to the arithmetic unit 114. Further alternatively, in a case where subtraction of the quantized turnback value is selected, the selection unit 117 supplies the difference value to the arithmetic unit 115.
In the case where addition of the quantized turnback value is selected by the selection unit 117, the arithmetic unit 114 acquires the difference value supplied from the selection unit 117, and adds the quantized turnback value supplied from the quantization unit 111 to the acquired difference value. The arithmetic unit 114 supplies a correction result (an addition result as a sum of the difference value and the quantized turnback value) to the coding unit 118.
In the case where subtraction of the quantized turnback value is selected by the selection unit 117, the arithmetic unit 115 acquires the difference value supplied from the selection unit 117, and subtracts the quantized turnback value supplied from the quantization unit 111, from the acquired difference value. The arithmetic unit 115 supplies a correction result (a subtraction result as a difference between the difference value and the quantized turnback value) to the coding unit 118.
In the case where omission of correction of the difference value is selected by the selection unit 117, the coding unit 118 acquires the difference value supplied from the selection unit 117 and codes the difference value. Alternatively, in the case where addition of the quantized turnback value is selected by the selection unit 117, the coding unit 118 codes the addition result as the sum of the difference value derived by the arithmetic unit 114 and the quantized turnback value. Further alternatively, in the case where subtraction of the quantized turnback value is selected by the selection unit 117, the coding unit 118 codes the subtraction result as the difference between the difference value derived by the arithmetic unit 115 and the quantized turnback value. Coding methods similar to the coding methods in the case of
By selecting the correction method on the basis of the difference value as described above, an increase in the coded difference value can be suppressed. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, in this case, too, the depth value and the turnback value of the depth value are both quantized, and hence, an increase in the difference value can be more suppressed, so that further suppression of a drop of coding efficiency is achievable.
<Flow of Coding Process>
An example of a flow of the coding process in this case will be described with reference to a flowchart in
At a start of the coding process, the quantization unit 111 of the coding device 100 in this case divides a turnback value by a predetermined quantization step to quantize the turnback value in step S301.
In step S302, the quantization unit 112 divides input data (a depth value wrapping around a predetermined value range) by a quantization step identical to the quantization step used by the quantization unit 111 for quantization, to quantize the input data.
In step S303, the DPCM processing unit 113 executes DPCM processing for the quantized input data derived in step S102, to derive a difference value (difference data) between a depth value of a current processing target pixel and a depth value of a processing target pixel one pixel before.
In step S304, the selection unit 117 selects a method for correcting the difference data, on the basis of the value of the difference data under control by the selection control unit 116.
In step S305, the selection control unit 116 determines whether or not to add the quantized turnback value to the difference data. In a case where the quantized turnback value is determined to be added to the difference data, i.e., in a case where the selection unit 117 selects addition of the quantized turnback value, the process proceeds to step S306.
In step S306, the arithmetic unit 114 adds the quantized turnback value derived in step S301 to the difference data derived in step S303. After completion of processing in step S306, the process proceeds to step S309.
On the other hand, in a case where the quantized turnback value is determined not to be added to the difference data in step S305, the process proceeds to step S307.
In step S307, the selection control unit 116 determines whether or not to subtract the quantized turnback value from the difference data. In a case where the quantized turnback value is determined to be subtracted from the difference data, i.e., in a case where the selection unit 117 selects subtraction of the quantized turnback value, the process proceeds to step S308.
In step S308, the arithmetic unit 115 subtracts the quantized turnback value derived in step S301, from the difference data derived in step S303. After completion of processing in step S308, the process proceeds to step S309.
On the other hand, in a case where the quantized turnback value is determined not to be subtracted from the difference data in step S307, i.e., in a case where correction of the difference data is determined to be omitted (skipped), the process proceeds to step S309.
In step S309, the coding unit 118 codes the appropriately corrected difference data in the above manner (the difference value derived in step S303, the addition result derived in step S306, or the subtraction result derived in step S308) to derive coded data.
After completion of processing in step S309, the coding process ends. The coding device 100 executes such a coding process for each of pixels (respective depth values) in a depth image.
In this manner, an increase in the coded difference value can be suppressed as described above. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, in this case, too, the depth value and the turnback value of the depth value are both quantized, and hence, an increase in the difference value can be more suppressed, so that further suppression of a drop of coding efficiency is achievable.
<Decoding Device>
Described with reference to
The selection control unit 216 acquires coefficient data supplied from the inverse DPCM processing unit 213. The selection control unit 216 further acquires a quantized turnback value supplied from the quantization unit 211. The selection control unit 216 controls operation of the selection unit 217 on the basis of these values.
The selection unit 217 acquires the coefficient data supplied from the inverse DPCM processing unit 213. The selection unit 217 selects a method for correcting the coefficient data, on the basis of a value of the acquired coefficient data, under control by the selection control unit 216. Thereafter, the selection unit 217 supplies the coefficient data to a processing unit corresponding to the selection. For example, the selection unit 217 selects omission of correction of the coefficient data, addition of the quantized turnback value to the coefficient data, or subtraction of the quantized turnback value from the coefficient data, as the method for correcting the coefficient data. Thereafter, in a case where omission of correction of the coefficient data is selected, the selection unit 217 supplies the coefficient data to the inverse quantization unit 218. Alternatively, in a case where addition of the quantized turnback value is selected, the selection unit 217 supplies the coefficient data to the arithmetic unit 214. Further alternatively, in a case where subtraction of the quantized turnback value is selected, the selection unit 217 supplies the coefficient data to the arithmetic unit 215.
In the case where addition of the quantized turnback value is selected by the selection unit 217, the arithmetic unit 214 acquires the coefficient data supplied from the selection unit 217, and adds the quantized turnback value supplied from the quantization unit 211, to the acquired coefficient data. The arithmetic unit 214 supplies a correction result (an addition result as a sum of the coefficient data and the quantized turnback value) to the inverse quantization unit 218.
In the case where subtraction of the quantized turnback value is selected by the selection unit 217, the arithmetic unit 215 acquires the coefficient data supplied from the selection unit 217, and subtracts the quantized turnback value supplied from the quantization unit 211, from the acquired coefficient data. The arithmetic unit 215 supplies a correction result (a subtraction result as a difference between the coefficient data and the quantized turnback value) to the inverse quantization unit 218.
In the case where omission of correction of the coefficient data is selected by the selection unit 217, the inverse quantization unit 218 acquires the coefficient data supplied from the selection unit 217, and inversely quantizes the coefficient data by using a quantization step. Alternatively, in the case where addition of the quantized turnback value is selected by the selection unit 217, the inverse quantization unit 218 acquires the addition result as the sum of the coefficient data derived by the arithmetic unit 214 and the quantized turnback value, and inversely quantizes the addition result by using the quantization step. Further alternatively, in the case where subtraction of the quantized turnback value is selected by the selection unit 217, the inverse quantization unit 218 acquires the subtraction result as the difference between the coefficient data derived by the arithmetic unit 215 and the quantized turnback value, and inversely quantizes the subtraction result by using the quantization step.
The coefficient data appropriately corrected in the manner described above is a quantized depth value. In other words, the inverse quantization unit 218 inversely quantizes the appropriately corrected coefficient data to derive a depth value.
Note that this quantization step is set for each of any data units as with the case of
The inverse quantization unit 218 outputs the derived depth value to the outside of the decoding device 200 as output data.
By selecting the correction method on the basis of the value of the coefficient data as described above, an increase in the difference value can be suppressed. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, in this case, too, the turnback value of the depth value is quantized by the quantization step identical to the quantization step for inverse quantization of the coefficient data, and hence, an increase in the difference value can be more suppressed, so that further suppression of a drop of coding efficiency is achievable.
<Flow of Decoding Process>
An example of a flow of a decoding process in this case will be described with reference to a flowchart in
At a start of the decoding process in this case, the quantization unit 211 of the decoding device 200 divides a turnback value by a predetermined quantization step to quantize the turnback value in step S401.
In step S402, the decoding unit 212 decodes coded data given as input data, to derive difference data.
In step S403, the inverse DPCM processing unit 213 executes inverse DPCM processing for the difference data derived in step S402, to derive coefficient data (decoded data) of a current processing target pixel.
In step S404, the selection unit 217 selects a method for correcting the coefficient data (decoded data), on the basis of a value of the coefficient data under control by the selection control unit 216.
In step S405, the selection control unit 216 determines whether or not to add the quantized turnback value to the coefficient data. In a case where the quantized turnback value is determined to be added to the coefficient data, i.e., in a case where the selection unit 217 selects addition of the quantized turnback value, the process proceeds to step S406.
In step S406, the arithmetic unit 214 adds the quantized turnback value derived in step S401, to the coefficient data (decoded data) derived in step S403. After completion of processing in step S406, the process proceeds to step S409.
On the other hand, in a case where the quantized turnback value is determined not to be added to the coefficient data in step S405, the process proceeds to step S407.
In step S407, the selection control unit 216 determines whether or not to subtract the quantized turnback value from the coefficient data. In a case where the quantized turnback value is determined to be subtracted from the coefficient data, i.e., in a case where the selection unit 217 selects subtraction of the quantized turnback value, the process proceeds to step S408.
In step S408, the arithmetic unit 215 subtracts the quantized turnback value derived in step S401, from the difference data derived in step S403. After completion of processing in step S408, the process proceeds to step S409.
On the other hand, in step S407, in a case where the quantized turnback value is determined not to be subtracted from the coefficient data, i.e., in a case where correction of the coefficient data is determined to be omitted (skipped), the process proceeds to step S409.
In step S409, the inverse quantization unit 218 inversely quantizes the coefficient data appropriately corrected in the manner described above (the coefficient data derived in step S403, the addition result derived in step S406, or the subtraction result derived in step S408), by using a quantization step identical to the quantization step used for quantization in step S401, to derive a depth value.
After completion of processing in step S409, the decoding device 200 executes such a decoding process for each of pixels (respective depth values) in a depth image.
In this manner, an increase in the difference value can be suppressed as described above. Accordingly, suppression of a drop of coding efficiency is achievable. Moreover, in this case, too, the turnback value of the depth value is quantized, and hence, an increase in the difference value can be more suppressed, so that further suppression of a drop of coding efficiency is achievable.
<Distance Measuring Device>
Note that
As depicted in
The control unit 501 controls respective processing units of the distance measuring device 500. As depicted in
The light output unit 511 outputs light having a high modulation frequency (e.g., IR laser light) and light having a low modulation frequency (e.g., IR laser light) in a time-division manner.
The detection unit 512 detects reflection light of irradiation light applied from the light output unit 511. The detection unit 512 detects reflection light (reflection light having the high modulation frequency) at a timing corresponding to a timing when the light having the high modulation frequency is applied from the light output unit 511. The detection unit 512 further detects reflection light (reflection light having the low modulation frequency) at a timing corresponding to a timing when the light having the low modulation frequency is applied from the light output unit 511. The detection unit 512 supplies data of a result of the detection (data indicating light amounts received by respective pixels) to the iToF measuring unit 513 (the depth value derivation unit 521 of the iToF measuring unit 513).
The depth value derivation unit 521 derives a depth value to a subject on the basis of the detection result by using an indirect ToF method. The depth value derivation unit 521 achieves time-division derivation of a depth value by iToF using the light having the high modulation frequency and derivation of a depth value by iToF using the light having the low modulation frequency.
The merging unit 532 of the data merging unit 515 merges these depth values. For this merging, at least the depth value derived by iToF using the light having the high modulation frequency is stored in the RAM 514. Accordingly, the depth value derivation unit 521 supplies at least the depth value derived by iToF using the light having the high modulation frequency to the coding unit 522. In addition, in a case where the depth value derived by iToF using the light having the low modulation frequency is not to be stored in the RAM 514, the depth value derivation unit 521 supplies the depth value to the merging unit 532 of the data merging unit 515.
The coding unit 522 codes the depth value to generate coded data. The coding unit 522 supplies the coded data to the RAM 514 and causes the RAM 514 to store the coded data.
The RAM 514 stores the coded data supplied from the coding unit 522. Moreover, the RAM 514 supplies the stored coded data to the decoding unit 531, in response to a request from the decoding unit 531.
The decoding unit 531 of the data merging unit 515 reads the coded data stored in the RAM 514, and decodes the coded data to derive a depth value. The decoding unit 531 supplies the derived depth value to the merging unit 532.
The merging unit 532 acquires the depth value derived by iToF using the light having the high modulation frequency and the depth value derived by iToF using the light having the low modulation frequency, and merges these depth values. The merging unit 532 outputs the merged depth value.
The present technology is applicable to the distance measuring device 500 thus configured. For example, the coding device 100 described in the first embodiment or the third embodiment may be applied to the coding unit 522. In addition, the decoding device 200 described in the second embodiment or the fourth embodiment may be applied to the decoding unit 531.
In this manner, suppression of a drop of coding efficiency of coded data stored in the RAM 514 is achievable. As a result, an increase in a storage capacity of the RAM 514 can be suppressed. Accordingly, suppression of a cost increase, and also suppression of an increase of a circuit scale and power consumption are achievable.
<Flow of Distance Measuring Process>
An example of a flow of a distance measuring process executed by the distance measuring device 500 will be described with reference to a flowchart in
At a start of the distance measuring process, the control unit 501 sets a modulation frequency to a high frequency in step S501.
In step S502, the light output unit 511 applies light having the high modulation frequency. The detection unit 512 detects reflection light of the applied light.
In step S503, the depth value derivation unit 521 derives a depth value by iToF using light having the high modulation frequency.
In step S504, the coding unit 522 executes a coding process to code the depth value.
In step S505, the RAM 514 stores coded data derived in step S504.
In step S506, the control unit 501 sets the modulation frequency to a low frequency.
In step S507, the light output unit 511 applies light having the low modulation frequency. The detection unit 512 detects reflection light of the applied light.
In step S508, the depth value derivation unit 521 derives a depth value by iToF using light having the low modulation frequency.
In step S509, the decoding unit 531 reads the coded data stored in step S506. In step S510, the decoding unit 531 executes a decoding process to decode the read coded data.
In step S511, the merging unit 532 merges the depth value derived by iToF using the light having the high modulation frequency and the depth value derived by iToF using the light having the low modulation frequency.
In step S512, the control unit 501 determines whether or not to end the distance measuring process. In a case where the distance measuring process is determined not to be ended, the process returns to step S501 to repeat the processing from step S501 on down. On the other hand, in a case where the distance measuring process is determined to be ended in step S512, the distance measuring process ends.
The present technology is applicable to the distance measuring process described above. For example, the coding process described with reference to the flowchart in
In this manner, suppression of a drop of coding efficiency of coded data stored in the RAM 514 is achievable. As a result, an increase in the storage capacity of the RAM 514 can be suppressed. Accordingly, suppression of a cost increase, and also suppression of an increase of a circuit scale and power consumption are achievable.
<Parallelized Configuration>
The distance measuring device may have multiple systems each performing iToF. For example, as depicted in
<Distance Measuring Device>
As depicted in
The high frequency distance measuring unit 601 includes a light output unit 611, a detection unit 612, and an iToF measuring unit 613. The iToF measuring unit 613 includes a depth value derivation unit 621 and a coding unit 622.
The light output unit 611 applies light (e.g., IR laser light) having a high modulation frequency. The detection unit 612 detects reflection light of the applied light and supplies data indicating a detection result to the iToF measuring unit 613 (the depth value derivation unit 621 of the iToF measuring unit 613).
The depth value derivation unit 621 derives a depth value to a subject on the basis of the data supplied from the detection unit 612 as the detection result, by using an indirect ToF method. In other words, the depth value derivation unit 621 derives a depth value by iToF using light having the high modulation frequency. The coding unit 622 codes the depth value derived by the depth value derivation unit 621. The coding unit 622 supplies the generated coded data (coded data of the depth value derived by iToF using the light having the high modulation frequency) to the data merging unit 603 (a decoding unit 651 of the data merging unit 603).
The low frequency distance measuring unit 602 includes a light output unit 631, a detection unit 632, and an iToF measuring unit 633. The iToF measuring unit 633 includes a depth value derivation unit 641 and a coding unit 642.
The light output unit 631 applies light (e.g., IR laser light) having a low modulation frequency. The detection unit 632 detects reflection light of the applied light and supplies data indicating a detection result to the iToF measuring unit 633 (the depth value derivation unit 641 of the iToF measuring unit 633).
The depth value derivation unit 641 derives a depth value to a subject on the basis of the data supplied from the detection unit 632 as the detection result, by using an indirect ToF method. In other words, the depth value derivation unit 641 derives a depth value by iToF using light having the low modulation frequency. The coding unit 642 codes the depth value derived by the depth value derivation unit 641. The coding unit 642 supplies the generated coded data (coded data of the depth value derived by iToF using the light having the low modulation frequency) to the data merging unit 603 (a decoding unit 652 of the data merging unit 603).
The data merging unit 603 includes the decoding unit 651, the decoding unit 652, and a merging unit 653.
The decoding unit 651 decodes the coded data supplied from the coding unit 622 to generate (restore) the depth value derived by iToF using the light having the high modulation frequency. The decoding unit 651 supplies the depth value to the merging unit 653.
The decoding unit 652 decodes the coded data supplied from the coding unit 642 to generate (restore) the depth value derived by iToF using the light having the low modulation frequency. The decoding unit 652 supplies the depth value to the merging unit 653.
The merging unit 653 merges the depth values supplied from the decoding unit 651 and the decoding unit 652. Specifically, the merging unit 653 merges the depth value derived by iToF using the light having the high modulation frequency and the depth value derived by iToF using the light having the low modulation frequency. The merging unit 653 outputs the merged depth value.
The present technology is applicable to the distance measuring device 600 thus configured. For example, the coding device 100 described in the first embodiment or the third embodiment may be applied to the coding unit 622. In addition, the decoding device 200 described in the second embodiment or the fourth embodiment may be applied to the decoding unit 651.
In this manner, a drop of coding efficiency of coded data transferred from the high frequency distance measuring unit 601 to the data merging unit 603 can be suppressed. Accordingly, an increase in a bandwidth necessary for transferring the depth value from the high frequency distance measuring unit 601 to the data merging unit 603 can be suppressed, and therefore, a cost increase can be suppressed. Moreover, suppression of an increase of a circuit scale and power consumption is achievable.
<Turnback Value Supply Method>
Note that a turnback value may be supplied from the coding side to the decoding side as in an example depicted in
Further, a turnback value may be supplied from a processing unit (e.g., host system controller 701) provided separately from the high frequency distance measuring unit 601 and the low frequency distance measuring unit 602 as in an example depicted in
<Flow of Distance Measuring Process>
An example of a flow of a distance measuring process executed by the distance measuring device 600 will be described with reference to a flowchart in
At a start of the distance measuring process, the light output unit 611 of the high frequency distance measuring unit 601 applies light having a high modulation frequency in step S601. The detection unit 612 detects reflection light of the applied light.
In step S602, the depth value derivation unit 621 derives a depth value by iToF using light having the high modulation frequency.
In step S603, the coding unit 622 executes a coding process to code the depth value. In step S604, the coding unit 622 transfers the generated coded data (coded data of the depth value derived by iToF using the light having the high modulation frequency) to the decoding unit 651 of the data merging unit 603. The decoding unit 651 acquires the coded data.
In step S605, the decoding unit 651 executes a decoding process to decode the coded data and generate (restore) the depth value derived by iToF using the light having the high modulation frequency.
In step S606, the light output unit 631 of the low frequency distance measuring unit 602 applies light having a low modulation frequency. The detection unit 632 detects reflection light of the applied light.
In step S607, the depth value derivation unit 641 derives a depth value by iToF using light having the low modulation frequency.
In step S608, the coding unit 642 executes a coding process to code the depth value. In step S609, the coding unit 642 transfers the generated coded data (coded data of the depth value derived by iToF using the light having the low modulation frequency) to the decoding unit 652 of the data merging unit 603. The decoding unit 652 acquires the coded data.
In step S610, the decoding unit 652 executes a decoding process to decode the coded data and generate (restore) the depth value derived by iToF using the light having the low modulation frequency.
In step S611, the merging unit 653 merges the depth value that is derived by iToF using the light having the high modulation frequency and is generated in step S606, and the depth value that is derived by iToF using the light having the low modulation frequency and is generated in step S610.
In step S612, the merging unit 653 determines whether or not to end the distance measuring process. In a case where the distance measuring process is determined not to be ended, the process returns to step S601 to repeat the processing from step S601 on down. On the other hand, in a case where the distance measuring process is determined to be ended in step S612, the distance measuring process ends.
The present technology is applicable to the distance measuring process described above. For example, the coding process described with reference to the flowchart in
In this manner, a drop of coding efficiency of coded data transferred from the high frequency distance measuring unit 601 to the data merging unit 603 can be suppressed. Accordingly, an increase in a bandwidth necessary for transferring the depth value from the high frequency distance measuring unit 601 to the data merging unit 603 can be suppressed, and therefore, a cost increase can be suppressed. Moreover, suppression of an increase of a circuit scale and power consumption is achievable.
<Use of Three or More Modulation Frequencies>
While described above has been the example which uses iToF combining two types of modulation frequencies, i.e., a high frequency and a low frequency, as an example which uses iToF combining multiple modulation frequencies, combinations of frequencies are not limited to this example and may be any combinations. For example, iToF using three or more modulation frequencies may be applied.
In this case, it is only required that at least a depth value derived by iToF using light having a lowest modulation frequency does not wrap around. In other words, depth values derived by iToF using light having a modulation frequency higher than the lowest frequency may wrap around a corresponding value range (turnback value). Accordingly, a drop of coding efficiency of these depth values can be suppressed by applying the present technology.
<Prediction Method>
While described above has been the example of DPCM (inverse DPCM) which designates data of a processing target pixel one pixel before as a predicted value, a prediction method is not limited to this example and may be any methods. For example, P2 prediction may be adopted as depicted in
As depicted in A in
Also in a case where such P2 prediction is applied, suppression of a drop of coding efficiency is achievable as with the case of DPCM described above.
Moreover, a mechanism for raising accuracy of data obtained by inverse quantization may be introduced by using refinement transferred in a bitstream.
<Computer>
A series of processes described above may be executed either by hardware or by software. In a case where the series of processes are executed by software, a program constituting the software is installed in a computer. Examples of the computer include a computer incorporated in dedicated hardware, and a computer capable of executing various functions under various programs installed in the computer, such as a general-purpose computer.
A computer 900 depicted in
An input/output interface 910 is further connected to the bus 904. An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input/output interface 910.
For example, the input unit 911 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal, and others. For example, the output unit 912 includes a display, a speaker, an output terminal, and others. For example, the storage unit 913 includes a hard disk, a RAM disk, a non-volatile memory, and others. For example, the communication unit 914 includes a network interface. The drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
According to the computer configured as described above, for example, the CPU 901 loads a program stored in the storage unit 913 into the RAM 903 via the input/output interface 910 and the bus 904, and executes the loaded program to perform the series of processes described above. Data and the like required when the CPU 901 executes various processes are also stored in the RAM 903 as necessary.
For example, the program executed by the computer is allowed to be recorded in the removable medium 921 as a package medium or the like and applied in this form. In this case, the program is allowed to be installed into the storage unit 913 via the input/output interface 910 from the removable medium 921 attached to the drive 915.
Moreover, the program is allowed to be provided via a wired or wireless transfer medium such as a local area network, the Internet, and digital satellite broadcasting. In this case, the program is allowed to be received by the communication unit 914 and installed into the storage unit 913.
Furthermore, the program is allowed to be installed in the ROM 902 or the storage unit 913 beforehand.
<Configuration to which Present Technology is Applicable>
The present technology is applicable to any configuration. For example, the present technology is applicable to various types of electronic equipment.
Moreover, for example, the present technology may also be practiced as a partial configuration of a device, such as a processor (e.g., video processor) as a system LSI (Large Scale Integration) or the like, a module (e.g., video module) using multiple processors or the like, a unit (e.g., video unit) using multiple modules or the like, or a set (e.g., video set) as a unit to which other functions are added.
Further, for example, the present technology is applicable to a network system including multiple devices. For example, the present technology may be practiced as cloud computing where multiple devices share processes and perform the processes in cooperation with each other via a network.
Note that the system in the present specification refers to a set of multiple constituent elements (e.g., devices, modules (parts)) and does not require all constituent elements to be accommodated within an identical housing. Accordingly, both multiple devices accommodated in separate housings and connected via a network and one device which has multiple modules accommodated in one housing are defined as systems.
<Field/Use to which Present Technology is Applicable>
A system, a device, a processing unit, or the like to which the present technology is applied is available in any field such as traffics, medical treatment, crime prevention, agriculture, stock breeding, mining, beauty, plants, home appliances, meteorology, and natural surveillance. In addition, use application of them may be any use application.
<Others>
Embodiments according to the present technology are not limited to the embodiments described above and may be modified in various manners within a range not departing from the subject matters of the present technology.
For example, a configuration described as one device (or processing unit) may be divided into multiple devices (or processing units). Conversely, a configuration described as multiple devices (or processing units) may be united into one device (or processing unit). In addition, needless to say, a configuration other than the configurations described above may be added to each configuration of the devices (or processing units). Further, a part of a configuration of a certain device (or processing unit) may be included in a configuration of a different device (or different processing unit) if configurations or operations in the entire system are substantially the same.
In addition, for example, the program described above may be executed by any device. In this case, the device is only required to have a necessary function (e.g., function block) and be capable of acquiring necessary information.
Moreover, for example, respective steps included in one flowchart may be executed by one device or may be shared and executed by multiple devices. Further, in a case where multiple processes are included in one step, the multiple processes may be executed by one device or may be shared and executed by multiple devices. In other words, multiple processes included in one step may be executed as processes in multiple steps. Conversely, processes described as multiple steps may be collectively executed in one step.
In addition, for example, processes in steps describing the program executed by the computer may be executed in time series in the order described in the present specification, or may be executed in parallel or individually at a necessary timing such as an occasion when a call is made. In other words, processes in respective steps may be executed in an order different from the order described above as long as no contradiction is caused. Besides, the processes in the steps describing this program may be executed in parallel with processes of a different program or executed in combination with processes of a different program.
Moreover, for example, each of multiple techniques associated with the present technology may be independently practiced as a single technique as long as no contradiction is caused. Needless to say, any multiple techniques of the present technology may be combined and practiced. For example, a part or all of the present technology described in any of the embodiments may be combined and practiced with a part or all of the present technology described in a different one of the embodiments. Moreover, a part or all of any technique of the present technology described above may be combined and practiced in conjunction with a different technology not described above.
Note that the present technology can also adopt the following configurations.
Number | Date | Country | Kind |
---|---|---|---|
2021-029716 | Feb 2021 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/000817 | 1/13/2022 | WO |