Fast area-selected filtering for pixel-noise and analog artifacts reduction

Schmitz; Martin ;   et al.

Patent Application Summary

U.S. patent application number 10/913475 was filed with the patent office on 2006-02-09 for fast area-selected filtering for pixel-noise and analog artifacts reduction. Invention is credited to Victor J. Duvanenko, Martin Schmitz.

Application Number20060028562 10/913475
Document ID /
Family ID35478816
Filed Date2006-02-09

United States Patent Application 20060028562
Kind Code A1
Schmitz; Martin ;   et al. February 9, 2006

Fast area-selected filtering for pixel-noise and analog artifacts reduction

Abstract

A method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines. The method includes receiving a selected frame of the video signal and processing the selected frame, wherein processing the selected frame includes determining an amount of motion of pixels of the selected frame, retaining pixel values of the pixels of the selected frame if the amount of motion in the pixels of the selected frame is greater than a pixel change threshold, and replacing the pixel values of the pixels of the selected frame with filtered pixel values if the amount of motion in the pixels of the selected frame is equal to or less than the pixel change threshold. The method further includes storing the retained pixel values and filtered pixel values of the selected frame.


Inventors: Schmitz; Martin; (Braunschweig, DE) ; Duvanenko; Victor J.; (Indianapolis, IN)
Correspondence Address:
    FINNEGAN, HENDERSON, FARABOW, GARRETT & DUNNER;LLP
    901 NEW YORK AVENUE, NW
    WASHINGTON
    DC
    20001-4413
    US
Family ID: 35478816
Appl. No.: 10/913475
Filed: August 9, 2004

Current U.S. Class: 348/241 ; 348/E5.065; 348/E5.077
Current CPC Class: H04N 5/21 20130101; H04N 5/144 20130101
Class at Publication: 348/241
International Class: H04N 5/217 20060101 H04N005/217

Claims



1. A method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the method comprising: receiving a selected frame of the video signal; processing the selected frame by: determining an amount of motion of pixels of the selected frame; retaining pixel values of the pixels of the selected frame if the amount of motion in the pixels of the selected frame is greater than a pixel change threshold; and replacing the pixel values of the pixels of the selected frame with filtered pixel values if the amount of motion in the pixels of the selected frame is equal to or less than the pixel change threshold; and storing the retained pixel values and filtered pixel values of the selected frame.

2. The method of claim 1, wherein determining an amount of motion of a pixel comprises comparing the pixel value of the pixel with the pixel values of corresponding pixels of at least one frame other than the selected frame.

3. The method of claim 1, wherein determining an amount of motion of a pixel of the selected frame comprises calculating a first average of the pixel value of the pixel and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame; wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the pixel and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the pixel of the selected frame by comparing the first and second averages.

4. The method of claim 3, wherein calculating the first average comprises calculating an average of the pixel and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the pixel.

5. The method of claim 3, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

6. The method of claim 3, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

7. The method of claim 6, wherein: the plurality of color component values comprises red, green, and blue color component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

8. The method of claim 6, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of the pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

9. The method of claim 1, wherein a filtered pixel value for a pixel in the selected frame comprises an estimate based on the pixel value of the pixel and the pixel value of at least one other pixel of at least one other frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one other frame corresponding to the position of the pixel in the selected frame.

10. The method of claim 9, wherein the estimate comprises a median.

11. The method of claim 1, further comprising receiving a plurality of other frames of the video signal, and repeating processing the selected frame and storing the retained pixel values and filtered pixel values of the selected frame for the other frames.

12. The method of claim 1, wherein the selected frame comprises a first field comprising odd numbered lines of the frame and a second field comprising even numbered lines of the frame.

13. A method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the selected frame.

14. The method of claim 13, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of a respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

15. The method of claim 13, wherein determining each of the first, second, and third amounts of pixel change comprises: calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the selected frame by comparing the first and second averages.

16. The method of claim 15, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

17. The method of claim 15, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

18. The method of claim 15, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

19. The method of claim 18, wherein: the plurality of color component values comprises red, green, and blue component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

20. The method of claim 18, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

21. The method of claim 13, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

22. The method of claim 21, wherein the estimate comprises a median.

23. The method of claim 13, wherein processing at least a first pixel of the selected frame comprises processing a plurality of pixels of the selected frame.

