Nothing Special   »   [go: up one dir, main page]

USRE44319E1 - Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices - Google Patents

Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices Download PDF

Info

Publication number
USRE44319E1
USRE44319E1 US13/301,472 US201113301472A USRE44319E US RE44319 E1 USRE44319 E1 US RE44319E1 US 201113301472 A US201113301472 A US 201113301472A US RE44319 E USRE44319 E US RE44319E
Authority
US
United States
Prior art keywords
matrix
quantization
value
quantization parameter
dequantization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime, expires
Application number
US13/301,472
Inventor
Louis Joseph Kerofsky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby Laboratories Licensing Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27385275&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=USRE44319(E1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to US13/301,472 priority Critical patent/USRE44319E1/en
Priority to US13/901,316 priority patent/USRE44891E1/en
Application granted granted Critical
Publication of USRE44319E1 publication Critical patent/USRE44319E1/en
Priority to US14/207,043 priority patent/USRE46370E1/en
Assigned to DOLBY LABORATORIES LICENSING CORPORATION reassignment DOLBY LABORATORIES LICENSING CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHARP KABUSHIKI KAISHA
Priority to US15/400,121 priority patent/USRE47277E1/en
Priority to US15/400,111 priority patent/USRE47258E1/en
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/18Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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

Definitions

  • 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.
  • a video information format provides visual information suitable to activate a television screen, or store on a video tape.
  • 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.
  • 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 MPEG-X international standards as the basis.
  • DCT Discrete Cosine Transform
  • DCT inverse discrete cosine transform
  • IDCT inverse discrete cosine transform
  • Digital video (DV) codecs are one example of a device using a DCT-based data compression method.
  • 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.
  • 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 8-8 DCT 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 two-dimensional matrix of quantized coefficients to a one-dimensional linear stream of data by reading the matrix values in a zigzag pattern and dividing the one-dimensional linear stream of quantized coefficients into segments, where each segment consists of a string of zero coefficients followed by a non-zero 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 non-zero coefficient in the segment, into a variable length codeword.
  • a framing process packs every 30 blocks of variable length coded quantized coefficients into five fixed-length synchronization blocks.
  • Decoding is essentially the reverse of the encoding process described above.
  • the digital stream is first deformed.
  • Variable length decoding VLD
  • VLD Variable length decoding
  • IDCT inverse discrete cosine transform
  • 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.
  • 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.
  • type I algorithms One disadvantage of type I algorithms is that more multiplications are needed.
  • type II algorithms typically require fewer instructions (92 versus 112) and, in particular, fewer costly multiplications (24 versus 48).
  • Type II algorithms 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 time-intensive.
  • 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.
  • the transform typically the discrete cosine transform
  • the result of the transform is quantized in standard ways using scalar or vector quantization.
  • MPEG-1, MPEG-2, MPEG-4, 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.
  • H.26L Test Model Long-term 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.
  • 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
  • Transform coding in H.26L uses a 4 ⁇ 4 block size and an integer transform matrix T, Equation 2.
  • the transform coefficients K are calculated as in Equation 3.
  • the quantization levels, L are calculated by integer multiplication.
  • 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.
  • the dynamic range required during these calculations can be determined.
  • the primary application involves 9-bit input, 8 bits plus sign, the dynamic range required by intermediate registers and memory accesses is presented in Table 2.
  • 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.
  • SIMD single instruction multiple data
  • a method 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) ).
  • the value of x is 2.
  • forming a quantization value (L) from the coefficient K includes:
  • the method further comprises: normalizing the quantization value by 2 N as follows:
  • 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] ).
  • FIG. 1 is a flowchart illustrating the present invention method for the quantization of a coefficient.
  • FIG. 2 is a diagram showing embodiments of the present invention comprising systems and methods for video encoding wherein a quantization parameter may be established based on user inputs;
  • FIG. 3 is a diagram showing embodiments of the present invention comprising systems and methods for video decoding
  • FIG. 4 is diagram showing embodiments of the present invention comprising storing encoder output on a computer-readable storage media
  • FIG. 5 is a diagram showing embodiments of the present invention comprising sending encoder output over a network
  • FIG. 6 is a diagram showing embodiments of quantization methods and apparatuses of the present invention comprising a first mantissa portion processing means and a first exponential portion processing means;
  • FIG. 7 is a diagram showing embodiments of quantization methods and apparatuses of the present invention comprising a first mantissa portion processing means and a first shifting portion processing means;
  • FIG. 8 is a diagram showing embodiments of dequantization methods and apparatuses of the present invention comprising a second mantissa portion processing means and a second exponential portion processing means;
  • FIG. 9 is a diagram showing embodiments of dequantization methods and apparatuses of the present invention comprising a second mantissa portion processing means and a second shifting portion processing means;
  • FIG. 10 is diagram showing prior art methods comprising dequantization, inverse transformation, and normalization (Prior Art);
  • FIG. 11 is a diagram showing embodiments of the present invention comprising factorization of an equivalent of a dequantization scaling factor
  • FIG. 12 is a diagram showing embodiments of the present invention comprising factorization thereby achieving a reduction in bit depth for inverse transformation calculations and reduce memory requirements for dequantization parameter storage;
  • FIG. 13 is a diagram showing embodiments of the present invention comprising a normalization process independent of quantization parameter (QP);
  • FIG. 14 is diagram showing embodiments of the present invention comprising frequency dependent quantization
  • FIG. 15 is a diagram showing prior art methods comprising quantization (Prior Art).
  • FIG. 16 is a diagram showing embodiments of the present invention comprising factorization of an equivalent of a quantization scaling factor.
  • Equation 4 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 set of quantization parameters is presented that reduce the dynamic range requirement of an H.26L decoder to 16-bit memory access.
  • the memory access of the inverse transform is reduced to 16 bits.
  • Equation 5 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.
  • each element of each matrix is factored into a mantissa and an exponent term as illustrated in the equations below, Equation 8.
  • 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.
  • 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.
  • Equation 11 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.
  • Equation 13 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 19 The description of dequantization, inverse transform, and normalization for this example is given below, Equation 19 and 20.
  • FIG. 1 is a flowchart illustrating the present invention method for the quantization of a coefficient. Although this method is depicted as a sequence of numbered steps for clarity, no order should be inferred from the numbering unless explicitly stated. It should be understood that some of these steps may be skipped, performed in parallel, or performed without the requirement of maintaining a strict order of sequence.
  • the methods start at Step 100 .
  • Step 102 supplies a coefficient K.
  • Step 104 supplies a quantization parameter (QP).
  • Step 106 forms a quantization value (L) from the coefficient K using a mantissa portion (Am(QP)) and an exponential portion (x Ae(QP) ).
  • the exponential portion (x Ae(QP) ) includes x being the value 2.
  • Step 106 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:
  • Step 108 normalizes the quantization value by 2N as follows:
  • 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] ).
  • 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.
  • forming a dequantization value (X1) from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (2 Be(QP) ) includes:
  • Step 112 of denormalizing the quantization value by 2 N as follows:
  • 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] ).
  • 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.
  • Another aspect of the invention includes a method for the dequantization of a coefficient.
  • 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 bit-depth 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 FIG. 2 .
  • image data 130 is subtracted from 132 with data representing prior video frames 145 resulting in a differential image 133 , which is sent to a transform module 134 .
  • Transform module 134 may use DCT or other transform methods to transform the image.
  • the result of the transform process will be coefficients (K), which are then sent to a quantization module 136 for quantization.
  • 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 .
  • DQ dequantization module
  • 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 FIG. 3 .
  • a decoder of embodiments of the present invention may receive encoded image data 150 to a decoder module 152 .
  • Encoded image data 150 may comprise data that has been encoded by an encoder 100 such as that described with reference to FIG. 2 .
  • 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 .
  • 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.
  • image data 102 may be sent to an encoder or encoding portion 104 for the various transformation, quantization, encoding and other procedures typical of video encoding as described above for some embodiments of the present invention.
  • Output from the encoder may then be stored on any computer-readable storage media 106 .
  • Storage media 106 may act as a short-term buffer or as a long-term storage device.
  • encoded video data may be read from storage media 106 and decoded by a decoder or encoding portion 108 for output 110 to a display or other device.
  • image data 112 may be sent to an encoder or encoding portion 114 for the various transformation, quantization, encoding and other procedures typical of video encoding as described above for some embodiments of the present invention.
  • Output from the encoder may then be sent over a network, such as a LAN, WAN or the Internet 116 .
  • a storage device such as storage media 106 may be part of a network.
  • Encoded video data may be received and decoded by a decoder or decoding portion 118 , which also communicates with network 116 . Decoder 118 may then decode the data for local consumption 120 .
  • a quantization method or apparatus comprises a mantissa portion 172 and an exponential portion 174 .
  • Quantization parameters 176 are input to both portions 172 & 174 .
  • a coefficient K 170 is input to the mantissa portion 172 where it is modified using the quantization parameter and other values as explained above. The result of this operation is combined with the result produced in the exponential portion using the quantization parameter thereby producing a quantization level or value L 178 .
  • a quantization method or apparatus comprises a mantissa portion 182 and a shifting portion 184 .
  • Quantization parameters 186 are input to both portions 182 & 184 .
  • a coefficient, K 180 is input to the mantissa portion 182 where it is modified using the quantization parameter and other values as explained above.
  • the result of this operation is further processed in the shifting portion using the quantization parameter thereby producing a quantization level or value, L 188 .
  • Some embodiments of the present invention comprise a dequantization method or apparatus with a mantissa portion 192 and an exponential portion 194 .
  • Quantization parameters 196 are input to both portions 192 & 194 .
  • a quantization value, L 190 is input to the mantissa portion 192 where it is modified using the quantization parameter and other values as explained above.
  • the result of this operation is further processed in the exponential portion using the quantization parameter thereby producing a coefficient, X1 198 .
  • Some embodiments of the present invention comprise a dequantization method or apparatus with a mantissa portion 202 and a shifting portion 204 .
  • Quantization parameters 206 are input to both portions 202 & 204 .
  • a quantization value, L 200 is input to the mantissa portion 202 where it is modified using the quantization parameter and other values as explained above.
  • the result of this operation is further processed in the exponential portion using the quantization parameter thereby producing a coefficient, X1 208 .
  • Some embodiments of the present invention may be stored on computer-readable 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.
  • a reduction in bit depth for inverse transformation calculations is achieved.
  • the processes of these embodiments, illustrated in FIG. 11 begin with input in the form of an array of quantized coefficient levels c ⁇ 220 , and a quantization parameter QP 222 similar to typical prior art methods.
  • the equivalent of a dequantization scaling factor S QP is factored 223 & 225 into a mantissa portion R QP 236 and an exponential portion E QP 238 .
  • the mantissa portion 236 is used during dequantization 240 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 exponential portion 238 according to Equation 26 , thereby yielding reconstructed samples (x′′ ⁇ ) 234 .
  • the values of ⁇ tilde over (w) ⁇ ⁇ and ⁇ tilde over (x) ⁇ ′ ⁇ require E QP fewer bits for representation than the corresponding values w ⁇ and x′ ⁇ . This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown in Equations 24-26.
  • ⁇ tilde over (w) ⁇ ⁇ C ⁇ ⁇ R QP Equation 24
  • 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 FIG. 12 begin with input in the form of an array of quantized coefficient levels c ⁇ 220 , a quantization parameter QP 222 similar to typical prior art methods. However, in these embodiments, an additional parameter P is used and the equivalent of a dequantization scaling factor S QP is factored 227 & 229 into a mantissa portion R QP 236 and an exponential portion E QP 238 .
  • the mantissa portion, R QP 236 doubles with each increment of QP by P.
  • the exponential portion E QP 238 is periodic with period P.
  • the mantissa portion 236 is used during dequantization 240 to calculate the reconstructed transform coefficients ( ⁇ tilde over (w) ⁇ ⁇ ) 242 , which amused in the inverse transformation process 228 to calculate reconstructed samples ( ⁇ tilde over (x) ⁇ ′ ⁇ ) 244 . These reconstructed samples may then be normalized using the exponential portion 238 according to Equation 28, 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.
  • a reduction in bit depth for inverse transformation calculations is achieved together with a reduction in memory needed to store dequantization parameters.
  • the normalization process is independent of QP. This eliminates the need to communicate an exponential value for use in the normalization process.
  • 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 FIG. 13 begin with input in the form of an array of quantized coefficient levels c ⁇ 220 , a quantization parameter QP 222 similar to typical prior art methods. Some of these embodiments implement the parameter P as described above.
  • the equivalent of a dequantization scaling factor S QP is factored 227 & 229 into a mantissa portion R QP 236 and a constant exponential portion E QP that is incorporated into normalization 248 .
  • the mantissa portion, RQP 236 may double with each increment of QP by P as previously described.
  • the exponential portion E QP 238 is constant.
  • the mantissa portion 236 is used during dequantization 240 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 .
  • 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 frequency-dependent transformation.
  • 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 FIG. 14 begin with input in the form of an array of quantized coefficient levels c ⁇ 220 , and a quantization parameter QP 222 similar other methods. Some of these embodiments may implement the parameter P as described above.
  • 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 .
  • 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 .
  • 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.
  • Typical methods of quantization may be expressed mathematically in equation form. These methods, as illustrated in FIG. 15 , may begin with input in the form of a coefficient (k) 256 and a quantization parameter 222 .
  • the coefficient 256 is multiplied by a quantization factor 262 to give the value g 264 according to Equation 31.
  • the value g 264 is normalized 266 to give the quantized coefficient level c 220 according to Equation 32.
  • g k ⁇ S QP Equation 31
  • a quantization scaling factor S QP is factored into a mantissa portion R QP 274 and an exponential portion E QP 276 .
  • the mantissa portion R QP 274 is periodic with period P.
  • the exponential portion 276 decreases by one for each increment of QP by P.
  • the mantissa portion 274 is used during quantization 278 to calculate the scaled transform coefficient ( ⁇ tilde over (g) ⁇ ) 280 according to Equation 33.
  • the scaled transform coefficient may then be normalized 282 using the exponential portion 276 according to Equation 34, thereby yielding the quantized coefficient level (c) 220 .
  • the value of ⁇ tilde over (g) ⁇ 280 requires E QP fewer bits for representation than a corresponding value g 264 generated through known methods. Values of R 274 and E 276 need only be stored for QP in one period [1, P] reducing the memory requirements. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown in Equations 33 & 34.
  • ⁇ tilde over (g) ⁇ k ⁇ R QP % P Equation 33
  • c ⁇ tilde over (g) ⁇ >>(M ⁇ E QP ) Equation 34

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Television Signal Processing For Recording (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

Embodiments of the present invention comprise systems and methods for processing of data related to video wherein reduced bit depth intermediate calculations are enabled.

Description

RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 10/326,459 entitled, METHODS AND SYSTEMS FOR EFFICIENT VIDEO-RELATED 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 BIT-DEPTH 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 BIT-DEPTH QUANTIZATION, invented by Louis Kerofsky, filed Aug. 9, 2001.This Application is a Divisional Reissue Application of Continuation Reissue application Ser. No. 12/837,154, filed Jul. 15, 2010 now U.S. Pat. No. Re. 43,091, of Reissue application Ser. No. 12/689,897, filed Jan. 19, 2010 now U.S. Pat. No. Re. 42,745, which itself is a reissue of U.S. Pat. No. 7,400,682 entitled SYSTEMS AND METHODS FOR REDUCED BIT-DEPTH PROCESSING IN VIDEO-RELATED 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 VIDEO-RELATED 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 BIT-DEPTH 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 BIT-DEPTH QUANTIZATION, invented by Louis Kerofsky, filed Aug. 9, 2001. More than one Divisional Reissue Application has been filed for the reissue of application Ser. No. 12/837,154. The reissue applications are application Ser. Nos. 13/301,472 (the present application), 13/301,430, 13/301,502, and 13/301,526, all of which are divisional reissues of application Ser. No. 12/837,154, and all of which were filed on Nov. 21, 2011.
BACKGROUND OF THE INVENTION
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 MPEG-X 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 DCT-based 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 8-8 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 two-dimensional matrix of quantized coefficients to a one-dimensional linear stream of data by reading the matrix values in a zigzag pattern and dividing the one-dimensional linear stream of quantized coefficients into segments, where each segment consists of a string of zero coefficients followed by a non-zero 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 non-zero 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 fixed-length synchronization blocks.
Decoding is essentially the reverse of the encoding process described above. The digital stream is first deformed. 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 two-dimensional 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 time-consuming for processors to perform and that system performance is often optimized by reducing the number of multiplications performed.
A two-dimensional IDCT can also be obtained by converting the transpose of the input matrix into a one-dimensional vector using an L function. Next, the tensor product of constant a matrix is obtained. The tensor product is then multiplied by the one-dimensional 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 two-dimensional 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 time-intensive.
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 16-bit processors.
It would be advantageous if a decoder implementation, dequantization, and inverse transformation could be implemented efficiently with a 16-bit 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.
SUMMARY OF THE INVENTION
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, MPEG-1, MPEG-2, MPEG-4, 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 Long-term 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 ATML(QP) BTML(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
Equation 1 Joint Normalization/Quantization Relation

A(QP)·B(QP)·6762≈240.
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.
Equation 2 H.26L Test Model 8 Transform Matrix
T = ( 13 13 13 13 17 7 - 7 - 17 13 - 13 - 13 13 7 - 17 17 - 7 )
Equation 3 TML DCT_LUMA and iDCT_LUMA

Y=T·X
K=Y·TT
L=(ATML(QP)·K)/220
K′=BTML(QP)·L
Y′=TT·K′
X′=(Y′·T)/220
    • 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 9-bit 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)
9-bit input LUMA Transform Inverse Transform
Register 30 27
Memory 21 26
To maintain bit-exact 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 (xAe(QP)). Typically, the value of x is 2.
In some aspects of the method, forming a quantization value (L) from the coefficient K includes:
L = K * A ( QP ) = K * Am ( QP ) * ( 2 Ae ( QP ) ) .
In other aspects, the method further comprises: normalizing the quantization value by 2N as follows:
Ln = L / 2 N = K * Am ( QP ) / 2 ( N · Ae ( QP ) ) .
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 (xAe(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 (xAe(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 above-described method, including a method for forming a dequantization value (X1), from the quantization value, using a mantissa portion (Bm(QP)) and an exponential portion (xBe(QP)), are provided below.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flowchart illustrating the present invention method for the quantization of a coefficient.
FIG. 2 is a diagram showing embodiments of the present invention comprising systems and methods for video encoding wherein a quantization parameter may be established based on user inputs;
FIG. 3 is a diagram showing embodiments of the present invention comprising systems and methods for video decoding;
FIG. 4 is diagram showing embodiments of the present invention comprising storing encoder output on a computer-readable storage media;
FIG. 5 is a diagram showing embodiments of the present invention comprising sending encoder output over a network;
FIG. 6 is a diagram showing embodiments of quantization methods and apparatuses of the present invention comprising a first mantissa portion processing means and a first exponential portion processing means;
FIG. 7 is a diagram showing embodiments of quantization methods and apparatuses of the present invention comprising a first mantissa portion processing means and a first shifting portion processing means;
FIG. 8 is a diagram showing embodiments of dequantization methods and apparatuses of the present invention comprising a second mantissa portion processing means and a second exponential portion processing means;
FIG. 9 is a diagram showing embodiments of dequantization methods and apparatuses of the present invention comprising a second mantissa portion processing means and a second shifting portion processing means;
FIG. 10 is diagram showing prior art methods comprising dequantization, inverse transformation, and normalization (Prior Art);
FIG. 11 is a diagram showing embodiments of the present invention comprising factorization of an equivalent of a dequantization scaling factor;
FIG. 12 is a diagram showing embodiments of the present invention comprising factorization thereby achieving a reduction in bit depth for inverse transformation calculations and reduce memory requirements for dequantization parameter storage;
FIG. 13 is a diagram showing embodiments of the present invention comprising a normalization process independent of quantization parameter (QP);
FIG. 14 is diagram showing embodiments of the present invention comprising frequency dependent quantization;
FIG. 15 is a diagram showing prior art methods comprising quantization (Prior Art); and
FIG. 16 is a diagram showing embodiments of the present invention comprising factorization of an equivalent of a quantization scaling factor.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
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.
Equation 4 Structure of Quantization Parameters

Aproposed(QP)=Amantissa(QP)·2A exp onent (Qp)
Bproposed(QP)=Bmantissa(QP)·2B exp onent (QP)
Equation 5 Reduced Bit_Depth LUMA Transform

Y=T·X
K=Y·TT
L=(Amantissa(QP)·K)/220−A exp onent (QP)
K′=TT·L
Y′=K′·T
X′=(Bmantissa(QP)·Y′)/220−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 16-bit memory access. The memory access of the inverse transform is reduced to 16 bits. Values for Amantissa, Aexponent, Bmantissa, Bexponent, Aproposed, Bproposed are defined for QP=0-5 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 0-5 for TML
QP Amantissa Aexponent Bmantissa Bexponent Aproposed Bproposed
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
Equation 6 Recursion Relations

Amantissa(QP+6)=Amantissa(QP)
Bmantissa(QP+6)=Bmantissa(QP)
Aexp onent(QP+6)=Aexp onent(QP)−1
Bexp onent(QP+6)=Bexp 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 16-bit memory access is needed as seen in Table 4.
TABLE 4
Dynamic range with low-bit depth quantization (OP > 6)
8-bit 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.
Equation 7 Joint Quantization/Normalization of Matrices

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.
Equation 8 Factorization of Matrix Parameters

A(QP)[i][j]=Amantissa(QP)[i][j]·2A exp onent (QP)[i][j]
B(QP)[i][j]=Bmantissa(QP)[i][j]·2B 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 Aexponent(QP)[i][j] and Bexponent(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 Aexponent[0] and Bexponent[0].
Equation 9 Structure of Exponent Terms

Aexp onent(QP)[i][j]=Aexp onent[0]−QP/P
Bexponent(QP)[i][j]=Bexp 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 Amantissa and P independent matrices for Bmantissa reducing memory requirements and adding structure to the calculations.
Equation 10 Structure of Mantissa Terms

Amantissa(QP)[i][j]=Amantissa(QP % P)[i][j]
Bmantissa(QP)[i][j]=Bmantissa(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 Bmantissa(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.
Equation 11 Normalization of Inverse Transform I

K[i][j]=Bmantissa(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.
Equation 12 Normalization of Inverse Transform II

K[i][j]=Bmantissa(QP % P)[i][j]·Level[i][j]
X=(T−1·K·T)/2N
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.
Equation 13 transforms T forward = ( 1 1 1 1 2 1 - 1 - 2 1 - 1 - 1 1 1 - 2 2 - 1 ) T reverse = ( 2 2 2 1 2 1 - 2 - 2 2 - 2 - 2 2 2 - 1 2 - 1 )
Equation 14 quantization parameters

Q(m)[i][j]=Mm.0 for (i, j)={(0, 0), (0, 2), (2, 0), (2, 2)}
Q(m)[i][j]=Mm.1 for (i, j)={(1, 1), (1, 3), (3, 1), (3, 3)}
Q(m)[i][j]=Mm.2 otherwise
M = [ 21844 8388 13108 18724 7625 11650 16384 6989 10486 14564 5992 9532 13107 5243 8066 11916 4660 7490 ]
Equation 16 Dequantization parameters

R(m)[i][j]=Sm.0 for (i, j)={(0, 0), (0, 2), (2, 0), (2, 2)}
R(m)[i][j]=Sm.1 for (i, j)={(1, 1), (1, 3), (3, 1), (3, 3)}
R(m)[i][j]=Sm.2 otherwise
S = [ 6 10 8 7 11 9 8 12 10 9 14 11 10 16 13 11 18 14 ]
The description of the forward transformation and forward quantization, Equation 18, are given below assuming input is in X, quantization parameter QP.
Equation 17 Forward Transform

K=Tforward·X·Tforward T
Equation 18 Forward Quantization

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.
Equation 19 Dequantization

period=QP/6
phase=QP−6·period
K[i][j]=R(phase)[i][j]·Level[i][j]·2period
Equation 20 IDCT and Normalization

X′=Treverse·K·Treverse T
X″[i][j]=X′[i][j]/27
FIG. 1 is a flowchart illustrating the present invention method for the quantization of a coefficient. Although this method is depicted as a sequence of numbered steps for clarity, no order should be inferred from the numbering unless explicitly stated. It should be understood that some of these steps may be skipped, performed in parallel, or performed without the requirement of maintaining a strict order of sequence. The methods start at Step 100. Step 102 supplies a coefficient K. Step 104 supplies a quantization parameter (QP). Step 106 forms a quantization value (L) from the coefficient K using a mantissa portion (Am(QP)) and an exponential portion (xAe(QP)). Typically, the exponential portion (xAe(QP)) includes x being the value 2.
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 (xAe(QP)) in Step 106 includes:
L = K * A ( QP ) = K * Am ( QP ) * ( 2 Ae ( QP ) ) .
Some aspects of the method include a further step. Step 108 normalizes the quantization value by 2N as follows:
Ln = L / 2 N = K * Am ( QP ) / 2 ( N · Ae ( QP ) ) .
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 (xAe(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 (xAe(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 (xAe(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 (xBe(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 (2Be(QP)) includes:
X1 = L * B ( QP ) = L * Bm ( QP ) * ( 2 Be ( QP ) ) .
Other aspects of the method include a further step, Step 112, of denormalizing the quantization value by 2N as follows:
X1d = X 1 / 2 N = X1 * Bm ( QP ) / 2 N .
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 (xBe(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 (xBe(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 (xBe(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 bit-depth 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 FIG. 2. In these embodiments, image data 130 is subtracted from 132 with data representing prior video frames 145 resulting in a differential image 133, which is sent to a transform module 134. Transform module 134 may use DCT or other transform methods to transform the image. Generally, the result of the transform process will be coefficients (K), which are then sent to a quantization module 136 for quantization.
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 FIG. 3. A decoder of embodiments of the present invention may receive encoded image data 150 to a decoder module 152. Encoded image data 150 may comprise data that has been encoded by an encoder 100 such as that described with reference to FIG. 2.
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 FIG. 4, image data 102 may be sent to an encoder or encoding portion 104 for the various transformation, quantization, encoding and other procedures typical of video encoding as described above for some embodiments of the present invention. Output from the encoder may then be stored on any computer-readable storage media 106. Storage media 106 may act as a short-term buffer or as a long-term storage device.
When desired, encoded video data may be read from storage media 106 and decoded by a decoder or encoding portion 108 for output 110 to a display or other device.
In some embodiments of the present invention, as illustrated in FIG. 5, image data 112 may be sent to an encoder or encoding portion 114 for the various transformation, quantization, encoding and other procedures typical of video encoding as described above for some embodiments of the present invention. Output from the encoder may then be sent over a network, such as a LAN, WAN or the Internet 116. A storage device such as storage media 106 may be part of a network. Encoded video data may be received and decoded by a decoder or decoding portion 118, which also communicates with network 116. Decoder 118 may then decode the data for local consumption 120.
In some embodiments of the present invention, as illustrated in FIG. 6, a quantization method or apparatus comprises a mantissa portion 172 and an exponential portion 174. Quantization parameters 176 are input to both portions 172 & 174. A coefficient K 170 is input to the mantissa portion 172 where it is modified using the quantization parameter and other values as explained above. The result of this operation is combined with the result produced in the exponential portion using the quantization parameter thereby producing a quantization level or value L 178.
In some embodiments of the present invention, as illustrated in FIG. 7, a quantization method or apparatus comprises a mantissa portion 182 and a shifting portion 184. Quantization parameters 186 are input to both portions 182 & 184. A coefficient, K 180 is input to the mantissa portion 182 where it is modified using the quantization parameter and other values as explained above. The result of this operation is further processed in the shifting portion using the quantization parameter thereby producing a quantization level or value, L 188.
Some embodiments of the present invention, as illustrated in FIG. 8, comprise a dequantization method or apparatus with a mantissa portion 192 and an exponential portion 194. Quantization parameters 196 are input to both portions 192 & 194. A quantization value, L 190 is input to the mantissa portion 192 where it is modified using the quantization parameter and other values as explained above. The result of this operation is further processed in the exponential portion using the quantization parameter thereby producing a coefficient, X1 198.
Some embodiments of the present invention, as illustrated in FIG. 9, comprise a dequantization method or apparatus with a mantissa portion 202 and a shifting portion 204. Quantization parameters 206 are input to both portions 202 & 204. A quantization value, L 200 is input to the mantissa portion 202 where it is modified using the quantization parameter and other values as explained above. The result of this operation is further processed in the exponential portion using the quantization parameter thereby producing a coefficient, X1 208.
Some embodiments of the present invention may be stored on computer-readable 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 FIG. 10, may begin with input in the form of an array of quantized coefficient levels C α 220, and a quantization parameter QP 222. A dequantization scaling value S QP 224 is then calculated 221 using the quantization parameter QP 222. Quantized coefficient levels 220 are scaled 227 by S QP 224 to give transform coefficients wα 226 according to Equation 21. These transform coefficients 226 are then inverse transformed 228 to compute scaled samples x′α 230 as shown in Equation 22. The scaled samples 230 may then be normalized 232 to give reconstructed samples, x″α 234 according to Equation 23.
wα=cα·SQP   Equation 21
x α = β T αβ - 1 · w β Equation 22
x″α=(x′α+f)>>M  Equation 23
In embodiments of the present invention, a reduction in bit depth for inverse transformation calculations is achieved. The processes of these embodiments, illustrated in FIG. 11, begin with input in the form of an array of quantized coefficient levels c α 220, and a quantization parameter QP 222 similar to typical prior art methods. However, in these embodiments, the equivalent of a dequantization scaling factor SQP is factored 223 & 225 into a mantissa portion R QP 236 and an exponential portion E QP 238. The mantissa portion 236 is used during dequantization 240 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 exponential portion 238 according to Equation 26, thereby yielding reconstructed samples (x″α) 234. Using these methods, the values of {tilde over (w)}α and {tilde over (x)}′α require EQP fewer bits for representation than the corresponding values wα and x′α. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown in Equations 24-26.
{tilde over (w)}α=Cα·RQP  Equation 24
x ~ α = β T αβ - 1 · w ~ β Equation 25
x″α=[{tilde over (x)}′α+(f<<EQP)]>>(M−EQP)  Equation 26
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 FIG. 12, begin with input in the form of an array of quantized coefficient levels c α 220, a quantization parameter QP 222 similar to typical prior art methods. However, in these embodiments, an additional parameter P is used and the equivalent of a dequantization scaling factor SQP is factored 227 & 229 into a mantissa portion R QP 236 and an exponential portion E QP 238. The mantissa portion, R QP 236, doubles with each increment of QP by P. The exponential portion E QP 238 is periodic with period P. The mantissa portion 236 is used during dequantization 240 to calculate the reconstructed transform coefficients ({tilde over (w)}α) 242, which amused in the inverse transformation process 228 to calculate reconstructed samples ({tilde over (x)}′α) 244. These reconstructed samples may then be normalized using the exponential portion 238 according to Equation 28, thereby yielding reconstructed samples, x″α 234. Using these methods, the values of {tilde over (w)}α and {tilde over (x)}′α require EQP fewer bits for representation. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown in Equations 25, 27 & 28. Values of R and E need only be stored for QP in one period [1, P] reducing the memory requirements.
{tilde over (w)}α=cα·RQP % P>>(QP/P)  Equation 27
x″α=[{tilde over (x)}′α+(f<<EQP % P)]>>(M−EQP % P)  Equation 28
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 EQP 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 FIG. 13, begin with input in the form of an array of quantized coefficient levels c α 220, a quantization parameter QP 222 similar to typical prior art methods. Some of these embodiments implement the parameter P as described above. In these embodiments, the equivalent of a dequantization scaling factor SQP is factored 227 & 229 into a mantissa portion R QP 236 and a constant exponential portion EQP that is incorporated into normalization 248. The mantissa portion, RQP 236, may double with each increment of QP by P as previously described. The exponential portion E QP 238 is constant. The mantissa portion 236 is used during dequantization 240 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 EQP fewer bits for representation. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown for other embodiments above in Equations 25, 27 & 29. For embodiments that employ periodic values related to the parameter P, values of R need only be stored for QP in one period [1, P] reducing the memory requirements. The constant value for E simplifies the process by eliminating the need to transmit E to the normalization process 248.
x″α=({tilde over (x)}′α+2z)>>{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 frequency-dependent transformation.
In these embodiments, the exponential portion, previously described as EQP may be held constant and incorporated into normalization 248 as previously explained. The processes of these embodiments, illustrated in FIG. 14, begin with input in the form of an array of quantized coefficient levels c α 220, and a quantization parameter QP 222 similar other methods. Some of these embodiments may implement the parameter P as described above.
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 EQP 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 EQP 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 EQP 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 FIG. 15, may begin with input in the form of a coefficient (k) 256 and a quantization parameter 222. The coefficient 256 is multiplied by a quantization factor 262 to give the value g 264 according to Equation 31. The value g 264 is normalized 266 to give the quantized coefficient level c 220 according to Equation 32.
g=k·SQP   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 FIG. 16, may begin with input in the form of coefficient (k) 256 and a quantization parameter QP 222. However, in these embodiments, an additional parameter P is used in processing. The equivalent of a quantization scaling factor SQP is factored into a mantissa portion R QP 274 and an exponential portion E QP 276. The mantissa portion R QP 274 is periodic with period P. The exponential portion 276 decreases by one for each increment of QP by P. The mantissa portion 274 is used during quantization 278 to calculate the scaled transform coefficient ({tilde over (g)}) 280 according to Equation 33. The scaled transform coefficient may then be normalized 282 using the exponential portion 276 according to Equation 34, thereby yielding the quantized coefficient level (c) 220. Using these methods, the value of {tilde over (g)} 280 requires EQP fewer bits for representation than a corresponding value g 264 generated through known methods. Values of R 274 and E 276 need only be stored for QP in one period [1, P] reducing the memory requirements. This factorization enables mathematically equivalent calculation of the reconstructed samples using lower intermediate precision as shown in Equations 33 & 34.
{tilde over (g)}=k·RQP % P   Equation 33
c={tilde over (g)}>>(M−EQP)  Equation 34
Other variations and embodiments of the invention will occur to those skilled in the art.

Claims (14)

I claim:
1. A method for dequantization and inverse transformation, said method comprising
(a) receiving a matrix of quantized coefficient levels;
(b) receiving at least one quantization parameter (QP);
(c) determining a reconstructed transform coefficient (RTC) matrix wherein each value in said quantized coefficient level matrix is scaled by a value in a scaling matrix which is dependent on QP % P, where P is a constant value;
(d) computing scaled reconstructed samples (SRS) by performing an inverse transformation on said RTC matrix values; and
(e) computing reconstructed samples, by normalizing the SRS values.
2. A method as described in claim 1 wherein P=6.
3. A method as described in claim 1 wherein said scaling matrix is a 4×4 matrix.
4. A method as described in claim 1 wherein said scaling matrix is an 8×8 matrix.
5. A method as described in claim 1 wherein said at least one quantization parameter (QP) comprises a chroma quantization parameter.
6. A method as described in claim 1 wherein said at least one quantization parameter (QP) comprises a luma quantization parameter.
7. A method as described in claim 1 wherein said at least one quantization parameter (QP) comprises a chroma quantization parameter for each chroma channel.
8. A method as described in claim 1 wherein said at least one quantization parameter (QP) comprises a chroma quantization parameter for each chroma channel and a luma quantization parameter.
9. A method for dequantization and inverse transformation, said method comprising:
(a) receiving a matrix of quantized coefficient levels (QCL matrix);
(b) receiving a quantization parameter (QP);
(c) calculating a scaling matrix using a weighting matrix scaled by a dequantization matrix selected using QP % P;
(d) determining a reconstructed transform coefficient (RTC) matrix wherein said QCL matrix is scaled by said scaling matrix;
(e) computing scaled reconstructed samples (SRS) by performing an inverse transformation on said RTC matrix values; and
(f) computing reconstructed samples, by normalizing the SRS values with a constant shift operation.
10. A method as described in claim 9 further comprising shifting said RTC matrix values by a value dependent on QP/P before said computing scaled reconstructed samples.
11. A method for dequantization and inverse transformation, said method comprising:
(a) fixing a limited set of scaling matrices, wherein each of said scaling matrices in said limited set of scaling matrices is dependent on an associated quantization parameter QP and an associated constant parameter P according to the relation QP % P;
(b) receiving a quantized coefficient level (QCL) matrix;
(c) determining a reconstructed transform coefficient (RTC) matrix wherein each value in said quantized coefficient level matrix is scaled by a value in a scaling matrix that is selected from said limited set of scaling matrices;
(d) computing scaled reconstructed samples (SRS) by performing an inverse transformation on said RTC matrix values; and
(e) computing reconstructed samples, by normalizing the SRS values.
12. An apparatus for dequantization and inverse transformation, said apparatus comprising:
(a) a QCL receiver for receiving a matrix of quantized coefficient levels (QCLs);
(b) a QP receiver for receiving at least one quantisation parameter (QP);
(c) a processor, wherein said processor is capable of determining a reconstructed transform coefficient (RTC) matrix wherein each value in said quantized coefficient level matrix is scaled by a value in a scaling matrix which is dependent on QP % P, where P is a constant value;
(d) said processor comprising a further capability of computing scaled reconstructed samples (SRS) by performing an inverse transformation on said RTC matrix values; and
(e) said processor comprising the capability of computing reconstructed samples, by normalizing said SRS values.
13. A computer-readable medium encoded with computer executable instructions for dequantization and inverse transformation, said instructions comprising:
(a) receiving a matrix of quantized coefficient levels;
(b) receiving at least one quantization parameter (QP);
(c) determining a reconstructed transform coefficient (RTC) matrix wherein each value in said quantized coefficient level matrix is scaled by a value in a scaling matrix which is dependent on QP % P, where P is a constant value;
(d) computing scaled reconstructed samples (SRS) by performing an inverse transformation on said RTC matrix values; and
(e) computing reconstructed samples, by normalizing the SRS values.
14. An image decoding apparatus for obtaining a decoded image by decoding an encoded data, comprising:
a dequantization module for obtaining a transform coefficient K[i][j] by dequantizing the quantization value L[i][j] for each block obtained by dividing an image;
an inverse transformation module for inverse integer transforming the transform coefficient derived by the dequantization module; and
a normalization module for normalizing the inverse integer transformed transform coefficient by the inverse transformation module, wherein
the inverse integer transform is executed by an inverse transform matrix in which a different basis function has a different norm,
the dequantization module uses a mantissa portion matrix element Bm(QP)[i][j] which is a function of a quantization parameter QP and an exponential portion Be(QP) which is a function of the quantization parameter QP to derive the transform coefficient K[i][j] as follows:

K[i][j]=[L[i][j]×Bm(QP)[i][j]]<<Be(QP)
(where “<<” is a left shift operation),
the mantissa portion matrix element Bm(QP)[i][j] and the exponential portion Be(QP) are represented using constants B and P, respectively,

Bm(QP)[i][j]=Bm(QP mod P)[i][j]

Be(QP)=B+QP/P,
and
by using a different value according to the basis function as the mantissa portion matrix element, the normalization module normalizes the inverse integer transformed transform coefficient by a shift operation with use of 2N (where N is a natural number).
US13/301,472 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices Expired - Lifetime USRE44319E1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/301,472 USRE44319E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/901,316 USRE44891E1 (en) 2001-08-09 2013-05-23 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US14/207,043 USRE46370E1 (en) 2001-08-09 2014-03-12 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,121 USRE47277E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,111 USRE47258E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US31143601P 2001-08-09 2001-08-09
US31901801P 2001-11-30 2001-11-30
US10/139,036 US7123655B2 (en) 2001-08-09 2002-05-02 Method for reduced bit-depth quantization
US10/326,459 US7170942B2 (en) 2001-08-09 2002-12-20 Systems and methods for efficient video-related data processing
US10/931,558 US7400682B2 (en) 2001-08-09 2004-08-31 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/689,897 USRE42745E1 (en) 2001-08-09 2010-01-19 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/837,154 USRE43091E1 (en) 2001-08-09 2010-07-15 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,472 USRE44319E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US10/931,558 Reissue US7400682B2 (en) 2001-08-09 2004-08-31 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/837,154 Division USRE43091E1 (en) 2001-08-09 2010-07-15 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/931,558 Continuation US7400682B2 (en) 2001-08-09 2004-08-31 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/901,316 Continuation USRE44891E1 (en) 2001-08-09 2013-05-23 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Publications (1)

Publication Number Publication Date
USRE44319E1 true USRE44319E1 (en) 2013-06-25

Family

ID=27385275

Family Applications (15)

Application Number Title Priority Date Filing Date
US10/139,036 Expired - Lifetime US7123655B2 (en) 2001-08-09 2002-05-02 Method for reduced bit-depth quantization
US10/261,884 Expired - Lifetime US7130348B2 (en) 2001-08-09 2002-09-30 Systems and methods for reduced bit-depth processing in video-related data
US10/261,440 Expired - Lifetime US7106795B2 (en) 2001-08-09 2002-09-30 Systems and methods for enabling reduced bit-depth processing and memory reduction in video-related data processing
US10/326,459 Expired - Lifetime US7170942B2 (en) 2001-08-09 2002-12-20 Systems and methods for efficient video-related data processing
US10/931,558 Ceased US7400682B2 (en) 2001-08-09 2004-08-31 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/689,897 Expired - Lifetime USRE42745E1 (en) 2001-08-09 2010-01-19 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/837,154 Expired - Lifetime USRE43091E1 (en) 2001-08-09 2010-07-15 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,502 Expired - Lifetime USRE44234E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,472 Expired - Lifetime USRE44319E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,430 Expired - Lifetime USRE44285E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,526 Expired - Lifetime USRE44138E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/901,316 Expired - Lifetime USRE44891E1 (en) 2001-08-09 2013-05-23 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US14/207,043 Ceased USRE46370E1 (en) 2001-08-09 2014-03-12 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,121 Expired - Lifetime USRE47277E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,111 Expired - Lifetime USRE47258E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Family Applications Before (8)

Application Number Title Priority Date Filing Date
US10/139,036 Expired - Lifetime US7123655B2 (en) 2001-08-09 2002-05-02 Method for reduced bit-depth quantization
US10/261,884 Expired - Lifetime US7130348B2 (en) 2001-08-09 2002-09-30 Systems and methods for reduced bit-depth processing in video-related data
US10/261,440 Expired - Lifetime US7106795B2 (en) 2001-08-09 2002-09-30 Systems and methods for enabling reduced bit-depth processing and memory reduction in video-related data processing
US10/326,459 Expired - Lifetime US7170942B2 (en) 2001-08-09 2002-12-20 Systems and methods for efficient video-related data processing
US10/931,558 Ceased US7400682B2 (en) 2001-08-09 2004-08-31 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/689,897 Expired - Lifetime USRE42745E1 (en) 2001-08-09 2010-01-19 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US12/837,154 Expired - Lifetime USRE43091E1 (en) 2001-08-09 2010-07-15 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,502 Expired - Lifetime USRE44234E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Family Applications After (6)

Application Number Title Priority Date Filing Date
US13/301,430 Expired - Lifetime USRE44285E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/301,526 Expired - Lifetime USRE44138E1 (en) 2001-08-09 2011-11-21 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US13/901,316 Expired - Lifetime USRE44891E1 (en) 2001-08-09 2013-05-23 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US14/207,043 Ceased USRE46370E1 (en) 2001-08-09 2014-03-12 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,121 Expired - Lifetime USRE47277E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices
US15/400,111 Expired - Lifetime USRE47258E1 (en) 2001-08-09 2017-01-06 Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Country Status (14)

Country Link
US (15) US7123655B2 (en)
EP (6) EP3121966B1 (en)
JP (16) JP3678365B2 (en)
KR (3) KR100880305B1 (en)
CN (5) CN100442669C (en)
AT (2) ATE549861T1 (en)
CA (12) CA2841701C (en)
CY (2) CY1120069T1 (en)
DE (1) DE60232681D1 (en)
DK (5) DK1753243T3 (en)
ES (6) ES2661930T3 (en)
HK (5) HK1070479A1 (en)
PT (5) PT2262114T (en)
WO (1) WO2003017497A1 (en)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1032219B1 (en) * 1997-10-23 2003-05-07 Mitsubishi Denki Kabushiki Kaisha Image decoding apparatus, image coding apparatus and image communication system
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7185037B2 (en) * 2001-08-23 2007-02-27 Texas Instruments Incorporated Video block transform
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
JP4617644B2 (en) 2003-07-18 2011-01-26 ソニー株式会社 Encoding apparatus and method
US7756351B2 (en) 2003-12-19 2010-07-13 Stmicroelectronics, Inc. Low power, high performance transform coprocessor for video compression
EP2373033A3 (en) * 2004-01-30 2011-11-30 Panasonic Corporation Picture coding and decoding method, apparatus, and program thereof
US7487193B2 (en) * 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
CN1981534B (en) 2004-06-08 2011-04-13 松下电器产业株式会社 Image encoding device, image decoding device, and integrated circuit used therein
KR101320260B1 (en) * 2004-06-18 2013-10-23 톰슨 라이센싱 Method and apparatus for encoding and decoding video signal data
CN101023673B (en) * 2004-09-16 2011-06-08 汤姆逊许可证公司 Video codec with weighted prediction utilizing local brightness variation
US7444030B2 (en) * 2004-11-12 2008-10-28 Micron Technology, Inc. Image encoding with dynamic buffer-capacity-level-based compression adjustment
US7634148B2 (en) * 2005-01-07 2009-12-15 Ntt Docomo, Inc. Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
US7492821B2 (en) * 2005-02-08 2009-02-17 International Business Machines Corporation System and method for selective image capture, transmission and reconstruction
US7493960B2 (en) * 2005-09-20 2009-02-24 Schlumberger Technology Corporation Apparatus and method to connect two parts without rotation
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
KR100996704B1 (en) * 2006-11-06 2010-11-25 삼성전자주식회사 Method for Transmitting Buffer Size Information
CN101227601B (en) * 2007-01-15 2011-09-14 飞思卡尔半导体公司 Equipment and method for performing geometric transformation in video rendition
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
WO2009053780A2 (en) * 2007-10-26 2009-04-30 Zoran (France) Frame buffer compression for video processing devices
WO2009157579A1 (en) * 2008-06-27 2009-12-30 ソニー株式会社 Image processing device and image processing method
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
US8451892B2 (en) * 2009-06-30 2013-05-28 Oracle America, Inc. Method and system for linear quantization and dequantization
JP2010009624A (en) * 2009-10-07 2010-01-14 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) 2010-02-19 2013-07-31 富士フイルム株式会社 Preparation method of lithographic printing plate
JP2012095053A (en) * 2010-10-26 2012-05-17 Toshiba Corp Stream transmission system, transmitter, receiver, stream transmission method, and program
JP5741076B2 (en) 2010-12-09 2015-07-01 ソニー株式会社 Image processing apparatus and image processing method
US9807395B2 (en) 2011-01-18 2017-10-31 Dolby International Ab Video decoder with reduced dynamic range transform with inverse transform shifting memory
US20120183044A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with memory storing
US20120183045A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform including clipping
CA2828013C (en) * 2011-02-25 2016-07-26 Blackberry Limited Methods and devices for data compression using offset-based adaptive reconstruction levels
US20120230395A1 (en) * 2011-03-11 2012-09-13 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with quantization matricies
US8571099B2 (en) * 2011-06-01 2013-10-29 Sharp Laboratories Of America, Inc. Decoder with dynamic range compensation
US20120307889A1 (en) * 2011-06-01 2012-12-06 Sharp Laboratories Of America, Inc. Video decoder with dynamic range adjustments
MX2014000055A (en) * 2011-06-30 2014-04-30 Samsung Electronics Co Ltd Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and aparatus therefor.
US20130083845A1 (en) * 2011-09-30 2013-04-04 Research In Motion Limited Methods and devices for data compression using a non-uniform reconstruction space
US10277915B2 (en) 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
JP6221207B2 (en) * 2012-06-08 2017-11-01 ソニー株式会社 Image processing apparatus and method, and program
KR101277093B1 (en) * 2012-07-16 2013-06-20 한국전자통신연구원 Method and apparatus for encoding and decoding using adaptive bit depth decreasing
US9674538B2 (en) * 2013-04-08 2017-06-06 Blackberry Limited Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
US20140301447A1 (en) * 2013-04-08 2014-10-09 Research In Motion Limited Methods for reconstructing an encoded video at a bit-depth lower than at which it was encoded
JP6204171B2 (en) * 2013-12-03 2017-09-27 株式会社シキノハイテック Image encoding apparatus and image decoding apparatus
US10417525B2 (en) 2014-09-22 2019-09-17 Samsung Electronics Co., Ltd. Object recognition with reduced neural network weight precision
WO2017072218A1 (en) * 2015-10-30 2017-05-04 Agfa Healthcare Compressing and uncompressing method for high bit-depth medical gray scale images
US20200400730A1 (en) * 2018-03-06 2020-12-24 Xi'an Daheng Tiancheng It Co., Ltd. Frequency spectrum monitoring data structured representation method, and data processing method and compression method
US11303912B2 (en) * 2018-04-18 2022-04-12 Qualcomm Incorporated Decoded picture buffer management and dynamic range adjustment
US10755469B2 (en) * 2018-12-28 2020-08-25 Intel Corporation Apparatus and method for ray tracing instruction processing and execution
CN114402601B (en) 2019-09-14 2024-02-27 字节跳动有限公司 Method and device for shifting quantization parameter of chroma deblocking filter
CN114651442A (en) 2019-10-09 2022-06-21 字节跳动有限公司 Cross-component adaptive loop filtering in video coding and decoding
KR20220073745A (en) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 Co-coding of chroma residuals and filtering in video processing
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
WO2021138293A1 (en) * 2019-12-31 2021-07-08 Bytedance Inc. Adaptive color transform in video coding
US11259024B2 (en) * 2020-06-05 2022-02-22 Tencent America LLC Quantizer design
CN111769891B (en) * 2020-06-16 2022-08-26 西安大衡天成信息科技有限公司 Tensor decomposition-based frequency spectrum monitoring big data processing system and processing method

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990009064A1 (en) 1989-01-27 1990-08-09 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
WO1990009022A1 (en) 1989-01-27 1990-08-09 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder and encoder/decoder for high-quality audio
JPH03270573A (en) 1990-03-20 1991-12-02 Fujitsu Ltd Picture data coding device and picture data decoding device
JPH04222121A (en) 1990-12-22 1992-08-12 Casio Comput Co Ltd Data compressor
JPH0595483A (en) 1991-10-02 1993-04-16 Ricoh Co Ltd Device and method for picture compression
US5230038A (en) 1989-01-27 1993-07-20 Fielder Louis D Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
GB2264609A (en) 1992-02-28 1993-09-01 Ricoh Kk Data compression
JPH05307467A (en) 1991-07-16 1993-11-19 Lsi Logic Corp Method and device for executing quantization
CA2221181A1 (en) 1992-06-26 1993-12-27 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
JPH0653839A (en) 1992-07-29 1994-02-25 Casio Comput Co Ltd Data compressing device
JPH0677842A (en) 1992-08-28 1994-03-18 Mitsubishi Electric Corp Quantizer
US5345408A (en) 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor
JPH0799578A (en) 1993-09-28 1995-04-11 Nec Corp Picture processing device
US5471412A (en) 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
US5479364A (en) 1992-06-26 1995-12-26 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
US5640159A (en) 1994-01-03 1997-06-17 International Business Machines Corporation Quantization method for image data compression employing context modeling algorithm
US5754457A (en) 1996-03-05 1998-05-19 Intel Corporation Method for performing an inverse cosine transfer function for use with multimedia information
US5764553A (en) 1996-02-28 1998-06-09 Lsi Logic Corporation Generalized data processing path for performing transformation and quantization functions for video encoder systems
US5822003A (en) 1994-10-31 1998-10-13 Girod; Bernd Method and apparatus for performing fast reduced coefficient discrete cosine transforms
US5845112A (en) 1997-03-06 1998-12-01 Samsung Electronics Co., Ltd. Method for performing dead-zone quantization in a single processor instruction
KR0172902B1 (en) 1995-09-12 1999-03-20 구자홍 Mpeg encoder
US6081552A (en) 1998-01-13 2000-06-27 Intel Corporation Video coding using a maximum a posteriori loop filter
US6160920A (en) 1998-09-15 2000-12-12 Winbond Electronics Corp. Cosine transforming and quantizing device, method of reducing multiplication operations in a video compressing apparatus
US6212236B1 (en) 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US20030099291A1 (en) 2001-08-09 2003-05-29 Kerofsky Louis J. Systems and methods for enabling reduced bit-depth processing and memory reduction in video-related data processing
US20040013202A1 (en) 2002-04-23 2004-01-22 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
JP2004506990A (en) 2000-08-12 2004-03-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Integer approximation of transform coefficients and encoder and decoder
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA222118A (en) 1922-08-08 Richmond Glass Perley Heel covering apparatus
BE1000643A5 (en) * 1987-06-05 1989-02-28 Belge Etat METHOD FOR CODING IMAGE SIGNALS.
CA2027705C (en) * 1989-10-17 1994-02-15 Masami Akamine Speech coding system utilizing a recursive computation technique for improvement in processing speed
JP2861264B2 (en) * 1990-05-28 1999-02-24 富士通株式会社 Method for manufacturing semiconductor device
JPH0648289A (en) 1992-08-04 1994-02-22 Tokico Ltd Master cylinder
JP2714520B2 (en) 1992-08-28 1998-02-16 株式会社日立製作所 Mounting component mounting / dismounting device
JP3270573B2 (en) 1993-06-08 2002-04-02 松下冷機株式会社 Air conditioner
CN1128502C (en) * 1994-08-01 2003-11-19 松下电器产业株式会社 An oversampling DA converter
CN1178616A (en) * 1995-03-17 1998-04-08 罗伯特·博施有限公司 Process for monitoring quantisation quality in digital data
DE19509117C2 (en) * 1995-03-17 1997-02-27 Bosch Gmbh Robert Procedure for monitoring the transmission quality of digitized signals
US5629778A (en) * 1995-05-15 1997-05-13 Polaroid Corporation Method and apparatus for reduction of image data compression noise
US5892518A (en) * 1995-07-28 1999-04-06 Matsushita Electric Industrial Co., Ltd. Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
JP3249729B2 (en) * 1995-10-24 2002-01-21 シャープ株式会社 Image encoding device and image decoding device
KR100203710B1 (en) * 1996-04-30 1999-06-15 전주범 Improved image coding system having functions for controlling generated amount of coded bit stream
JP3774954B2 (en) * 1996-10-30 2006-05-17 株式会社日立製作所 Video encoding method
US6052490A (en) * 1997-02-14 2000-04-18 At&T Corp. Video coder employing pixel transposition
JP2942222B2 (en) * 1997-08-11 1999-08-30 株式会社つくばソフト研究所 Communication device for color images and grayscale images
KR100249229B1 (en) * 1997-08-13 2000-03-15 구자홍 Down Conversion Decoding Apparatus of High Definition TV
US6243730B1 (en) 1999-05-04 2001-06-05 Sony Electronics, Inc. Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add
JP4503136B2 (en) 2000-05-17 2010-07-14 文化シヤッター株式会社 Sliding door free stop device and sliding door device
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7295609B2 (en) * 2001-11-30 2007-11-13 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
JP4504192B2 (en) 2002-09-16 2010-07-14 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Secure access to subscription modules
KR20040076034A (en) * 2003-02-24 2004-08-31 삼성전자주식회사 Method and apparatus for encoding video signal with variable bit rate
JP4222121B2 (en) 2003-06-20 2009-02-12 大正製薬株式会社 Partition insertion device
KR20090063761A (en) 2007-12-14 2009-06-18 삼성전자주식회사 Display device
JP2010052603A (en) * 2008-08-28 2010-03-11 Iseki & Co Ltd Traveling device of working vehicle

Patent Citations (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990009022A1 (en) 1989-01-27 1990-08-09 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder and encoder/decoder for high-quality audio
JPH04503136A (en) 1989-01-27 1992-06-04 ドルビー・ラボラトリーズ・ランセンシング・コーポレーション Short-delay transform coders, decoders, and encoder-decoders for high-quality audio
JPH04504192A (en) 1989-01-27 1992-07-23 ドルビー・ラボラトリーズ・ランセンシング・コーポレーション Low bitrate conversion coders, decoders, and encoders/decoders for high quality audio
US5230038A (en) 1989-01-27 1993-07-20 Fielder Louis D Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
WO1990009064A1 (en) 1989-01-27 1990-08-09 Dolby Laboratories Licensing Corporation Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
JPH03270573A (en) 1990-03-20 1991-12-02 Fujitsu Ltd Picture data coding device and picture data decoding device
JPH04222121A (en) 1990-12-22 1992-08-12 Casio Comput Co Ltd Data compressor
JPH05307467A (en) 1991-07-16 1993-11-19 Lsi Logic Corp Method and device for executing quantization
JPH0595483A (en) 1991-10-02 1993-04-16 Ricoh Co Ltd Device and method for picture compression
JPH0646269A (en) 1992-02-28 1994-02-18 Ricoh Co Ltd Expansion method and compression method for still picture data or device executing the methods
GB2264609A (en) 1992-02-28 1993-09-01 Ricoh Kk Data compression
US5590067A (en) 1992-06-26 1996-12-31 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
US5594678A (en) 1992-06-26 1997-01-14 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
US5596517A (en) 1992-06-26 1997-01-21 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
US5479364A (en) 1992-06-26 1995-12-26 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
CA2221181A1 (en) 1992-06-26 1993-12-27 Discovision Associates Method and arrangement for transformation of signals from a frequency to a time domain
JPH0653839A (en) 1992-07-29 1994-02-25 Casio Comput Co Ltd Data compressing device
JPH0677842A (en) 1992-08-28 1994-03-18 Mitsubishi Electric Corp Quantizer
US5345408A (en) 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor
JPH0799578A (en) 1993-09-28 1995-04-11 Nec Corp Picture processing device
US5748793A (en) 1993-09-28 1998-05-05 Nec Corporation Quick image processor of reduced circuit scale with high image quality and high efficiency
US5471412A (en) 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
US5640159A (en) 1994-01-03 1997-06-17 International Business Machines Corporation Quantization method for image data compression employing context modeling algorithm
US5822003A (en) 1994-10-31 1998-10-13 Girod; Bernd Method and apparatus for performing fast reduced coefficient discrete cosine transforms
KR0172902B1 (en) 1995-09-12 1999-03-20 구자홍 Mpeg encoder
US5764553A (en) 1996-02-28 1998-06-09 Lsi Logic Corporation Generalized data processing path for performing transformation and quantization functions for video encoder systems
US5754457A (en) 1996-03-05 1998-05-19 Intel Corporation Method for performing an inverse cosine transfer function for use with multimedia information
US5845112A (en) 1997-03-06 1998-12-01 Samsung Electronics Co., Ltd. Method for performing dead-zone quantization in a single processor instruction
US6212236B1 (en) 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6081552A (en) 1998-01-13 2000-06-27 Intel Corporation Video coding using a maximum a posteriori loop filter
US6160920A (en) 1998-09-15 2000-12-12 Winbond Electronics Corp. Cosine transforming and quantizing device, method of reducing multiplication operations in a video compressing apparatus
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
JP2004506990A (en) 2000-08-12 2004-03-04 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Integer approximation of transform coefficients and encoder and decoder
US20040046754A1 (en) 2000-08-12 2004-03-11 Claudia Mayer Method for carrying out integer approximation of transform coefficients, and coder and decoder
US6856262B2 (en) 2000-08-12 2005-02-15 Robert Bosch Gmbh Method for carrying out integer approximation of transform coefficients, and coder and decoder
US20030123553A1 (en) 2001-08-09 2003-07-03 Kerofsky Louis Joseph Systems and methods for efficient video-related data processing
US20030112876A1 (en) 2001-08-09 2003-06-19 Sharp Laboratories Of America, Inc. Systems and methods for reduced bit-depth processing in video-related data
US20030099291A1 (en) 2001-08-09 2003-05-29 Kerofsky Louis J. Systems and methods for enabling reduced bit-depth processing and memory reduction in video-related data processing
US20040013202A1 (en) 2002-04-23 2004-01-22 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system

Non-Patent Citations (20)

* Cited by examiner, † Cited by third party
Title
"H. 26L Test Model Long Term No. 8(TML-8) Drafto" ITU-T Telecommunication Standardization Sector of ITU, Genevam CH, Apr. 2, 2001, pp. 1-54 XP001089814.
Bjontegaard, "H.26L Test Model Long Term No. 7 (TML-7) Draft0", ITU-Telecommunications Standardization Sector, Study Group 16, Video Coding Experts Group (VCEG), Document VCEG-M81, Thirteenth Meeting, Austin, Texas, USA, Apr. 2-4, 2001, pp. 1-36.
Bjontegaard, "H.26L Test Model Long Term No. 8 (TML-8) Draft0", ITU-Telecommunications Standardization Sector, Study Group 16, Video Coding Experts Group (VCEG), Document VCEG-Nxx, Apr. 2, 2001 (Generated: Jun. 28, 2001), pp. 1-46.
Extended European Search Report, dated Nov. 4, 2010, for European Application No. 10179630.8.
Extended European Search Report, dated Nov. 4, 2010, for European Application No. 10179636.5.
Gisele Bjontegard, "H.26L Test Model Long Term No. 8 (TML-8) draft0", document VCEG-M81, ITU-T Video Coding Experts Group (VCEG), Austin, Texas, Apr. 2001.
Hallapuro et al., "Low Complexity (I)DCT", ITU-Telecommunications Standardization Sector, Study Group 16 Question 6, Video Coding Experts Group (VCEG), 15th Meeting: Pattaya, Thailand, Dec. 4-6, 2001, pp. 1-11.
Hallapuro et al., "Low Complexity Transform and Quantization-Part II: Extensions," Document: JVT-B039, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), 2nd Meeting: Geneva, CH, Jan. 29-Feb. 1, 2002, pp. 1-14.
Hallapuro, et al., "Low Complexity Transform and Quantization-Part 1: Basic Implementation," Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JCTI/SC29/WG11 and ITU-T SG16 Q.6), Document: JVT-B038, XP030005037, Jan. 14, 2002, pp. 1-18.
Joint Video Team, T. Wiegand (Contact), "Draft ITU-T Recommendation H.264 (a.k.a. "H.26L")", ITU-Telecommunications Standardization Sector, Study Group 16 Question 6, Video Coding Experts Group (VCEG), Document: VCEG-P07, 16th Meeting: Fairfax, Virginia, USA, May 6-10, 2002, 141 pages.
Kerofsky L., Lei S.; "Reduced bit- depth quantization" Document VCEG-N20, ITU-Telecommunications Standardization Sector, Study Group 16 Question 6: Video Coding Experts Group (VCEG), 'Online! Sep. 24, 2001 , pp. 1-14, XP002332051 Santa Barbara, CA USA Retrieved from thr internet: URL: ftp3.itu.int/av-arch/video-site/0109-SAN/vceg-n20.DOC> Retrieved on Jun. 8, 2008! Section "Introduction", pp. 1-2 Section "Proposed Quantization values", pp. 3-4 Section "Appendix", Table 10 and Equations 4,5.
Kerofsky L., Lei S.; "Reduced bit- depth quantization" Document VCEG-N20, ITU—Telecommunications Standardization Sector, Study Group 16 Question 6: Video Coding Experts Group (VCEG), ′Online! Sep. 24, 2001 , pp. 1-14, XP002332051 Santa Barbara, CA USA Retrieved from thr internet: URL: ftp3.itu.int/av-arch/video-site/0109—SAN/vceg-n20.DOC> Retrieved on Jun. 8, 2008! Section "Introduction", pp. 1-2 Section "Proposed Quantization values", pp. 3-4 Section "Appendix", Table 10 and Equations 4,5.
Kerofsky, "Modifications to the JVT IDCT", Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), Document: JVT-C25, 3rd Meeting: Fairfax, Virginia, USA, May 6-10, 2002, pp. 1-14.
Kerofsky, "Notes on JVT IDCT", Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), Document: JVT-C24, 3rd Meeting: Fairfax, Virginia, USA, May 6-10, 2002, pp. 1-8.
Klomp et al., "TE1: Cross-Checking Results of DMVD Proposal JCTVC-B076 (MediaTek Inc.)", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, Document: JCTVC-B119, 2nd Meeting: Geneva, CH, Jul. 21-28, 2010, 1 page.
Korean Office Action, dated Jan. 13, 2006, for Korean Application No. 10-2004-7001865 (English translation only provided).
Lepley et al., "Report on Core Experiment CodEff9: Integer Quantization", Coding of Still Pictures, ISO/IEC JTC1/SC29/WG1 (ITU-T SG8), XP017205064, Oct. 21, 1998, 5 pages.
Liang J. , Tran T. , Topiwala P .: "a 16-bit architecture for H .26L, treating DCT transform and quantization" Document VCEG-M16 , ITU-Elecommuntcations Standardization Sector,Study Group 16 Question 6, Video Coding Experts Group (VCEG), 'Online!Apr. 2, 2001, pp. 1-17, XP002332050 Austin, Texes, USA Rerieved from the Internet ; URL: http://www.ensc.sfu.ca/people/faculty/jiel/papers/H26L--Proposal.doc !retrieved on Jun. 8, 2005 abstract Section "Introduction", p. 1 Section 1.2 "Quantization in TML 5.2", pp. 2-3 Section 2.4 "Scaling factors and Quantization", pp. 6-7.
Liang J. , Tran T. , Topiwala P .: "a 16-bit architecture for H .26L, treating DCT transform and quantization" Document VCEG-M16 , ITU—Elecommuntcations Standardization Sector,Study Group 16 Question 6, Video Coding Experts Group (VCEG), ′Online!Apr. 2, 2001, pp. 1-17, XP002332050 Austin, Texes, USA Rerieved from the Internet ; URL: http://www.ensc.sfu.ca/people/faculty/jiel/papers/H26L—-Proposal.doc !retrieved on Jun. 8, 2005 abstract Section "Introduction", p. 1 Section 1.2 "Quantization in TML 5.2", pp. 2-3 Section 2.4 "Scaling factors and Quantization", pp. 6-7.
Sun et al., "Global Motion Vector Coding (GMVC)", ITU-Telecommunications Standardization Sector, Study Group 16 Question 6, Video Coding Experts Group (VCEG), Document: VCEG-O20, Fifteenth Meeting: Pattaya, Thailand, Dec. 4-7, 2001, pp. 1-10.

Also Published As

Publication number Publication date
EP1753243A2 (en) 2007-02-14
CA2841701A1 (en) 2003-02-27
CN101399989B (en) 2011-07-13
EP1459449A4 (en) 2005-09-21
JP2010158055A (en) 2010-07-15
CA2996825A1 (en) 2003-02-27
EP3121966A1 (en) 2017-01-25
ES2621677T3 (en) 2017-07-04
ES2328118T3 (en) 2009-11-10
DK3121966T3 (en) 2018-03-12
US20030206585A1 (en) 2003-11-06
JP2010035192A (en) 2010-02-12
CA2454626C (en) 2007-10-16
EP2262114A1 (en) 2010-12-15
EP1459449A1 (en) 2004-09-22
PT1753243T (en) 2018-03-09
WO2003017497A1 (en) 2003-02-27
ES2662250T3 (en) 2018-04-05
CN1565083A (en) 2005-01-12
CA2886119C (en) 2016-12-20
PT2262113T (en) 2017-04-03
JP4745433B2 (en) 2011-08-10
USRE47277E1 (en) 2019-03-05
JP2008148326A (en) 2008-06-26
CA2946257A1 (en) 2003-02-27
CA2996825C (en) 2018-10-16
US7400682B2 (en) 2008-07-15
USRE44891E1 (en) 2014-05-13
JP2010045825A (en) 2010-02-25
DK1753243T3 (en) 2018-03-12
JP2009278633A (en) 2009-11-26
JP2010050992A (en) 2010-03-04
EP1587216B1 (en) 2012-03-14
JP3862725B2 (en) 2006-12-27
US7170942B2 (en) 2007-01-30
ES2661930T3 (en) 2018-04-04
USRE47258E1 (en) 2019-02-26
EP1753243A3 (en) 2007-12-26
USRE43091E1 (en) 2012-01-10
CA2737864C (en) 2012-03-27
JP4745425B2 (en) 2011-08-10
KR20080011234A (en) 2008-01-31
KR100591653B1 (en) 2006-06-20
CA2737889A1 (en) 2003-02-27
HK1070479A1 (en) 2005-06-17
JP2010045827A (en) 2010-02-25
CN101087421A (en) 2007-12-12
CN101087421B (en) 2011-11-16
CY1120067T1 (en) 2018-12-12
ATE549861T1 (en) 2012-03-15
PT2262114T (en) 2016-08-17
EP1587216A1 (en) 2005-10-19
DK2262114T3 (en) 2016-09-05
EP1753243B1 (en) 2018-01-03
CN101399988B (en) 2014-03-12
EP1459449B1 (en) 2009-06-17
CA2576161C (en) 2011-07-19
DK2262113T3 (en) 2017-04-10
USRE44285E1 (en) 2013-06-11
US20050025237A1 (en) 2005-02-03
JP4745435B2 (en) 2011-08-10
JP4745325B2 (en) 2011-08-10
JP4030558B2 (en) 2008-01-09
USRE44234E1 (en) 2013-05-21
CA2841701C (en) 2015-06-30
CA2737889C (en) 2012-04-17
EP2262113B1 (en) 2017-02-08
PT1587216E (en) 2012-05-25
JP2005198328A (en) 2005-07-21
CN100571394C (en) 2009-12-16
JP4067558B2 (en) 2008-03-26
ES2587957T3 (en) 2016-10-27
JP2010050991A (en) 2010-03-04
CA2776992A1 (en) 2003-02-27
CA2776992C (en) 2013-03-26
KR100811986B1 (en) 2008-03-10
JP2010045826A (en) 2010-02-25
USRE46370E1 (en) 2017-04-18
ATE434288T1 (en) 2009-07-15
EP2262114B1 (en) 2016-06-29
HK1108786A1 (en) 2008-05-16
CY1120069T1 (en) 2018-12-12
USRE44138E1 (en) 2013-04-09
US20030123553A1 (en) 2003-07-03
CA2737864A1 (en) 2003-02-27
JP2010045822A (en) 2010-02-25
CA2946257C (en) 2019-09-03
CA2801972A1 (en) 2003-02-27
ES2380936T3 (en) 2012-05-21
CN101399989A (en) 2009-04-01
PT3121966T (en) 2018-03-09
JP2007295596A (en) 2007-11-08
EP2262113A1 (en) 2010-12-15
CN101087420A (en) 2007-12-12
DK1459449T3 (en) 2009-08-31
HK1129014A1 (en) 2009-11-13
CA2801972C (en) 2014-07-22
US20030099291A1 (en) 2003-05-29
JP2010045821A (en) 2010-02-25
CA2576161A1 (en) 2003-02-27
CA2946246C (en) 2017-12-05
DE60232681D1 (en) 2009-07-30
JP2010050993A (en) 2010-03-04
CN101399988A (en) 2009-04-01
US7106795B2 (en) 2006-09-12
JP3678365B2 (en) 2005-08-03
KR100880305B1 (en) 2009-01-28
US7123655B2 (en) 2006-10-17
CN100442669C (en) 2008-12-10
HK1129015A1 (en) 2009-11-13
CA2454626A1 (en) 2003-02-27
CA2737888A1 (en) 2003-02-27
JP2005501447A (en) 2005-01-13
CA2946246A1 (en) 2003-02-27
CA2737888C (en) 2012-08-07
US20030112876A1 (en) 2003-06-19
US7130348B2 (en) 2006-10-31
JP2006101506A (en) 2006-04-13
EP3121966B1 (en) 2018-01-03
CA2886119A1 (en) 2003-02-27
JP4745436B2 (en) 2011-08-10
JP4745434B2 (en) 2011-08-10
KR20060031885A (en) 2006-04-13
HK1108785A1 (en) 2008-05-16
KR20040022239A (en) 2004-03-11
USRE42745E1 (en) 2011-09-27

Similar Documents

Publication Publication Date Title
USRE47277E1 (en) Systems and methods for reduced bit-depth processing in video-related data with frequency weighting matrices

Legal Events

Date Code Title Description
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

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12