Movatterモバイル変換


[0]ホーム

URL:


US7289673B2 - Decoding macroblock type and coded block pattern information - Google Patents

Decoding macroblock type and coded block pattern information
Download PDF

Info

Publication number
US7289673B2
US7289673B2US11/495,355US49535506AUS7289673B2US 7289673 B2US7289673 B2US 7289673B2US 49535506 AUS49535506 AUS 49535506AUS 7289673 B2US7289673 B2US 7289673B2
Authority
US
United States
Prior art keywords
macroblock
coded block
block pattern
pattern information
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US11/495,355
Other versions
US20060262980A1 (en
Inventor
Chih-Lung Lin
Ming-Chieh Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft CorpfiledCriticalMicrosoft Corp
Priority to US11/495,355priorityCriticalpatent/US7289673B2/en
Publication of US20060262980A1publicationCriticalpatent/US20060262980A1/en
Priority to US11/903,222prioritypatent/US8290288B2/en
Application grantedgrantedCritical
Publication of US7289673B2publicationCriticalpatent/US7289673B2/en
Priority to US13/652,405prioritypatent/US8582903B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLCreassignmentMICROSOFT TECHNOLOGY LICENSING, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: MICROSOFT CORPORATION
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

The coded block parameters used to code blocks of image samples into structures called macroblocks are compressed more efficiently by exploiting the correlation between chrominance and luminance blocks in each macroblock. In particular, the coded block pattern for chrominance and luminance are combined into a single parameter for the macroblock and jointly coded with a single variable length code. To further enhance coding efficiency, the spatial coherence of coded block patterns can be exploited by using spatial prediction to compute predicted values for coded block pattern parameters.

Description

RELATED APPLICATION INFORMATION
This patent application is a continuation of U.S. patent application Ser. No. 11/323,034, filed Dec. 30, 2005, now U.S. Pat. No. 7,127,114, which is a continuation of U.S. patent application Ser. No. 10/733,223, filed Dec. 10, 2003, now U.S. Pat. No. 7,054,494, which is a continuation of U.S. patent application Ser. No. 10/393,458 filed Mar. 19, 2003, now U.S. Pat. No. 6,735,345, which is a continuation of U.S. patent application Ser. No. 09/201,272, filed Nov. 30, 1998, now U.S. Pat. No. 6,563,953, the disclosures of which are hereby incorporated herein by reference.
TECHNICAL FIELD
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.
BACKGROUND
Full-motion video displays based upon analog video signals have long been available in the form of television. With recent advances in computer processing capabilities and affordability, full-motion video displays based upon digital video signals are becoming more widely available. Digital video systems can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, and playing full-motion video sequences.
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. As examples, VHS-based systems have display resolutions of 320×480 pixels, NTSC-based systems have display resolutions of 720×486 pixels, and high-definition television (HDTV) systems under development have display resolutions of 1360×1024 pixels.
The amounts of raw digital information included in video sequences are massive. Storage and transmission of these amounts of video information is infeasible with conventional personal computer equipment. Consider, for example, a digitized form of a relatively low resolution VHS image format having a 320×480 pixel resolution. A full-length motion picture of two hours in duration at this resolution corresponds to 100 gigabytes of digital video information. By comparison, conventional compact optical disks have capacities of about 0.6 gigabytes, magnetic hard disks have capacities of 1-2 gigabytes, and compact optical disks under development have capacities of up to 8 gigabytes.
To address the limitations in storing or transmitting such massive amounts of digital video information, various video compression standards or processes have been established, including MPEG-1, MPEG-2, and H.26X. These 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.
In addition, the conventional video compression techniques utilize similarities within image frames, referred to as spatial or intraframe correlation, to provide intraframe compression in which the image samples within an image frame are compressed. Intraframe compression is based upon conventional processes for compressing still images, such as discrete cosine transform (DCT) encoding. 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.
Although differing in specific implementations, the MPEG-1, MPEG-2, and 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×16 pixels. In MPEG-2, a macroblock comprises four luminance blocks (each block is 8×8 samples of luminance (Y)) and two chrominance blocks (one 8×8 sample block each for Cb and Cr).
In MPEG-2, interframe coding is performed on macroblocks. An MPEG-2 encoder performs motion estimation and compensation to compute motion vectors and block error signals. For each block MNin an image frame N, a search is performed across the image of a next successive video frame N+1 or immediately preceding image frame N−1 (i.e., bi-directionally) to identify the most similar respective blocks MN+1or MN−1. The location of the most similar block relative to the block MNis 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 MNto determine the block error signal. The error signal is compressed using a texture coding method such as discrete cosine transform (DCT) encoding.
Object-based video coding techniques have been proposed as an improvement to the conventional frame-based coding standards. 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.
In the object-based video coding methods proposed for the MPEG-4 standard, 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. As an example,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.
In addition to the COD bit, 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. 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 (CBPY) (16) is comprised of four bits indicating whether or not coded texture data is transmitted for each of the four luminance blocks. Like the MCBPC parameter, the CBPY flags are also entropy coded using either Huffman or arithmetic coding.
After the CBPY parameter, the macroblock includes encoded motion vector data (shown asitem18 inFIG. 1). Following the motion vector data, the “block data” represents the encoded texture data for the macroblock (shown asblock data20 inFIG. 1).
One drawback of the coding approach illustrated inFIG. 1 is that it codes CBPC and CBPY flags separately, and therefore, does not exploit the correlation between these parameters to reduce the macroblock overhead. In addition, it does not take advantage of the spatial dependency of the coded block parameters.
SUMMARY
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.
In an implementation of the invention, 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). By jointly coding the luminance and chrominance values, the encoder exploits the correlation between these parameters in the macroblock.
To improve the coding efficiency further, the implementation uses prediction to take advantage of the spatial dependency of the coded block parameters of neighboring blocks. Before assigning the variable length code to the combined parameter, 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.
Additional features and advantages of the invention will become more apparent from the following detailed description and accompany drawings of an implementation of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
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 inFIG. 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.
DETAILED DESCRIPTION
Introduction
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.
Useful in both frame-based and object-based video coding, 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. In addition, 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. Theinput30 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.
Theshape coding module32 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.” Theshape coding module32 reads this mask and compresses it, using for example, a conventional chain coding method to encode the contour of the object.
Motion estimation module34 reads an object including its bounding rectangle and a previously reconstructedimage36 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, themotion estimation module34 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 themotion estimation module34 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.
Themotion compensation module38 reads the motion vectors computed by the motion estimation module and the previously reconstructedimage36 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 theinput30 and the corresponding sample values in the predicted image block as computed in themotion compensation module38 to determine the error signal for the macroblock.
Texture coding module40 compresses this error signal for inter-frame coded objects and compresses image sample values for the object from theinput data stream30 for intra-frame coded objects. Thefeedback path42 from thetexture coding module40 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 reconstructedimage36.
Thetexture coding module40 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.Multiplexer44 combines and formats this data into the proper syntax and outputs it to thebuffer46.
While the encoder can be implemented in hardware or software, it is most likely implemented in software. In a software implementation, 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. In hardware implementations, 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. Ademultiplexer60 receives abitstream62 representing a compressed video sequence and separates shapes, motion and texture encoded data on an object by object basis.Shape decoding module64 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 ofFIG. 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.
Themotion decoding module66 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. Themotion decoding module66 provides this motion information to themotion compensation module68, and themotion compensation module68 applies the motion data to previously reconstructedobject data70.
Thetexture decoding module74 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 amodule72 for computing and accumulating the reconstructed image. For inter-frame coded objects, thismodule72 applies the error signal data to the predicted image output from the motion compensation module to compute the reconstructed object for the current frame. For intra-frame coded objects thetexture decoding module74 decodes the image sample values for the object and places the reconstructed object in the reconstructedobject module72. Previously reconstructed objects are temporarily stored inobject memory70 and are used to construct the object for other frames.
Like the encoder, the decoder can be implemented in hardware, software or a combination of both. In software implementations, 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. In hardware implementations, 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.
FIG. 4 is a diagram illustrating the header block parameters computed by an implementation of the invention. Like the header information shown inFIG. 1, this header block includes aCOD parameter80, anAC_Pred_flag82, motion vector data (MV84) andblock data86. Unlike the header inFIG. 1, MCBPC and CBPY parameters are jointly coded with a single variable length code, calledMBCBPCY88. This code combines coded block parameters for chrominance and luminance, as well as the flag for macroblock type.
FIG. 5 is a flow diagram illustrating how the implementation generates a variable length code for Intra (I) frames and predicted (P) frames. In this particular implementation, the header blocks for I and P frames are coded differently. For I frames, 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 inFIG. 5 does not use prediction for P frames.
For P frames, the encoder begins by finding the coded block parameters for luminance and chrominance as shown instep100. 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 inFIG. 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 V blocks) and four blocks for luminance (one each for the four 8 by 8 blocks) in the macroblock, 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 instep102. The macroblock type indicates whether the macroblock is for an I or P frame.
Once the combined MBCBPCY is formed, 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 instep104. The encoder assigns a single variable length code to the combined parameter MBCBPCY.
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. For each macroblock in a P frame, the combined MBCBPCY information is coded using the code word for the corresponding entry in this table.
TABLE 1
VLC Table for Coded block pattern of chrominance
and luminance for P picture
CBPCYNumber
IndexMB typeY(1234)UVof bitsCode
0I00000071000000
1I000001131001111001001
2I00001012100111111101
3I00001115000000111111100
4I00010012100111111100
5I00010118000000101010000011
6I0001101710010110100110100
7I000111161000001110111100
8I00100012100000111010
9I0010011700000011111111000
10I001010160000001111111101
11I001011160000001111111111
12I001100130000001111001
13I00110118000000101010000010
14I001110161001011010011101
15I001111160000001010100100
16I01000012100101111000
17I0100011700000010101000011
18I01001015100000111011111
19I0100111700000011111111001
20I010100131001011110011
21I01010118100101101001101011
22I01011018100101111011111001
23I010111160000001111111010
24I0110001410000011101110
25I011001201001011010011010101
1
26I011010161001011010011100
27I01101118100101111011111000
28I011100131001011010010
29I01110118000000101010000101
30I011110161001011010011110
31I01111115100101111001000
32I10000012000000111101
33I1000011710010111101111111
34I100010160000001010100010
35I100011161001011010011111
36I1001001410010111101110
37I100101211001011010011010101
01
38I1001101710010111101111101
39I1001111710010111101111110
40I10100012100111100101
41I10100118000000101010000001
42I101010191001011010011010100
43I101011161000001110111101
44I101100130000001111000
45I101101161001011010011011
46I101110160000001111111110
47I101111160000001010100101
48I110000130000001111110
49I11000118000000101010000000
50I110010160000001010100011
51I110011160000001111111011
52I110100131000001110110
53I11010118000000101010000100
54I11011015000000101010011
55I11011115100101111001001
56I111000130000001010101
57I111001211001011010011010101
00
58I11101015100101111011110
59I1110111410010111100101
60I111100101001011011
61I11110115100101101001100
62I11111012100101101011
63I11111112100101101010
64P000000201
65P00000170000000
66P0000106100110
67P0000119100101011
68P0001003111
69P000101101000001111
70P0001109000000100
71P00011112000000101000
72P0010003110
73P001001101000001010
74P0010109100101000
75P00101112000000101011
76P001100510001
77P0011011100000011011
78P0011109100111010
79P0011111110011111111
80P01000040011
81P010001101001110111
82P0100109100000110
83P01001112100000111001
84P01010041011
85P010101101001111011
86P0101109100101100
87P0101111110010111111
88P0110006001001
89P01100112000000110101
90P011010101001111110
91P011011131001111001000
92P0111006000001
93P0111011110010101010
94P011110101000001000
95P01111112000000101001
96P10000040001
97P100001101001010100
98P1000109100101110
99P10001112100000111000
100P1001006100100
101P1001011110011110011
102P100110101001110110
103P100111131001011110110
104P101000500001
105P101001101001111010
106P1010109100111110
107P10101112000000111110
108P1011006001000
109P1011011110000010011
110P101110100000001100
111P1011111110010111110
112P110000510100
113P1100011110000010010
114P110010101001010011
115P11001112100101111010
116P1101006100001
117P1101011110010101011
118P110110101000001011
119P11011112000000110100
120P111000510101
121P111001101001111000
122P111010101001010010
123P11101112100101101000
124P111100500101
125P111101100000001011
126P111110810011100
127P111111100000001110
In the implementation shown inFIG. 5, I frames are coded differently than P frames in that the encoder uses prediction to exploit the spatial dependency of the coded block parameters. For each macroblock, the encoder begins by getting the coded block parameters for chrominance and luminance as shown instep106.
Next, the encoder computes the predictor of the coded block parameters for luminance. In this particular implementation, the encoder only uses prediction for the CBPY parameters. However, the same prediction method could also be used to predict the coded block parameters for chrominance. In the case of 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 toFIGS. 6-8 below.
In the next step110, 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. To compute the predicted value, 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 below 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
Number
IndexCBPCY_XOR Y(1234)UVof bitsCode
000000011
10000016010111
2000010501001
3000011500101
4000100500110
50001019001000111
600011070100000
700011170010000
8001000500010
90010019001111100
1000101070111010
1100101170011101
120011006000010
130011019011101100
14001110801110111
15001111800000000
16010000500011
170100019010110111
1801001070101100
1901001170010011
200101006000001
21010101100101101000
22010110801000110
23010111800111111
240110006011110
25011001130011100010010
260110109010110101
27011011801000010
2801110070100010
290111011100111000101
30011110100100011110
310111119010000111
3210000040110
331000019000000011
3410001070011110
351000116011100
3610010070010010
3710010112001110001000
381001109001000100
391001119001110000
401010006011111
411010011101000111110
42101010800111001
431010119010001110
4410110070000001
451011011100111000110
461011109010110110
471011119001000101
481100006010100
491100011101000111111
501100109001111101
511100119000011000
5211010070000111
531101011100111000111
541101109010000110
551101119000011001
561110006010101
57111001100111011011
581110109000000010
591110119001000110
60111100800001101
61111101130011100010011
62111110100111011010
63111111100101101001
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 Y1, Y2, Y3 and Y4.
As an example, consider the top left luminance block Y1 formacroblock126. The blocks used to compute the predictor are surrounded by a dashedline128. The block of interest is Y1 (labeled asblock130a), and the blocks used to compute the predictor are the neighboring blocks labeled as132a,134a, and136a.
To give a specific example,FIG. 7 shows values of the coded block pattern parameters for each of the blocks within the dashed line ofFIG. 6. Thereference numbers130b,132b,134band136bcorrespond to theblocks130a,132a,134aand136aofFIG. 6, respectively. The spatial gradients of the neighboring coded blocks parameters are used to select the predictor. In particular, the vertical gradient is computed from the coded block parameters of the top-left and left neighboring blocks (136a,132a,shown circled140 inFIG. 7). The horizontal gradient is computed from the coded block parameters of the top-left and top neighboring blocks (136a,134a, shown circled142 inFIG. 7).
FIG. 8 is a flow diagram illustrating the steps for finding the predictor. First, the encoder finds the vertical and horizontal gradients. Each is computed as the exclusive OR of the coded block parameters shown circled inFIG. 7 (140 is the vertical gradient and142 is the horizontal gradient). Next, 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 inFIG. 7, the vertical gradient is zero, while the horizontal gradient is one. Thus, the direction of the lower gradient is up. As such, the value of the coded block parameter forblock134ais used as the predictor because it is located in the “up” direction relative to the block of interest.
Whether or not prediction is used to modify the coded block parameters, 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 (block74 inFIG. 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.
In cases where the coded block parameters are also predicted, the decoder uses the previously decoded block parameters from the neighboring blocks to compute the coded block parameter for the current block of interest. First, the decoder computes the location of the predictor block based on the spatial gradients in the same manner as in the encoder. Next, it computes the value of the coded block parameter for the current block by computing the exclusive OR of the decoded value and the coded block parameter of the predictor block (the exclusive OR operator has the following property: X XOR Y=Z; Z XOR X=Y). After this inverse prediction stage, the texture decoder then uses the coded block parameter to determine whether to skip decoding the texture for the block.
Brief Overview of a Computer System
FIG. 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. Although the invention or aspects of it may be implemented in a hardware device, 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.
WhileFIG. 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. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
FIG. 9 illustrates an example of a computer system that serves as an operating environment for the invention. The computer system includes apersonal computer920, including aprocessing unit921, asystem memory922, and asystem bus923 that interconnects various system components including the system memory to theprocessing unit921. 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. A basic input/output system926 (BIOS), containing the basic routines that help to transfer information between elements within thepersonal computer920, such as during start-up, is stored inROM924. Thepersonal computer920 further includes ahard disk drive927, amagnetic disk drive928, e.g., to read from or write to aremovable disk929, and anoptical disk drive930, e.g., for reading a CD-ROM disk931 or to read from or write to other optical media. Thehard disk drive927,magnetic disk drive928, andoptical disk drive930 are connected to thesystem bus923 by a harddisk drive interface932, a magneticdisk drive interface933, and anoptical drive interface934, 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 thepersonal computer920. Although the description of computer-readable media above 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 andRAM925, including anoperating system935, one or more application programs936,other program modules937, andprogram data938. A user may enter commands and information into thepersonal computer920 through akeyboard940 and pointing device, such as amouse942. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit921 through aserial port interface946 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). Amonitor947 or other type of display device is also connected to thesystem bus923 via an interface, such as a display controller orvideo adapter948. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
Thepersonal computer920 may operate in a networked environment using logical connections to one or more remote computers, such as aremote computer949. Theremote computer949 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 thepersonal computer920, although only amemory storage device950 has been illustrated inFIG. 9. The logical connections depicted inFIG. 9 include a local area network (LAN)951 and a wide area network (WAN)952. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, thepersonal computer920 is connected to thelocal network951 through a network interface oradapter953. When used in a WAN networking environment, thepersonal computer920 typically includes amodem954 or other means for establishing communications over thewide area network952, such as the Internet. Themodem954, which may be internal or external, is connected to thesystem bus923 via theserial port interface946. In a networked environment, program modules depicted relative to thepersonal computer920, 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.
CONCLUSION
While the invention has been illustrated using specific implementation as an example, the scope of the invention is not limited to the specific implementation. For example, it is possible to use spatial prediction for both chrominance and luminance blocks using similar techniques. In addition, spatial prediction may be used for coding the coded block parameters for both intra and predicted frames. The implementation uses Huffman tables to generate variable length codes. In fact, a variety of entropy coding methods may be used to generate a variable length code for each combined coded block parameter. For instance, various forms of arithmetic and/or run length encoding may be used. Each of these coding methods assign longer codes to input signals that occur less frequently while assigning shorter coders to more frequent input signals. As noted above, the coding methods for improving the efficiency of macroblock headers can be applied to frame-based and object based coding methods.
In view of the many possible implementations of the invention, it should be recognized that the implementation described above is only an example of the invention and should not be taken as a limitation on the scope of the invention. Rather, the scope of the invention is defined by the following claims. We therefore claim as our invention all that comes within the scope and spirit of these claims.