24. The method of claim 23, wherein processing at least a first pixel of the selected frame comprises processing each pixel of the selected frame.

25. The method of claim 13, comprising: receiving a plurality of frames; processing at least a first pixel of the plurality of frames; and storing the plurality of frames.

26. A method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, wherein the plurality of horizontal lines are grouped into a first field including odd lines of a frame and a second field including even lines of a frame, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of one field of the first and second fields of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the one field of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the one field the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being, in a third line of the one field the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the one field of the selected frame.

27. The method of claim 26, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of a respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

28. The method of claim 26, wherein determining each of the first, second, and third amounts of pixel change comprises: calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the one field of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the one field of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the one field the selected frame by comparing the first and second averages.

29. The method of claim 28, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the one field of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

30. The method of claim 28, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

31. The method of claim 28, wherein each pixel comprises red, green, and blue color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

32. The method of claim 31, wherein each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

33. The method of claim 31, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

34. The method of claim 26, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

35. The method of claim 34, wherein the estimate comprises a median.

36. The method of claim 26, wherein processing at least a first pixel of the one field of the selected frame comprises processing a plurality of pixels of the one field of the selected frame.

37. The method of claim 36, wherein processing at least a first pixel of the one field of the selected frame comprises processing each pixel of the one field of the selected frame.

38. The method of claim 36, further comprising repeating processing at least a first pixel of the one field of the selected frame comprises for the other one of the first and second fields of the selected frame.

39. The method of claim 26, comprising: receiving a plurality of frames; processing at least a first pixel of one of the first and second fields of the plurality of frames; and storing the plurality of frames.

40. A computer system connectable to a video capturing device for receiving a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the system comprising: a memory for storing a set of instructions implementing a method for processing the plurality of sequential frames, the method comprising: receiving a selected frame of the video signal; processing the selected frame by: determining an amount of motion of pixels of the selected frame; retaining pixel values of the pixels of the selected frame if the amount of motion in the pixels of the selected frame is greater than a pixel change threshold; and replacing the pixel values of the pixels of the selected frame with filtered pixel values if the amount of motion in the pixels of the selected frame is equal to or less than the pixel change threshold; and storing the retained pixel values and filtered pixel values of the selected frame; and a processor for executing the set of instructions.

41. The system of claim 40, wherein determining an amount of motion of a pixel comprises comparing the pixel value of the pixel with the pixel values of corresponding pixels of at least one frame other than the selected frame.

42. The system of claim 40, wherein determining an amount of motion of a pixel of the selected frame comprises calculating a first average of the pixel value of the pixel and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame; wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the pixel and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the pixel of the selected frame by comparing the first and second averages.

43. The system of claim 42, wherein calculating the first average comprises calculating an average of the pixel and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the pixel.

44. The system of claim 42, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

45. The system of claim 42, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

46. The system of claim 45, wherein: the plurality of color component values comprises red, green, and blue component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

47. The system of claim 45, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of the pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

48. The system of claim 40, wherein a filtered pixel value for a pixel in the selected frame comprises an estimate based on the pixel value of the pixel and the pixel value of at least one other pixel of at least one other frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one other frame corresponding to the position of the pixel in the selected frame.

49. The system of claim 48, wherein the estimate comprises a median.

50. The system of claim 40, further comprising receiving a plurality of other frames of the video signal, and repeating processing the selected frame and storing the retained pixel values and filtered pixel values of the selected frame for the other frames.

51. The system of claim 40, wherein the system is connectable to a storage medium and the storing comprises storing the retained pixel values and filtered pixel values of the selected frame in the storage medium.

52. The system of claim 51, wherein the storage medium comprises at least one of a diskette, a CD-ROM, and a hard disk.

53. A computer system connectable to a video capturing device for receiving a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the system comprising: a read-only memory (ROM) for storing a set of instructions implementing a method for processing the plurality of sequential frames, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the selected frame; and a processor for executing the set of instructions.

54. The system of claim 53, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of a respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

55. The system of claim 53, wherein determining each of the first, second, and third amounts of motion comprises: calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the selected frame by comparing the first and second averages.

56. The system of claim 55, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

57. The system of claim 55, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

58. The system of claim 55, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

59. The system of claim 58, wherein: the plurality of color component values comprises red, green, and blue component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

60. The system of claim 58, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

61. The system of claim 53, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

62. The system of claim 61, wherein the estimate comprises a median.

