Claims
- 1. A method of filtering pixels of video frames, said method comprising:
obtaining pixel values of video frames of a plurality of video frames; and programmably, spatially horizontally filtering said pixel values of said video frames.
- 2. The method of claim 1, wherein said horizontally filtering comprises programmably horizontally noise filtering said pixel values of said video frames.
- 3. The method of claim 2, wherein said horizontally filtering further comprises programmably image scaling said pixel values of said video frames.
- 4. The method of claim 1, wherein said horizontally filtering further comprises obtaining filter coefficients for use in filtering of said pixel values.
- 5. The method of claim 4, wherein said obtaining filter coefficients comprises dynamically switching in filter coefficients during said horizontally filtering of pixel values for use in filtering of said pixel values.
- 6. The method of claim 4, wherein said obtaining comprises at least one of dynamically loading or dynamically selecting new filter coefficients, and wherein said method further comprises switching in said new filter coefficients for use by said filtering upon said horizontally filtering reaching a boundary between video frames of said plurality of video frames.
- 7. The method of claim 4, wherein said filter coefficients comprise at least two programmable luminance filter coefficients and at least two programmable chrominance filter coefficients.
- 8. The method of claim 7, wherein said at least two luminance filter coefficients and said at least two chrominance filter coefficients are dynamically programmable during said horizontally filtering of pixel values of said video frames.
- 9. The method of claim 1, wherein said horizontally filtering further comprises obtaining multiple sets of filter coefficients, and dynamically selecting at least one set of said multiple sets of filter coefficients for use in filtering of said pixel values of said video frames.
- 10. The method of claim 1, wherein said horizontally filtering further comprises programmably selecting whether to perform horizontal noise reduction filtering only, or horizontal noise reduction filtering and image scaling on said pixel values of said video frames.
- 11. The method of claim 10, further comprising implementing said method within preprocessing logic of a video encode system, wherein said horizontally filtering occurs in real time.
- 12. A method of processing pixels of at least one video frame, comprising:
filtering pixel values of at least one video frame; and controlling said filtering so as to selectively perform spatial noise filtering, or spatial noise filtering and image scaling on said pixels values of said at least one video frame.
- 13. The method of claim 12, wherein said filtering comprises horizontally filtering said pixel values as preprocessing of the at least one video frame prior to encoding thereof.
- 14. The method of claim 13, wherein said filtering further comprises obtaining multiple sets of filter coefficients, and wherein said controlling comprises selecting among said sets of filter coefficients for use in filtering said pixel values, said selecting being dependent on whether noise filtering only or noise filtering and image scaling of said pixel values is being performed.
- 15. The method of claim 14, wherein said controlling comprises repeatedly employing multiple sets of filter coefficients in a defined pattern when both noise filtering and image scaling said pixel values.
- 16. A system for filtering pixels of video frames, said system comprising:
means for obtaining pixel values of video frames of a plurality of video frames; and means for programmably, spatially horizontally filtering said pixel values of said video frames.
- 17. The system of claim 16, wherein said means for horizontally filtering comprises means for programmably horizontally noise filtering said pixel values of said video frames.
- 18. The system of claim 17, wherein said means for horizontally filtering further comprises means for programmably image scaling said pixel values of said video frames.
- 19. The system of claim 16, wherein said means for horizontally filtering further comprises means for obtaining filter coefficients for use in filtering of said pixel values.
- 20. The system of claim 19, wherein said means for obtaining filter coefficients comprises means for dynamically switching in filter coefficients during said horizontally filtering of pixel values for use in filtering of said pixel values.
- 21. The system of claim 19, wherein said means for obtaining comprises at least one of means for dynamically loading or means for dynamically selecting new filter coefficients, and wherein system further comprises means for switching in said new filter coefficients for use by said filtering upon said horizontally filtering reaching a boundary between video frames of said plurality of video frames.
- 22. The system of claim 19, wherein said filter coefficients comprise at least two programmable luminance filter coefficients and at least two programmable chrominance filter coefficients.
- 23. The system of claim 22, further comprising means for dynamically programming said at least two luminance filter coefficients and said at least two chrominance filter coefficients during said horizontally filtering of pixel values of said video frames.
- 24. The system of claim 16, wherein said means for horizontally filtering further comprises means for obtaining multiple sets of filter coefficients, and for dynamically selecting at least one set of said multiple sets of filter coefficients for use in filtering of said pixel values of said video frames.
- 25. The system of claim 16, wherein said means for horizontally filtering further comprises means for programmably selecting whether to perform horizontal noise reduction filtering only, or horizontal noise reduction filtering and image scaling on said pixel values of said video frames.
- 26. The system of claim 25, further comprising means for implementing said system within preprocessing logic of a video encode system, wherein said horizontally filtering occurs in real time.
- 27. A system for processing pixels of at least one video frame, said system comprising:
means for filtering pixel values of at least one video frame; and means for controlling said filtering to selectively perform noise filtering, or noise filtering and image scaling on said pixel values of said at least one video frame.
- 28. The system of claim 27, wherein said means for filtering comprises means for horizontally filtering said pixel values as pre-processing of the at least one video frame prior to encoding thereof.
- 29. The system of claim 28, wherein said means for filtering further comprises means for obtaining multiple sets of filter coefficients, and wherein said means for controlling comprises means for selecting among said sets of filter coefficients for use in filtering said pixel values, said selecting being dependent on whether noise filtering only or noise filtering and image scaling of said pixel values is being performed.
- 30. The system of claim 29, wherein said means for controlling comprises means for repeatedly employing multiple sets of filter coefficients in a defined pattern when both noise filtering and image scaling said pixel values.
- 31. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of filtering pixels of video frames, said method comprising:
obtaining pixel values of video frames of the plurality of video frames; and programmably, spatially horizontally filtering said pixel values of said video frames.
- 32. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of processing pixels of video frames, said method comprising:
filtering pixel values of at least one video frame; and controlling said filtering so as to selectively perform spatial noise filtering, or spatial noise filtering and image scaling on said pixels values of said at least one video frame.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application contains subject matter which is related to the subject matter of the following applications, each of which is assigned to the same assignee as this application and filed on the same day as this application. Each of the below-listed applications is hereby incorporated herein by reference in its entirety:
[0002] “Programmable Vertical Filter for Video Encoding”, by Ngai et al., U.S. Ser. No. ______ (Attorney Docket No. END920010082); and
[0003] “Programmable And Adaptive Temporal Filter For Video Encoding”, by Murdock et al., U.S. Ser. No. ______ (Attorney Docket No. END920010083).