IP Library › Granted Patent US 11,520,052
Granted Patent B2
US 11,520,052 · App. 16/913,676 · Granted Dec 6, 2022

Adaptive processing in time of flight imaging

Inventor: Sergio Ortiz Egea (San Jose, CA)
Assignee: Microsoft Technology Licensing, LLC
G01S17/894G01S7/4865G01S17/26G01S17/90
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,520,052
App. No.
16/913,676
Granted
Dec 6, 2022
Kind
B2
Abstract

Examples are disclosed herein relating to signal processing in a time-of-flight (ToF) system. One example provides, a method comprising emitting, via a light source, amplitude-modulated light toward an object, acquiring, via an image sensor comprising a plurality of pixels, a plurality of image frames capturing light emitted from the light source that is reflected by the object, wherein the plurality of image frames are acquired at two or more different frequencies of the amplitude-modulated light and collectively form a multifrequency frame, and for each pixel of the multifrequency frame, determining a brightness level, applying an adaptive denoising process by setting a kernel size based on the brightness level, and performing a phase unwrapping process to determine a depth value for the pixel.

Claims (1505)

1. A method for signal processing in a time of flight system, the method comprising:

emitting, via a light source, amplitude-modulated light toward an object;

acquiring, via an image sensor comprising a plurality of pixels, a plurality of image frames capturing light emitted from the light source that is reflected by the object, wherein the plurality of image frames are acquired at two or more different frequencies of the amplitude-modulated light and collectively form a multifrequency frame; and

for each pixel of the multifrequency frame,

determining a brightness level,

applying an adaptive denoising process by setting a kernel size based on the brightness level, and

performing a phase unwrapping process to determine a depth value for the pixel.

2. The method of claim 1 , wherein setting the kernel size comprises setting a larger kernel for a lower brightness level, and setting a smaller kernel for a higher brightness level.

3. The method of claim 2 , wherein setting a smaller kernel comprises adding zeroes to a kernel.

4. The method of claim 1 , wherein applying the adaptive denoising process comprises applying:

S

⁡

(

m

,

n

,

k

)

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

S

~

⁡

(

m

,

n

,

k

)

⁢

⁢

with

⁢

⁢

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

=

1

wherein

{tilde over (S)}(m, n, k) is a signal corresponding to pixel (m,n) for a frequency k, of an array of size (M, N) with {m∈1, 2, . . . , M}, and {n∈1, 2, . . . , N}, for a frequency k∈1, 2, . . . , K,

S(m, n, k) is a signal with reduced noise, represented as a weighted sum of neighboring pixels, {i∈−I, −I+1, . . . , I} and {j∈−J, −J+1, . . . , J}, and

λ(i, j, k) are edge-preserving normalized weighting coefficients.

5. The method of claim 4 , wherein

λ

⁡

(

i

,

j

,

k

)

=

1

Norm

⁡

(

m

,

n

,

k

)

⁢

ξ

⁡

(

i

,

j

,

k

)

,

wherein

ξ

⁡

(

i

,

j

,

k

)

=

exp

⁢

{

-

[

(

m

-

i

)

2

+

(

n

-

j

)

2

]

⁢

/

⁢

σ

sm

2

}

⁢

⁢

exp

⁢

{

-

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

⁢

/

⁢

σ

sh

2

]

,

and

⁢

Norm

⁡

(

m

,

n

,

k

)

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

ξ

⁡

(

i

,

j

,

k

)

,

and wherein σ sm 2 and σ sh 2 are parameters to adjust for one or more of smoothing and sharpening.

6. The method of claim 4 , wherein

λ

⁡

(

i

,

j

,

k

)

=

1

Norm

⁡

(

m

,

n

,

k

)

⁢

ξ

⁡

(

i

,

j

,

k

)

,

wherein

ξ( i,j,k )=γ( i,j,k ) I τ ( m,n,k ),

wherein

γ

⁡

(

i

,

j

,

k

)

→

1

-

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

σ

sh

2

⁢

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

,

and wherein

I

τ

⁡

(

m

,

n

,

k

)

=