63. The system of claim 53, wherein processing at least a first pixel of the selected frame comprises processing a plurality of pixels of the selected frame.

64. The system of claim 63, wherein processing at least a first pixel of the selected frame comprises processing each pixel of the selected frame.

65. The system of claim 53, comprising: receiving a plurality of frames; processing at least a first pixel of the plurality of frames; and storing the plurality of frames.

66. The system of claim 53, wherein the system is connectable to a storage medium and the storing comprises storing the retained pixel values and filtered pixel values of the selected frame in the storage medium.

67. The system of claim 66, wherein the storage medium comprises at least one of diskette, CD-ROM, and hard disk.

68. A computer system connectable to a video capturing device for receiving a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, wherein the plurality of horizontal lines are grouped into a first field including odd lines of a frame and a second field including even lines of a frame, the system comprising: a read-only memory (ROM) for storing a set of instructions implementing a method for processing the plurality of sequential frames, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of one field of the first and second fields of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the one field of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the one field the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the one field the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the one field of the selected frame; and a processor for executing the set of instructions.

69. The system of claim 68, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of the respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

70. The system of claim 68, wherein determining each of the first, second, and third amounts of pixel change comprises: calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the one field of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the one field of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the one field the selected frame by comparing the first and second averages.

71. The system of claim 70, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the one field of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

72. The system of claim 70, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

73. The system of claim 70, wherein each pixel comprises red, green, and blue color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

74. The system of claim 73, wherein each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

75. The system of claim 73, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

76. The system of claim 68, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

77. The system of claim 76, wherein the estimate comprises a median.

78. The system of claim 68, wherein processing at least a first pixel of the one field of the selected frame comprises processing a plurality of pixels of the one field of the selected frame.

79. The system of claim 78, wherein processing at least a first pixel of the one field of the selected frame comprises processing each pixel of the one field of the selected frame.

80. The system of claim 78, further comprising repeating processing at least a first pixel of the one field of the selected frame comprises for the other one of the first and second fields of the selected frame.

81. The system of claim 68, comprising: receiving a plurality of frames; processing at least a first pixel of one of the first and second fields of the plurality of frames; and storing the plurality of frames.

82. The system of claim 68, wherein the system is connectable to a storage medium and the storing comprises storing the retained pixel values and filtered pixel values of the selected frame in the storage medium.

83. The system of claim 82, wherein the storage medium comprises at least one of a diskette, a CD-ROM, and a hard disk.

84. A computer-readable medium containing a program for causing a processor to perform a method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the method comprising: receiving a selected frame of the video signal; processing the selected frame by: determining an amount of motion of pixels of the selected frame; retaining pixel values of the pixels of the selected frame if the amount of motion in the pixels of the selected frame is greater than a pixel change threshold; and replacing the pixel values of the pixels of the selected frame with filtered pixel values if the amount of motion in the pixels of the selected frame is equal to or less than the pixel change threshold; and storing the retained pixel values and filtered pixel values of the selected frame.

85. The medium of claim 84, wherein determining an amount of motion of a pixel comprises comparing the pixel value of the pixel with the pixel values of corresponding pixels of at least one frame other than the selected frame.

86. The medium of claim 84, wherein determining an amount of motion of a pixel of the selected frame comprises calculating a first average of the pixel value of the pixel and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame; wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the pixel and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the pixel of the selected frame by comparing the first and second averages.

87. The medium of claim 86, wherein calculating the first average comprises calculating an average of the pixel and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the pixel.

88. The medium of claim 86, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

89. The medium of claim 86, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

90. The medium of claim 89, wherein: the plurality of color component values comprises red, green, and blue color component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

91. The medium of claim 89, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of the pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

92. The medium of claim 84, wherein a filtered pixel value for a pixel in the selected frame comprises an estimate based on the pixel value of the pixel and the pixel value of at least one other pixel of at least one other frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one other frame corresponding to the position of the pixel in the selected frame.

93. The medium of claim 92, wherein the estimate comprises a median.

94. The medium of claim 84, further comprising receiving a plurality of other frames of the video signal, and repeating processing the selected frame and storing the retained pixel values and filtered pixel values of the selected frame for the other frames.

95. The medium of claim 84, wherein the medium is one of diskette, CD-ROM, and hard disk.

96. A computer-readable medium containing a program for causing a processor to perform a method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the selected frame.

