USRE42745E1  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices  Google Patents
Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices Download PDFInfo
 Publication number
 USRE42745E1 USRE42745E1 US12689897 US68989710A USRE42745E US RE42745 E1 USRE42745 E1 US RE42745E1 US 12689897 US12689897 US 12689897 US 68989710 A US68989710 A US 68989710A US RE42745 E USRE42745 E US RE42745E
 Authority
 US
 Grant status
 Grant
 Patent type
 Prior art keywords
 qp
 quantization
 portion
 matrix
 mantissa
 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.)
 Active
Links
Images
Classifications

 H—ELECTRICITY
 H03—BASIC ELECTRONIC CIRCUITRY
 H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
 H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same information or similar information or a subset of information is represented by a different sequence or number of digits
 H03M7/14—Conversion to or from nonweighted codes
 H03M7/24—Conversion to or from floatingpoint codes

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
 H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
 H04N19/124—Quantisation
 H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
 H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
 H04N19/136—Incoming video signal characteristics or properties

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
 H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
 H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
 H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
 H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
 H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
 H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
 H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream

 H—ELECTRICITY
 H04—ELECTRIC COMMUNICATION TECHNIQUE
 H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
 H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
 H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Abstract
Description
This application is a continuation of U.S. patent application Ser. No. 10/326,459 entitled, METHODS AND SYSTEMS FOR EFFICIENT VIDEORELATED DATA PROCESSING, invented by Louis Kerofsky, filed Dec. 20, 2002 now U.S. Pat. No. 7,170,942, which is a continuation of U.S. patent application Ser. No. 10/139,036 entitled, METHOD FOR REDUCED BITDEPTH QUANTIZATION, invented by Louis Kerofsky, filed May 2, 2002 now U.S. Pat. No. 7,123,655, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/319,018 entitled, METHODS AND SYSTEMS FOR VIDEO CODING WITH JOINT QUANTIZATION AND NORMALIZATION PROCEDURES, invented by Louis Kerofsky, filed Nov. 30, 2001, and also claims the benefit of U.S. Provisional Patent Application Ser. No. 60/311,436 entitled, REDUCED BITDEPTH QUANTIZATION, invented by Louis Kerofsky, filed Aug. 9, 2001.The present reissue application Ser. No. 12/689,897 is a reissue application of U.S. Pat. No. 7,400,682, from U.S. patent application Ser. No. 10/931,558 filed Aug. 31, 2004, entitled SYSTEMS AND METHODS FOR REDUCED BITDEPTH PROCESSING IN VIDEORELATED DATA WITH FREQUENCY WEIGHTING MATRICES, which is a continuation of U.S. patent application Ser. No. 10/326,459 entitled, METHODS AND SYSTEMS FOR EFFICIENT VIDEORELATED DATA PROCESSING, invented by Louis Kerofsky, filed Dec. 20, 2002 now U.S. Pat. No. 7,170,942, which is a continuation of U.S. patent application Ser. No. 10/139,036 entitled, METHOD FOR REDUCED BITDEPTH QUANTIZATION, invented by Louis Kerofsky, filed May 2, 2002 now U.S. Pat. No. 7,123,655, which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/319,018 entitled, METHODS AND SYSTEMS FOR VIDEO CODING WITH JOINT QUANTIZATION AND NORMALIZATION PROCEDURES, invented by Louis Kerofsky, filed Nov. 30, 2001, and also claims the benefit of U.S. Provisional Patent Application Ser. No. 60/311,436 entitled, REDUCED BITDEPTH QUANTIZATION, invented by Louis Kerofsky, filed Aug. 9, 2001.
1. Field of the Invention
This invention generally relates to video compression techniques and, more particularly, to a method for reducing the bit size required in the computation of video coding transformations.
2. Description of the Related Art
A video information format provides visual information suitable to activate a television screen, or store on a video tape. Generally, video data is organized in a hierarchical order. A video sequence is divided into group of frames, and each group can be composed of a series of single frames. Each frame is roughly equivalent to a still picture, with the still pictures being updated often enough to simulate a presentation of continuous motion. A frame is further divided into slices, or horizontal sections which helps system design of error resilience. Each slice is coded independently so that errors do not propagate across slices. A slice consists of macroblocks. In H.26P and Motion Picture Experts Group (MPEG)X standards, a macroblock is made up of 16×16 luma pixels and a corresponding set of chroma pixels, depending on the video format. A macroblock always has an integer number of blocks, with the 8×8 pixel matrix being the smallest coding unit.
Video compression is a critical component for any application which requires transmission or storage of video data. Compression techniques compensate for motion by reusing stored information in different areas of the frame (temporal redundancy). Compression also occurs by transforming data in the spatial domain to the frequency domain. Hybrid digital video compression, exploiting temporal redundancy by motion compensation and spatial redundancy by transformation, such as Discrete Cosine Transform (DCT), has been adapted in H.26P and MPEGX international standards as the basis.
As stated in U.S. Pat. No. 6,317,767 (Wang), DCT and inverse discrete cosine transform (IDCT) are widely used operations in the signal processing of image data. Both are used, for example, in the international standards for moving picture video compression put forth by the MPEG. DCT has certain properties that produce simplified and efficient coding models. When applied to a matrix of pixel data, the DCT is a method of decomposing a block of data into a weighted sum of spatial frequencies, or DCT coefficients. Conversely, the IDCT is used to transform a matrix of DCT coefficients back to pixel data.
Digital video (DV) codecs are one example of a device using a DCTbased data compression method. In the blocking stage, the image frame is divided into N by N blocks of pixel information including, for example, brightness and color data for each pixel. A common block size is eight pixels horizontally by eight pixels vertically. The pixel blocks are then “shuffled” so that several blocks from different portions of the image are grouped together. Shuffling enhances the uniformity of image quality.
Different fields are recorded at different time incidents. For each block of pixel data, a motion detector looks for the difference between two fields of a frame. The motion information is sent to the next processing stage. In the next stage, pixel information is transformed using a DCT. An 88 DCT, for example, takes eight inputs and returns eight outputs in both vertical and horizontal directions. The resulting DCT coefficients are then weighted by multiplying each block of DCT coefficients by weighting constants.
The weighted DCT coefficients are quantized in the next stage. Quantization rounds off each DCT coefficient within a certain range of values to be the same number. Quantizing tends to set the higher frequency components of the frequency matrix to zero, resulting in much less data to be stored. Since the human eye is most sensitive to lower frequencies, however, very little perceptible image quality is lost by this stage.
The quantization stage includes converting the twodimensional matrix of quantized coefficients to a onedimensional linear stream of data by reading the matrix values in a zigzag pattern and dividing the onedimensional linear stream of quantized coefficients into segments, where each segment consists of a string of zero coefficients followed by a nonzero quantized coefficient. Variable length coding (VLC) then is performed by transforming each segment, consisting of the number of zero coefficients and the amplitude of the nonzero coefficient in the segment, into a variable length codeword. Finally, a framing process packs every 30 blocks of variable length coded quantized coefficients into five fixedlength synchronization blocks.
Decoding is essentially the reverse of the encoding process described above. The digital stream is first deframed. Variable length decoding (VLD) then unpacks the data so that it may be restored to the individual coefficients. After inverse quantizing the coefficients, inverse weighting and an inverse discrete cosine transform (IDCT) are applied to the result. The inverse weights are the multiplicative inverses of the weights that were applied in the encoding process. The output of the inverse weighting function is then processed by the IDCT.
Much work has been done studying means of reducing the complexity in the calculation of DCT and IDCT. Algorithms that compute twodimensional IDCTs are called “type I” algorithms. Type I algorithms are easy to implement on a parallel machine, that is, a computer formed of a plurality of processors operating simultaneously in parallel. For example, when using N parallel processors to perform a matrix multiplication on N×N matrices, N column multiplies can be simultaneously performed. Additionally, a parallel machine can be designed so as to contain special hardware or software instructions for performing fast matrix transposition.
One disadvantage of type I algorithms is that more multiplications are needed. The computation sequence of type I algorithms involves two matrix multiplies separated by a matrix transposition which, if N=4, for example, requires 64 additions and 48 multiplications for a total number of 112 instructions. It is well known by those skilled in the art that multiplications are very timeconsuming for processors to perform and that system performance is often optimized by reducing the number of multiplications performed.
A twodimensional IDCT can also be obtained by converting the transpose of the input matrix into a onedimensional vector using an L function. Next, the tensor product of constant a matrix is obtained. The tensor product is then multiplied by the onedimensional vector L. The result is converted back into an N×N matrix using the M function. Assuming again that N=4, the total number of instructions used by this computational sequence is 92 instructions (68 additions and 24 multiplications). Algorithms that perform twodimensional IDCTs using this computational sequence are called “type II” algorithms. In type II algorithms, the two constant matrices are grouped together and performed as one operation. The advantage of type II algorithms is that they typically require fewer instructions (92 versus 112) and, in particular, fewer costly multiplications (24 versus 48). Type II algorithms, however, are very difficult to implement efficiently on a parallel machine. Type II algorithms tend to reorder the data very frequently and reordering data on a parallel machine is very timeintensive.
There exist numerous type I and type II algorithms for implementing IDCTs, however, dequantization has been treated as an independent step depending upon DCT and IDCT calculations. Efforts to provide bit exact DCT and IDCT definitions have led to the development of efficient integer transforms. These integer transforms typically increase the dynamic range of the calculations. As a result, the implementation of these algorithms requires processing and storing data that consists of more than 16 bits.
It would be advantageous if intermediate stage quantized coefficients could be limited to a maximum size in transform processes.
It would be advantageous if a quantization process could be developed that was useful for 16bit processors.
It would be advantageous if a decoder implementation, dequantization, and inverse transformation could be implemented efficiently with a 16bit processor. Likewise, it would be advantageous if the multiplication could be performed with no more than 16 bits, and if memory access required no more than 16 bits.
The present invention is an improved process for video compression. Typical video coding algorithms predict one frame from previously coded frames. The error is subjected to a transform and the resulting values are quantized. The quantizer controls the degree of compression. The quantizer controls the amount of information used to represent the video and the quality of the reconstruction.
The problem is the interaction of the transform and quantization in video coding. In the past the transform and quantizer have been designed independently. The transform, typically the discrete cosine transform, is normalized. The result of the transform is quantized in standard ways using scalar or vector quantization. In prior work, MPEG1, MPEG2, MPEG4, H.261, H.263, the definition of the inverse transform has not been bit exact. This allows the implementer some freedom to select a transform algorithm suitable for their platform. A drawback of this approach is the potential for encoder/decoder mismatch damaging the prediction loop. To solve this mismatch problem portions of the image are periodically coded without prediction. Current work, for example H.26L, has focused on using integer transforms that allow bit exact definition. Integer transforms may not normalized. The transform is designed so that a final shift can be used to normalize the results of the calculation rather than intermediate divisions. Quantization also requires division. H.26L provides an example of how these integer transforms are used along with quantization.
In H.26L Test Model Longterm 8, normalization is combined with quantization and implemented via integer multiplications and shifts following forward transform and quantization and following dequantization and inverse transform. H.26L TML uses two arrays of integers A(QP) and B(QP) indexed by quantization parameter (QP), see Table 1. These values are constrained by the relation shown below in Equation 1.
TABLE 1  
TML quantization parameters  
QP  A_{TML }(QP)  B_{TML }(QP) 
0  620  3881 
1  553  4351 
2  492  4890 
3  439  5481 
4  391  6154 
5  348  6914 
6  310  7761 
7  276  8718 
8  246  9781 
9  219  10987 
10  195  12339 
11  174  13828 
12  155  15523 
13  138  17435 
14  123  19561 
15  110  21873 
16  98  24552 
17  87  27656 
18  78  30847 
19  69  34870 
20  62  38807 
21  55  43747 
22  49  49103 
23  44  54683 
24  39  61694 
25  35  68745 
26  31  77615 
27  27  89113 
28  24  100253 
29  22  109366 
30  19  126635 
31  17  141533 
A(QP)·B(QP)·676^{2}≈2^{40}.
Normalization and quantization are performed simultaneously using these integers and divisions by powers of 2. Transform coding in H.26L uses a 4×4 block size and an integer transform matrix T, Equation 2. For a 4×4 block X, the transform coefficients K are calculated as in Equation 3. From the transform coefficients, the quantization levels, L, are calculated by integer multiplication. At the decoder the levels are used to calculate a new set of coefficients, K′. Additional integer matrix transforms followed by a shift are used to calculate the reconstructed values X′. The encoder is allowed freedom in calculation and rounding of the forward transform. Both encoder and decoder must compute exactly the same answer for the inverse calculations.
Y=T·X
K=Y·T^{T }
L=(A_{TML}(QP)·K)/2^{20 }
K′=B_{TML}(QP)·L
Y′=T^{T}·K′
X′=(Y′·T)/2^{20 }

 Where the intermediate result Y is the result of a one dimensional transform and the intermediate result Y′ is the result of a one dimensional inverse transform.