{

0

⁢

⁢

if

⁢

⁢

γ

⁡

(

i

,

j

,

k

)

<

τ

⁡

(

m

,

n

,

k

)

1

⁢

⁢

if

⁢

⁢

γ

⁡

(

i

,

j

,

k

)

≥

τ

⁡

(

m

,

n

,

k

)

.

7. The method of claim 6 , wherein τ(m, n, k) is variable.

8. The method of claim 1 , wherein performing the phase unwrapping process comprises performing adaptive phase unwrapping based upon the brightness level.

9. The method of claim 8 , wherein performing the adaptive phase unwrapping based upon the brightness level comprises applying

{

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

r

⁡

(

i

,

j

,

k

)

⁢

(

i

,

j

,

k

)

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

i

⁡

(

i

,

j

,

k

)

⁢

(

i

,

j

,

k

)

,

⁢

wherein

⁢

⁢

⁢

(

i

,

j

,

k

)

=

(

S

~

r

⁡

(

i

,

j

,

k

)

)

2

+

(

S

~

i

⁡

(

i

,

j

,

k

)

)

2

10. The method of claim 9 , wherein cos [ϕ(i, j, k)] and sin [ϕ(i, j, k)] represent a signal with reduced noise and are determined by:

{

cos

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

sin

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

.

11. A time of flight system, comprising:

a light source;

an image sensor comprising a plurality of pixels;

memory comprising instructions stored thereon; and

a processor configured to execute the instructions to:

emit amplitude-modulated light from the light source toward an object;

acquire via the image sensor a plurality of image frames capturing light emitted from the light source that is reflected by the object, wherein the plurality of image frames are acquired at two or more different frequencies of the amplitude-modulated light and collectively form a multifrequency frame; and

for each pixel of the multifrequency frame,

determine a brightness level;

apply an adaptive denoising process by setting a kernel size based on the brightness level; and

perform a phase unwrapping process to determine a depth value for the pixel.

12. The time of flight system of claim 11 , wherein the instructions are executable to set a larger kernel for a lower brightness level, and set a smaller kernel for a higher brightness level.

13. The time of flight system of claim 12 , the instructions are executable to set a smaller kernel by adding zeroes to a kernel.

14. The time of flight system of claim 11 , wherein the instructions are executable to emit amplitude-modulated light at a plurality of different modulation frequencies.

15. The time of flight system of claim 11 , wherein the instructions are executable to apply the adaptive denoising process by applying:

S

⁡

(

m

,

n

,

k

)

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

S

~

⁡

(

m

,

n

,

k

)

⁢

⁢

with

⁢

⁢

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

=

1

wherein

{tilde over (S)}(m, n, k) is a signal corresponding to pixel (m,n) for a frequency k, of an array of size (M, N) with {m∈1, 2, . . . , M}, and {n∈1, 2, . . . , N}, for a frequency k∈1, 2, . . . , K,

S(m, n, k) is a signal with reduced noise, represented as a weighted sum of neighboring pixels, {i∈−I, −I+1, . . . , I} and {j∈−J, −J+1, . . . , J}, and

λ(i, j, k) are edge-preserving normalized weighting coefficients.

16. The time of flight system of claim 15 , wherein

λ

⁡

(

i

,

j

,

k

)

=

1

Norm

⁡

(

m

,

n

,

k

)

⁢

ξ

⁡

(

i

,

j

,

k

)

,

wherein

ξ( i,j,k )=γ( i,j,k ) I τ ( m,n,k ),

wherein

γ

⁡

(

i

,

j

,

k

)

→

1

-

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

σ

sh

2

⁢

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

,

and wherein

I

τ

⁡

(

m

,

n

,

k

)

=

{

0

⁢

⁢

if

⁢

⁢

γ

⁡

(

i

,

j

,

k

)

<

τ

⁡

(

m

,

n

,

k

)

1

⁢

⁢

if

⁢

⁢

γ

⁡

(

i

,

j

,

k

)

≥

τ

⁡

(

m

,

n

,

k

)

.

17. The time of flight system of claim 16 , wherein the instructions are executable to perform the phase unwrapping process by using an adaptive complex domain unwrapping formula comprising:

{

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

r

⁡

(

i

,

j

,

k

)

⁢

(

i

,

j

,

k

)

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

i

⁡

(

i

,

j

,

k

)

⁢

(

i

,

j

,

k

)

,

⁢

wherein

⁢

⁢

⁢

(

i

,

j

,

k

)

=

(

S

~

r

⁡

(

i

,

j

,

k

)

)

2

+

(

S

~

i

⁡

(

i

,

j

,

k

)

)

2

,

wherein cos [ϕ(i, j, k)] and sin [ϕ(i, j, k)] represent a signal with reduced noise and are determined by:

{

cos

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

sin

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

.

18. The time of flight system of claim 15 , wherein

λ

⁡

(

i

,

j

,

k

)

=

1

Norm

⁡

(

m

,

n

,

k

)

⁢

ξ

⁡

(

i

,

j

,

k

)

,

wherein

ξ

⁡

(

i

,

j

,

k

)

=

1

-

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

σ

sh

2

⁢

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

S

~

⁡

(

m

,

n

,

k

)

-

S

~

⁡

(

i

,

j

,

k

)

2

,

and

Norm

⁢

⁢

(

m

,

n

,

k

)

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

ξ

⁡

(

i

,

j

,

k

)

,

and wherein σ sh 2 is a parameter to adjust for sharpening.

19. A time of flight depth imaging system, comprising

a light source;

an image sensor;

memory comprising instructions stored thereon; and

a processor configured to execute the instructions to:

emit amplitude-modulated light from the light source toward an object,

acquire via the image sensor a plurality of image frames capturing light emitted from the light source that is reflected by the object, wherein the plurality of image frames are acquired at two or more different frequencies of the amplitude-modulated light and collectively form a multifrequency frame, and

for each pixel of the multifrequency frame,

determine a brightness level;

apply an adaptive denoising process by setting a kernel size based on the brightness level; and

perform an adaptive complex domain phase unwrapping based on the brightness level to determine a depth value for the pixel.

20. The time of flight system of claim 19 , wherein the instructions executable to perform the adaptive complex domain phase unwrapping comprise instructions executable to apply:

{

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

r

⁡

(

i

,

j

,

k

)

AB

~

⁡

(

i

,

j

,

k

)

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

=

S

~

i

⁡

(

i

,

j

,

k

)

AB

~

⁡

(

i

,

j

,

k

)

,

wherein (i,j,k)=√{square root over (({tilde over (S)} r (i, j, k)) 2 +({tilde over (S)} i (i, j, k)) 2 )}, and

wherein cos [ϕ(i, j, k)] and sin [ϕ(i, j, k)] represent a signal with reduced noise and are determined by:

{

cos

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

cos

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

sin

⁢

[

ϕ

⁡

(

i

,

j

,

k

)

]

=

∑

i

=

-

I

I

⁢

⁢

∑

j

=

-

J

J

⁢

⁢

λ

⁡

(

i

,

j

,

k

)

⁢

⁢

sin

⁢

[

ϕ

~

⁡

(

i

,

j

,

k

)

]

.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: ORTIZ EGEA, SERGIO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053058/0073 →
Continuity (1)
Related Publication 20210405199A1 · Dec 30, 2021
Cited By (1)
US 12,198,362