Pre-processing method and system for data reduction of video sequences and bit rate reduction of compressed video sequences using spatial filtering
First Claim
1. A method of pre-filtering video comprising:
- receiving an original video sequence comprising a set of video frames, each video frame having a set of pixels;
pre-filtering each of a plurality of video frames to generate a pre-filtered video sequence, said pre-filtering comprising applying anisotropic diffusion filtering to each of a plurality of pixels in each of the plurality of video frames in order to reduce the differences between a plurality of neighboring pixels in the plurality of video frames, wherein the anisotropic diffusion filtering is performed for each pixel in the plurality of pixels in four horizontal and vertical directions comprising north, south, east and west and four diagonal directions comprising north-east, north-west, south-east, and south-west with respect to the pixel location of the pixel; and
encoding the pre-filtered video sequence using an encoding method to produce a pre-filtered and encoded video sequence that has a smaller bit rate than an encoded video sequence that would result from encoding the original video sequence using the same encoding method.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. Also, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. Pre-processing may include spatial anisotropic diffusion filtering such as Perona-Malik filtering, Fallah-Ford filtering, or omni-directional filtering that extends Perona-Malik filtering to perform filtering in at least one diagonal direction. Pre-processing may also include performing filtering differently on a foreground region than on a background region of a video frame. This method includes identifying pixel locations having pixel values matching characteristics of human skin and determining a bounding shape for each contiguous grouping of matching pixel locations. The foreground region is comprised of pixel locations contained in a bounding shape and the background region is comprised of all other pixel locations.
-
Citations
16 Claims
-
1. A method of pre-filtering video comprising:
-
receiving an original video sequence comprising a set of video frames, each video frame having a set of pixels; pre-filtering each of a plurality of video frames to generate a pre-filtered video sequence, said pre-filtering comprising applying anisotropic diffusion filtering to each of a plurality of pixels in each of the plurality of video frames in order to reduce the differences between a plurality of neighboring pixels in the plurality of video frames, wherein the anisotropic diffusion filtering is performed for each pixel in the plurality of pixels in four horizontal and vertical directions comprising north, south, east and west and four diagonal directions comprising north-east, north-west, south-east, and south-west with respect to the pixel location of the pixel; and encoding the pre-filtered video sequence using an encoding method to produce a pre-filtered and encoded video sequence that has a smaller bit rate than an encoded video sequence that would result from encoding the original video sequence using the same encoding method. - View Dependent Claims (2, 3)
-
-
4. A method of pre-processing a video frame comprising:
-
receiving an original video frame having a set of pixels, each pixel located at a pixel location; pre-processing the original video frame to generate a pre-processed video frame that has less data to encode than the original video frame, the pre-processing comprising; performing anisotropic diffusion filtering on each of a plurality of pixels of the original video frame in an orthogonal direction with respect to the pixel location of the pixel; performing the anisotropic diffusion filtering on the pixel in at least one diagonal direction with respect to the pixel location of the pixel by scaling, by a factor that is a function of a dimension of the video frame, a difference in pixel values of the pixel and another pixel that is neighboring the pixel in the diagonal direction; and outputting the pre-processed video frame to an encoder to encode the pre-processed video frame. - View Dependent Claims (5, 6)
-
-
7. A non-transitory computer readable medium storing a program for pre-filtering an original video sequence, the program comprising sets of instructions for:
-
receiving the original video sequence comprising a set of video frames, each video frame having a set of pixels; pre-filtering each of a plurality of video frames to generate a pre-filtered video sequence, said pre-filtering comprising applying anisotropic diffusion filtering to each of a plurality of pixels in each of the plurality of video frames in order to reduce the differences between a plurality of neighboring pixels in the plurality of video frames, wherein the anisotropic diffusion filtering is performed for each pixel in the plurality of pixels in four horizontal and vertical directions comprising north, south, east and west and four diagonal directions comprising north-east, north-west, south-east, and south-west with respect to the pixel location of the pixel; and encoding the pre-filtered video sequence using an encoding method to produce a pre-filtered and encoded video sequence that has a smaller bit rate than an encoded video sequence that would result from encoding the original video sequence using the same encoding method. - View Dependent Claims (8, 9)
-
-
10. A non-transitory computer readable medium storing a program for pre-processing a video frame:
-
receiving an original video frame having a set of pixels, each pixel located at a pixel location; pre-processing the original video frame to generate a pre-processed video frame, the set of instructions for pre-processing comprising sets of instructions for; performing anisotropic diffusion filtering on each of a plurality of pixels of the original video frame in an orthogonal direction with respect to the pixel location of the pixel in order to reduce smoothing of edges in the pre-processed video frame; and performing the anisotropic diffusion filtering on the pixel in at least one diagonal direction with respect to the pixel location of the pixel by scaling, by a factor that is a function of a dimension of the video frame, a difference in pixel values of the pixel and another pixel that is neighboring the pixel in the diagonal direction in order to further reduce smoothing of edges in the pre-processed video frame; and outputting the pre-processed video frame to an encoder to encode the pre-processed video frame. - View Dependent Claims (11)
-
-
12. A system to process video comprising:
-
a pre-processing component to receive an original video sequence comprising a set of video frames, each video frame having a set of pixels, and to pre-filter each of a plurality of video frames to generate a pre-filtered video sequence, wherein said pre-processing component pre-filters each of the plurality of video frames by applying anisotropic diffusion filtering to each of a plurality of pixels in each of the plurality of video frames in order to reduce the differences between a plurality of neighboring pixels in the plurality of video frames, wherein the anisotropic diffusion filtering is performed for each pixel in the plurality of pixels in four horizontal and vertical directions comprising north, south, east and west and four diagonal directions comprising north-east, north-west, south-east, and south-west with respect to the pixel location of the pixel; and an encoder component to encode the pre-filtered video sequence using an encoding method to produce a pre-filtered and encoded video sequence that has a smaller bit rate than an encoded video sequence that would result from encoding the original video sequence using the same encoding method, the encoder component coupled to pre-processing component. - View Dependent Claims (13, 14)
-
-
15. A system to pre-process a video frame, the system comprising:
-
a pre-processing component to receive an original video frame having a set of pixels, each pixel located at a pixel location, and to pre-process the original video frame to generate a pre-processed video frame that has less data to encode than the original video frame, wherein the pre-processing component pre-processes the original video frame by performing anisotropic diffusion filtering on each of a plurality of pixels of the original video frame in an orthogonal direction with respect to the pixel location of the pixel and by performing the anisotropic diffusion filtering on the pixel in at least one diagonal direction with respect to the pixel location of the pixel by scaling, by a factor that is a function of a dimension of the video frame, a difference in pixel values of the pixel and another pixel that is neighboring the pixel in the diagonal direction; and an encoder component to encode the pre-processed video frame, the encoder component coupled to the pre-processing component. - View Dependent Claims (16)
-
Specification