97. The medium of claim 96, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of a respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

98. The medium of claim 96, wherein determining each of the first, second, and third amounts of pixel change comprises calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the selected frame by comparing the first and second averages.

99. The medium of claim 98, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

100. The medium of claim 98, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

101. The medium of claim 98, wherein each pixel comprises a plurality of color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

102. The medium of claim 101, wherein; the plurality of color component values comprises red, green, and blue color component values; each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

103. The medium of claim 101, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

104. The medium of claim 96, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

105. The medium of claim 104, wherein the estimate comprises a median.

106. The medium of claim 96, wherein processing at least a first pixel of the selected frame comprises processing a plurality of pixels of the selected frame.

107. The medium of claim 106, wherein processing at least a first pixel of the selected frame comprises processing each pixel of the selected frame.

108. The medium of claim 96, comprising: receiving a plurality of frames; processing at least a first pixel of the plurality of frames; and storing the plurality of frames.

109. The medium of claim 96, wherein the storage medium is one of diskette, CD-ROM, and hard disk.

110. A computer-readable medium containing a program for causing a processor to perform a method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines, wherein the plurality of horizontal lines are grouped into a first field including odd lines of a frame and a second field including even lines of a frame, the method comprising: receiving a selected frame of the video signal; processing at least a first pixel of one field of the first and second fields of the selected frame by: determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the one field of the selected frame; determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the one field the selected frame and vertically adjacent to the first pixel; determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the one field the selected frame and vertically adjacent to the first pixel; retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold; and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold; and storing the pixel values and filtered pixel values of the one field of the selected frame.

111. The medium of claim 110, wherein determining each of the first, second, and third amounts of pixel change comprises comparing the pixel value of a respective one of the first, second, and third pixels with values of corresponding pixels of at least one frame other than the selected frame.

112. The medium of claim 110, wherein determining each of the first, second, and third amounts of pixel change comprises: calculating a first average of the pixel value of a respective one of the first, second, and third pixels and the pixel value of at least one neighboring pixel in the same horizontal line of the one field of the selected frame; calculating a second average of at least two pixels in at least one neighboring frame, wherein the at least two pixels in the at least one neighboring frame correspond in position within their respective frame to the positions of the respective one of the first, second, and third pixels and the at least one neighboring pixel of the one field of the selected frame; and calculating a pixel change of the respective one of the first, second, and third pixels of the one field the selected frame by comparing the first and second averages.

113. The medium of claim 112, wherein calculating the first average comprises calculating an average of the respective one of the first, second, and third pixels and two neighboring pixels in the same horizontal line of the one field of the selected frame, the two neighboring pixels having positions on opposite sides of the respective one of the first, second, and third pixels.

114. The medium of claim 112, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame.

115. The medium of claim 112, wherein each pixel comprises red, green, and blue color component values, and calculating the first and second averages comprises calculating respective averages for each of the color components.

116. The medium of claim 115, wherein each color component value has a normalized value between 0 and 1; and the pixel change threshold is chosen to be 0.15.

117. The medium of claim 115, wherein the at least one neighboring frame comprises the frame sequentially before the selected frame and the frame sequentially after the selected frame, and the pixel change of a pixel is equal to the maximum one of the three differences of the respective averages of each color component between the selected frame and the frame sequentially before the selected frame and the three differences of the respective averages of each color component between the selected frame and the frame sequentially after the selected frame.

118. The medium of claim 110, wherein the filtered pixel value comprises an estimate based on the pixel value of the first pixel and pixel values of at least one other pixel of at least one second frame sequentially before or after the selected frame, the position of the at least one other pixel in the at least one second frame corresponding to the position of the first pixel in the selected frame.

119. The medium of claim 118, wherein the estimate comprises a median.

120. The medium of claim 110, wherein processing at least a first pixel of the one field of the selected frame comprises processing a plurality of pixels of the one field of the selected frame.

121. The medium of claim 120, wherein processing at least a first pixel of the one field of the selected frame comprises processing each pixel of the one field of the selected frame.

122. The medium of claim 120, further comprising repeating processing at least a first pixel of the one field of the selected frame comprises for the other one of the first and second fields of the selected frame.

123. The medium of claim 110, comprising: receiving a plurality of frames; processing at least a first pixel of one of the first and second fields of the plurality of frames; and storing the plurality of frames.

