WO2005065030A2 - Video compression device and a method for compressing video - Google Patents

Video compression device and a method for compressing video Download PDF

Info

Publication number
WO2005065030A2
WO2005065030A2 PCT/IL2005/000014 IL2005000014W WO2005065030A2 WO 2005065030 A2 WO2005065030 A2 WO 2005065030A2 IL 2005000014 W IL2005000014 W IL 2005000014W WO 2005065030 A2 WO2005065030 A2 WO 2005065030A2
Authority
WO
WIPO (PCT)
Prior art keywords
frame
frames
replacing
reference frame
responsive
Prior art date
Application number
PCT/IL2005/000014
Other languages
French (fr)
Other versions
WO2005065030A3 (en
Inventor
Uri Bendelac
Original Assignee
Videocodes, Inc.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Videocodes, Inc. filed Critical Videocodes, Inc.
Publication of WO2005065030A2 publication Critical patent/WO2005065030A2/en
Publication of WO2005065030A3 publication Critical patent/WO2005065030A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • a typical MPEG-2 video encoder receives a sequence of frames from a video source.
  • the sequence of frames may be progressive or interlaced.
  • the progressive sequence includes thirty frames per second.
  • each frame comprises two fields.
  • a top field comprises the even numbered rows and a bottom field comprises the odd numbered rows.
  • a typical encoder can include hardware as well as software components.
  • U.S. patent 6760478, of Aditta et al . titled “Method and apparatus for performing two pass quality video compression through pipelining and buffer management", which is incorporated herein by reference, describes a combination of hardware and software components .
  • the video source may be any source of a digital video signal such as a video camera or a telecine machine.
  • a telecine machine converts a film comprising twenty four frames per second into a sixty field per second digital video signal using 3:2 pull down.
  • the 3:2 pull down technique provides for generating two video fields and three video fields for alternating film frames. For a film frame which is converted into three video fields, the third field is a repeat of the first field.
  • the video-encoder utilizes compression algorithms to generate an MPEG-2 compliant bit stream from the input sequence of frames.
  • the MPEG-2 bit stream has six layers of syntax. There are a sequence layer (random access unit, context) , Group of Pictures layer (random access unit, video coding) , picture layer (primary coding layer) , slice layer (resynchronization unit) , macrobloc (motion compensation unit) and block layer (DCT unit) .
  • a group of pictures (GOP) is a set of frames which starts with an I-frame and includes a certain number of P and B frames. The number of frames in a GOP may be fixed or may be variable. Each frame is divided into macroblocks.
  • a macroblock comprises four luminance blocks and two chrominance blocks. Each block is 8x8 pixels.
  • U.S. patent application 20010048718 of Bruls et al., titled "Video compression” suggests to use GOPs that include only I-frames and P-frames, thus reducing the decoding complexity.
  • It is noted commonly used encoders use B-frames as well as P-frames and I-frames. The encoder distinguishes between three kinds of frames (or pictures), I, P, and B. Typically, the coding of I frames results in the most bits.
  • each macroblock is coded as follows.
  • Each 8x8 block of pixels in a macroblock undergoes a DCT (discrete cosine transform) transform to form an 8x8 array of transform coefficients.
  • the transform coefficients are then quantized with a variable quantizer matrix. Quantization involves dividing each DCT coefficient F[v] [u] by a quantizer step size.
  • the quantizer step size for each AC DCT coefficient is determined by the product of a weighting matrix element [v] [u] and a quantization scale factor (also known as mquant) .
  • the quantization scale factor Q n for a macroblock n is a product of a rate control quantization scale factor Q n R and a masking activity quantization scale factor (QS n ) .
  • this factorization of the quantization scale factor Q n is optional.
  • the use of a quantization scale factor permits the quantization step size for each AC DCT coefficient to be modified at the cost of only a few bits.
  • the quantization scale factor is selected for each macroblock.
  • the resulting quantized DCT coefficients are scanned (e.g., using zig-zag scanning) to form a sequence of DCT coefficients.
  • the DCT coefficients are then organized into run-level pairs.
  • the run-level pairs are then encoded using a variable length code (VLC) .
  • VLC variable length code
  • each macroblock is encoded according to this technique.
  • a prediction of the macroblock in a previous video frame is obtained.
  • the predication is identified by a motion vector which indicates the translation between the macroblock to be coded in the current frame and its prediction in the previous frame.
  • a variety of block matching algorithms can be used to find the particular macroblock in the previous frame which is the best match with the macroblock to be coded in the current frame. This "best match" macroblock becomes the prediction for the current macroblock.
  • the predictive error between the predictive macroblock and the current macroblock is then coded using the DCT, quantization, zig-zig scanning, run- level pair encoding, and VLC encoding.
  • a decision has to be made as to the coding of each macroblock.
  • the choices are (a) intracoding (as in an I macroblock) , (b) unidirectional forward predictive coding using a previous frame to obtain a motion compensated prediction, (c) unidirectional backward predictive coding using a subsequent frame to obtain a motion compensated prediction, and (d) bidirectional predictive coding, wherein a motion compensated prediction is obtained by interpolating a backward motion compensated prediction and a forward motion compensated prediction.
  • the predictive error is encoded using DCT, quantization, zig-zig scanning, run-level pair encoding and VLC encoding.
  • Method and apparatus for decoding B frames in video codec with minimal memory describes an MPEG decoder that reconstructs B frames without storing a reconstructed B frame.
  • the P frame may be predicted from an I frame or another P frame.
  • the B frame may also be predicted from an I frame or a P frame.
  • U.S. patent 5724446 of Liu et al . titled “Video decoder apparatus using non-reference frame as an additional prediction source and a method therefore" uses B-frames as an additional prediction source, but usually predictions are not made based upon B-frames.
  • B frames have the smallest number of bits when encoded, then P frames, with I frames having the most bits when encoded.
  • the number of bits resulting from the encoding process can be controlled by controlling the quantizer step size (adaptive quantization) used to code each macroblock.
  • a macroblock of pixels or pixel errors which is coded using a large quantizer step size results in fewer bits than if a smaller quantizer step size is used.
  • the order of the frames in the encoded bit stream is the order in which the frames are decoded by the decoder. This may be different from the order in which the frames arrived at the encoder. The reason for this is that the coded bit stream contains B frames. In particular, it is necessary to code the I and P frames used to anchor a B frame before coding the B frame itself.
  • Each frame of interlaced video consists of two fields.
  • the MPEG-2 specification allows the frame to be encoded as a frame picture or the two fields to be encoded as two field pictures.
  • Frame encoding or field encoding can be adaptively selected on a frame-by-frame basis. Frame encoding is typically preferred when the video scene contains significant detail with limited motion.
  • Field encoding in which the second field can be predicted from the first, works better when there is fast movement. For field prediction, predictions are made independently for the macroblocks of each field by using data from one or more previous fields (P field) or previous and subsequent fields (B field) .
  • rate control For frame prediction, predictions are made for the macroblocks in a frame from a previous frame (P frame) or from a previous and subsequent frame (B frame) . Within a field picture, all predictions are field predictions. However, in a frame picture either field prediction or frame prediction may be selected on a macroblock by macroblock basis.
  • An important aspect of any video encoder is rate control. The purpose of rate control is to maximize the perceived quality of the encoded video when it is decoded at a decoder by intelligently allocating the number of bits used to encode each frame and each macroblock within a frame. Note the encoder may be a constant bit rate (CBR) encoder or a variable bit rate (VBR) encoder.
  • CBR constant bit rate
  • VBR variable bit rate
  • the sequence of bit allocations to successive frames ensures that an assigned channel bit rate is maintained and that decoder buffer exceptions (overflow or underflow of decoder buffer) are avoided.
  • decoder buffer exceptions overflow or underflow of decoder buffer
  • the constraints are reduced. It may only be necessary to insure that a maximum channel rate is not exceeded so as to avoid decoder buffer underflow.
  • the encoder maintains a model of the decoder buffer. This model maintained by the encoder is known as the video buffer verifier (VBV) buffer.
  • the VBV buffer models the decoder buffer occupancy.
  • Video compression standards like MPEG2, are specifically designed to support TV sets that traditionally display analog TV signals according to standards like NTSC, PAL and SECAM.
  • the MPEG2 standard supports both interlaced (as used by these standards) and progressive video display.
  • an important aspect of traditional analog TV sets is that they operate at fixed frame rates. Accordingly, the MPEG2 standard supports encoding at any of the commonly used fixed frame rates.
  • the frame rate at which a television signal is drawn on a Cathode Ray Tube (CRT) is fixed by the various analog TV standards. It is a compromise between conflicting requirements.
  • a higher frame rate requires higher bandwidth of the analog video signal, and the corresponding digital compressed signal used to represent it.
  • a too low frame rate may yield noticeable and rejectionable flicker and jerkiness of moving objects.
  • Interlacing fields is a technique adopted for analog TV standards to provide a relatively high field refresh rate (typically 50 or 60 Hz) and still conserve the required bandwidth, by displaying alternately the odd and even lines of the frame. Since the whole picture is repeatedly redrawn on phosphor that illuminates for a very short time, flicker will occur if the refresh rate is low enough to be detected by the human eye. High illumination levels of ambient light or of the displayed image requires a higher refresh rate to still be unnoticed.
  • the frame refresh rate to provide smooth video is found to be at least 24 Hz, as in cinema movies. In cinema movies, the common picture refresh rate is 24 Hz, however every frame is repeated to prevent flicker of being noticeable.
  • the rate at which pictures need to be displayed to prevent jerkiness is a function of the amount of motion in the pictures. The more motion exists, the higher the required refresh rate.
  • a method for compressing a group of frames includes: (i) receiving a group of frames that includes at least one non-reference frame; and (ii) replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame.
  • a method for compressing a group of frames includes: (i) receiving a group of frames that includes at least one non-reference frame; and (ii) determining whether to replace a portion of a non- reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
  • a determination to replace a frame of a portion of a frame is followed by a replacement of the frame or frame portion.
  • a computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that includes at least one non-reference frame; and replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame.
  • a computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that includes at least one non-reference frame; and determining whether to replace a portion of a non-reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
  • a video compression device that is adapted to receive a group of frames that includes at least one non-reference frame.
  • the device includes a unit adapted to replace at least one non-reference frame by a duplicating frame and the duplicating frame includes information representative of an instruction to duplicate another frame.
  • the device includes a unit adapted to provide information representative of motion associated with a certain non-reference frame.
  • the device is adapted to perform a replacement in response to an amount of motion associated with the replaced non- reference frame.
  • the replacement is responsive to a motion threshold.
  • the replacement is responsive to an absolute sum of motion vectors included within the non-reference frame.
  • the replacement is responsive to a required compression ratio.
  • the device is further adapted to compress at least one frame by an operation that differs from the replacing. Conveniently, this operation involves re-quantizing.
  • the non-reference frame is a B frame.
  • the other frame is an anchor frame.
  • the device is further adapted to analyze the replaced non-reference frame to determine an amount of motion associated with the certain non- reference.
  • the device is adapted to retrieve an amount of motion associated with the certain non- reference .
  • the replacement is responsive to the limitations of the device, such as but not limited to a storage limitation and/or a processing limitation.
  • a video compression device the device being adapted to receive a group of frames that includes at least one non-reference frame.
  • the device includes a unit adapted to determine whether to replace a portion of a non-reference frame by a duplicating frame portion.
  • the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
  • the device includes a unit that is adapted to provide information representative of motion associated with a certain non-reference frame portion.
  • the device is further adapted to replace the frame portion.
  • the replacement is responsive to an amount of motion associated with the replaced non-reference frame portion.
  • the determination is responsive to a motion threshold.
  • the determination is responsive to a required compression ratio.
  • the device is further adapted to compress at least one frame portion by an operation that differs from the replacing. Conveniently, this operation involves re-quantization.
  • Figure 1 illustrates a device for compressing video frames, according to an embodiment of the invention
  • Figure 2 illustrates a device for compressing video frames according to another embodiment of the invention
  • Figure 3 illustrates a group of frames
  • Figure 4 illustrates a frame and multiple replaced macroblocks, according to embodiment of the invention
  • Figures 5 - 7 are flow charts of methods for compressing video according to various embodiments of the invention.
  • DETAILED DESCRIPTION OF THE DRAWINGS The invention allows to compress video and especially a group of video frames by selectively replacing non- reference frames by duplicating frames.
  • Non-reference frames are frames that are not used as a reference during a decoding process of other frames. In other words the decoding or construction process of other frames is not dependent upon the content of the non-reference frames.
  • the following description related to MPEG-2 compliant frames. And especially to B frames. It is noted that the invention can be applied mutatis mutandis to video that is compressed in other manners . It is noted that the replacement of frames by duplicating frames can be applied in various scenarios, by different devices.
  • FIG. 1 illustrates a device 100 for compressing video frames, according to an embodiment of the invention.
  • Device 100 can include hardware, software, middleware or a combination of at least one of said elements.
  • Device 100 includes a motion estimation block 101 that is followed by a decision unit 102 that can optionally also be capable of replacing frames or frame portions in response to the determination.
  • the motion estimation unit 101 is capable of generating B frames and P frames and especially is capable of generating motion vectors. It is noted that the motion estimation block can be adapted to perform motion estimation without completing the process of generating such frames.
  • motion estimation unit 101 After motion estimation unit 101 generates motion vectors, such as optimal motion vectors, it utilizes these motion vectors to determine an amount of motion associated with each frame .
  • the frames as well as information representative of the amount of motion is sent to the decision unit 102 that in turn decides whether to replace one or more non- reference frames.
  • the amount of motion can be determined by the decision unit 102.
  • the amount of motion associated with a frame is compared to a predefined threshold. It is noted that this threshold can be altered, for example in response to a required compression ratio. Conveniently, the threshold is compared to the absolute sum of the motion vectors of a certain non- reference frame.
  • Figure 2 illustrates a device 200 for compressing video frames according to another embodiment of the invention.
  • Device 200 differs from device 100 of figure 1 by retrieving motion vectors instead of generating said vectors .
  • Device 200 includes a parse motion vector unit 201 that is followed by a decision unit 202.
  • the parse motion vector unit 201 retrieves motion vectors or other representation of motion from an input stream. Thus, device 200 retrieves previously generated motion vector instead of generating motion vectors, like device 100.
  • Parse motion vector unit 201 decodes motion vectors from a compressed bit stream to provide an estimate on the amount of motion inherent in the given frame.
  • Unit 202 can apply the same kind of decision mechanism as device 102 of figure 1 to determine if a non-reference frame can be replaced by a duplicating frame.
  • a decision to replace a certain non-reference frame can be responsive to a characteristic of the frame itself or to other parameters such as computational load, replacing device limitations (including storage or computational limitations) .
  • the decision whether to replace a certain non-reference frame can be dependent upon other frames.
  • only non-reference frames can be replaced by duplicating frames. Their replacement does not introduce additional error to other frames.
  • the duplicating frames include information that instructs a decoder to replace a certain frame by an anchor frame, and especially by an adjacent anchor frame.
  • the decision unit 202 (or 102) is adapted to receive information representative of limitations of device 200
  • the decision can also be responsive to information provided by optional unit 201 (or 101) .
  • the inventors used a device that includes an input FIFO and an output
  • FIG. 3 illustrates a group 301 of frames, including reference frames (also referred to as anchor frames) and non-reference frames such as B frames.
  • the group 301 includes a I frame (II) that is followed by two B frames (B2 and B3) , that are followed by a P frame (P4) that in turn is followed by a pair of B frames (B6 and B7) .
  • the arrows associate between B frames and anchor frames that can be referred to by duplicating frames that replace these B frames. Since replacement frames such as zero unidirectional B-frames effectively duplicate the referenced anchor frame, they should reference adjacent anchor frames.
  • the B2 frame could be replaced with an duplicating frame that references the past II frame (effectively duplicating it)
  • the B3 frame could be replaced with an empty B-frame that references the future P4 frame.
  • Replacing prediction frames by empty unidirectional prediction frames also referred to as duplicating frames
  • duplicating frames which are frames that include a zero prediction error referenced to either a past or future anchor frame
  • zero error prediction frames are extremely small, they also yield a reduction in the required bit rate .
  • the selective frame replacement action is the only bit rate reduction operation.
  • the compression process also includes additional compression operations, like DCT coefficient re-quantization.
  • FIG. 4 illustrates a frame 400 that includes various macroblocks that are associated with different amounts of motion.
  • Frame 400 includes macroblocks (collectively denoted 402) that are include significant motion and are therefore not suitable candidates for replacement, and macroblock, such as isolated macroblocks 401 or contiguous clusters of macroblocks 403, which contain little motion. Empty unidirectional prediction error macroblocks can be substituted just for those macroblocks.
  • Figure 5 is a flow chart of method 500 for compressing video according to an embodiment of the invention.
  • Method 500 starts by stages 501 and 502 of analyzing a certain frame to determine if it is a non-reference frame such as a B frame or not. If the answer is negative stage 502 is followed by stage 501 that is applied on the next frame. Else, stage 502 is followed by stage 505 of analyzing the motion vectors associated with that certain frame to determine an amount of motion associated with that certain frame. The amount of motion (also referred to as motion activity factor) is computed based on the motion vectors of that certain frame. For example, the sum of absolute vector sizes can be used. The amount of motion is then compared, during stage 506, to a threshold and if it is below the threshold stage then stage 506 is followed by stage 509 of checking if the certain frame is adjacent an anchor frame.
  • stage 509 is followed by stage 512 replacing the certain frame by a duplicating frame that references to the adjacent frame.
  • Stages 506 is followed by stage 501 of analyzing a next frame if the motion is above the threshold.
  • Stage 509 is followed by stage 501 if the adjacent frames are not anchor frames.
  • Stage 512 is followed by stage 501.
  • the duplicating frame is conveniently an empty B- frame that references the adjacent anchor frame.
  • the duplicating frame is very small, as it encodes a zero prediction error frame with zero vectors, effectively duplicating the anchor frame.
  • Figure 6 is a flow chart of method 600 for compressing a group of frames.
  • Method 600 starts by stage 610 of receiving a group of frames that includes at least one non-reference frame. Stage 610 is followed by stage 620 of replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame. Conveniently, stage 620 of replacing is responsive to an amount of motion associated with the replaced non- reference frame. Conveniently, the determining whether to replace a non-reference frame is responsive to a motion threshold. According to an embodiment of the invention the determining is responsive to an absolute sum of motion vectors included within the non-reference frame. According to another embodiment of the invention the determining is responsive to a required compression ratio.
  • method 600 further includes compressing at least one frame by an operation that differs from the replacing.
  • This operation can be a re-quantization operation.
  • the non-reference frame is a B frame.
  • the adjacent frame is an anchor frame.
  • the replacing is preceded by analyzing the replaced non- reference frame to determine an amount of motion associated with the certain non-reference.
  • the replacing can alternatively be preceded by retrieving an amount of motion associated with the certain non-reference.
  • the replacing is responsive to limitations of a replacing device, such as computational limitations and/or storage limitations.
  • the duplicating frame references an adjacent frame.
  • Figure 7 is a flow chart of method 700 for compressing a group of frames.
  • Method 700 starts by stage 710 of receiving a group of frames that includes at least one non-reference frame. Stage 710 is followed by stage 720 of determining whether to replace a portion of a non- reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion. Stage 720 is followed by stage 730 of replacing said frames in response to the determination.
  • the video compression process does not result in a noticeable visual degradation of the compressed video.
  • an amount of bit rate reduction required to achieve a target bit rate could affect the threshold.
  • the threshold can be proportional to the compression ratio.
  • the motion associated with a frame can be estimated in various manners.
  • said motion can be determined in response to an amount of motion vectors beyond a certain threshold considered to be significant.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A method of implementing a bit-rate reduction process for compressed digital video data (fig.5), to further reduce the video bit rate requirements without adversely affecting the visual quality is described. The bit rate reduction (fig.5) is achieved by adaptively modifying the effective frame rate. It is affected by dropping suitable frames, or parts thereof, an replacing them with duplicating frames (512). The selection of frames to replace can be based on motion analysis (505).

Description

VIDEO COMPRESSION DEVICE AND A METHOD FOR COMPRESSING VIDEO
RELATED APPLICATIONS This application claims the priority of U.S. provisional patent titled "Method for further compressing digital video", serial number 60/535671, filed January 8 2004.
FIELD OF THE INVENTION This application related to a device and method for compressing digital video and especially for B-frame based compression scheme.
BACKGROUND OF THE INVENTION Uncompressed video is very large. Each video image includes a large amount of pixels and each pixel can be represented by multiple bits. Various compression schemes, such as MPEG-2 and MPEG-4 were developed in order to reduce the cost of video storage and transmission. These standards utilize spatial and temporal redundancy in order to reduce the size of video streams. A typical MPEG-2 video encoder receives a sequence of frames from a video source. The sequence of frames may be progressive or interlaced. Illustratively, the progressive sequence includes thirty frames per second. In the case of an interlaced sequence, each frame comprises two fields. A top field comprises the even numbered rows and a bottom field comprises the odd numbered rows. Thus, in the case of an interlaced sequence, there are sixty fields per second. A typical encoder can include hardware as well as software components. U.S. patent 6760478, of Aditta et al . , titled "Method and apparatus for performing two pass quality video compression through pipelining and buffer management", which is incorporated herein by reference, describes a combination of hardware and software components . The video source may be any source of a digital video signal such as a video camera or a telecine machine. A telecine machine converts a film comprising twenty four frames per second into a sixty field per second digital video signal using 3:2 pull down. The 3:2 pull down technique provides for generating two video fields and three video fields for alternating film frames. For a film frame which is converted into three video fields, the third field is a repeat of the first field. The video-encoder utilizes compression algorithms to generate an MPEG-2 compliant bit stream from the input sequence of frames. (See ISO/IEC 13818-2) The MPEG-2 bit stream has six layers of syntax. There are a sequence layer (random access unit, context) , Group of Pictures layer (random access unit, video coding) , picture layer (primary coding layer) , slice layer (resynchronization unit) , macrobloc (motion compensation unit) and block layer (DCT unit) . A group of pictures (GOP) is a set of frames which starts with an I-frame and includes a certain number of P and B frames. The number of frames in a GOP may be fixed or may be variable. Each frame is divided into macroblocks. Illustratively, a macroblock comprises four luminance blocks and two chrominance blocks. Each block is 8x8 pixels. U.S. patent application 20010048718 of Bruls et al., titled "Video compression" suggests to use GOPs that include only I-frames and P-frames, thus reducing the decoding complexity. It is noted commonly used encoders use B-frames as well as P-frames and I-frames. The encoder distinguishes between three kinds of frames (or pictures), I, P, and B. Typically, the coding of I frames results in the most bits. In an I-frame, each macroblock is coded as follows. Each 8x8 block of pixels in a macroblock undergoes a DCT (discrete cosine transform) transform to form an 8x8 array of transform coefficients. The transform coefficients are then quantized with a variable quantizer matrix. Quantization involves dividing each DCT coefficient F[v] [u] by a quantizer step size. The quantizer step size for each AC DCT coefficient is determined by the product of a weighting matrix element [v] [u] and a quantization scale factor (also known as mquant) . As is explained below, in some cases the quantization scale factor Qn for a macroblock n is a product of a rate control quantization scale factor Qn R and a masking activity quantization scale factor (QSn) . However, this factorization of the quantization scale factor Qn is optional. The use of a quantization scale factor permits the quantization step size for each AC DCT coefficient to be modified at the cost of only a few bits. The quantization scale factor is selected for each macroblock. The resulting quantized DCT coefficients are scanned (e.g., using zig-zag scanning) to form a sequence of DCT coefficients. The DCT coefficients are then organized into run-level pairs. The run-level pairs are then encoded using a variable length code (VLC) . In an I-frame, each macroblock is encoded according to this technique. In a P-frame, a decision is made to code each macroblock as an I macroblock, which macroblock is then encoded according to the technique described above, or to code the macroblock as a P macroblock. For each P macroblock, a prediction of the macroblock in a previous video frame is obtained. The predication is identified by a motion vector which indicates the translation between the macroblock to be coded in the current frame and its prediction in the previous frame. (A variety of block matching algorithms can be used to find the particular macroblock in the previous frame which is the best match with the macroblock to be coded in the current frame. This "best match" macroblock becomes the prediction for the current macroblock. ) The predictive error between the predictive macroblock and the current macroblock is then coded using the DCT, quantization, zig-zig scanning, run- level pair encoding, and VLC encoding. In the coding of a B-frame, a decision has to be made as to the coding of each macroblock. The choices are (a) intracoding (as in an I macroblock) , (b) unidirectional forward predictive coding using a previous frame to obtain a motion compensated prediction, (c) unidirectional backward predictive coding using a subsequent frame to obtain a motion compensated prediction, and (d) bidirectional predictive coding, wherein a motion compensated prediction is obtained by interpolating a backward motion compensated prediction and a forward motion compensated prediction. In the cases of forward, backward, and bidirectional motion compensated prediction, the predictive error is encoded using DCT, quantization, zig-zig scanning, run-level pair encoding and VLC encoding. U.S. patent 5818533 of Auld et al . titled
"Method and apparatus for decoding B frames in video codec with minimal memory", which is incorporated herein by reference, describes an MPEG decoder that reconstructs B frames without storing a reconstructed B frame. The P frame may be predicted from an I frame or another P frame. The B frame may also be predicted from an I frame or a P frame. U.S. patent 5724446 of Liu et al . , titled "Video decoder apparatus using non-reference frame as an additional prediction source and a method therefore" uses B-frames as an additional prediction source, but usually predictions are not made based upon B-frames. B frames have the smallest number of bits when encoded, then P frames, with I frames having the most bits when encoded. Thus, the greatest degree of compression is achieved for B frames. For each of the I, B, and P frames, the number of bits resulting from the encoding process can be controlled by controlling the quantizer step size (adaptive quantization) used to code each macroblock. A macroblock of pixels or pixel errors which is coded using a large quantizer step size results in fewer bits than if a smaller quantizer step size is used. After encoding by the video encoder, the bit stream is stored in an encoder output buffer. Then, the encoded bits are transmitted via a channel to a decoder, where the encoded bits are received in a buffer of the decoder, or the encoded bits may be stored in a storage medium. The order of the frames in the encoded bit stream is the order in which the frames are decoded by the decoder. This may be different from the order in which the frames arrived at the encoder. The reason for this is that the coded bit stream contains B frames. In particular, it is necessary to code the I and P frames used to anchor a B frame before coding the B frame itself. Consider the following sequence of frames received at the input of a video encoder and the indicated coding type (I, P or B) to be used to code each frame:
1 2 3 4 5 6 7 8 9 10 11 12 13 I B B P B B P B B I B B P
For this example there are two B-frames between successive coded P-frames and also two B-frames between successive coded I-and P-frames. Frames "II" is used to form a prediction for frame "4P, and frames "II" and "4P" are both used to form predictions for frames "2B" and "3B". Therefore, the order of coded frames in the coded sequence shall be "II", "4P", "2B", "3B". Thus, at the encoder output, in the coded bit stream, and at the decoder input, the frames are reordered as follows:
1 4 2 3 7 5 6 10 8 9 13 11 12 I P B B P B B I B B P B B
In the case of interlaced video the following applies. Each frame of interlaced video consists of two fields. The MPEG-2 specification allows the frame to be encoded as a frame picture or the two fields to be encoded as two field pictures. Frame encoding or field encoding can be adaptively selected on a frame-by-frame basis. Frame encoding is typically preferred when the video scene contains significant detail with limited motion. Field encoding, in which the second field can be predicted from the first, works better when there is fast movement. For field prediction, predictions are made independently for the macroblocks of each field by using data from one or more previous fields (P field) or previous and subsequent fields (B field) . For frame prediction, predictions are made for the macroblocks in a frame from a previous frame (P frame) or from a previous and subsequent frame (B frame) . Within a field picture, all predictions are field predictions. However, in a frame picture either field prediction or frame prediction may be selected on a macroblock by macroblock basis. An important aspect of any video encoder is rate control. The purpose of rate control is to maximize the perceived quality of the encoded video when it is decoded at a decoder by intelligently allocating the number of bits used to encode each frame and each macroblock within a frame. Note the encoder may be a constant bit rate (CBR) encoder or a variable bit rate (VBR) encoder. In the case of constant bit rate encoder, the sequence of bit allocations to successive frames ensures that an assigned channel bit rate is maintained and that decoder buffer exceptions (overflow or underflow of decoder buffer) are avoided. In the case of a VBR encoder, the constraints are reduced. It may only be necessary to insure that a maximum channel rate is not exceeded so as to avoid decoder buffer underflow. In order to prevent a decoder buffer exception, the encoder maintains a model of the decoder buffer. This model maintained by the encoder is known as the video buffer verifier (VBV) buffer. The VBV buffer models the decoder buffer occupancy. Depending on the VBV occupancy level, the number bits which may be budgeted for a particular frame may be increased or decreased to avoid a decoder buffer exception. Video compression standards, like MPEG2, are specifically designed to support TV sets that traditionally display analog TV signals according to standards like NTSC, PAL and SECAM. As such, for example, the MPEG2 standard supports both interlaced (as used by these standards) and progressive video display. Also, an important aspect of traditional analog TV sets is that they operate at fixed frame rates. Accordingly, the MPEG2 standard supports encoding at any of the commonly used fixed frame rates. The frame rate at which a television signal is drawn on a Cathode Ray Tube (CRT) is fixed by the various analog TV standards. It is a compromise between conflicting requirements. On one hand, a higher frame rate requires higher bandwidth of the analog video signal, and the corresponding digital compressed signal used to represent it. On the other hand, a too low frame rate may yield noticeable and rejectionable flicker and jerkiness of moving objects. Interlacing fields is a technique adopted for analog TV standards to provide a relatively high field refresh rate (typically 50 or 60 Hz) and still conserve the required bandwidth, by displaying alternately the odd and even lines of the frame. Since the whole picture is repeatedly redrawn on phosphor that illuminates for a very short time, flicker will occur if the refresh rate is low enough to be detected by the human eye. High illumination levels of ambient light or of the displayed image requires a higher refresh rate to still be unnoticed. 50-60 Hz have been determined to yield a reasonably flicker free image on modern TV sets. Even so, 100Hz TV sets multiply the frame rate to reduce the flicker even further. Another reason to have a relatively high refresh rate is to avoid jerkiness associated with fast moving objects. Even though the images are reconstructed as discrete images in time, if they are repeated at a high enough rate the human eye will perceive them as smooth continuous motion. The frame refresh rate to provide smooth video is found to be at least 24 Hz, as in cinema movies. In cinema movies, the common picture refresh rate is 24 Hz, however every frame is repeated to prevent flicker of being noticeable. The rate at which pictures need to be displayed to prevent jerkiness is a function of the amount of motion in the pictures. The more motion exists, the higher the required refresh rate. It follows that the refresh rate required to avoid flicker and the refresh rate required to avoid jerkiness are independent, the former is more or less fixed and independent of video content, while the later depends on the amount of motion in the video. Various methods are devices were designed for compressing video streams. U.S. Pat. No. 5,956,088 mentions dropping B-frames, fully or partially, as a means to reduce the required bit rate to represent a video stream. However, simply dropping B-frames adversely affects the resulting visual quality of the decoded stream as it may cause jerkiness of motion. There is a need to provide an efficient method and device for compressing video, especially without a noticeable visual degradation of the compressed video.
SUMMARY OF THE INVENTION A method for compressing a group of frames, the method includes: (i) receiving a group of frames that includes at least one non-reference frame; and (ii) replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame. A method for compressing a group of frames, the method includes: (i) receiving a group of frames that includes at least one non-reference frame; and (ii) determining whether to replace a portion of a non- reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion. Conveniently, a determination to replace a frame of a portion of a frame is followed by a replacement of the frame or frame portion. A computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that includes at least one non-reference frame; and replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame. A computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that includes at least one non-reference frame; and determining whether to replace a portion of a non-reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion. A video compression device that is adapted to receive a group of frames that includes at least one non-reference frame. The device includes a unit adapted to replace at least one non-reference frame by a duplicating frame and the duplicating frame includes information representative of an instruction to duplicate another frame. Conveniently, the device includes a unit adapted to provide information representative of motion associated with a certain non-reference frame. Conveniently, the device is adapted to perform a replacement in response to an amount of motion associated with the replaced non- reference frame. Conveniently, the replacement is responsive to a motion threshold. Conveniently, the replacement is responsive to an absolute sum of motion vectors included within the non-reference frame. Conveniently, the replacement is responsive to a required compression ratio. Conveniently, the device is further adapted to compress at least one frame by an operation that differs from the replacing. Conveniently, this operation involves re-quantizing. Conveniently, the non-reference frame is a B frame. Conveniently, the other frame is an anchor frame. Conveniently, the device is further adapted to analyze the replaced non-reference frame to determine an amount of motion associated with the certain non- reference. Conveniently, the device is adapted to retrieve an amount of motion associated with the certain non- reference . Conveniently, the replacement is responsive to the limitations of the device, such as but not limited to a storage limitation and/or a processing limitation. A video compression device, the device being adapted to receive a group of frames that includes at least one non-reference frame. Wherein the device includes a unit adapted to determine whether to replace a portion of a non-reference frame by a duplicating frame portion. And the duplicating frame portion includes information representative of an instruction to duplicate another frame portion. Conveniently the device includes a unit that is adapted to provide information representative of motion associated with a certain non-reference frame portion. Conveniently, the device is further adapted to replace the frame portion. Conveniently, the replacement is responsive to an amount of motion associated with the replaced non-reference frame portion. Conveniently, the determination is responsive to a motion threshold. Conveniently, the determination is responsive to a required compression ratio. Conveniently, the device is further adapted to compress at least one frame portion by an operation that differs from the replacing. Conveniently, this operation involves re-quantization.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which: Figure 1 illustrates a device for compressing video frames, according to an embodiment of the invention; Figure 2 illustrates a device for compressing video frames according to another embodiment of the invention; Figure 3 illustrates a group of frames; Figure 4 illustrates a frame and multiple replaced macroblocks, according to embodiment of the invention; and Figures 5 - 7 are flow charts of methods for compressing video according to various embodiments of the invention. DETAILED DESCRIPTION OF THE DRAWINGS The invention allows to compress video and especially a group of video frames by selectively replacing non- reference frames by duplicating frames. Non-reference frames are frames that are not used as a reference during a decoding process of other frames. In other words the decoding or construction process of other frames is not dependent upon the content of the non-reference frames. For convenience of explanation the following description related to MPEG-2 compliant frames. And especially to B frames. It is noted that the invention can be applied mutatis mutandis to video that is compressed in other manners . It is noted that the replacement of frames by duplicating frames can be applied in various scenarios, by different devices. For example, this can be applied in the context of an encoder operating on bitmaps, or it can be employed by a transrater that is adapted to alter the bit rate of a pre-encoded video stream Figure 1 illustrates a device 100 for compressing video frames, according to an embodiment of the invention. Device 100 can include hardware, software, middleware or a combination of at least one of said elements. Device 100 includes a motion estimation block 101 that is followed by a decision unit 102 that can optionally also be capable of replacing frames or frame portions in response to the determination. The motion estimation unit 101 is capable of generating B frames and P frames and especially is capable of generating motion vectors. It is noted that the motion estimation block can be adapted to perform motion estimation without completing the process of generating such frames. After motion estimation unit 101 generates motion vectors, such as optimal motion vectors, it utilizes these motion vectors to determine an amount of motion associated with each frame . The frames as well as information representative of the amount of motion is sent to the decision unit 102 that in turn decides whether to replace one or more non- reference frames. It is further noted that the amount of motion can be determined by the decision unit 102. According to an embodiment of the invention the amount of motion associated with a frame is compared to a predefined threshold. It is noted that this threshold can be altered, for example in response to a required compression ratio. Conveniently, the threshold is compared to the absolute sum of the motion vectors of a certain non- reference frame. Figure 2 illustrates a device 200 for compressing video frames according to another embodiment of the invention. Device 200 differs from device 100 of figure 1 by retrieving motion vectors instead of generating said vectors . Device 200 includes a parse motion vector unit 201 that is followed by a decision unit 202. The parse motion vector unit 201 retrieves motion vectors or other representation of motion from an input stream. Thus, device 200 retrieves previously generated motion vector instead of generating motion vectors, like device 100. Parse motion vector unit 201 decodes motion vectors from a compressed bit stream to provide an estimate on the amount of motion inherent in the given frame. Unit 202 can apply the same kind of decision mechanism as device 102 of figure 1 to determine if a non-reference frame can be replaced by a duplicating frame. According to various embodiments of the invention a decision to replace a certain non-reference frame can be responsive to a characteristic of the frame itself or to other parameters such as computational load, replacing device limitations (including storage or computational limitations) . Thus, the decision whether to replace a certain non-reference frame can be dependent upon other frames. Conveniently, only non-reference frames can be replaced by duplicating frames. Their replacement does not introduce additional error to other frames. According to an embodiment of the invention the duplicating frames include information that instructs a decoder to replace a certain frame by an anchor frame, and especially by an adjacent anchor frame. According to other embodiments of the invention the decision unit 202 (or 102) is adapted to receive information representative of limitations of device 200
(or 100) and in response determine whether to replace one or more non-reference frames. It is noted that the decision can also be responsive to information provided by optional unit 201 (or 101) . For example, the inventors used a device that includes an input FIFO and an output
FIFO. When the device was not capable to process frames in an adequate rate the input FIFO is gradually filled and can even overflow. Thus, by tracking the emptiness of the input FIFO the device can determine when a replacement is required and even the required compression ratio. Figure 3 illustrates a group 301 of frames, including reference frames (also referred to as anchor frames) and non-reference frames such as B frames. The group 301 includes a I frame (II) that is followed by two B frames (B2 and B3) , that are followed by a P frame (P4) that in turn is followed by a pair of B frames (B6 and B7) . The arrows associate between B frames and anchor frames that can be referred to by duplicating frames that replace these B frames. Since replacement frames such as zero unidirectional B-frames effectively duplicate the referenced anchor frame, they should reference adjacent anchor frames. In
FIG. 3, the B2 frame could be replaced with an duplicating frame that references the past II frame (effectively duplicating it) , and the B3 frame could be replaced with an empty B-frame that references the future P4 frame. Replacing prediction frames by empty unidirectional prediction frames (also referred to as duplicating frames) which are frames that include a zero prediction error referenced to either a past or future anchor frame, in effect causes a duplication of the anchor (reference) frame. Since zero error prediction frames are extremely small, they also yield a reduction in the required bit rate . According to an embodiment of the invention the selective frame replacement action is the only bit rate reduction operation. According to another embodiment of the invention the compression process also includes additional compression operations, like DCT coefficient re-quantization. According to an embodiment of the invention the replacement is done on a frame basis but this is not necessarily so. According to various embodiments of the invention the replacement can be done on a frame-portion basis . Figure 4 illustrates a frame 400 that includes various macroblocks that are associated with different amounts of motion. Frame 400 includes macroblocks (collectively denoted 402) that are include significant motion and are therefore not suitable candidates for replacement, and macroblock, such as isolated macroblocks 401 or contiguous clusters of macroblocks 403, which contain little motion. Empty unidirectional prediction error macroblocks can be substituted just for those macroblocks. Figure 5 is a flow chart of method 500 for compressing video according to an embodiment of the invention. Method 500 starts by stages 501 and 502 of analyzing a certain frame to determine if it is a non-reference frame such as a B frame or not. If the answer is negative stage 502 is followed by stage 501 that is applied on the next frame. Else, stage 502 is followed by stage 505 of analyzing the motion vectors associated with that certain frame to determine an amount of motion associated with that certain frame. The amount of motion (also referred to as motion activity factor) is computed based on the motion vectors of that certain frame. For example, the sum of absolute vector sizes can be used. The amount of motion is then compared, during stage 506, to a threshold and if it is below the threshold stage then stage 506 is followed by stage 509 of checking if the certain frame is adjacent an anchor frame. If the answer is positive stage 509 is followed by stage 512 replacing the certain frame by a duplicating frame that references to the adjacent frame. Stages 506 is followed by stage 501 of analyzing a next frame if the motion is above the threshold. Stage 509 is followed by stage 501 if the adjacent frames are not anchor frames. Stage 512 is followed by stage 501. It is noted that the process 500 can end once whole frame group is processed but this is not necessarily so. The duplicating frame is conveniently an empty B- frame that references the adjacent anchor frame. The duplicating frame is very small, as it encodes a zero prediction error frame with zero vectors, effectively duplicating the anchor frame. Figure 6 is a flow chart of method 600 for compressing a group of frames. Method 600 starts by stage 610 of receiving a group of frames that includes at least one non-reference frame. Stage 610 is followed by stage 620 of replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame. Conveniently, stage 620 of replacing is responsive to an amount of motion associated with the replaced non- reference frame. Conveniently, the determining whether to replace a non-reference frame is responsive to a motion threshold. According to an embodiment of the invention the determining is responsive to an absolute sum of motion vectors included within the non-reference frame. According to another embodiment of the invention the determining is responsive to a required compression ratio. Conveniently, method 600 further includes compressing at least one frame by an operation that differs from the replacing. This operation can be a re-quantization operation. Conveniently, the non-reference frame is a B frame. Conveniently, the adjacent frame is an anchor frame. According to various embodiments of the invention the replacing is preceded by analyzing the replaced non- reference frame to determine an amount of motion associated with the certain non-reference. The replacing can alternatively be preceded by retrieving an amount of motion associated with the certain non-reference. Conveniently, the replacing is responsive to limitations of a replacing device, such as computational limitations and/or storage limitations. According to an embodiment of the invention the duplicating frame references an adjacent frame. Figure 7 is a flow chart of method 700 for compressing a group of frames. Method 700 starts by stage 710 of receiving a group of frames that includes at least one non-reference frame. Stage 710 is followed by stage 720 of determining whether to replace a portion of a non- reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion. Stage 720 is followed by stage 730 of replacing said frames in response to the determination. According to an embodiment of the invention the video compression process does not result in a noticeable visual degradation of the compressed video. By replacing non- reference that are associated with a low motion. According to an embodiment of the invention an amount of bit rate reduction required to achieve a target bit rate could affect the threshold. For example, the threshold can be proportional to the compression ratio. According to an embodiment of the invention the motion associated with a frame can be estimated in various manners. For example, said motion can be determined in response to an amount of motion vectors beyond a certain threshold considered to be significant. Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.

Claims

WE CLAIM
1. A method for compressing a group of frames, the method comprises: receiving a group of frames that comprises at least one non-reference frame; and replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame.
2. The method of claim 1 wherein the replacing is responsive to an amount of motion associated with the replaced non-reference frame.
3. The method of claim 2 wherein the replacing is responsive to a motion threshold.
4. The method of claim 2 wherein the replacing is responsive to an absolute sum of motion vectors included within the non-reference frame.
5. The method of claim 2 wherein the replacing is responsive to a required compression ratio.
6. The method of claim 1 further comprising compressing at least one frame by an operation that differs from the replacing.
7. The method of claim 6 wherein the operation involves re-quantizing.
8. The method of claim 1 wherein the non-reference frame is a B frame.
9. The method of claim 1 wherein the other frame is an anchor frame .
10. The method of claim 1 wherein the replacing is preceded by analyzing the replaced non-reference frame to determine an amount of motion associated with the certain non-reference .
11. The method of claim 1 wherein the replacing is preceded by retrieving an amount of motion associated with the certain non-reference.
12. The method of claim 1 wherein the replacing is responsive to limitations of a replacing device.
13. The method of claim 1 wherein the limitations comprise computational limitations.
14. The method of claim 1 wherein the limitations comprise storage limitations.
15. The method of claim 1 wherein the other frame is an adjacent frame.
16. A method for compressing a group of frames, the method comprises: receiving a group of frames that comprises at least one non-reference frame; and determining whether to replace a portion of a non- reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
17. The method of claim 16 further comprising replacing the frame portion.
18. The method of claim 17 wherein the replacing is responsive to an amount of motion associated with the replaced non-reference frame portion.
19. The method of claim 16 wherein the determining is responsive to a motion threshold.
20. The method of claim 16 wherein the determining is responsive to a required compression ratio.
21. The method of claim 16 further comprising compressing at least one frame portion by an operation that differs from the replacing.
22. The method of claim 21 wherein the operation involves re-quantizing.
23. A video compression device, the device is adapted to receive a group of frames that comprises at least one non- reference frame; wherein the device comprises a unit adapted to replace at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame .
24. The device of claim 23 wherein the device comprises a unit adapted to provide information representative of motion associated with a certain non-reference frame.
25. The device of claim 23 adapted to perform a replacement in response to an amount of motion associated with the replaced non-reference frame.
26. The device of claim 25 wherein the replacement is responsive to a motion threshold.
27. The device of claim 25 wherein the replacement is responsive to an absolute sum of motion vectors included within the non-reference frame.
28. The device of claim 23 wherein the replacement is responsive to a required compression ratio.
29. The device of claim 23 further adapted to compress at least one frame by an operation that differs from the replacing.
30. The device of claim 29 wherein the operation involves re-quantizing.
31. The device of claim 23 wherein the non-reference frame is a B frame.
32. The device of claim 23 wherein the other frame is an anchor frame.
33. The device of claim 23 wherein the device is further adapted to analyze the replaced non-reference frame to determine an amount of motion associated with the certain non-reference .
34. The device of claim 23 wherein the replacement is adapted to retrieve an amount of motion associated with the certain non-reference.
35. The device of claim 23 whereas the replacement is responsive to the limitations of the device.
36. A video compression device, the device being adapted to receive a group of frames that comprises at least one non-reference frame; and wherein the device comprises a unit adapted to determine whether to replace a portion of a non-reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
37. The device of claim 36 comprises a unit adapted to provide information representative of motion associated with a certain non-reference frame portion.
38. The device of claim 36 further adapted to replace the frame portion.
39. The device of claim 36 wherein the replacement is responsive to an amount of motion associated with the replaced non-reference frame portion.
40. The device of claim 36 wherein the determination is responsive to a motion threshold.
41. The device of claim 36 wherein the determination is responsive to a required compression ratio.
42. The device of claim 36 further adapted to compress at least one frame portion by an operation that differs from the replacing.
43. The device of claim 42 wherein the operation involves re-quantization .
44. A computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that comprises at least one non-reference frame; and replacing at least one non-reference frame by a duplicating frame; wherein the duplicating frame includes information representative of an instruction to duplicate another frame.
45. A computer readable medium having code embodied therein for causing an electronic device to perform the stages of: receiving a group of frames that comprises at least one non-reference frame; and determining whether to replace a portion of a non-reference frame by a duplicating frame portion; wherein the duplicating frame portion includes information representative of an instruction to duplicate another frame portion.
PCT/IL2005/000014 2004-01-08 2005-01-04 Video compression device and a method for compressing video WO2005065030A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60/353,671 2002-01-31
US35367104P 2004-01-08 2004-01-08

Publications (2)

Publication Number Publication Date
WO2005065030A2 true WO2005065030A2 (en) 2005-07-21
WO2005065030A3 WO2005065030A3 (en) 2006-02-02

Family

ID=34748683

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2005/000014 WO2005065030A2 (en) 2004-01-08 2005-01-04 Video compression device and a method for compressing video

Country Status (1)

Country Link
WO (1) WO2005065030A2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083279A2 (en) * 2006-01-20 2007-07-26 Nxp B.V. Replacement of frame data in a video stream signal
WO2007125458A2 (en) * 2006-04-27 2007-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for encoding/transcoding and decoding
WO2008051769A2 (en) * 2006-10-20 2008-05-02 Hewlett-Packard Development Company, L.P. Frame dropping for streams of images frames
US20090225853A1 (en) * 2008-03-06 2009-09-10 Ran Oz Method and system for rate reduction of video streams
WO2010014759A2 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intelligent frame skipping in video coding based on similarity metric in compressed domain
WO2016036295A3 (en) * 2014-09-05 2016-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Method, device, computer program and computer program product for encoding of high frame rate video
US9967561B2 (en) 2006-05-05 2018-05-08 Microsoft Technology Licensing, Llc Flexible quantization
US10063863B2 (en) 2003-07-18 2018-08-28 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
CN108635851A (en) * 2018-05-16 2018-10-12 网易(杭州)网络有限公司 A kind for the treatment of method and apparatus of game picture
US10306227B2 (en) 2008-06-03 2019-05-28 Microsoft Technology Licensing, Llc Adaptive quantization for enhancement layer video coding
EP3547684A1 (en) * 2018-03-28 2019-10-02 Axis AB Method, device and system for method of encoding a sequence of frames in a video stream
CN110351553A (en) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 Video broadcasts, the video processing method of falling multicast data, device and computer equipment
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
CN113393851A (en) * 2021-06-23 2021-09-14 紫优科技(深圳)有限公司 Method, system, electronic device and storage medium for transmitting voice

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295546B1 (en) * 1996-06-21 2001-09-25 Compaq Computer Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition, storage and retrieval
US6415055B1 (en) * 1994-12-12 2002-07-02 Sony Corporation Moving image encoding method and apparatus, and moving image decoding method and apparatus
US6600835B1 (en) * 1999-02-10 2003-07-29 Nec Corporation Moving-picture compressing technique
US6704357B1 (en) * 1999-09-28 2004-03-09 3Com Corporation Method and apparatus for reconstruction of low frame rate video conferencing data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415055B1 (en) * 1994-12-12 2002-07-02 Sony Corporation Moving image encoding method and apparatus, and moving image decoding method and apparatus
US6295546B1 (en) * 1996-06-21 2001-09-25 Compaq Computer Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition, storage and retrieval
US6600835B1 (en) * 1999-02-10 2003-07-29 Nec Corporation Moving-picture compressing technique
US6704357B1 (en) * 1999-09-28 2004-03-09 3Com Corporation Method and apparatus for reconstruction of low frame rate video conferencing data

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659793B2 (en) 2003-07-18 2020-05-19 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US10063863B2 (en) 2003-07-18 2018-08-28 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
WO2007083279A3 (en) * 2006-01-20 2008-02-21 Nxp Bv Replacement of frame data in a video stream signal
WO2007083279A2 (en) * 2006-01-20 2007-07-26 Nxp B.V. Replacement of frame data in a video stream signal
US8320451B2 (en) 2006-01-20 2012-11-27 Entropic Communications, Inc. Replacement of frame data in a video stream signal
WO2007125458A3 (en) * 2006-04-27 2008-01-10 Koninkl Philips Electronics Nv Method and apparatus for encoding/transcoding and decoding
WO2007125458A2 (en) * 2006-04-27 2007-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for encoding/transcoding and decoding
US9967561B2 (en) 2006-05-05 2018-05-08 Microsoft Technology Licensing, Llc Flexible quantization
WO2008051769A2 (en) * 2006-10-20 2008-05-02 Hewlett-Packard Development Company, L.P. Frame dropping for streams of images frames
WO2008051769A3 (en) * 2006-10-20 2008-10-16 Hewlett Packard Development Co Frame dropping for streams of images frames
GB2455688A (en) * 2006-10-20 2009-06-24 Hewlett Packard Development Co Frame dropping for streams of images frames
GB2455688B (en) * 2006-10-20 2011-06-15 Hewlett Packard Development Co Frame filter
US20090225853A1 (en) * 2008-03-06 2009-09-10 Ran Oz Method and system for rate reduction of video streams
US8238431B2 (en) * 2008-03-06 2012-08-07 Arris Solutions, Inc. Method and system for rate reduction of video streams
US10306227B2 (en) 2008-06-03 2019-05-28 Microsoft Technology Licensing, Llc Adaptive quantization for enhancement layer video coding
WO2010014759A3 (en) * 2008-07-29 2010-05-20 Qualcomm Incorporated Intelligent frame skipping in video coding based on similarity metric in compressed domain
WO2010014759A2 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intelligent frame skipping in video coding based on similarity metric in compressed domain
WO2016036295A3 (en) * 2014-09-05 2016-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Method, device, computer program and computer program product for encoding of high frame rate video
US10856002B2 (en) 2018-03-28 2020-12-01 Axis Ab Method, device and system for method of encoding a sequence of frames in a video stream
KR20190113546A (en) * 2018-03-28 2019-10-08 엑시스 에이비 Method, device and system for method of encoding a sequence of frames in a video stream
CN110324636A (en) * 2018-03-28 2019-10-11 安讯士有限公司 Method, apparatus and system for being encoded to the frame sequence in video flowing
US20190306525A1 (en) * 2018-03-28 2019-10-03 Axis Ab Method, device and system for method of encoding a sequence of frames in a video stream
EP3547684A1 (en) * 2018-03-28 2019-10-02 Axis AB Method, device and system for method of encoding a sequence of frames in a video stream
KR102113948B1 (en) 2018-03-28 2020-05-21 엑시스 에이비 Method, device and system for method of encoding a sequence of frames in a video stream
CN110324636B (en) * 2018-03-28 2021-02-05 安讯士有限公司 Method, device and system for encoding a sequence of frames in a video stream
TWI763983B (en) * 2018-03-28 2022-05-11 瑞典商安訊士有限公司 Method, device and system of encoding a sequence of frames in a video stream
CN110351553A (en) * 2018-04-08 2019-10-18 腾讯科技(深圳)有限公司 Video broadcasts, the video processing method of falling multicast data, device and computer equipment
CN110351553B (en) * 2018-04-08 2023-09-22 腾讯科技(深圳)有限公司 Video back-playing and video back-playing data processing method and device and computer equipment
CN108635851A (en) * 2018-05-16 2018-10-12 网易(杭州)网络有限公司 A kind for the treatment of method and apparatus of game picture
CN113393851A (en) * 2021-06-23 2021-09-14 紫优科技(深圳)有限公司 Method, system, electronic device and storage medium for transmitting voice

Also Published As

Publication number Publication date
WO2005065030A3 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
US8374236B2 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
US10171824B2 (en) System and method for adaptive frame re-compression in video processing system
JP5180294B2 (en) Buffer-based rate control that utilizes frame complexity, buffer level, and intra-frame location in video encoding
US7072393B2 (en) Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US10536731B2 (en) Techniques for HDR/WCR video coding
US20090161766A1 (en) System and Method for Processing Video Content Having Redundant Pixel Values
US10616583B2 (en) Encoding/decoding digital frames by down-sampling/up-sampling with enhancement information
US20070199011A1 (en) System and method for high quality AVC encoding
US20020122491A1 (en) Video decoder architecture and method for using same
EP1515564A2 (en) Systems and methods for adaptively filtering DCT coefficients in a video encoder
US20100166060A1 (en) Video transcoder rate control
US6956899B2 (en) Precise bit control apparatus with look-ahead for MPEG encoding
US5974185A (en) Methods and apparatus for encoding video data using motion vectors for decoding by regular or downconverting decoders
JP2006509444A (en) Rate control with picture-based look-ahead window
WO2012076646A1 (en) High-dynamic range video tone mapping
US11212536B2 (en) Negative region-of-interest video coding
WO2005065030A2 (en) Video compression device and a method for compressing video
US20070014364A1 (en) Video coding method for performing rate control through frame dropping and frame composition, video encoder and transcoder using the same
JP2006295449A (en) Rate converting method and rate converter
US6040875A (en) Method to compensate for a fade in a digital video input sequence
KR100394014B1 (en) Apparatus for transcoding video
US20130077674A1 (en) Method and apparatus for encoding moving picture
JPH08251597A (en) Moving image encoding and decoding device
KR102113948B1 (en) Method, device and system for method of encoding a sequence of frames in a video stream
JP2001148852A (en) Image information converter and image information conversion method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC, DATED 07-11-2006

122 Ep: pct application non-entry in european phase