Source: http://www.google.com/patents/US8179974?dq=5,579,517
Timestamp: 2014-07-22 16:19:53
Document Index: 439067643

Matched Legal Cases: ['art 3', 'art 7', 'art 3', 'art 7', 'art 1', 'art 2', 'art 2', 'art 2', 'art 2']

Patent US8179974 - Multi-level representation of reordered transform coefficients - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign in<nobr>Advanced Patent Search</nobr>PatentsTechniques and tools for encoding and decoding a block of frequency coefficients are presented. An encoder selects a scan order from multiple available scan orders and then applies the selected scan order to a two-dimensional matrix of transform coefficients, grouping non-zero values of the frequency...http://www.google.com/patents/US8179974?utm_source=gb-gplus-sharePatent US8179974 - Multi-level representation of reordered transform coefficientsAdvanced Patent SearchPublication numberUS8179974 B2Publication typeGrantApplication numberUS 12/151,069Publication dateMay 15, 2012Filing dateMay 2, 2008Priority dateMay 2, 2008Also published asCN102017634A, CN102017634B, EP2269380A2, EP2269380A4, US20090273706, US20120243615, WO2009134575A2, WO2009134575A3Publication number12151069, 151069, US 8179974 B2, US 8179974B2, US-B2-8179974, US8179974 B2, US8179974B2InventorsChengjie Tu, Shankar Regunathan, Shijun Sun, Chih-Lung LinOriginal AssigneeMicrosoft CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (102), Non-Patent Citations (95), Referenced by (3), Classifications (27), Legal Events (2) External Links: USPTO, USPTO Assignment, EspacenetMulti-level representation of reordered transform coefficientsUS 8179974 B2Abstract Techniques and tools for encoding and decoding a block of frequency coefficients are presented. An encoder selects a scan order from multiple available scan orders and then applies the selected scan order to a two-dimensional matrix of transform coefficients, grouping non-zero values of the frequency coefficients together in a one-dimensional string. The encoder entropy encodes the one-dimensional string of coefficient values according to a multi-level nested set representation. In decoding, a decoder entropy decodes the one-dimensional string of coefficient values from the multi-level nested set representation. The decoder selects the scan order from among multiple available scan orders and then reorders the coefficients back into a two-dimensional matrix using the selected scan order.
BACKGROUND When a picture such as a frame of video or a still image is encoded, an encoder typically splits the visual data into blocks of sample values. The encoder performs a frequency transform such as a discrete coefficient transform (DCT) to convert the block of sample values into a block of transform coefficients. The transform coefficient by convention shown at the upper left of the block is generally referred to as the DC coefficient, and the other coefficients are generally referred to as the AC coefficients. For most blocks of sample values, a frequency transform tends to group non-zero values of the transform coefficients towards the upper-left, lower frequency section of the block of transform coefficients.
After the frequency transform, the encoder quantizes the transform coefficient values. The quantization generally reduces the number of possible values for the DC and AC coefficients. This usually reduces resolution as well as fidelity of the quantized values to the original coefficient values, but it makes subsequent entropy encoding more effective. The quantization also tends to �remove� the higher frequency coefficients (generally grouped in the lower right side of the block), when the higher frequency coefficients have low amplitudes that are quantized to zero.
After the transform coefficients have been quantized, the encoder entropy encodes the quantized transform coefficients. One common method of encoding a block of transform coefficients starts by reordering the block using a �zig-zag� scan order (200) as shown in FIG. 2. In this method, the encoder maps the values of the transform coefficients from a two-dimensional array into a one-dimensional string according to the scan order (200). The scan order (200) begins in the top left of the block (100) with the DC coefficient, traverses the AC coefficients of the block (100) at positions 1 and 2, traverses the AC coefficients at positions 3, 4, and 5, and so on. The scanning continues diagonally across the block (100) according to the scan order (200), finishing in the lower right corner of the block (100) with the highest frequency AC coefficient at position 63. Because the quantization operation typically quantizes to zero a significant portion of the lower-value, higher-frequency coefficients, while preserving non-zero values for the higher-value, lower-frequency coefficients, zigzag scan reordering commonly results in most of the remaining non-zero transform coefficients being near the beginning of the one-dimensional string and a large number of zero values being at the end of the string.
FIG. 2 shows an exemplary one-dimensional string (250) that results from applying the scan order (200) to the block (100) of transform coefficients. In this example, the one-dimensional string (250) starts with the value 25 corresponding to the DC coefficient of the block (100). The scan order then reads the value 12, followed by two values of 0, a value of −52, and so on. The symbol �EOB� signifies �End of Block� and indicates that all of the remaining values in the block are 0.
Finally, reordering using the zigzag scan order (200) shown in FIG. 2 can, in some cases, hurt encoding efficiency. In general, neighboring coefficient values within a block are correlated�if a transform coefficient value is zero, its neighbors are more likely to be zero, and if a transform coefficient value is non-zero, its neighbors are more likely to be non-zero. Reordering using the zigzag scan order (200) in some cases separates neighboring coefficient positions (e.g., positions 15 and 27) in the one-dimensional vector. For example, although the non-zero coefficients in the block (100) in FIG. 1 appear in two clusters, the non-zero coefficient values in the one-dimensional string (250) of FIG. 2 are interrupted 4 times by a series of one or more �0� values.
SUMMARY In summary, the detailed description presents techniques and tools for encoding and decoding blocks of frequency coefficients. For example, the techniques and tools improve the performance of an encoder by improving the compression of blocks of frequency coefficients. The efficiency of the compression is increased by grouping non-zero values of the frequency coefficients together within a one-dimensional string and then entropy encoding the coefficient values according to a multi-level nested set representation.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a chart illustrating an exemplary block of quantized transform coefficients.
DETAILED DESCRIPTION The following detailed description presents tools and techniques for encoding a set of frequency coefficients by reordering them according to a scan order to convert the values of the frequency coefficients into a one-dimensional string of values. The string of values is encoded according to an entropy encoding method using a multi-level nested set representation. The following detailed description also presents corresponding tools and techniques for decoding a set of frequency coefficients.
For the sake of presentation, the detailed description uses terms like �determine� and �reconstruct� to describe computer operations in a computing environment. These terms are high-level abstractions for operations performed by a computer, and should not be confused with acts performed by a human being. The actual computer operations corresponding to these terms vary depending on implementation.
The tool then selects (530) one of a plurality of multi-level nested set representations. The nested set representations can be selected based upon efficiency of encoding, user-definition, or some other factor. FIG. 11A shows one example multi-level nested set representation for 64 transform coefficients in a one-dimensional vector, according to which each set is split into two subsets, each subset including one or more transform coefficients. FIG. 11B shows an alternative multi-level nested set representation, according to which each set is split into two, three, or four subsets, each subset including one or more transform coefficients. FIG. 11C shows a third multi-level nested set representation with three layers�at a layer, each set (or subset) is split into four subsets (or transform coefficients). Other nested set representations partition the 64 coefficients in different ways, for example, splitting a top layer 0 to 64 into a first set for positions 0 to 3 and a second set for positions 4 to 63, splitting the second set into first and second subsets, and so on. Specific patterns of clustering of frequency coefficients may be predicted for certain scan orders or types of pictures, and a particular nested set representation may be specified to take advantage of the patterns and further increase encoding efficiency. Particular types of entropy encoding may work better with particular nested set representations that more aggressively split sets of coefficients into more subsets. The tool then entropy encodes (535) the reordered plural frequency coefficients according to a method such as adaptive Huffman encoding, run-length encoding, or some other entropy encoding method, using the selected nested set representation.
If, however, the set contains one or more non-zero frequency coefficients, then the tool encodes any subset that includes at least one non-zero value. The tool splits (1030) the given set into up to n subsets and checks (1035) to see whether to encode the first of the subsets as a �set.� If the first of the subsets contains a non-zero frequency coefficient, then the tool performs the method (1000) on the first subset at a lower level and thereby encodes (1040) the first subset as a �set.� When the subset is encoded (1040), the symbols and codes produced by the tool performing the method (1000) are organized to make clear that the frequency coefficient values being analyzed are a subset of the first set, and are being analyzed at a lower level of representation in the nested set representation.
If the first subset should not be encoded because it does not contain at least one non-zero frequency coefficient, the tool then checks (1045) if other subsets remain in the set. Similarly, after the tool has encoded (1040) the first subset, the tool checks (1045) if other subsets remain in the set. If another subset exists, then the tool checks (1035) to see whether to encode the subset as a �set� and, if so, the tool encodes (1040) the subset. After the tool has determined that no other subsets remain for a set, the tool returns (1020) to the point of entry (for a subset) or is done encoding that particular set of frequency coefficients�the tool either returns to a higher level to encode a next set or subset, or moves to another block or picture.
Consider a typical 8�8 block of transform coefficients (after quantization). Most of the non-zero coefficient values are clustered in a few areas, such as the top left corner for low frequency coefficients. An effective multi-level nested set representation groups zero-value high-frequency coefficients together as a single block and represents them as a single zero-value coefficient (or symbol). Aside from grouping zero-value coefficients into a block or blocks in this way, the multi-level nested set representation groups a subset of coefficients that include non-zero values (or a mix of non-zero values and zero values) as a single block and treats them as one coefficient (or symbol). At a given level, the multi-level nested set representation includes one or more �summary� coefficients (or symbols), which are then entropy encoded. For a block that includes one or more non-zero value coefficients, the multi-level nested set representation recursively splits the coefficients into sub-groups that are represented as single coefficients (or symbols) for encoding.
The tool then encodes the first subset (for position 0) at the second level (1210) as a �set.� In the present example, the subset contains only a single value, the coefficient value 25 at coefficient position 0. The tool entropy encodes this first subset.
For the multi-level nested set representation (1180) in FIG. 11C, scan order (800) of FIG. 8 and transform coefficients (100) of FIG. 1, positions 0, 1, 3 and 9-15 have non-zero values, and the other positions have zero-value coefficients. The subset for positions 0 to 15 includes at least one non-zero value, but none of the other three second-level subsets includes any non-zero value, so the first level representation is 1 0 0 0. With run-level encoding (each code indicating a run count of zeros+a non-zero level), the symbols are represented as codes for 0 EOB. In practice, this representation is then encoded using some code or codes, which will be indicated herein as run_level_code�0 (for a count of zero 0s+the first 1) and run_level_code_EOB (for the last three 0s). The first level representation 1 0 0 0 suffices to indicate that coefficients at positions 16 through 63 are zero value coefficients.
The subset for positions 0 to 15 is split into four subsets for 0-3, 4-7, 8-11 and 12-15, which are represented with the symbols 1 0 1 1. With the run-level encoding, the symbols are represented as codes for 0 1 0, indicated as run_level_code�0 (for a count of zero 0s+the first 1), run_level_code�1 (for a count of one 0s+the second 1), and run_level_code�0 (for a count of zero 0s+the last 1). This suffices to indicate that coefficients at positions 4 through 7 are zero value coefficients.
The subset for positions 0 to 3 is represented as 1 1 0 1, the subset for positions 8-11 is represented as 0 1 1 1, and the subset for positions 12-15 is represented as 1 1 1 1. These subsets are encoding using the run-level coding, or alternatively using vector Huffman codes or literal values. For each non-zero value, one or more codes then signal the actual value and sign for the coefficient. For example, the codes value�25, value�12 and value�−5 follow the run-level codes for the subset for positions 0-3. The signaling of the codes for a representation can follow a depth-first traversal or breadth-first traversal of the representation.
For the same example multi-level nested set representation from FIGS. 1, 8 and 11C, with a simple run length coding variation expecting alternating runs of zeros and ones (e.g., 0 0 1 0 or 0 0 0 0 or 1 1 1 0), the symbols 1 0 0 0 are represented as codes for 0 1 EOB, indicated as run_length_code�0 (for a count of zero 0s), run-length-code�1 (for a count of one 1s), and run_length_code_EOB (for a count of three 0s). The subset for positions 0 to 15 is split into four subsets for 0-3, 4-7, 8-11 and 12-15, which are represented with the symbols 1 0 1 1, encoded as run_length_code�0 (for a count of zero 0s), run_length_code�1 (for a count of one 1s), run_length_code�1 (for a count of one 0s), and run_length_code_EOB (for the last two 1s). The subset for positions 0 to 3 is represented as 1 1 0 1, the subset for positions 8-11 is represented as 0 1 1 1, and the subset for positions 12-15 is represented as 1 1 1 1. These subsets are encoded using the variation of simple run length coding, or alternatively using vector Huffman codes or literal values. For each non-zero value, one or more codes then signal the actual value and sign for the coefficient. Again, the signaling of the codes for a representation can follow a depth-first traversal or breadth-first traversal of the representation.
The three different elements A0, A1, and A2, can assist the tool in determining whether or not to further split the set or subset during encoding, and the elements can assist the tool in reconstructing the values of a set or subset during decoding. Table 1 indicates exemplary Huffman codes for a set X containing plural frequency coefficient values, at least one of which is equal to 1 or −1 but none of which has an absolute value more than 1. Table 2 indicates exemplary Huffman codes for a set X containing plural frequency coefficient values, at least one of which has a value greater than 1 or less than −1. Each of the Huffman codes indicates information about subsets X�1 and X�2 of the set X, where a subset can include a single coefficient.
For a set or subset X in a multi-level nested set representation, each of the Huffman codes in Table 1 indicates whether A0 or A1 applies for each of the two subsets X�1 and X�2 of X, respectively. Each of the Huffman codes in Table 2 indicates whether A0, A1 or A2 applies for each of the two subsets X�1 and X�2 of X, respectively. For example, if the subset of coefficient values contains 0 and −5, the Huffman code HC5�4 indicates that the first coefficient value is zero and the second coefficient value is non-zero with an absolute value greater than 1. If the subset of coefficient values contains 0, 0, 0, 0, 0, 2, −1, 1 and is split evenly into subsets, the Huffman code HC5�4 indicates the first subset (0, 0, 0, 0) includes only zero-value coefficients and the second subset (0, 2, −1, 1) includes at least one non-zero value coefficient with an absolute value greater than 1.
In the following examples, each of the terms HC5_x and HC3_x is simply an indicator of a Huffman code having a particular pattern of bits. FIG. 13A shows the application of the Huffman codes of Tables 1 and 2 to the multi-level nested set representation of FIG. 12A. At the first level (1305), HC5�0 indicates that the set is split into two subsets, each having at least one non-zero coefficient value with an absolute value greater than 1. The first subset (for position 0) has a single value value�25 that is signaled as one or more variable length codes, for example, Golomb codes or Huffman codes. The second subset (for positions 1 to 63) is also split into two subsets, each having at least one non-zero coefficient value with an absolute value greater than 1, indicated with the code HC5�0. Subsets with non-zero values are split into subsets, as indicated with the Huffman codes. If a subset with non-zero value(s) includes only values of −1, 0 or 1, a Huffman code from Table 1 represents the subset. For example, if a set that includes −1, 1, 1, 1 and eight zeros is split into a first subset with −1, 1, 1 and 1 and a second subset with the eight zeros, the code HC3�1 represents the set. For each 1 or −1, a sign is signaled for the coefficient value, the absolute value being indicated by previous codes.
An encoding tool signals the Huffman codes shown in FIGS. 13A and 13B according to a depth-first traversal of the representation. HC5�0, code(s) for 25, HC5�0, HC5�0, code(s) for 12, HC5�4, code(s) for −5, and so on. Alternatively, the encoding tool signals the Huffman codes shown in FIGS. 13A and 13B according to a breadth-first traversal of the representation.
In many encoding scenarios, the Huffman codes facilitate effective encoding and decoding of transform coefficients by grouping zero-value coefficients. When a decoding tool receives a code HC5�4 for a set X, then the decoding tool recognizes that every frequency coefficient in subset X�1 of set X has the value 0. The decoding tool therefore will not need to spend time further decoding subset X�1, but can instead assign the value 0 to every frequency coefficient in the subset X�1 and proceed with decoding a different subset, such as X�2 (which has a non-zero frequency coefficient value indicated for the subset). Thus, this alphabet can decrease the number of symbols necessary to encode a block of frequency coefficients.
If, the tool determines (1615) to split the set into n lower level subsets, the tool checks (1625) the code(s) to determine whether to decode the first of the subsets. If the first subset contains a non-zero frequency coefficient, then the tool decodes (1630) that subset as a �set� by performing the decoding technique (1600) on the subset. When the tool returns from the decoding for that subset, the tool checks (1635) whether there are other subsets remaining to decode. Or, if the first subset is not decoded, the tool checks (1635) whether there are other subsets remaining to decode. If there are other subsets remaining to decode, then the tool checks (1625) whether to decode the next of the n subsets. The tool repeats this process until the check (1635) indicates that there are no other subsets of the given set left to decode, and the tool returns (1020) to the point of entry (for a subset) or is done decoding the given set. Depending on the coefficient values or number of coefficients in the set being decoded, finishing may cause the tool to return to decoding a higher level set or finish decoding the block and begin decoding a next block of video.
When performing run-level decoding, the tool first decodes codes indicating the presence or absence of non-zero valued frequency coefficients for the coefficient position subsets 0-15, 16-31, 32-47, and 48-63 (see FIGS. 1, 8 and 11C), of which only subset 0-15 includes any non-zero coefficient values. The bit stream yields the codes run_level_code�0 and run_level_code_EOB, which indicate run-level encoding results of 0 EOB, which correspond to symbols 1 0 0 0 for the coefficient subsets. The decoding tool reconstructs zero-value coefficients for positions 16 to 63 and receives one or more codes for the subset 0-15, which includes at least one non-zero value.
For the subset 0-15, the tool receives and parses the codes run_level_code�0, run_level_code�1, and run_level_code�0, representing run-level encoding results 0 1 0 for the symbols 1 0 1 1. The decoding tool reconstructs zero-value coefficients for positions 4 to 7 and receives one or more codes for the subset 0-3. The run-level codes for subset 0-3 are decoded to produce the symbols 1 1 0 1 for positions 0 to 3, and the tool receives and parses codes for the non-zero coefficient values at positions 0, 1 and 3. The decoding tool similarly receives and parses codes for subset 8-11, then for subset 12-15, decoding values for positions 8 to 15. Because the tool has placed a coefficient value at each of coefficient positions 0-63, the tool then is done decoding the transform coefficient values for the current block.
Or, when performing run-length decoding, the tool receives and parses codes indicating the presence or absence of non-zero valued frequency coefficients for the coefficient position subsets 0-15, 16-31, 32-47, and 48-63 (see FIGS. 1, 8 and 11C). The bit stream yields the codes run_length_code�0, run_length_code�1, and run_length_code_EOB, which indicate run-length encoding results of 0 1 EOB and correspond to symbols 1 0 0 0 for the coefficient subsets. The symbols 1 0 0 0 indicates that at least one non-zero value is present in positions 0-15, and additionally each of positions 16-63 has a 0-valued frequency coefficient. The decoding tool is thus able to place a value of 0 for each of the frequency coefficients in positions 16-63.
The tool next receives and parses codes indicating the presence or absence of non-zero valued frequency coefficients for the coefficients at positions 0-3, 4-7, 8-11, and 12-15. The bit stream yields the codes run_length_code�0, run_length_code�1, run_length_code�1, and run_length_code_EOB, which correspond to run-length encoding results of 0 1 1 EOB and to symbols 1 0 1 1 for coefficient position subsets 0-3, 4-7, 8-11, and 12-15, respectively. The symbols 1 0 1 1 indicate that at least one non-zero value is present in each of positions 0-3, positions 8-11, and positions 12-15, and that there are no non-zero valued frequency coefficients in positions 4-7, and so the decoding tool places a value of 0 for each of the frequency coefficients in positions 4-7.
Next, the tool receives and parses codes indicating the presence or absence of non-zero valued frequency coefficients for the coefficients at positions 0, 1, 2, and 3. The bit stream yields codes run_length_code�0, run_length_code�2, run_length-code�1, and run_length_code_EOB, which indicate run-length encoding results of 0 2 1 EOB and corresponding symbols 1 1 0 1. Symbols 1 1 0 1 indicate that the coefficients at positions 0, 1, and 3 each contain a frequency coefficient with a non-zero value, while the coefficient at position 2 does not. The tool thus automatically places a value of 0 in the coefficient position 2. The tool further receives and parses the codes value�25, value�12, and value�−5, corresponding to coefficient values of 25, 12, and −5, respectively. Because the tool decoded the symbols 1 1 0 1 for positions 0-3, the tool places the value 25 at position 0, the value 12 at position 1, and the value −5 at position 3. The tool similarly receives and parses codes for subset 8-11 (and its non-zero values) and subset 12-15 (and its non-zero values). Because the tool has placed a coefficient value at each of coefficient positions 0-63, the tool then is done decoding the transform coefficient values for the current block.
The tool receives and parses the code HC5�0, which indicates that both the first first-level subset (corresponding to the coefficient at position 0) and the second second-level subset (corresponding to the coefficients at positions 1-63) comprise one or more non-zero coefficient values whose absolute value is greater than 1.
The tool next receives and parses the code value�25. In this example, value�25 is an arbitrary indication of a code that corresponds to a value of 25 for the frequency coefficient. The previously decoded code HC5�0 indicates that the value 25 is the value of the coefficient at position 0. Thus, the tool places the value 25 at coefficient position 0 and proceeds to further decode codes in the bit stream.
The tool next receives and parses code HC5�0 from the bit stream, indicating the symbols A2 A2 for subsets 1-3 and 4-63, respectively. The first subset at a next lower level (corresponding to coefficient positions 1-3) and the second set at the next lower level (corresponding to coefficient positions 4-63) both contain one or more non-zero valued frequency coefficients whose absolute value is greater than 1. Following a depth-first traversal of FIG. 13B, the tool receives and parses the codes HC5�0 (for subset 1-3), value�12 (for position 1), HC5�4 (for subset 2-3), value�−5 (for position 3), HC5�2 (for subset 4-63), HC5�4 (for subset 4-15), HC5�1 (for subset 8-15), HC5�4 (for subset 8-11), HC5�1 (for subset 9-11), and so on.
When the tool reaches a code such as the code HC3�0 shown at the second level from the bottom (1370), the code indicates the presence of at least one non-zero coefficient value with an absolute value of 1 in a set, with no coefficient in the set having a greater absolute value. Thus, in addition to decoding the symbols for the coefficients or subsets, the tool only needs to decode a sign value (e.g., sign bit) to indicate whether the non-zero value of the particular frequency coefficient is 1 or −1, as shown in the bottom-most level (1375).
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4420771Feb 9, 1981Dec 13, 1983Bell Telephone Laboratories, IncorporatedTechnique for encoding multi-level signalsUS4698672Oct 27, 1986Oct 6, 1987Compression Labs, Inc.Coding system for reducing redundancyUS4730348Sep 19, 1986Mar 8, 1988Adaptive Computer TechnologiesAdaptive data compression systemUS4792981Sep 21, 1987Dec 20, 1988Am International, Inc.Manipulation of run-length encoded imagesUS4813056Dec 8, 1987Mar 14, 1989General Electric CompanyModified statistical coding of digital signalsUS4901075Sep 11, 1987Feb 13, 1990U. S. Philips CorporationMethod and apparatus for bit rate reductionUS4968135Oct 10, 1989Nov 6, 1990Digital Equipment CorporationSystem for producing pixel image data from CCITT encoded pixel dataUS5043919Dec 19, 1988Aug 27, 1991International Business Machines CorporationMethod of and system for updating a display unitUS5089818May 9, 1990Feb 18, 1992French State, Represented By The Minister Of Post, Telecommunications And Space (Centre National D'etudes Des TelecommunicationsMethod of transmitting or storing sound signals in digital form through predictive and adaptive coding and installation thereforeUS5109451Jun 28, 1991Apr 28, 1992Sharp Kabushiki KaishaOrthogonal transform coding system for image dataUS5128758Jun 2, 1989Jul 7, 1992North American Philips CorporationMethod and apparatus for digitally processing a high definition television augmentation signalUS5146324Jul 31, 1990Sep 8, 1992Ampex CorporationData compression using a feedforward quantization estimatorUS5179442Nov 26, 1990Jan 12, 1993North American Philips CorporationMethod and apparatus for digitally processing a high definition television augmentation signalUS5227788Mar 2, 1992Jul 13, 1993At&T Bell LaboratoriesMethod and apparatus for two-component signal compressionUS5227878Nov 15, 1991Jul 13, 1993At&T Bell LaboratoriesAdaptive coding and decoding of frames and fields of videoUS5253053Dec 31, 1990Oct 12, 1993Apple Computer, Inc.Variable length decoding using lookup tablesUS5266941Feb 15, 1991Nov 30, 1993Silicon Graphics, Inc.Apparatus and method for controlling storage of display information in a computer systemUS5270832Apr 14, 1992Dec 14, 1993C-Cube MicrosystemsSystem for compression and decompression of video data using discrete cosine transform and coding techniquesUS5367629Dec 18, 1992Nov 22, 1994Sharevision Technology, Inc.Digital video compression system utilizing vector adaptive transformUS5373513Aug 16, 1991Dec 13, 1994Eastman Kodak CompanyShift correction code system for correcting additive errors and synchronization slipsUS5376968Mar 11, 1993Dec 27, 1994General Instrument CorporationAdaptive compression of digital video data using different modes such as PCM and DPCMUS5381144Oct 25, 1993Jan 10, 1995Matsushita Electric Industrial Co., Ltd.Versatile escape run-level coder for digital video signal processing apparatusUS5394170Dec 15, 1992Feb 28, 1995Silicon Graphics, Inc.Apparatus and method for controlling storage of display information in a computer systemUS5400075Jan 13, 1993Mar 21, 1995Thomson Consumer Electronics, Inc.Adaptive variable length encoder/decoderUS5408234Apr 30, 1993Apr 18, 1995Apple Computer, Inc.Multi-codebook coding processUS5457495May 25, 1994Oct 10, 1995At&T Ipm Corp.Adaptive video coder with dynamic bit allocationUS5461421Nov 29, 1993Oct 24, 1995Samsung Electronics Co., Ltd.Encoding and decoding method and apparatus thereofUS5467134Dec 22, 1992Nov 14, 1995Microsoft CorporationMethod and system for compressing video dataUS5481553Feb 28, 1994Jan 2, 1996Sony CorporationMethods and apparatus for preventing rounding errors when transform coefficients representing a motion picture signal are inversely transformedUS5493407Jan 13, 1994Feb 20, 1996Nec CorporationEncoder in facsimile apparatus generates code words with one bit address indicating remaining bits are raw unencoded data when number of pixels in a run length are below a predetermined numberUS5504591Apr 25, 1994Apr 2, 1996Microsoft CorporationSystem and method for compressing graphic imagesUS5508816Oct 7, 1993Apr 16, 1996Nec CorporationSynchronous compression and reconstruction systemUS5533140Nov 28, 1994Jul 2, 1996U.S. Philips CorporationSystem for transmitting and/or storing signals corresponding to textured picturesUS5535305Dec 31, 1992Jul 9, 1996Apple Computer, Inc.Sub-partitioned vector quantization of probability density functionsUS5544286Jan 29, 1993Aug 6, 1996Microsoft CorporationDigital video data compression techniqueUS5559557Sep 28, 1993Sep 24, 1996Sony CorporationMotion video coding with adaptive precision for DC component coefficient quantization and variable length codingUS5568167Sep 23, 1994Oct 22, 1996C-Cube Microsystems, Inc.System for providing antialiased video overlaysUS5574449Feb 24, 1995Nov 12, 1996Intel CorporationSignal processing with hybrid variable-length and entropy encodidngUS5579430Jan 26, 1995Nov 26, 1996Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V.Digital encoding processUS5592584Nov 4, 1994Jan 7, 1997Lucent Technologies Inc.Method and apparatus for two-component signal compressionUS5627938Sep 22, 1994May 6, 1997Lucent Technologies Inc.Rate loop processor for perceptual encoder/decoderUS5654706Dec 18, 1996Aug 5, 1997Samsung Electronics Co., Ltd.System for variable length decoding digital transmission data which has been compressed by selecting a scanning patternUS5661755Oct 20, 1995Aug 26, 1997U. S. Philips CorporationEncoding and decoding of a wideband digital information signalUS5664057Apr 3, 1995Sep 2, 1997Picturetel CorporationFixed bit rate speech encoder/decoderUS5675332Feb 1, 1996Oct 7, 1997Samsung Electronics Co., Ltd.Plural-step chunk-at-a-time decoder for variable-length codes of Huffman typeUS5714950 *Feb 23, 1996Feb 3, 1998Samsung Electronics Co., Ltd.System for variable-length-coding and variable-length-decoding digitaldataUS5717821May 31, 1994Feb 10, 1998Sony CorporationMethod, apparatus and recording medium for coding of separated tone and noise characteristic spectral components of an acoustic sibnalUS5732156Mar 1, 1995Mar 24, 1998Fuji Photo Film, Co. Ltd.Picture data compression coding device and method thereofUS5734340Aug 27, 1996Mar 31, 1998Symantech CorporationMachine-implemented data compression methodUS5748789Oct 31, 1996May 5, 1998Microsoft CorporationTransparent block skipping in object-based video coding systemsUS5793897Dec 16, 1994Aug 11, 1998Samsung Electronics Co., Ltd.Adaptive variable-length coding and decoding methods for image dataUS5801648Dec 15, 1995Sep 1, 1998Fujitsu LimitedData compressing method, data compressing apparatus, data decompressing method and data decompressing apparatusUS5802213Oct 18, 1994Sep 1, 1998Intel CorporationEncoding video signals using local quantization levelsUS5812971Mar 22, 1996Sep 22, 1998Lucent Technologies Inc.Enhanced joint stereo coding method using temporal envelope shapingUS5819215Oct 13, 1995Oct 6, 1998Dobson; KurtMethod and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory dataUS5825830Aug 17, 1995Oct 20, 1998Kopf; David A.Method and apparatus for the compression of audio, video or other dataUS5825979Dec 21, 1995Oct 20, 1998Sony CorporationDigital audio signal coding and/or deciding methodUS5828426Aug 20, 1996Oct 27, 1998Samsung Electronics Co., Ltd.Apparatus for decoding variable length coded data of both MPEG-1 and MPEG-2 standardsUS5831559Jun 27, 1996Nov 3, 1998Intel CorporationEncoding/decoding video signals using multiple run-val mapping tablesUS5835030Apr 3, 1995Nov 10, 1998Sony CorporationSignal encoding method and apparatus using selected predetermined code tablesUS5835144Sep 28, 1995Nov 10, 1998Oki Electric Industry Co., Ltd.Methods of coding and decoding moving-picture signals, using self-resynchronizing variable-length codesUS5844508Oct 17, 1996Dec 1, 1998Fujitsu LimitedData coding method, data decoding method, data compression apparatus, and data decompression apparatusUS5850482Apr 17, 1996Dec 15, 1998Mcdonnell Douglas CorporationError resilient method and apparatus for entropy codingUS5883633Apr 15, 1997Mar 16, 1999Microsoft CorporationMethod and system of variable run length image encoding using sub-paletteUS5884269Apr 17, 1995Mar 16, 1999Merging TechnologiesLossless compression/decompression of digital audio dataUS5889891Nov 21, 1995Mar 30, 1999Regents Of The University Of CaliforniaUniversal codebook vector quantization with constrained storageUS5903231Dec 16, 1996May 11, 1999Vidicast Ltd.System for encoding base N data using a multi-level coding schemeUS5946043Dec 31, 1997Aug 31, 1999Microsoft CorporationVideo coding using adaptive coding of block parameters for coded/uncoded blocksUS5969650Jan 16, 1998Oct 19, 1999Matsushita Electric Industrial Co., Ltd.Variable length coder with a small table sizeUS5974184Oct 24, 1997Oct 26, 1999General Instrument CorporationIntra-macroblock DC and AC coefficient prediction for interlaced digital videoUS5974380Dec 16, 1997Oct 26, 1999Digital Theater Systems, Inc.Multi-channel audio decoderUS5982437Oct 15, 1993Nov 9, 1999Sony CorporationCoding method and system, and decoding method and systemUS5983172Nov 29, 1996Nov 9, 1999Hitachi, Ltd.Method for coding/decoding, coding/decoding device, and videoconferencing apparatus using such deviceUS5990960Dec 9, 1998Nov 23, 1999Mitsubishi Denki Kabushiki KaishaImage signal coding systemUS5991451Feb 28, 1996Nov 23, 1999Intel CorporationVariable-length encoding using code swappingUS5995670Jun 4, 1996Nov 30, 1999Microsoft CorporationSimplified chain encodingUS6002439May 27, 1999Dec 14, 1999Mitsubishi Denki Kabushiki KaishaImage signal coding systemUS6009387Mar 20, 1997Dec 28, 1999International Business Machines CorporationSystem and method of compression/decompressing a speech signal by using split vector quantization and scalar quantizationUS6026195Apr 28, 1999Feb 15, 2000General Instrument CorporationMotion estimation and compensation of video object planes for interlaced digital videoUS6038536Jan 30, 1998Mar 14, 2000Texas Instruments IncorporatedData compression using bit change statisticsUS6041302Nov 10, 1997Mar 21, 2000U.S. Philips CorporationData compression/expansion using a rice encoder/decoderUS6049630Oct 27, 1997Apr 11, 2000America Online, Inc.Data compression using adaptive bit allocation and hybrid lossless entropy encodingUS6054943Mar 25, 1998Apr 25, 2000Lawrence; John CliftonMultilevel digital information compression based on lawrence algorithmUS6078691Jan 23, 1998Jun 20, 2000Oce-Technologies B.V.Method, apparatus, and article of manufacture for performing image processing operations on runlength-encoded bitmapsUS6097759Nov 22, 1999Aug 1, 2000Mitsubishi Denki Kabushiki KaishaImage signal coding systemUS6097880Aug 18, 1997Aug 1, 2000Sony CorporationDigital signal processing method, digital signal processing apparatus, digital signal recording method, digital signal recording apparatus, recording medium, digital signal transmission method and digital signal transmission apparatusUS6100825Dec 31, 1998Aug 8, 2000Microsoft CorporationCluster-based data compression system and methodUS6111914Dec 1, 1997Aug 29, 2000Conexant Systems, Inc.Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processesUS6140944May 20, 1998Oct 31, 2000Sharp Kabushiki KaishaVariable-length coding device and method using table that holds information on presence/absence of code correspondingly to region represented by combination of run data and level dataUS6148109May 28, 1997Nov 14, 2000Matsushita Electric Industrial Co., Ltd.Image predictive coding methodUS6154572Jun 30, 1997Nov 28, 2000Microsoft, Inc.Table based compression with embedded codingUS6195465Jul 3, 1995Feb 27, 2001Ricoh Company, Ltd.Method and apparatus for compression using reversible wavelet transforms and an embedded codestreamUS6205256Jun 30, 1997Mar 20, 2001Microsoft CorporationTable-based compression with embedded codingUS6208274Jul 10, 1998Mar 27, 2001U.S. Philips CorporationTransmission system using a variable length encoderUS6215910Mar 28, 1996Apr 10, 2001Microsoft CorporationTable-based compression with embedded codingUS6223162Dec 14, 1998Apr 24, 2001Microsoft CorporationMulti-level run length coding for frequency-domain audio codingUS6226407Mar 18, 1998May 1, 2001Microsoft CorporationMethod and apparatus for analyzing computer screensUS6233017Jun 30, 1997May 15, 2001Microsoft CorporationMultimedia compression system with adaptive block sizesUS6233359Oct 29, 1998May 15, 2001Seiko Epson CorporationFile size bounded JPEG transcoder (FSBJT)US6253165Jun 30, 1998Jun 26, 2001Microsoft CorporationSystem and method for modeling probability distribution functions of transform coefficients of encoded signalUS6678419 *Mar 26, 1999Jan 13, 2004Microsoft CorporationReordering wavelet coefficients for improved encodingUS6954157 *Apr 21, 2005Oct 11, 2005Matsushita Electric Industrial Co., Ltd.Variable length coding method and variable length decoding method* Cited by examinerNon-Patent CitationsReference1"ISO/IEC 11172-3, Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at Up to Ab out 1.5 Mbit/s-Part 3: Audio," 154 pp. (1993).2"ISO/IEC 13818-7, Information Technology-Generic Coding of Moving Pictures and Associated Audio Information-Part 7: Advanced Audio Coding (AAC)," 174 pp. (1997).3"ISO/IEC 11172-3, Information Technology�Coding of Moving Pictures and Associated Audio for Digital Storage Media at Up to Ab out 1.5 Mbit/s�Part 3: Audio," 154 pp. (1993).4"ISO/IEC 13818-7, Information Technology�Generic Coding of Moving Pictures and Associated Audio Information�Part 7: Advanced Audio Coding (AAC)," 174 pp. (1997).5Advanced Television Systems Committee, "ATSC Standard: Digital Audio Compression (AC-3), Revision A," 140 pp. (1995).6Alberto Del Bimbo, "Progettazione e Produzione Multimediale," Univ. degli Studi di Firenze, 51 pp., downloaded from the World Wide Web.7Bell et al., "Text Compression," Prentice Hall, pp. 105-107, 1990.8Bosi et al., "ISO/IEC MPEG-2 Advance Audio Coding," J. Audio Eng. Soc., vol. 45, No. 10, pp. 789-812 (1997).9Brandenburg et al, "Second Generation Perceptual Audio Coding: the Hybrid Coder," AES Preprint, 13 pp. (Mar. 1990).10Brandenburg et al., "ASPEC: Adaptive Spectral Entropy Coding of High Quality Music Signals," Proc. AES, 12 pp. (Feb. 1991).11Brandenburg et al., "Low Bit Rate Codecs for Audio Signals: Implementations in Real Time," Proc. AES, 12 pp. (Nov. 1988).12Brandenburg et al., "Low Bit Rate Coding of High-quality Digital Audio: Algorithms and Evaluation of Quality," Proc. AES, pp. 201-209 (May 1989).13Brandenburg, "ASPEC Coding," AES 10th International Conference, pp. 81-90 (1991).14Brandenburg, "ASPEC Coding," AES 10th International Conference, pp. 81-90 (Sep. 1991).15Brandenburg, "High Quality Sound Coding at 2.5 Bits/Sample," Proc. AES, 15 pp. (Mar. 1988).16Brandenburg, "OCF: Coding High Quality Audio with Data Rates of 64 kbit/sec," Proc. AES, 17 pp. (Mar. 1988).17Brandenburg, "OCF-A New Coding Algorithm for High Quality Sound Signals," Proc. ICASSP, pp. 5.1.1-5.1.4 (May 1987).18Brandenburg, "OCF�A New Coding Algorithm for High Quality Sound Signals," Proc. ICASSP, pp. 5.1.1-5.1.4 (May 1987).19Chiang et al., "A Radix-2 Non-Restoring 32-b/32-b Ring Divider with Asynchronous Control Scheme," Tamkang Journal of Science and Engineering, vol. 2, No. 1, pp. 37-43 (1999).20Chung et al., "A Novel Memory-efficient Huffman Decoding Algorithm and its Implementation," Signal Processing 62, pp. 207-213 (1997).21Costa et al., "Efficient Run-Length Encoding of Binary Sources with Unknown Statistics", Technical Report No. MSR-TR-2003-95, pp. 1-10, Microsoft Research, Microsoft Corporation (Dec. 2003).22Cui et al., "A novel VLC based on second-run-level coding and dynamic truncation," Proc. SPIE, vol. 6077, pp. 607726-1 to 607726-9 (2006).23Davidson et al., "Still Image Coding Standard-JPEG," Helsinki University of Technology, 24 pages, downloaded from the World Wide Web (2004).24Davidson et al., "Still Image Coding Standard�JPEG," Helsinki University of Technology, 24 pages, downloaded from the World Wide Web (2004).25Davis, "The AC-3 Multichannel Coder," Dolby Laboratories Inc., Audio Engineering Study, Inc., Oct. 1993.26De Agostino et al., "Parallel Algorithms for Optimal Compression using Dictionaries with the Prefix Property," Proc. Data Compression Conference '92, IEEE Computer Society Press, pp. 52-62 (1992).27Duhamel et al., "A Fast Algorithm for the Implementation of Filter Banks Based on Time Domain Aliasing Cancellation," Proc. Int'l Conf. Acous., Speech, and Sig. Process, pp. 2209-2212 (May 1991).28Gailly, "comp.compression Frequently Asked Questions (part 1/3)," 64 pp., document marked Sep. 5, 1999 [Downloaded from the World Wide Web on Sep. 5, 2007].29Gersho et al., "Vector Quantization and Signal Compression," pp. 259-305 (1992).30Gibson et al., Digital Compression for Multimedia, "Chapter 2: Lossless Source Coding," Morgan Kaufmann Publishers, Inc., San Francisco, pp. 17-61 (1998).31Gibson et al., Digital Compression for Multimedia, "Chapter 7: Frequency Domain Morgan Coding," Morgan Kaufmann Publishers, Inc., pp. 227-262 (1998).32Gill et al., "Creating High-Quality Content with Microsoft Windows Media Encoder 7," 4 pp. (2000) [ Downloaded from the World Wide Web on May 1, 2002].33Hui et al., "Matsushita Algorithm for Coding of Moving Picture Information," ISO/IEC-JTC1/SC29/WG11, MPEG91/217, 76 pp. (Nov. 1991).34International Search Report and Written Opinion dated Jan. 12, 2010, for Application No. PCT/US2009/039089, 8 pp.35International Search Report and Written Opinion for PCT/US06/30563, dated Oct. 17, 2007, 8 pages.36International Search Report and Written Opinion for PCT/US06/30566 dated Sep. 28, 2007.37Ishii et al., "Parallel Variable Length Decoding with Inverse Quantization for Software MPEG-2 Decoders," IEEE Signal Processing Systems, pp. 500-509 (1997).38ISO/IEC 14496-2, "Coding of Audio-Visual Object-Part 2: Visual," Third Edition, pp. 1-727, (Jun. 2004).39ISO/IEC 14496-2, "Coding of Audio-Visual Object�Part 2: Visual," Third Edition, pp. 1-727, (Jun. 2004).40ISO/IEC, "ISO/IEC 11172-2, Information Technology-Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to About 1.5 Mbit/s-Part 2: Video," 112 pp. (1993).41ISO/IEC, "JTC1/SC29/WG11 N2202, Information Technology-Coding of Audio-Visual Objects: Visual, ISO/IEC 14496-2," 329 pp. (1998).42ISO/IEC, "Lossless and Near-lossless Coding of Continuous Tone Still Images (JPEG-LS)," JTC1/SC29/WG1 FCD 14495, 79 pp. (1997).43ISO/IEC, "ISO/IEC 11172-2, Information Technology�Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to About 1.5 Mbit/s�Part 2: Video," 112 pp. (1993).44ISO/IEC, "JTC1/SC29/WG11 N2202, Information Technology�Coding of Audio-Visual Objects: Visual, ISO/IEC 14496-2," 329 pp. (1998).45ITU-T Recommendation H.264, "Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services-Coding of Moving Video," International Telecommunication Union, pp. 1-262 (May 2003).46ITU-T Recommendation H.264, "Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services�Coding of Moving Video," International Telecommunication Union, pp. 1-262 (May 2003).47ITU-T Recommendation T.800, "Series T: Terminals for Telematic Services," International Telecommunication Union, pp. 1-194 (Aug. 2002).48ITU-T, "ITU-T Recommendation H.261, Video Codec for Audiovisual Services at p � 64 kbits," 25 pp. (1993).49ITU-T, "ITU-T Recommendation H.262, Information Technology-Generic Coding of Moving Pictures and Associated Audio Information: Video," 205 pp. (1995).50ITU-T, "ITU-T Recommendation H.263, Video coding for low bit rate communication," 162 pp. (1998).51ITU-T, "ITU-T Recommendation H.262, Information Technology�Generic Coding of Moving Pictures and Associated Audio Information: Video," 205 pp. (1995).52Iwadare et al., "A 128 kb/s Hi-Fi Audio CODEC Based on Adaptive Transform Coding with Adaptive Block Size MDCT," IEEE. J. Sel. Areas in Comm., pp. 138-144 (Jan. 1992).53Jeong et al., "Adaptive Huffman Coding of 2-D DCT Coefficients for Image Sequence Compression," Signal Processing: Image Communication, vol. 7, 11 pp. (1995).54Johnston, "Perceptual Transform Coding of Wideband Stereo Signals," Proc. ICASSP, pp. 1993-1996 (May 1989).55Johnston, "Transform Coding of Audio Signals Using Perceptual Noise Criteria," IEEE J. Sel. Areas in Comm., pp. 314-323 (Feb. 1988).56Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, "Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264, ISO/IEC 14496-10 AVC)," 253 pp. (May 2003).57Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, "Joint Final Committee Draft (JFCD) of Joint Video Specification," JVT-D157, 207 pp. (Aug. 2002).58Li et al., "Optimal Linear Interpolation Coding for Server-Based Computing," Proc. IEEE Int'l Conf. on Communications, 5 pp. (Apr.-May 2002).59Mahieux et al., "Transform Coding of Audio Signals at 64 kbits/sec," Proc. Globecom, pp. 405.2.1-405.2.5 (Nov. 1990).60Malvar, "Fast Progressive Image Coding without Wavelets", IEEE Data Compression Conference, Snowbird, Utah, 10 pp. (Mar. 2000).61Marpe et al., "Adaptive Codes for H.26L," ITU Study Group 16-Video Coding Experts Group-ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q6), No. VCEG-L13, 7 pages, Jan. 8, 2001.62Marpe et al., "Adaptive Codes for H.26L," ITU Study Group 16�Video Coding Experts Group�ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q6), No. VCEG-L13, 7 pages, Jan. 8, 2001.63Matthias, "An Overview of Microsoft Windows Media Screen Technology," 3 pp. (2000) [Downloaded from the World Wide Web on May 1, 2002].64Microsoft Corporation, "Microsoft Debuts New Windows Media Player 9 Series, Redefining Digital Media on the PC," 4 pp. (Sep. 4, 2002) [Downloaded from the World Wide Web on Jul. 16, 2004].65Mook, "Next-Gen Windows Media Player Leaks to the Web," BetaNews, 18 pp. (Jul. 2002) [Downloaded from the World Wide Web on Mar. 16, 2004].66Murray and Van Ryper, "JPEG compression," Encyclopedia of Graphics File Formats, 2nd Edition, Chapter 9, Section 6, 10 pp., downloaded from the World Wide Web (1996).67Murray and Van Ryper, "JPEG compression," Encyclopedia of Graphics File Formats, 2nd Edition, Chapter 9, Section 6, 10 pp., downloaded from the World Wide Web (1996).68Najafzadeh-Azghandi, "Perceptual Coding of Narrowband Audio Signals," Thesis, 139 pp. (Apr. 2000).69Nelson, The Data Compression Book, "Huffman One Better: Arithmetic Coding," Chapter 5, pp. 123-165 (1992).70OPTX International, "New Screen Watch(TM) 4.0 Clikc and Stream(TM) Wizard from OPTX International Makes Workplace Communication Effortless," 1 p., document marked Sep. 24, 2001 [Downloaded from the World Wide Web on Sep. 22, 2005].71OPTX International, "OPTX Improves Technology-Based Training with Screen Watch(TM) 3.0. Versatile Screen Capture Software Adds High Color and Live Webcast Support," 1 p., document marked Feb. 15, 2001 [Downloaded from the World Wide Web on Sep. 22, 2005].72OPTX International, "OPTX International Marks One Year Anniversary of Screen Watch With Release of New 2.0 Version," 1 p., document marked May 16, 2000 [Downloaded from the World Wide Web on Sep. 22, 2005].73OPTX International, "New Screen Watch� 4.0 Clikc and Stream� Wizard from OPTX International Makes Workplace Communication Effortless," 1 p., document marked Sep. 24, 2001 [Downloaded from the World Wide Web on Sep. 22, 2005].74OPTX International, "OPTX Improves Technology-Based Training with Screen Watch� 3.0. Versatile Screen Capture Software Adds High Color and Live Webcast Support," 1 p., document marked Feb. 15, 2001 [Downloaded from the World Wide Web on Sep. 22, 2005].75Palmer et al., "Shared Desktop: A Collaborative Tool for Sharing 3-D Applications Among Different Window Systems," Digital Tech. Journal, vol. 9, No. 3, pp. 42-49 (1997).76Princen et al., "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation," IEEE Trans. ASSP, pp. 1153-1161 (Oct. 1986).77Printouts of FTP directories from http://ftp3.itu.ch, 8 pp. [Downloaded from the World Wide Web on Sep. 20, 2005].78Reader, "History of MPEG Video Compression-Ver. 4.0," 99 pp., document marked Dec. 16, 2003.79Reader, "History of MPEG Video Compression�Ver. 4.0," 99 pp., document marked Dec. 16, 2003.80Schaar-Mitrea et al., "Hybrid Compresion of Video with Graphics in DVT Communication Systems," IEEE Trans. on Consumer Electronics, pp. 1007-1017 (2000).81Schroder et al., "High Quality Digital Audio Encoding with 3.0 Bits/Semple using Adaptive Transform Coding," Proc. 80th Conv. Aud. Eng. Soc., 8 pp. (Mar. 1986).82Shamoon et al., "A Rapidly Adaptive Lossless Compression Algorithm for High Fidelity Audio Coding," IEEE Data Compression Conf., pp. 430-439 (Mar. 1994).83Sullivan et al., "The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions," 21 pp. (Aug. 2004).84Techsmith Corporation, "Camtasia Feature of the Week: Quick Capture," 2 pp., document dated Jan. 4, 2001 [Downloaded from the World Wide Web on May 9, 2002].85Techsmith Corporation, "Camtasia Screen Recorder SDK DLL API User Guide," Version 1.0, 66 pp. (2001).86Techsmith Corporation, "Camtasia v.3.0.1-README.TXT," 19 pp. (Jan. 2002).87Techsmith Corporation, "Techsmith Camtasia Screen Recorder SDK," 2 pp. (2001).88Techsmith Corporation, "Camtasia v.3.0.1�README.TXT," 19 pp. (Jan. 2002).89Theile et al., "Low-Bit Rate Coding of High Quality Audio Signals," Proc. AES, 32 pp. (Mar. 1987).90Tu et al., "Context-Based Entropy Coding of Block Transform Coefficients for Image Compression," IEEE Transactions on Image Processing, vol. 11, No. 11, pp. 1271-1283 (Nov. 2002).91U.S. Appl. No. 60/341,674, filed Dec. 2001, Lee et al.92U.S. Appl. No. 60/488,710, filed Jul. 18, 2003, Srinivasan et al.93U.S. Appl. No. 60/488,710, filed Jul. 2003, Srinivasan et al.94Wien et al., "16 Bit Adaptive Block Size Transforms," JVT-C107r1, 54 pp.95Wien, "Variable Block-Size Transforms for Hybrid Video Coding," Dissertation, 182 pp. (Feb. 2004).Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8532413 *Sep 14, 2011Sep 10, 2013Samsung Electronics Co., Ltd.Entropy encoding/decoding method and apparatus for hierarchical image processing and symbol encoding/decoding apparatus for the sameUS20110164677 *Sep 24, 2009Jul 7, 2011Dolby Laboratories Licensing CorporationComplexity Allocation for Video and Image Coding ApplicationsUS20120093425 *Sep 14, 2011Apr 19, 2012Samsung Electronics Co., Ltd.Entropy encoding/decoding method and apparatus for hierarchical image processing and symbol encoding/decoding apparatus for the same* Cited by examinerClassifications U.S. Classification375/240.24, 375/240.23, 375/240.26, 382/245, 382/246, 382/244International ClassificationH04B1/66Cooperative ClassificationH04N19/00272, H04N19/0023, H04N19/00193, H04N19/00545, H04N19/00266, H04N19/00109, H04N19/00278, H04N19/00187, H04N19/00951, H04N19/00139, H04N19/00121European ClassificationH04N7/26A6U, H04N7/26A6E6S, H04N7/26A4S, H04N7/26A8L, H04N7/26A4V, H04N7/26A10S, H04N7/26A6E6, H04N7/26A8B, H04N7/26A8PLegal EventsDateCodeEventDescriptionJan 1, 2013CCCertificate of correctionJun 11, 2008ASAssignmentOwner name: MICROSOFT CORPORATION, WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TU, CHENGJIE;REGUNATHAN, SHANKAR;SUN, SHIJUN;AND OTHERS;REEL/FRAME:021081/0594Effective date: 20080502RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google