124. The medium of claim 110, wherein the system is connectable to a storage medium and the storing comprises storing the retained pixel values and filtered pixel values of the selected frame in the storage medium.

125. The medium of claim 124, wherein the storage medium is at least one of one of a diskette, a CD-ROM, and a hard disk.
Description



TECHNICAL FIELD

[0001] The present invention is in general related to video image processing methods and apparatus and, more particularly, to fast area-selected filtering methods and apparatus that reduce pixel noise and analog artifacts.

BACKGROUND

[0002] Digital video cameras and analog video capturing devices have been widely used in recent years. The ever-greater amount of video images to be processed demand more and more advanced video compression techniques, an example of which is motion estimation that is generally applied to remove data redundancies. Also, during video capturing process, pixel noise and artifacts may be caused by the capturing devices. Thus, image filtering techniques are commonly applied to remove such pixel noise and artifacts.

[0003] A video signal comprises temporally consecutive, or sequential, frames of images. Each frame further comprises an array of pixels, which may also be viewed as being arranged in a plurality of horizontal lines. Each pixel typically has three color components: red, green, and blue.

[0004] Pixel noise may be described as a random offset in one or more of the color components of the pixels. Therefore, the pixel noise in one pixel of a frame is independent of the pixel noise in another pixel in that same or another frame. In contrast, artifacts are quasi-random offsets exhibiting inter-dependencies between pixels in a line.

[0005] In order to remove the pixel noise and artifacts, spatial or temporal filtering methods may be applied. Spatial filtering typically means replacing a pixel with an estimate based on the neighboring pixels thereof, while temporal filtering generally means replacing a pixel with an estimate based on values of that same pixel over time. However, spatial filtering tends to blur sharp edges of the images and therefore reduce the resolution, and temporal filtering may introduce motion blur if objects on the video move at a significant speed. It is therefore desirable to provide improved methods and apparatus for filtering video signals.

SUMMARY

[0006] Methods and systems consistent with aspects and principles of the present invention may obviate one or more of the above and/or other problems by providing filtering only to selected areas where motions of objects are determined to be slow or still.

[0007] Consistent with aspects of the present invention, there is provided a method for processing a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines. The method includes receiving a selected frame of the video signal and processing the selected frame, wherein processing the selected frame includes determining an amount of motion of pixels of the selected frame, retaining pixel values of the pixels of the selected frame if the amount of motion in the pixels of the selected frame is greater than a pixel change threshold, and replacing the pixel values of the pixels of the selected frame with filtered pixel values if the amount of motion in the pixels of the selected frame is equal to or less than the pixel change threshold. The method further includes storing the retained pixel values and filtered pixel values of the selected frame.

[0008] Consistent with other aspects of the present invention, there is provided a computer system connectable to a video capturing device for receiving a video signal having a plurality of sequential frames comprising an array of pixels each having a pixel value and arranged in a plurality of horizontal lines. The system includes a memory for storing a set of instructions implementing a method for processing the plurality of sequential frames and a processor for executing the set of instructions. The method includes receiving a selected frame of the video signal and processing at least a first pixel of the selected frame, wherein processing at least a first pixel of the selected frame includes determining a first amount of pixel change in the first pixel, wherein the first pixel is in a first line of the selected frame, determining a second amount of pixel change in a second pixel, the second pixel being in a second line of the selected frame and vertically adjacent to the first pixel, determining a third amount of pixel change in a third pixel, the third pixel being in a third line of the selected frame and vertically adjacent to the first pixel, retaining the pixel value of the first pixel if at least two of the first, second, and third amounts of pixel change are greater than a pixel change threshold, and replacing the pixel value of the first pixel with a filtered pixel value if at least two of the first, second, and third amounts of pixel change are equal to or less than the pixel change threshold. The method further includes storing the pixel values and filtered pixel values of the selected frame.

[0009] Additional features and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The features and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.

[0010] The foregoing background and summary are not intended to be comprehensive, but instead serve to help one skilled in the art understand the following implementations consistent with the invention set forth in the appended claims. In addition, the foregoing background and summary are not intended to provide any independent limitations on the claimed invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings show features of implementations consistent with the present invention and, together with the corresponding written description, help explain principles associated with the invention. In the drawings:

[0012] FIG. 1 is a logic flow diagram of a method for processing a video signal, consistent with the invention;

