Claims
- 1. A method of filtering pixels of video frames of a sequence of video frames for facilitating video encoding thereof, said method comprising:
obtaining pixel values of video frames of the sequence of video frames; and programmably vertically filtering said pixel values of said video frames.
- 2. The method of claim 1, wherein said programmably vertically filtering comprises obtaining vertical filter coefficients for use in vertically filtering said pixel values.
- 3. The method of claim 2, wherein said obtaining vertical filter coefficients comprises dynamically obtaining new vertical filter coefficients during said programmably vertically filtering of pixel values.
- 4. The method of claim 2, wherein said vertical filter coefficients comprise at least two programmable luminance filter coefficients and at least two programmable chrominance filter coefficients.
- 5. The method of claim 4, wherein said programmably vertically filtering further comprises:
separating luminance components and chrominance components of said pixel values in a vertical filter buffer; vertically filtering luminance components of said pixel values using said at least two programmable luminance filter coefficients and vertically filtering chrominance components of said pixel values using said at least two programmable chrominance filter coefficients; and merging filtered luminance component data and filtered chrominance component data after said vertically filtering of luminance components and said vertically filtering of chrominance components.
- 6. The method of claim 5, further comprising performing at least one of said vertically filtering luminance components of said pixel values and said vertically filtering chrominance components of said pixel values, as follows:
vertically filtering luminance components of said pixel values by determining filtered luminance component data using: 3Lum(filtered)=L1Pl1+L2Pl2+L3Pl3+L4Pl4256where: Lum(filtered)=a filtered pixel luminance component, L1,L2, L3, L4=programmable luminance filter coefficients, Pl1, Pl2, Pl3, Pl4=luminance component data for vertical pixels P1, P2, P3, P4 prior to vertical filtering; and vertically filtering chrominance components of said pixel values by determining filtered chrominance component data using: 4Chr(filtered)=C1Pc1+C2Pc2+C3Pc3+C4Pc4+C5Pc5256where: Chr(filtered)=a filtered pixel chrominance component, C1, C2, C3, C4, C5=programmable chrominance filter coefficients, and Pc1, Pc2, Pc3, Pc4, Pc5=chrominance component data for vertical pixels P1, P2, P3, P4, P5 prior to vertical filtering.
- 7. The method of claim 2, wherein said vertical filter coefficients are dynamically programmable per video frame of the sequence of video frames for enhancing video encoding of the sequence of video frames.
- 8. A system for filtering pixels of video frames of a sequence of video frames for facilitating video encoding thereof, said system comprising:
means for obtaining pixel values of video frames of the sequence of video frames; and means for programmably vertically filtering said pixel values of said video frames.
- 9. The system of claim 8, wherein said means for programmably vertically filtering comprises means for obtaining vertical filter coefficients for use in vertically filtering said pixel values.
- 10. The system of claim 9, wherein said means for obtaining vertical filter coefficients comprises means for dynamically obtaining new vertical filter coefficients during said programmably vertically filtering of pixel values.
- 11. The system of claim 9, wherein said vertical filter coefficients comprise at least two programmable luminance filter coefficients and at least two programmable chrominance filter coefficients.
- 12. The system of claim 11, wherein said means for programmably vertically filtering further comprises:
means for separating luminance components and chrominance components of said pixel values in a vertical filter buffer; means for vertically filtering luminance components of said pixel values using said at least two programmable luminance filter coefficients and for vertically filtering chrominance components of said pixel values using said at least two programmable chrominance filter coefficients; and means for merging filtered luminance component data and filtered chrominance component data after said vertically filtering of luminance components and said vertically filtering of chrominance components.
- 13. The system of claim 12, further comprising means for performing at least one of said means for vertically filtering luminance components of said pixel values and said means for vertically filtering chrominance components of said pixel values, as follows:
means for vertically filtering luminance components of said pixel values by determining filtered luminance component data using: 5Lum(filtered)=L1Pl1+L2Pl2+L3Pl3+L4Pl4256where: Lum(filtered)=a filtered pixel luminance component, L1, L2 L3, L4=programmable luminance filter coefficients, Pl1, Pl2, Pl3, Pl4 luminance component data for vertical pixels P1, P2, P3, P4 prior to vertical filtering; and means for vertically filtering chrominance components of said pixel values by determining filtered chrominance component data using: 6Chr(filtered)=C1Pc1+C2Pc2+C3Pc3+C4Pc4+C5Pc5256where: Chr(filtered)=a filtered pixel chrominance component, C1, C2, C3, C4, C5=programmable chrominance filter coefficients, and Pc1, Pc2, Pc3, Pc4, Pc5=chrominance component data for vertical pixels P1, P2, P3, P4, P5 prior to vertical filtering.
- 14. The system of claim 9, wherein said vertical filter coefficients are dynamically programmable per video frame of the sequence of video frames for enhancing video encoding of the sequence of video frames.
- 15. 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 of a sequence of video frames for facilitating video encoding thereof, said method comprising:
obtaining pixel values of video frames of the sequence of video frames; and programmably vertically filtering said pixel values of said video frames.
- 16. The at least one program storage device of claim 15, wherein said programmably vertically filtering comprises obtaining vertical filter coefficients for use in vertically filtering said pixel values.
- 17. The at least one program storage device of claim 16, wherein said obtaining vertical filter coefficients comprises dynamically obtaining new vertical filter coefficients during said programmably vertically filtering of pixel values.
- 18. The at least one program storage device of claim 16, wherein said vertical filter coefficients comprise at least two programmable luminance filter coefficients and at least two programmable chrominance filter coefficients.
- 19. The at least one program storage device of claim 18, wherein said programmably vertically filtering further comprises:
separating luminance components and chrominance components of said pixel values in a vertical filter buffer; vertically filtering luminance components of said pixel values using said at least two programmable luminance filter coefficients and vertically filtering chrominance components of said pixel values using said at least two programmable chrominance filter coefficients; and merging filtered luminance component data and filtered chrominance component data after said vertically filtering of luminance components and said vertically filtering of chrominance components.
- 20. The at least one program storage device of claim 19, further comprising performing at least one of said vertically filtering luminance components of said pixel values and said vertically filtering chrominance components of said pixel values, as follows:
vertically filtering luminance components of said pixel values by determining filtered luminance component data using: 7Lum(filtered)=L1Pl1+L2Pl2+L3Pl3+L4Pl4256where: Lum(filtered)=a filtered pixel luminance component, L1,L2, L3, L4 programmable luminance filter coefficients, Pl1, Pl2, Pl3, Pl4 luminance component data for vertical pixels P1, P2, P3, P4 prior to vertical filtering; and vertically filtering chrominance components of said pixel values by determining filtered chrominance component data using: 8Chr(filtered)=C1Pc1+C2Pc2+C3Pc3+C4Pc4+C5Pc5256where: Chr(filtered)=a filtered pixel chrominance component, C1, C2, C3, C4, C5=programmable chrominance filter coefficients, and Pc1, Pc2, Pc3, Pc4, Pc5=chrominance component data for vertical pixels P1, P2, P3, P4, P5 prior to vertical filtering.
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 And Adaptive Temporal Filter For Video Encoding”, by Murdock et al., U.S. Ser. No. ______ (Attorney Docket No. END920010083);
[0003] “Programmable Horizontal Filter With Noise Reduction and Image Scaling For Video Encoding System”, by Ngai et al., U.S. Ser. No. ______ (Attorney Docket No. END920010078)