USRE36507E - Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field - Google Patents
Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field Download PDFInfo
- Publication number
- USRE36507E USRE36507E US08/954,916 US95491697A USRE36507E US RE36507 E USRE36507 E US RE36507E US 95491697 A US95491697 A US 95491697A US RE36507 E USRE36507 E US RE36507E
- Authority
- US
- United States
- Prior art keywords
- field
- fields
- frame
- sequence
- produce
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000013144 data compression Methods 0.000 title claims abstract description 11
- 230000033001 locomotion Effects 0.000 abstract description 68
- 238000007906 compression Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 33
- 230000015654 memory Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 10
- 238000013139 quantization Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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 present invention concerns video data compression and in particular, apparatus and a method for processing groups of successive fields of video information to obtain high levels of data compression.
- Image sequence data compression systems such as that proposed by the Moving Pictures Experts Group (MPEG), a committee within the International Standards Organization (ISO), have been very effective in coding image sequences for video signals under the NTSC standard as well as for High Definition Television (HDTV) sources.
- MPEG Moving Pictures Experts Group
- ISO International Standards Organization
- the MPEG system is described in a paper entitled “MPEG Video Simulation Model Three (SM3)” by the Simulation Model Editorial Group, available from ISO as ISO-IEC/JTC1/SC2/WG11/N0010 MPEG 90/041, 1990 which is hereby incorporated by reference for its teachings on the MPEG video signal encoding method.
- SM3 MPEG Video Simulation Model Three
- the MPEG system integrates a number of well-known data compression techniques into a single system. These include motion-compensated predictive coding, discrete cosine transformation (DCT), adaptive quantization and variable length coding (VLC).
- DCT discrete cosine transformation
- VLC variable length coding
- the motion-compensated predictive coding schemes used in HDTV systems process the video data in groups of frames in order to achieve relatively high levels of compression without allowing the performance of the system to be degraded by excessive error propagation.
- image frames are classified into one of three types: the intra-frame (I-frame) the predicted frame (P-frame) and the bidirectional frame (B-frame).
- a two dimensional DCT is applied to small regions such as blocks of 8 by 8 pixels to encode each of the I-frames.
- the resulting data stream is quantized and encoded using a variable-length code, such as an amplitude run-length Huffman code, to produce the compressed output signal.
- P-frames and B-frames are processed as residues of corresponding I and P-frames, respectively, encoded using the two-dimensional DCT, quantized and variable-length coded.
- a typical sequence of frames may be represented by a sequence such as I, B, B, P, B, B, I, B, etc.
- esidue block is then encoded using the two-dimensional DCT, adaptive quantization and variable-length coding.
- the reference block that was used to obtain the residue is then designated as the predecessor of the block to be encoded and is defined by a motion vector which is transmitted with the encoded residue block. This vector describes the displacement in the image plane which is needed to place the reference block in its target position in the new frame.
- Processing frames in groups achieves a high level of data compression due to the strong temporal correlation among successive frames in conventional video images. Redundant information in the images is greatly reduced by the predictive coding method used for the P and B-frames. Under this method, small blocks of data from reconstructed I and P-frames are subtracted from corresponding blocks of data from the respective frames to be encoded as P and B-frames. The result of this operation is residue data values which describe the P-frames in terms of the I-frames and the B-frames in terms of the I and/or P-frames. For P and B-frames, only this residue data is encoded and transmitted.
- This coding is undone at a receiver which reverses the steps to obtain reconstructed image data. Any errors in a frame that is used to predict other frames may propagate to the predicted frames.
- the dependence of one frame on its predecessor I or P-frame limits the ability of the receiver to display a frame selected at random and to accommodate standard television functions such as intra-group scene changes and channel switching.
- the MPEG encoding standard is designed for frame-oriented image sequences. Most video sources, however, provide a frame of information as two interlaced fields which are separated in time by one field interval.
- the standard has been adapted in two ways to accommodate field-oriented image sequences. The first method combines the successive even and odd fields of the interlaced source to form a sequence of frame images and then applies MPEG encoding to the sequence of frames. It is well known that, due to the temporal separation between successive fields, this method may produce unsatisfactory results.
- the second method avoids these problems by applying MPEG encoding to the sequence of fields in the same manner that it would be applied to a sequence of frames.
- Motion predictive encoding is a problem with any of the MPEG encoding methods.
- the process of matching blocks in a predicted frame to displaced blocks in an anchor frame plays a key role in reducing the prediction residue and, thus, the bit rate for an MPEG encoded signal.
- the block matching method which is most commonly used assumes that blocks of pixels move by simple translation (i.e. vertically and/or horizontally) in the image plane from frame to frame or from field to field. This method does not perform well, for example, when the block is part of an object which is rotated about an axis in the image plane or which is subject to a change in size due to motion into or out of the frame or such as would result from an image zoom.
- this encoding method may not work well when there is a relatively large temporal separation between a frame to be predicted and its reference or anchor frame.
- the present invention is embodied in a video encoding system which uses field-oriented motion predictive coding based on data in one or more anchor fields to compress video data.
- the system includes apparatus which processes groups of fields of video data such that a predicted field is encoded using at least one anchor field which has previously been encoded and which is which closer in time to the predicted field than any other previously encoded field.
- the motion predictive coding method employs I, P and B-field types.
- the input video fields are encoded such that a sequence of B-fields separates each I or P-field from the next successive I or P-field.
- the method modifies the sequence of I, P and B-fields defined by the MPEG group of frames to substitute P or B-fields for I-fields and B-fields for P-fields in selected positions in the sequence.
- FIG. 1 is a block diagram of an exemplary video encoding system which includes an embodiment of the invention.
- FIGS. 2 and 3 labeled prior art, are field sequence diagrams which are useful for describing the environment in which the invention operates.
- FIG. 8 is a .Iaddend.field sequence .[.diagrams which are.]. .Iadd.diagram which is .Iaddend.useful for describing the invention as embodied in the system shown in FIG. 1
- FIG. 1 is a block diagram of an encoder adapted to perform a modified version of the MPEG video signal encoding method using successive video fields instead of frames.
- Source 20 which may be, for example, a high-definition video camera, supplies a digital video signal to an input multiplexer 22 as well as to the input port of multi-field memory 24.
- Multi-field memory 24 includes a sufficient number of storage locations to hold N image fields provided by the source 20.
- N may be an integer between 6 and 9, depending upon the embodiment.
- Smaller memories may be used if the processes are optimized to store only the actual data that are needed for present or future encoding operations. This memory holds successive video fields provided by the source 20 while the fields are being encoded using the disclosed encoding methods.
- the number of fields used in each of the exemplary methods is set forth below with reference to .[.FIGS. 2-9 which illustrate the various methods..]. .Iadd.FIG. 8..Iaddend.
- the multi-field memory 24 supplies a signal to an input port of multiplexer 22. This signal is used for processing B-fields.
- the multiplexer 22 is controlled by a signal MX1 to select either the signal from source 20 or one of the signals provided by the multi-field memory 24, to the plus input port of a subtracter 26.
- the minus input port of the subtracter 26 is coupled to a multiplexer 34 which may be controlled by a signal MX6 to provide either a zero value or the output signal A from motion a compensator circuit 36, as described below.
- the exemplary subtracter 26 is actually 256 eight-bit subtracters which are configured to simultaneously subtract four 8 by 8 pixel blocks provided by the motion compensator circuit 36 from four corresponding 8 by 8 pixel blocks provided by the multiplexer 22.
- the arrangement of four 8 by 8 blocks as one 16 by 16 pixel block is defined in the MPEG standard as a macroblock. In the exemplary embodiment of the invention, all motion compensation is performed on the basis of a macroblock.
- the motion compensator receives five input signals, a Backward Motion vector (BMv) and a Forward Motion vector (FMv) from a motion estimator 32, the output signal of the multiplexer 22, and macroblocks of pixel data from one or two reconstructed fields which are held in a second multi-field memory 48. These macroblocks are provided via the multiplexers 50 and 52.
- BMv Backward Motion vector
- FMv Forward Motion vector
- the motion compensator 36 selects pixel values indicated by one or both of the signals FMv and BMv from one of the two macroblocks provided by the multi-field memory 48 or the average values of the two macroblocks. If the field being encoded is a P-field, the compensator selects the pixel values indicated by the signal FMv from the forward macroblock provided by the multi-field memory 48.
- the signal provided by the subtracter 26 is the predictive code residue of the input macroblock provided by the multiplexer 22. That is to say, the input macroblock minus the macroblock provided by the multiplexer 34.
- the motion vectors, BMv and FMv, are provided by motion estimator circuitry 32 which receives respective input signals, each representing at least a macroblock of pixels, from multiplexer 22, multiplexer 28 and multiplexer 30. These multiplexers, in turn, are coupled to receive signals representing stored video data from the multi-field memory 24.
- the motion estimator 32 used in this embodiment of the invention simultaneously compares a macroblock of data provided by the multiplexer 22 with corresponding overlapping macroblocks of data from one or two fields held by the multi-field memory 24.
- the exemplary motion estimator 32 is a high-performance processor which simultaneously compares a target macroblock of 16 by 16 pixels, provided by the multiplexer 22, with 256 overlapping 16 by 16 macroblocks of pixels provided from a single field.
- a motion estimator suitable for use as the estimator 32 may be constructed from multiple conventional motion estimation chips, for example, the ST-13-220 integrated circuit available from SGS Thomson semiconductors.
- Each macroblock of pixels processed by the motion estimator 32 represents a possible displacement of the target macroblock of pixels in the previous field.
- the 256 overlapping macroblocks of pixels define a 48 by 48 pixel block in the anchor field which is centered about the position of the target block and which defines the area that is processed to find a reference macroblock.
- the macroblock in the search area having, for example, the smallest difference with respect to the target macroblock is selected as the reference to be used to predict the target macroblock.
- the output signal of subtracter 26 is either a macroblock of pixels from an I-field or a macroblock of residue pixels which represents either the difference between a P-field and its anchor I-field or the difference between a B-field and one or both of its anchor I and P-fields.
- the next step in the process is to diagonally (i.e. zigzag) scan each of the four blocks within the macroblock and to transform the diagonally scanned data into DCT coefficients using a Discrete Cosine Transform processor 38.
- the DCT processor 38 is able to simultaneously process the four blocks of data that make up the macroblock provided by the subtracter 26 to produce four sets of DCT data. Once transformed, the DCT coefficients are quantized in parallel by quantizer 40.
- the quantizer 40 assigns differing numbers of bits (i.e. uses a different quantization resolution) to represent the magnitude of each of the DCT coefficients, based in part on how people see video information at the frequency represented by the DCT coefficient. Since people are more sensitive to the quantization of image data at low spatial frequencies than to the quantization of data at high spatial frequencies, the coefficients representing the high spatial frequencies may be quantized more coarsely than the coefficients that represent low spatial frequencies.
- the output signal of quantizer 40 is applied to Variable Length Coder (VLC) 54 as well as to an inverse quantizer 42.
- VLC 54 encodes the quantized DCT coefficients by their amplitudes, at least one of the forward and backward motion vectors (FMv and BMv) and a mode signal provided by the motion compensator 36 for each block.
- the VLC 54 applies both run-length encoding and variable length code, such as a Huffman code to the block data.
- the data provided by the VLC 54 is then stored in a first-in-first-out (FIFO) memory device 56 that buffers the data, which may be supplied at varying rates, for transmission to a receiver through a signal conveyor 58.
- FIFO first-in-first-out
- the FIFO 56 is coupled to a buffer control circuit 60.
- the circuit 60 monitors the amount of data in the FIFO 56 to change the size of the quantization steps applied by the quantizer 40. If the amount of data in the FIFO 56 is relatively low, then the quantization steps may be relatively fine, reducing any quantization related errors in the decoded video signal. If, however, the FIFO 56 is almost at its capacity, the buffer control 60 conditions the quantizer 40 to coarsely quantize the DCT coefficients, thus reducing the volume of data used to represent an image.
- the quantized DCT coefficients from the quantizer 40 are also applied to an inverse quantizer circuit 42.
- This circuit reverses the process performed by the quantizer to recover the DCT coefficients with the precision of the assigned quantization resolution.
- IDCT Inverse Discrete Cosine Transform operation
- This element reverses the process performed by the DCT element 38 to recover macroblocks of image data from the quantized data stream.
- the data provided by the IDCT circuit 44 represents macroblocks of the signal as it would be reconstructed at the receiver. This signal is summed with zero-valued pixels, as provided by the multiplexer 34, in an adder 46 and stored in the second multi-field memory 48.
- the output signal provided by the IDCT circuit 44 is added, by adder 46, to the selected macroblock of pixels from the anchor field (provided by the multiplexer 34) to produce a reconstructed macroblock of pixels.
- This macroblock is then stored in the multi-field memory 48 as a portion of a reconstructed version of the P or B-field which is being encoded.
- the reconstructed fields of pixels stored in the multi-field memory 48 may be used by the motion compensator 36 and subtracter 26 to generate the residue data for predictively encoding other P and B-fields.
- Fields marked with a square are intra-coded. These fields are encoded using only data in the field.
- a field to which an arrow points, a target field, is predictively coded. The order in which the fields are encoded is indicated by the vertical position of the arrow or the square.
- a dot is placed on the arrow where it crosses a field to indicate that the dotted field may be used to predictively code the target field.
- An arrow having dots on two fields indicates that the target field may be predictively coded using either of the dotted fields as an anchor field.
- only one field is selected for prediction, however, based on some measure of difference between the anchor field and the target field.
- Exemplary difference measures include the absolute magnitude of the differences between the anchor and target fields, and the mean squared magnitude of the differences between the anchor field and the target field.
- a field to which two arrows point is a bidirectionally coded field.
- a B-field is coded using a preceding field, a following field or an average of the preceding and following fields as the anchor field.
- B-fields which have two dotted fields on each arrow indicate that two preceding and two following fields are compared to determine which preceding field and which following field have the smallest measure of difference with the target field. This determination is made on a macroblock basis by the motion estimator 32 which produces the motion vector output signals FMv and BMv.
- the determined preceding and following fields are then processed according to the MPEG method to predictively encode the target field.
- FIGS. 2 and 3 show two commonly used group-of-fields configurations for field-oriented MPEG systems. In these configurations, there are two I-fields, eight P-fields and twenty B-fields in a one-half second interval. Using these configurations, the predictive coding is refreshed at one-half second intervals.
- FIG. 2 shows the generation, without prediction, of fields I 0 and I 1 , the even and odd fields of the I-frame, respectively.
- the pixel values from the source 20 are stored into respective field stores in the multi-field memory 24 while pixel values representing reconstructed versions of the image data are stored in the multi-field memory 48.
- image data from source 20 which will be encoded as the fields B 2 through B 5 is stored in respectively different field stores of the multi-field memory 24.
- the fields I 0 and I 1 are used to successively predict the even P-fields, P 6 and P 7 as they are provided by the source 20 and stored into the multifield memory 24.
- the control circuitry 21 conditions the multiplexers 28 and 30 to provide blocks of pixels from field I 0 .
- the exemplary embodiment of the invention uses a search area of 32 by 32 pixels from the anchor field to locate possible reference macroblocks for a field that is displaced by one frame interval (i.e. two field intervals) from the anchor. Since the search area is referenced to the center pixel of the macroblock, pixels from the reference field which may be used to calculate the residue and, thus the motion vectors, are defined by a 48 by 48 pixel block (i.e. 8+32+8 by 8+32+8).
- each P-field is separated from its anchor I-field by three frame intervals.
- This scheme would use a relatively large data path and a motion estimator 32 that could simultaneously process a very large number of combinations to achieve equivalent performance to the single frame motion estimation.
- the motion vector may be calculated in steps using a number of method collectively known as telescoping.
- the motion vector from I 0 to P 6 would be calculated in steps, using the intervening field data in the multi-field memory 24.
- the motion vector from B 4 to P 6 would be calculated and recorded, next, the motion vector from B 2 to B 4 would be calculated and recorded, and finally, the motion vector from I 0 to B 2 would be calculated. All motion vectors are calculated based on a 32 by 32 pixel search area.
- the equivalent motion vector from I 0 to P 6 may be determined by summing the final vector with the recorded intermediate vectors.
- This method uses a smaller data path from the multi-field memory 24 to the motion estimator 32, but uses more time to calculate the motion vector since it involves a sequence of steps. Some of this time may be recovered by using pipeline processing to calculate the motion vectors and/or by saving the intermediate motion vectors for use when the motion vectors for the B-fields are calculated.
- the intermediate even and odd B-fields i.e. B 2 , B 3 , B 4 and B 5 which are held in the multi-field memory 24
- B 2 and B 4 are predicted from I 0 and P 6 while B 3 and B 5 are predicted from I 1 and P 7 .
- the circuitry shown in FIG. 1 encodes these fields as follows.
- the control circuitry 21, via signal M1C, conditions the field memory 24 to provide the stored data for field B 2 , one macroblock at a time, to the multiplexer 22.
- the circuitry 21 uses the signals MX2 and MX3 to provide corresponding 48 by 48 pixel blocks from each of the fields I 0 and P 6 to the motion estimator 32 via the multiplexers.
- Motion vectors from I 0 to B 2 may be calculated by the motion estimator 32 in one step.
- Motion vectors from B 2 to P 6 may be calculated by at least two methods.
- an 80 by 80 pixel block may be provided to the motion estimator by the multi-field memory 24 and the motion vector may be calculated using conventional methods, over this larger block.
- the motion vector may be calculated by any one of a number of well known telescoping techniques.
- the circuitry 21 uses the signal MX1 to condition the multiplexer 22 to apply the B 2 macroblocks to the subtracter 22, to the motion estimator 32 and to the motion compensator 36.
- the motion estimator 32 uses the data from fields I 0 and P 6 to calculate the best backward and forward motion vectors (BMv and FMv) for the macroblock that is currently being processed from field B 2 .
- the motion vectors BMv and FMv are applied to the motion compensator 36 and to the control circuitry 21. Based on these vectors, the circuitry 21 conditions the multi-field memory 48 and the multiplexers 50 and 52 to apply the indicated macroblocks to the motion compensator 36.
- the motion compensator 36 calculates three residue values, one for forward motion, using I 0 as the anchor field; one for backward motion, using P 6 as the anchor field; and one in which the anchor field is the average of the anchor macroblocks from I 0 and P 6 .
- the best residue based on a measure of the entropy of the residue.
- exemplary measures include the absolute difference and the mean squared difference between the anchor and target macroblocks.
- the macroblock which produces the best residue is applied, by the motion compensator 36, to the subtracter 26 via the multiplexer 34.
- subtracter 26 generates the residue and applies it to the DCT circuitry 38 and to the quantization circuitry 40 which encodes it.
- the encoded data is then combined with the motion vectors BMv and FMv provided by the motion estimator 32 in a variable length coder 54.
- the signal provided by the coder 54 is transmitted by the signal conveyor 58 to a remote destination.
- the B 2 -B 5 fields are not used to generate any other fields. Accordingly, they are not decoded and stored in the multi-field memory 48.
- FIG. 3 shows a method which is similar to that shown in FIG. 2 except that, instead of the corresponding odd and even I and P-fields being used to predict other odd and even fields, either the odd I and P-fields or the even I and P-fields may be used as an anchor to predict an individual odd or even predictive field.
- I 0 and I 0 are created the same way as in FIG. 2; however, P 6 is now predicted based on the minimum difference value (or some other criterion) developed using I 0 or I 1 as the anchor field.
- P 7 both the odd and even fields of the I frame, I 0 and I 1 , are used to predict the odd field, P 7 .
- B 2 , B 3 , B 4 and B 5 are all predicted using the best match obtained from I 0 , I 1 , P 6 and P 7 or from combinations of one of the I-fields and one of the P-fields.
- the above configurations derive directly from the frame-oriented MPEG system.
- the present invention differs from these schemes by taking advantage of the field-oriented MPEG system to decrease the prediction time interval and the predictive refresh time.
- these schemes reduce the number of bits used to convey the image by substituting P-fields for I-fields and B-fields for P-fields where appropriate. So, progressing from the traditional methods of field processing, .[.FIGS. 4 through 10 show.]. .Iadd.FIG. 8 shows .Iaddend.new and better group of field configurations for image processing.
- FIG. 4 shows a configuration which can be characterized as using the available closer fields to do the predictions.
- I 0 and I 1 are encoded using intrafield processing. Then, these are used as the anchor frame to predict the even field of the next anchor frame, P 6 .
- P 7 of the next anchor frame however, I 1 and P 6 are used and not I 0 and I 1 .
- the use of field P 6 instead of field I 0 , to predict field P 7 reduces the prediction time span from 7 field intervals to 1 field interval. Thus, it is likely that the prediction of P 7 based on I 1 and P 6 will produce a residue signal that can be encoded in fewer bits than the prediction of P 7 based on I 0 and I 1 ..].
- Field B 2 is predicted as shown above in FIG. 3 as the minimum residue of I 0 , I 1 , P 6 and P 7 or as the residue of the average of one of the I-fields and one of the P-fields if that residue is smaller.
- Field B 5 is calculated as the minimum residue of the fields I 1 , B 2 , P 6 and P 7 .
- B 3 is calculated from fields I 1 , B 2 , B 5 and P 6 and B 4 is calculated from fields B 2 , B 3 , B 5 and P 6 .
- the use of B-fields for predicting other B-fields is restricted to be within the boundaries of the anchor frames on either side of the B-fields..].
- the processing of the I 0 , I 1 , P 6 and P 7 fields is essentially the same as outlined above with reference to FIGS. 2 and 3.
- the processing for field B 2 is different; since this field is later used to predict fields B 3 , B 4 and B 5 , B 2 is reconstructed and stored in the multi-field memory 48.
- the processing of the fields B 3 , B 4 and B 5 is different since these fields are encoded with reference to reconstructed B-fields.
- These fields are also encoded in a different order: B 2 , B 5 , B 3 and B 4 instead of B 2 , B 3 , B 4 and B 5 .
- the anchor B-field is often the closest in time to the field that is being encoded, it is likely that it will provide better motion compensation than the other anchor field.
- the inventor has determined that this method significantly reduces the number of bits needed to encode a sequence of video fields compared to the methods described above with reference to FIGS. 2 and 3..].
- fields B 2 , B 3 and B 5 are stored in the memory 48 while none of the B-fields are stored when the group of fields configuration shown in FIGS. 2 and 3 is used.
- field B 2 may overwrite field I 0 and field B 3 may overwrite field I 1 . Consequently, only one additional field of storage is used for the configuration shown in FIG. 5 compared to those shown in FIGS. 2 and 3..].
- FIG. 5 shows an exemplary group of fields configuration in which the P-fields are not grouped in P-frames, as in FIGS. 2, 3 and 4, but occur as single fields separated by intervening B-fields..].
- the increase in data compression achieved by using this scheme results from a reduction in the prediction time span relative to the configurations shown in FIGS. 2 and 3.
- the first predictive field is P 4 , the fourth field rather than the sixth field.
- the time span for the prediction is three or four field intervals rather than five or six as in the configuration shown in FIG. 3.
- the second predictive field, P 7 is generated either from field I 1 or from field P 4 depending on which has the smaller residue. As described above, for images of moving objects, especially if the objects do not move by simple translation, the prediction of P 7 based on P 4 will generally produce a smaller residue than the prediction based on I 0 ..].
- fields B 2 and B 3 are predicted from fields I 0 , I 1 , P 4 and P 7
- fields B 5 and B 6 are predicted from fields I 1 , P 4 , P 7 and P 10 ..].
- FIG. 6 shows a configuration in which both the P-fields and I-fields are distributed among the B-fields.
- this scheme refreshes the prediction more frequently and, so, reduces the visibility of any errors that may occur in the prediction process..].
- field P 3 is predicted from field I 0
- field P 6 is predicted from I 0 and P 3
- field P 9 is predicted from P 3 and P 6
- Fields B 1 and B 2 are predicted from fields I 0 , P 3 and P 6
- fields B 4 and B 5 are predicted from fields I 0 , P 3 , P 6 and P 9 .
- Each of the B-fields may be predicted over a time span of one field interval while each of the P-fields may be predicted over a time span of three field intervals..].
- the number of I-fields can be decreased by one-half. This results in fewer bits on the average being used to encode a group of fields..].
- FIG. 7 illustrates a group-of-fields configuration in which P-fields and I-fields are distributed among the B-fields and the closer available field is used to predict B-fields.
- the processing of the first six fields for this group-of-fields configuration is the same as for the configuration shown in FIG. 6 except for field B 5 .
- this field is predicted from fields P 3 , B 4 , P 6 and P 9 while in the scheme shown in FIG. 6 it was predicted from fields I 0 , P 3 , P 6 and P 9 .
- This reduction in the predictive time span for one of the anchor fields from three field intervals to one field interval increases the likelihood of producing a predictive residue that has a relatively small average magnitude..].
- the group-of-fields configuration shown in FIG. 8 reduces the number of I-fields and P-fields used to represent the image, and at the same time, uses the closer available I, P or B-field to predict each B-field. This scheme reduces the total number of bits needed to encode the image since, in general, P-fields use fewer bits than I-fields and B-fields use fewer bits than P-fields.
- field P 1 is predicted from field I 0 and field P 7 is predicted from I 0 and P 1 .
- Field B 6 is predicted from three fields, I 0 , P 1 and P 7
- B 2 is predicted from four fields, I 0 , P 1 , B 6 and P 7 .
- Field B 5 is predicted using fields P 1 , B 2 , B 6 and P 7 .
- Field B 5 is then used along with fields B 6 , P 1 and B 2 to predict field B 3 .
- field B 4 is predicted entirely from B-fields: B 2 , B 3 , B 5 and B 6 .
- predictive field P 1 is used in the same manner as the intra field I 1 was used in the configuration shown in FIG. 4 while the field B 6 is used in the same manner as field P 6 in FIG. 4..].
- FIG. 9 A final group-of-fields configuration is shown in FIG. 9. This configuration is an extension of that shown in FIG. 8. Instead of substituting P-fields for I-fields the configuration shown in FIG. 9 substitutes B-fields for I-fields. This scheme achieves a lower average bit-rate than the scheme shown in FIG. 8 since, on the average, fewer bits are used to encode a B-field than are used to encode a P-field..].
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A video compression system which is based on the image data compression system developed by the Motion Picture Experts Group (MPEG) uses various group-of-fields configurations to reduce the number of binary bits used to represent an image composed of odd and even fields of video information, where each pair of odd and even fields defines a frame. .[.According to a first method, each field in the group of fields is predicted using the closest field which has previously been predicted as an anchor field. According to a second method, intra fields (I-fields) and predictive fields (P-fields) are distributed in the sequence so that no two I-fields and/or no two P-fields are at adjacent locations in the sequence. According to a third method, t.]. .Iadd.T.Iaddend.he number of I-fields and P-fields in the encoded sequence is reduced by encoding one field in a given frame as a P-field or a B-field where the other field is encoded as an I-field and encoding one field in a further frame as a B-field where the other field is encoded as a P-field.
Description
.Iadd.Application Ser. No 08/538,101, filed Oct. 2, 1995, now U.S. Pat. No. RE 36,015, and application Ser. No. 08/954,916, filed Oct. 21, 1997, are reissue applications of U.S. Pat. No. 5,293,229, which issues from application Ser. No. 07/859,145, filed Mar. 27, 1992..Iaddend.
The present invention concerns video data compression and in particular, apparatus and a method for processing groups of successive fields of video information to obtain high levels of data compression.
Image sequence data compression systems such as that proposed by the Moving Pictures Experts Group (MPEG), a committee within the International Standards Organization (ISO), have been very effective in coding image sequences for video signals under the NTSC standard as well as for High Definition Television (HDTV) sources. The MPEG system is described in a paper entitled "MPEG Video Simulation Model Three (SM3)" by the Simulation Model Editorial Group, available from ISO as ISO-IEC/JTC1/SC2/WG11/N0010 MPEG 90/041, 1990 which is hereby incorporated by reference for its teachings on the MPEG video signal encoding method.
The MPEG system integrates a number of well-known data compression techniques into a single system. These include motion-compensated predictive coding, discrete cosine transformation (DCT), adaptive quantization and variable length coding (VLC).
The motion-compensated predictive coding schemes used in HDTV systems process the video data in groups of frames in order to achieve relatively high levels of compression without allowing the performance of the system to be degraded by excessive error propagation. In these group of frame processing schemes, image frames are classified into one of three types: the intra-frame (I-frame) the predicted frame (P-frame) and the bidirectional frame (B-frame).
A two dimensional DCT is applied to small regions such as blocks of 8 by 8 pixels to encode each of the I-frames. The resulting data stream is quantized and encoded using a variable-length code, such as an amplitude run-length Huffman code, to produce the compressed output signal. P-frames and B-frames are processed as residues of corresponding I and P-frames, respectively, encoded using the two-dimensional DCT, quantized and variable-length coded. A typical sequence of frames may be represented by a sequence such as I, B, B, P, B, B, I, B, etc.
To operate effectively in the presence of inter-frame motion, several overlapping corresponding blocks from the I-frame or P-frame are compared with each block of a P or B-frame to find the one with the smallest residue. The esidue block is then encoded using the two-dimensional DCT, adaptive quantization and variable-length coding. The reference block that was used to obtain the residue is then designated as the predecessor of the block to be encoded and is defined by a motion vector which is transmitted with the encoded residue block. This vector describes the displacement in the image plane which is needed to place the reference block in its target position in the new frame.
Processing frames in groups achieves a high level of data compression due to the strong temporal correlation among successive frames in conventional video images. Redundant information in the images is greatly reduced by the predictive coding method used for the P and B-frames. Under this method, small blocks of data from reconstructed I and P-frames are subtracted from corresponding blocks of data from the respective frames to be encoded as P and B-frames. The result of this operation is residue data values which describe the P-frames in terms of the I-frames and the B-frames in terms of the I and/or P-frames. For P and B-frames, only this residue data is encoded and transmitted.
This coding is undone at a receiver which reverses the steps to obtain reconstructed image data. Any errors in a frame that is used to predict other frames may propagate to the predicted frames. In addition, the dependence of one frame on its predecessor I or P-frame limits the ability of the receiver to display a frame selected at random and to accommodate standard television functions such as intra-group scene changes and channel switching. These limitations could be removed by encoding each frame as an I-frame, however, the resulting coded video signal would need considerably more bits per frame since it would not exploit the temporal redundancy that is inherent in most video information.
The MPEG encoding standard is designed for frame-oriented image sequences. Most video sources, however, provide a frame of information as two interlaced fields which are separated in time by one field interval. The standard has been adapted in two ways to accommodate field-oriented image sequences. The first method combines the successive even and odd fields of the interlaced source to form a sequence of frame images and then applies MPEG encoding to the sequence of frames. It is well known that, due to the temporal separation between successive fields, this method may produce unsatisfactory results. The second method avoids these problems by applying MPEG encoding to the sequence of fields in the same manner that it would be applied to a sequence of frames.
Motion predictive encoding is a problem with any of the MPEG encoding methods. As described above, the process of matching blocks in a predicted frame to displaced blocks in an anchor frame plays a key role in reducing the prediction residue and, thus, the bit rate for an MPEG encoded signal. The block matching method which is most commonly used assumes that blocks of pixels move by simple translation (i.e. vertically and/or horizontally) in the image plane from frame to frame or from field to field. This method does not perform well, for example, when the block is part of an object which is rotated about an axis in the image plane or which is subject to a change in size due to motion into or out of the frame or such as would result from an image zoom. In addition, this encoding method may not work well when there is a relatively large temporal separation between a frame to be predicted and its reference or anchor frame.
The present invention is embodied in a video encoding system which uses field-oriented motion predictive coding based on data in one or more anchor fields to compress video data. The system includes apparatus which processes groups of fields of video data such that a predicted field is encoded using at least one anchor field which has previously been encoded and which is which closer in time to the predicted field than any other previously encoded field.
According to another aspect of the invention, the motion predictive coding method employs I, P and B-field types. The input video fields are encoded such that a sequence of B-fields separates each I or P-field from the next successive I or P-field.
According to another aspect of the invention, the method modifies the sequence of I, P and B-fields defined by the MPEG group of frames to substitute P or B-fields for I-fields and B-fields for P-fields in selected positions in the sequence.
FIG. 1 is a block diagram of an exemplary video encoding system which includes an embodiment of the invention.
FIGS. 2 and 3, labeled prior art, are field sequence diagrams which are useful for describing the environment in which the invention operates.
.[.FIGS. 4-9 are.]. .Iadd.FIG. 8 is a .Iaddend.field sequence .[.diagrams which are.]. .Iadd.diagram which is .Iaddend.useful for describing the invention as embodied in the system shown in FIG. 1
FIG. 1 is a block diagram of an encoder adapted to perform a modified version of the MPEG video signal encoding method using successive video fields instead of frames. Source 20, which may be, for example, a high-definition video camera, supplies a digital video signal to an input multiplexer 22 as well as to the input port of multi-field memory 24. Multi-field memory 24 includes a sufficient number of storage locations to hold N image fields provided by the source 20. In the exemplary embodiments of the invention, N may be an integer between 6 and 9, depending upon the embodiment. Smaller memories may be used if the processes are optimized to store only the actual data that are needed for present or future encoding operations. This memory holds successive video fields provided by the source 20 while the fields are being encoded using the disclosed encoding methods. The number of fields used in each of the exemplary methods is set forth below with reference to .[.FIGS. 2-9 which illustrate the various methods..]. .Iadd.FIG. 8..Iaddend.
The multi-field memory 24 supplies a signal to an input port of multiplexer 22. This signal is used for processing B-fields. The multiplexer 22 is controlled by a signal MX1 to select either the signal from source 20 or one of the signals provided by the multi-field memory 24, to the plus input port of a subtracter 26. The minus input port of the subtracter 26 is coupled to a multiplexer 34 which may be controlled by a signal MX6 to provide either a zero value or the output signal A from motion a compensator circuit 36, as described below. The exemplary subtracter 26 is actually 256 eight-bit subtracters which are configured to simultaneously subtract four 8 by 8 pixel blocks provided by the motion compensator circuit 36 from four corresponding 8 by 8 pixel blocks provided by the multiplexer 22. The arrangement of four 8 by 8 blocks as one 16 by 16 pixel block is defined in the MPEG standard as a macroblock. In the exemplary embodiment of the invention, all motion compensation is performed on the basis of a macroblock.
The motion compensator receives five input signals, a Backward Motion vector (BMv) and a Forward Motion vector (FMv) from a motion estimator 32, the output signal of the multiplexer 22, and macroblocks of pixel data from one or two reconstructed fields which are held in a second multi-field memory 48. These macroblocks are provided via the multiplexers 50 and 52.
When the field being encoded is a B-field, the motion compensator 36 selects pixel values indicated by one or both of the signals FMv and BMv from one of the two macroblocks provided by the multi-field memory 48 or the average values of the two macroblocks. If the field being encoded is a P-field, the compensator selects the pixel values indicated by the signal FMv from the forward macroblock provided by the multi-field memory 48.
These pixel values are applied to the minus input port of the subtracter 26 while the corresponding pixel values from the field to be encoded are applied to the plus input port. The signal provided by the subtracter 26 is the predictive code residue of the input macroblock provided by the multiplexer 22. That is to say, the input macroblock minus the macroblock provided by the multiplexer 34.
The motion vectors, BMv and FMv, are provided by motion estimator circuitry 32 which receives respective input signals, each representing at least a macroblock of pixels, from multiplexer 22, multiplexer 28 and multiplexer 30. These multiplexers, in turn, are coupled to receive signals representing stored video data from the multi-field memory 24. The motion estimator 32 used in this embodiment of the invention, simultaneously compares a macroblock of data provided by the multiplexer 22 with corresponding overlapping macroblocks of data from one or two fields held by the multi-field memory 24. The exemplary motion estimator 32 is a high-performance processor which simultaneously compares a target macroblock of 16 by 16 pixels, provided by the multiplexer 22, with 256 overlapping 16 by 16 macroblocks of pixels provided from a single field. A motion estimator suitable for use as the estimator 32 may be constructed from multiple conventional motion estimation chips, for example, the ST-13-220 integrated circuit available from SGS Thomson semiconductors. Each macroblock of pixels processed by the motion estimator 32 represents a possible displacement of the target macroblock of pixels in the previous field. The 256 overlapping macroblocks of pixels define a 48 by 48 pixel block in the anchor field which is centered about the position of the target block and which defines the area that is processed to find a reference macroblock. The macroblock in the search area having, for example, the smallest difference with respect to the target macroblock is selected as the reference to be used to predict the target macroblock.
The output signal of subtracter 26 is either a macroblock of pixels from an I-field or a macroblock of residue pixels which represents either the difference between a P-field and its anchor I-field or the difference between a B-field and one or both of its anchor I and P-fields.
The next step in the process is to diagonally (i.e. zigzag) scan each of the four blocks within the macroblock and to transform the diagonally scanned data into DCT coefficients using a Discrete Cosine Transform processor 38. In the exemplary embodiment of the invention, the DCT processor 38 is able to simultaneously process the four blocks of data that make up the macroblock provided by the subtracter 26 to produce four sets of DCT data. Once transformed, the DCT coefficients are quantized in parallel by quantizer 40.
The quantizer 40 assigns differing numbers of bits (i.e. uses a different quantization resolution) to represent the magnitude of each of the DCT coefficients, based in part on how people see video information at the frequency represented by the DCT coefficient. Since people are more sensitive to the quantization of image data at low spatial frequencies than to the quantization of data at high spatial frequencies, the coefficients representing the high spatial frequencies may be quantized more coarsely than the coefficients that represent low spatial frequencies.
The output signal of quantizer 40 is applied to Variable Length Coder (VLC) 54 as well as to an inverse quantizer 42. The VLC 54 encodes the quantized DCT coefficients by their amplitudes, at least one of the forward and backward motion vectors (FMv and BMv) and a mode signal provided by the motion compensator 36 for each block. The VLC 54 applies both run-length encoding and variable length code, such as a Huffman code to the block data. The data provided by the VLC 54 is then stored in a first-in-first-out (FIFO) memory device 56 that buffers the data, which may be supplied at varying rates, for transmission to a receiver through a signal conveyor 58.
To ensure that the average rate at which data is encoded matches the transmission rate, the FIFO 56 is coupled to a buffer control circuit 60. The circuit 60 monitors the amount of data in the FIFO 56 to change the size of the quantization steps applied by the quantizer 40. If the amount of data in the FIFO 56 is relatively low, then the quantization steps may be relatively fine, reducing any quantization related errors in the decoded video signal. If, however, the FIFO 56 is almost at its capacity, the buffer control 60 conditions the quantizer 40 to coarsely quantize the DCT coefficients, thus reducing the volume of data used to represent an image.
As described above, the quantized DCT coefficients from the quantizer 40 are also applied to an inverse quantizer circuit 42. This circuit reverses the process performed by the quantizer to recover the DCT coefficients with the precision of the assigned quantization resolution. Once the signal has been dequantized, it is subject to an Inverse Discrete Cosine Transform operation (IDCT) as represented by element 44. This element reverses the process performed by the DCT element 38 to recover macroblocks of image data from the quantized data stream.
If an I-field is being encoded, the data provided by the IDCT circuit 44 represents macroblocks of the signal as it would be reconstructed at the receiver. This signal is summed with zero-valued pixels, as provided by the multiplexer 34, in an adder 46 and stored in the second multi-field memory 48.
If, however, a P or B-field is being encoded, the output signal provided by the IDCT circuit 44 is added, by adder 46, to the selected macroblock of pixels from the anchor field (provided by the multiplexer 34) to produce a reconstructed macroblock of pixels. This macroblock is then stored in the multi-field memory 48 as a portion of a reconstructed version of the P or B-field which is being encoded. As described below, the reconstructed fields of pixels stored in the multi-field memory 48 may be used by the motion compensator 36 and subtracter 26 to generate the residue data for predictively encoding other P and B-fields.
Turning to the methods of field processing, .[.FIGS. 2 through 9.].EP .Iadd.FIGS. 2, 3 and 8 .Iaddend.show exemplary group-of-field configurations for a field-oriented MPEG system. Prior to describing these configurations, a discussion of the notation used in these figures is in order. The vertical lines in these figures represent successive fields of a video signal. The solid lines represent even fields and the broken lines represent odd fields. The letter above each line describes the type of field (i.e. either I, P or B) with the subscript indicating the number of the field in the represented sequence. I and P-field designators are surrounded by squares and circles, respectively.
Fields marked with a square are intra-coded. These fields are encoded using only data in the field. A field to which an arrow points, a target field, is predictively coded. The order in which the fields are encoded is indicated by the vertical position of the arrow or the square. A dot is placed on the arrow where it crosses a field to indicate that the dotted field may be used to predictively code the target field. An arrow having dots on two fields indicates that the target field may be predictively coded using either of the dotted fields as an anchor field. only one field is selected for prediction, however, based on some measure of difference between the anchor field and the target field. Exemplary difference measures include the absolute magnitude of the differences between the anchor and target fields, and the mean squared magnitude of the differences between the anchor field and the target field.
A field to which two arrows point is a bidirectionally coded field. In a standard MPEG system, a B-field is coded using a preceding field, a following field or an average of the preceding and following fields as the anchor field. B-fields which have two dotted fields on each arrow indicate that two preceding and two following fields are compared to determine which preceding field and which following field have the smallest measure of difference with the target field. This determination is made on a macroblock basis by the motion estimator 32 which produces the motion vector output signals FMv and BMv. The determined preceding and following fields are then processed according to the MPEG method to predictively encode the target field.
FIGS. 2 and 3 show two commonly used group-of-fields configurations for field-oriented MPEG systems. In these configurations, there are two I-fields, eight P-fields and twenty B-fields in a one-half second interval. Using these configurations, the predictive coding is refreshed at one-half second intervals.
FIG. 2 shows the generation, without prediction, of fields I0 and I1, the even and odd fields of the I-frame, respectively. As these fields are encoded, the pixel values from the source 20 are stored into respective field stores in the multi-field memory 24 while pixel values representing reconstructed versions of the image data are stored in the multi-field memory 48.
Next, image data from source 20 which will be encoded as the fields B2 through B5 is stored in respectively different field stores of the multi-field memory 24. Then, as represented by the dots and arrows, the fields I0 and I1 are used to successively predict the even P-fields, P6 and P7 as they are provided by the source 20 and stored into the multifield memory 24. To calculate the motion vectors for field P6, for example, the control circuitry 21 conditions the multiplexers 28 and 30 to provide blocks of pixels from field I0.
The exemplary embodiment of the invention uses a search area of 32 by 32 pixels from the anchor field to locate possible reference macroblocks for a field that is displaced by one frame interval (i.e. two field intervals) from the anchor. Since the search area is referenced to the center pixel of the macroblock, pixels from the reference field which may be used to calculate the residue and, thus the motion vectors, are defined by a 48 by 48 pixel block (i.e. 8+32+8 by 8+32+8).
In the exemplary sequence shown in FIG. 2, each P-field is separated from its anchor I-field by three frame intervals. Thus, the search area for the motion vectors defines a 96 by 96 block of pixels and, to calculate motion vectors for this sequence which cover the same range of motions as is covered by a single frame vector, a block of 12544 pixels (8+96+8=112 by 112) from the anchor field would be required. This scheme would use a relatively large data path and a motion estimator 32 that could simultaneously process a very large number of combinations to achieve equivalent performance to the single frame motion estimation.
Alternatively, the motion vector may be calculated in steps using a number of method collectively known as telescoping. By these methods, the motion vector from I0 to P6 would be calculated in steps, using the intervening field data in the multi-field memory 24. In an exemplary telescoping scheme, the motion vector from B4 to P6 would be calculated and recorded, next, the motion vector from B2 to B4 would be calculated and recorded, and finally, the motion vector from I0 to B2 would be calculated. All motion vectors are calculated based on a 32 by 32 pixel search area. The equivalent motion vector from I0 to P6 may be determined by summing the final vector with the recorded intermediate vectors. This method uses a smaller data path from the multi-field memory 24 to the motion estimator 32, but uses more time to calculate the motion vector since it involves a sequence of steps. Some of this time may be recovered by using pipeline processing to calculate the motion vectors and/or by saving the intermediate motion vectors for use when the motion vectors for the B-fields are calculated.
As each of the P-fields is encoded, a reconstructed version of the field is stored in the multi-field memory 48. Once the reconstructed even and odd I-fields and the even and odd P-fields have been stored in the multi-field memory 48, the intermediate even and odd B-fields (i.e. B2, B3, B4 and B5 which are held in the multi-field memory 24) can be predicted using the fields I0, I1, P6 and P7 fields as anchor fields. In the exemplary group-of-fields sequence shown in FIG. 2 B2 and B4 are predicted from I0 and P6 while B3 and B5 are predicted from I1 and P7.
The circuitry shown in FIG. 1 encodes these fields as follows. The control circuitry 21, via signal M1C, conditions the field memory 24 to provide the stored data for field B2, one macroblock at a time, to the multiplexer 22. At the same time, the circuitry 21 uses the signals MX2 and MX3 to provide corresponding 48 by 48 pixel blocks from each of the fields I0 and P6 to the motion estimator 32 via the multiplexers. Motion vectors from I0 to B2 may be calculated by the motion estimator 32 in one step. Motion vectors from B2 to P6, on the other hand, may be calculated by at least two methods. First, an 80 by 80 pixel block may be provided to the motion estimator by the multi-field memory 24 and the motion vector may be calculated using conventional methods, over this larger block. Second, the motion vector may be calculated by any one of a number of well known telescoping techniques.
The circuitry 21 uses the signal MX1 to condition the multiplexer 22 to apply the B2 macroblocks to the subtracter 22, to the motion estimator 32 and to the motion compensator 36. The motion estimator 32 uses the data from fields I0 and P6 to calculate the best backward and forward motion vectors (BMv and FMv) for the macroblock that is currently being processed from field B2.
The motion vectors BMv and FMv are applied to the motion compensator 36 and to the control circuitry 21. Based on these vectors, the circuitry 21 conditions the multi-field memory 48 and the multiplexers 50 and 52 to apply the indicated macroblocks to the motion compensator 36. The motion compensator 36 calculates three residue values, one for forward motion, using I0 as the anchor field; one for backward motion, using P6 as the anchor field; and one in which the anchor field is the average of the anchor macroblocks from I0 and P6.
Of these three residues, one is selected as the best based on a measure of the entropy of the residue. Exemplary measures include the absolute difference and the mean squared difference between the anchor and target macroblocks. The macroblock which produces the best residue is applied, by the motion compensator 36, to the subtracter 26 via the multiplexer 34. As described above, subtracter 26 generates the residue and applies it to the DCT circuitry 38 and to the quantization circuitry 40 which encodes it. The encoded data is then combined with the motion vectors BMv and FMv provided by the motion estimator 32 in a variable length coder 54. The signal provided by the coder 54 is transmitted by the signal conveyor 58 to a remote destination.
In the sequence shown in FIG. 2, the B2 -B5 fields are not used to generate any other fields. Accordingly, they are not decoded and stored in the multi-field memory 48.
FIG. 3 shows a method which is similar to that shown in FIG. 2 except that, instead of the corresponding odd and even I and P-fields being used to predict other odd and even fields, either the odd I and P-fields or the even I and P-fields may be used as an anchor to predict an individual odd or even predictive field. In the field sequence of FIG. 3, I0 and I0 are created the same way as in FIG. 2; however, P6 is now predicted based on the minimum difference value (or some other criterion) developed using I0 or I1 as the anchor field. The same is true for P7, both the odd and even fields of the I frame, I0 and I1, are used to predict the odd field, P7. Finally, the individual B-fields, odd or even, are predicted using the both fields of each of the I and P-frames: B2, B3, B4 and B5 are all predicted using the best match obtained from I0, I1, P6 and P7 or from combinations of one of the I-fields and one of the P-fields.
The above configurations derive directly from the frame-oriented MPEG system. The present invention, as illustrated by the group of field configurations described below, differs from these schemes by taking advantage of the field-oriented MPEG system to decrease the prediction time interval and the predictive refresh time. In addition, these schemes reduce the number of bits used to convey the image by substituting P-fields for I-fields and B-fields for P-fields where appropriate. So, progressing from the traditional methods of field processing, .[.FIGS. 4 through 10 show.]. .Iadd.FIG. 8 shows .Iaddend.new and better group of field configurations for image processing.
.[.FIG. 4 shows a configuration which can be characterized as using the available closer fields to do the predictions. As in the configurations shown in FIGS. 2 and 3, I0 and I1 are encoded using intrafield processing. Then, these are used as the anchor frame to predict the even field of the next anchor frame, P6. To predict the odd field, P7, of the next anchor frame however, I1 and P6 are used and not I0 and I1. The use of field P6, instead of field I0, to predict field P7 reduces the prediction time span from 7 field intervals to 1 field interval. Thus, it is likely that the prediction of P7 based on I1 and P6 will produce a residue signal that can be encoded in fewer bits than the prediction of P7 based on I0 and I1..].
.[.Similarly, this method is applied to the bidirectional B-field prediction. Field B2 is predicted as shown above in FIG. 3 as the minimum residue of I0, I1, P6 and P7 or as the residue of the average of one of the I-fields and one of the P-fields if that residue is smaller. Field B5, however, is calculated as the minimum residue of the fields I1, B2, P6 and P7. Similarly, B3 is calculated from fields I1, B2, B5 and P6 and B4 is calculated from fields B2, B3, B5 and P6. In order to avoid the error propagation among B-fields, the use of B-fields for predicting other B-fields is restricted to be within the boundaries of the anchor frames on either side of the B-fields..].
.[.The processing of the I0, I1, P6 and P7 fields is essentially the same as outlined above with reference to FIGS. 2 and 3. The processing for field B2, however, is different; since this field is later used to predict fields B3, B4 and B5, B2 is reconstructed and stored in the multi-field memory 48. In addition, the processing of the fields B3, B4 and B5 is different since these fields are encoded with reference to reconstructed B-fields. These fields are also encoded in a different order: B2, B5, B3 and B4 instead of B2, B3, B4 and B5. Since the anchor B-field is often the closest in time to the field that is being encoded, it is likely that it will provide better motion compensation than the other anchor field. The inventor has determined that this method significantly reduces the number of bits needed to encode a sequence of video fields compared to the methods described above with reference to FIGS. 2 and 3..].
.[.In the system shown in FIG. 4, fields B2, B3 and B5 are stored in the memory 48 while none of the B-fields are stored when the group of fields configuration shown in FIGS. 2 and 3 is used. In the configuration shown in FIG. 5, however, field B2 may overwrite field I0 and field B3 may overwrite field I1. Consequently, only one additional field of storage is used for the configuration shown in FIG. 5 compared to those shown in FIGS. 2 and 3..].
.[.Another variation on the methods shown in FIGS. 2 and 3 which has produced a significant increase in video data compression is to distribute the I-fields and the P-fields among the B-fields. FIG. 5 shows an exemplary group of fields configuration in which the P-fields are not grouped in P-frames, as in FIGS. 2, 3 and 4, but occur as single fields separated by intervening B-fields..].
.[.The increase in data compression achieved by using this scheme results from a reduction in the prediction time span relative to the configurations shown in FIGS. 2 and 3. In the group-of-fields configuration FIG. 5 the first predictive field is P4, the fourth field rather than the sixth field. Thus, the time span for the prediction is three or four field intervals rather than five or six as in the configuration shown in FIG. 3. Furthermore, the second predictive field, P7 is generated either from field I1 or from field P4 depending on which has the smaller residue. As described above, for images of moving objects, especially if the objects do not move by simple translation, the prediction of P7 based on P4 will generally produce a smaller residue than the prediction based on I0..].
.[.In addition to shortening the time span over which P-fields are predicted, the configuration shown in FIG. 5 also reduces the time span over which B-fields are predicted. As shown in FIG. 5, fields B2 and B3 are predicted from fields I0, I1, P4 and P7, while fields B5 and B6 are predicted from fields I1, P4, P7 and P10..].
.[.FIG. 6 shows a configuration in which both the P-fields and I-fields are distributed among the B-fields. In addition to reducing the time span over which P-fields and B-fields are predicted, this scheme refreshes the prediction more frequently and, so, reduces the visibility of any errors that may occur in the prediction process..].
.[.In FIG. 6, field P3 is predicted from field I0, field P6 is predicted from I0 and P3 and field P9 is predicted from P3 and P6. Fields B1 and B2 are predicted from fields I0, P3 and P6, while fields B4 and B5 are predicted from fields I0, P3, P6 and P9. Each of the B-fields may be predicted over a time span of one field interval while each of the P-fields may be predicted over a time span of three field intervals..].
.[.If the prediction refresh time is kept the same as in the sequences shown in FIGS. 2 and 3, the number of I-fields can be decreased by one-half. This results in fewer bits on the average being used to encode a group of fields..].
.[.FIG. 7 illustrates a group-of-fields configuration in which P-fields and I-fields are distributed among the B-fields and the closer available field is used to predict B-fields. The processing of the first six fields for this group-of-fields configuration is the same as for the configuration shown in FIG. 6 except for field B5. In the scheme shown in FIG. 7, this field is predicted from fields P3, B4, P6 and P9 while in the scheme shown in FIG. 6 it was predicted from fields I0, P3, P6 and P9. This reduction in the predictive time span for one of the anchor fields from three field intervals to one field interval increases the likelihood of producing a predictive residue that has a relatively small average magnitude..].
The group-of-fields configuration shown in FIG. 8 reduces the number of I-fields and P-fields used to represent the image, and at the same time, uses the closer available I, P or B-field to predict each B-field. This scheme reduces the total number of bits needed to encode the image since, in general, P-fields use fewer bits than I-fields and B-fields use fewer bits than P-fields.
In the configuration shown in FIG. 8, field P1 is predicted from field I0 and field P7 is predicted from I0 and P1. Field B6 is predicted from three fields, I0, P1 and P7, while B2 is predicted from four fields, I0, P1, B6 and P7. Field B5 is predicted using fields P1, B2, B6 and P7. Field B5 is then used along with fields B6, P1 and B2 to predict field B3. Finally, field B4 is predicted entirely from B-fields: B2, B3, B5 and B6.
.[.In this configuration, predictive field P1 is used in the same manner as the intra field I1 was used in the configuration shown in FIG. 4 while the field B6 is used in the same manner as field P6 in FIG. 4..].
.[.A final group-of-fields configuration is shown in FIG. 9. This configuration is an extension of that shown in FIG. 8. Instead of substituting P-fields for I-fields the configuration shown in FIG. 9 substitutes B-fields for I-fields. This scheme achieves a lower average bit-rate than the scheme shown in FIG. 8 since, on the average, fewer bits are used to encode a B-field than are used to encode a P-field..].
.[.In addition to the group-of-field configurations shown in FIGS. 4-9, it is contemplated that other configurations based on other combinations of the described techniques may be used to efficiently encode images. Furthermore, it is contemplated that several of these group-of-fields configurations could be used to encode a single image sequence by adding a code at the start of a sequence to define the group-of-fields configuration to the receiver. A particular group-of-fields configuration may be automatically selected by an image signal preprocessor, for example, based on the amount and type of motion in an image or upon the level of detail in the image..].
Claims (6)
- second and third fields to produce a second B-field..]..[.4. A method according to claim 3, wherein said sequential fields of video information are interleaved even and odd fields arranged so that each pair of even and odd fields forms a frame, and said method further includes the step of encoding one of the odd and even fields of one frame as a B-field when the other one of the odd and even fields of the one frame has been encoded as a P-field..]..[.5. A method according to claim 4, wherein the encoded fields are arranged in the same sequence as said sequential fields and each P-field is separated from the next P-field by at least one B-field..]..[.6. A method according to claim 4, wherein the encoded fields are arranged in the same sequence as said sequential fields and each I-field is separated from the next I-field by at least one B-field..]..[.7. The method of claim 3, wherein said sequential fields of video information are interleaved even and odd fields arranged so that each pair of even and odd fields forms a frame, and said method further includes the step of encoding one of the odd and even fields of one frame as a B-field when the other one of the odd and even fields of the one frame has been encoded as an I-field..]..[.8. A method for automatically encoding sequential interleaved even and odd fields of video information wherein each pair of even and odd fields forms a frame of video information, said method comprising the steps of:encoding one of the even fields of video information predictively using only information in the one even field and in a predecessor field occurring earlier in the sequence; andencoding the odd field in the same frame as the one even field, bidirectionally predictively using information in the odd field, information in the one even field and information in a successor field occurring later in the sequence than the odd field..]..[.9. The method of claim 8, further including the step of encoding an even field which immediately follows said one even field and said odd field in the sequence bidirectionally predictively using information in the odd field, information in the one even field and information in the successor field..]..[.10. A video data compression system which encodes sequential fields of video information comprising:means for encoding a first one of said sequential fields using only the video information in the first field to produce an I-field.means for predictively encoding a second one of said sequential fields, separated from said first field by a plurality of field intervals, using the video information in the first and second fields to produce a P-field;means for predictively encoding a third one of said sequential fields, occupying a position in the sequence between said first field and said second field, using the video information in the third field and in one of the first and second fields to produce a first B-field; andmeans for predictively encoding a forth one of said sequential fields, occupying a position in the sequence between said second field and said third field, using the video information in the fourth field and in one of the first, second and third fields to produce a second B-field..]..[.11. A video data compression system which encodes sequential interleaved even and odd fields of video information wherein each pair of even and odd fields forms a frame of video information, said system comprising:means for encoding one of even fields of video information predictively using only information in the one even field and in a predecessor field occurring earlier in the sequence; andmeans for encoding the odd field in the same frame as the one even field, bidirectionally predictively using information in the odd field, information in the one even field and information in a successor field occurring later in the sequence than the odd field..]..[.12. Apparatus for automatically encoding a sequence of video image fields comprising:means for encoding each field in said sequence of video image fields in a predetermined order to produce a sequence of encoded fields, wherein a plurality of the fields in the sequence are bidirectionally predictively encoded;means for decoding each field in the sequence of encoded fields to produce a sequence of decoded fields; andmeans for storing each field in said sequence of decoded fields to provide a sequence of stored fields;wherein, each field in said sequence of video image fields which is bidirectionally predictively encoded uses data from one of said stored fields which is closest in position in said sequence of video image fields
- to the field being bidirectionally predictively encoded..]..Iadd.13. A method of automatically encoding a sequence of video image frames, each frame including first and second fields designated odd and even fields, the method comprising the steps of:encoding the first field of a first frame in the sequence of video image frames using only video information in the first field to produce an I-field;decoding the encoded I-field to produce a decoded I-field;predictively encoding the second field of the first frame using only video information in the second field and in the decoded I-field to produce a P-field;decoding the encoded P-field to produce a decoded P-fieldstoring the decoded I-field and the decoded P-field; andconsidering the video information in the stored I- and P-fields, which together represent the odd and even fields of the first frame, to produce
- a P-field of a subsequent frame..Iaddend..Iadd.14. Apparatus for automatically encoding a sequence of video image frames, each frame including first and second fields, the apparatus comprising:means for encoding the first field of a first frame in the sequence of video image frames using only video infomation in the first field to produce an I-field;means for decoding the encoded I-field to produce a decoded I-field;means for predictively eacoding the second field of the first frame using only video information in the second field and in the decoded I-field to produce a P-field;means for decoding the encoded P-field to produce a decoded P-field;means for storing the decoded I-field and the decoded P-field; andmeans for considering the video information in the stored I- and P-fields
- to produce a next P-field. .Iadd.15. A method of automatically encoding a sequence of video image frames, each frame including first and second fields designated odd and even fields, the method comprising the steps of:encoding the first field of a first frame in the sequence of video image frames using video information in the first field exclusive of video information in any other field to produce an I-field;decoding the encoded I-field to produce a decoded I-field;predictively encoding the second field of the first frame using video information in the second field and in the decoded I-field exclusive of video information in any other field to produce a P-field;decoding the encoded P-field to produce a decoded P-field;storing the decoded I-field and P-field; andconsidering the video information in the stored I- and P-fields, which together represent the odd and even fields of the first frame, to produce a P-field of a subsequent frame..Iaddend..Iadd.16. Apparatus for automatically encoding a sequence of video image frames, each frame including first and second fields, the apparatus comprising:means for encoding the first field of a first frame in the sequence of video image frames using video information in the first field exclusive of video information in any other field to produce an I-field;means for decoding the encoded I-field to produce a decoded I-field;means for predicively encoding the second field of the first frame using video information in the second field and in the decoded I-field exclusive of video information in any other field to produce a P-field;means for decoding the encoded P-field to produce a decoded P-field;means for storing the decoded I-field and the decoded P-field; andmeans for considering the video information in the stored I- and P-fields
- to produce a next P-field..Iaddend..Iadd.17. A method of automatically encoding a sequence of video image frames, each frame including first and second fields designated odd and even fields, the method comprising the steps of:encoding the first field of a first frame in the sequence of video image frames using video information in the first field exclusive of video infomation in any other field to produce an I-field;decoding the encoded I-field to produce a decoded I-field;predictively encodig the second field of the first frame using video information in the second field and in the decoded I-field independently of video information in either field of a frame which immediately follows the first frame in the image sequence to produce a P-field;decoding the encoded P-field to produce a decoded P-field;storing the decoded I-field and the decoded P-field; andconsidering the video infornadon in the stored I- and P-fields, which together represent the odd and even fields of the first frame to produce a
- P-field of a subsequent frame..Iaddend..Iadd.18. Apparatus for automatically ecoding a sequence of video image frames, each frame including first and second fields, the apparatus comprising:means for enclosing the first field of a first frame in the sequence of video image frames using video information in the first field exclusive of video information in any other field to produce an I-field;means for decoding the encoded I-field to produce a decoded I-field;means for predictively encoding the second field of the first frame using video information in the second field and in the decoded I-field independently of video information in either field of a frame which immediately follows the first frame in the image sequence to produce a P-field;means for decoding the encoded P-field to produce a decoded P-field;means for store the decoded I-field and the decoded P-field; andmeans for considering the video information in the stored I- and P-fields to produce a next P-field..Iaddend.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/954,916 USRE36507E (en) | 1992-03-27 | 1997-10-21 | Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/859,145 US5293229A (en) | 1992-03-27 | 1992-03-27 | Apparatus and method for processing groups of fields in a video data compression system |
US08/954,916 USRE36507E (en) | 1992-03-27 | 1997-10-21 | Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/859,145 Reissue US5293229A (en) | 1992-03-27 | 1992-03-27 | Apparatus and method for processing groups of fields in a video data compression system |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE36507E true USRE36507E (en) | 2000-01-18 |
Family
ID=25330162
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/859,145 Ceased US5293229A (en) | 1992-03-27 | 1992-03-27 | Apparatus and method for processing groups of fields in a video data compression system |
US08/538,101 Expired - Lifetime USRE36015E (en) | 1992-03-27 | 1995-10-02 | Apparatus and method for processing groups of fields in a video data compression system |
US08/954,916 Expired - Lifetime USRE36507E (en) | 1992-03-27 | 1997-10-21 | Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/859,145 Ceased US5293229A (en) | 1992-03-27 | 1992-03-27 | Apparatus and method for processing groups of fields in a video data compression system |
US08/538,101 Expired - Lifetime USRE36015E (en) | 1992-03-27 | 1995-10-02 | Apparatus and method for processing groups of fields in a video data compression system |
Country Status (2)
Country | Link |
---|---|
US (3) | US5293229A (en) |
JP (1) | JPH05276502A (en) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030156640A1 (en) * | 2002-01-22 | 2003-08-21 | Sullivan Gary J. | Methods and systems for encoding and decoding video data to enable random access and splicing |
US20040008899A1 (en) * | 2002-07-05 | 2004-01-15 | Alexandros Tourapis | Optimization techniques for data compression |
US20040098009A1 (en) * | 2002-04-19 | 2004-05-20 | Pelikan Technologies, Inc. | Method and apparatus for body fluid sampling and analyte sensing |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US20050013372A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Extended range motion vectors |
US20050013365A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US20050013497A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US20050041738A1 (en) * | 2003-07-18 | 2005-02-24 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US20050053134A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US20050053146A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Prediction mode switching in macroblocks of bi-directionally predicted interlaced frame-coded pictures |
US20050053294A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Chroma motion vector derivation |
US20050053143A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US20050053137A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US20050100093A1 (en) * | 2003-09-07 | 2005-05-12 | Microsoft Corporation | Signaling field type information |
US20050099869A1 (en) * | 2003-09-07 | 2005-05-12 | Microsoft Corporation | Field start code for entry point frames with predicted first field |
US20050111547A1 (en) * | 2003-09-07 | 2005-05-26 | Microsoft Corporation | Signaling reference frame distances |
US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
US20050123274A1 (en) * | 2003-09-07 | 2005-06-09 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US20050152457A1 (en) * | 2003-09-07 | 2005-07-14 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US20050152448A1 (en) * | 2003-09-07 | 2005-07-14 | Microsoft Corporation | Signaling for entry point frames with predicted first field |
US20050237987A1 (en) * | 1999-03-12 | 2005-10-27 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US20060072662A1 (en) * | 2002-01-25 | 2006-04-06 | Microsoft Corporation | Improved Video Coding |
US20060146830A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US20060182179A1 (en) * | 2005-02-14 | 2006-08-17 | Samsung Electronics Co., Ltd. | Video coding and decoding methods with hierarchical temporal filtering structure, and apparatus for the same |
US20060280253A1 (en) * | 2002-07-19 | 2006-12-14 | Microsoft Corporation | Timestamp-Independent Motion Vector Prediction for Predictive (P) and Bidirectionally Predictive (B) Pictures |
US20070014358A1 (en) * | 2002-06-03 | 2007-01-18 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation |
US20090003446A1 (en) * | 2007-06-30 | 2009-01-01 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US20090297123A1 (en) * | 2008-05-30 | 2009-12-03 | Microsoft Corporation | Media streaming with enhanced seek operation |
US7839930B2 (en) | 2003-11-13 | 2010-11-23 | Microsoft Corporation | Signaling valid entry points in a video stream |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8213779B2 (en) | 2003-09-07 | 2012-07-03 | Microsoft Corporation | Trick mode elementary stream and receiver system |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9405914D0 (en) * | 1994-03-24 | 1994-05-11 | Discovision Ass | Video decompression |
JP3443867B2 (en) * | 1992-06-26 | 2003-09-08 | ソニー株式会社 | Image signal encoding / decoding method and image signal recording medium |
US6067417A (en) | 1992-06-30 | 2000-05-23 | Discovision Associates | Picture start token |
US5768561A (en) | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US6047112A (en) | 1992-06-30 | 2000-04-04 | Discovision Associates | Technique for initiating processing of a data stream of encoded video information |
US6079009A (en) | 1992-06-30 | 2000-06-20 | Discovision Associates | Coding standard token in a system compromising a plurality of pipeline stages |
US6263422B1 (en) | 1992-06-30 | 2001-07-17 | Discovision Associates | Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto |
DE69229338T2 (en) | 1992-06-30 | 1999-12-16 | Discovision Associates, Irvine | Data pipeline system |
US5784631A (en) | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
US6112017A (en) | 1992-06-30 | 2000-08-29 | Discovision Associates | Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus |
US5809270A (en) | 1992-06-30 | 1998-09-15 | Discovision Associates | Inverse quantizer |
US6330665B1 (en) | 1992-06-30 | 2001-12-11 | Discovision Associates | Video parser |
JP3358835B2 (en) * | 1992-12-14 | 2002-12-24 | ソニー株式会社 | Image coding method and apparatus |
JPH0828876B2 (en) * | 1993-02-25 | 1996-03-21 | 日本電気株式会社 | Method of refreshing video signal |
JP3275423B2 (en) * | 1993-03-04 | 2002-04-15 | キヤノン株式会社 | Recording device |
FR2703535A1 (en) * | 1993-03-31 | 1994-10-07 | Philips Electronique Lab | Method and apparatus for decoding compressed images |
JP2550856B2 (en) * | 1993-05-17 | 1996-11-06 | 日本電気株式会社 | Video coding preprocessor |
US5878273A (en) | 1993-06-24 | 1999-03-02 | Discovision Associates | System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence-- end token generating by token generator responsive to received data |
US5699544A (en) * | 1993-06-24 | 1997-12-16 | Discovision Associates | Method and apparatus for using a fixed width word for addressing variable width data |
US5805914A (en) | 1993-06-24 | 1998-09-08 | Discovision Associates | Data pipeline system and data encoding method |
US5861894A (en) | 1993-06-24 | 1999-01-19 | Discovision Associates | Buffer manager |
GB9315775D0 (en) * | 1993-07-30 | 1993-09-15 | British Telecomm | Processing image data |
WO1995004432A1 (en) * | 1993-07-30 | 1995-02-09 | British Telecommunications Plc | Coding image data |
US5608459A (en) * | 1993-08-13 | 1997-03-04 | Texas Instruments Incorporated | Video data decoder having motion compensation and image memory circuitry on single substrate |
JP2902284B2 (en) * | 1993-11-12 | 1999-06-07 | ケイディディ株式会社 | Video encoding device |
DE69422960T2 (en) * | 1993-12-01 | 2000-06-15 | Matsushita Electric Industrial Co., Ltd. | Method and device for editing or mixing compressed images |
US5479527A (en) * | 1993-12-08 | 1995-12-26 | Industrial Technology Research Inst. | Variable length coding system |
US5592226A (en) * | 1994-01-26 | 1997-01-07 | Btg Usa Inc. | Method and apparatus for video data compression using temporally adaptive motion interpolation |
CA2145363C (en) | 1994-03-24 | 1999-07-13 | Anthony Mark Jones | Ram interface |
CA2145365C (en) | 1994-03-24 | 1999-04-27 | Anthony M. Jones | Method for accessing banks of dram |
CA2145379C (en) | 1994-03-24 | 1999-06-08 | William P. Robbins | Method and apparatus for addressing memory |
US5754235A (en) * | 1994-03-25 | 1998-05-19 | Sanyo Electric Co., Ltd. | Bit-rate conversion circuit for a compressed motion video bitstream |
US5650829A (en) * | 1994-04-21 | 1997-07-22 | Sanyo Electric Co., Ltd. | Motion video coding systems with motion vector detection |
US5940130A (en) * | 1994-04-21 | 1999-08-17 | British Telecommunications Public Limited Company | Video transcoder with by-pass transfer of extracted motion compensation data |
US5767898A (en) * | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
GB9417138D0 (en) * | 1994-08-23 | 1994-10-12 | Discovision Ass | Data rate conversion |
JPH08154247A (en) * | 1994-09-29 | 1996-06-11 | Sanyo Electric Co Ltd | Compressed image data processor nd method therefor |
NO300610B1 (en) * | 1994-09-29 | 1997-06-23 | Televerkets Forskningsinstitut | Procedure for compression coding of digital image video signals, with coding of blocks from multiple images |
CA2157066C (en) * | 1994-10-21 | 1999-09-21 | Nelson Botsford Iii | Method for controlling a compressed data buffer |
US5734419A (en) | 1994-10-21 | 1998-03-31 | Lucent Technologies Inc. | Method of encoder control |
US5646687A (en) * | 1994-12-29 | 1997-07-08 | Lucent Technologies Inc. | Temporally-pipelined predictive encoder/decoder circuit and method |
JPH08242452A (en) * | 1995-03-02 | 1996-09-17 | Matsushita Electric Ind Co Ltd | Video signal compression coder |
JP2935340B2 (en) * | 1995-03-17 | 1999-08-16 | 日本電気株式会社 | Video decoding device |
JPH09182083A (en) * | 1995-12-27 | 1997-07-11 | Matsushita Electric Ind Co Ltd | Video image encoding method and decoding method and device therefor |
US5668599A (en) * | 1996-03-19 | 1997-09-16 | International Business Machines Corporation | Memory management for an MPEG2 compliant decoder |
US6020924A (en) * | 1996-04-12 | 2000-02-01 | Samsung Electronics Co., Ltd. | Reduced memory size set top box which stores frames and associated motion vectors which indicate which block or blocks are to be retrieved from memory |
US5903261A (en) * | 1996-06-20 | 1999-05-11 | Data Translation, Inc. | Computer based video system |
US6181333B1 (en) | 1996-08-14 | 2001-01-30 | Samsung Electronics Co., Ltd. | Television graphical user interface having channel and program sorting capabilities |
US6016144A (en) * | 1996-08-14 | 2000-01-18 | Samsung Electronics Co., Ltd. | Multi-layered television graphical user interface |
US6195089B1 (en) | 1996-08-14 | 2001-02-27 | Samsung Electronics Co., Ltd. | Television graphical user interface having variable channel changer icons |
US5978043A (en) * | 1996-08-14 | 1999-11-02 | Samsung Electronics Co., Ltd. | TV graphical user interface that provides customized lists of programming |
US6191781B1 (en) | 1996-08-14 | 2001-02-20 | Samsung Electronics, Ltd. | Television graphical user interface that combines electronic program guide with graphical channel changer |
US5955988A (en) * | 1996-08-14 | 1999-09-21 | Samsung Electronics Co., Ltd. | Graphical user interface for establishing installation location for satellite based television system |
US5835156A (en) * | 1996-08-14 | 1998-11-10 | Samsung Electroncis, Ltd. | Television graphical user interface employing remote random access pointing device |
US6411308B1 (en) | 1996-08-14 | 2002-06-25 | Samsung Electronics Co., Ltd. | Television graphical user interface having variable channel control bars |
US5940072A (en) * | 1996-08-15 | 1999-08-17 | Samsung Information Systems America | Graphics decompression using system ROM indexing in TV set top box |
US6037933A (en) * | 1996-11-13 | 2000-03-14 | Samsung Electronics Co., Ltd. | TV graphical user interface for providing user access to preset time periods of TV program information |
CN1134172C (en) * | 1997-01-13 | 2004-01-07 | 皇家菲利浦电子有限公司 | Emboding supplemental data in digital video signal |
KR100269111B1 (en) * | 1997-06-27 | 2000-10-16 | 윤종용 | Video decoding and display timing control method and apparatus therefor |
US6011870A (en) * | 1997-07-18 | 2000-01-04 | Jeng; Fure-Ching | Multiple stage and low-complexity motion estimation for interframe video coding |
US7046734B2 (en) * | 1998-04-02 | 2006-05-16 | Intel Corporation | Method and apparatus for performing real-time data encoding |
US7263127B1 (en) | 1998-04-02 | 2007-08-28 | Intel Corporation | Method and apparatus for simplifying frame-based motion estimation |
US6904174B1 (en) * | 1998-12-11 | 2005-06-07 | Intel Corporation | Simplified predictive video encoder |
US6144323A (en) * | 1998-12-09 | 2000-11-07 | Lsi Logic Corporation | Method and apparatus for decoding video data |
US6331874B1 (en) * | 1999-06-29 | 2001-12-18 | Lsi Logic Corporation | Motion compensated de-interlacing |
US6961777B1 (en) | 1999-08-06 | 2005-11-01 | Shrikumar Hariharasubrahmanian | Systems and methods for predicting fields in a data packet |
EP1206862A1 (en) * | 1999-08-06 | 2002-05-22 | Hariharasubrahmanian, SHrikumar | Systems and methods for predicting fields in a data packet |
US6246720B1 (en) * | 1999-10-21 | 2001-06-12 | Sony Corporation Of Japan | Flexible software-based decoding system with decoupled decoding timing and output timing |
US7519115B2 (en) * | 2003-03-31 | 2009-04-14 | Duma Video, Inc. | Video compression method and apparatus |
GB2401502B (en) * | 2003-05-07 | 2007-02-14 | British Broadcasting Corp | Data processing |
KR100646577B1 (en) * | 2003-07-28 | 2006-11-17 | (주)씨앤에스 테크놀로지 | Image copy method of video CODEC |
CN1225127C (en) * | 2003-09-12 | 2005-10-26 | 中国科学院计算技术研究所 | A coding/decoding end bothway prediction method for video coding |
US8311088B2 (en) * | 2005-02-07 | 2012-11-13 | Broadcom Corporation | Method and system for image processing in a microprocessor for portable video communication devices |
US8031777B2 (en) | 2005-11-18 | 2011-10-04 | Apple Inc. | Multipass video encoding and rate control using subsampling of frames |
US8780997B2 (en) | 2005-11-18 | 2014-07-15 | Apple Inc. | Regulation of decode-side processing based on perceptual masking |
US20070116117A1 (en) * | 2005-11-18 | 2007-05-24 | Apple Computer, Inc. | Controlling buffer states in video compression coding to enable editing and distributed encoding |
US8295343B2 (en) * | 2005-11-18 | 2012-10-23 | Apple Inc. | Video bit rate control method |
US8233535B2 (en) | 2005-11-18 | 2012-07-31 | Apple Inc. | Region-based processing of predicted pixels |
US20080031593A1 (en) * | 2006-08-07 | 2008-02-07 | Shih-Fang Chuang | Multi-layer structure unit for recording audio/video frame data and its operation method |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4217609A (en) * | 1978-02-28 | 1980-08-12 | Kokusai Denshin Denwa Kabushiki Kaisha | Adaptive predictive coding system for television signals |
US4771439A (en) * | 1984-08-30 | 1988-09-13 | Fujitsu Limited | Differential coding circuit with reduced critical path applicable to DPCM |
US4951140A (en) * | 1988-02-22 | 1990-08-21 | Kabushiki Kaisha Toshiba | Image encoding apparatus |
US4985768A (en) * | 1989-01-20 | 1991-01-15 | Victor Company Of Japan, Ltd. | Inter-frame predictive encoding system with encoded and transmitted prediction error |
US4999705A (en) * | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
US5025482A (en) * | 1989-05-24 | 1991-06-18 | Mitsubishi Denki Kabushiki Kaisha | Image transformation coding device with adaptive quantization characteristic selection |
US5063443A (en) * | 1989-05-18 | 1991-11-05 | Nec Corporation | Codec system encoding and decoding an image signal at a high speed |
US5089889A (en) * | 1989-04-28 | 1992-02-18 | Victor Company Of Japan, Ltd. | Apparatus for inter-frame predictive encoding of video signal |
US5093720A (en) * | 1990-08-20 | 1992-03-03 | General Instrument Corporation | Motion compensation for interlaced digital television signals |
US5103307A (en) * | 1990-01-20 | 1992-04-07 | Victor Company Of Japan, Ltd. | Interframe predictive coding/decoding system for varying interval between independent frames |
WO1992010061A2 (en) * | 1990-12-03 | 1992-06-11 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
US5146325A (en) * | 1991-04-29 | 1992-09-08 | Rca Thomson Licensing Corporation | Video signal decompression apparatus for independently compressed even and odd field data |
US5150432A (en) * | 1990-03-26 | 1992-09-22 | Kabushiki Kaisha Toshiba | Apparatus for encoding/decoding video signals to improve quality of a specific region |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
US5175618A (en) * | 1990-10-31 | 1992-12-29 | Victor Company Of Japan, Ltd. | Compression method for interlace moving image signals |
US5185819A (en) * | 1991-04-29 | 1993-02-09 | General Electric Company | Video signal compression apparatus for independently compressing odd and even fields |
US5191414A (en) * | 1990-03-27 | 1993-03-02 | Victor Company Of Japan, Ltd. | Interfield predictive encoder and decoder for reproducing a signal subjected to predictive encoding by encoder into an image signal |
US5228028A (en) * | 1990-02-06 | 1993-07-13 | Telettra-Telefonia Elettronica E Radio S.P.A. | System including packet structure and devices for transmitting and processing output information from a signal encoder |
-
1992
- 1992-03-27 US US07/859,145 patent/US5293229A/en not_active Ceased
-
1993
- 1993-01-08 JP JP5002107A patent/JPH05276502A/en active Pending
-
1995
- 1995-10-02 US US08/538,101 patent/USRE36015E/en not_active Expired - Lifetime
-
1997
- 1997-10-21 US US08/954,916 patent/USRE36507E/en not_active Expired - Lifetime
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4217609A (en) * | 1978-02-28 | 1980-08-12 | Kokusai Denshin Denwa Kabushiki Kaisha | Adaptive predictive coding system for television signals |
US4771439A (en) * | 1984-08-30 | 1988-09-13 | Fujitsu Limited | Differential coding circuit with reduced critical path applicable to DPCM |
US4951140A (en) * | 1988-02-22 | 1990-08-21 | Kabushiki Kaisha Toshiba | Image encoding apparatus |
US4985768A (en) * | 1989-01-20 | 1991-01-15 | Victor Company Of Japan, Ltd. | Inter-frame predictive encoding system with encoded and transmitted prediction error |
US5089889A (en) * | 1989-04-28 | 1992-02-18 | Victor Company Of Japan, Ltd. | Apparatus for inter-frame predictive encoding of video signal |
US5063443A (en) * | 1989-05-18 | 1991-11-05 | Nec Corporation | Codec system encoding and decoding an image signal at a high speed |
US5025482A (en) * | 1989-05-24 | 1991-06-18 | Mitsubishi Denki Kabushiki Kaisha | Image transformation coding device with adaptive quantization characteristic selection |
US5103307A (en) * | 1990-01-20 | 1992-04-07 | Victor Company Of Japan, Ltd. | Interframe predictive coding/decoding system for varying interval between independent frames |
US5228028A (en) * | 1990-02-06 | 1993-07-13 | Telettra-Telefonia Elettronica E Radio S.P.A. | System including packet structure and devices for transmitting and processing output information from a signal encoder |
US5150432A (en) * | 1990-03-26 | 1992-09-22 | Kabushiki Kaisha Toshiba | Apparatus for encoding/decoding video signals to improve quality of a specific region |
US5191414A (en) * | 1990-03-27 | 1993-03-02 | Victor Company Of Japan, Ltd. | Interfield predictive encoder and decoder for reproducing a signal subjected to predictive encoding by encoder into an image signal |
US4999705A (en) * | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
US5093720A (en) * | 1990-08-20 | 1992-03-03 | General Instrument Corporation | Motion compensation for interlaced digital television signals |
US5175618A (en) * | 1990-10-31 | 1992-12-29 | Victor Company Of Japan, Ltd. | Compression method for interlace moving image signals |
WO1992010061A2 (en) * | 1990-12-03 | 1992-06-11 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
US5193004A (en) * | 1990-12-03 | 1993-03-09 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
US5146325A (en) * | 1991-04-29 | 1992-09-08 | Rca Thomson Licensing Corporation | Video signal decompression apparatus for independently compressed even and odd field data |
US5185819A (en) * | 1991-04-29 | 1993-02-09 | General Electric Company | Video signal compression apparatus for independently compressing odd and even fields |
Non-Patent Citations (24)
Title |
---|
"Advanced Digital Television Description", The Advanced Television Consortium, Feb. 1991. |
"MPEG Video Simulation Model Three (SM3)", ISO Simulation Model Editorial Group, Jul. 1990. |
A. Nagata et al., "Moving Pictures coding System for Digital Storage Media Using Hybrid Coding", Signal Processing: Image Communication 2, vol. 2, No. 2, pp. 106-116, Aug. 1990. |
A. Nagata et al., Moving Pictures coding System for Digital Storage Media Using Hybrid Coding , Signal Processing: Image Communication 2, vol. 2, No. 2, pp. 106 116, Aug. 1990. * |
A. Puri et al., "On Comparing Motion-Interpolation Structures for Video Coding", SPIE vol. 1360, Visual Communications and Image Processing '90, pp. 1560-1571, (month not avail.), 1990. |
A. Puri et al., "Video Coding With Motion-Compensated Interpolation for CD-ROM Applications", Signal Processing: Image Communication 2, vol. 2, No. 2, pp. 127-144, Aug. 1990. |
A. Puri et al., On Comparing Motion Interpolation Structures for Video Coding , SPIE vol. 1360, Visual Communications and Image Processing 90, pp. 1560 1571, (month not avail.), 1990. * |
A. Puri et al., Video Coding With Motion Compensated Interpolation for CD ROM Applications , Signal Processing: Image Communication 2, vol. 2, No. 2, pp. 127 144, Aug. 1990. * |
Advanced Digital Television Description , The Advanced Television Consortium, Feb. 1991. * |
D.D. Grossman, "Double Compression", IBM Technical Disclosure Bulletin, vol. 15, No. 5, pp. 1698-1699, Oct. 1972. |
D.D. Grossman, Double Compression , IBM Technical Disclosure Bulletin, vol. 15, No. 5, pp. 1698 1699, Oct. 1972. * |
Eric DuBois et al., "Noise Reduction in Image Sequences Using Motion-Compensated Temporal Filtering", IEEE Transactions on Communcations, vol. CO-M-32, No. 7, Jul. 1984. |
Eric DuBois et al., Noise Reduction in Image Sequences Using Motion Compensated Temporal Filtering , IEEE Transactions on Communcations, vol. CO M 32, No. 7, Jul. 1984. * |
Feng Ming Wang et al., High Quality Coding of the Even Fields Based on the Odd Fields of Interlaced Video Sequences , IEEE Transactions on Circuits and Systems, vol. 38, No. 1, pp. 140 142, (month not avail.), 1991. * |
Feng-Ming Wang et al., "High-Quality Coding of the Even Fields Based on the Odd Fields of Interlaced Video Sequences", IEEE Transactions on Circuits and Systems, vol. 38, No. 1, pp. 140-142, (month not avail.), 1991. |
Hirofumi Nishikawa et al., "A Study on a Moving Picture Coding Scheme for Storage Media Using Frame/Field Adaptive Motion Compensation", Mitsubishi Electric Corporation Systems Development Laboratory, pp. 1-4, Jul. 1991. |
Hirofumi Nishikawa et al., A Study on a Moving Picture Coding Scheme for Storage Media Using Frame/Field Adaptive Motion Compensation , Mitsubishi Electric Corporation Systems Development Laboratory, pp. 1 4, Jul. 1991. * |
Jae S. Lim, "Two Dimensional Signal and Image Processing", Prentice Hall, pp. 568-575, (month not avail.), 1990. |
Jae S. Lim, Two Dimensional Signal and Image Processing , Prentice Hall, pp. 568 575, (month not avail.), 1990. * |
MPEG Video Simulation Model Three (SM3) , ISO Simulation Model Editorial Group, Jul. 1990. * |
T. Okada et al., "Coded Representation of Picture and Audio Information", ISO-IEC/JTC1/SC2/WG11, pp. 1-10, Nov. 1991. |
T. Okada et al., Coded Representation of Picture and Audio Information , ISO IEC/JTC1/SC2/WG11, pp. 1 10, Nov. 1991. * |
Yukitoshi Tsuboi et al., "Adaptive Line Interpolated Inter-field Motion Compensation Method", Consumer Products Research Center, Hitachi Ltd., pp. 1-6, Oct. 1990. |
Yukitoshi Tsuboi et al., Adaptive Line Interpolated Inter field Motion Compensation Method , Consumer Products Research Center, Hitachi Ltd., pp. 1 6, Oct. 1990. * |
Cited By (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050237987A1 (en) * | 1999-03-12 | 2005-10-27 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US9918085B2 (en) | 1999-03-12 | 2018-03-13 | Microsoft Technology Licensing, Llc | Media coding for loss recovery with remotely predicted data units |
US9232219B2 (en) | 1999-03-12 | 2016-01-05 | Microsoft Technology Licensing, Llc | Media coding for loss recovery with remotely predicted data units |
US8548051B2 (en) | 1999-03-12 | 2013-10-01 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US7734821B2 (en) | 1999-03-12 | 2010-06-08 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US7685305B2 (en) | 1999-03-12 | 2010-03-23 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US20030156640A1 (en) * | 2002-01-22 | 2003-08-21 | Sullivan Gary J. | Methods and systems for encoding and decoding video data to enable random access and splicing |
US7149247B2 (en) | 2002-01-22 | 2006-12-12 | Microsoft Corporation | Methods and systems for encoding and decoding video data to enable random access and splicing |
US8406300B2 (en) | 2002-01-25 | 2013-03-26 | Microsoft Corporation | Video coding |
US20100135390A1 (en) * | 2002-01-25 | 2010-06-03 | Microsoft Corporation | Video coding |
US20090245373A1 (en) * | 2002-01-25 | 2009-10-01 | Microsoft Corporation | Video coding |
US10284843B2 (en) | 2002-01-25 | 2019-05-07 | Microsoft Technology Licensing, Llc | Video coding |
US8638853B2 (en) | 2002-01-25 | 2014-01-28 | Microsoft Corporation | Video coding |
US20060072662A1 (en) * | 2002-01-25 | 2006-04-06 | Microsoft Corporation | Improved Video Coding |
US7646810B2 (en) | 2002-01-25 | 2010-01-12 | Microsoft Corporation | Video coding |
US9888237B2 (en) | 2002-01-25 | 2018-02-06 | Microsoft Technology Licensing, Llc | Video coding |
US20040098009A1 (en) * | 2002-04-19 | 2004-05-20 | Pelikan Technologies, Inc. | Method and apparatus for body fluid sampling and analyte sensing |
US9571854B2 (en) | 2002-06-03 | 2017-02-14 | Microsoft Technology Licensing, Llc | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8374245B2 (en) | 2002-06-03 | 2013-02-12 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation |
US9185427B2 (en) | 2002-06-03 | 2015-11-10 | Microsoft Technology Licensing, Llc | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US8873630B2 (en) | 2002-06-03 | 2014-10-28 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US20070014358A1 (en) * | 2002-06-03 | 2007-01-18 | Microsoft Corporation | Spatiotemporal prediction for bidirectionally predictive(B) pictures and motion vector prediction for multi-picture reference motion compensation |
US10116959B2 (en) | 2002-06-03 | 2018-10-30 | Microsoft Technology Licesning, LLC | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
US7280700B2 (en) | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
US20040008899A1 (en) * | 2002-07-05 | 2004-01-15 | Alexandros Tourapis | Optimization techniques for data compression |
US20060280253A1 (en) * | 2002-07-19 | 2006-12-14 | Microsoft Corporation | Timestamp-Independent Motion Vector Prediction for Predictive (P) and Bidirectionally Predictive (B) Pictures |
US8379722B2 (en) | 2002-07-19 | 2013-02-19 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US8774280B2 (en) | 2002-07-19 | 2014-07-08 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
US8687697B2 (en) | 2003-07-18 | 2014-04-01 | Microsoft Corporation | Coding of motion vector information |
US20050041738A1 (en) * | 2003-07-18 | 2005-02-24 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US20050013372A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Extended range motion vectors |
US8917768B2 (en) | 2003-07-18 | 2014-12-23 | Microsoft Corporation | Coding of motion vector information |
US7426308B2 (en) | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US9148668B2 (en) | 2003-07-18 | 2015-09-29 | Microsoft Technology Licensing, Llc | Coding of motion vector information |
US20090074073A1 (en) * | 2003-07-18 | 2009-03-19 | Microsoft Corporation | Coding of motion vector information |
US9313509B2 (en) | 2003-07-18 | 2016-04-12 | 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 |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | 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 |
US20050013365A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
US10659793B2 (en) | 2003-07-18 | 2020-05-19 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US20050013497A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US20050053143A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US8085844B2 (en) | 2003-09-07 | 2011-12-27 | Microsoft Corporation | Signaling reference frame distances |
US7664177B2 (en) | 2003-09-07 | 2010-02-16 | Microsoft Corporation | Intra-coded fields for bi-directional frames |
US7680185B2 (en) | 2003-09-07 | 2010-03-16 | Microsoft Corporation | Self-referencing bi-directionally predicted frames |
US20050053292A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US20050053294A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Chroma motion vector derivation |
US7609762B2 (en) | 2003-09-07 | 2009-10-27 | Microsoft Corporation | Signaling for entry point frames with predicted first field |
US7590179B2 (en) | 2003-09-07 | 2009-09-15 | Microsoft Corporation | Bitplane coding of prediction mode information in bi-directionally predicted interlaced pictures |
US20050111547A1 (en) * | 2003-09-07 | 2005-05-26 | Microsoft Corporation | Signaling reference frame distances |
US20050053146A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Prediction mode switching in macroblocks of bi-directionally predicted interlaced frame-coded pictures |
US7577198B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US20050099869A1 (en) * | 2003-09-07 | 2005-05-12 | Microsoft Corporation | Field start code for entry point frames with predicted first field |
US7924921B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US20050123274A1 (en) * | 2003-09-07 | 2005-06-09 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US7924920B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Motion vector coding and decoding in interlaced frame coded pictures |
US7852936B2 (en) | 2003-09-07 | 2010-12-14 | Microsoft Corporation | Motion vector prediction in bi-directionally predicted interlaced field-coded pictures |
US20050053298A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Four motion vector coding and decoding in bi-directionally predicted interlaced pictures |
US7961786B2 (en) | 2003-09-07 | 2011-06-14 | Microsoft Corporation | Signaling field type information |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US20050152457A1 (en) * | 2003-09-07 | 2005-07-14 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US8107531B2 (en) | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US8116380B2 (en) | 2003-09-07 | 2012-02-14 | Microsoft Corporation | Signaling for field ordering and field/frame display repetition |
US20050053293A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Motion vector coding and decoding in interlaced frame coded pictures |
US8213779B2 (en) | 2003-09-07 | 2012-07-03 | Microsoft Corporation | Trick mode elementary stream and receiver system |
US20050053300A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Bitplane coding of prediction mode information in bi-directionally predicted interlaced pictures |
US20050053149A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Direct mode motion vectors for Bi-directionally predicted interlaced pictures |
US20050152448A1 (en) * | 2003-09-07 | 2005-07-14 | Microsoft Corporation | Signaling for entry point frames with predicted first field |
US20090168890A1 (en) * | 2003-09-07 | 2009-07-02 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US20050053137A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7852919B2 (en) | 2003-09-07 | 2010-12-14 | Microsoft Corporation | Field start code for entry point frames with predicted first field |
US20050100093A1 (en) * | 2003-09-07 | 2005-05-12 | Microsoft Corporation | Signaling field type information |
US8625669B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US20050053134A1 (en) * | 2003-09-07 | 2005-03-10 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US7839930B2 (en) | 2003-11-13 | 2010-11-23 | Microsoft Corporation | Signaling valid entry points in a video stream |
US20050120340A1 (en) * | 2003-12-01 | 2005-06-02 | Skazinski Joseph G. | Apparatus, system, and method for automated generation of embedded systems software |
US20060146830A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
US9866871B2 (en) | 2004-12-30 | 2018-01-09 | Microsoft Technology Licensing, Llc | Use of frame caching to improve packet loss recovery |
US9313501B2 (en) | 2004-12-30 | 2016-04-12 | Microsoft Technology Licensing, Llc | Use of frame caching to improve packet loss recovery |
US10341688B2 (en) | 2004-12-30 | 2019-07-02 | Microsoft Technology Licensing, Llc | Use of frame caching to improve packet loss recovery |
US20110096841A1 (en) * | 2005-02-14 | 2011-04-28 | Samsung Electronics Co., Ltd. | Video coding and decoding methods with hierarchical temporal filtering structure, and apparatus for the same |
US8340181B2 (en) | 2005-02-14 | 2012-12-25 | Samsung Electronics Co., Ltd. | Video coding and decoding methods with hierarchical temporal filtering structure, and apparatus for the same |
US7885327B2 (en) | 2005-02-14 | 2011-02-08 | Samsung Electronics Co., Ltd. | Video coding and decoding methods with hierarchical temporal filtering structure, and apparatus for the same |
US20060182179A1 (en) * | 2005-02-14 | 2006-08-17 | Samsung Electronics Co., Ltd. | Video coding and decoding methods with hierarchical temporal filtering structure, and apparatus for the same |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US20090003446A1 (en) * | 2007-06-30 | 2009-01-01 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8819754B2 (en) | 2008-05-30 | 2014-08-26 | Microsoft Corporation | Media streaming with enhanced seek operation |
US8370887B2 (en) | 2008-05-30 | 2013-02-05 | Microsoft Corporation | Media streaming with enhanced seek operation |
US7949775B2 (en) | 2008-05-30 | 2011-05-24 | Microsoft Corporation | Stream selection for enhanced media streaming |
US20090300203A1 (en) * | 2008-05-30 | 2009-12-03 | Microsoft Corporation | Stream selection for enhanced media streaming |
US7925774B2 (en) | 2008-05-30 | 2011-04-12 | Microsoft Corporation | Media streaming using an index file |
US20090297123A1 (en) * | 2008-05-30 | 2009-12-03 | Microsoft Corporation | Media streaming with enhanced seek operation |
US20090300204A1 (en) * | 2008-05-30 | 2009-12-03 | Microsoft Corporation | Media streaming using an index file |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
Also Published As
Publication number | Publication date |
---|---|
JPH05276502A (en) | 1993-10-22 |
USRE36015E (en) | 1998-12-29 |
US5293229A (en) | 1994-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE36507E (en) | Apparatus and method for processing groups of fields in a video data compression system to encode a single frame as an I-field and a P-field | |
US7359558B2 (en) | Spatial scalable compression | |
US5708473A (en) | Two stage video film compression method and system | |
US5731850A (en) | Hybrid hierarchial/full-search MPEG encoder motion estimation | |
US8184699B2 (en) | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder | |
KR960006762B1 (en) | 2-dimensional data scanning selecting circuit for image coding | |
KR100680452B1 (en) | Method and apparatus for updating motion vector memory | |
US6956899B2 (en) | Precise bit control apparatus with look-ahead for MPEG encoding | |
US20050036549A1 (en) | Method and apparatus for selection of scanning mode in dual pass encoding | |
KR20040106364A (en) | System and method for providing single-layer video encoded bitstreams suitable for reduced-complexity decoding | |
Liu et al. | Simple method to segment motion field for video coding | |
JP3417443B2 (en) | Apparatus and method for motion estimation for B picture | |
EP1838108A1 (en) | Processing video data at a target rate | |
KR100439183B1 (en) | Stochastic sampling based pel motion estimation method | |
KR100364748B1 (en) | Apparatus for transcoding video | |
EP1374599B1 (en) | Video encoder and recording apparatus | |
KR0181067B1 (en) | Moving picture encoder of having compatibility | |
McVeigh et al. | Comparative study of partial closed-loop versus open-loop motion estimation for coding of HDTV | |
JP3157144B1 (en) | Picture prediction decoding method | |
KR0174441B1 (en) | Full motion image encoder by using adaptive motion compensation | |
KR100248651B1 (en) | A motion compensator | |
KR100189268B1 (en) | Method and apparatus to calculate field motion estimations in frame pictures | |
KR0130167B1 (en) | Mpeg apparatus | |
KR0169654B1 (en) | Device for encoding moving picture signals | |
McVeigh et al. | Partial closed‐loop versus open‐loop motion estimation for HDTV compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: PANASONIC CORPORATION OF NORTH AMERICA, NEW JERSEY Free format text: MERGER;ASSIGNOR:MATSUSHITA ELECTRIC CORPORATION OF AMERICA;REEL/FRAME:016237/0751 Effective date: 20041123 |