[0013] FIG. 2 is an image showing a person in the process of turning around;

[0014] FIG. 3 shows in black portions of the image of FIG. 1 that are not to be filtered, as determined by a filtering method consistent with the present invention; and

[0015] FIG. 4 shows a computer system in which the area-selected filtering method consistent with the present invention may be implemented.

DETAILED DESCRIPTION

[0016] The following description refers to the accompanying drawings, in which, in the absence of a contrary representation, the same numbers in different drawings represent similar elements. The implementations set forth in the following description do not represent all implementations consistent with the claimed invention. Instead, they are merely some examples of systems and methods consistent with the invention. Other implementations may be used and structural and procedural changes may be made without departing from the scope of present invention.

[0017] Consistent with aspects of the present invention, there is provided an area-selected filtering method and principle that obviate one or more problems of conventional filtering methods. By identifying pixels contained in still or in slow motion portions of an image and applying filtering thereto, the area-selected filtering method avoids possible image blur caused by spatial filtering and motion blur caused by temporal filtering.

[0018] In the following description, a video signal comprising progressive image frames is assumed. In other words, spatially consecutive lines of each frame of the video are also displayed consecutively. However, it is to be understood that the area-selected filtering method may also be applied for processing a video signal comprising interlaced images, which shall be apparent to one skilled in the art.

[0019] For illustration purposes, it is also assumed that each frame of the video comprises pixels each being represented by the horizontal position and vertical position thereof, wherein the horizontal position is labeled as x and the vertical position is labeled as y. Accordingly, (x, y) represents the pixel at a horizontal distance of x and a vertical distance of y from an origin of the frame.

[0020] A video frame at time t=t.sub.0 which is currently being filtered is denoted as C and its temporal neighbors are denoted as P and F, wherein P is the previous frame at time t=t.sub.0-1 and F is the future frame at time t=t.sub.0+1. Thus, C(x,y) represents pixel (x, y) of frame C, etc. The three color components of a pixel may be respectively denoted by a subscript of r, g, or b. For example, C.sub.r(x,y) represents the red color component of pixel C(x,y), and a value of C.sub.r(x,y) indicates the intensity of red color component of pixel C(x,y). In the following description, the color components of each pixel are normalized to the range of 0 to 1. Thus, for example, a maximum value of C.sub.r(x,y) or C.sub.g(x,y) is 1. The composition of all three color components may be represented by a vector, for example, (x,y).

[0021] A method for processing a video signal, consistent with the invention, is shown in FIG. 1. The method begins at 10. First, at 12, a frame of video data is received. Next, at 14, the amount of motion of the pixel is determined. Then, at 16, for each pixel, it is determined whether that pixel is in a fast motion, that is, greater than a pixel change threshold. In one aspect, this may be achieved by comparing the values of that pixel between consecutive video frames. For example, by comparing the values of each color component of pixel (10, 20) on frames P, C, F, it may be determined, using techniques described below, whether pixel (10, 20) has fast motion.

[0022] However, due to the existence of pixel noise and artifacts, pixel (10, 20) in one frame, e.g., frame C, may not represent the true values of that pixel at time t=t.sub.0, in which case a comparison between the values of pixel (10, 20) at frames P, C, F may erroneously indicate that pixel (10, 20) is in a fast or slow motion. To avoid this problem and consistent with the area-selected filtering method, a spatial average of several neighboring pixels, rather than a single pixel, may be compared over several consecutive frames.

[0023] For example, a sum of three horizontally neighboring pixels including the pixel current being filtered, (x, y), is first calculated for each of frames P, C, F, as follows: S -> P .times. .times. ( x , y ) = i = - 1 i = 1 .times. .times. P -> .times. .times. ( x + i , y ) , ( 1 ) S -> C .times. .times. ( x , y ) = i = - 1 i = 1 .times. .times. C -> .times. .times. ( x + i , y ) , ( 2 ) S -> F .times. .times. ( x , y ) = i = - 1 i = 1 .times. .times. F -> .times. .times. ( x + i , y ) . ( 3 ) ##EQU1##

