US20060182356A1 - Video compression and decompression system with postfilter to filter coding artifacts - Google Patents
Video compression and decompression system with postfilter to filter coding artifacts Download PDFInfo
- Publication number
- US20060182356A1 US20060182356A1 US11/401,516 US40151606A US2006182356A1 US 20060182356 A1 US20060182356 A1 US 20060182356A1 US 40151606 A US40151606 A US 40151606A US 2006182356 A1 US2006182356 A1 US 2006182356A1
- Authority
- US
- United States
- Prior art keywords
- video sequence
- level
- frame
- video
- filter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/179—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the invention pertains to the field of video compression and decompression systems. More particularly, the invention pertains to a system and method for reducing compression artifacts in a video compression and decompression system.
- Systems for applications of video and visual communications transmit, process and store large quantities of video data.
- a rendering video system displays the video data as a sequence of individual digital images, also referred to as “frames,” thereby simulating movement.
- the video systems process and modify the video data prior to transmission or storage. For instance, the video data is compressed and encoded to reduce the bit rate and the required bandwidth for storage and transmission of the images.
- a video encoder is used to compress and encode the video data and a video decoder is used to decompress and to decode the video data.
- the video encoder outputs video data that has a reduced bit rate and a reduced redundancy. That is, the technique of video compression removes spatial redundancy within a video frame or temporal redundancy between consecutive video frames.
- an image coding process typically includes performing a block based frequency transform, e.g., discrete cosine transform (DCT), on an image to be transmitted.
- DCT discrete cosine transform
- the size of the quantization steps needs to be relatively large. In that case, the resulting coarse quantization of the DCT coefficients introduces coding artifacts into the transmitted image and severely degrades the visual quality of the decoded sequence that may be displayed.
- mosquito artifacts examples include mosquito artifacts and blocking artifacts.
- Mosquito artifacts are defined as temporarily nonstationary impulses that appear around objects which are moving within a decompressed video sequence.
- the mosquito artifacts result from the coarse quantization of a prediction error signal.
- the majority of the energy contained in the prediction error signal is the result of a motion estimator's inability to distinguish between differently moving objects within the video sequence.
- the subject is generally against a stationary background. Since the motion estimator tries to match blocks of pixels between temporarily adjacent frames, the boundaries between moving objects and stationary background that fall within these blocks cannot be detected. This leads to a situation where either a part of the background is assumed to be moving, or a part of the moving object is assumed to be stationary. If these prediction errors are coarsely quantized, impulsive artifacts result that change over time and tend to swarm around the moving object, similar to a mosquito.
- Blocking artifacts are defined as the introduction of artificial block boundaries into the decoded video sequence. These artifacts are due to the combination of quantization and dividing the prediction error signal into blocks. That is, since there exists an inverse relationship between spatial extent and frequency extent analogous to the inverse relationship that exists between time and frequency extent in Fourier analysis, the quantization errors that occur in the DCT domain are smeared across the corresponding spatial block. Furthermore, since each block is quantized separately, the errors are most visible at the block boundaries.
- An aspect of the present invention involves a decoder apparatus for a video compression and decompression system having an input to receive an encoded video sequence and an output for a decoded video sequence.
- a video decoder is coupled to the input and decodes the received encoded video sequence.
- a filter module is coupled to the video decoder and the output and filters a decoded video sequence from the video decoder.
- the filter module has a variable filter strength that is a function of detected motion activity within the video sequence.
- the filter module has an input to receive a decoded video sequence and an output for the decoded video sequence.
- An activity counter determines motion activity within the decoded video sequence.
- a threshold detector is coupled to the activity counter and adjusts a filter strength as a function of the determined motion activity within the decoded video sequence. The threshold detector selectively adjusts the filter strength to one of a predetermined number of levels.
- a further aspect of the invention involves a video compression and decompression system having an input to receive an encoded video sequence and an output for a decoded video sequence.
- a video decoder is coupled to the input and decodes the received encoded video sequence.
- a filter module is coupled to the video decoder and the output and filters a decoded video sequence from the video decoder.
- the filter module has a variable filter strength that is a function of detected motion activity within the video sequence.
- Another aspect of the invention involves a method of filtering a decoded video sequence in a video compression and decompression system.
- the method receives a decoded video sequence and determines a motion activity of each frame of the decoded video sequence.
- the method categorizes each frame as a frame of high activity or as a frame of low activity and adjusts a filter strength of a filter to filter the decoded video sequence as a function of the motion activity.
- FIG. 1 is a high-level block diagram of a video compression and decompression system having an encoder apparatus and a decoder apparatus that includes a postfilter module.
- FIG. 2 shows an exemplary embodiment of the postfilter module.
- FIGS. 3A and 3B are diagrams illustrating motion activity within a video sequence as a function of time.
- FIG. 3C is a flow diagram illustrating the filter strength of the postfilter module as a function of time.
- FIG. 4 is a diagram illustrating a procedure for varying the filter strength illustrated in FIG. 3C .
- FIG. 1 is a high-level block diagram of a video compression and decompression system 1 (hereinafter “video compression system 1 ”) having an encoder apparatus 2 and a decoder apparatus 4 that is coupled to the encoder apparatus 2 through a medium 6 .
- the encoder apparatus 3 includes a video encoder 12 and a buffer 14 .
- the decoder apparatus 4 includes a buffer 16 , a video decoder 8 and a postfilter module 20 .
- the postfilter module 20 provides for a variable filter strength in accordance with the present invention. The filter strength varies as a function of a determined motion activity within a video sequence in order to remove coding artifacts (e.g., mosquito artifacts and blocking artifacts) as explained below in greater detail.
- coding artifacts e.g., mosquito artifacts and blocking artifacts
- the encoder apparatus 2 encodes a video input sequence 8 (VIDEO IN) to generate an encoded and thus compressed representation in one of a number of possible formats.
- the format may be in an interleaved format tailored for “live” streaming of the encoded representation.
- the format may also be in a single file format in which each of the encoded representations are stored in a contiguous block within one file. This format is tailored for the “static” case in which a file is created for subsequent streaming by a server.
- the video input sequence 8 to the encoder apparatus 2 may be either a live signal, e.g., provided by a video camera, or a prerecorded sequence in a number of possible formats.
- the video input sequence 8 includes frames of a digital video, an audio segment consisting of digital audio, combinations of video, graphics, text, and/or audio (multimedia applications), or analog forms of the aforementioned. If necessary, conversions can be applied to various types of input signals such as analog video, or previously compressed and encoded video to produce an appropriate input to the encoder apparatus 2 .
- the encoder apparatus 2 may accept video in RGB or YUV formats.
- the encoder apparatus 2 may be adapted to accept any format of input as long as an appropriate conversion mechanism is supplied. Conversion mechanisms for converting a signal in one format to a signal in another format are well known in the art.
- the medium 6 may be a storage device or a transmission medium.
- the video compression system 1 may be implemented on a computer.
- the encoder apparatus 2 sends an encoded video stream (representation) to the medium 6 that is implemented as a storage device.
- the storage device may be a video server, a hard disk drive, a CD rewriteable drive, a read/write DVD drive, or any other device capable of storing and allowing the retrieval of encoded video data.
- the storage device is connected to the decoder apparatus 4 , which can selectively read from the storage device and decode the encoded video sequence. As the decoder apparatus 4 decodes a selected one of the encoded video sequence, it generates a reproduction of the video input sequence 8 , for example, for display on a computer monitor or screen.
- the medium 6 provides a connection to another computer, which may be a remote computer, that receives the encoded video sequence.
- the medium 6 may be a network connection such as a LAN, a WAN, the Internet, or the like.
- the decoder apparatus 4 within the remote computer decodes the encoded representations contained therein and may generate a reproduction of the video input sequence 8 on a screen or a monitor of the remote computer.
- the video encoder 12 performs, for example, a discrete cosine transform (DCT) to encode and compress the video sequence 8 .
- DCT discrete cosine transform
- the video encoder 12 converts the video input sequence 8 from the time domain into the frequency domain.
- the output of the video encoder 12 is a set of signal amplitudes, for example, called “DCT coefficients” or transform coefficients.
- a quantizer receives the DCT coefficients and assigns each of a range (or step size) of DCT coefficient values a single value, such as a small integer, during encoding. Quantization allows data to be represented more compactly, but results in the loss of some data. Quantization on a finer scale results in a less compact representation (higher bit-rate), but also involves the loss of less data. Quantization on a more coarse scale results in a more compact representation (lower bit-rate), but also involves more loss of data.
- the pre-existing video encoding techniques typically break up a frame (picture) into smaller blocks of pixels called macroblocks.
- Each macroblock can consist of a matrix of pixels, typically a 16 ⁇ 16 matrix, defining the unit of information at which encoding is performed.
- the matrix of pixels is therefore referred to as a 16 ⁇ 16 macroblock.
- These video encoding techniques usually break each 16 ⁇ 16 macroblock further up into smaller matrices of pixels. For example, into 8 ⁇ 8 matrices of pixels or 4 ⁇ 4 matrices of pixels. Such matrices are hereinafter referred to as subblocks.
- subblocks Such matrices are hereinafter referred to as subblocks.
- a 16 ⁇ 16 macroblock is divided into 4 ⁇ 4 subblocks.
- Those skilled in the art will appreciate that the present invention is equally applicable to systems that use 8 ⁇ 8 subblocks, 4 ⁇ 4 subblocks or only 16 ⁇ 16 marcoblocks without breaking it up into subblocks.
- the pre-existing encoding techniques provide for motion compensation and motion estimation using motion vectors.
- the motion vectors describe the direction, expressed through an x-component and a y-component, and the amount of motion of the 16 ⁇ 16 macroblocks, or their respective subblocks, and are transmitted to the decoder as part of the bit stream.
- Motion vectors are used for bidirectionally encoded pictures (B-pictures) and predicted pictures (P pictures) as known in the art.
- the buffer 14 of the encoder apparatus 2 receives the encoded and compressed video sequence (hereinafter “encoded video sequence”) from the video encoder 12 and adjusts the bit rate of the encoded video sequence before it is sent to the medium 6 . Buffering may be required because individual video images may contain varying amounts of information, resulting in varying coding efficiencies from image to image. As the buffer 14 has a limited size, a feedback loop to the quantizer may be used to avoid overflow or underflow of the buffer 14 .
- the bit-rate of the representation is the rate at which the representation data must be processed in order to present the representation in real time.
- a higher bit-rate representation of the video input sequence 8 generally comprises more data than a lower bit-rate representation of the same sequence.
- bit-rate measure The most pertinent application of the bit-rate measure is in determining the rate at which the data of the representation should be streamed in order to present the representation in real time.
- Real-time playback of a higher bit-rate representation of a video sequence requires that the data of the representation be streamed and/or decoded at a faster rate than that required for a lower bit-rate representation of the same sequence.
- a higher bit-rate representation requires a higher bandwidth communication link than a lower bit-rate representation.
- the decoder apparatus 4 performs the inverse function of the encoder apparatus 4 .
- the buffer 16 serves also to adjust the bit rate of the incoming encoded video sequence.
- the video decoder 18 decodes and decompresses the incoming video sequence reconstructing the video sequence and outputs a decoded and decompressed video sequence 24 (hereinafter “decoded video sequence 24 ”).
- the decoder apparatus 4 includes the postfilter module 20 that removes coding artifacts such as mosquito artifacts and blocking artifacts. The causes for these coding artifacts are explained above.
- the postfilter module 20 in accordance with the present invention reduces these artifacts without distorting the pictures which are output as a video output sequence 10 . The video movie is therefore visually more pleasing for the viewers' eyes.
- FIG. 2 shows the video decoder 18 coupled to an exemplary embodiment of the postfilter module 20 .
- the postfilter module 20 includes an activity counter 22 , a threshold detector 26 and a filter 30 .
- An output 19 of the video decoder 18 is connected to an input 21 of the activity counter 22 and an output 23 of the video decoder 18 is connected to an input 29 of the filter 30 .
- the activity counter 22 is connected to an input 25 of the threshold detector 26 which is also connected to an input 27 of the filter 30 .
- the input 21 of the activity counter 22 receives a sequence of motion vectors
- the input 29 of the filter 30 receives a bitstream representing the decoded video sequence
- the input 21 of the filter 30 receives a filter strength control signal.
- the filter 30 outputs the video output sequence 10 .
- the postfilter module 20 is divided into the activity counter 22 , the threshold detector 26 and the filter 30 for illustrative purposes only. Those skilled in the art will appreciate that such a division may not be required to implement the functionality of the postfilter module 20 in accordance of the present invention.
- the functionality of the postfilter module 20 may be implemented using a software module or a microprocessor that incorporates the functionalities of the components ( 22 , 26 , 30 ) shown in FIG. 2 .
- the video decoder 18 receives a bit stream representing the encoded video sequence from the buffer 16 ( FIG. 1 ).
- the video decoder 18 is a conventional MPEG decoder that includes a decoder controller, a VLC decoder (Variable Length Coding, VLC) and a reconstruction module.
- VLC decoder Very Length Coding
- VLC Variable Length Coding
- the operation and function of these components are known to those skilled in the art. These components are therefore described only to the extent believed to be helpful for a complete understanding of the present invention.
- For a more extensive description of a MPEG decoder reference is made to generally available MPEG documents and publications. For instance, Barry G. Haskell et at, “Digital Video: An Introduction to MPEG-2,” Chapman & Hall, ISBN 0-412-08411-2, Chapter 8, pages 156-182.
- the decoder controller receives the bit stream and derives control signals for the reconstruction module and the VLC decoder from the bit stream. Further, the decoder controller separates the encoded video data from the bit stream and inputs the encoded data to the VLC decoder. The decoder controller outputs control signals and status signals that include among others “block position,” “frame select,” “intra select” and “current picture” (not shown).
- the VLC decoder obtains from the encoded video data the quantized DC coefficients. Further, the VLC decoder obtains the motion vectors of each picture and a code word indicating the mode used to encode the video sequence (e.g., bidirectionally coded pictures (B-pictures) and predicted pictures (P-pictures)). In accordance with the present invention, the motion vectors are available for the activity counter 22 at the output 19 of the video decoder 18 .
- the reconstruction module includes a dequantizer unit and an IDCT unit for calculating the inverse DCT. Using the encoded video data and the control signals provided by the decoder controller, the reconstruction module rebuilds each picture and, thus, creates the decoded video sequence 24 that is input to the filter 30 .
- the activity counter 22 receives the motion vectors from the video encoder 18 on a frame-by-frame basis.
- Each macroblock of a frame e.g., a 16 ⁇ 16 macroblock
- the activity counter 22 uses these motion vectors to determine whether the presently analyzed frame (picture) is a high activity frame or a low activity frame.
- the activity counter 26 includes a processor that analyzes these motion vectors of the subblocks. If either the differences of the x-components or the difference of the y-components of a motion vector with respect to the present subblock and the neighboring subblocks are greater than a predetermined integer the present subblock is categorized as an active subblock. That is, the predetermined integer is selected as a parameter to determine whether there is motion in the present subblock. The processor determines that there is motion when at least one of the differences (x-components, y-components) is greater than the predetermined integer.
- the predetermined integer is selected to be in a range between “1” and “3.” In a preferred embodiment, the predetermined integer is “1.” This procedure is repeated, for example, sixteen times and each 4 ⁇ 4 subblock is either in the active category or in the inactive category.
- the processor determines the number of active subblocks for each macroblock.
- the processor characterizes this macroblock as an active macroblock.
- the predetermined threshold number is selected to define when a macroblock is active. That is, when a sufficient number of subblocks is active, the macroblock is defined as active. For instance, if the macroblock is divided into 4 ⁇ 4 subblocks, the predetermined threshold number is four so that the macroblock is active when more than four subblocks (i.e., 25%) out of 16 subblocks are active. In other embodiments, the macroblock may be defined as active when more subblocks are active (e.g., within a range between 30% and 50%), or when less subblocks are active (e.g., within a range of 10% and 25%).
- the processor counts the number of active macroblocks for the whole frame and compares the number of active macroblocks to a defined threshold value. If the number of active macroblocks is higher than the defined threshold value, the frame is a high activity frame (hereinafter “H” frame.) If the number of active macroblocks is equal to or lower than the defined threshold value, the processor characterizes the frame as a low activity frame (hereinafter “L” frame.)
- the defined threshold value may then be selected to be 300. That is, the frame is an “H” frame if more than 25% of the macroblocks are active. It is contemplated that the defined threshold value may be selected so that a frame is active when between 10% and 40% of the macroblocks are active.
- the processor For each “H” frame the processor increases a counter and for each “L” frame the processor decreases this counter.
- a first counter value therefore, increases and decreases as a function of the “H” frames and the “L” frames.
- the processor implements two counters. The first counter operates as described. The second counter, however, decreases with each “H” frame and increases with each “L” frame ( FIG. 3A ). A second counter value, therefore, decreases and increases as a function of the “H” frames and the “L” frames.
- the activity counter 22 may be implemented using a processor and separate counters coupled to the processor.
- the activity counter 22 may be implemented as a software module or a combination of a software module and firmware.
- the threshold detector 26 is coupled to the activity counter 22 and includes in one embodiment a comparator unit (e.g., including operational amplifiers).
- the comparator unit receives, for example, the two counter values from the activity counter 22 and determines the difference between the two counter values.
- the comparator unit compares this difference to predetermined threshold values as described below with respect to FIGS. 3A, 3C .
- the threshold values may be determined through resistor circuits coupled to the comparator unit. In another embodiment, the threshold values may be stored in a programmable memory from which the comparator unit may read the respective threshold value.
- the filter 30 is a digital filter that filters high-frequency components, such as pulses, from the decoded video sequence 24 .
- the filter 30 has a variable filter strength that depends upon the motion activity within a picture.
- the filter strength can be adjusted by varying the filter coefficients of the filter 30 .
- the filter 30 may be adjusted to have one of a number of predetermined levels representing different filter strengths.
- the filter 30 has three levels, Strong (“S”), Medium (“M”) or Weak (“W”) as shown in FIG. 3C . It is contemplated that more than three levels may be defined.
- the filter 30 may include or may be associated with a memory that stores the respective filter coefficients for the levels Strong, Medium and Weak.
- the generated control signal e.g., a code word corresponding to one of the levels addresses the memory and the filter coefficients for the selected filter strength are loaded to the filter 30 .
- FIG. 3A is a diagram illustrating the motion activity within the video sequence 24 as determined by the activity counter 26 .
- FIG. 3A shows two graphs 30 , 32 representing these events as a continuous function of time (t).
- the graph 30 is shown as a solid line and the graph 32 is shown as a broken line, wherein the graph 32 is a mirror image of the graph 30 relative to a horizontal axis through an offset value O.
- the offset value O may be zero and the horizontal axis may be the X-axis.
- the graph 30 increases with a predetermined rate and the graph 32 decreases with the same rate.
- FIG. 3A further shows difference values ⁇ 1 , ⁇ 2 , ⁇ 3 , ⁇ 4 as described below.
- FIG. 3B is a diagram illustrating a sequence of frames having high and low activities as a function of time (t).
- a frame with a high activity is represented as “H” and a frame with a low activity is represented as “L.”
- FIG. 3B is aligned with FIG. 3A to illustrate the increasing and decreasing graphs 30 , 32 as a function of the “H” and “L” frames.
- the illustrated sequence of frames (from left to right) has five “H” frames, ten “L” frames, eight “H” frames and eight “L” frames.
- FIG. 3C is a diagram illustrating the filter strength of the postfilter module 20 as a function of time.
- the filter strength may be set to have one of three levels Strong (“S”), Medium (“M”) or Weak (“W”).
- FIG. 4 is a flow diagram illustrating a procedure 40 for varying the filter strength illustrated in FIG. 3C .
- the activity counter is reset to its offset value O and the filter strength is set to be at the level “M” which is in one embodiment a default level as indicated in a step 42 .
- the procedure determines the motion activity within the sequence of frames. That is, the procedure determines whether the presently analyzed frame is a “H” frame or a “L” frame, for example, as illustrated in FIG. 3B . For each subblock within a 16 ⁇ 16 macroblock, the procedure looks at a present subblock and its neighboring subblocks and uses the differences of the motion vectors (x, y components) with respect to the present motion vector and the neighboring subblock to determine whether the present subblock is an active subblock or an inactive subblock This procedure is repeated sixteen times so that each subblock is either in the active category or in the inactive category.
- the procedure determines the number of active subblocks for each macroblock.
- a comparison of the number of active subblocks with the predetermined threshold value is used to determine whether the macroblock is an active or inactive macroblock.
- the predetermined threshold value is four. That is, if more than 25% of the 16 subblocks are in the active category the macroblock is an active macroblock. It is contemplated that the threshold value may be set at a higher number.
- the procedure determines the number of macroblocks for the whole frame and compares the number of active macroblocks to a defined threshold value. If the number of active macroblocks is higher than the defined threshold value, the frame is a “H” frame. In one embodiment, the defined threshold value is 25%, i.e., if the number of active macroblocks in a frame is greater than 25% of the number of macroblocks in the whole frame, the frame is an “H” frame. If it is a “H” frame, the procedure proceeds along the YES branch to a step 50 , and if it is not a “H” frame, the procedure proceeds along the NO branch to a step 48 .
- the procedure increases a first counter and decreases a second counter.
- These periods include the “H” frames as shown in FIG. 3B .
- the procedure decreases the first counter and increases the second counter.
- These periods include the “L” frames as shown in FIG. 3B .
- the procedure determines if the difference ⁇ is positive and if the difference ⁇ is greater than a threshold value T(MS).
- the threshold value T(MS) is an integer value, for example, eight (e.g., ⁇ 1 >8). If the condition is satisfied, the procedure proceeds along the YES branch to a step 56 . If the condition is not satisfied, the procedure proceeds along the NO branch to a step 58 .
- the filter strength is set to the level “S” the filter strength does not change unless another condition is satisfied.
- the procedure maintains the level “M” which is the default level for the filter strength.
- the procedure determines if the difference ⁇ is negative and if the absolute value of the difference ⁇ is greater than a threshold value T(SM).
- the threshold value T(SM) is an integer value, for example, five (e.g., abs ( ⁇ 2 )>5). If the condition is satisfied, the procedure proceeds along the YES branch to a step 64 . If the condition is not satisfied, the procedure proceeds along the NO branch to a step 62 . As indicated in the step 62 , the procedure maintains the filter strength at the level “S.”
- the filter strength is set to the level “M” the filter strength does not change unless another condition is satisfied.
- the procedure determines if the difference ⁇ is negative and if the absolute value of the difference ⁇ is greater than a threshold value T(MW).
- T(MW) is an integer value, for example, ten (e.g., abs ( ⁇ 3 )>10). If the condition is satisfied, the procedure proceeds along the YES branch to a step 70 . If the condition is not satisfied, the procedure proceeds along the NO branch to a step 68 . As indicated in the step 68 , the procedure maintains the filter strength at the level “M”.
- the filter strength is set to the level “W” the filter strength does not change unless another condition is satisfied.
- the procedure determines if the difference ⁇ is positive and if the difference ⁇ is greater than a threshold value T(WM).
- the threshold value T(WM) is an integer value, for example, three (e.g., ⁇ 4 >3). If the condition is satisfied, the procedure proceeds along the YES branch to a step 76 . If the condition is not satisfied, the procedure proceeds along the NO branch to a step 74 . As indicated in the step 74 , the procedure maintains the filter strength at the level “W.”
- the filter strength is set to the level “M” the filter strength does not change unless one of the conditions is satisfied.
- the procedure changes the filter strength to the level “W” as described with reference to the step 66 .
- the procedure determines whether the sequence of frames has ended (end of sequence “EOS”). If the sequence has not yet ended, the procedure returns along the NO branch to the step 54 . Otherwise, the procedure ends at a step 80 .
- the video compression system 1 and the method of filtering in accordance with the present invention provide for a reduction of mosquito artifacts and blocking artifacts without distorting the pictures of the a video output sequence 10 so that the video movie as a whole is visually more pleasing for the viewers' eyes.
- a hysteresis avoids that the filter strength changes if the motion activity changes only briefly.
- threshold values and threshold numbers referred to above are of exemplary nature. Different threshold values and threshold numbers may be used to, for example, modify the hysteresis of the postfilter module 20 .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A video compression and decompression system has an input to receive an encoded video sequence and an output for a decoded video sequence. A video decoder is coupled to the input and decode the received encoded video sequence. A filter module is coupled to the video decoder and the output and filters the decoded video sequence from the video decoder. The filter module has a variable filter strength that is a function of detected motion activity within the video sequence. The filter module filters coding artifacts, such as mosquito artifacts and blocking artifacts from the decoded video sequence so that the displayed video is more pleasing for a viewer's eyes.
Description
- This application is incorporated by reference and is a continuation of U.S. patent application Ser. No. 09/731,474, filed Dec. 6, 2000.
- 1. Field of the Invention
- The invention pertains to the field of video compression and decompression systems. More particularly, the invention pertains to a system and method for reducing compression artifacts in a video compression and decompression system.
- 2. Description of the Related Art
- Systems for applications of video and visual communications transmit, process and store large quantities of video data. To create a video presentation, such as a video movie, a rendering video system displays the video data as a sequence of individual digital images, also referred to as “frames,” thereby simulating movement. In order to achieve a video presentation with an acceptable video quality, or to enable transmission and storage at all, the video systems process and modify the video data prior to transmission or storage. For instance, the video data is compressed and encoded to reduce the bit rate and the required bandwidth for storage and transmission of the images.
- In a conventional video system a video encoder is used to compress and encode the video data and a video decoder is used to decompress and to decode the video data. The video encoder outputs video data that has a reduced bit rate and a reduced redundancy. That is, the technique of video compression removes spatial redundancy within a video frame or temporal redundancy between consecutive video frames. In accordance with known image compression standards, such as MPEG, MPEG-2 and JPEG, an image coding process typically includes performing a block based frequency transform, e.g., discrete cosine transform (DCT), on an image to be transmitted. The resulting DCT coefficients are quantized or mapped to different quantization steps to render an approximate representation thereof. If the available transmission bandwidth is relatively small, with respect to the complexity of the image to be transmitted, the size of the quantization steps needs to be relatively large. In that case, the resulting coarse quantization of the DCT coefficients introduces coding artifacts into the transmitted image and severely degrades the visual quality of the decoded sequence that may be displayed.
- Examples of such artifacts include mosquito artifacts and blocking artifacts. Mosquito artifacts are defined as temporarily nonstationary impulses that appear around objects which are moving within a decompressed video sequence. The mosquito artifacts result from the coarse quantization of a prediction error signal. The majority of the energy contained in the prediction error signal is the result of a motion estimator's inability to distinguish between differently moving objects within the video sequence. For example, in videoconferencing applications the subject is generally against a stationary background. Since the motion estimator tries to match blocks of pixels between temporarily adjacent frames, the boundaries between moving objects and stationary background that fall within these blocks cannot be detected. This leads to a situation where either a part of the background is assumed to be moving, or a part of the moving object is assumed to be stationary. If these prediction errors are coarsely quantized, impulsive artifacts result that change over time and tend to swarm around the moving object, similar to a mosquito.
- Blocking artifacts are defined as the introduction of artificial block boundaries into the decoded video sequence. These artifacts are due to the combination of quantization and dividing the prediction error signal into blocks. That is, since there exists an inverse relationship between spatial extent and frequency extent analogous to the inverse relationship that exists between time and frequency extent in Fourier analysis, the quantization errors that occur in the DCT domain are smeared across the corresponding spatial block. Furthermore, since each block is quantized separately, the errors are most visible at the block boundaries.
- In order to reduce the effects of the coding artifacts, it is known to apply a postprocessing technique to the recovered image. Since the artifacts typically comprise high frequency components, decoders in systems that apply such postprocessing include a postprocessor having a low-pass filter to filter out those components in the recovered image. However, the quality of the postprocessed image is dependent upon the selected parameters and may drastically vary from one set of parameters to another.
- Other systems use postprocessing filters that are spatially adaptive. These spatially adapted filters rely on local signal estimates and local noise power estimates to alter their responses. However, such an estimation of the noise power based on the quantization step size is not a reliable indicator as to the spatial location of mosquito artifacts and blocking artifacts within the decompressed video. For example, oversmoothing or blurring of the decompressed video occurs due to inaccurate estimates of the compressed video's signal-to-noise ratio.
- Thus, there is a need for a video compression and decompressing system and a method which suppress mosquito and blocking artifacts to improve upon the video quality a viewer perceives.
- An aspect of the present invention involves a decoder apparatus for a video compression and decompression system having an input to receive an encoded video sequence and an output for a decoded video sequence. A video decoder is coupled to the input and decodes the received encoded video sequence. A filter module is coupled to the video decoder and the output and filters a decoded video sequence from the video decoder. The filter module has a variable filter strength that is a function of detected motion activity within the video sequence.
- Another aspect of the invention involves a filter module for a video compression and decompression system. The filter module has an input to receive a decoded video sequence and an output for the decoded video sequence. An activity counter determines motion activity within the decoded video sequence. A threshold detector is coupled to the activity counter and adjusts a filter strength as a function of the determined motion activity within the decoded video sequence. The threshold detector selectively adjusts the filter strength to one of a predetermined number of levels.
- A further aspect of the invention involves a video compression and decompression system having an input to receive an encoded video sequence and an output for a decoded video sequence. A video decoder is coupled to the input and decodes the received encoded video sequence. A filter module is coupled to the video decoder and the output and filters a decoded video sequence from the video decoder. The filter module has a variable filter strength that is a function of detected motion activity within the video sequence.
- Another aspect of the invention involves a method of filtering a decoded video sequence in a video compression and decompression system. The method receives a decoded video sequence and determines a motion activity of each frame of the decoded video sequence. The method categorizes each frame as a frame of high activity or as a frame of low activity and adjusts a filter strength of a filter to filter the decoded video sequence as a function of the motion activity.
- These and other aspects, advantages, and novel features of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings.
-
FIG. 1 is a high-level block diagram of a video compression and decompression system having an encoder apparatus and a decoder apparatus that includes a postfilter module. -
FIG. 2 shows an exemplary embodiment of the postfilter module. -
FIGS. 3A and 3B are diagrams illustrating motion activity within a video sequence as a function of time. -
FIG. 3C is a flow diagram illustrating the filter strength of the postfilter module as a function of time. -
FIG. 4 is a diagram illustrating a procedure for varying the filter strength illustrated inFIG. 3C . - In the following description, reference is made to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. Where possible, the same reference numbers will be used throughout the drawings to refer to the same or like components. Numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one skilled in the art that the present invention may be practiced without the specific details or with certain alternative equivalent devices and methods to those described herein. In other instances, well-known methods, procedures, components, and devices have not been described in detail so as not to unnecessarily obscure aspects of the present invention.
-
FIG. 1 is a high-level block diagram of a video compression and decompression system 1 (hereinafter “video compression system 1”) having an encoder apparatus 2 and adecoder apparatus 4 that is coupled to the encoder apparatus 2 through a medium 6. Theencoder apparatus 3 includes avideo encoder 12 and abuffer 14. Thedecoder apparatus 4 includes abuffer 16, a video decoder 8 and apostfilter module 20. Thepostfilter module 20 provides for a variable filter strength in accordance with the present invention. The filter strength varies as a function of a determined motion activity within a video sequence in order to remove coding artifacts (e.g., mosquito artifacts and blocking artifacts) as explained below in greater detail. - The encoder apparatus 2 encodes a video input sequence 8 (VIDEO IN) to generate an encoded and thus compressed representation in one of a number of possible formats. The format may be in an interleaved format tailored for “live” streaming of the encoded representation. The format may also be in a single file format in which each of the encoded representations are stored in a contiguous block within one file. This format is tailored for the “static” case in which a file is created for subsequent streaming by a server.
- The video input sequence 8 to the encoder apparatus 2 may be either a live signal, e.g., provided by a video camera, or a prerecorded sequence in a number of possible formats. The video input sequence 8 includes frames of a digital video, an audio segment consisting of digital audio, combinations of video, graphics, text, and/or audio (multimedia applications), or analog forms of the aforementioned. If necessary, conversions can be applied to various types of input signals such as analog video, or previously compressed and encoded video to produce an appropriate input to the encoder apparatus 2. In one embodiment, the encoder apparatus 2 may accept video in RGB or YUV formats. The encoder apparatus 2, however, may be adapted to accept any format of input as long as an appropriate conversion mechanism is supplied. Conversion mechanisms for converting a signal in one format to a signal in another format are well known in the art.
- The medium 6 may be a storage device or a transmission medium. In one embodiment, the
video compression system 1 may be implemented on a computer. The encoder apparatus 2 sends an encoded video stream (representation) to the medium 6 that is implemented as a storage device. The storage device may be a video server, a hard disk drive, a CD rewriteable drive, a read/write DVD drive, or any other device capable of storing and allowing the retrieval of encoded video data. The storage device is connected to thedecoder apparatus 4, which can selectively read from the storage device and decode the encoded video sequence. As thedecoder apparatus 4 decodes a selected one of the encoded video sequence, it generates a reproduction of the video input sequence 8, for example, for display on a computer monitor or screen. - In another embodiment, the medium 6 provides a connection to another computer, which may be a remote computer, that receives the encoded video sequence. The medium 6 may be a network connection such as a LAN, a WAN, the Internet, or the like. The
decoder apparatus 4 within the remote computer decodes the encoded representations contained therein and may generate a reproduction of the video input sequence 8 on a screen or a monitor of the remote computer. - Aspects of the
video compression system 1 illustrated inFIG. 1 and described above can be combined and supplemented to achieve other embodiments. Numerous other implementations are consistent with the scope of this invention. Such other implementations need not be restricted to video, but may include audio or other forms of media as well. - The
video encoder 12 performs, for example, a discrete cosine transform (DCT) to encode and compress the video sequence 8. Briefly, thevideo encoder 12 converts the video input sequence 8 from the time domain into the frequency domain. The output of thevideo encoder 12 is a set of signal amplitudes, for example, called “DCT coefficients” or transform coefficients. A quantizer receives the DCT coefficients and assigns each of a range (or step size) of DCT coefficient values a single value, such as a small integer, during encoding. Quantization allows data to be represented more compactly, but results in the loss of some data. Quantization on a finer scale results in a less compact representation (higher bit-rate), but also involves the loss of less data. Quantization on a more coarse scale results in a more compact representation (lower bit-rate), but also involves more loss of data. - The pre-existing video encoding techniques typically break up a frame (picture) into smaller blocks of pixels called macroblocks. Each macroblock can consist of a matrix of pixels, typically a 16×16 matrix, defining the unit of information at which encoding is performed. The matrix of pixels is therefore referred to as a 16×16 macroblock. These video encoding techniques usually break each 16×16 macroblock further up into smaller matrices of pixels. For example, into 8×8 matrices of pixels or 4×4 matrices of pixels. Such matrices are hereinafter referred to as subblocks. In one embodiment of the present invention, a 16×16 macroblock is divided into 4×4 subblocks. Those skilled in the art will appreciate that the present invention is equally applicable to systems that use 8×8 subblocks, 4×4 subblocks or only 16×16 marcoblocks without breaking it up into subblocks.
- Further, the pre-existing encoding techniques provide for motion compensation and motion estimation using motion vectors. The motion vectors describe the direction, expressed through an x-component and a y-component, and the amount of motion of the 16×16 macroblocks, or their respective subblocks, and are transmitted to the decoder as part of the bit stream. Motion vectors are used for bidirectionally encoded pictures (B-pictures) and predicted pictures (P pictures) as known in the art.
- The
buffer 14 of the encoder apparatus 2 receives the encoded and compressed video sequence (hereinafter “encoded video sequence”) from thevideo encoder 12 and adjusts the bit rate of the encoded video sequence before it is sent to the medium 6. Buffering may be required because individual video images may contain varying amounts of information, resulting in varying coding efficiencies from image to image. As thebuffer 14 has a limited size, a feedback loop to the quantizer may be used to avoid overflow or underflow of thebuffer 14. The bit-rate of the representation is the rate at which the representation data must be processed in order to present the representation in real time. A higher bit-rate representation of the video input sequence 8 generally comprises more data than a lower bit-rate representation of the same sequence. The most pertinent application of the bit-rate measure is in determining the rate at which the data of the representation should be streamed in order to present the representation in real time. Real-time playback of a higher bit-rate representation of a video sequence requires that the data of the representation be streamed and/or decoded at a faster rate than that required for a lower bit-rate representation of the same sequence. Thus, when streaming for real-time playback, a higher bit-rate representation requires a higher bandwidth communication link than a lower bit-rate representation. - The
decoder apparatus 4 performs the inverse function of theencoder apparatus 4. Thebuffer 16 serves also to adjust the bit rate of the incoming encoded video sequence. Thevideo decoder 18 decodes and decompresses the incoming video sequence reconstructing the video sequence and outputs a decoded and decompressed video sequence 24 (hereinafter “decodedvideo sequence 24”). In addition, thedecoder apparatus 4 includes thepostfilter module 20 that removes coding artifacts such as mosquito artifacts and blocking artifacts. The causes for these coding artifacts are explained above. Thepostfilter module 20 in accordance with the present invention reduces these artifacts without distorting the pictures which are output as avideo output sequence 10. The video movie is therefore visually more pleasing for the viewers' eyes. -
FIG. 2 shows thevideo decoder 18 coupled to an exemplary embodiment of thepostfilter module 20. Thepostfilter module 20 includes anactivity counter 22, athreshold detector 26 and afilter 30. Anoutput 19 of thevideo decoder 18 is connected to aninput 21 of theactivity counter 22 and anoutput 23 of thevideo decoder 18 is connected to aninput 29 of thefilter 30. Further, theactivity counter 22 is connected to aninput 25 of thethreshold detector 26 which is also connected to aninput 27 of thefilter 30. As discussed below in more detail, theinput 21 of theactivity counter 22 receives a sequence of motion vectors, theinput 29 of thefilter 30 receives a bitstream representing the decoded video sequence and theinput 21 of thefilter 30 receives a filter strength control signal. Thefilter 30 outputs thevideo output sequence 10. - It is contemplated that the
postfilter module 20 is divided into theactivity counter 22, thethreshold detector 26 and thefilter 30 for illustrative purposes only. Those skilled in the art will appreciate that such a division may not be required to implement the functionality of thepostfilter module 20 in accordance of the present invention. For instance, the functionality of thepostfilter module 20 may be implemented using a software module or a microprocessor that incorporates the functionalities of the components (22, 26, 30) shown inFIG. 2 . - The
video decoder 18 receives a bit stream representing the encoded video sequence from the buffer 16 (FIG. 1 ). In one embodiment, thevideo decoder 18 is a conventional MPEG decoder that includes a decoder controller, a VLC decoder (Variable Length Coding, VLC) and a reconstruction module. The operation and function of these components are known to those skilled in the art. These components are therefore described only to the extent believed to be helpful for a complete understanding of the present invention. For a more extensive description of a MPEG decoder, reference is made to generally available MPEG documents and publications. For instance, Barry G. Haskell et at, “Digital Video: An Introduction to MPEG-2,” Chapman & Hall, ISBN 0-412-08411-2, Chapter 8, pages 156-182. - The decoder controller receives the bit stream and derives control signals for the reconstruction module and the VLC decoder from the bit stream. Further, the decoder controller separates the encoded video data from the bit stream and inputs the encoded data to the VLC decoder. The decoder controller outputs control signals and status signals that include among others “block position,” “frame select,” “intra select” and “current picture” (not shown).
- The VLC decoder obtains from the encoded video data the quantized DC coefficients. Further, the VLC decoder obtains the motion vectors of each picture and a code word indicating the mode used to encode the video sequence (e.g., bidirectionally coded pictures (B-pictures) and predicted pictures (P-pictures)). In accordance with the present invention, the motion vectors are available for the
activity counter 22 at theoutput 19 of thevideo decoder 18. - The reconstruction module includes a dequantizer unit and an IDCT unit for calculating the inverse DCT. Using the encoded video data and the control signals provided by the decoder controller, the reconstruction module rebuilds each picture and, thus, creates the decoded
video sequence 24 that is input to thefilter 30. - The
activity counter 22 receives the motion vectors from thevideo encoder 18 on a frame-by-frame basis. Each macroblock of a frame (e.g., a 16×16 macroblock) is further divided into subblocks, for instance, into 4×4 subblocks, wherein each 4×4 subblock includes a motion vector representing motion of the 4×4 subblock, if any. Theactivity counter 22 uses these motion vectors to determine whether the presently analyzed frame (picture) is a high activity frame or a low activity frame. - In one embodiment, the
activity counter 26 includes a processor that analyzes these motion vectors of the subblocks. If either the differences of the x-components or the difference of the y-components of a motion vector with respect to the present subblock and the neighboring subblocks are greater than a predetermined integer the present subblock is categorized as an active subblock. That is, the predetermined integer is selected as a parameter to determine whether there is motion in the present subblock. The processor determines that there is motion when at least one of the differences (x-components, y-components) is greater than the predetermined integer. For instance, the predetermined integer is selected to be in a range between “1” and “3.” In a preferred embodiment, the predetermined integer is “1.” This procedure is repeated, for example, sixteen times and each 4×4 subblock is either in the active category or in the inactive category. The processor determines the number of active subblocks for each macroblock. - If the number of active subblocks is greater than a predetermined threshold number, the processor characterizes this macroblock as an active macroblock. The predetermined threshold number is selected to define when a macroblock is active. That is, when a sufficient number of subblocks is active, the macroblock is defined as active. For instance, if the macroblock is divided into 4×4 subblocks, the predetermined threshold number is four so that the macroblock is active when more than four subblocks (i.e., 25%) out of 16 subblocks are active. In other embodiments, the macroblock may be defined as active when more subblocks are active (e.g., within a range between 30% and 50%), or when less subblocks are active (e.g., within a range of 10% and 25%).
- The processor counts the number of active macroblocks for the whole frame and compares the number of active macroblocks to a defined threshold value. If the number of active macroblocks is higher than the defined threshold value, the frame is a high activity frame (hereinafter “H” frame.) If the number of active macroblocks is equal to or lower than the defined threshold value, the processor characterizes the frame as a low activity frame (hereinafter “L” frame.)
- The total number of macroblocks in a frame depends on the size of the video frames or the resolution of the video frames. For instance, if the resolution is 640×480, the number of macroblocks is (640/16)×(480/16)=1200. The defined threshold value may then be selected to be 300. That is, the frame is an “H” frame if more than 25% of the macroblocks are active. It is contemplated that the defined threshold value may be selected so that a frame is active when between 10% and 40% of the macroblocks are active.
- For each “H” frame the processor increases a counter and for each “L” frame the processor decreases this counter. A first counter value, therefore, increases and decreases as a function of the “H” frames and the “L” frames. In one embodiment, the processor implements two counters. The first counter operates as described. The second counter, however, decreases with each “H” frame and increases with each “L” frame (
FIG. 3A ). A second counter value, therefore, decreases and increases as a function of the “H” frames and the “L” frames. - Those skilled in the art will appreciate that, in another embodiment, the
activity counter 22 may be implemented using a processor and separate counters coupled to the processor. In yet another embodiment, theactivity counter 22 may be implemented as a software module or a combination of a software module and firmware. - The
threshold detector 26 is coupled to theactivity counter 22 and includes in one embodiment a comparator unit (e.g., including operational amplifiers). The comparator unit receives, for example, the two counter values from theactivity counter 22 and determines the difference between the two counter values. The comparator unit compares this difference to predetermined threshold values as described below with respect toFIGS. 3A, 3C . The threshold values may be determined through resistor circuits coupled to the comparator unit. In another embodiment, the threshold values may be stored in a programmable memory from which the comparator unit may read the respective threshold value. - The
filter 30 is a digital filter that filters high-frequency components, such as pulses, from the decodedvideo sequence 24. In accordance with the present invention, thefilter 30 has a variable filter strength that depends upon the motion activity within a picture. The filter strength can be adjusted by varying the filter coefficients of thefilter 30. In one embodiment, thefilter 30 may be adjusted to have one of a number of predetermined levels representing different filter strengths. In one embodiment, thefilter 30 has three levels, Strong (“S”), Medium (“M”) or Weak (“W”) as shown inFIG. 3C . It is contemplated that more than three levels may be defined. - In one embodiment, the
filter 30 may include or may be associated with a memory that stores the respective filter coefficients for the levels Strong, Medium and Weak. Upon thethreshold detector 26 determining that the filter strength must be changed, the generated control signal (e.g., a code word corresponding to one of the levels) addresses the memory and the filter coefficients for the selected filter strength are loaded to thefilter 30. -
FIG. 3A is a diagram illustrating the motion activity within thevideo sequence 24 as determined by theactivity counter 26. As theactivity counter 26 determines the occurrence of “high” and “low” activities as discrete events,FIG. 3A shows twographs graph 30 is shown as a solid line and thegraph 32 is shown as a broken line, wherein thegraph 32 is a mirror image of thegraph 30 relative to a horizontal axis through an offset value O. In another illustration, the offset value O may be zero and the horizontal axis may be the X-axis. Thus, starting at the offset value O, thegraph 30 increases with a predetermined rate and thegraph 32 decreases with the same rate. Thegraphs graph 30 is decreasing and thegraph 32 is increasing.FIG. 3A further shows difference values Δ1, Δ2, Δ3, Δ4 as described below. -
FIG. 3B is a diagram illustrating a sequence of frames having high and low activities as a function of time (t). A frame with a high activity is represented as “H” and a frame with a low activity is represented as “L.”FIG. 3B is aligned withFIG. 3A to illustrate the increasing and decreasinggraphs graph 30 inFIG. 3A increases during a period between t=t0 and t=t2, decreases during a period between t=t2 and t=t6, increases during a period between t =t6 and t=t8 and decreases during a period between t=t8 and t=t9. -
FIG. 3C is a diagram illustrating the filter strength of thepostfilter module 20 as a function of time. In one embodiment, the filter strength may be set to have one of three levels Strong (“S”), Medium (“M”) or Weak (“W”). Thepostfilter module 20 is configured so that, as a default setting, the filter strength is at the level “M.” From this level “M” the filter strength may change to one of the levels “S” and “W.” For example, at t=t1, the filter strength changes from the level “M” to the level “S” and at t=t4, the filter strength returns to the level “M.” At t=t5, the filter strength changes from the level “M” to the level “W” and at t=t7, the filter strength returns to the level “M.” At t=t9, the filter strength changes again from the level “M” to the level “W.” -
FIG. 4 is a flow diagram illustrating aprocedure 40 for varying the filter strength illustrated inFIG. 3C . In describing the procedure, reference is made toFIGS. 2, 3A and 3B. During initialization of the procedure, the activity counter is reset to its offset value O and the filter strength is set to be at the level “M” which is in one embodiment a default level as indicated in astep 42. - Proceeding to a
step 44, the procedure determines the motion activity within the sequence of frames. That is, the procedure determines whether the presently analyzed frame is a “H” frame or a “L” frame, for example, as illustrated inFIG. 3B . For each subblock within a 16×16 macroblock, the procedure looks at a present subblock and its neighboring subblocks and uses the differences of the motion vectors (x, y components) with respect to the present motion vector and the neighboring subblock to determine whether the present subblock is an active subblock or an inactive subblock This procedure is repeated sixteen times so that each subblock is either in the active category or in the inactive category. - The procedure determines the number of active subblocks for each macroblock. A comparison of the number of active subblocks with the predetermined threshold value is used to determine whether the macroblock is an active or inactive macroblock. In one embodiment, the predetermined threshold value is four. That is, if more than 25% of the 16 subblocks are in the active category the macroblock is an active macroblock. It is contemplated that the threshold value may be set at a higher number.
- Proceeding to a
step 46, the procedure determines the number of macroblocks for the whole frame and compares the number of active macroblocks to a defined threshold value. If the number of active macroblocks is higher than the defined threshold value, the frame is a “H” frame. In one embodiment, the defined threshold value is 25%, i.e., if the number of active macroblocks in a frame is greater than 25% of the number of macroblocks in the whole frame, the frame is an “H” frame. If it is a “H” frame, the procedure proceeds along the YES branch to astep 50, and if it is not a “H” frame, the procedure proceeds along the NO branch to astep 48. - In the
step 50, for each “H” frame the procedure increases a first counter and decreases a second counter. As shown inFIG. 3A , the first counter increases during the periods between t=t0 and t=t2, t=t6 and t=t8 as shown through the increasinggraph 30, and the second counter decreases during these periods as shown through the decreasinggraph 32. These periods include the “H” frames as shown inFIG. 3B . - In the
step 48, for each “L” frame the procedure decreases the first counter and increases the second counter. As shown inFIG. 3A , the first counter decreases during the periods between t=t2 and t=t6, t=t8 and t=t9 as shown through the decreasinggraph 30, and the second counter increases during these periods as shown through the increasinggraph 32. These periods include the “L” frames as shown inFIG. 3B . - Proceeding to a
step 52, the procedure determines a difference Δ between events counted by the first counter and events counted by the second counter.FIG. 3A shows exemplary differences: a difference Δ1 is shown at t=t1, a difference Δ2 is shown at t=t4, a difference Δ3 is shown at t=t5, a difference Δ4 is shown at t=t7 and the difference Δ3 is shown again at t=t9. - Proceeding to a
step 54, the procedure determines if the difference Δ is positive and if the difference Δ is greater than a threshold value T(MS). In one embodiment, the threshold value T(MS) is an integer value, for example, eight (e.g., Δ1>8). If the condition is satisfied, the procedure proceeds along the YES branch to astep 56. If the condition is not satisfied, the procedure proceeds along the NO branch to astep 58. - In the
step 56, with the condition being satisfied, the procedure changes the filter strength from the level “M” to the level “S” at t=t1 as shown inFIG. 3C . Once the filter strength is set to the level “S” the filter strength does not change unless another condition is satisfied. InFIG. 3C the filter strength remains at the level “S” between t=t1 and t=t4. - In the
step 58, with the condition being not satisfied, the procedure maintains the level “M” which is the default level for the filter strength. - Proceeding to a
step 60, the procedure determines if the difference Δ is negative and if the absolute value of the difference Δ is greater than a threshold value T(SM). In one embodiment, the threshold value T(SM) is an integer value, for example, five (e.g., abs (Δ2)>5). If the condition is satisfied, the procedure proceeds along the YES branch to astep 64. If the condition is not satisfied, the procedure proceeds along the NO branch to astep 62. As indicated in thestep 62, the procedure maintains the filter strength at the level “S.” - In the
step 64, with the condition ofstep 60 being satisfied, the procedure changes the filter strength from the level “S” to the level “M” at t=t4 as shown inFIG. 3C . Once the filter strength is set to the level “M” the filter strength does not change unless another condition is satisfied. InFIG. 3C the filter strength remains at the level “M” between t=t4 and t=t5. - Proceeding to a
step 66, with the filter strength being at the level “M” the procedure determines if the difference Δ is negative and if the absolute value of the difference Δ is greater than a threshold value T(MW). In one embodiment, the threshold value T(MW) is an integer value, for example, ten (e.g., abs (Δ3)>10). If the condition is satisfied, the procedure proceeds along the YES branch to astep 70. If the condition is not satisfied, the procedure proceeds along the NO branch to astep 68. As indicated in thestep 68, the procedure maintains the filter strength at the level “M”. - In the
step 70, with the condition ofstep 66 being satisfied, the procedure changes the filter strength from the level “M” to the level “W” at t=t5 as shown inFIG. 3C . Once the filter strength is set to the level “W” the filter strength does not change unless another condition is satisfied. InFIG. 3C the filter strength remains at the level “W” between t=t5 and t=t7. - Proceeding to a
step 72, with the filter strength being at the level “W” the procedure determines if the difference Δ is positive and if the difference Δ is greater than a threshold value T(WM). In one embodiment, the threshold value T(WM) is an integer value, for example, three (e.g., Δ4>3). If the condition is satisfied, the procedure proceeds along the YES branch to astep 76. If the condition is not satisfied, the procedure proceeds along the NO branch to astep 74. As indicated in thestep 74, the procedure maintains the filter strength at the level “W.” - In the
step 76, with the condition of thestep 72 being satisfied, the procedure changes the filter strength from the level “W” to the level “M” at t=t7 as shown inFIG. 3C . Once the filter strength is set to the level “M” the filter strength does not change unless one of the conditions is satisfied. InFIG. 3C the filter strength remains at the level “M” between t=t7 and t=t9. At t=t9, the procedure changes the filter strength to the level “W” as described with reference to thestep 66. - Proceeding to a
step 78, the procedure determines whether the sequence of frames has ended (end of sequence “EOS”). If the sequence has not yet ended, the procedure returns along the NO branch to thestep 54. Otherwise, the procedure ends at astep 80. - The
video compression system 1 and the method of filtering in accordance with the present invention provide for a reduction of mosquito artifacts and blocking artifacts without distorting the pictures of the avideo output sequence 10 so that the video movie as a whole is visually more pleasing for the viewers' eyes. - Furthermore, the
postfilter module 20 is configured to implement a hysteresis for the levels of the filter strength. That is, the filter strength changes from the level “M” to the level “S” at t=t1 when the differences Δ1 is positive and greater than the threshold value T(MS), but returns to the level “M” when a different condition is satisfied, namely that the difference Δ2 is negative and the absolute value of Δ2 is greater than the threshold value T(SM). Such a hysteresis avoids that the filter strength changes if the motion activity changes only briefly. - Those skilled in the art will appreciate that the threshold values and threshold numbers referred to above are of exemplary nature. Different threshold values and threshold numbers may be used to, for example, modify the hysteresis of the
postfilter module 20. - While the above detailed description has shown, described and identified several novel features of the invention as applied to a preferred embodiment, it will be understood that various omissions, substitutions and changes in the form and details of the described embodiments may be made by those skilled in the art without departing from the spirit of the invention. Accordingly, the scope of the invention should not be limited to the foregoing discussion, but should be defined by the appended claims.
Claims (20)
1. A method comprising:
receiving an encoded video sequence;
decoding the received encoded video sequence into a decoded video sequence that contains compression artifacts;
categorizing each frame of the decoded video sequence as a first activity frame or as a second activity frame; and
removing with a filter module the compression artifacts in the decoded video sequence, the filter module having a variable filter strength being a function of the motion activity within the decoded video sequence.
2. The method of claim 1 , wherein the category of the first activity frame is a high activity frame and the category of the second activity frame is a low activity frame.
3. The method of claim 1 , additionally comprising selectively adjusting the filter strength to one of a high level, a medium level and a weak level.
4. The method of claim 3 , wherein medium level is a default level.
5. An apparatus, comprising:
a video decoder coupled configured to decode a received encoded video sequence into a decoded video sequence that contains compression artifacts; and
a filter module coupled with the video decoder, said filter module configured to filter the compression artifacts in the decoded video sequence, the filter module being configured to remove compression artifacts and having a variable filter strength that is a function of the motion activity within the video sequence.
6. The apparatus of claim 5 , wherein the filter module includes a threshold detector configured to generate a control signal to adjust the filter strength.
7. The apparatus of claim 6 , wherein the control signal adjusts the filter strength to one of a high level, a medium level and a weak level.
8. The apparatus of claim 7 , wherein the medium level is a default level.
9. A method comprising:
receiving an encoded video sequence;
decoding the received encoded video sequence into a decoded video sequence that contains compression artifacts; and
removing with a filter module the compression artifacts in the decoded video sequence, the filter module having a variable filter strength being a function of the motion activity within the decoded video sequence.
10. The method of claim 9 , wherein the category of the first activity frame is a high activity frame and the category of the second activity frame is a low activity frame.
11. The method of claim 9 , additionally comprising selectively adjusting the filter strength to one of a high level, a medium level and a weak level.
12. The method of claim 11 , wherein medium level is a default level.
13. A program storage device storing instructions that when executed performs the steps comprising:
receiving an encoded video sequence;
decoding the received encoded video sequence into a decoded video sequence that contains compression artifacts;
categorizing each frame of the decoded video sequence as a first activity frame or as a second activity frame; and
removing with a filter module the compression artifacts in the decoded video sequence, the filter module having a variable filter strength being a function of the motion activity within the decoded video sequence.
14. The program storage device of claim 13 , wherein the category of the first activity frame is a high activity frame and the category of the second activity frame is a low activity frame.
15. The program storage device of of claim 13 , wherein adjusting the filter strength includes selectively adjusting the filter strength to one of a high level, a medium level and a weak level.
16. The method of claim 15 , wherein adjusting the filter strength includes adjusting the filter strength to the medium level is a default level.
17. An apparatus comprising:
means for receiving an encoded video sequence;
means for decoding the received encoded video sequence into a decoded video sequence that contains compression artifacts;
means for categorizing each frame of the decoded video sequence as a first activity frame or as a second activity frame; and
means for removing with a filter module the compression artifacts in the decoded video sequence, the filter module having a variable filter strength being a function of the motion activity within the decoded video sequence.
18. The apparatus of claim 17 , wherein the category of the first activity frame is a high activity frame and the category of the second activity frame is a low activity frame.
19. The apparatus of claim 17 , additionally comprising selectively adjusting the filter strength to one of a high level, a medium level and a weak level.
20. The apparatus of claim 20 , wherein medium level is a default level.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/401,516 US20060182356A1 (en) | 2000-12-06 | 2006-04-11 | Video compression and decompression system with postfilter to filter coding artifacts |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/731,474 US7054500B1 (en) | 2000-12-06 | 2000-12-06 | Video compression and decompression system with postfilter to filter coding artifacts |
US11/401,516 US20060182356A1 (en) | 2000-12-06 | 2006-04-11 | Video compression and decompression system with postfilter to filter coding artifacts |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/731,474 Continuation US7054500B1 (en) | 2000-12-06 | 2000-12-06 | Video compression and decompression system with postfilter to filter coding artifacts |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060182356A1 true US20060182356A1 (en) | 2006-08-17 |
Family
ID=36462729
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/731,474 Expired - Lifetime US7054500B1 (en) | 2000-12-06 | 2000-12-06 | Video compression and decompression system with postfilter to filter coding artifacts |
US11/401,516 Abandoned US20060182356A1 (en) | 2000-12-06 | 2006-04-11 | Video compression and decompression system with postfilter to filter coding artifacts |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/731,474 Expired - Lifetime US7054500B1 (en) | 2000-12-06 | 2000-12-06 | Video compression and decompression system with postfilter to filter coding artifacts |
Country Status (1)
Country | Link |
---|---|
US (2) | US7054500B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060188015A1 (en) * | 2005-02-16 | 2006-08-24 | Tetsujiro Kondo | Coding apparatus and method, decoding apparatus and method, image processing system, image processing method, recording medium, and program |
US20060221252A1 (en) * | 2005-04-05 | 2006-10-05 | Samsung Electronics Co., Ltd. | Reliability estimation of temporal noise estimation |
DE102006055702A1 (en) * | 2006-11-23 | 2008-05-29 | Deutsche Thomson Ohg | A method and apparatus for restoring a display image sequence from a coded digital video signal |
US20090067509A1 (en) * | 2007-09-07 | 2009-03-12 | Eunice Poon | System And Method For Displaying A Digital Video Sequence Modified To Compensate For Perceived Blur |
US20110268366A1 (en) * | 2009-01-20 | 2011-11-03 | Megachips Corporation | Image processing apparatus and image conversion apparatus |
US20120251012A1 (en) * | 2009-12-18 | 2012-10-04 | Tomohiro Ikai | Image filter, encoding device, decoding device, and data structure |
TWI477153B (en) * | 2010-08-20 | 2015-03-11 | Intel Corp | Techniques for identifying block artifacts |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US8595372B2 (en) * | 2000-09-12 | 2013-11-26 | Wag Acquisition, Llc | Streaming media buffering system |
US7716358B2 (en) | 2000-09-12 | 2010-05-11 | Wag Acquisition, Llc | Streaming media buffering system |
JP3939198B2 (en) * | 2002-05-20 | 2007-07-04 | 三洋電機株式会社 | Data output device |
EP1391866A1 (en) * | 2002-08-23 | 2004-02-25 | Deutsche Thomson Brandt | Adaptive noise reduction for digital display panels |
US7626635B2 (en) * | 2003-04-04 | 2009-12-01 | Koplar Interactive Systems International, L.L.C. | Method and system of detecting signal presence from a video signal presented on a digital display device |
US8204128B2 (en) * | 2007-08-01 | 2012-06-19 | Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada | Learning filters for enhancing the quality of block coded still and video images |
KR20090096121A (en) * | 2008-03-07 | 2009-09-10 | 삼성전자주식회사 | apparatus and method of stateful address Auto configuration protocol in IPv6 network |
US8401311B2 (en) * | 2008-03-11 | 2013-03-19 | Sony Corporation | Image processing device, method, and program |
US8363974B2 (en) * | 2009-07-21 | 2013-01-29 | Qualcomm Incorporated | Block artifact reducer |
US9025675B2 (en) * | 2011-06-22 | 2015-05-05 | Texas Instruments Incorporated | Systems and methods for reducing blocking artifacts |
US9386319B2 (en) | 2013-09-05 | 2016-07-05 | Microsoft Technology Licensing, Llc | Post-process filter for decompressed screen content |
US20180343449A1 (en) * | 2017-05-26 | 2018-11-29 | Ati Technologies Ulc | Application specific filters for high-quality video playback |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787203A (en) * | 1996-01-19 | 1998-07-28 | Microsoft Corporation | Method and system for filtering compressed video images |
US5802218A (en) * | 1994-11-04 | 1998-09-01 | Motorola, Inc. | Method, post-processing filter, and video compression system for suppressing mosquito and blocking atrifacts |
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
US6037986A (en) * | 1996-07-16 | 2000-03-14 | Divicom Inc. | Video preprocessing method and apparatus with selective filtering based on motion detection |
US6157396A (en) * | 1999-02-16 | 2000-12-05 | Pixonics Llc | System and method for using bitstream information to process images for use in digital display systems |
US6178205B1 (en) * | 1997-12-12 | 2001-01-23 | Vtel Corporation | Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering |
US6269484B1 (en) * | 1997-06-24 | 2001-07-31 | Ati Technologies | Method and apparatus for de-interlacing interlaced content using motion vectors in compressed video streams |
US6314160B1 (en) * | 1999-12-17 | 2001-11-06 | General Electric Company | Method and apparatus for performing fluoroscopic noise reduction |
US20010053186A1 (en) * | 1997-06-09 | 2001-12-20 | Yuichiro Nakaya | Computer-readable medium having image decoding program stored thereon |
US20020063807A1 (en) * | 1999-04-19 | 2002-05-30 | Neal Margulis | Method for Performing Image Transforms in a Digital Display System |
US6466624B1 (en) * | 1998-10-28 | 2002-10-15 | Pixonics, Llc | Video decoder with bit stream based enhancements |
US6539060B1 (en) * | 1997-10-25 | 2003-03-25 | Samsung Electronics Co., Ltd. | Image data post-processing method for reducing quantization effect, apparatus therefor |
US6665346B1 (en) * | 1998-08-01 | 2003-12-16 | Samsung Electronics Co., Ltd. | Loop-filtering method for image data and apparatus therefor |
US6668018B2 (en) * | 1997-11-20 | 2003-12-23 | Larry Pearlstein | Methods and apparatus for representing different portions of an image at different resolutions |
US6748113B1 (en) * | 1999-08-25 | 2004-06-08 | Matsushita Electric Insdustrial Co., Ltd. | Noise detecting method, noise detector and image decoding apparatus |
US7650043B2 (en) * | 2003-08-11 | 2010-01-19 | Samsung Electronics Co., Ltd. | Method of reducing blocking artifacts from block-coded digital images and image reproducing apparatus using the same |
-
2000
- 2000-12-06 US US09/731,474 patent/US7054500B1/en not_active Expired - Lifetime
-
2006
- 2006-04-11 US US11/401,516 patent/US20060182356A1/en not_active Abandoned
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802218A (en) * | 1994-11-04 | 1998-09-01 | Motorola, Inc. | Method, post-processing filter, and video compression system for suppressing mosquito and blocking atrifacts |
US5787203A (en) * | 1996-01-19 | 1998-07-28 | Microsoft Corporation | Method and system for filtering compressed video images |
US6037986A (en) * | 1996-07-16 | 2000-03-14 | Divicom Inc. | Video preprocessing method and apparatus with selective filtering based on motion detection |
US20010053186A1 (en) * | 1997-06-09 | 2001-12-20 | Yuichiro Nakaya | Computer-readable medium having image decoding program stored thereon |
US6269484B1 (en) * | 1997-06-24 | 2001-07-31 | Ati Technologies | Method and apparatus for de-interlacing interlaced content using motion vectors in compressed video streams |
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
US6539060B1 (en) * | 1997-10-25 | 2003-03-25 | Samsung Electronics Co., Ltd. | Image data post-processing method for reducing quantization effect, apparatus therefor |
US6668018B2 (en) * | 1997-11-20 | 2003-12-23 | Larry Pearlstein | Methods and apparatus for representing different portions of an image at different resolutions |
US6178205B1 (en) * | 1997-12-12 | 2001-01-23 | Vtel Corporation | Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering |
US6665346B1 (en) * | 1998-08-01 | 2003-12-16 | Samsung Electronics Co., Ltd. | Loop-filtering method for image data and apparatus therefor |
US6466624B1 (en) * | 1998-10-28 | 2002-10-15 | Pixonics, Llc | Video decoder with bit stream based enhancements |
US6157396A (en) * | 1999-02-16 | 2000-12-05 | Pixonics Llc | System and method for using bitstream information to process images for use in digital display systems |
US20020063807A1 (en) * | 1999-04-19 | 2002-05-30 | Neal Margulis | Method for Performing Image Transforms in a Digital Display System |
US6748113B1 (en) * | 1999-08-25 | 2004-06-08 | Matsushita Electric Insdustrial Co., Ltd. | Noise detecting method, noise detector and image decoding apparatus |
US6314160B1 (en) * | 1999-12-17 | 2001-11-06 | General Electric Company | Method and apparatus for performing fluoroscopic noise reduction |
US7650043B2 (en) * | 2003-08-11 | 2010-01-19 | Samsung Electronics Co., Ltd. | Method of reducing blocking artifacts from block-coded digital images and image reproducing apparatus using the same |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7952769B2 (en) * | 2005-02-16 | 2011-05-31 | Sony Corporation | Systems and methods for image processing coding/decoding |
US20060188015A1 (en) * | 2005-02-16 | 2006-08-24 | Tetsujiro Kondo | Coding apparatus and method, decoding apparatus and method, image processing system, image processing method, recording medium, and program |
US20060221252A1 (en) * | 2005-04-05 | 2006-10-05 | Samsung Electronics Co., Ltd. | Reliability estimation of temporal noise estimation |
US7714939B2 (en) * | 2005-04-05 | 2010-05-11 | Samsung Electronics Co., Ltd. | Reliability estimation of temporal noise estimation |
DE102006055702A1 (en) * | 2006-11-23 | 2008-05-29 | Deutsche Thomson Ohg | A method and apparatus for restoring a display image sequence from a coded digital video signal |
US20090067509A1 (en) * | 2007-09-07 | 2009-03-12 | Eunice Poon | System And Method For Displaying A Digital Video Sequence Modified To Compensate For Perceived Blur |
US7843462B2 (en) * | 2007-09-07 | 2010-11-30 | Seiko Epson Corporation | System and method for displaying a digital video sequence modified to compensate for perceived blur |
US20110268366A1 (en) * | 2009-01-20 | 2011-11-03 | Megachips Corporation | Image processing apparatus and image conversion apparatus |
US8818123B2 (en) * | 2009-01-20 | 2014-08-26 | Megachips Corporation | Image processing apparatus and image conversion apparatus |
US20120251012A1 (en) * | 2009-12-18 | 2012-10-04 | Tomohiro Ikai | Image filter, encoding device, decoding device, and data structure |
US9514519B2 (en) | 2009-12-18 | 2016-12-06 | Sharp Kabushiki Kaisha | Image filter |
US9641865B2 (en) | 2009-12-18 | 2017-05-02 | Sharp Kabushiki Kaisha | Method for decoding moving images |
TWI477153B (en) * | 2010-08-20 | 2015-03-11 | Intel Corp | Techniques for identifying block artifacts |
Also Published As
Publication number | Publication date |
---|---|
US7054500B1 (en) | 2006-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060182356A1 (en) | Video compression and decompression system with postfilter to filter coding artifacts | |
US9479796B2 (en) | Variable coding resolution in video codec | |
US20190246115A1 (en) | System and method for intracoding video data | |
US8243820B2 (en) | Decoding variable coded resolution video with native range/resolution post-processing operation | |
US7379496B2 (en) | Multi-resolution video coding and decoding | |
JP2728619B2 (en) | Method and apparatus for suppressing blocking artifacts in encoding / decoding apparatus | |
KR101213704B1 (en) | Method and apparatus for video coding and decoding based on variable color format | |
US5917609A (en) | Hybrid waveform and model-based encoding and decoding of image signals | |
US20160191916A1 (en) | High frequency emphasis in decoding of encoded signals | |
EP0739137A2 (en) | Processing video signals for scalable video playback | |
US20060056518A1 (en) | Intra coding video data methods and apparatuses | |
US10616498B2 (en) | High dynamic range video capture control for video transmission | |
CN1366778A (en) | Video compression | |
US6963609B2 (en) | Image data compression | |
US6804299B2 (en) | Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation | |
JP2894137B2 (en) | Prefilter control method and apparatus in video coding | |
JP2003179921A (en) | Coded image decoding apparatus | |
WO2006000964A1 (en) | Video transcoding with selection of data portions to be processed | |
JP4762486B2 (en) | Multi-resolution video encoding and decoding | |
EP0927954B1 (en) | Image signal compression coding method and apparatus | |
US20040001548A1 (en) | Method and apparatus to facilitate variable-loss image compression for images of objects in motion | |
US20170127088A1 (en) | Method of reducing noise of video signal | |
Kim et al. | Content-based video transcoding in compressed domain | |
EP1750452B1 (en) | Apparatus for intra coding video data | |
KR100335435B1 (en) | Compression coder and / or decoder of video signal and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |