System and method for depth-guided image filtering in a video conference environment
A method is provided in one example embodiment that includes receiving a plurality of depth values corresponding to pixels of an image; and filtering the image as a function of a plurality of variations in the depth values between adjacent pixels of a window associated with the image. In more detailed embodiments, the method may include encoding the image into a bit stream for transmission over a network. The filtering can account for a bit rate associated with the encoding of the image.
1. A method, comprising:
receiving, at a video processing unit having a processor, a plurality of depth values corresponding to pixels of an image; and
filtering, at the video processing unit, the image as a function of a plurality of variations in the depth values between adjacent pixels of a window associated with the image.
2. The method of claim 1 , further comprising:
encoding the image into a bit stream for transmission over a network, wherein the filtering includes accounting for a bit rate associated with the encoding of the image.
3. The method of claim 1 , further comprising:
receiving intensity values corresponding to the pixels, wherein the filtering is a function of variations in the intensity values between the adjacent pixels.
4. The method of claim 1 , wherein filtering the image comprises smoothing certain adjacent pixels having variations of depth values below a threshold value.
5. The method of claim 1 , wherein the image is filtered in a loop comprising an inverse transform, an inverse quantization, and a prediction compensation that is based on previous encoding.
6. The method of claim 1 , wherein the window comprises pixels from a spatial region.
7. The method of claim 1 , wherein the window comprises pixels from a temporal region.
8. The method of claim 1 , wherein the filtering preserves pixels corresponding to depth values closer to a viewpoint over pixels corresponding to depth values further away from the viewpoint.
9. Logic encoded in one or more non-transitory media that includes code for execution and when executed by one or more processors is operable to perform operations comprising:
receiving a plurality of depth values corresponding to pixels of an image; and
filtering the image as a function of a plurality of variations in the depth values between adjacent pixels of a window associated with the image.
10. The logic of claim 9 , the operations further comprising:
encoding the image into a bit stream for transmission over a network, wherein the filtering includes accounting for a bit rate associated with the encoding of the image.
11. The logic of claim 9 , the operations further comprising:
receiving intensity values corresponding to the pixels, wherein the filtering is a function of variations in the intensity values between the adjacent pixels.
12. The logic of claim 9 , wherein filtering the image comprises smoothing certain adjacent pixels having variations of depth values below a threshold value.
13. The logic of claim 9 , wherein the image is filtered in a loop comprising an inverse transform, an inverse quantization, and a prediction compensation that is based on previous encoding.
14. The logic of claim 9 , wherein the window comprises pixels from a spatial region.
15. The logic of claim 9 , wherein the window comprises pixels from a temporal region.
16. The logic of claim 9 , wherein the filtering preserves pixels corresponding to depth values closer to a viewpoint over pixels corresponding to depth values further away from the viewpoint.
17. An apparatus, comprising:
one or more processors;
a memory; and
a video encoder with a depth-guided filter, wherein the apparatus is configured for:
receiving a plurality of depth values corresponding to pixels of an image; and
filtering the image as a function of a plurality of variations in the depth values between adjacent pixels of a window associated with the image.
18. The apparatus of claim 17 , the apparatus being further configured for:
encoding the image into a bit stream for transmission over a network, wherein the filtering includes accounting for a bit rate associated with the encoding of the image.
19. The apparatus of claim 17 , the apparatus being further configured for:
receiving intensity values corresponding to the pixels, wherein the filtering is a function of variations in the intensity values between the adjacent pixels.
20. The apparatus of claim 17 , wherein the filtering is configured to preserve pixels corresponding to depth values closer to a viewpoint over pixels corresponding to depth values further away from the viewpoint.