WO2000033583A1 - Efficient macroblock header coding for video compression - Google Patents
Efficient macroblock header coding for video compression Download PDFInfo
- Publication number
- WO2000033583A1 WO2000033583A1 PCT/US1999/028276 US9928276W WO0033583A1 WO 2000033583 A1 WO2000033583 A1 WO 2000033583A1 US 9928276 W US9928276 W US 9928276W WO 0033583 A1 WO0033583 A1 WO 0033583A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- coded
- parameter
- coded block
- macroblock
- Prior art date
Links
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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the invention relates to video coding, and specifically, to an improved method for coding block parameters used in frame-based and object-based video coding formats.
- Digital video displays include large numbers of image frames that are played or rendered successively at frequencies of between 30 and 75 Hz.
- Each image frame is a still image formed from an array of pixels based on the display resolution of a particular system.
- VHS-based systems have display resolutions of 320x480 pixels
- NTSC-based systems have display resolutions of 720x486 pixels
- high-definition television (HDTV) systems under development have display resolutions of 1360x1024 pixels.
- Video compression techniques utilize similarities between successive image frames, referred to as temporal or interframe correlation, to provide interframe compression in which motion data and error signals are used to encode changes between frames.
- Intraframe compression is based upon conventional processes for compressing still images, such as discrete cosine transform (DCT) encoding.
- DCT discrete cosine transform
- This type of coding is sometimes referred to as "texture” or “transform” coding.
- a “texture” generally refers to a two-dimensional array of image sample values, such as an array of chrominance and luminance values or an array of alpha (opacity) values.
- the term “transform” in this context refers to how the image samples are transformed into spatial frequency components during the coding process. This use of the term “transform” should be distinguished from a geometric transform used to estimate scene changes in some interframe compression methods.
- Interframe compression typically utilizes motion estimation and compensation to encode scene changes between frames.
- Motion estimation is a process for estimating the motion of image samples (e.g., pixels) between frames. Using motion estimation, the encoder attempts to match blocks of pixels in one frame with corresponding pixels in another frame. After the most similar block is found in a given search area, the change in position of the pixel locations of the corresponding pixels is approximated and represented as motion data, such as a motion vector.
- Motion compensation is a process for determining a predicted image and computing the error between the predicted image and the original image. Using motion compensation, the encoder applies the motion data to an image and computes a predicted image. The difference between the predicted image and the input image is called the error signal. Since the error signal is just an array of values representing the difference between image sample values, it can be compressed using the same texture coding method as used for intraframe coding of image samples.
- H.26X video compression standards are similar in a number of respects.
- the following description of the MPEG-2 video compression standard is generally applicable to the others.
- MPEG-2 provides interframe compression and intraframe compression based upon square blocks or arrays of pixels in video images.
- a video image is divided into image sample blocks called macroblocks having dimensions of 16 x 16 pixels.
- a macroblock comprises four luminance blocks (each block is 8 x 8 samples of luminance ( Y)) and two chrominance blocks (one 8 x 8 sample block each for Cb and Cr).
- interframe coding is performed on macroblocks.
- An MPEG-2 encoder performs motion estimation and compensation to compute motion vectors and block error signals.
- a search is performed across the image of a next successive video frame N+1 or immediately preceding image frame N-l (i.e., bi-directionally) to identify the most similar respective blocks M N+I or M - I .
- the location of the most similar block relative to the block M is encoded with a motion vector (DX,DY).
- the motion vector is then used to compute a block of predicted sample values. These predicted sample values are compared with block M» to determine the block error signal.
- the error signal is compressed using a texture coding method such as discrete cosine transform (DCT) encoding.
- DCT discrete cosine transform
- object-based coding In object-based coding, arbitrary shaped image features are separated from the frames in the video sequence using a method called "segmentation.” The video objects or “segments” are coded independently. Object-based coding can improve the compression rate because it increases the interframe correlation between video objects in successive frames. It is also advantageous for variety of applications that require access to and tracking of objects in a video sequence.
- the shape, motion and texture of video objects are coded independently.
- the shape of an object is represented by a binary or alpha mask that defines the boundary of the arbitrary shaped object in a video frame.
- the motion of an object is similar to the motion data of MPEG-2, except that it applies to an arbitrary-shaped image of the object that has been segmented from a rectangular frame. Motion estimation and compensation is performed on blocks of a "video object plane" rather than the entire frame.
- the video object plane is the name for the shaped image of an object in a single frame.
- the texture of a video object is the image sample information in a video object plane that falls within the object's shape.
- Texture coding of an object's image samples and error signals is performed using similar texture coding methods as in frame-based coding. For example, a segmented image can be fitted into a bounding rectangle formed of macroblocks. The rectangular image formed by the bounding rectangle can be compressed just like a rectangular frame, except that transparent macroblocks need not be coded. Partially transparent blocks are coded after filling in the portions of the block that fall outside the object's shape boundary with sample values in a technique called "padding."
- Frame-based coding techniques such as MPEG-2 and H26X and object-based coding techniques proposed for MPEG-4 are similar in that they perform intraframe and interframe coding on macroblocks.
- Each macroblock includes a series of overhead parameters that provide information about the macroblock.
- Fig. 1 shows macroblock parameters used in the header of an interframe macroblock.
- the COD parameter (10) is a single bit indicating whether the interframe macroblock is coded. In particular, this bit indicates whether or not the encoded macroblock includes motion data and texture coded error data. In cases where the motion and error signal data are zero, the COD bit reduces the information needed to code the macroblock because only a single bit is sent rather than additional bits indicating that the motion vector and texture data are not coded.
- the coding syntax for macroblocks includes coded block parameters (CBP) indicating whether the coded transform coefficients for chrominance and luminance are transmitted for the macroblock. If the transform coefficients are all zero for a block, then there is no need to send texture data for the block.
- CBP coded block parameters
- the Coded Block Parameters for chrominance (CBPC) are two bits indicating whether or not coded texture data is transmitted for each of the two chrominance blocks.
- the CBPC bits are encoded along with another flag that provides information about the type of quantization for the macroblock. These flags are combined to form a parameter called MCBPC (12), and MCBPC is entropy coded using an entropy coding method such as Huffman or arithmetic coding.
- the parameter called the AC Pred flag (14) is a flag indicating whether AC prediction is used in the macroblock.
- the Coded Block Pattern for luminance (16) is comprised of four bits indicating whether or not coded texture data is transmitted for each of the four luminance blocks.
- the CBPY flags are also entropy coded using either Huffman or arithmetic coding.
- the macroblock includes encoded motion vector data
- block data represents the encoded texture data for the macroblock (shown as block data 20 in Fig. 1).
- the invention provides an improved method of coding the macroblock header parameters in video coding applications.
- One aspect of the invention is a coding method that exploits the correlation between the coded block parameters by jointly coding all of the coded block parameters with a single variable length code.
- Another aspect of the invention is a coding method that takes advantage of the spatial dependency between the coded block patterns of neighboring blocks.
- the coded block parameters for luminance and chrominance in a macroblock are formed into a single, combined parameter for the macroblock.
- the combined parameter is assigned a variable length code from a variable length coding table.
- the coding table is trained based on a target bit rate (e.g., low bit rate Internet applications) and a target class of video content (e.g., talking head video).
- a target bit rate e.g., low bit rate Internet applications
- a target class of video content e.g., talking head video.
- the encoder exploits the correlation between these parameters in the macroblock.
- the implementation uses prediction to take advantage of the spatial dependency of the coded block parameters of neighboring blocks.
- some of the coded block parameters are predicted from neighboring blocks. For intra frame macroblocks, for example, the encoder computes a spatially predicted value for each coded block parameter for luminance. This spatially predicted parameter forms part of the combined parameter for the macroblock.
- Fig. 1 is a diagram illustrating an example of a macroblock header used in a standard video coding process.
- Fig. 2 is a block diagram of a video coder.
- Fig. 3 is a block diagram of a video decoder.
- Fig. 4 is a diagram illustrating an example of an improved macroblock header in which the coded block parameters for chrominance and luminance are jointly coded with a single variable length code.
- Fig. 5 is a flow diagram illustrating how an implementation of the invention computes a single variable length code for the coded block parameters of I and P frame macroblocks.
- Fig. 6 is a diagram illustrating four macroblocks, and their corresponding luminance (Y) blocks.
- Fig. 7 is a diagram showing an example of the vertical and horizontal gradients of coded block parameter values for selected luminance blocks in Fig. 6.
- Fig. 8 is a flow diagram illustrating a method for computing a predictor for coded block parameters.
- Fig. 9 is a diagram of a computer system that serves as an operating environment for a software implementation of the invention.
- the first section below provides a description of a video encoder and decoder. Subsequent sections describe how to improve the coding of macroblock header parameters by exploiting the correlation between CBPC and CBPY parameters and taking advantage of the spatial dependency of coded block parameters of neighboring blocks.
- the invention improves the coding of macroblock parameters, whether the macroblocks are components of arbitrary video objects segmented from a sequence of frames or of rectangular shaped image frames.
- Object-based coding uses similar motion and texture coding modules as used in frame-based coding.
- object-based coders also include shape coding modules.
- the block syntax relevant to the invention is similar in both frame-based and object-based coding. While the encoder and decoder described in the next section are object-based, they provide a sufficient basis for explaining how to implement the invention in both frame-based and object-based coding schemes. Description of an Example Encoder and Decoder
- Fig. 2 is a block diagram illustrating an implementation of an object-based video encoder.
- the input 30 to the encoder includes a series of objects, their shape information and bounding rectangles.
- the shape information therefore, is available before the encoder codes texture or motion data.
- Frame-based coding differs in that the entire frame is coded without shape information.
- the shape coding module 32 receives the definition of an object including its bounding rectangle and extends the bounding rectangle to integer multiples of macroblocks.
- the shape information for an object comprises a mask or "alpha plane.”
- the shape coding module 32 reads this mask and compresses it, using for example, a conventional chain coding method to encode the contour of the object.
- Motion estimation module 34 reads an object including its bounding rectangle and a previously reconstructed image 36 and computes motion estimation data used to predict the motion of the object from one frame to another. After identifying the macroblocks in the current object image, the motion estimation module 34 searches for the most similar macroblock in the reconstructed image for each macroblock in the current object image to compute the motion data for each macroblock.
- the specific format of the motion data from the motion estimation module 34 can vary depending on the motion estimation method used. The implementation described below computes a motion vector for each macroblock, which is consistent with current MPEG and H26X formats.
- the motion compensation module 38 reads the motion vectors computed by the motion estimation module and the previously reconstructed image 36 and computes a predicted image for the current frame.
- the encoder finds the difference between the image sample values in the input image block as specified in the input 30 and the corresponding sample values in the predicted image block as computed in the motion compensation module 38 to determine the error signal for the macroblock.
- Texture coding module 40 compresses this error signal for inter-frame coded objects and compresses image sample values for the object from the input data stream 30 for intra-frame coded objects.
- the feedback path 42 from the texture coding module 40 represents the decoded error signal.
- the encoder uses the error signal macroblocks along with the predicted image macroblocks from the motion compensation module to compute the previously reconstructed image 36.
- the texture coding module 40 codes blocks of intra-frame and error signal data for an object using any of a variety of still image compression techniques.
- Example compression techniques include transform-based techniques such as DCT and wavelet coding as well as other conventional image compression methods such as LaPlacian Pyramid coding.
- the bitstream of the compressed video sequence includes the shape, motion and texture coded information from the shape coding, motion estimation, and texture coding modules.
- Multiplexer 44 combines and formats this data into the proper syntax and outputs it to the buffer 46.
- the encoder can be implemented in hardware or software, it is most likely implemented in software.
- the modules in the encoder represent software instructions stored in memory of a computer and executed in the processor and the video data stored in memory.
- a software encoder can be stored and distributed on a variety of conventional computer readable media.
- the encoder modules are implemented in digital logic, preferably in an integrated circuit. Some of the encoder functions can be optimized in special -purpose digital logic devices in a computer peripheral to off-load the processing burden from a host computer.
- Fig. 3 is a block diagram illustrating a decoder for an object-based video coding method.
- a demultiplexer 60 receives a bitstream 62 representing a compressed video sequence and separates shapes, motion and texture encoded data on an object by object basis.
- Shape decoding module 64 decodes the shape or contour for the current object being processed. To accomplish this, it employs a shape decoder that implements the inverse of the shape encoding method used in the encoder of Fig. 2.
- the resulting shape data is a mask, such as a binary alpha plane or gray scale alpha plane representing the shape of the object.
- the motion decoding module 66 decodes the motion information in the bitstream.
- the decoded motion information includes motion data such as motion vectors for macroblocks blocks or geometric transform coefficients, depending on the type of estimation method used in the encoder.
- the motion decoding module 66 provides this motion information to the motion compensation module 68, and the motion compensation module 68 applies the motion data to previously reconstructed object data 70.
- the texture decoding module 74 decodes error signals for inter-frame coded texture data and an array of color values for intra-frame texture data and passes this information to a module 72 for computing and accumulating the reconstructed image. For inter-frame coded objects, this module 72 applies the error signal data to the predicted image output from the motion compensation module to compute the reconstructed object for the current frame.
- the texture decoding module 74 decodes the image sample values for the object and places the reconstructed object in the reconstructed object module 72. Previously reconstructed objects are temporarily stored in object memory 70 and are used to construct the object for other frames.
- the decoder can be implemented in hardware, software or a combination of both.
- the modules in the decoder are software instructions stored in memory of a computer and executed by the processor and video data stored in memory.
- a software decoder can be stored and distributed on a variety of conventional computer readable media.
- the decoder modules are implemented in digital logic, preferably in an integrated circuit.
- Some of the decoder functions can be optimized in special -purpose digital logic devices in a computer peripheral to off-load the processing burden from a host computer. Improved Coding of Macroblock Overhead
- the invention includes innovations that improve the coding of macroblock header parameters.
- One innovation is a method for coding the coded block parameters to exploit the correlation between CBPC and CBPY. This innovation is implemented by jointly coding a combined CBPC and CBPY parameter with a single variable length code.
- Another innovation further improves coding efficiency of the header parameters by exploiting the spatial dependency of the coded block parameters. In particular, coded block parameters are more efficiently compressed by predicting them from the parameter of neighboring blocks.
- Figure 4 is a diagram illustrating the header block parameters computed by an implementation of the invention. Like the header information shown in Fig.1 , this header block includes a COD parameter 80, an AC Pred flag 82, motion vector data (MV 84) and block data 86. Unlike the header in Fig. 1, MCBPC and CBPY parameters are jointly coded with a single variable length code, called MBCBPCY 88. This code combines coded block parameters for chrominance and luminance, as well as the flag for macroblock type.
- Figure 5 is a flow diagram illustrating how the implementation generates a variable length code for Intra (I) frames and predicted (P) frames.
- the header blocks for I and P frames are coded differently.
- the encoder performs the additional step of predicting the coded block parameters for luminance before selecting the variable length code. It is also possible to use prediction for P frames. However, prediction does not improve coding efficiency significantly in P frames, and in some cases, can even decrease coding efficiency.
- the goal of using prediction for coded block parameters is to produce as many zero values for these parameters as possible. By making the values mostly zero, the encoder reduces the variance of the coded block parameters. The process of training the variable length coding table can then favor the zero value, which improves coding efficiency. In P frames, especially in low bit rate applications, the coded block parameters are mostly zero before prediction. As such, prediction does not tend to increase the number of zero values, and sometimes, it even decreases the number of zero values. Therefore, the implementation shown in Fig. 5 does not use prediction for P frames.
- the encoder begins by finding the coded block parameters for luminance and chrominance as shown in step 100. These block parameters are each a single bit indicating whether a corresponding block is texture coded.
- the coded block parameters are computed in the texture coding module (40 in Fig. 2), which sets a coded block flag for each block that has non-zero encoded texture values. Conversely, the value of the coded block parameter for a block in which the texture values are all zero (or so close to zero as to be negligible) is zero. Since there are two blocks for chrominance (one each for the 8 by 8 pixel U and
- the combined parameter for the coded block pattern is a total of six bits. Combining this 6 bit number with the single bit for macroblock type, the encoder forms a 7 bit number as shown in step 102.
- the macroblock type indicates whether the macroblock is for an I or P frame.
- the combined parameter is looked up in a variable length coding table to find a corresponding variable length code associated with the parameter as shown in step 104.
- the encoder assigns a single variable length code to the combined parameter MBCPCY.
- the coding table in the implementation table is a Huffman coding table.
- the table is preferably trained based on the target rate and target scenario.
- Table 1 below is a Variable Length Coding (VLC) table obtained for a low bit rate "talking head" scenario.
- VLC Variable Length Coding
- 1 frames are coded differently than P frames in that the encoder uses prediction to exploit the spatial dependency of the coded block parameters.
- the encoder For each macroblock, the encoder begins by getting the coded block parameters for chrominance and luminance as shown in step 106.
- the encoder computes the predictor of the coded block parameters for luminance.
- the encoder only uses prediction for the CBPY parameters.
- the same prediction method could also be used to predict the coded block parameters for chrominance.
- the prediction is computed based on 8 by 8 pixel chrominance blocks in neighboring macroblocks rather than the neighboring 8 by 8 pixel luminance blocks, which may be in the same macroblock or a neighboring macroblock. Since each macroblock has four luminance blocks, the neighboring blocks for a given luminance block may come from the same or neighboring macroblock. For prediction involving chrominance blocks, the neighboring blocks come from neighboring macroblocks.
- the encoder performs spatial prediction on coded block parameters. First, it looks at the coded block parameters for neighboring blocks to determine whether the value of the block parameter is likely to change from a neighboring block to the current block of interest. If the location of a block representing the smallest change in the coded block parameter can be identified (i.e. the lowest spatial gradient in the coded block parameters), then the coded block parameter for the block at this location is used as the predictor. Otherwise, it does not matter which neighbor is chosen as the predictor and one is merely selected. A specific example of selecting the predictor is described and illustrated in more detail with reference to Figs. 6-8 below.
- the encoder computes a predicted value for the coded block parameters.
- the predicted value represents the change in the coded block parameter for the predictor block and the current block.
- the encoder performs a bitwise exclusive OR (XOR) on the predicted value and current block value.
- the resulting vector, called CBPCY XOR is then assigned a variable length code from a Huffman table.
- the encoder looks up the entry for CPCY XOR in the table and finds the corresponding variable length code.
- Table 2 shows the VLC table used to code predicted CBPCY values for I frames in the implementation.
- Table 2 VLC Table for Coded block pattern of chrominance and luminance for I picture
- Figs. 6-8 illustrate the spatial prediction performed in the encoder in more detail.
- Fig. 6 is a diagram showing four neighboring macroblocks (top left- 120, top right- 122, lower left- 124, and lower right- 126). The following example focuses on the lower right block, which is circled.
- Each of the macroblocks includes four 8 by 8 pixel blocks for luminance labeled as Yl, Y2, Y3 and Y4.
- top left luminance block Yl for macroblock 126.
- the blocks used to compute the predictor are surrounded by a dashed line 128.
- the block of interest is Yl (labeled as block 130a), and the blocks used to compute the predictor are the neighboring blocks labeled as 132a, 134a, and 136a.
- Fig. 7 shows values of the coded block pattern parameters for each of the blocks within the dashed line of Fig. 6.
- the reference numbers 130b, 132b, 134b and 136b correspond to the blocks 130a, 132a, 134a and 136a of Fig. 6, respectively.
- the spatial gradients of the neighboring coded blocks parameters are used to select the predictor.
- the vertical gradient is computed from the coded block parameters of the top-left and left neighboring blocks (136a, 132a, shown circled 140 in Fig. 7).
- the horizontal gradient is computed from the coded block parameters of the top-left and top neighboring blocks (136a, 130a, shown circled 142 in Fig. 7).
- Fig. 8 is a flow diagram illustrating the steps for finding the predictor.
- the encoder finds the vertical and horizontal gradients. Each is computed as the exclusive OR of the coded block parameters shown circled in Fig. 7 ( 140 is the vertical gradient and 142 is the horizontal gradient).
- the encoder compares the gradient values. If the gradients are not the same, the encoder selects the predictor as the value assigned to the block in the direction of the lower gradient. In the example shown in Fig. 7, the vertical gradient is zero, while the horizontal gradient is one. Thus, the direction of the lower gradient is up.
- the value of the coded block parameter for block 134a is used as the predictor because it is located in the "up" direction relative to the block of interest.
- the end result is a single variable length code representing all of the coded block parameters for the macroblock. Since I and P frames are coded differently in the implementation, the decoder treats the macroblocks for these frames differently. For P frames, the decoder uses VLC table 1 to look up the single variable length code and find the corresponding entry that stores the combined parameter representing the coded block parameters for luminance and chrominance. For I frames, the decoder uses VLC table 2 to look up the single variable length code and find the corresponding entry that stores the combined parameter representing coded block parameters for luminance and chrominance. In both I and P frames, the texture decoding module (block 74 in Fig. 3) uses the coded block parameters to determine whether the texture data for the corresponding block needs to be decoded. The decoder skips texture decoding for blocks having a coded block parameter of zero.
- the decoder uses the previously decoded block parameters from the neighboring blocks to compute the coded block parameter for the current block of interest.
- the decoder computes the location of the predictor block based on the spatial gradients in the same manner as in the encoder.
- the texture decoder uses the coded block parameter to determine whether to skip decoding the texture for the block.
- Figure 9 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
- the encoder and decoder described above are implemented in computer-executable instructions organized in program modules.
- the program modules include the routines, programs, objects, components, and data structures that perform the tasks and implement the data types described above.
- Fig. 9 shows a typical configuration of a desktop computer
- the invention may be implemented in other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
- the invention may also be used in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- Figure 9 illustrates an example of a computer system that serves as an operating environment for the invention.
- the computer system includes a personal computer 920, including a processing unit 921, a system memory 922, and a system bus 923 that interconnects various system components including the system memory to the processing unit 921.
- the system bus may comprise any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using a bus architecture such as PCI, VESA, MicroChannel (MCA), ISA and EISA, to name a few.
- the system memory includes read only memory (ROM) 924 and random access memory (RAM) 925.
- ROM read only memory
- RAM random access memory
- a basic input/output system 926 (BIOS), containing the basic routines that help to transfer information between elements within the personal computer 920, such as during start-up, is stored in ROM 924.
- the personal computer 920 further includes a hard disk drive 927, a magnetic disk drive 928, e.g., to read from or write to a removable disk 929, and an optical disk drive 930, e.g., for reading a CD-ROM disk 931 or to read from or write to other optical media.
- the hard disk drive 927, magnetic disk drive 928, and optical disk drive 930 are connected to the system bus 923 by a hard disk drive interface 932, a magnetic disk drive interface 933, and an optical drive interface 934, respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer- executable instructions (program code such as dynamic link libraries, and executable files), etc. for the personal computer 920.
- program code such as dynamic link libraries, and executable files
- computer- readable media refers to a hard disk, a removable magnetic disk and a CD, it can also include other types of media that are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like.
- a number of program modules may be stored in the drives and RAM 925, including an operating system 935, one or more application programs 936, other program modules 937, and program data 938.
- a user may enter commands and information into the personal computer 920 through a keyboard 940 and pointing device, such as a mouse 942.
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 921 through a serial port interface 946 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 947 or other type of display device is also connected to the system bus 923 via an interface, such as a display controller or video adapter 948.
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the personal computer 920 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 949.
- the remote computer 949 may be a server, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the personal computer 920, although only a memory storage device 950 has been illustrated in Figure 9.
- the logical connections depicted in Figure 9 include a local area network (LAN) 951 and a wide area network (WAN) 952.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the personal computer 920 When used in a LAN networking environment, the personal computer 920 is connected to the local network 951 through a network interface or adapter 953. When used in a WAN networking environment, the personal computer 920 typically includes a modem 954 or other means for establishing communications over the wide area network 952, such as the Internet.
- the modem 954 which may be internal or external, is connected to the system bus 923 via the serial port interface 946.
- program modules depicted relative to the personal computer 920, or portions thereof may be stored in the remote memory storage device.
- the network connections shown are merely examples and other means of establishing a communications link between the computers may be used.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99965061A EP1135934B1 (en) | 1998-11-30 | 1999-11-30 | Efficient macroblock header coding for video compression |
DK99965061T DK1135934T3 (en) | 1998-11-30 | 1999-11-30 | Effective coding of macroblock start tag for video compression |
DE69937462T DE69937462T2 (en) | 1998-11-30 | 1999-11-30 | EFFICIENT MACROBLOCK HEADER CODING FOR VIDEO COMPRESSION |
JP2000586108A JP3778798B2 (en) | 1998-11-30 | 1999-11-30 | Efficient macroblock header coding for video compression |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/201,272 | 1998-11-30 | ||
US09/201,272 US6563953B2 (en) | 1998-11-30 | 1998-11-30 | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000033583A1 true WO2000033583A1 (en) | 2000-06-08 |
Family
ID=22745185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/028276 WO2000033583A1 (en) | 1998-11-30 | 1999-11-30 | Efficient macroblock header coding for video compression |
Country Status (10)
Country | Link |
---|---|
US (7) | US6563953B2 (en) |
EP (3) | EP1135934B1 (en) |
JP (4) | JP3778798B2 (en) |
AT (3) | ATE377327T1 (en) |
DE (3) | DE69937462T2 (en) |
DK (3) | DK1853069T3 (en) |
ES (3) | ES2296415T3 (en) |
HK (2) | HK1115256A1 (en) |
PT (3) | PT1135934E (en) |
WO (1) | WO2000033583A1 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003084241A2 (en) * | 2002-03-22 | 2003-10-09 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
EP1553782A3 (en) * | 2002-05-28 | 2005-07-27 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode estimation, communication, and organization |
EP1777968A1 (en) * | 2005-10-19 | 2007-04-25 | Samsung Electronics Co., Ltd. | Method of encoding flags in layers using inter-layer correlation, method and apparatus for decoding coded flags |
WO2007058296A1 (en) | 2005-11-18 | 2007-05-24 | Sony Corporation | Encoding device and method, composite device and method, and transmission system |
US7236524B2 (en) | 2002-05-28 | 2007-06-26 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode communication |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
EP1877959A2 (en) * | 2005-05-03 | 2008-01-16 | QUALCOMM Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
CN100378730C (en) * | 2003-11-10 | 2008-04-02 | 株式会社理光 | Features for retrieval and similarity matching of documents |
US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
WO2011130334A3 (en) * | 2010-04-12 | 2012-12-06 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
WO2013002589A3 (en) * | 2011-06-28 | 2013-03-14 | 삼성전자 주식회사 | Prediction method and apparatus for chroma component of image using luma component of image |
KR101261525B1 (en) | 2005-07-15 | 2013-05-06 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
WO2013067327A3 (en) * | 2011-11-03 | 2013-07-25 | Google Inc. | Method and apparatus for image compression storing encoding parameters in 2d matrices |
CN101489136B (en) * | 2002-05-28 | 2014-07-16 | 夏普株式会社 | Methods and systems for image intra-prediction mode estimation, communication, and organization |
EP3395071A4 (en) * | 2015-12-22 | 2019-08-14 | RealNetworks, Inc. | Residual transformation and inverse transformation in video coding systems and methods |
Families Citing this family (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6215910B1 (en) | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
US6499060B1 (en) | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
FI116819B (en) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Procedure for transferring images and an image encoder |
GB2359209A (en) * | 2000-02-09 | 2001-08-15 | Motorola Ltd | Apparatus and methods for video distribution via networks |
US20020191698A1 (en) * | 2001-06-15 | 2002-12-19 | Solidstreaming, Inc. | Video data CODEC system with low computational complexity |
EP1404133A4 (en) * | 2001-06-29 | 2010-04-21 | Ntt Docomo Inc | Image encoder, image decoder, image encoding method, and image decoding method |
JP2004537932A (en) * | 2001-08-02 | 2004-12-16 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Video coding method |
CN102316320B (en) * | 2001-12-17 | 2014-07-09 | 微软公司 | Skip macroblock coding |
CN101448162B (en) | 2001-12-17 | 2013-01-02 | 微软公司 | Method for processing video image |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
JP4130780B2 (en) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | Image encoding method and image decoding method |
TW560179B (en) * | 2002-04-16 | 2003-11-01 | Pixart Imaging Inc | Moving correction and compensation method |
US7832566B2 (en) | 2002-05-24 | 2010-11-16 | Biomet Biologics, Llc | Method and apparatus for separating and concentrating a component from a multi-component material including macroparticles |
US20030205538A1 (en) | 2002-05-03 | 2003-11-06 | Randel Dorian | Methods and apparatus for isolating platelets from blood |
US20060278588A1 (en) | 2002-05-24 | 2006-12-14 | Woodell-May Jennifer E | Apparatus and method for separating and concentrating fluids containing multiple components |
US7845499B2 (en) | 2002-05-24 | 2010-12-07 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | 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 |
US7154952B2 (en) * | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
WO2004010706A1 (en) * | 2002-07-19 | 2004-01-29 | Sony Corporation | Information signal processing device, information signal processing method, image signal processing device, image displaying device, device and method for producing correction data used in them, device and method for producing coefficient data, programs for executing these methods, and computer-readable medium in which thos |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
US7130350B1 (en) * | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
US7424493B2 (en) * | 2003-04-21 | 2008-09-09 | Microsoft Corporation | Replication-based propagation mechanism for pipelines |
US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
US7830963B2 (en) | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
US7738554B2 (en) | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US7426308B2 (en) * | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
US7502415B2 (en) * | 2003-07-18 | 2009-03-10 | Microsoft Corporation | Range reduction |
US7269288B2 (en) * | 2003-07-30 | 2007-09-11 | Mediatek Inc. | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof |
US8014450B2 (en) * | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
US7567617B2 (en) * | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7627037B2 (en) * | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
US7580461B2 (en) * | 2004-02-27 | 2009-08-25 | Microsoft Corporation | Barbell lifting for wavelet coding |
US7649539B2 (en) * | 2004-03-10 | 2010-01-19 | Microsoft Corporation | Image formats for video capture, processing and display |
US7586647B2 (en) * | 2004-07-29 | 2009-09-08 | Canon Kabushiki Kaisha | Halftone detection and removal |
CN100359953C (en) * | 2004-09-08 | 2008-01-02 | 华为技术有限公司 | Image chroma prediction based on code in frame |
CN100461867C (en) * | 2004-12-02 | 2009-02-11 | 中国科学院计算技术研究所 | Inage predicting encoding method in frame |
US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
KR100682912B1 (en) * | 2005-01-05 | 2007-02-15 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image data |
EP1848474B1 (en) | 2005-02-07 | 2013-06-12 | Hanuman LLC | Platelet rich plasma concentrate apparatus and method |
US7866485B2 (en) | 2005-02-07 | 2011-01-11 | Hanuman, Llc | Apparatus and method for preparing platelet rich plasma and concentrates thereof |
WO2006086199A1 (en) | 2005-02-07 | 2006-08-17 | Hanuman Llc | Platelet rich plasma concentrate apparatus and method |
JP4683374B2 (en) * | 2005-03-14 | 2011-05-18 | 富士ゼロックス株式会社 | Encoding apparatus, encoding method, and program |
JP4301193B2 (en) * | 2005-03-31 | 2009-07-22 | ソニー株式会社 | Image comparison apparatus and method, image search apparatus and method, program, and recording medium |
US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
US7860327B2 (en) * | 2005-10-06 | 2010-12-28 | Sony Corporation | Systems and methods for enhanced coding gain |
KR100791295B1 (en) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | Flag encoding method, flag decoding method, and apparatus thereof |
US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
KR100745765B1 (en) * | 2006-04-13 | 2007-08-02 | 삼성전자주식회사 | Apparatus and method for intra prediction of an image data, apparatus and method for encoding of an image data, apparatus and method for intra prediction compensation of an image data, apparatus and method for decoding of an image data |
US8880571B2 (en) * | 2006-05-05 | 2014-11-04 | Microsoft Corporation | High dynamic range data format conversions for digital media |
US8567609B2 (en) | 2006-05-25 | 2013-10-29 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
KR100809298B1 (en) * | 2006-06-22 | 2008-03-04 | 삼성전자주식회사 | Flag encoding method, flag decoding method, and apparatus thereof |
RU2430485C2 (en) | 2006-10-10 | 2011-09-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Method of coding and method of decoding video data, device for realising said method, programme for realising said method and data medium for recording said programmes |
US8054886B2 (en) * | 2007-02-21 | 2011-11-08 | Microsoft Corporation | Signaling and use of chroma sample positioning information |
US8189676B2 (en) * | 2007-04-05 | 2012-05-29 | Hong Kong University Of Science & Technology | Advance macro-block entropy coding for advanced video standards |
US8328024B2 (en) | 2007-04-12 | 2012-12-11 | Hanuman, Llc | Buoy suspension fractionation system |
JP5479319B2 (en) | 2007-04-12 | 2014-04-23 | バイオメット・バイオロジックス・リミテッド・ライアビリティ・カンパニー | Buoy suspension fractionation system |
US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
NO20074463A (en) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Method for entropy coding of transform coefficients in video compression systems |
NO328295B1 (en) * | 2007-12-20 | 2010-01-25 | Tandberg Telecom As | VLC method and device |
EP2567692B1 (en) | 2008-02-27 | 2016-04-06 | Biomet Biologics, LLC | Use of a device for obtaining interleukin-1 receptor antagonist rich solutions |
US8337711B2 (en) | 2008-02-29 | 2012-12-25 | Biomet Biologics, Llc | System and process for separating a material |
US8542748B2 (en) * | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US8012077B2 (en) | 2008-05-23 | 2011-09-06 | Biomet Biologics, Llc | Blood separating device |
US10455248B2 (en) * | 2008-10-06 | 2019-10-22 | Lg Electronics Inc. | Method and an apparatus for processing a video signal |
CN101742301B (en) * | 2008-11-24 | 2017-04-19 | 北京中星微电子有限公司 | Block mode coding method and device |
CN101742329B (en) * | 2008-11-24 | 2013-02-13 | 北京中星微电子有限公司 | Image coding method and device |
FR2940736B1 (en) * | 2008-12-30 | 2011-04-08 | Sagem Comm | SYSTEM AND METHOD FOR VIDEO CODING |
US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
US8187475B2 (en) | 2009-03-06 | 2012-05-29 | Biomet Biologics, Llc | Method and apparatus for producing autologous thrombin |
US8313954B2 (en) | 2009-04-03 | 2012-11-20 | Biomet Biologics, Llc | All-in-one means of separating blood components |
WO2010131903A2 (en) | 2009-05-12 | 2010-11-18 | Lg Electronics Inc. | Method and apparatus for processing a video signal |
US9011800B2 (en) | 2009-07-16 | 2015-04-21 | Biomet Biologics, Llc | Method and apparatus for separating biological materials |
EP2375751A1 (en) * | 2010-04-12 | 2011-10-12 | Panasonic Corporation | Complexity reduction of edge-detection based spatial interpolation |
US8591391B2 (en) | 2010-04-12 | 2013-11-26 | Biomet Biologics, Llc | Method and apparatus for separating a material |
KR102080450B1 (en) | 2010-04-13 | 2020-02-21 | 지이 비디오 컴프레션, 엘엘씨 | Inter-plane prediction |
PT2559246T (en) | 2010-04-13 | 2016-09-14 | Ge Video Compression Llc | Sample region merging |
PT3703377T (en) | 2010-04-13 | 2022-01-28 | Ge Video Compression Llc | Video coding using multi-tree sub-divisions of images |
KR101556821B1 (en) | 2010-04-13 | 2015-10-01 | 지이 비디오 컴프레션, 엘엘씨 | Inheritance in sample array multitree subdivision |
CN105872563B (en) * | 2010-04-13 | 2019-06-14 | Ge视频压缩有限责任公司 | For decoding, generating, storing data stream and transmit video method |
KR101813189B1 (en) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | Video coding/decoding apparatus and method |
US9319880B2 (en) * | 2010-09-15 | 2016-04-19 | Intel Corporation | Reformatting data to decrease bandwidth between a video encoder and a buffer |
US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
JP5878295B2 (en) * | 2011-01-13 | 2016-03-08 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
KR101889101B1 (en) * | 2011-09-14 | 2018-08-17 | 세종대학교산학협력단 | Method and apparatus for restoring image using copy memory |
WO2013039363A2 (en) * | 2011-09-16 | 2013-03-21 | 한국전자통신연구원 | Method for encoding/decoding image and device therefor |
GB2554311B (en) | 2011-10-19 | 2018-12-26 | Kt Corp | Decoding image based on transform skip modes for luma and chroma components |
JP6168365B2 (en) * | 2012-06-12 | 2017-07-26 | サン パテント トラスト | Moving picture encoding method, moving picture decoding method, moving picture encoding apparatus, and moving picture decoding apparatus |
US9642956B2 (en) | 2012-08-27 | 2017-05-09 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
CN103096090B (en) * | 2013-02-20 | 2015-12-02 | 广州柯维新数码科技有限公司 | A kind of method divided for the encoding block in video compression |
US9895418B2 (en) | 2013-03-15 | 2018-02-20 | Biomet Biologics, Llc | Treatment of peripheral vascular disease using protein solutions |
US10208095B2 (en) | 2013-03-15 | 2019-02-19 | Biomet Manufacturing, Llc | Methods for making cytokine compositions from tissues using non-centrifugal methods |
US20140271589A1 (en) | 2013-03-15 | 2014-09-18 | Biomet Biologics, Llc | Treatment of collagen defects using protein solutions |
US10143725B2 (en) | 2013-03-15 | 2018-12-04 | Biomet Biologics, Llc | Treatment of pain using protein solutions |
US9950035B2 (en) | 2013-03-15 | 2018-04-24 | Biomet Biologics, Llc | Methods and non-immunogenic compositions for treating inflammatory disorders |
JP2015095733A (en) * | 2013-11-11 | 2015-05-18 | キヤノン株式会社 | Image transfer device, image transfer method, and program |
US10067951B2 (en) * | 2014-02-19 | 2018-09-04 | Samsung Electronics Co, Ltd | Method for creating binary code and electronic device thereof |
KR102269590B1 (en) * | 2014-02-19 | 2021-06-24 | 삼성전자주식회사 | Method for creating a binary and an electronic device thereof |
US9713810B2 (en) | 2015-03-30 | 2017-07-25 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US9757721B2 (en) | 2015-05-11 | 2017-09-12 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
US10027968B2 (en) * | 2015-06-12 | 2018-07-17 | Sony Corporation | Data-charge phase data compression tool |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
CN109788290A (en) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | Image processor and the lossless image compressing method for utilizing intra prediction |
CN111010572A (en) * | 2018-12-04 | 2020-04-14 | 北京达佳互联信息技术有限公司 | Video coding method, device and equipment |
EP4060995A1 (en) * | 2019-12-11 | 2022-09-21 | Sony Group Corporation | Image processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method |
JP2023517695A (en) * | 2020-03-12 | 2023-04-26 | インターデジタル ブイシー ホールディングス フランス | Method and apparatus for video encoding and decoding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0540350A2 (en) * | 1991-10-31 | 1993-05-05 | Sony Corporation | Method and apparatus for variable length coding |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
EP0830029A2 (en) * | 1996-09-13 | 1998-03-18 | Robert Bosch Gmbh | Method for video signal data reduction |
US5946043A (en) * | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56128070A (en) * | 1980-03-13 | 1981-10-07 | Fuji Photo Film Co Ltd | Band compressing equipment of variable density picture |
JPS61205086A (en) | 1985-03-08 | 1986-09-11 | Mitsubishi Electric Corp | Picture encoding and decoding device |
EP0207774B1 (en) * | 1985-07-02 | 1992-03-04 | Matsushita Electric Industrial Co., Ltd. | Block encoder |
FR2599577B1 (en) * | 1986-05-29 | 1988-08-05 | Guichard Jacques | TRANSFORMATION CODING METHOD FOR TRANSMITTING IMAGE SIGNALS. |
US4800432A (en) * | 1986-10-24 | 1989-01-24 | The Grass Valley Group, Inc. | Video Difference key generator |
DE3704777C1 (en) | 1987-02-16 | 1988-04-07 | Ant Nachrichtentech | Method of transmitting and playing back television picture sequences |
NL8700565A (en) * | 1987-03-10 | 1988-10-03 | Philips Nv | TV SYSTEM IN WHICH TRANSFORMED CODING TRANSFERS DIGITIZED IMAGES FROM A CODING STATION TO A DECODING STATION. |
DE3855114D1 (en) * | 1987-05-06 | 1996-04-25 | Philips Patentverwaltung | System for the transmission of video images |
FR2648254B2 (en) * | 1988-09-23 | 1991-08-30 | Thomson Csf | METHOD AND DEVICE FOR ESTIMATING MOTION IN A SEQUENCE OF MOVED IMAGES |
US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
JPH07109990B2 (en) * | 1989-04-27 | 1995-11-22 | 日本ビクター株式会社 | Adaptive interframe predictive coding method and decoding method |
JP2562499B2 (en) | 1989-05-29 | 1996-12-11 | 日本電信電話株式会社 | High-efficiency image encoding device and its decoding device |
JPH0822064B2 (en) | 1990-02-15 | 1996-03-04 | 三菱電機株式会社 | Transform coding method |
DE69033797T2 (en) * | 1989-10-14 | 2002-04-18 | Sony Corp | Method and arrangement for encoding / decoding a video signal |
JPH082107B2 (en) | 1990-03-02 | 1996-01-10 | 国際電信電話株式会社 | Method and apparatus for moving picture hybrid coding |
JPH03265290A (en) * | 1990-03-14 | 1991-11-26 | Toshiba Corp | Television signal scanning line converter |
US5091782A (en) * | 1990-04-09 | 1992-02-25 | General Instrument Corporation | Apparatus and method for adaptively compressing successive blocks of digital video |
US4999705A (en) | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
US5155594A (en) | 1990-05-11 | 1992-10-13 | Picturetel Corporation | Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences |
US5068724A (en) * | 1990-06-15 | 1991-11-26 | General Instrument Corporation | Adaptive motion compensation for digital television |
JP3037383B2 (en) | 1990-09-03 | 2000-04-24 | キヤノン株式会社 | Image processing system and method |
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 |
US5111292A (en) | 1991-02-27 | 1992-05-05 | General Electric Company | Priority selection apparatus as for a video signal processor |
JPH0630280A (en) * | 1991-03-19 | 1994-02-04 | Nec Eng Ltd | Selective coding preprocessing system by blocks for binary image data |
DE4113505A1 (en) * | 1991-04-25 | 1992-10-29 | Thomson Brandt Gmbh | METHOD FOR IMAGE SIGNAL CODING |
JPH04334188A (en) | 1991-05-08 | 1992-11-20 | Nec Corp | Coding system for moving picture signal |
DK0540714T3 (en) | 1991-05-24 | 1998-09-07 | British Broadcasting Corp | video Imaging |
US5317397A (en) | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
JP2977104B2 (en) | 1991-07-26 | 1999-11-10 | ソニー株式会社 | Moving image data encoding method and apparatus, and moving image data decoding method and apparatus |
US5539466A (en) * | 1991-07-30 | 1996-07-23 | Sony Corporation | Efficient coding apparatus for picture signal and decoding apparatus therefor |
JP3001688B2 (en) | 1991-08-05 | 2000-01-24 | 株式会社大一商会 | Pachinko ball circulation controller |
JP2991833B2 (en) | 1991-10-11 | 1999-12-20 | 松下電器産業株式会社 | Interlace scanning digital video signal encoding apparatus and method |
JP2962012B2 (en) * | 1991-11-08 | 1999-10-12 | 日本ビクター株式会社 | Video encoding device and decoding device therefor |
US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
US5510840A (en) * | 1991-12-27 | 1996-04-23 | Sony Corporation | Methods and devices for encoding and decoding frame signals and recording medium therefor |
US5287420A (en) | 1992-04-08 | 1994-02-15 | Supermac Technology | Method for image compression on a personal computer |
KR0166716B1 (en) * | 1992-06-18 | 1999-03-20 | 강진구 | Encoding and decoding method and apparatus by using block dpcm |
US6101313A (en) * | 1992-06-29 | 2000-08-08 | Sony Corporation | High efficiency encoding and decoding of picture signals and recording medium containing same |
US6226327B1 (en) * | 1992-06-29 | 2001-05-01 | Sony Corporation | Video coding method and apparatus which select between frame-based and field-based predictive modes |
US5412435A (en) | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
JP2510456B2 (en) | 1992-08-27 | 1996-06-26 | 三菱電機株式会社 | Image coding device |
JPH06153180A (en) | 1992-09-16 | 1994-05-31 | Fujitsu Ltd | Picture data coding method and device |
JPH06113287A (en) | 1992-09-30 | 1994-04-22 | Matsushita Electric Ind Co Ltd | Picture coder and picture decoder |
US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
KR0166722B1 (en) * | 1992-11-30 | 1999-03-20 | 윤종용 | Encoding and decoding method and apparatus thereof |
US5491516A (en) | 1993-01-14 | 1996-02-13 | Rca Thomson Licensing Corporation | Field elimination apparatus for a video compression/decompression system |
US5544286A (en) * | 1993-01-29 | 1996-08-06 | Microsoft Corporation | Digital video data compression technique |
US5592228A (en) | 1993-03-04 | 1997-01-07 | Kabushiki Kaisha Toshiba | Video encoder using global motion estimation and polygonal patch motion estimation |
US5376968A (en) | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
JP3312417B2 (en) * | 1993-03-18 | 2002-08-05 | ソニー株式会社 | Image signal encoding device and image signal decoding device |
JPH06276481A (en) | 1993-03-18 | 1994-09-30 | Sony Corp | Picture signal coding and decoding method and recording medium |
PT2334083E (en) * | 1993-03-24 | 2013-09-30 | Sony Corp | Method of coding and decoding motion vector and apparatus thereof, and method of coding and decoding picture signal and apparatus thereof |
EP0625853B1 (en) | 1993-05-21 | 1999-03-03 | Nippon Telegraph And Telephone Corporation | Moving image encoder and decoder |
US5448297A (en) | 1993-06-16 | 1995-09-05 | Intel Corporation | Method and system for encoding images using skip blocks |
US5517327A (en) | 1993-06-30 | 1996-05-14 | Minolta Camera Kabushiki Kaisha | Data processor for image data using orthogonal transformation |
US5477272A (en) | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
US5453799A (en) | 1993-11-05 | 1995-09-26 | Comsat Corporation | Unified motion estimation architecture |
US5465118A (en) | 1993-12-17 | 1995-11-07 | International Business Machines Corporation | Luminance transition coding method for software motion video compression/decompression |
EP0675652B1 (en) | 1994-03-30 | 2009-05-13 | Nxp B.V. | Method and circuit for estimating motion between images of two interlaced fields, and digital signal coding devices comprising such a circuit |
US5550541A (en) | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
US5767898A (en) | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
US5594504A (en) | 1994-07-06 | 1997-01-14 | Lucent Technologies Inc. | Predictive video coding using a motion vector updating routine |
JP3474005B2 (en) * | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | Video coding method and video decoding method |
US5552832A (en) | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
JPH08140099A (en) | 1994-11-11 | 1996-05-31 | Canon Inc | Coding device and method |
JP2951861B2 (en) | 1994-12-28 | 1999-09-20 | シャープ株式会社 | Image encoding device and image decoding device |
KR0164411B1 (en) * | 1994-12-28 | 1999-01-15 | 윤종용 | Alarm processing method and device to maintain remote safety supervision system |
EP0720383B1 (en) | 1994-12-30 | 2000-09-13 | Daewoo Electronics Co., Ltd | Method and apparatus for detecting motion vectors in a frame decimating video encoder |
EP0721287A1 (en) | 1995-01-09 | 1996-07-10 | Daewoo Electronics Co., Ltd | Method and apparatus for encoding a video signal |
JP3732867B2 (en) | 1995-03-09 | 2006-01-11 | 株式会社ルネサステクノロジ | Image expansion device |
DE69619002T2 (en) | 1995-03-10 | 2002-11-21 | Toshiba Kawasaki Kk | Image coding - / - decoding device |
KR0181027B1 (en) | 1995-03-20 | 1999-05-01 | 배순훈 | An image processing system using pixel-by-pixel motion estimation |
KR0171118B1 (en) | 1995-03-20 | 1999-03-20 | 배순훈 | Apparatus for encoding video signal |
KR0171143B1 (en) | 1995-03-20 | 1999-03-20 | 배순훈 | Apparatus for composing triangle in the hexagonal grid |
KR0181063B1 (en) | 1995-04-29 | 1999-05-01 | 배순훈 | Method and apparatus for forming grid in motion compensation technique using feature point |
US5654771A (en) | 1995-05-23 | 1997-08-05 | The University Of Rochester | Video compression system using a dense motion vector field and a triangular patch mesh overlay model |
JP3903496B2 (en) * | 1995-06-05 | 2007-04-11 | ソニー株式会社 | Image encoding method, encoding device, decoding method, and decoding device |
US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
US6208761B1 (en) * | 1995-07-11 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Video coding |
US5687097A (en) | 1995-07-13 | 1997-11-11 | Zapex Technologies, Inc. | Method and apparatus for efficiently determining a frame motion vector in a video encoder |
US5668608A (en) | 1995-07-26 | 1997-09-16 | Daewoo Electronics Co., Ltd. | Motion vector estimation method and apparatus for use in an image signal encoding system |
US5825830A (en) | 1995-08-17 | 1998-10-20 | Kopf; David A. | Method and apparatus for the compression of audio, video or other data |
US5883678A (en) * | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
US6307967B1 (en) * | 1995-09-29 | 2001-10-23 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus |
US5959673A (en) | 1995-10-05 | 1999-09-28 | Microsoft Corporation | Transform coding of dense motion vector fields for frame and object based video coding applications |
KR100211917B1 (en) | 1995-10-26 | 1999-08-02 | 김영환 | Object shape information coding method |
US5692063A (en) | 1996-01-19 | 1997-11-25 | Microsoft Corporation | Method and system for unrestricted motion estimation for video |
US5831559A (en) | 1996-01-24 | 1998-11-03 | Intel Corporation | Encoding/decoding video signals using multiple run-val mapping tables |
JP3371191B2 (en) | 1996-03-22 | 2003-01-27 | ソニー株式会社 | Image signal encoding method and decoding method, and encoding apparatus and decoding apparatus |
US5982438A (en) | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
KR100371130B1 (en) | 1996-05-28 | 2003-02-07 | 마쯔시다덴기산교 가부시키가이샤 | Image predictive decoding apparatus and method thereof, and image predictive cording apparatus and method thereof |
KR100488422B1 (en) * | 1996-09-24 | 2005-09-02 | 주식회사 팬택앤큐리텔 | Grayscale-shaped information encoding / decoding device and method |
KR100303685B1 (en) * | 1996-09-30 | 2001-09-24 | 송문섭 | Image prediction encoding device and method thereof |
JP4034380B2 (en) | 1996-10-31 | 2008-01-16 | 株式会社東芝 | Image encoding / decoding method and apparatus |
US5748789A (en) * | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
JPH10145779A (en) | 1996-11-06 | 1998-05-29 | Sony Corp | Field detection device and method, image encoding device and method, and recording medium and its recording method |
EP0786907A3 (en) | 1997-01-24 | 2001-06-13 | Texas Instruments Incorporated | Video encoder |
CN1208971C (en) * | 1997-02-14 | 2005-06-29 | 日本电信电话株式会社 | Predictive coding method and decoding method for dynamic image |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
US6005980A (en) * | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
US6404813B1 (en) | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
JP4001969B2 (en) * | 1997-03-31 | 2007-10-31 | ソニー株式会社 | Encoding apparatus and method, and decoding apparatus and method |
US6064771A (en) * | 1997-06-23 | 2000-05-16 | Real-Time Geometry Corp. | System and method for asynchronous, adaptive moving picture compression, and decompression |
US6351563B1 (en) | 1997-07-09 | 2002-02-26 | Hyundai Electronics Ind. Co., Ltd. | Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers |
US6148033A (en) * | 1997-11-20 | 2000-11-14 | Hitachi America, Ltd. | Methods and apparatus for improving picture quality in reduced resolution video decoders |
EP0921683B1 (en) * | 1997-12-02 | 2010-09-08 | Daewoo Electronics Corporation | Method and apparatus for encoding mode signals for use in a binary shape coder |
US5973743A (en) * | 1997-12-02 | 1999-10-26 | Daewoo Electronics Co., Ltd. | Mode coding method and apparatus for use in an interlaced shape coder |
JP3740813B2 (en) | 1997-12-12 | 2006-02-01 | ソニー株式会社 | Image encoding method and image encoding apparatus |
KR100281462B1 (en) * | 1998-03-30 | 2001-02-01 | 전주범 | Method for encoding motion vector of binary shape signals in interlaced shape coding technique |
US7263127B1 (en) | 1998-04-02 | 2007-08-28 | Intel Corporation | Method and apparatus for simplifying frame-based motion estimation |
JP3888597B2 (en) * | 1998-06-24 | 2007-03-07 | 日本ビクター株式会社 | Motion compensation coding apparatus and motion compensation coding / decoding method |
DE69934939T2 (en) | 1998-06-29 | 2007-10-18 | Xerox Corp. | Compression of boundaries between images |
US6275531B1 (en) * | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
EP1069774A4 (en) | 1999-02-05 | 2008-09-17 | Sony Corp | Encoding device, encoding method, decoding device, decoding method, coding system and coding method |
JP3778721B2 (en) | 1999-03-18 | 2006-05-24 | 富士通株式会社 | Video coding method and apparatus |
JP2001036908A (en) | 1999-07-15 | 2001-02-09 | Oki Electric Ind Co Ltd | Dynamic image compressing device |
FR2802048B1 (en) | 1999-12-01 | 2002-01-18 | France Telecom | METHOD FOR BROADCASTING DIGITAL TELEVISION, DIGITAL SIGNAL AND EQUIPMENT THEREOF |
KR100739281B1 (en) | 2000-02-21 | 2007-07-12 | 주식회사 팬택앤큐리텔 | Motion estimation method and appratus |
CN1322759C (en) * | 2000-04-27 | 2007-06-20 | 三菱电机株式会社 | Coding apparatus and coding method |
KR100341063B1 (en) | 2000-06-28 | 2002-06-20 | 송문섭 | Rate control apparatus and method for real-time video communication |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
WO2002071736A2 (en) * | 2001-03-05 | 2002-09-12 | Intervideo, Inc. | Systems and methods of error resilience in a video decoder |
US6677868B2 (en) | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
JP3764458B2 (en) | 2001-11-16 | 2006-04-05 | 株式会社エヌ・ティ・ティ・ドコモ | Image encoding method, image decoding method, image encoding device, image decoding device, and program |
CN102316320B (en) | 2001-12-17 | 2014-07-09 | 微软公司 | Skip macroblock coding |
CN101448162B (en) | 2001-12-17 | 2013-01-02 | 微软公司 | Method for processing video image |
US6870578B2 (en) | 2001-12-19 | 2005-03-22 | Thomson Licensing Sa. | Apparatus and method for sharing signal control lines |
EP1347649A1 (en) | 2002-03-18 | 2003-09-24 | Lg Electronics Inc. | B picture mode determining method and apparatus in video coding system |
US7099387B2 (en) | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4151374B2 (en) | 2002-03-29 | 2008-09-17 | セイコーエプソン株式会社 | Moving picture coding apparatus and moving picture coding method |
AU2003241696A1 (en) | 2002-07-26 | 2004-02-16 | Matsushita Electric Industrial Co., Ltd. | Moving picture encoding method, moving picture decoding method, and recording medium |
US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
AU2003290536A1 (en) * | 2002-10-23 | 2004-05-13 | Divxnetworks, Inc. | Method and system for supercompression of compressed digital video |
US20060257000A1 (en) | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7620106B2 (en) | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US8107531B2 (en) | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
KR20050061762A (en) * | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | Method of encoding mode determination and motion estimation, and encoding apparatus |
US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
-
1998
- 1998-11-30 US US09/201,272 patent/US6563953B2/en not_active Expired - Lifetime
-
1999
- 1999-11-30 EP EP99965061A patent/EP1135934B1/en not_active Expired - Lifetime
- 1999-11-30 DE DE69937462T patent/DE69937462T2/en not_active Expired - Lifetime
- 1999-11-30 EP EP07014891A patent/EP1853069B1/en not_active Expired - Lifetime
- 1999-11-30 DK DK07014891.1T patent/DK1853069T3/en active
- 1999-11-30 ES ES99965061T patent/ES2296415T3/en not_active Expired - Lifetime
- 1999-11-30 PT PT99965061T patent/PT1135934E/en unknown
- 1999-11-30 PT PT07014945T patent/PT1863295E/en unknown
- 1999-11-30 AT AT99965061T patent/ATE377327T1/en active
- 1999-11-30 PT PT07014891T patent/PT1853069E/en unknown
- 1999-11-30 EP EP07014945A patent/EP1863295B1/en not_active Expired - Lifetime
- 1999-11-30 DE DE69941964T patent/DE69941964D1/en not_active Expired - Lifetime
- 1999-11-30 DE DE69941965T patent/DE69941965D1/en not_active Expired - Lifetime
- 1999-11-30 DK DK99965061T patent/DK1135934T3/en active
- 1999-11-30 DK DK07014945.5T patent/DK1863295T3/en active
- 1999-11-30 JP JP2000586108A patent/JP3778798B2/en not_active Expired - Lifetime
- 1999-11-30 WO PCT/US1999/028276 patent/WO2000033583A1/en active IP Right Grant
- 1999-11-30 AT AT07014891T patent/ATE456254T1/en active
- 1999-11-30 AT AT07014945T patent/ATE456255T1/en active
- 1999-11-30 ES ES07014945T patent/ES2337612T3/en not_active Expired - Lifetime
- 1999-11-30 ES ES07014891T patent/ES2337611T3/en not_active Expired - Lifetime
-
2003
- 2003-03-19 US US10/393,458 patent/US6735345B2/en not_active Expired - Lifetime
- 2003-12-11 US US10/733,223 patent/US7054494B2/en not_active Expired - Lifetime
-
2005
- 2005-12-30 US US11/323,034 patent/US7127114B2/en not_active Expired - Lifetime
-
2006
- 2006-01-23 JP JP2006014153A patent/JP4625411B2/en not_active Expired - Lifetime
- 2006-01-23 JP JP2006014154A patent/JP4673758B2/en not_active Expired - Lifetime
- 2006-07-27 US US11/495,355 patent/US7289673B2/en not_active Expired - Fee Related
-
2007
- 2007-09-20 US US11/903,222 patent/US8290288B2/en not_active Expired - Fee Related
-
2008
- 2008-05-07 HK HK08105160.5A patent/HK1115256A1/en unknown
- 2008-06-05 HK HK08106309.5A patent/HK1115966A1/en not_active IP Right Cessation
- 2008-12-01 JP JP2008306851A patent/JP4558827B2/en not_active Expired - Lifetime
-
2012
- 2012-10-15 US US13/652,405 patent/US8582903B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0540350A2 (en) * | 1991-10-31 | 1993-05-05 | Sony Corporation | Method and apparatus for variable length coding |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
EP0830029A2 (en) * | 1996-09-13 | 1998-03-18 | Robert Bosch Gmbh | Method for video signal data reduction |
US5946043A (en) * | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978765B2 (en) | 2002-03-22 | 2011-07-12 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
WO2003084241A3 (en) * | 2002-03-22 | 2004-04-01 | Realnetworks Inc | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
WO2003084241A2 (en) * | 2002-03-22 | 2003-10-09 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
EP2860979A1 (en) * | 2002-05-28 | 2015-04-15 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
US10715799B2 (en) | 2002-05-28 | 2020-07-14 | Dolby Laboratories Licensing Corporation | Methods and systems for image intra-prediction mode management |
US7236524B2 (en) | 2002-05-28 | 2007-06-26 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode communication |
KR100754972B1 (en) * | 2002-05-28 | 2007-10-01 | 샤프 가부시키가이샤 | Methods and systems for image intra-prediction mode estimation, communication, and organization |
EP1746843A3 (en) * | 2002-05-28 | 2007-10-17 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode estimation, communication and organization |
US10368066B2 (en) | 2002-05-28 | 2019-07-30 | Dolby Laboratories Licensing Corporation | Methods and systems for image intra-prediction mode management |
US9979963B2 (en) | 2002-05-28 | 2018-05-22 | Dolby Laboratories Licensing Corporation | Methods and systems for image intra-prediction mode management |
US9973762B2 (en) | 2002-05-28 | 2018-05-15 | Dolby Laboratories Licensing Corporation | Methods and systems for image intra-prediction mode management |
US9374590B2 (en) | 2002-05-28 | 2016-06-21 | Dolby Laboratories Licensing Corporation | Methods and systems for image intra-prediction mode management |
US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
EP2860978A1 (en) * | 2002-05-28 | 2015-04-15 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
EP2290990A1 (en) * | 2002-05-28 | 2011-03-02 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
EP2290989A1 (en) * | 2002-05-28 | 2011-03-02 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
EP1553782A3 (en) * | 2002-05-28 | 2005-07-27 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode estimation, communication, and organization |
EP2309757A1 (en) * | 2002-05-28 | 2011-04-13 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
KR100685264B1 (en) * | 2002-05-28 | 2007-02-22 | 샤프 가부시키가이샤 | Methods and systems for image intra-prediction mode estimation, communication, and organization |
US8228986B2 (en) | 2002-05-28 | 2012-07-24 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode management |
US8233538B2 (en) | 2002-05-28 | 2012-07-31 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode management |
USRE43567E1 (en) | 2002-05-28 | 2012-08-07 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode estimation |
EP2860977A1 (en) * | 2002-05-28 | 2015-04-15 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
CN101489136B (en) * | 2002-05-28 | 2014-07-16 | 夏普株式会社 | Methods and systems for image intra-prediction mode estimation, communication, and organization |
EP1944977A3 (en) * | 2002-05-28 | 2011-03-02 | Sharp Kabushiki Kaisha | Method and Systems for Image intra-prediction mode estimation, communication, and organization |
US8331450B2 (en) | 2002-05-28 | 2012-12-11 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode management |
US8279927B2 (en) | 2002-05-28 | 2012-10-02 | Sharp Kabushiki Kaisha | Methods and systems for image intra-prediction mode management |
CN100378730C (en) * | 2003-11-10 | 2008-04-02 | 株式会社理光 | Features for retrieval and similarity matching of documents |
CN102724496A (en) * | 2005-05-03 | 2012-10-10 | 高通股份有限公司 | System and method for scalable encoding and decoding of multimedia data using multiple layers |
EP1877959A4 (en) * | 2005-05-03 | 2013-01-02 | Qualcomm Inc | System and method for scalable encoding and decoding of multimedia data using multiple layers |
EP1877959A2 (en) * | 2005-05-03 | 2008-01-16 | QUALCOMM Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
CN102724496B (en) * | 2005-05-03 | 2017-04-12 | 高通股份有限公司 | System and method for scalable encoding and decoding of multimedia data using multiple layers |
US8619860B2 (en) | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
KR101261525B1 (en) | 2005-07-15 | 2013-05-06 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
EP1777968A1 (en) * | 2005-10-19 | 2007-04-25 | Samsung Electronics Co., Ltd. | Method of encoding flags in layers using inter-layer correlation, method and apparatus for decoding coded flags |
EP1901544A1 (en) * | 2005-11-18 | 2008-03-19 | Sony Corporation | Encoding device and method, composite device and method, and transmission system |
WO2007058296A1 (en) | 2005-11-18 | 2007-05-24 | Sony Corporation | Encoding device and method, composite device and method, and transmission system |
EP1901544A4 (en) * | 2005-11-18 | 2011-03-30 | Sony Corp | Encoding device and method, composite device and method, and transmission system |
WO2011130334A3 (en) * | 2010-04-12 | 2012-12-06 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
US8942282B2 (en) | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
CN103098463A (en) * | 2010-04-12 | 2013-05-08 | 高通股份有限公司 | Variable length coding of coded block pattern (CBP) in video compression |
US9674521B2 (en) | 2011-06-28 | 2017-06-06 | Samsung Electronics Co., Ltd. | Prediction method and apparatus for chroma component of image using luma component of image |
WO2013002589A3 (en) * | 2011-06-28 | 2013-03-14 | 삼성전자 주식회사 | Prediction method and apparatus for chroma component of image using luma component of image |
WO2013067327A3 (en) * | 2011-11-03 | 2013-07-25 | Google Inc. | Method and apparatus for image compression storing encoding parameters in 2d matrices |
US8615138B2 (en) | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
AU2012332327B2 (en) * | 2011-11-03 | 2014-04-10 | Google Llc | Method and apparatus for image compression storing encoding parameters in 2D matrices |
CN103703779B (en) * | 2011-11-03 | 2016-01-20 | 谷歌公司 | Use the image compression of Sub-reso image |
CN103703779A (en) * | 2011-11-03 | 2014-04-02 | 谷歌公司 | Image compression using sub-resolution images |
US8977066B2 (en) | 2011-11-03 | 2015-03-10 | Google Inc. | Image compression using sub-resolution images |
EP3395071A4 (en) * | 2015-12-22 | 2019-08-14 | RealNetworks, Inc. | Residual transformation and inverse transformation in video coding systems and methods |
US10735729B2 (en) | 2015-12-22 | 2020-08-04 | Realnetworks, Inc. | Residual transformation and inverse transformation in video coding systems and methods |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7127114B2 (en) | Coded block pattern encoding with spatial prediction | |
US7408990B2 (en) | Efficient motion vector coding for video compression | |
US5946043A (en) | Video coding using adaptive coding of block parameters for coded/uncoded blocks | |
EP1147668B1 (en) | Improved motion estimation and block matching pattern | |
US7711196B2 (en) | Apparatus and method for generating coded block pattern for alpha channel image and alpha channel image encoding/decoding apparatus and method using the same | |
US7072399B2 (en) | Motion estimation method and system for MPEG video streams | |
US20040013200A1 (en) | Advanced method of coding and decoding motion vector and apparatus therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 586108 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1999965061 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1999965061 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1999965061 Country of ref document: EP |