Claims (20)

We claim:
1. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:
decoding macroblock type information for a macroblock, first coded block pattern information for plural luminance blocks of the macroblock, and second coded block pattern information for plural chrominance blocks of the macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the decoding comprises:
receiving a code in the bitstream, wherein the received code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and
determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream based at least in part upon the received code; and
using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.
2. The method ofclaim 1 wherein the macroblock type is intra for the macroblock.
3. The method ofclaim 2 further comprising repeating the decoding and the using for each of one or more other intra type macroblocks.
4. The method ofclaim 1 further comprising:
decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and
using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.
5. The method ofclaim 4 wherein the macroblock type of the second macroblock is inter.
6. The method ofclaim 1 wherein the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.
7. The method ofclaim 1 wherein the received code is a variable length code.
8. The method ofclaim 1 wherein the determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream comprises arithmetic decoding.
9. In a video decoder, a method of reconstructing one or more video images in a video sequence, the method comprising:
decoding macroblock type information for an intra macroblock, first coded block pattern information for plural luminance blocks of the intra macroblock, and second coded block pattern information for plural chrominance blocks of the intra macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the intra macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the decoding comprises:
receiving a variable length code in the bitstream, wherein the received variable length code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and
determining whether any of the plural luminance blocks and the plural chrominance blocks of the intra macroblock have transform coefficient data in the bitstream based at least in part upon the received variable length code; and
using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.
10. The method ofclaim 9 further comprising repeating the decoding and the using for each of one or more other intra macroblocks.
11. The method ofclaim 9 further comprising:
decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and
using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.
12. The method ofclaim 11 wherein the macroblock type of the second macroblock is inter.
13. The method ofclaim 9 wherein the intra macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.
14. A video decoder system comprising:
means for decoding macroblock type information for a macroblock, first coded block pattern information for plural luminance blocks of the macroblock, and second coded block pattern information for plural chrominance blocks of the macroblock, wherein the first coded block pattern information indicates whether any of the plural luminance blocks have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether any of the plural chrominance blocks have transform coefficient data in the bitstream, wherein the macroblock has a macroblock type indicated at least in part by the macroblock type information, and wherein the means for decoding comprises:
means for receiving a code in the bitstream, wherein the code reflects joint encoding of the macroblock type information together with the first coded block pattern information and the second coded block pattern information, and
means for determining whether any of the plural luminance blocks and the plural chrominance blocks of the macroblock have transform coefficient data in the bitstream based at least in part upon the code; and
means for using the macroblock type information, the first coded block pattern information, and the second coded block pattern information during reconstruction of the one or more video images.
15. The system ofclaim 14 wherein the macroblock type is intra for the macroblock.
16. The system ofclaim 14 further comprising means for repeating the decoding and the using for each of one or more other intra type macroblocks.
17. The system ofclaim 14 further comprising:
means for decoding macroblock type information for a second macroblock, first coded block pattern information for plural luminance blocks of the second macroblock, and second coded block pattern information for plural chrominance blocks of the second macroblock, wherein the first coded block pattern information indicates whether the plural luminance blocks of the second macroblock have transform coefficient data in a bitstream, wherein the second coded block pattern information indicates whether the plural chrominance blocks of the second macroblock have transform coefficient data in the bitstream, wherein the second macroblock has a macroblock type indicated at least in part by the macroblock type information for the second macroblock; and
means for using the macroblock type information, the first coded block pattern information, and the second coded block pattern information for the second macroblock during reconstruction of the one or more video images.
18. The system ofclaim 17 wherein the macroblock type of the second macroblock is inter.
19. The method ofclaim 14 wherein the macroblock consists of four 8×8 luminance blocks and two 8×8 chrominance blocks.
20. The method ofclaim 14 wherein the code is a variable length code.
US11/495,3551998-11-302006-07-27Decoding macroblock type and coded block pattern informationExpired - Fee RelatedUS7289673B2 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
US11/495,355US7289673B2 (en)1998-11-302006-07-27Decoding macroblock type and coded block pattern information
US11/903,222US8290288B2 (en)1998-11-302007-09-20Encoding macroblock type and coded block pattern information
US13/652,405US8582903B2 (en)1998-11-302012-10-15Efficient macroblock header coding for video compression