[0024] Each color component of the above sums may be expressed by adding a respective subscript. For example, the red component of .sub.F(x,y) may be denoted as .sub.F(x,y),r. Then, each color component of these sums is averaged and the temporal change thereof between frames P, C, F is calculated. A maximum pixel change M(x,y) is defined as follows: M .times. .times. ( x , y ) = 1 3 .times. max .times. .times. ( S F .times. .times. ( x , y ) , r - S C .times. .times. ( x , y ) , r , S F .times. .times. ( x , y ) , g - S C .times. .times. ( x , y ) , g , S F .times. .times. ( x , y ) , b - S C .times. .times. ( x , y ) , b , S P .times. .times. ( x , y ) , r - S C .times. .times. ( x , y ) , r , S P .times. .times. ( x , y ) , g - S C .times. .times. ( x , y ) , g , S P .times. .times. ( x , y ) , b - S C .times. .times. ( x , y ) , b ) . ( 4 ) ##EQU2##

[0025] Consistent with the area-selected filtering method, a pixel change threshold u is defined such that if M(x,y)>u (5) pixel (x,y) is considered in fast motion at t=t.sub.0; otherwise, pixel (x,y) is in slow motion. If M(x,y)=0, pixel (x,y) may be considered still. The value of pixel change threshold u may be any suitable number depending on the particular application. For example, computer simulations show that if u is between 0.1 and 0.25, and preferably 0.15, good-processing results are obtained for many popular applications.

[0026] In one aspect, three consecutive horizontal lines may be considered for determining if a pixel is in a fast motion, with the current line in the middle. A criteria for a pixel to be in a fast motion may be set such that two of the three consecutive lines must satisfy inequality (5), given as follows: N(x,y)=((M(x,y-1)>u)+(M(x,y)>u)+(M(x,y+1)>u))>1, (6) wherein each of terms (M(x,y-1)>u), (M(x,y)>u), and (M(x,y+1)>u) has a Boolean value of either 0 or 1, and (x, y-1), (x,y), (x, y+1) are vertically neighboring pixels.

[0027] One skilled in the art would now understand that N(x,y) indicates a normalized motion of pixel (x, y) at t=t.sub.0, where a maximum value of 3 corresponds to a motion of 3 {square root over (2)} pixels per frame time. That is, a value of N(x,y)=3 means that three neighboring lines have changes (i.e., motion) above the threshold. This will occur whenever a 3.times.3 square of pixels exhibits motion between two frames. Since the greatest distance between pixels in a 3.times.3 square is 3 {square root over (2)}, this is the amount of motion represented by a value of N(x,y)=3. Because N(x,y) is calculated from M(x,y), which is based on a spatial average of neighboring pixels of (x,y), pixel noise may be effectively suppressed in the representation of motion of pixel (x,y) by N(x,y). Further, because generally the inter-dependency of artifacts does not extend beyond one horizontal line, the criteria given in inequality (6) will effectively suppress artifacts.

[0028] Consistent with the present invention, if the amount of motion of the pixel is equal to or below the threshold, the pixel value is retained, at 18. However, if the amount of motion is above the threshold, the pixel value is replaced by a filtered value, at 20. Consistent with the present invention, temporal filtering is applied to filter the slow-motion or still pixels. Thus, image blur caused by spatial filtering may be obviated. Also, because the filtering is only applied to slow-motion or still pixels, motion blur caused in fast-motion pixels may be avoided. In one aspect, the temporal filtering may be implemented by replacing each color component of a pixel that is still or in a slow motion at t=t.sub.0 with an estimate thereof, while retaining the pixels determined to be in a fast motion. For example, the estimate may be chosen to be a median value of the respective color components at t=t.sub.0-1 t=t.sub.0, and t=t.sub.0+1.

[0029] Assuming a frame size of X pixels in the horizontal direction and Y pixels in the vertical direction, a pseudo-source code may thus be created to reflect the above-described area-selected filtering method: TABLE-US-00001 for( y = 0; y < Y; y++ ) for( x = 0; x < X; x++ ) { calculate N(x,y) if(N(x,y) > 1) { R.sub.r(x,y) = Median (C.sub.r(x,y), F.sub.r(x,y), P.sub.r(x,y)) R.sub.g(x,y) = Median (C.sub.g(x,y), F.sub.g(x,y), P.sub.g(x,y)) R.sub.h(x,y) = Median (C.sub.b(x,y), F.sub.b(x,y), P.sub.h(x,y)) } else { {overscore (R)}(x,y) = {overscore (C)}(x,y) } },