The dynamic range required during these calculations can be determined. The primary application involves 9bit input, 8 bits plus sign, the dynamic range required by intermediate registers and memory accesses is presented in Table 2.
TABLE 2  
Dynamic range of TML transform and inverse transform (bits)  
9bit input  LUMA Transform  Inverse Transform  
Register  30  27  
Memory  21  26  
To maintain bitexact definitions and incorporate quantization, the dynamic range of intermediate results can be large since division operations are postponed. The present invention combines quantization and normalization, to eliminate the growth of dynamic range of intermediate results. With the present invention the advantages of bit exact inverse transform and quantization definitions are kept, while controlling the bit depth required for these calculations. Reducing the required bit depth reduces the complexity required of a hardware implementation and enables efficient use of single instruction multiple data (SIMD) operations, such as the Intel MMX instruction set.
Accordingly, a method is provided for the quantization of a coefficient. The method comprises: receiving a coefficient K; receiving a quantization parameter (QP); forming a quantization value (L) from the coefficient K using a mantissa portion (Am(QP)) and an exponential portion (x^{Ae(QP)}). Typically, the value of x is 2.
In some aspects of the method, forming a quantization value (L) from the coefficient K includes:
In other aspects, the method further comprises: normalizing the quantization value by 2^{N }as follows:
In some aspects, forming a quantization value includes forming a set of recursive quantization factors with a period P, where A(QP+P)=A(QP)/x. Therefore, forming a set of recursive quantization factors includes forming recursive mantissa factors, where Am(QP)=Am(QP mod P). Likewise, forming a set of recursive quantization factors includes forming recursive exponential factors, where Ae(QP)=Ae(QP mod P)−QP/P.
More specifically, receiving a coefficient K includes receiving a coefficient matrix K[i][j]. Then, forming a quantization value (L) from the coefficient matrix K[i][j] includes forming a quantization value matrix (L[i][j]) using a mantissa portion matrix (Am(QP)[i][j]) and an exponential portion matrix (x^{Ae(QP)[i][j]}).
Likewise, forming a quantization value matrix (L[i][j]) using a mantissa portion matrix (Am(QP)[i][j]) and an exponential portion matrix (x^{Ae(QP)[i][j]}) includes, for each particular value of QP, every element in the exponential portion matrix being the same value. Every element in the exponential portion matrix is the same value for a period (P) of QP values, where Ae(QP)=Ae(P*(QP/P)).
Additional details of the abovedescribed method, including a method for forming a dequantization value (X1), from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (x^{Be(QP)}), are provided below.
The dynamic range requirements of the combined transform and quantization is reduced by factoring the quantization parameters A(QP) and B(QP) into a mantissa and exponent terms as shown in Equation 4. With this structure, only the precision due to the mantissa term needs to be preserved during calculation. The exponent term can be included in the final normalization shift. This is illustrated in the sample calculation Equation 5.
A_{proposed}(QP)=A_{mantissa}(QP)·2^{A} ^{ exp onent } ^{(Qp) }
B_{proposed}(QP)=B_{mantissa}(QP)·2^{B} ^{ exp onent } ^{(QP) }
Y=T·X
K=Y·T^{T }
L=(A_{mantissa}(QP)·K)/2^{20−A} ^{ exp onent } ^{(QP) }
K′=T^{T}·L
Y′=K′·T
X′=(B_{mantissa}(QP)·Y′)/2^{20−B} ^{ exp onent } ^{(QP) }
To illustrate the present invention, a set of quantization parameters is presented that reduce the dynamic range requirement of an H.26L decoder to 16bit memory access. The memory access of the inverse transform is reduced to 16 bits. Values for A_{mantissa}, A_{exponent}, B_{mantissa}, B_{exponent}, A_{proposed}, B_{proposed }are defined for QP=05 as shown in Table 3. Additional values are determined by recursion, as shown in Equation 6. The structure of these values makes it possible to generate new quantization values in addition to those specified.
TABLE 3  
Quantization values 05 for TML  
QP  A_{mantissa}  A_{exponent}  B_{mantissa}  B_{exponent}  A_{proposed}  B_{proposed} 
0  5  7  235  4  640  3760 
1  9  6  261  4  576  4176 
2  127  2  37  7  508  4736 
3  114  2  165  5  456  5280 
4  25  4  47  7  400  6016 
5  87  2  27  8  348  6912 
A_{mantissa}(QP+6)=A_{mantissa}(QP)
B_{mantissa}(QP+6)=B_{mantissa}(QP)
A_{exp onent}(QP+6)=A_{exp onent}(QP)−1
B_{exp onent}(QP+6)=B_{exp onent}(QP)+1
Using the defined parameters, the transform calculations can be modified to reduce the dynamic range as shown in Equation 5. Note how only the mantissa values contribute to the growth of dynamic range. The exponent factors are incorporated into the final normalization and do not impact the dynamic range of intermediate results.
With these values and computational method, the dynamic range at the decoder is reduced so only 16bit memory access is needed as seen in Table 4.
TABLE 4  
Dynamic range with lowbit depth quantization (QP > 6)  
8bit  LUMA Transform  LUMA Inverse Transform  
Register  28  24  
Memory  21  16  
Several refinements can be applied to the joint quantization/normalization procedure described above. The general technique of factoring the parameters into a mantissa and exponent forms the basis of these refinements.
The discussion above assumes all basis functions of the transform have an equal norm and are quantized identically. Some integer transforms have the property that different basis functions have different norms. The present invention technique has been generalized to support transforms having different norms by replacing the scalars A(QP) and B(QP) above by matrices A(QP)[i][j] and B(QP)[i][j]. These parameters are linked by a normalization relation of the form shown below, Equation 7, which is more general than the single relation shown in Equation 1.
A(QP)[i][j]·B(QP)[i][j]=N[i][j]
Following the method previously described, each element of each matrix is factored into a mantissa and an exponent term as illustrated in the equations below, Equation 8.
A(QP)[i][j]=A_{mantissa}(QP)[i][j]·2^{A} ^{ exp onent } ^{(QP)[i][j]}
B(QP)[i][j]=B_{mantissa}(QP)[i][j]·2^{B} ^{ exp onent } ^{(QP)[i][j]}
A large number of parameters are required to describe these quantization and dequantization parameters. Several structural relations can be used to reduce the number of free parameters. The quantizer growth is designed so that the values of A are halved after each period P at the same time the values of B are doubled maintaining the normalization relation. Additionally, the values of A_{exponent}(QP)[i][j] and B_{exponent}(QP)[i][j] are independent of i, j and (QP) in the range [0,P−1]. This structure is summarized by structural equations, Equation 9. With this structure there are only two parameters A_{exponent}[0] and B_{exponent}[0].
A_{exp onent}(QP)[i][j]=A_{exp onent}[0]−QP/P
B_{exp onent}(QP)[i][j]=B_{exp onent}[0]−QP/P
A structure is also defined for the mantissa values. For each index pair (i,j), the mantissa values are periodic with period P. This is summarized by the structural equation, Equation 10. With this structure, there are P independent matrices for A_{mantissa }and P independent matrices for B_{mantissa }reducing memory requirements and adding structure to the calculations.
A_{mantissa}(QP)[i][j]=A_{mantissa}(QP % P)[i][j]
B_{mantissa}(QP)[i][j]=B_{mantissa}(QP % P)[i][j]
The inverse transform may include integer division that requires rounding. In cases of interest, the division is by a power of 2. The rounding error is reduced by designing the dequantization factors to be multiples of the same power of 2, giving no remainder following division.
Dequantization using the mantissa values B_{mantissa}(QP) gives dequantized values that are normalized differently depending upon QP. This must be compensated for following the inverse transform. A form of this calculation is shown in Equation 11.
K[i][j]=B_{mantissa}(QP % P)[i][j]·Level[i][j]
X=(T^{−1}·K·T)/2^{(N−QP/P) }
To eliminate the need for the inverse transform to compensate for this normalization difference, the dequantization operation is defined so that all dequantized values have the same normalization. The form of this calculation is shown in Equation 12.
K[i][j]=B_{mantissa}(QP % P)[i][j]·Level[i][j]
X=(T^{−1}·K·T)/2^{N }
An example follows that illustrates the present invention use of quantization matrices. The forward and inverse transforms defined in Equation 13 need a quantization matrix rather than a single scalar quantization value. Sample quantization and dequantization parameters are given. Equation 14 and 16, together with related calculations, illustrate the use of this invention. This example uses a period P=6.
The description of the forward transformation and forward quantization, Equation 18, are given below assuming input is in X, quantization parameter QP.
K=T_{forward}·X·T_{forward} ^{T }
period=QP/6
phase=QP−6·period
Level[i][j]=(Q(phase)[i][j]·K[i][j])/2^{(17+period) }
The description of dequantization, inverse transform, and normalization for this example is given below, Equation 19 and 20.
period=QP/6
phase=QP−6·period
K[k][j]=R(phase)[i][j]·Level[i][j]·2^{period }
X′=T_{reverse}·K·T_{reverse} ^{T }
X″[i][j]=X′[i][j]/2^{7 }
In some aspects of the method, forming a quantization value (L) from the coefficient K using a mantissa portion (Am(QP)) and an exponential portion (x^{Ae(QP)}) in Step 106 includes:
Some aspects of the method include a further step. Step 108 normalizes the quantization value by 2N as follows:
In other aspects, forming a quantization value in Step 106 includes forming a set of recursive quantization factors with a period P, where A(QP+P)=A(QP)/x. Likewise, forming a set of recursive quantization factors includes forming recursive mantissa factors, where Am(QP)=Am(QP mod P). Then, forming a set of recursive quantization factors includes forming recursive exponential factors, where Ae(QP)=Ae(QP mod P)−QP/P.
In some aspects, forming a quantization value includes forming a set of recursive quantization factors with a period P, where A(QP+P)=A(QP)/2. In other aspects, forming a set of recursive quantization factors includes forming recursive mantissa factors, where P=6. Likewise, forming a set of recursive quantization factors includes forming recursive exponential factors, where P=6.
In some aspects of the method, receiving a coefficient K in Step 102 includes receiving a coefficient matrix K[i][j]. Then, forming a quantization value (L) from the coefficient matrix K[i][j] using a mantissa portion (Am(QP) and an exponential portion (x^{Ae(QP)}) in Step 106 includes forming a quantization value matrix (L[i][j]) using a mantissa portion matrix (Am(QP)[i][j]) and an exponential portion matrix (x^{Ae(QP)[i][j]}). Likewise, forming a quantization value matrix (L[i][j]) using a mantissa portion matrix (Am(QP)[i][j]) and an exponential portion matrix (x^{Ae(QP)[i][j]}) includes, for each particular value of QP, every element in the exponential portion matrix being the same value. Typically, every element in the exponential portion matrix is the same value for a period (P) of QP values, where Ae(QP)=Ae(P*(QP/P)).
Some aspects of the method include a further step. Step 110 forms a dequantization value (X1) from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (xBe(QP)). Again, the exponential portion (x^{Be(QP)}) typically includes x being the value 2.
In some aspects of the method, forming a dequantization value (X1) from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (2^{Be(QP)}) includes:
Other aspects of the method include a further step, Step 112, of denormalizing the quantization value by 2^{N }as follows:
In some aspects, forming a dequantization value in Step 110 includes forming a set of recursive dequantization factors with a period P, where B(QP+P)=x*B(QP). Then, forming a set of recursive dequantization factors includes forming recursive mantissa factors, where Bm(QP)=Bm(QP mod P). Further, forming a set of recursive dequantization factors includes forming recursive exponential factors, where Be(QP)=Be(QP mod P)+QP/P.
In some aspects, forming a set of recursive quantization factors with a period P includes the value of x being equal to 2, and forming recursive mantissa factors includes the value of P being equal to 6. Then, forming a set of recursive dequantization factors includes forming recursive exponential factors, where Be(QP)=Be(QP mod P)+QP/P.
In some aspects of the method, forming a dequantization value (X1), from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (x^{Be(QP)}) in Step 110 includes forming a dequantization value matrix (X1[i][j]) using a mantissa portion matrix (Bm(QP)[i][j]) and an exponential portion matrix (x^{Be(QP)[i][j]}). Likewise, forming a dequantization value matrix (X1[i][j]) using a mantissa portion matrix (Bm(QP)[i][j]) and an exponential portion matrix (x^{Be(QP)[i][j]}) includes, for each particular value of QP, every element in the exponential portion matrix being the same value. In some aspects, every element in the exponential portion matrix is the same value for a period (P) of QP values, where Be(QP)=Be(P*(QP/P)).
Another aspect of the invention includes a method for the dequantization of a coefficient. However, the process is essentially the same as Steps 110 and 112 above, and is not repeated in the interest of brevity.
A method for the quantization of a coefficient has been presented. An example is given illustrating a combined dequantization and normalization procedure applied to the H.26L video coding standard with a goal of reducing the bitdepth required at the decoder to 16 bits. The present invention concepts can also be used to meet other design goals within H.26L. In general, this invention has application to the combination of normalization and quantization calculations.
Embodiments of the present invention may be implemented as hardware, firmware, software and other implementations. Some embodiments may be implemented on general purpose computing devices or on computing devices specifically designed for implementation of these embodiments. Some embodiments may be stored in memory as a means of storing the embodiment or for the purpose of executing the embodiment on a computing device.
Some embodiments of the present invention comprise systems and methods for video encoding, as shown in
Quantization module 136 may have other inputs, such as user inputs 131 for establishing quantization parameters (QPs) and for other input. Quantization module 136 may use the transformation coefficients and the quantization parameters to determine quantization levels (L) in the video image. Quantization module 136 may use methods employing a mantissa portion and an exponential portion, however, other quantization methods may also be employed in the quantization modules 136 of embodiments of the present invention. These quantization levels 135 and quantization parameters 133 are output to a coding module 138 as well as a dequantization module (DQ) 140.
Output to the coding module 138 is encoded and transmitted outside the encoder for immediate decoding or storage. Coding module 138 may use variable length coding (VLC) in its coding processes. Coding module 138 may use arithmetic coding in its coding process.
Output from quantization module 136 is also received at dequantization module 140 to begin reconstruction of the image. This is done to keep an accurate accounting of prior frames. Dequantization module 140 performs a process with essentially the reverse effect as quantization module 136. Quantization levels or values (L) are dequantized yielding transform coefficients. Dequantization modules 140 may use methods employing a mantissa portion and an exponential portion as described herein.
The transform coefficients output from dequantization module 140 are sent to an inverse transformation (IT) module 142 where they are inverse transformed to a differential image 141. This differential image 141 is then combined with data from prior image frames 145 to form a video frame 149 that may be input to a frame memory 146 for reference to succeeding frames.
Video frame 149 may also serve as input to a motion estimation module 147, which also receives input image data 130. These inputs may be used to predict image similarities and help compress image data. Output from motion estimation module 147 is sent to motion compensation module 148 and combined with output data from coding module 138, which is sent out for later decoding and eventual image viewing.
Motion compensation module 148 uses the predicted image data to reduce frame data requirements; its output is subtracted from input image data 130.
Some embodiments of the present invention comprise systems and methods for video decoding, as shown in
Decoder module 152 may employ variable length decoding methods if they were used in the encoding process. Other decoding methods may also be used as dictated by the type of encoded data 150. Decoding module 152 performs essentially the reverse process as coding module 138. Output from decoding module 152 may comprise quantization parameters 156 and quantization values 154. Other output may comprise motion estimation data and image prediction data that may be sent directly to a motion compensation module 166.
Typically, quantization parameters 156 and quantization values 154 are output to a dequantization module 158, where quantization values are converted back to transform coefficients. These coefficients are then sent to an inverse transformation module 160 for conversion back to spatial domain image data 161.
The motion compensation unit 166 uses motion vector data and the frame memory 164 to construct a reference image 165.
Image data 161 represents a differential image that must be combined 162 with prior image data 165 to form a video frame 163. This video frame 163 is output 168 for further processing, display or other purposes and may be stored in frame memory 164 and used for reference with subsequent frames.
In some embodiments of the present invention, as illustrated in
When desired, encoded video data may be read from storage media 106 and decoded by a decoder or decoding portion 108 for output 110 to a display or other device.
In some embodiments of the present invention, as illustrated in
In some embodiments of the present invention, as illustrated in
In some embodiments of the present invention, as illustrated in
Some embodiments of the present invention, as illustrated in
Some embodiments of the present invention, as illustrated in
Some embodiments of the present invention may be stored on computerreadable media such as magnetic media, optical media, and other media as well as combinations of media. Some embodiments may also be transmitted as signals across networks and communication media. These transmissions and storage actions may take place as part of operation of embodiments of the present invention or as a way of transmitting the embodiment to a destination.
Typical methods of dequantization, inverse transformation, and normalization may be expressed mathematically in equation form. These methods, as illustrated in
In embodiments of the present invention, a reduction in bit depth for inverse transformation calculations is achieved. The processes of these embodiments, illustrated in
In embodiments of the present invention, a reduction in bit depth for inverse transformation calculations is achieved together with a reduction in memory needed to store dequantization parameters. The processes of these embodiments, illustrated in
In embodiments of the present invention, a reduction in bit depth for inverse transformation calculations is achieved together with a reduction in memory needed to store dequantization parameters. Additionally, the normalization process is independent of QP. This eliminates the need to communicate an exponential value for use in the normalization process. In these embodiments, the exponential portion, previously described as E^{QP }is held constant and incorporated into normalization 248 thereby negating the need to transmit the value as is done in previously described embodiments. The processes of these embodiments, illustrated in
x″_{α}=({tilde over (x)}′_{α}+2^{z})>>{tilde over (M)} Equation 29
In further embodiments of the present invention, a reduction in bit depth for inverse transformation calculations is achieved together with a reduction in memory needed to store dequantization parameters and the normalization process is independent of QP thereby eliminating the need to communicate an exponential value for use in the normalization process. These embodiments also express the quantization scaling factor mantissa portion as a matrix. This matrix format allows frequency dependent quantization, which allows the processes of these embodiments to be used in coding schemes that comprise frequencydependent transformation.
In these embodiments, the exponential portion, previously described as E^{QP }may be held constant and incorporated into normalization 248 as previously explained. The processes of these embodiments, illustrated in
In these embodiments, the equivalent of a dequantization scaling factor S_{α} ^{QP }is factored 254 into a mantissa portion R_{α} ^{QP } 252 and a constant exponential portion E^{QP }that is incorporated into normalization 248. The mantissa portion, R_{α} ^{QP } 252, may double with each increment of QP by P as previously described. The exponential portion E^{QP }is constant. The mantissa portion 252 is used during dequantization 250 to calculate the reconstructed transform coefficients ({tilde over (w)}_{α}) 242, which are used in the inverse transformation process 228 to calculate reconstructed samples ({tilde over (x)}′_{α}) 244. These reconstructed samples may then be normalized using the constant exponential portion that is incorporated into normalization 248 according to Equation 27, thereby yielding reconstructed samples, x″_{α } 234. Using these methods, the values of {tilde over (w)}_{α }and {tilde over (x)}′_{α }require E^{QP }fewer bits for representation. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as described above and in Equations 25, 27 & 29. In these embodiments the dequantization scaling factor portion is expressed as a matrix. This format is expressed in Equation 30 with the subscript α.
{tilde over (w)}_{α}=c_{α}·R_{α} ^{QP % P}>>(QP/P) Equation 30
Typical methods of quantization may be expressed mathematically in equation form. These methods, as illustrated in
g=k·S^{QP} Equation 31
c=g>>M Equation 32
In embodiments of the present invention, a reduction in bit depth for quantization calculations is achieved together with a reduction in memory needed to store quantization parameters. The processes of these embodiments, illustrated in
{tilde over (g)}=k·R^{QP % P} Equation 33
c={tilde over (g)}>>(M−E^{QP}) Equation 34
Other variations and embodiments of the invention will occur to those skilled in the art.
Claims (13)
Priority Applications (6)
Application Number  Priority Date  Filing Date  Title 

US31143601 true  20010809  20010809  
US31901801 true  20011130  20011130  
US10139036 US7123655B2 (en)  20010809  20020502  Method for reduced bitdepth quantization 
US10326459 US7170942B2 (en)  20010809  20021220  Systems and methods for efficient videorelated data processing 
US10931558 US7400682B2 (en)  20010809  20040831  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US12689897 USRE42745E1 (en)  20010809  20100119  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Applications Claiming Priority (8)
Application Number  Priority Date  Filing Date  Title 

US12689897 USRE42745E1 (en)  20010809  20100119  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US12837154 USRE43091E1 (en)  20010809  20100715  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301502 USRE44234E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301472 USRE44319E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301526 USRE44138E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301430 USRE44285E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13901316 USRE44891E1 (en)  20010809  20130523  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US14207043 USRE46370E1 (en)  20010809  20140312  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Related Parent Applications (2)
Application Number  Title  Priority Date  Filing Date  

US10326459 Continuation US7170942B2 (en)  20010809  20021220  Systems and methods for efficient videorelated data processing  
US10931558 Reissue US7400682B2 (en)  20010809  20040831  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Related Child Applications (2)
Application Number  Title  Priority Date  Filing Date 

US10931558 Continuation US7400682B2 (en)  20010809  20040831  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US12837154 Continuation USRE43091E1 (en)  20010809  20100715  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Publications (1)
Publication Number  Publication Date 

USRE42745E1 true USRE42745E1 (en)  20110927 
Family
ID=27385275
Family Applications (13)
Application Number  Title  Priority Date  Filing Date 

US10139036 Active 20240114 US7123655B2 (en)  20010809  20020502  Method for reduced bitdepth quantization 
US10261884 Active 20240127 US7130348B2 (en)  20010809  20020930  Systems and methods for reduced bitdepth processing in videorelated data 
US10261440 Active 20240303 US7106795B2 (en)  20010809  20020930  Systems and methods for enabling reduced bitdepth processing and memory reduction in videorelated data processing 
US10326459 Active 20240415 US7170942B2 (en)  20010809  20021220  Systems and methods for efficient videorelated data processing 
US10931558 Active 20231201 US7400682B2 (en)  20010809  20040831  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US12689897 Active USRE42745E1 (en)  20010809  20100119  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US12837154 Active USRE43091E1 (en)  20010809  20100715  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301430 Active USRE44285E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301502 Active USRE44234E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301472 Active USRE44319E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301526 Active USRE44138E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13901316 Active USRE44891E1 (en)  20010809  20130523  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US14207043 Active USRE46370E1 (en)  20010809  20140312  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Family Applications Before (5)
Application Number  Title  Priority Date  Filing Date 

US10139036 Active 20240114 US7123655B2 (en)  20010809  20020502  Method for reduced bitdepth quantization 
US10261884 Active 20240127 US7130348B2 (en)  20010809  20020930  Systems and methods for reduced bitdepth processing in videorelated data 
US10261440 Active 20240303 US7106795B2 (en)  20010809  20020930  Systems and methods for enabling reduced bitdepth processing and memory reduction in videorelated data processing 
US10326459 Active 20240415 US7170942B2 (en)  20010809  20021220  Systems and methods for efficient videorelated data processing 
US10931558 Active 20231201 US7400682B2 (en)  20010809  20040831  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Family Applications After (7)
Application Number  Title  Priority Date  Filing Date 

US12837154 Active USRE43091E1 (en)  20010809  20100715  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301430 Active USRE44285E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301502 Active USRE44234E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301472 Active USRE44319E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13301526 Active USRE44138E1 (en)  20010809  20111121  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US13901316 Active USRE44891E1 (en)  20010809  20130523  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
US14207043 Active USRE46370E1 (en)  20010809  20140312  Systems and methods for reduced bitdepth processing in videorelated data with frequency weighting matrices 
Country Status (10)
Country  Link 

US (13)  US7123655B2 (en) 
EP (6)  EP3121966B1 (en) 
JP (16)  JP3678365B2 (en) 
KR (3)  KR100811986B1 (en) 
CN (5)  CN101399989B (en) 
CA (11)  CA2946246C (en) 
DE (1)  DE60232681D1 (en) 
DK (3)  DK2262113T3 (en) 
ES (4)  ES2587957T3 (en) 
WO (1)  WO2003017497A1 (en) 
Families Citing this family (39)
Publication number  Priority date  Publication date  Assignee  Title 

DE69721847T2 (en) *  19971023  20040311  Mitsubishi Denki K.K.  Image decoder bildenkoder and visual communication system 
US7123655B2 (en)  20010809  20061017  Sharp Laboratories Of America, Inc.  Method for reduced bitdepth quantization 
US7185037B2 (en) *  20010823  20070227  Texas Instruments Incorporated  Video block transform 
US6882685B2 (en) *  20010918  20050419  Microsoft Corporation  Block transform and quantization for image and video coding 
US7242713B2 (en) *  20020502  20070710  Microsoft Corporation  2D transforms for image and video coding 
JP4617644B2 (en)  20030718  20110126  ソニー株式会社  Encoding apparatus and method 
US7756351B2 (en)  20031219  20100713  Stmicroelectronics, Inc.  Low power, high performance transform coprocessor for video compression 
KR101136629B1 (en) *  20040130  20120423  파나소닉 주식회사  Picture coding and decoding method, apparatus, and program thereof 
US7487193B2 (en) *  20040514  20090203  Microsoft Corporation  Fast video codec transform implementations 
US8179972B2 (en)  20040608  20120515  Panasonic Corporation  Image encoding device, image decoding device, and integrated circuit used therein 
CN101023673B (en) *  20040916  20110608  汤姆逊许可证公司  Video codec with weighted prediction utilizing local brightness variation 
US7444030B2 (en) *  20041112  20081028  Micron Technology, Inc.  Image encoding with dynamic buffercapacitylevelbased compression adjustment 
US7634148B2 (en) *  20050107  20091215  Ntt Docomo, Inc.  Image signal transforming and inversetransforming method and computer program product with preencoding filtering features 
US7492821B2 (en) *  20050208  20090217  International Business Machines Corporation  System and method for selective image capture, transmission and reconstruction 
CA2560124C (en) *  20050920  20120320  Schlumberger Canada Limited  Apparatus and method to connect two parts without rotation 
US7689052B2 (en) *  20051007  20100330  Microsoft Corporation  Multimedia signal processing using fixedpoint approximations of linear transforms 
KR100996704B1 (en) *  20061106  20101125  삼성전자주식회사  Method for Transmitting Buffer Size Information 
CN101227601B (en) *  20070115  20110914  飞思卡尔半导体公司  Equipment and method for performing geometric transformation in video rendition 
US8942289B2 (en) *  20070221  20150127  Microsoft Corporation  Computational complexity and precision control in transformbased digital media codec 
WO2009053780A3 (en) *  20071026  20090611  Zoran France  Frame buffer compression for video processing devices 
CN101779468B (en) *  20080627  20120704  索尼公司  Image processing device and image processing method 
US8451892B2 (en) *  20090630  20130528  Oracle America, Inc.  Method and system for linear quantization and dequantization 
JP2010009624A (en) *  20091007  20100114  Ntt Docomo Inc  Image signal conversion method, image signal reverse conversion method, image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, and image decoding program 
JP5253433B2 (en)  20100219  20130731  富士フイルム株式会社  The method of preparing a lithographic printing plate 
JP2012095053A (en) *  20101026  20120517  Toshiba Corp  Stream transmission system, transmitter, receiver, stream transmission method, and program 
US9807395B2 (en) *  20110118  20171031  Dolby International Ab  Video decoder with reduced dynamic range transform with inverse transform shifting memory 
US20120183045A1 (en) *  20110118  20120719  Louis Joseph Kerofsky  Video decoder with reduced dynamic range transform including clipping 
US20120183044A1 (en) *  20110118  20120719  Louis Joseph Kerofsky  Video decoder with reduced dynamic range transform with memory storing 
CA2828013C (en) *  20110225  20160726  Blackberry Limited  Methods and devices for data compression using offsetbased adaptive reconstruction levels 
US20120230395A1 (en) *  20110311  20120913  Louis Joseph Kerofsky  Video decoder with reduced dynamic range transform with quantization matricies 
US20120307889A1 (en) *  20110601  20121206  Sharp Laboratories Of America, Inc.  Video decoder with dynamic range adjustments 
US8571099B2 (en) *  20110601  20131029  Sharp Laboratories Of America, Inc.  Decoder with dynamic range compensation 
KR101470923B1 (en)  20110630  20141210  삼성전자주식회사  Method and apparatus for video encoding with bit depth control for fixed point transform, method and apparatus for video decoding with bit depth control for fixed point transform 
US20130083845A1 (en) *  20110930  20130404  Research In Motion Limited  Methods and devices for data compression using a nonuniform reconstruction space 
JP6221207B2 (en)  20120608  20171101  ソニー株式会社  An image processing apparatus and method, and program 
KR101277093B1 (en) *  20120716  20130620  한국전자통신연구원  Method and apparatus for encoding and decoding using adaptive bit depth decreasing 
US20140301447A1 (en) *  20130408  20141009  Research In Motion Limited  Methods for reconstructing an encoded video at a bitdepth lower than at which it was encoded 
US9674538B2 (en) *  20130408  20170606  Blackberry Limited  Methods for reconstructing an encoded video at a bitdepth lower than at which it was encoded 
JP6204171B2 (en) *  20131203  20170927  株式会社シキノハイテック  The image coding apparatus and image decoding apparatus 
Citations (25)
Publication number  Priority date  Publication date  Assignee  Title 

JPH03270573A (en)  19900320  19911202  Fujitsu Ltd  Picture data coding device and picture data decoding device 
JPH04503136A (en)  19890127  19920604  
JPH04504192A (en)  19890127  19920723  
JPH04222121A (en)  19901222  19920812  Casio Comput Co Ltd  Data compressor 
JPH0595483A (en)  19911002  19930416  Ricoh Co Ltd  Device and method for picture compression 
US5230038A (en)  19890127  19930720  Fielder Louis D  Low bit rate transform coder, decoder, and encoder/decoder for highquality audio 
JPH05307467A (en)  19910716  19931119  Lsi Logic Corp  Method and device for executing quantization 
CA2221181A1 (en)  19920626  19931227  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
JPH0646269A (en)  19920228  19940218  Ricoh Co Ltd  Expansion method and compression method for still picture data or device executing the methods 
JPH0653839A (en)  19920729  19940225  Casio Comput Co Ltd  Data compressing device 
JPH0677842A (en)  19920828  19940318  Mitsubishi Electric Corp  Quantizer 
US5345408A (en)  19930419  19940906  Gi Corporation  Inverse discrete cosine transform processor 
JPH0799578A (en)  19930928  19950411  Nec Corp  Picture processing device 
US5471412A (en)  19931027  19951128  Winbond Electronic Corp.  Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse 
US5479364A (en)  19920626  19951226  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
US5640159A (en)  19940103  19970617  International Business Machines Corporation  Quantization method for image data compression employing context modeling algorithm 
US5754457A (en)  19960305  19980519  Intel Corporation  Method for performing an inverse cosine transfer function for use with multimedia information 
US5764553A (en)  19960228  19980609  Lsi Logic Corporation  Generalized data processing path for performing transformation and quantization functions for video encoder systems 
US5822003A (en)  19941031  19981013  Girod; Bernd  Method and apparatus for performing fast reduced coefficient discrete cosine transforms 
US5845112A (en)  19970306  19981201  Samsung Electronics Co., Ltd.  Method for performing deadzone quantization in a single processor instruction 
KR0172902B1 (en)  19950912  19990320  구자홍  Mpeg encoder 
US6081552A (en)  19980113  20000627  Intel Corporation  Video coding using a maximum a posteriori loop filter 
US6160920A (en)  19980915  20001212  Winbond Electronics Corp.  Cosine transforming and quantizing device, method of reducing multiplication operations in a video compressing apparatus 
JP2004506990A (en)  20000812  20040304  ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングＲｏｂｅｒｔ Ｂｏｓｃｈ Ｇｍｂｈ  Integer approximation line encoder and decoder of the transform coefficients 
US6876703B2 (en)  20000511  20050405  Ub Video Inc.  Method and apparatus for video coding 
Family Cites Families (27)
Publication number  Priority date  Publication date  Assignee  Title 

CA222118A (en)  19220808  Richmond Glass Perley  Heel covering apparatus  
BE1000643A5 (en) *  19870605  19890228  Belge Etat  A picture signal coding method. 
CA2027705C (en) *  19891017  19940215  Masami Akamine  Speech coding system utilizing a recursive computation technique for improvement in processing speed 
JP2861264B2 (en) *  19900528  19990224  富士通株式会社  A method of manufacturing a semiconductor device 
JPH0467558A (en) *  19900709  19920303  Wakomu:Kk  Illumination lamp device 
JPH0648289A (en)  19920804  19940222  Tokico Ltd  Master cylinder 
JP2714520B2 (en)  19920828  19980216  株式会社日立製作所  Mounted components removable devices 
CN1128502C (en)  19940801  20031119  松下电器产业株式会社  Oversampling DA converter 
JP3142747B2 (en)  19940801  20010307  松下電器産業株式会社  Oversampling da converter 
DE19509117C2 (en)  19950317  19970227  Bosch Gmbh Robert  Method for monitoring the quality of transmission of digitized signals 
US5629778A (en) *  19950515  19970513  Polaroid Corporation  Method and apparatus for reduction of image data compression noise 
US5819035A (en)  19951020  19981006  Matsushita Electric Industrial Co., Ltd.  Postfilter for removing ringing artifacts of DCT coding 
CN1178616A (en)  19960309  19980408  罗伯特·博施有限公司  Process for monitoring quantisation quality in digital data 
KR100203710B1 (en) *  19960430  19990615  전주범  Improved image coding system having functions for controlling generated amount of coded bit stream 
JP3774954B2 (en) *  19961030  20060517  株式会社日立製作所  Coding method of the moving picture 
US6052490A (en) *  19970214  20000418  At&T Corp.  Video coder employing pixel transposition 
DE69806297T3 (en) *  19970326  20070329  Matsushita Electric Industrial Co., Ltd., Kadoma  Bilddekodiergerät 
KR100249229B1 (en) *  19970813  20000315  구자홍  Down Conversion Decoding Apparatus of High Definition TV 
US6243730B1 (en)  19990504  20010605  Sony Electronics, Inc.  Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add 
US6765963B2 (en) *  20010103  20040720  Nokia Corporation  Video decoder architecture and method for using same 
US6920175B2 (en) *  20010103  20050719  Nokia Corporation  Video coding architecture and methods for using same 
US8374237B2 (en) *  20010302  20130212  Dolby Laboratories Licensing Corporation  High precision encoding and decoding of video images 
US7123655B2 (en) *  20010809  20061017  Sharp Laboratories Of America, Inc.  Method for reduced bitdepth quantization 
US7295609B2 (en) *  20011130  20071113  Sony Corporation  Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information 
WO2003092297A1 (en) *  20020423  20031106  Nokia Corporation  Method and device for indicating quantizer parameters in a video coding system 
WO2004025921A3 (en)  20020916  20040624  Ericsson Telefon Ab L M  Secure access to a subscription module 
KR20040076034A (en) *  20030224  20040831  삼성전자주식회사  Method and apparatus for encoding video signal with variable bit rate 
Patent Citations (31)
Publication number  Priority date  Publication date  Assignee  Title 

JPH04503136A (en)  19890127  19920604  
JPH04504192A (en)  19890127  19920723  
US5230038A (en)  19890127  19930720  Fielder Louis D  Low bit rate transform coder, decoder, and encoder/decoder for highquality audio 
JPH03270573A (en)  19900320  19911202  Fujitsu Ltd  Picture data coding device and picture data decoding device 
JPH04222121A (en)  19901222  19920812  Casio Comput Co Ltd  Data compressor 
JPH05307467A (en)  19910716  19931119  Lsi Logic Corp  Method and device for executing quantization 
JPH0595483A (en)  19911002  19930416  Ricoh Co Ltd  Device and method for picture compression 
JPH0646269A (en)  19920228  19940218  Ricoh Co Ltd  Expansion method and compression method for still picture data or device executing the methods 
US5479364A (en)  19920626  19951226  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
CA2221181A1 (en)  19920626  19931227  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
US5596517A (en)  19920626  19970121  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
US5594678A (en)  19920626  19970114  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
US5590067A (en)  19920626  19961231  Discovision Associates  Method and arrangement for transformation of signals from a frequency to a time domain 
JPH0653839A (en)  19920729  19940225  Casio Comput Co Ltd  Data compressing device 
JPH0677842A (en)  19920828  19940318  Mitsubishi Electric Corp  Quantizer 
US5345408A (en)  19930419  19940906  Gi Corporation  Inverse discrete cosine transform processor 
US5748793A (en)  19930928  19980505  Nec Corporation  Quick image processor of reduced circuit scale with high image quality and high efficiency 
JPH0799578A (en)  19930928  19950411  Nec Corp  Picture processing device 
US5471412A (en)  19931027  19951128  Winbond Electronic Corp.  Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse 
US5640159A (en)  19940103  19970617  International Business Machines Corporation  Quantization method for image data compression employing context modeling algorithm 
US5822003A (en)  19941031  19981013  Girod; Bernd  Method and apparatus for performing fast reduced coefficient discrete cosine transforms 
KR0172902B1 (en)  19950912  19990320  구자홍  Mpeg encoder 
US5764553A (en)  19960228  19980609  Lsi Logic Corporation  Generalized data processing path for performing transformation and quantization functions for video encoder systems 
US5754457A (en)  19960305  19980519  Intel Corporation  Method for performing an inverse cosine transfer function for use with multimedia information 
US5845112A (en)  19970306  19981201  Samsung Electronics Co., Ltd.  Method for performing deadzone quantization in a single processor instruction 
US6081552A (en)  19980113  20000627  Intel Corporation  Video coding using a maximum a posteriori loop filter 
US6160920A (en)  19980915  20001212  Winbond Electronics Corp.  Cosine transforming and quantizing device, method of reducing multiplication operations in a video compressing apparatus 
US6876703B2 (en)  20000511  20050405  Ub Video Inc.  Method and apparatus for video coding 
JP2004506990A (en)  20000812  20040304  ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングＲｏｂｅｒｔ Ｂｏｓｃｈ Ｇｍｂｈ  Integer approximation line encoder and decoder of the transform coefficients 
US20040046754A1 (en)  20000812  20040311  Claudia Mayer  Method for carrying out integer approximation of transform coefficients, and coder and decoder 
US6856262B2 (en)  20000812  20050215  Robert Bosch Gmbh  Method for carrying out integer approximation of transform coefficients, and coder and decoder 
NonPatent Citations (20)
Also Published As
Publication number  Publication date  Type 

CA2454626C (en)  20071016  grant 
JP4745425B2 (en)  20110810  grant 
JP2010035192A (en)  20100212  application 
ES2328118T3 (en)  20091110  grant 
CN100571394C (en)  20091216  grant 
USRE44891E1 (en)  20140513  grant 
KR20080011234A (en)  20080131  application 
KR100811986B1 (en)  20080310  grant 
KR100591653B1 (en)  20060620  grant 
EP1587216A1 (en)  20051019  application 
JP4067558B2 (en)  20080326  grant 
EP1753243A2 (en)  20070214  application 
JP2010045826A (en)  20100225  application 
CA2801972A1 (en)  20030227  application 
JP4030558B2 (en)  20080109  grant 
CA2737888C (en)  20120807  grant 
USRE44138E1 (en)  20130409  grant 
ES2621677T3 (en)  20170704  grant 
CA2576161A1 (en)  20030227  application 
CA2946246C (en)  20171205  grant 
CA2576161C (en)  20110719  grant 
JP2010050993A (en)  20100304  application 
JP4745434B2 (en)  20110810  grant 
US20030206585A1 (en)  20031106  application 
EP1459449A4 (en)  20050921  application 
JP2006101506A (en)  20060413  application 
JP4745325B2 (en)  20110810  grant 
CA2776992C (en)  20130326  grant 
JP2010158055A (en)  20100715  application 
JP2010045822A (en)  20100225  application 
CA2737864A1 (en)  20030227  application 
US7130348B2 (en)  20061031  grant 
EP3121966A1 (en)  20170125  application 
DK1459449T3 (en)  20090831  grant 
JP2005198328A (en)  20050721  application 
EP2262114A1 (en)  20101215  application 
US20030112876A1 (en)  20030619  application 
EP3121966B1 (en)  20180103  grant 
EP2262113B1 (en)  20170208  grant 
US20030123553A1 (en)  20030703  application 
EP1459449A1 (en)  20040922  application 
CA2841701A1 (en)  20030227  application 
USRE44285E1 (en)  20130611  grant 
CA2737888A1 (en)  20030227  application 
JP3678365B2 (en)  20050803  grant 
USRE46370E1 (en)  20170418  grant 
CN101087420A (en)  20071212  application 
ES2587957T3 (en)  20161027  grant 
CN101087421A (en)  20071212  application 
JP2010050992A (en)  20100304  application 
CN101399989B (en)  20110713  grant 
JP4745433B2 (en)  20110810  grant 
CN101399988A (en)  20090401  application 
CA2886119A1 (en)  20030227  application 
DK2262114T3 (en)  20160905  grant 
EP1753243B1 (en)  20180103  grant 
CN101087421B (en)  20111116  grant 
CN100442669C (en)  20081210  grant 
JP2007295596A (en)  20071108  application 
US7106795B2 (en)  20060912  grant 
JP2010045825A (en)  20100225  application 
EP1753243A3 (en)  20071226  application 
CA2801972C (en)  20140722  grant 
US20030099291A1 (en)  20030529  application 
JP2005501447A (en)  20050113  application 
JP3862725B2 (en)  20061227  grant 
JP2010045821A (en)  20100225  application 
CN101399989A (en)  20090401  application 
US20050025237A1 (en)  20050203  application 
CA2946257A1 (en)  20030227  application 
CA2454626A1 (en)  20030227  application 
EP1587216B1 (en)  20120314  grant 
ES2380936T3 (en)  20120521  grant 
CA2776992A1 (en)  20030227  application 
WO2003017497A1 (en)  20030227  application 
US7400682B2 (en)  20080715  grant 
KR20060031885A (en)  20060413  application 
EP1459449B1 (en)  20090617  grant 
DE60232681D1 (en)  20090730  grant 
US7170942B2 (en)  20070130  grant 
JP2010045827A (en)  20100225  application 
EP2262114B1 (en)  20160629  grant 
KR20040022239A (en)  20040311  application 
CA2886119C (en)  20161220  grant 
US7123655B2 (en)  20061017  grant 
USRE43091E1 (en)  20120110  grant 
JP2010050991A (en)  20100304  application 
CA2737864C (en)  20120327  grant 
DK2262113T3 (en)  20170410  grant 
USRE44234E1 (en)  20130521  grant 
CN101399988B (en)  20140312  grant 
JP4745435B2 (en)  20110810  grant 
CA2737889A1 (en)  20030227  application 
USRE44319E1 (en)  20130625  grant 
CA2841701C (en)  20150630  grant 
JP2009278633A (en)  20091126  application 
CA2737889C (en)  20120417  grant 
CA2946246A1 (en)  20030227  application 
EP2262113A1 (en)  20101215  application 
JP2008148326A (en)  20080626  application 
JP4745436B2 (en)  20110810  grant 
CN1565083A (en)  20050112  application 
KR100880305B1 (en)  20090128  grant 
Similar Documents
Publication  Publication Date  Title 

Malvar et al.  Lowcomplexity transform and quantization in H. 264/AVC  
US6385248B1 (en)  Methods and apparatus for processing luminance and chrominance image data  
US6160846A (en)  Apparatus and method for optimizing the rate control in a coding system  
US6690833B1 (en)  Apparatus and method for macroblock based rate control in a coding system  
US6456744B1 (en)  Method and apparatus for video compression using sequential frame cellular automata transforms  
US5714950A (en)  System for variablelengthcoding and variablelengthdecoding digitaldata  
US6008848A (en)  Video compression using multiple computing agents  
US20010017941A1 (en)  Method and apparatus for tablebased compression with embedded coding  
US5822003A (en)  Method and apparatus for performing fast reduced coefficient discrete cosine transforms  
US20060227867A1 (en)  Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus  
US20090284651A1 (en)  Quantization and differential coding of alpha image data  
US6694342B1 (en)  Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same  
US20070083578A1 (en)  Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information  
US6532265B1 (en)  Method and system for video compression  
US6456663B1 (en)  DCT domain down conversion system that compensates for IDCT mismatch  
US20100266008A1 (en)  Computing evensized discrete cosine transforms  
US20070297503A1 (en)  Efficient FixedPoint Approximations of Forward and Inverse Discrete Cosine Transforms  
US20020044602A1 (en)  Dual quantization method and apparatus for minimum error  
US6587507B1 (en)  System and method for encoding video data using computationally efficient adaptive spline wavelets  
US20030206582A1 (en)  2D transforms for image and video coding  
EP0595599A2 (en)  Compression/decompression system for image data  
US6363119B1 (en)  Device and method for hierarchically coding/decoding images reversibly and with improved coding efficiency  
US6584154B1 (en)  Movingpicture coding and decoding method and apparatus with reduced computational cost  
US20030194007A1 (en)  Method and apparatus for memory efficient compressed domain video processing  
US6658157B1 (en)  Method and apparatus for converting image information 
Legal Events
Date  Code  Title  Description 

REMI  Maintenance fee reminder mailed  
FPAY  Fee payment 
Year of fee payment: 4 

SULP  Surcharge for late payment  
AS  Assignment 
Owner name: DOLBY LABORATORIES LICENSING CORPORATION, CALIFORN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHARP KABUSHIKI KAISHA;REEL/FRAME:036724/0111 Effective date: 20150929 