Applications Claiming Priority (5)

Application NumberPriority DateFiling DateTitle
US09/201,272US6563953B2 (en)1998-11-301998-11-30Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US10/393,458US6735345B2 (en)1998-11-302003-03-19Efficient macroblock header coding for video compression
US10/733,223US7054494B2 (en)1998-11-302003-12-11Coded block pattern decoding with spatial prediction
US11/323,034US7127114B2 (en)1998-11-302005-12-30Coded block pattern encoding with spatial prediction
US11/495,355US7289673B2 (en)1998-11-302006-07-27Decoding macroblock type and coded block pattern information

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US11/323,034ContinuationUS7127114B2 (en)1998-11-302005-12-30Coded block pattern encoding with spatial prediction

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US11/903,222ContinuationUS8290288B2 (en)1998-11-302007-09-20Encoding macroblock type and coded block pattern information

Publications (2)

Publication NumberPublication Date
US20060262980A1 US20060262980A1 (en)2006-11-23
US7289673B2true US7289673B2 (en)2007-10-30

Family

ID=22745185

Family Applications (7)

Application NumberTitlePriority DateFiling Date
US09/201,272Expired - LifetimeUS6563953B2 (en)1998-11-301998-11-30Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US10/393,458Expired - LifetimeUS6735345B2 (en)1998-11-302003-03-19Efficient macroblock header coding for video compression
US10/733,223Expired - LifetimeUS7054494B2 (en)1998-11-302003-12-11Coded block pattern decoding with spatial prediction
US11/323,034Expired - LifetimeUS7127114B2 (en)1998-11-302005-12-30Coded block pattern encoding with spatial prediction
US11/495,355Expired - Fee RelatedUS7289673B2 (en)1998-11-302006-07-27Decoding macroblock type and coded block pattern information
US11/903,222Expired - Fee RelatedUS8290288B2 (en)1998-11-302007-09-20Encoding macroblock type and coded block pattern information
US13/652,405Expired - Fee RelatedUS8582903B2 (en)1998-11-302012-10-15Efficient macroblock header coding for video compression

Family Applications Before (4)

Application NumberTitlePriority DateFiling Date
US09/201,272Expired - LifetimeUS6563953B2 (en)1998-11-301998-11-30Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US10/393,458Expired - LifetimeUS6735345B2 (en)1998-11-302003-03-19Efficient macroblock header coding for video compression
US10/733,223Expired - LifetimeUS7054494B2 (en)1998-11-302003-12-11Coded block pattern decoding with spatial prediction
US11/323,034Expired - LifetimeUS7127114B2 (en)1998-11-302005-12-30Coded block pattern encoding with spatial prediction

Family Applications After (2)

Application NumberTitlePriority DateFiling Date
US11/903,222Expired - Fee RelatedUS8290288B2 (en)1998-11-302007-09-20Encoding macroblock type and coded block pattern information
US13/652,405Expired - Fee RelatedUS8582903B2 (en)1998-11-302012-10-15Efficient macroblock header coding for video compression

Country Status (9)

CountryLink
US (7)US6563953B2 (en)
EP (3)EP1135934B1 (en)
JP (4)JP3778798B2 (en)
AT (3)ATE377327T1 (en)
DE (3)DE69941965D1 (en)
DK (3)DK1853069T3 (en)
ES (3)ES2337612T3 (en)
PT (3)PT1135934E (en)
WO (1)WO2000033583A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060126126A1 (en)*2002-07-192006-06-15Tetsujiro KondoInformation 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
US20080019449A1 (en)*1998-11-302008-01-24Microsoft CorporationEfficient macroblock header coding for video compression
US20090245349A1 (en)*2008-03-282009-10-01Jie ZhaoMethods and Systems for Parallel Video Encoding and Decoding
US8344917B2 (en)*2010-09-302013-01-01Sharp Laboratories Of America, Inc.Methods and systems for context initialization in video coding and decoding
US20130064463A1 (en)*2011-09-142013-03-14Industry-Academia Cooperation Group Of Sejong UniversityMethod and apparatus for restoring image by copying memory
US8428374B2 (en)2001-12-172013-04-23Microsoft CorporationSkip macroblock coding
US20150063446A1 (en)*2012-06-122015-03-05Panasonic Intellectual Property Corporation Of AmericaMoving picture encoding method, moving picture decoding method, moving picture encoding apparatus, and moving picture decoding apparatus
US9077960B2 (en)2005-08-122015-07-07Microsoft CorporationNon-zero coefficient block pattern coding
US9172963B2 (en)2010-11-012015-10-27Qualcomm IncorporatedJoint coding of syntax elements for video coding
US9300973B2 (en)2011-10-192016-03-29Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US9313514B2 (en)2010-10-012016-04-12Sharp Kabushiki KaishaMethods and systems for entropy coder initialization
US10171810B2 (en)2015-06-222019-01-01Cisco Technology, Inc.Transform coefficient coding using level-mode and run-mode
US20230007265A1 (en)*2019-12-112023-01-05Sony Group CorporationImage processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method
US20230106242A1 (en)*2020-03-122023-04-06Interdigital Vc Holdings FranceMethod and apparatus for video encoding and decoding

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6571016B1 (en)*1997-05-052003-05-27Microsoft CorporationIntra compression of pixel blocks using predicted mean
US6215910B1 (en)1996-03-282001-04-10Microsoft CorporationTable-based compression with embedded coding
US6983018B1 (en)1998-11-302006-01-03Microsoft CorporationEfficient motion vector coding for video compression
US6499060B1 (en)1999-03-122002-12-24Microsoft CorporationMedia coding for loss recovery with remotely predicted data units
FI116819B (en)*2000-01-212006-02-28Nokia Corp Procedure for transferring images and an image encoder
GB2359209A (en)*2000-02-092001-08-15Motorola LtdApparatus and methods for video distribution via networks
US20020191698A1 (en)*2001-06-152002-12-19Solidstreaming, Inc.Video data CODEC system with low computational complexity
JP3920849B2 (en)*2001-06-292007-05-30株式会社エヌ・ティ・ティ・ドコモ Image encoding device, image decoding device, image encoding method, and image decoding method
CN100380983C (en)*2001-08-022008-04-09皇家飞利浦电子股份有限公司Video coding method
CN101448162B (en)2001-12-172013-01-02微软公司Method for processing video image
US7003035B2 (en)*2002-01-252006-02-21Microsoft CorporationVideo coding methods and apparatuses
WO2003084241A2 (en)*2002-03-222003-10-09Realnetworks, Inc.Context-adaptive macroblock type encoding/decoding methods and apparatuses
JP4130780B2 (en)*2002-04-152008-08-06松下電器産業株式会社 Image encoding method and image decoding method
TW560179B (en)*2002-04-162003-11-01Pixart Imaging IncMoving correction and compensation method
US7832566B2 (en)2002-05-242010-11-16Biomet Biologics, LlcMethod and apparatus for separating and concentrating a component from a multi-component material including macroparticles
US20030205538A1 (en)2002-05-032003-11-06Randel DorianMethods and apparatus for isolating platelets from blood
US7845499B2 (en)2002-05-242010-12-07Biomet Biologics, LlcApparatus and method for separating and concentrating fluids containing multiple components
US20060278588A1 (en)2002-05-242006-12-14Woodell-May Jennifer EApparatus and method for separating and concentrating fluids containing multiple components
US7386048B2 (en)2002-05-282008-06-10Sharp Laboratories Of America, Inc.Methods and systems for image intra-prediction mode organization
US7236524B2 (en)2002-05-282007-06-26Sharp Laboratories Of America, Inc.Methods and systems for image intra-prediction mode communication
CN101568035B (en)*2002-05-282012-02-01夏普株式会社 Method and system for intra-image prediction mode estimation, communication and organization
US7289672B2 (en)2002-05-282007-10-30Sharp Laboratories Of America, Inc.Methods and systems for image intra-prediction mode estimation
EP1510078B1 (en)*2002-05-282007-04-25Sharp Kabushiki KaishaMethods and systems for image intra-prediction mode estimation, communication, and organization
US20040001546A1 (en)2002-06-032004-01-01Alexandros TourapisSpatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7280700B2 (en)*2002-07-052007-10-09Microsoft CorporationOptimization techniques for data compression
US7154952B2 (en)2002-07-192006-12-26Microsoft CorporationTimestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US20040120404A1 (en)*2002-11-272004-06-24Takayuki SugaharaVariable 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-282006-10-31Vixs Systems, Inc.Method and system for encoding and decoding data in a video stream
US7424493B2 (en)*2003-04-212008-09-09Microsoft CorporationReplication-based propagation mechanism for pipelines
US7609763B2 (en)2003-07-182009-10-27Microsoft CorporationAdvanced bi-directional predictive coding of video frames
US7830963B2 (en)2003-07-182010-11-09Microsoft CorporationDecoding jointly coded transform type and subblock pattern information
US7499495B2 (en)*2003-07-182009-03-03Microsoft CorporationExtended range motion vectors
US7738554B2 (en)2003-07-182010-06-15Microsoft CorporationDC coefficient signaling at small quantization step sizes
US7426308B2 (en)*2003-07-182008-09-16Microsoft CorporationIntraframe and interframe interlace coding and decoding
US7502415B2 (en)*2003-07-182009-03-10Microsoft CorporationRange reduction
US20050013498A1 (en)*2003-07-182005-01-20Microsoft CorporationCoding of motion vector information
US10554985B2 (en)2003-07-182020-02-04Microsoft Technology Licensing, LlcDC coefficient signaling at small quantization step sizes
US7269288B2 (en)*2003-07-302007-09-11Mediatek Inc.Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof
US7092576B2 (en)*2003-09-072006-08-15Microsoft CorporationBitplane coding for macroblock field/frame coding type information
US7577200B2 (en)2003-09-072009-08-18Microsoft CorporationExtended range variable length coding/decoding of differential motion vector information
US7616692B2 (en)2003-09-072009-11-10Microsoft CorporationHybrid motion vector prediction for interlaced forward-predicted fields
US8014450B2 (en)*2003-09-072011-09-06Microsoft CorporationFlexible range reduction
US7599438B2 (en)*2003-09-072009-10-06Microsoft CorporationMotion vector block pattern coding and decoding
US7567617B2 (en)*2003-09-072009-07-28Microsoft CorporationPredicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en)*2003-09-072008-01-08Microsoft CorporationChroma motion vector derivation for interlaced forward-predicted fields
US7606308B2 (en)*2003-09-072009-10-20Microsoft CorporationSignaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7620106B2 (en)2003-09-072009-11-17Microsoft CorporationJoint coding and decoding of a reference field selection and differential motion vector information
US7724827B2 (en)*2003-09-072010-05-25Microsoft CorporationMulti-layer run level encoding and decoding
US7623574B2 (en)2003-09-072009-11-24Microsoft CorporationSelecting between dominant and non-dominant motion vector predictor polarities
US8064520B2 (en)2003-09-072011-11-22Microsoft CorporationAdvanced bi-directional predictive coding of interlaced video
US7912291B2 (en)*2003-11-102011-03-22Ricoh Co., LtdFeatures for retrieval and similarity matching of documents from the JPEG 2000-compressed domain
US7627037B2 (en)*2004-02-272009-12-01Microsoft CorporationBarbell lifting for multi-layer wavelet coding
US7580461B2 (en)2004-02-272009-08-25Microsoft CorporationBarbell lifting for wavelet coding
US7649539B2 (en)*2004-03-102010-01-19Microsoft CorporationImage formats for video capture, processing and display
US7586647B2 (en)*2004-07-292009-09-08Canon Kabushiki KaishaHalftone detection and removal
CN100359953C (en)*2004-09-082008-01-02华为技术有限公司Image Chroma Prediction Method Based on Intra-Frame Coding
CN100461867C (en)*2004-12-022009-02-11中国科学院计算技术研究所 A method for predictive coding of intra-frame images
US8634413B2 (en)*2004-12-302014-01-21Microsoft CorporationUse of frame caching to improve packet loss recovery
KR100682912B1 (en)*2005-01-052007-02-15삼성전자주식회사 Image data encoding and decoding method and apparatus
US7866485B2 (en)2005-02-072011-01-11Hanuman, LlcApparatus and method for preparing platelet rich plasma and concentrates thereof
US7708152B2 (en)2005-02-072010-05-04Hanuman LlcMethod and apparatus for preparing platelet rich plasma and concentrates thereof
EP2666493B1 (en)2005-02-072020-09-23Hanuman LLCPlatelet rich plasma concentrate apparatus
JP4683374B2 (en)*2005-03-142011-05-18富士ゼロックス株式会社 Encoding apparatus, encoding method, and program
JP4301193B2 (en)*2005-03-312009-07-22ソニー株式会社 Image comparison apparatus and method, image search apparatus and method, program, and recording medium
US8619860B2 (en)2005-05-032013-12-31Qualcomm IncorporatedSystem and method for scalable encoding and decoding of multimedia data using multiple layers
WO2007027011A1 (en)*2005-07-152007-03-08Samsung Electronics Co., Ltd.Method and apparatus for encoding and decoding image
US7860327B2 (en)*2005-10-062010-12-28Sony CorporationSystems and methods for enhanced coding gain
KR100763196B1 (en)*2005-10-192007-10-04삼성전자주식회사Method for coding flags in a layer using inter-layer correlation, method for decoding the coded flags, and apparatus thereof
TW200727598A (en)2005-11-182007-07-16Sony CorpEncoding/decoding device/method and the transmission system
KR100791295B1 (en)*2006-01-122008-01-04삼성전자주식회사 Flag encoding method, flag decoding method, and apparatus using the method
US8848789B2 (en)*2006-03-272014-09-30Qualcomm IncorporatedMethod and system for coding and decoding information associated with video compression
KR100745765B1 (en)*2006-04-132007-08-02삼성전자주식회사 Spatial prediction device and method for image data, encoding device and method using same, Spatial prediction compensation device and method for image data, and decoding device and method using same
US8880571B2 (en)*2006-05-052014-11-04Microsoft CorporationHigh dynamic range data format conversions for digital media
US8567609B2 (en)2006-05-252013-10-29Biomet Biologics, LlcApparatus and method for separating and concentrating fluids containing multiple components
KR100809298B1 (en)*2006-06-222008-03-04삼성전자주식회사Flag encoding method, flag decoding method, and apparatus thereof
EP2066134A4 (en)*2006-10-102011-01-12Nippon Telegraph & Telephone VIDEO ENCODING AND DECODING METHODS, THEIR DEVICE, PROGRAM, AND STORAGE MEDIUM CONTAINING THE PROGRAM
US8054886B2 (en)*2007-02-212011-11-08Microsoft CorporationSignaling and use of chroma sample positioning information
US8189676B2 (en)*2007-04-052012-05-29Hong Kong University Of Science & TechnologyAdvance macro-block entropy coding for advanced video standards
US8328024B2 (en)2007-04-122012-12-11Hanuman, LlcBuoy suspension fractionation system
JP5479319B2 (en)2007-04-122014-04-23バイオメット・バイオロジックス・リミテッド・ライアビリティ・カンパニー Buoy suspension fractionation system
US8254455B2 (en)2007-06-302012-08-28Microsoft CorporationComputing collocated macroblock information for direct mode macroblocks
NO326724B1 (en)*2007-09-032009-02-02Tandberg Telecom As Method for entropy coding of transformation coefficients in video compression systems
NO328295B1 (en)*2007-12-202010-01-25Tandberg Telecom As VLC method and device
EP2259774B1 (en)2008-02-272012-12-12Biomet Biologics, LLCMethods and compositions for delivering interleukin-1 receptor antagonist
US8337711B2 (en)2008-02-292012-12-25Biomet Biologics, LlcSystem and process for separating a material
US8012077B2 (en)2008-05-232011-09-06Biomet Biologics, LlcBlood separating device
WO2010041857A2 (en)*2008-10-062010-04-15Lg Electronics Inc.A method and an apparatus for decoding a video signal
CN101742329B (en)*2008-11-242013-02-13北京中星微电子有限公司Image coding method and device
CN101742301B (en)*2008-11-242017-04-19北京中星微电子有限公司Block mode coding method and device
FR2940736B1 (en)*2008-12-302011-04-08Sagem Comm SYSTEM AND METHOD FOR VIDEO CODING
US8189666B2 (en)2009-02-022012-05-29Microsoft CorporationLocal picture identifier and computation of co-located information
US8187475B2 (en)2009-03-062012-05-29Biomet Biologics, LlcMethod and apparatus for producing autologous thrombin
US8313954B2 (en)2009-04-032012-11-20Biomet Biologics, LlcAll-in-one means of separating blood components
US9113168B2 (en)2009-05-122015-08-18Lg Electronics Inc.Method and apparatus of processing a video signal
US9011800B2 (en)2009-07-162015-04-21Biomet Biologics, LlcMethod and apparatus for separating biological materials
EP2375751A1 (en)*2010-04-122011-10-12Panasonic CorporationComplexity reduction of edge-detection based spatial interpolation
US8591391B2 (en)2010-04-122013-11-26Biomet Biologics, LlcMethod and apparatus for separating a material
US8942282B2 (en)*2010-04-122015-01-27Qualcomm IncorporatedVariable length coding of coded block pattern (CBP) in video compression
CN106231323B (en)2010-04-132020-07-28Ge视频压缩有限责任公司 Decoder, decoding method, encoder, and encoding method
CN105933715B (en)*2010-04-132019-04-12Ge视频压缩有限责任公司Across planar prediction
CN106067983B (en)2010-04-132019-07-12Ge视频压缩有限责任公司The method of decoding data stream, the method and decoder for generating data flow
KR102669292B1 (en)2010-04-132024-05-28지이 비디오 컴프레션, 엘엘씨Sample region merging
KR101793857B1 (en)2010-04-132017-11-03지이 비디오 컴프레션, 엘엘씨Inheritance in sample array multitree subdivision
KR101813189B1 (en)*2010-04-162018-01-31에스케이 텔레콤주식회사Video coding/decoding apparatus and method
US9319880B2 (en)2010-09-152016-04-19Intel CorporationReformatting data to decrease bandwidth between a video encoder and a buffer
JP5878295B2 (en)*2011-01-132016-03-08ソニー株式会社 Image processing apparatus, image processing method, and program
MY160463A (en)*2011-06-282017-03-15Samsung Electronics Co LtdPrediction method and apparatus for chroma component of image using luma component of image
WO2013039363A2 (en)*2011-09-162013-03-21한국전자통신연구원Method for encoding/decoding image and device therefor
US8615138B2 (en)*2011-11-032013-12-24Google Inc.Image compression using sub-resolution images
US9642956B2 (en)2012-08-272017-05-09Biomet Biologics, LlcApparatus and method for separating and concentrating fluids containing multiple components
CN103096090B (en)*2013-02-202015-12-02广州柯维新数码科技有限公司A kind of method divided for the encoding block in video compression
US10208095B2 (en)2013-03-152019-02-19Biomet Manufacturing, LlcMethods for making cytokine compositions from tissues using non-centrifugal methods
US9895418B2 (en)2013-03-152018-02-20Biomet Biologics, LlcTreatment of peripheral vascular disease using protein solutions
US10143725B2 (en)2013-03-152018-12-04Biomet Biologics, LlcTreatment of pain using protein solutions
US20140271589A1 (en)2013-03-152014-09-18Biomet Biologics, LlcTreatment of collagen defects using protein solutions
US9950035B2 (en)2013-03-152018-04-24Biomet Biologics, LlcMethods and non-immunogenic compositions for treating inflammatory disorders
JP2015095733A (en)*2013-11-112015-05-18キヤノン株式会社 Image transmission apparatus, image transmission method, and program
KR102269590B1 (en)*2014-02-192021-06-24삼성전자주식회사Method for creating a binary and an electronic device thereof
US10067951B2 (en)*2014-02-192018-09-04Samsung Electronics Co, LtdMethod for creating binary code and electronic device thereof
US9713810B2 (en)2015-03-302017-07-25Biomet Biologics, LlcCell washing plunger using centrifugal force
US9757721B2 (en)2015-05-112017-09-12Biomet Biologics, LlcCell washing plunger using centrifugal force
US10091506B2 (en)*2015-06-112018-10-02Sony CorporationData-charge phase data compression architecture
US10027968B2 (en)*2015-06-122018-07-17Sony CorporationData-charge phase data compression tool
EP3395071A4 (en)*2015-12-222019-08-14RealNetworks, Inc. RESIDUAL TRANSFORM AND INVERSE TRANSFORM IN VIDEO ENCODING SYSTEMS AND METHODS
CN109788290A (en)*2017-11-132019-05-21慧荣科技股份有限公司Image processor and the lossless image compressing method for utilizing intra prediction
CN111010572A (en)*2018-12-042020-04-14北京达佳互联信息技术有限公司Video coding method, device and equipment

Citations (101)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4454546A (en)1980-03-131984-06-12Fuji Photo Film Co., Ltd.Band compression device for shaded image
JPS61205086A (en)1985-03-081986-09-11Mitsubishi Electric CorpPicture encoding and decoding device
US4691329A (en)1985-07-021987-09-01Matsushita Electric Industrial Co., Ltd.Block encoder
EP0279053A1 (en)1987-02-161988-08-24ANT Nachrichtentechnik GmbHMethod for the transmission and reproduction of sequences of television pictures
US4796087A (en)1986-05-291989-01-03Jacques GuichardProcess for coding by transformation for the transmission of picture signals
US4800432A (en)1986-10-241989-01-24The Grass Valley Group, Inc.Video Difference key generator
US4849812A (en)1987-03-101989-07-18U.S. Philips CorporationTelevision system in which digitized picture signals subjected to a transform coding are transmitted from an encoding station to a decoding station
JPH031688A (en)1989-05-291991-01-08Nippon Telegr & Teleph Corp <Ntt>High efficiency picture coder
US4999705A (en)1990-05-031991-03-12At&T Bell LaboratoriesThree dimensional motion compensated video coding
US5021879A (en)1987-05-061991-06-04U.S. Philips CorporationSystem for transmitting video pictures
JPH03238970A (en)1990-02-151991-10-24Mitsubishi Electric Corp Transform encoding method
US5068724A (en)1990-06-151991-11-26General Instrument CorporationAdaptive motion compensation for digital television
US5089887A (en)1988-09-231992-02-18Thomson Consumer ElectronicsMethod and device for the estimation of motion in a sequence of moving images
US5091782A (en)1990-04-091992-02-25General Instrument CorporationApparatus and method for adaptively compressing successive blocks of digital video
US5117287A (en)1990-03-021992-05-26Kokusai Denshin Denwa Co., Ltd.Hybrid coding system for moving image
US5155594A (en)1990-05-111992-10-13Picturetel CorporationHierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
US5157490A (en)1990-03-141992-10-20Kabushiki Kaisha ToshibaTelevision signal scanning line converting apparatus
EP0540350A2 (en)1991-10-311993-05-05Sony CorporationMethod and apparatus for variable length coding
US5258836A (en)1991-05-081993-11-02Nec CorporationEncoding of motion picture signal
US5274453A (en)1990-09-031993-12-28Canon Kabushiki KaishaImage processing system
EP0588653A2 (en)1992-09-161994-03-23Fujitsu LimitedImage data coding and restoring method and appatatus for coding and restoring the same
US5319463A (en)1991-03-191994-06-07Nec CorporationArrangement and method of preprocessing binary picture data prior to run-length encoding
JPH06225279A (en)1992-10-261994-08-12Sony CorpCoding/decoding methods and coding/decoding devices
EP0614318A2 (en)1993-03-041994-09-07Kabushiki Kaisha ToshibaVideo encoder, video decoder, and video motion estimation apparatus
JPH06276481A (en)1993-03-181994-09-30Sony CorpPicture signal coding and decoding method and recording medium
JPH06276511A (en)1993-03-181994-09-30Sony CorpPicture signal coding method and decoding method
EP0625853A2 (en)1993-05-211994-11-23Nippon Telegraph And Telephone CorporationMoving image encoder and decoder
US5376971A (en)1992-09-301994-12-27Matsushita Electric Industrial Co., Ltd.Picture encoding apparatus and picture decoding apparatus
US5379351A (en)1992-02-191995-01-03Integrated Information Technology, Inc.Video compression/decompression processing and processors
US5400075A (en)1993-01-131995-03-21Thomson Consumer Electronics, Inc.Adaptive variable length encoder/decoder
JPH07135660A (en)1993-11-121995-05-23Matsushita Electric Ind Co Ltd Motion vector encoder
US5422676A (en)1991-04-251995-06-06Deutsche Thomson-Brandt GmbhSystem for coding an image representative signal
US5448297A (en)1993-06-161995-09-05Intel CorporationMethod and system for encoding images using skip blocks
US5461421A (en)1992-11-301995-10-24Samsung Electronics Co., Ltd.Encoding and decoding method and apparatus thereof
US5465118A (en)1993-12-171995-11-07International Business Machines CorporationLuminance transition coding method for software motion video compression/decompression
US5467086A (en)1992-06-181995-11-14Samsung Electronics Co., Ltd.Apparatus and method of coding/decoding video data
US5477272A (en)1993-07-221995-12-19Gte Laboratories IncorporatedVariable-block size multi-resolution motion estimation scheme for pyramid coding
USRE35158E (en)1989-04-271996-02-20Victor Company Of Japan LimitedApparatus for adaptive inter-frame predictive encoding of video signal
US5510840A (en)1991-12-271996-04-23Sony CorporationMethods and devices for encoding and decoding frame signals and recording medium therefor
US5517327A (en)1993-06-301996-05-14Minolta Camera Kabushiki KaishaData processor for image data using orthogonal transformation
JPH08140099A (en)1994-11-111996-05-31Canon Inc Encoding apparatus and method
US5539466A (en)1991-07-301996-07-23Sony CorporationEfficient coding apparatus for picture signal and decoding apparatus therefor
US5544286A (en)1993-01-291996-08-06Microsoft CorporationDigital video data compression technique
US5546129A (en)1995-04-291996-08-13Daewoo Electronics Co., Ltd.Method for encoding a video signal using feature point based motion estimation
US5550541A (en)1994-04-011996-08-27Dolby Laboratories Licensing CorporationCompact source coding tables for encoder/decoder system
US5552832A (en)1994-10-261996-09-03Intel CorporationRun-length encoding sequence for video signals
US5594504A (en)1994-07-061997-01-14Lucent Technologies Inc.Predictive video coding using a motion vector updating routine
US5598216A (en)1995-03-201997-01-28Daewoo Electronics Co., LtdMethod and apparatus for encoding/decoding a video signal
JPH0955936A (en)1995-06-051997-02-25Sony CorpPicture encoding method and decoding device
US5617144A (en)1995-03-201997-04-01Daewoo Electronics Co., Ltd.Image processing system using pixel-by-pixel motion estimation and frame decimation
US5619281A (en)1994-12-301997-04-08Daewoo Electronics Co., LtdMethod and apparatus for detecting motion vectors in a frame decimating video encoder
EP0771114A2 (en)1995-10-261997-05-02Hyundai Electronics Industries Co., Ltd.Method of generating object-adaptive code block patterns
EP0786907A2 (en)1997-01-241997-07-30Texas Instruments IncorporatedVideo encoder
US5654771A (en)1995-05-231997-08-05The University Of RochesterVideo compression system using a dense motion vector field and a triangular patch mesh overlay model
US5666461A (en)1992-06-291997-09-09Sony CorporationHigh efficiency encoding and decoding of picture signals and recording medium containing same
US5668608A (en)1995-07-261997-09-16Daewoo Electronics Co., Ltd.Motion vector estimation method and apparatus for use in an image signal encoding system
US5673339A (en)1995-03-201997-09-30Daewoo Electronics Co., Ltd.Method for encoding a video signal using feature point based motion estimation
US5689306A (en)1995-01-091997-11-18Daewoo Electronics Co., Ltd.Method and apparatus for encoding a video signal using pixel-by-pixel motion prediction
US5692063A (en)1996-01-191997-11-25Microsoft CorporationMethod and system for unrestricted motion estimation for video
JPH09322163A (en)1996-03-221997-12-12Sony CorpMethod, device for encoding, transmitting and decoding image signal and recording medium
EP0830029A2 (en)1996-09-131998-03-18Robert Bosch GmbhMethod for video signal data reduction
US5748789A (en)1996-10-311998-05-05Microsoft CorporationTransparent block skipping in object-based video coding systems
US5784175A (en)1995-10-051998-07-21Microsoft CorporationPixel block correlation process
US5825830A (en)1995-08-171998-10-20Kopf; David A.Method and apparatus for the compression of audio, video or other data
US5831559A (en)1996-01-241998-11-03Intel CorporationEncoding/decoding video signals using multiple run-val mapping tables
US5835149A (en)1995-06-061998-11-10Intel CorporationBit allocation in a coded video sequence
US5835144A (en)1994-10-131998-11-10Oki Electric Industry Co., Ltd.Methods of coding and decoding moving-picture signals, using self-resynchronizing variable-length codes
US5946042A (en)1993-03-241999-08-31Sony CorporationMacroblock coding including difference between motion vectors
US5946043A (en)1997-12-311999-08-31Microsoft CorporationVideo coding using adaptive coding of block parameters for coded/uncoded blocks
US5973743A (en)1997-12-021999-10-26Daewoo Electronics Co., Ltd.Mode coding method and apparatus for use in an interlaced shape coder
US5982438A (en)1996-03-221999-11-09Microsoft CorporationOverlapped motion compensation for object coding
US5982437A (en)1992-10-261999-11-09Sony CorporationCoding method and system, and decoding method and system
US6011596A (en)1991-05-242000-01-04British BroadcastingVideo image motion compensation using an algorithm involving at least two fields
JP3001688B2 (en)1991-08-052000-01-24株式会社大一商会 Pachinko ball circulation controller
US6026195A (en)1997-03-072000-02-15General Instrument CorporationMotion estimation and compensation of video object planes for interlaced digital video
US6035070A (en)1996-09-242000-03-07Moon; Joo-HeeEncoder/decoder for coding/decoding gray scale shape data and method thereof
US6052150A (en)1995-03-102000-04-18Kabushiki Kaisha ToshibaVideo data signal including a code string having a plurality of components which are arranged in a descending order of importance
US6094225A (en)1997-12-022000-07-25Daewoo Electronics, Co., Ltd.Method and apparatus for encoding mode signals for use in a binary shape coder
USRE36822E (en)1991-11-082000-08-15Victor Company Of Japan, Ltd.Moving image signal coding apparatus and coded signal decoding apparatus
US6148033A (en)1997-11-202000-11-14Hitachi America, Ltd.Methods and apparatus for improving picture quality in reduced resolution video decoders
US6154495A (en)1995-09-292000-11-28Kabushiki Kaisha ToshibaVideo coding and video decoding apparatus for changing a resolution conversion according to a reduction ratio setting information signal
US6208761B1 (en)1995-07-112001-03-27Telefonaktiebolaget Lm Ericsson (Publ)Video coding
US6215905B1 (en)1996-09-302001-04-10Hyundai Electronics Ind. Co., Ltd.Video predictive coding apparatus and method
US6243418B1 (en)1998-03-302001-06-05Daewoo Electronics Co., Ltd.Method and apparatus for encoding a motion vector of a binary shape signal
USRE37222E1 (en)1989-10-142001-06-12Sony CorporationVideo signal transmitting system
US6271885B2 (en)1998-06-242001-08-07Victor Company Of Japan, Ltd.Apparatus and method of motion-compensated predictive coding
US6275531B1 (en)1998-07-232001-08-14Optivision, Inc.Scalable video coding method and apparatus
US6292585B1 (en)1995-09-292001-09-18Kabushiki Kaisha ToshibaVideo coding and video decoding apparatus
US6324216B1 (en)1992-06-292001-11-27Sony CorporationVideo coding selectable between intra-frame prediction/field-based orthogonal transformation and inter-frame prediction/frame-based orthogonal transformation
US20020012394A1 (en)2000-04-272002-01-31Yoshiko HatanoEncoding system and encoding method
US6496601B1 (en)1997-06-232002-12-17Viewpoint Corp.System and method for asynchronous, adaptive moving picture compression, and decompression
US6563953B2 (en)*1998-11-302003-05-13Microsoft CorporationPredictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US20030113026A1 (en)2001-12-172003-06-19Microsoft CorporationSkip macroblock coding
US20040136457A1 (en)2002-10-232004-07-15John FunnellMethod and system for supercompression of compressed digital video
US6765963B2 (en)2001-01-032004-07-20Nokia CorporationVideo decoder architecture and method for using same
US6785331B1 (en)1997-02-142004-08-31Nippon Telegraph And Telephone CorporationPredictive encoding and decoding methods of video data
US6795584B2 (en)2002-10-032004-09-21Nokia CorporationContext-based adaptive variable length coding for adaptive block transforms
US20050013498A1 (en)2003-07-182005-01-20Microsoft CorporationCoding of motion vector information
US20050135484A1 (en)2003-12-182005-06-23Daeyang Foundation (Sejong University)Method of encoding mode determination, method of motion estimation and encoding apparatus
US6920175B2 (en)2001-01-032005-07-19Nokia CorporationVideo coding architecture and methods for using same
US20050254584A1 (en)2001-03-052005-11-17Chang-Su KimSystems and methods for enhanced error concealment in a video decoder

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5193004A (en)*1990-12-031993-03-09The Trustees Of Columbia University In The City Of New YorkSystems and methods for coding even fields of interlaced video sequences
US5111292A (en)*1991-02-271992-05-05General Electric CompanyPriority selection apparatus as for a video signal processor
US5317397A (en)*1991-05-311994-05-31Kabushiki Kaisha ToshibaPredictive coding using spatial-temporal filtering and plural motion vectors
JP2977104B2 (en)*1991-07-261999-11-10ソニー株式会社 Moving image data encoding method and apparatus, and moving image data decoding method and apparatus
JP2991833B2 (en)*1991-10-111999-12-20松下電器産業株式会社 Interlace scanning digital video signal encoding apparatus and method
US5227878A (en)*1991-11-151993-07-13At&T Bell LaboratoriesAdaptive coding and decoding of frames and fields of video
US5287420A (en)*1992-04-081994-02-15Supermac TechnologyMethod for image compression on a personal computer
US5412435A (en)*1992-07-031995-05-02Kokusai Denshin Denwa Kabushiki KaishaInterlaced video signal motion compensation prediction system
JP2510456B2 (en)1992-08-271996-06-26三菱電機株式会社 Image coding device
US5491516A (en)*1993-01-141996-02-13Rca Thomson Licensing CorporationField elimination apparatus for a video compression/decompression system
US5376968A (en)*1993-03-111994-12-27General Instrument CorporationAdaptive compression of digital video data using different modes such as PCM and DPCM
US5453799A (en)*1993-11-051995-09-26Comsat CorporationUnified motion estimation architecture
DE69535952D1 (en)*1994-03-302009-06-25Nxp Bv Method and circuit for motion estimation between images with two interlaced fields, and device for digital signal coding with such a circuit
US5767898A (en)*1994-06-231998-06-16Sanyo Electric Co., Ltd.Three-dimensional image coding by merger of left and right images
JP2951861B2 (en)1994-12-281999-09-20シャープ株式会社 Image encoding device and image decoding device
KR0164411B1 (en)*1994-12-281999-01-15윤종용 Alarm processing method and device for maintenance of remote safety management system
JP3732867B2 (en)*1995-03-092006-01-11株式会社ルネサステクノロジ Image expansion device
US5687097A (en)1995-07-131997-11-11Zapex Technologies, Inc.Method and apparatus for efficiently determining a frame motion vector in a video encoder
EP1835762A3 (en)*1996-05-282007-10-03Matsushita Electric Industrial Co., Ltd.decoding apparatus with intra prediction
JP4034380B2 (en)*1996-10-312008-01-16株式会社東芝 Image encoding / decoding method and apparatus
JPH10145779A (en)*1996-11-061998-05-29Sony CorpField detection device and method, image encoding device and method, and recording medium and its recording method
US5991447A (en)1997-03-071999-11-23General Instrument CorporationPrediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6404813B1 (en)*1997-03-272002-06-11At&T Corp.Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
JP4001969B2 (en)*1997-03-312007-10-31ソニー株式会社 Encoding apparatus and method, and decoding apparatus and method
US6351563B1 (en)*1997-07-092002-02-26Hyundai Electronics Ind. Co., Ltd.Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
JP3740813B2 (en)*1997-12-122006-02-01ソニー株式会社 Image encoding method and image encoding apparatus
US6408029B1 (en)*1998-04-022002-06-18Intel CorporationMethod and apparatus for simplifying real-time data encoding
EP0969656B1 (en)*1998-06-292007-01-24Xerox CorporationCompression for image boundaries
US6573905B1 (en)1999-11-092003-06-03Broadcom CorporationVideo and graphics system with parallel processing of graphics windows
BR0004370A (en)*1999-02-052000-12-19Sony Corp Coding and decoding devices and processes and coding system and method
JP3778721B2 (en)*1999-03-182006-05-24富士通株式会社 Video coding method and apparatus
JP2001036908A (en)1999-07-152001-02-09Oki Electric Ind Co LtdDynamic image compressing device
FR2802048B1 (en)1999-12-012002-01-18France Telecom METHOD FOR BROADCASTING DIGITAL TELEVISION, DIGITAL SIGNAL AND EQUIPMENT THEREOF
KR100739281B1 (en)*2000-02-212007-07-12주식회사 팬택앤큐리텔 Motion estimation method and apparatus
KR100341063B1 (en)*2000-06-282002-06-20송문섭Rate control apparatus and method for real-time video communication
US6677868B2 (en)*2001-03-162004-01-13Sharp Laboratories Of America, Inc.Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
US7336711B2 (en)*2001-11-162008-02-26Ntt Docomo, Inc.Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
CN101448162B (en)*2001-12-172013-01-02微软公司Method for processing video image
US6870578B2 (en)2001-12-192005-03-22Thomson Licensing Sa.Apparatus and method for sharing signal control lines
EP1347649A1 (en)*2002-03-182003-09-24Lg Electronics Inc.B picture mode determining method and apparatus in video coding system
US7099387B2 (en)*2002-03-222006-08-29Realnetorks, Inc.Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
JP4151374B2 (en)*2002-03-292008-09-17セイコーエプソン株式会社 Moving picture coding apparatus and moving picture coding method
EP1422946A4 (en)*2002-07-262008-04-02Matsushita Electric Industrial Co Ltd ANIMAL IMAGE ENCODING METHOD, ANIMAL IMAGE DECODING METHOD, AND RECORDING MEDIUM
US20060257000A1 (en)*2003-06-252006-11-16Boyce Jill MDecoding method an apparatus for detection of watermarks in a compressed video bitsream
US7724827B2 (en)*2003-09-072010-05-25Microsoft CorporationMulti-layer run level encoding and decoding
US8107531B2 (en)*2003-09-072012-01-31Microsoft CorporationSignaling and repeat padding for skip frames
US7620106B2 (en)*2003-09-072009-11-17Microsoft CorporationJoint coding and decoding of a reference field selection and differential motion vector information
US7599435B2 (en)*2004-01-302009-10-06Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V.Video frame encoding and decoding

Patent Citations (111)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US4454546A (en)1980-03-131984-06-12Fuji Photo Film Co., Ltd.Band compression device for shaded image
JPS61205086A (en)1985-03-081986-09-11Mitsubishi Electric CorpPicture encoding and decoding device
US4691329A (en)1985-07-021987-09-01Matsushita Electric Industrial Co., Ltd.Block encoder
US4796087A (en)1986-05-291989-01-03Jacques GuichardProcess for coding by transformation for the transmission of picture signals
US4800432A (en)1986-10-241989-01-24The Grass Valley Group, Inc.Video Difference key generator
EP0279053A1 (en)1987-02-161988-08-24ANT Nachrichtentechnik GmbHMethod for the transmission and reproduction of sequences of television pictures
US4849812A (en)1987-03-101989-07-18U.S. Philips CorporationTelevision system in which digitized picture signals subjected to a transform coding are transmitted from an encoding station to a decoding station
US5021879A (en)1987-05-061991-06-04U.S. Philips CorporationSystem for transmitting video pictures
US5089887A (en)1988-09-231992-02-18Thomson Consumer ElectronicsMethod and device for the estimation of motion in a sequence of moving images
USRE35158E (en)1989-04-271996-02-20Victor Company Of Japan LimitedApparatus for adaptive inter-frame predictive encoding of video signal
JPH031688A (en)1989-05-291991-01-08Nippon Telegr & Teleph Corp <Ntt>High efficiency picture coder
USRE37222E1 (en)1989-10-142001-06-12Sony CorporationVideo signal transmitting system
JPH03238970A (en)1990-02-151991-10-24Mitsubishi Electric Corp Transform encoding method
US5117287A (en)1990-03-021992-05-26Kokusai Denshin Denwa Co., Ltd.Hybrid coding system for moving image
US5157490A (en)1990-03-141992-10-20Kabushiki Kaisha ToshibaTelevision signal scanning line converting apparatus
US5091782A (en)1990-04-091992-02-25General Instrument CorporationApparatus and method for adaptively compressing successive blocks of digital video
US4999705A (en)1990-05-031991-03-12At&T Bell LaboratoriesThree dimensional motion compensated video coding
US5155594A (en)1990-05-111992-10-13Picturetel CorporationHierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
US5068724A (en)1990-06-151991-11-26General Instrument CorporationAdaptive motion compensation for digital television
US5274453A (en)1990-09-031993-12-28Canon Kabushiki KaishaImage processing system
US5319463A (en)1991-03-191994-06-07Nec CorporationArrangement and method of preprocessing binary picture data prior to run-length encoding
US5422676A (en)1991-04-251995-06-06Deutsche Thomson-Brandt GmbhSystem for coding an image representative signal
US5258836A (en)1991-05-081993-11-02Nec CorporationEncoding of motion picture signal
US6011596A (en)1991-05-242000-01-04British BroadcastingVideo image motion compensation using an algorithm involving at least two fields
US5539466A (en)1991-07-301996-07-23Sony CorporationEfficient coding apparatus for picture signal and decoding apparatus therefor
JP3001688B2 (en)1991-08-052000-01-24株式会社大一商会 Pachinko ball circulation controller
EP0540350A2 (en)1991-10-311993-05-05Sony CorporationMethod and apparatus for variable length coding
USRE36822E (en)1991-11-082000-08-15Victor Company Of Japan, Ltd.Moving image signal coding apparatus and coded signal decoding apparatus
US5510840A (en)1991-12-271996-04-23Sony CorporationMethods and devices for encoding and decoding frame signals and recording medium therefor
US5379351A (en)1992-02-191995-01-03Integrated Information Technology, Inc.Video compression/decompression processing and processors
US5467086A (en)1992-06-181995-11-14Samsung Electronics Co., Ltd.Apparatus and method of coding/decoding video data
US5666461A (en)1992-06-291997-09-09Sony CorporationHigh efficiency encoding and decoding of picture signals and recording medium containing same
US6324216B1 (en)1992-06-292001-11-27Sony CorporationVideo coding selectable between intra-frame prediction/field-based orthogonal transformation and inter-frame prediction/frame-based orthogonal transformation
EP0588653A2 (en)1992-09-161994-03-23Fujitsu LimitedImage data coding and restoring method and appatatus for coding and restoring the same
US5376971A (en)1992-09-301994-12-27Matsushita Electric Industrial Co., Ltd.Picture encoding apparatus and picture decoding apparatus
JPH06225279A (en)1992-10-261994-08-12Sony CorpCoding/decoding methods and coding/decoding devices
US5982437A (en)1992-10-261999-11-09Sony CorporationCoding method and system, and decoding method and system
US5461421A (en)1992-11-301995-10-24Samsung Electronics Co., Ltd.Encoding and decoding method and apparatus thereof
US5400075A (en)1993-01-131995-03-21Thomson Consumer Electronics, Inc.Adaptive variable length encoder/decoder
US5668932A (en)1993-01-291997-09-16Microsoft CorporationDigital video data compression technique
US5544286A (en)1993-01-291996-08-06Microsoft CorporationDigital video data compression technique
EP0614318A3 (en)1993-03-041995-05-17Tokyo Shibaura Electric CoVideo encoder, video decoder, and video motion estimation apparatus.
EP0614318A2 (en)1993-03-041994-09-07Kabushiki Kaisha ToshibaVideo encoder, video decoder, and video motion estimation apparatus
JPH06276481A (en)1993-03-181994-09-30Sony CorpPicture signal coding and decoding method and recording medium
JPH06276511A (en)1993-03-181994-09-30Sony CorpPicture signal coding method and decoding method
US5946042A (en)1993-03-241999-08-31Sony CorporationMacroblock coding including difference between motion vectors
US6040863A (en)1993-03-242000-03-21Sony CorporationMethod of coding and decoding motion vector and apparatus therefor, and method of coding and decoding picture signal and apparatus therefor
EP0625853A3 (en)1993-05-211995-02-01Nippon Telegraph & TelephoneMoving image encoder and decoder.
US5598215A (en)1993-05-211997-01-28Nippon Telegraph And Telephone CorporationMoving image encoder and decoder using contour extraction
EP0625853A2 (en)1993-05-211994-11-23Nippon Telegraph And Telephone CorporationMoving image encoder and decoder
US5448297A (en)1993-06-161995-09-05Intel CorporationMethod and system for encoding images using skip blocks
US5517327A (en)1993-06-301996-05-14Minolta Camera Kabushiki KaishaData processor for image data using orthogonal transformation
US5477272A (en)1993-07-221995-12-19Gte Laboratories IncorporatedVariable-block size multi-resolution motion estimation scheme for pyramid coding
JPH07135660A (en)1993-11-121995-05-23Matsushita Electric Ind Co Ltd Motion vector encoder
US5465118A (en)1993-12-171995-11-07International Business Machines CorporationLuminance transition coding method for software motion video compression/decompression
US5550541A (en)1994-04-011996-08-27Dolby Laboratories Licensing CorporationCompact source coding tables for encoder/decoder system
US5594504A (en)1994-07-061997-01-14Lucent Technologies Inc.Predictive video coding using a motion vector updating routine
US5835144A (en)1994-10-131998-11-10Oki Electric Industry Co., Ltd.Methods of coding and decoding moving-picture signals, using self-resynchronizing variable-length codes
US5552832A (en)1994-10-261996-09-03Intel CorporationRun-length encoding sequence for video signals
JPH08140099A (en)1994-11-111996-05-31Canon Inc Encoding apparatus and method
US5619281A (en)1994-12-301997-04-08Daewoo Electronics Co., LtdMethod and apparatus for detecting motion vectors in a frame decimating video encoder
US5689306A (en)1995-01-091997-11-18Daewoo Electronics Co., Ltd.Method and apparatus for encoding a video signal using pixel-by-pixel motion prediction
US6052150A (en)1995-03-102000-04-18Kabushiki Kaisha ToshibaVideo data signal including a code string having a plurality of components which are arranged in a descending order of importance
US5673339A (en)1995-03-201997-09-30Daewoo Electronics Co., Ltd.Method for encoding a video signal using feature point based motion estimation
US5598216A (en)1995-03-201997-01-28Daewoo Electronics Co., LtdMethod and apparatus for encoding/decoding a video signal
US5617144A (en)1995-03-201997-04-01Daewoo Electronics Co., Ltd.Image processing system using pixel-by-pixel motion estimation and frame decimation
US5546129A (en)1995-04-291996-08-13Daewoo Electronics Co., Ltd.Method for encoding a video signal using feature point based motion estimation
US5654771A (en)1995-05-231997-08-05The University Of RochesterVideo compression system using a dense motion vector field and a triangular patch mesh overlay model
JPH0955936A (en)1995-06-051997-02-25Sony CorpPicture encoding method and decoding device
US5835149A (en)1995-06-061998-11-10Intel CorporationBit allocation in a coded video sequence
US6208761B1 (en)1995-07-112001-03-27Telefonaktiebolaget Lm Ericsson (Publ)Video coding
US5668608A (en)1995-07-261997-09-16Daewoo Electronics Co., Ltd.Motion vector estimation method and apparatus for use in an image signal encoding system
US5825830A (en)1995-08-171998-10-20Kopf; David A.Method and apparatus for the compression of audio, video or other data
US6154495A (en)1995-09-292000-11-28Kabushiki Kaisha ToshibaVideo coding and video decoding apparatus for changing a resolution conversion according to a reduction ratio setting information signal
US6292585B1 (en)1995-09-292001-09-18Kabushiki Kaisha ToshibaVideo coding and video decoding apparatus
US5970173A (en)1995-10-051999-10-19Microsoft CorporationImage compression and affine transformation for image motion compensation
US5959673A (en)1995-10-051999-09-28Microsoft CorporationTransform coding of dense motion vector fields for frame and object based video coding applications
US5784175A (en)1995-10-051998-07-21Microsoft CorporationPixel block correlation process
EP0771114A2 (en)1995-10-261997-05-02Hyundai Electronics Industries Co., Ltd.Method of generating object-adaptive code block patterns
US5692063A (en)1996-01-191997-11-25Microsoft CorporationMethod and system for unrestricted motion estimation for video
US5831559A (en)1996-01-241998-11-03Intel CorporationEncoding/decoding video signals using multiple run-val mapping tables
US5982438A (en)1996-03-221999-11-09Microsoft CorporationOverlapped motion compensation for object coding
JPH09322163A (en)1996-03-221997-12-12Sony CorpMethod, device for encoding, transmitting and decoding image signal and recording medium
EP0830029A2 (en)1996-09-131998-03-18Robert Bosch GmbhMethod for video signal data reduction
US6035070A (en)1996-09-242000-03-07Moon; Joo-HeeEncoder/decoder for coding/decoding gray scale shape data and method thereof
US6215905B1 (en)1996-09-302001-04-10Hyundai Electronics Ind. Co., Ltd.Video predictive coding apparatus and method
US5748789A (en)1996-10-311998-05-05Microsoft CorporationTransparent block skipping in object-based video coding systems
EP0786907A2 (en)1997-01-241997-07-30Texas Instruments IncorporatedVideo encoder
US6785331B1 (en)1997-02-142004-08-31Nippon Telegraph And Telephone CorporationPredictive encoding and decoding methods of video data
US6026195A (en)1997-03-072000-02-15General Instrument CorporationMotion estimation and compensation of video object planes for interlaced digital video
US6496601B1 (en)1997-06-232002-12-17Viewpoint Corp.System and method for asynchronous, adaptive moving picture compression, and decompression
US6148033A (en)1997-11-202000-11-14Hitachi America, Ltd.Methods and apparatus for improving picture quality in reduced resolution video decoders
US6094225A (en)1997-12-022000-07-25Daewoo Electronics, Co., Ltd.Method and apparatus for encoding mode signals for use in a binary shape coder
US5973743A (en)1997-12-021999-10-26Daewoo Electronics Co., Ltd.Mode coding method and apparatus for use in an interlaced shape coder
US5946043A (en)1997-12-311999-08-31Microsoft CorporationVideo coding using adaptive coding of block parameters for coded/uncoded blocks
US6243418B1 (en)1998-03-302001-06-05Daewoo Electronics Co., Ltd.Method and apparatus for encoding a motion vector of a binary shape signal
US6271885B2 (en)1998-06-242001-08-07Victor Company Of Japan, Ltd.Apparatus and method of motion-compensated predictive coding
US6275531B1 (en)1998-07-232001-08-14Optivision, Inc.Scalable video coding method and apparatus
US6735345B2 (en)*1998-11-302004-05-11Microsoft CorporationEfficient macroblock header coding for video compression
US7127114B2 (en)*1998-11-302006-10-24Microsoft CorporationCoded block pattern encoding with spatial prediction
US6563953B2 (en)*1998-11-302003-05-13Microsoft CorporationPredictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US7054494B2 (en)*1998-11-302006-05-30Microsoft CorporationCoded block pattern decoding with spatial prediction
US20020012394A1 (en)2000-04-272002-01-31Yoshiko HatanoEncoding system and encoding method
US6920175B2 (en)2001-01-032005-07-19Nokia CorporationVideo coding architecture and methods for using same
US6765963B2 (en)2001-01-032004-07-20Nokia CorporationVideo decoder architecture and method for using same
US20050254584A1 (en)2001-03-052005-11-17Chang-Su KimSystems and methods for enhanced error concealment in a video decoder
US20030113026A1 (en)2001-12-172003-06-19Microsoft CorporationSkip macroblock coding
US6795584B2 (en)2002-10-032004-09-21Nokia CorporationContext-based adaptive variable length coding for adaptive block transforms
US20040136457A1 (en)2002-10-232004-07-15John FunnellMethod and system for supercompression of compressed digital video
US20050013498A1 (en)2003-07-182005-01-20Microsoft CorporationCoding of motion vector information
US20050135484A1 (en)2003-12-182005-06-23Daeyang Foundation (Sejong University)Method of encoding mode determination, method of motion estimation and encoding apparatus

Non-Patent Citations (25)

* Cited by examiner, † Cited by third party
Title
"Video Coding for Low Bitrate Communication," Draft Recommendation H.263, International Telecommunication Union, Dec. 1995, 51 pages.
Fogg, "Survey of Software and Hardware VLC Architectures," SPIE vol. 2186, pp. 29-37 (no date of publication) 1994.
Gersho et al., "Vector Quantization and Signal Compression," Entry Coding, Chapter 9, pp. 259-305 (1992).
Gibson et al., Digital Compression of Multimedia, "Lossless Source Coding," Chapter 2, pp. 17-62 (1998).
Gibson et al., Digital Compression of Multimedia, "MPEG Compression," Chapter 11, pp. 363-418 (1998).
Gibson et al., Digital Compression of Multimedia, "Multimedia Conferencing Standards," Chapter 10, pp. 309-362 (1998).
Gibson et al., Digital Compression of Multimedia, "Universal Lossless Source Coding," Chapter 3, pp. 63-112 (1998).
International Organization for Standardisation ISO/IEC JTCI/SC29/WG11, N2459 "Overview of the MPEG-4 Standards," (Oct. 1998).
ISO, ISO/IEC JTC1/SC29/WG11 MPEG 97/N1642 "MPEG-4 Video Verification Model Version 7.0.3. Encoder Definition," pp. 1, 17-122, Bristol (Apr. 1997).
ISO, ISO/IEC JTC1/SC29/WG11 MPEG 97/N1642, "MPEG-4 Video Verification Model Version 7.0, 6.0 Appendix A: Combined Motion Shape Texture Coding," pp. 195-203, Bristol (Apr. 1997).
ISO, ISO/IEC JTCI/SC29/WG11, Information Technology-Coding of Audio-Visual Objects: Visual, ISO/IEC 14496-2, "Section 11.1: Variable length codes," pp. i-v, 234-238 (Mar. 1998).
ISO, ISO/IEC JTCI/SC29/WG11, Information Technology-Coding of Audio-Visual Objects: Visual, ISO/IEC 14496-2, "Section 6.3.7: Macroblock related," pp. i-v, 118-119 (Mar. 1998).
ISO/IEC FCD 14496-2: Information technology-Very-low bitrate audio-visual coding-Part 2: visual [SC 29/WG 11 N 2202], ISO/IEC JTC 1/SC 29/WG 11, May 28, 1998.
ITU-T, "Draft H.263 specification," Video Coding for Low Bitrate Communication, "Annex E: Syntax-based Arithmetic Coding Mode," pp. i, 34-40 (Dec. 1995).
ITU-T, "Draft H.263 specification," Video Coding for Low Bitrate Communication, "Section 5.3: Macroblock Layer," pp. i, 13-21 (Dec. 1995).
ITU-T, "ITU-T Recommendation H.263 Video Coding for Low Bit Rate Communication," (Feb. 1998).
Kunt, Second-Generation Image-Coding Techniques, Proceedings of IEEE, vol. 73, No. 4, pp. 549-574 (Apr. 1985).
Lainema et al., "Skip Mode Motion Compensation," Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), Document JVT-C027, 8 pp. (May 2002).
Le Gall, MPEG: A Video Compression Standard for Multimedia Applications Communications of the ACM, vol. 34, No. 4, pp. 47-58 (Apr. 1991).
Lee et al., "A Layered Video Object Coding System Using Sprite and Affine Motion Model, IEEE Transactions on Circuits and Systems for Video Technology," vol. 7, No. 1, pp. 130-145 (Feb. 1997).
Pennebaker et al., "JPEG Still Image Data Compression Standard," Chapter 20, pp. 325-329, 1993 (no publication date).
Reader, "History of MPEG Video Compression-Ver. 4.0," document marked Dec. 16, 2003.
U.S. Appl. No. 60/341,674, filed Dec. 17, 2001, Lee et al.
U.S. Appl. No. 60/488,710, filed Jul. 18, 2003, Srinivasan et al.
Yu et al., "Two-Dimensional Motion Vector Coding for Low Bitrate Videophone Applications," Proc. Int'l Conf. on Image Processing, Los Alamitos, US, pp. 414-417, IEEE Comp. Soc. Press (1995).

Cited By (51)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8290288B2 (en)*1998-11-302012-10-16Microsoft CorporationEncoding macroblock type and coded block pattern information
US20080019449A1 (en)*1998-11-302008-01-24Microsoft CorporationEfficient macroblock header coding for video compression
US8582903B2 (en)*1998-11-302013-11-12Microsoft CorporationEfficient macroblock header coding for video compression
US20130039414A1 (en)*1998-11-302013-02-14Microsoft CorporationEfficient macroblock header coding for video compression
US9774852B2 (en)2001-12-172017-09-26Microsoft Technology Licensing, LlcSkip macroblock coding
US9538189B2 (en)2001-12-172017-01-03Microsoft Technology Licensing, LlcSkip macroblock coding
US8781240B2 (en)2001-12-172014-07-15Microsoft CorporationSkip macroblock coding
US9088785B2 (en)2001-12-172015-07-21Microsoft Technology Licensing, LlcSkip macroblock coding
US8428374B2 (en)2001-12-172013-04-23Microsoft CorporationSkip macroblock coding
US10368065B2 (en)2001-12-172019-07-30Microsoft Technology Licensing, LlcSkip macroblock coding
US7991054B2 (en)*2002-07-192011-08-02Sony CorporationInformation 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 for storing the program
US20060126126A1 (en)*2002-07-192006-06-15Tetsujiro KondoInformation 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
US9077960B2 (en)2005-08-122015-07-07Microsoft CorporationNon-zero coefficient block pattern coding
US9503745B2 (en)2008-03-282016-11-22Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US10484720B2 (en)*2008-03-282019-11-19Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US8824541B2 (en)*2008-03-282014-09-02Sharp Kabushiki KaishaMethods, devices and systems for parallel video encoding and decoding
US12231699B2 (en)2008-03-282025-02-18Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US11838558B2 (en)2008-03-282023-12-05Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US8542748B2 (en)2008-03-282013-09-24Sharp Laboratories Of America, Inc.Methods and systems for parallel video encoding and decoding
US11438634B2 (en)2008-03-282022-09-06Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US10958943B2 (en)2008-03-282021-03-23Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US10652585B2 (en)2008-03-282020-05-12Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US9930369B2 (en)2008-03-282018-03-27Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US20140241438A1 (en)2008-03-282014-08-28Sharp Kabushiki KaishaMethods, devices and systems for parallel video encoding and decoding
US9473772B2 (en)2008-03-282016-10-18Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US10284881B2 (en)2008-03-282019-05-07Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US20110026604A1 (en)*2008-03-282011-02-03Jie ZhaoMethods, devices and systems for parallel video encoding and decoding
US9681143B2 (en)2008-03-282017-06-13Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US9681144B2 (en)2008-03-282017-06-13Dolby International AbMethods, devices and systems for parallel video encoding and decoding
US20100027680A1 (en)*2008-03-282010-02-04Segall Christopher AMethods and Systems for Parallel Video Encoding and Decoding
US20090245349A1 (en)*2008-03-282009-10-01Jie ZhaoMethods and Systems for Parallel Video Encoding and Decoding
US8344917B2 (en)*2010-09-302013-01-01Sharp Laboratories Of America, Inc.Methods and systems for context initialization in video coding and decoding
US9313514B2 (en)2010-10-012016-04-12Sharp Kabushiki KaishaMethods and systems for entropy coder initialization
US10659786B2 (en)2010-10-012020-05-19Velos Media, LlcMethods and systems for decoding a video bitstream
US10999579B2 (en)2010-10-012021-05-04Velos Media, LlcMethods and systems for decoding a video bitstream
US10341662B2 (en)2010-10-012019-07-02Velos Media, LlcMethods and systems for entropy coder initialization
US9172963B2 (en)2010-11-012015-10-27Qualcomm IncorporatedJoint coding of syntax elements for video coding
US8948528B2 (en)*2011-09-142015-02-03Samsung Electronics Co., Ltd.Method and apparatus for restoring image by copying memory
US20130064463A1 (en)*2011-09-142013-03-14Industry-Academia Cooperation Group Of Sejong UniversityMethod and apparatus for restoring image by copying memory
US9300974B2 (en)2011-10-192016-03-29Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US9300973B2 (en)2011-10-192016-03-29Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US9930333B2 (en)2011-10-192018-03-27Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US10313667B2 (en)2011-10-192019-06-04Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US9832464B2 (en)2011-10-192017-11-28Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US9866832B2 (en)2011-10-192018-01-09Kt CorporationMethod and apparatus for encoding/decoding image using transform skip flag
US20150063446A1 (en)*2012-06-122015-03-05Panasonic Intellectual Property Corporation Of AmericaMoving picture encoding method, moving picture decoding method, moving picture encoding apparatus, and moving picture decoding apparatus
US12244827B2 (en)*2012-06-122025-03-04Sun Patent TrustMoving picture encoding method, moving picture decoding method, moving picture encoding apparatus, and moving picture decoding apparatus
US10171810B2 (en)2015-06-222019-01-01Cisco Technology, Inc.Transform coefficient coding using level-mode and run-mode
US20230007265A1 (en)*2019-12-112023-01-05Sony Group CorporationImage processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method
US12262016B2 (en)*2019-12-112025-03-25Sony Group CorporationImage processing device, bit stream generation method, coefficient data generation method, and quantization coefficient generation method
US20230106242A1 (en)*2020-03-122023-04-06Interdigital Vc Holdings FranceMethod and apparatus for video encoding and decoding

Also Published As

Publication numberPublication date
JP4673758B2 (en)2011-04-20
EP1863295A3 (en)2008-02-13
ATE456255T1 (en)2010-02-15
US8290288B2 (en)2012-10-16
EP1135934A1 (en)2001-09-26
EP1863295B1 (en)2010-01-20
DK1135934T3 (en)2008-03-17
DE69937462D1 (en)2007-12-13
DK1863295T3 (en)2010-04-26
DE69941965D1 (en)2010-03-11
ES2296415T3 (en)2008-04-16
EP1853069A2 (en)2007-11-07
HK1115256A1 (en)2008-11-21
WO2000033583A1 (en)2000-06-08
DK1853069T3 (en)2010-04-26
US7054494B2 (en)2006-05-30
ATE377327T1 (en)2007-11-15
EP1853069A3 (en)2008-02-13
US8582903B2 (en)2013-11-12
ES2337612T3 (en)2010-04-27
DE69941964D1 (en)2010-03-11
US20060262980A1 (en)2006-11-23
JP3778798B2 (en)2006-05-24
JP2002532029A (en)2002-09-24
ES2337611T3 (en)2010-04-27
ATE456254T1 (en)2010-02-15
JP2006148970A (en)2006-06-08
US20030179940A1 (en)2003-09-25
US7127114B2 (en)2006-10-24
JP2009060670A (en)2009-03-19
JP4625411B2 (en)2011-02-02
US20080019449A1 (en)2008-01-24
EP1853069B1 (en)2010-01-20
PT1853069E (en)2010-02-18
PT1863295E (en)2010-02-22
US6735345B2 (en)2004-05-11
EP1863295A2 (en)2007-12-05
US20130039414A1 (en)2013-02-14
PT1135934E (en)2007-12-20
US6563953B2 (en)2003-05-13
EP1135934B1 (en)2007-10-31
JP2006187024A (en)2006-07-13
JP4558827B2 (en)2010-10-06
US20040126030A1 (en)2004-07-01
HK1115966A1 (en)2008-12-12
US20060110059A1 (en)2006-05-25
US20020097802A1 (en)2002-07-25
DE69937462T2 (en)2008-02-07

Similar Documents

PublicationPublication DateTitle
US7289673B2 (en)Decoding macroblock type and coded block pattern information
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
HK1115256B (en)Decoding macroblock type and coded block pattern information
HK1115966B (en)Coded block pattern encoding/decoding with spatial prediction

Legal Events

DateCodeTitleDescription
STCFInformation on status: patent grant

Free format text:PATENTED CASE

FEPPFee payment procedure

Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAYFee payment

Year of fee payment:4

ASAssignment

Owner name:MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034542/0001

Effective date:20141014

FPAYFee payment

Year of fee payment:8

FEPPFee payment procedure

Free format text:MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPSLapse for failure to pay maintenance fees

Free format text:PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCHInformation on status: patent discontinuation

Free format text:PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FPLapsed due to failure to pay maintenance fee

Effective date:20191030


[8]ページ先頭

©2009-2025 Movatter.jp