wherein (x,y), a vector composition of three color components R.sub.r(x,y), R.sub.g(x,y), and R.sub.b(x,y), is the result of filtering pixel (x,y). After all pixels of the frame have been processed, the retained or replaced pixel values of the frame are stored, at 22.

[0030] Computer simulation has been performed using the above code and a simulation result is shown in FIGS. 2 and 3, wherein FIG. 2 shows an original video frame of a person in the process of turning around, and FIG. 3 shows in black those portions of the frame that are masked out from filtering due to high motion.

[0031] As compared to conventional filtering methods, which require computing both the magnitude and direction of the motion of each pixel to estimate the pixel status at a certain moment, the filtering method consistent with the present invention only requires computing the magnitude of pixel motions. Therefore, the area-selected filtering method is much more cost-effective.

[0032] Although it was assumed that the video comprises progressive images, one skilled in the art should understand that the above-described filtering method may also be applied to process a video signal comprising interlaced image frames. For example, each frame may be treated as two separate fields, a first field comprising odd lines of the frame and a second field comprising even lines of the frame. The area-selected filtering method may then be applied to the first field and the second field separately. Thus, for interlaced images, inequality (6) becomes inequality (7): N(x,y)=((M(x,y-2)>u)+(M(x,y)>u)+(M(x,y+2)>u))>1. (7) In other words, only three consecutive lines in the same field are considered.

[0033] Also, in calculating the spatial average of each pixel in formulae (1).about.(3), only three horizontally neighboring pixels were considered. However, one skilled in the art would understand that the number of pixels in calculating the spatial average is not limited to three, but rather in certain applications may be another appropriate value. Clearly, a smaller number of pixels in calculating the spatial average may result in a less satisfactory suppression of pixel noise, while a larger number may cause significant increase in the burden on a processor performing the calculation. Similarly, more or less than three consecutive horizontal lines may be considered in inequality (6) for reducing the artifacts.

[0034] Consistent with the present invention, the area-selected filtering method may be implemented in a computer system or in a software that is stored in a computer-readable media. Such implementation is described below with reference to FIG. 4, which shows a computer system 300 in which the area-selected filtering method consistent with the present invention may be implemented.

[0035] Referring to FIG. 4, system 300 includes a processor 310 (which may be implemented with a conventional microprocessor), a random access memory (RAM) 320 for temporary storage of information, and a read only memory (ROM) 320 for permanent storage of information. A bus 330 interconnects these components of computer system 300. A storage medium 332 may be connected through a storage medium drive 334 for storing data and also exchanging data with components of computer system 300. Storage medium 332 may be, for example, a diskette, CD-ROM, and hard drive. Computer system 300 is also connectable to a video capturing device 336 for receiving video images captured thereby.

[0036] In one aspect, computer system 300 may be implemented as a personal computer, in which case computer system 300 may also include input devices such as a keyboard and a mouse and output devices such as a monitor and speakers (not shown). Processor 310 accordingly may be a central processing unit (CPU). A software program implementing the area-selected filtering method consistent with the present invention may be stored in storage medium 332, such that processor 310 controls the loading of the software program from storage medium 332 to RAM 320 and the execution thereof.

[0037] Video images captured by video capturing device 336 may be processed by processor 310 executing instructions contained either in the software program being loaded into RAM 320 or stored in ROM 330. In one aspect, the video images are transmitted from video capturing device 336 at the same time while the images are processed by processor 310. In another aspect, computer system 300 first transfers the video images from video capturing device 336 to storage medium 332, and then loads the video images from storage medium 332 to RAM 320 prior to processing them in processor 310. The results of the video image processing may then be stored in storage medium 32.

[0038] In another aspect, computer system 300 may be implemented as an stand-alone image processor, wherein ROM 330 which permanently stores a set of instructions to perform the area-selected filtering method consistent with the present invention. As will be understood by one skilled in the art, other system configurations incorporating processing devices and storage media may be used to execute the methods described above.

[0039] The foregoing description of possible implementations consistent with the present invention does not represent a comprehensive list of all such implementations or all variations of the implementations described. The description of only some implementations should not be construed as an intent to exclude other implementations. One skilled in the art will understand how to implement the invention in the appended claims in may other ways, using equivalents and alternatives that do not depart from the scope of the following claims. Moreover, unless indicated to the contrary in the preceding description, none of the components described in the implementations is essential to the invention.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed