Abstract:
Methods and systems for transcoding a video sequence in a discrete cosine transform (DCT) domain, wherein a transcoder receives a video bit-stream including frames and each of the frames including blocks. The video bit-stream includes an intra-frame and an inter-frame that has been encoded by motion compensation based on the intra-frame or another inter-frame. A DCT-domain motion compensation module in the transcoder re-calculates first DCT coefficients for a target block in the inter-frame. For this re-calculation of the first DCT coefficients, the motion compensation module inputs second DCT coefficients of neighboring blocks in the inter-frame, and calculates partial DCT coefficients, using significant ones of the second DCT coefficients of the neighboring blocks.

Description:
RELATED APPLICATION DATA  
         [0001]    The present application is related to and claims the benefit of U.S. Provisional Application No. 60/330,769, filed on Oct. 30, 2001, entitled “Fast Algorithms for DCT-domain Video Transcoding,” which is expressly incorporated in its entirety herein by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention is generally related to digital video signal processing using video compression schemes such as MPEG (Moving Picture Experts Group) and H.26x (ITU-T Recommendation H.261 or H.263). The invention is more particularly related to methods and systems for video transcoding in a compressed domain, such as a discrete cosine transform (DCT) domain.  
         BACKGROUND  
         [0004]    Video transcoding is a process of converting a previously compressed video bit-stream into another compressed video bit-stream with a lower bit-rate, a different display format (e.g., downscaling), or a different coding method (e.g., conversion between H.26x and MPEG, conversion among MPEG-1, 2, and 4, or adding error resilience), etc. An application of the bit-rate adaptation (usually rate reduction) can provide fine and dynamic adjustments of the bit-rate of the video bit-stream according to actual network conditions, e.g., available bandwidth.  
           [0005]    The bit-rate adaptation may be performed for video bridging over heterogeneous networks, for example, multipoint video conferencing, remote collaboration, remote surveillance, video on demand, video multicast over heterogeneous networks, and streaming video. The video transcoder placed at a boundary between the heterogeneous networks enables each receiver of the video bit-stream to decode video as received, without additional functional requirements in the decoder.  
           [0006]    [0006]FIG. 1 shows an exemplary process of video coding. Video compression is based on motion compensated predictive coding with an I-P or I-B-P frame structure. Here, I, P, and B frames represent intra, predictive, and interpolated frames, respectively. P and B frames are also called “inter-frames,” whereas I frames are “intra-frames.” An MPEG video sequence 100 has a group-of-picture (GOP) structure in which a P-frame coding is dependent on its precedent I/P-frame, and a B-frame coding is dependent on its preceding I/P-frame and succeeding I/P frame.  
           [0007]    Each frame (picture)  110  is divided into blocks  120 , each of which comprises 8×8 pixels. A 2×2 matrix of blocks is called a macroblock  115 . For intra-frames, DCT converts each block  120  of pixels into a block of 8×8 DCT coefficients  130 . The most upper-left coefficient is a DC component, i.e., a zero spatial frequency component. In the 8×8 block, as a distance from the most upper-left point becomes larger, the spatial frequency the coefficient represents becomes higher. Human eyes are more sensitive to lower-frequency coefficients, and thus n×n low-frequency DCT coefficients  135  may be sufficient for a required quality of decoded pictures.  
           [0008]    For inter-frames, motion compensation is performed. A frame to code is called a “target” frame  140 , and its preceding (and succeeding in the case of coding B-frames) I/P frame is called a “reference” frame  150 . For each block  160  in target frame  140 , reference frame  150  is searched to find a block  170  whose image best matches an image of block  160 . A decoded image (not an original image) is used as the image of reference frame  150 . A motion vector  155  represents an amount and direction of the movement of block  160  relative to block  170 .  
           [0009]    Then, a difference (prediction error) between the image of 8×8 pixel block  160  and the image of 8×8 pixel block  170  is calculated, and DCT converts the difference into DCT coefficients  180  for target block  160 . Motion vectors  155  can be specified to a fraction of a pixel, i.e., half-pixels. The best-matching reference block  170  may not be aligned with the original blocks of reference frame  150 , and may intersect with two or four neighboring blocks  190  of the original blocks. The location of block  170  within neighboring blocks  190  is represented by a height (h) and a width (w). An overlapping area of block  170  with the upper-right block of neighboring blocks  190  is h×w. An overlapping area of block  170  with the lower-right block of neighboring blocks  190  is (8−h)×w. An overlapping area of block  170  with the upper-left block of neighboring blocks  190  is h×(8−w). An overlapping area of block  170  with the lower-left block of neighboring blocks  190  is (8−h)×(8−w).  
           [0010]    [0010]FIG. 2 shows a direct implementation of the video transcoder as a cascaded pixel-domain transcoder  200 . Transcoder  200  decodes an incoming compressed bit-stream into a pixel-domain (e.g., blocks  120  and  160  in FIG. 1), and then re-encodes the decoded video into the desirable bit-rate or format. More particularly, the incoming bit-stream is processed by an inverse quantizer (IQ 1 )  210  and by an inverse DCT process (IDCT 1 )  220 . The result is stored in a frame memory  230  to enable performing motion compensation at a motion compensator (MC)  235  on the result using motion vectors for decoding of inter-frames. This decoded and motion compensated video is then processed by a DCT process  245  and by a quantizer (Q 2 )  250  to output the re-encoded bit-stream. The output is re-decoded by an inverse quantizer (IQ 2 )  260  (inverse of Q 2 ) and by an IDCT 2  process  270  (inverse of DCT  245 ) and then stored in a frame memory  280  to perform motion compensation at a motion compensator (MC)  285  for encoding of inter-frames.  
           [0011]    Cascaded pixel-domain transcoder  200  is flexible, since a decoder-loop  240  and an encoder-loop  290  can be totally independent from each other. Therefore, decoder  240  and encoder  290  in transcoder  200  can operate at, for example, different bit-rates, frame-rates, picture resolutions, coding modes, and even different standards. Also, transcoder  200  can be implemented to achieve a drift-free operation if the implementations of inverse discrete cosine transform (IDCT) in the front-encoder, which has encoded the incoming bit-stream, and the end-decoder, which will receive the outgoing bit-stream, are known. In this case, the decoder-loop and the encoder-loop can be implemented to produce exactly the same reconstructed pictures as those in the front-encoder and the end-decoder, respectively. If the implementations of the IDCT are not known but satisfy the IDCT standards specifications defined, for example, in IEEE 1180-1990, and the macroblocks are refreshed as specified in the standards such as ISO/IEEE 13818-2 and ITU-T Recommendation H.263, the drift will not be a major issue. Less drift errors result in a higher quality of pictures.  
           [0012]    On the other hand, cascaded pixel-domain transcoder  200  is computationally expensive. The overall complexity is not as high as the sum of a decoder and an encoder in a case of reusing several coding parameters such as coding modes (Intra/Inter) and motion vectors (MVs) in transcoder  200 . Even with this arrangement, however, a disadvantage of high-complexity still remains.  
           [0013]    In implementing transcoders, the computational complexity and picture quality are usually the issues to be traded off to meet various requirements in practical applications. For example, the computational complexity is critical in real-time applications to speed up the transcoding operations.  
           [0014]    Several fast video transcoder architectures have thus been proposed. FIG. 3 shows a simplified pixel-domain transcoder (SPDT)  300 , which reduces the computational complexity of the cascaded transcoder by reusing motion vectors and merging the decoding and encoding process. In transcoder  300 , IDCT  220 , MC  235 , and frame memory  230  of the cascaded transcoder are eliminated. That is, transcoder  300  performs an inverse quantization on an incoming bit-stream at an inverse quantizer (IQ 1 )  310 , and the result is re-quantized by a quantizer (Q 2 )  320  to output a transcoded bit-stream. For transcoding of inter-frames, the output is subjected to inverse quantization by an inverse quantizer (IQ 2 )  330  (inverse of Q 2 ), and then an IDCT  340  and a DCT  370  are used to perform a motion compensation in a pixel domain. In transcoder  300 , IDCT  340  operates on a difference of the results of IQ 2   330  and IQ 1   310 . The result is stored in a frame memory  350  for motion compensation by a motion compensator (MC)  360 .  
           [0015]    SDPT  300  has the advantage of low-complexity, but considerable drift errors may occur due to the merge of decoding and encoding processes, non-linear half-pixel interpolations, and finite word-length DCT and IDCT computations.  
           [0016]    Further simplifications have been proposed by performing motion compensation LAW OFFICES in a DCT domain (e.g., blocks  130  and  180  in FIG. 1) so that no DCT/IDCT operation is required. FIG. 4A shows such a DCT-domain transcoder (DDT)  400 , in which a DCT-domain motion compensator (DCT-MC)  450  and a frame memory  440  are substituted for a series of units  380  (from IDCT  340  to DCT  370 ) of SPDT  300 .  
           [0017]    As shown in FIG. 4B, the DCT-MC operation can be represented as computing the coefficients of each target DCT block B  460  from the coefficients of its two or four neighboring DCT blocks  471 - 474 . The neighboring DCT blocks can be referred to as B i , i=1 to 4, where B=DCT(b) and B i =DCT(b i ) are the blocks of 8×8 DCT coefficients of the associated pixel-domain blocks b and b i  of the image data, respectively. Mathematically, a function of DDT  400  shown in FIG. 4A is equivalent to those of the cascaded architecture shown in FIG. 2 (with motion vector reuse) and SPDT  300  shown in FIG. 3. On the other hand, DDT  400  outperforms SDPT  300  at least to the extent of experiencing much less drift errors.  
           [0018]    The DCT coefficients in the DCT-MC operation can be computed as follows:  
             B   =       ∑     i   =   1     4                       H     h   i            B   i          H     w   i                   (   1   )                               
 
           [0019]    where each of w i  and h i  is one of {1,2, . . . 7}. H h     1   and H w     1    are constant geometric transform matrices defined by the height (h) and width (w) of each sub-block generated by the intersection of b i  with b. Direct computation of Eq. (1) requires 8 matrix multiplications and 3 matrix additions. If using the following equalities in the geometric transform matrices: H h     1   =H h     2   , H h     3   =H h     4   , H w     1     32  H w     3   , and H w     2   =H w     4   , the number of operations in Eq. (1) can be reduced to 6 matrix multiplications and 3 matrix additions. Moreover, since H h     1    and H w     1    are deterministic, at least a part of the operations in Eq. (1) can be pre-computed and then pre-stored in a memory. Therefore, no additional DCT computation is required for the computation of Eq. (1).  
           [0020]    DDT  400  has relatively low-complexity compared to the cascaded architecture shown in FIG. 2 (with motion vector reuse), and realizes relatively low drift compared to SPDT  300  shown in FIG. 3.  
         SUMMARY OF THE INVENTION  
         [0021]    Methods and systems consistent with the present invention can provide further reduction of computational complexity for the above-described DDT, while retaining a quality of pictures.  
           [0022]    A video transcoding system consistent with the invention transcodes a video sequence in a DCT domain. The video sequence includes frames and each of the frames includes blocks. An input unit in the system receives a video bit-stream including an intra-frame and an inter-frame. The received inter-frame has been encoded by motion compensation based on the intra-frame or another inter-frame. A DCT-domain motion compensation unit in the system then re-calculates first DCT coefficients for a target block in the inter-frame included in the video bit-stream. The motion compensation unit calculates partial DCT coefficients as the re-calculation of the first DCT coefficients for the target block, using significant ones of second DCT coefficients of neighboring blocks in the inter-frame. An output unit in the system then transmits a transcoded video bit-stream including the re-calculated first DCT coefficients.  
           [0023]    A method of transcoding a video sequence consistent with the invention first receives a video bit-stream including an intra-frame and an inter-frame. Then, first DCT coefficients for a target block in the inter-frame included in the video bit-stream are LAW OFFICES computed by inputting second DCT coefficients of neighboring blocks in the inter-frame and by calculating partial DCT coefficients for the target block using significant ones of the second DCT coefficients of the neighboring blocks. A transcoded video bit-stream is output by including the partial DCT coefficients as the first DCT coefficients.  
           [0024]    Another method consistent with the invention extracts partial DCT coefficients for a target block in an inter-frame of a video sequence. When first DCT coefficients of neighboring blocks of the target block are input, a first number of significant ones of the first DCT coefficients for each of the neighboring blocks and a second number of partial DCT coefficients of the target block are acquired. Then, the partial DCT coefficients are computed from the significant ones of the first DCT coefficients of the neighboring blocks, based on the first and second numbers. Second DCT coefficients of the target block are generated by including the partial DCT coefficients. The remaining coefficients in the second DCT coefficients are set as zero.  
           [0025]    Yet another method consistent with the invention estimates a number of significant DCT coefficients of a target block in an inter-frame of a video sequence. When DCT coefficients of neighboring blocks of the target block are input, respective numbers of significant DCT coefficients of the neighboring blocks are determined based on the input DCT coefficients. Prior to calculating DCT coefficients of the target block, the number of significant DCT coefficients of the target block is estimated based on the determined respective numbers of significant DCT coefficients of the neighboring blocks. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]    The accompanying drawings provide a further understanding of the invention and are incorporated in and constitute a part of this specification. The drawings illustrate various embodiments of the invention and, together with the description, serve to explain the principles of the invention.  
         [0027]    [0027]FIG. 1 illustrates a basic process of video coding;  
         [0028]    [0028]FIG. 2 shows a structure of a cascaded pixel-domain transcoder;  
         [0029]    [0029]FIG. 3 shows a structure of a simplified pixel-domain transcoder (SPDT);  
         [0030]    [0030]FIG. 4A shows a structure of a DCT-domain transcoder (DDT);  
         [0031]    [0031]FIG. 4B illustrates motion compensation (MC) operations in the DCT domain;  
         [0032]    [0032]FIG. 5A shows an exemplary structure of a DDT consistent with the present invention;  
         [0033]    [0033]FIG. 5B illustrates extraction of significant DCT coefficients consistent with the present invention;  
         [0034]    [0034]FIGS. 6A and 6B show distributions of the number of significant DCT coefficients, determined consistent with the present invention, in standardized test video sequences called “Foreman” and “Carphone,” respectively;  
         [0035]    [0035]FIG. 7 is a flowchart showing exemplary operations of a DCT-MC consistent with the present invention;  
         [0036]    [0036]FIGS. 8A and 8B show comparison of peak-signal-to-noise-ratio (PSNR) performance between a conventional DDT and a fast DDT (three exemplary schemes) consistent with the present invention, in standardized test video sequences called “Foreman” and “Carphone,” respectively; and  
         [0037]    [0037]FIGS. 9A and 9B show comparison of operation speed in addition to PSNR performance between the conventional DDT and a fast DDT (three exemplary schemes) consistent with the present invention, in standardized test video sequences called “Foreman” and “Carphone,” respectively. 
     
    
     DETAILED DESCRIPTION  
       [0038]    The following detailed description refers to the accompanying drawings. Although the description includes exemplary implementations, other implementations are possible and changes may be made to the implementations described without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. Wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts.  
       Determination of the Number of Significant DCT Coefficients  
       [0039]    Each block of DCT ( 130  or  180  in FIG. 1) may have only a limited number of low-frequency coefficients ( 135  in FIG. 1) with non-zero values. Though computation of only these significant coefficients may lead to computation reduction, actual reduction is not realized as long as the number of significant coefficients is unknown prior to the DCT computation.  
         [0040]    Methods and systems consistent with the present invention can determine, in the DCT-MC shown in FIG. 4B, how many high-frequency coefficients in the target DCT block B can be dropped to skip the computation of these high-frequency DCT coefficients, as will be described with reference to FIG. 5B. Thus, methods and systems consistent with the invention can reduce the computational complexity, without introducing significant visual quality degradation.  
         [0041]    [0041]FIG. 5A shows an exemplary DCT-domain transcoder (DDT)  500  consistent with the present invention. In transcoder  500 , an inverse quantizer (IQ 1 )  510  performs inverse quantization on an incoming bit-stream, and the result is re-quantized by a second-stage quantizer (Q 2 )  520 . For transcoding of inter-frames, the output is operated on by an inverse quantizer (IQ 2 )  530 . IQ 1   510 , Q 2   520 , IQ 2   530 , and a frame memory  540  in transcoder  500  can be constructed to perform the same functions as IQ 1   310 , Q 2   320 , IQ 2   330 , and frame memory  440  in transcoder  400 , respectively.  
         [0042]    Transcoder  500  performs motion compensation in the DCT domain at a DCT-MC  550  on a difference of the results of IQ 2   530  and IQ 1   510 . Thus, the DCT coefficients stored in frame memory  540  are the sums of the DCT coefficients of the incoming bit-stream and the motion-compensated second-stage quantization errors of the DCT coefficients in the feedback-loop. Therefore, energy distributions of the DCT block obtained from DCT-MC  550  will likely be small and mainly concentrated in the low-frequency region. Methods and systems consistent with the invention approximate the whole 8×8 DCT block B by calculating only n×n (n is smaller than 8) significant low-frequency coefficients, thereby achieving computation reduction.  
         [0043]    To determine an appropriate number n for DCT block B, methods and systems consistent with the invention first determine the number of significant coefficients for each of the neighboring blocks B 1 - B 4 , and then estimate the number n for block B based on the numbers of significant coefficients determined for blocks B 1 - B 4 . The first determination process may use an “energy” criterion, which is described below. The next estimation process may use dependency among the target DCT block and its neighboring blocks, as described below in detail.  
         [0044]    [0044]FIGS. 6A and 6B show how the “energy” criterion works, by illustrating the distributions of the number of significant low-frequency DCT coefficients for the DCT-MC computation in DDT  400  with two H.263 test sequences: “Foreman” and “Carphone.” A function energy (n) is defined as the squared sum of the n×n lowest-frequency coefficients of a DCT block B:  
               energy        (   n   )       =       ∑     l   =   0       n   -   1                         ∑     m   =   0       n   -   1                         B   2          (     l   ,   m     )                   (   2   )                               
 
         [0045]    where B(l, m) is the I-th row and m-th column DCT coefficient of B, and B(0, 0) represents the DC component. First, the full 8×8 DCT coefficients were computed to calculate an energy(8). The number of significant low-frequency DCT coefficients for each DCT block was then determined by calculating the smallest n such that the energy ratio energy(n)/energy(8) was not less than a threshold T. In the simulation shown in FIGS. 6A and 6B, for comparison purpose, the threshold value T was set as 95%, 90% and 85%, respectively. FIGS. 6A and 6B suggest that the number of significant coefficients of most 8×8 DCT blocks ranges from 3×3 to 6×6, meaning that about an 86% to 44% computation saving can usually be achieved. It is also suggested that about 75% of the DCT blocks have 4×4˜6×6 significant coefficients, which only need about 12.5˜42% of the original computation for full 8×8 coefficients.  
         [0046]    [0046]FIG. 5B illustrates extraction of partial DCT coefficients in the DCT-MC operation. The number of significant low-frequency DCT coefficients of i-th neighboring block B i    561 ˜ 564  is n i ×n i , and n×n lowest-frequency DCT coefficients of target block B  570  are extracted. As described above, the number of significant low-frequency DCT coefficients of the target block B can be estimated from the energy distributions of the four neighboring blocks B 1 -B 4  by, for example, a bilinear interpolation scheme as shown below. Similarly to Eq. (1), the energy of N×N coefficients is defined as:  
                 energy   i          (   N   )       =       ∑     l   =   0       N   -   1                         ∑     m   =   0       N   -   1                         B   i   2          (     l   ,   m     )                   (   3   )                               
 
         [0047]    where B i (l, m) is the l-th row and m-th coefficient of B i , and B i  (0, 0) represents the DC component. For the i-th neighboring block B i , the associated number of significant coefficients, n i ×n i  is determined by calculating the smallest n i  that makes energy(n i )/energy(8), determined in accordance with Eq. (3), not less than T.  
         [0048]    After determining n i  for each inter-coded block B i , an overlapping area k i  of the target block B with each of four neighboring blocks B i  (i=1 to 4) in FIG. 5B is calculated. If the largest overlapping area k i  is greater than a predetermined threshold K, the neighboring block B i  with the largest overlapping area is selected as the dominant block, and it is determined that n=n i . Otherwise, n is estimated from n i  (i=1 to 4), by using the following bilinear interpolation method:  
             n   =       1   64            ∑     i   =   1     4                       k   i          n   i                   (   4   )                               
 
         [0049]    Equation (4) is a example of using dependency among the target DCT block and its neighboring blocks. As described above, the target block (B) has four component sub-blocks, and each sub-block of the target block is part of its corresponding neighboring block (B 1 -B 4 ). Therefore, the DCT coefficients of the target block are highly correlated to those of the neighboring blocks. As a result, the distribution of DCT coefficients (e.g. the number of significant coefficients) in the target block has high dependency with the four neighboring blocks. Other equations for calculating n is from n i (i=1 to 4) may be implemented to use this dependency.  
         [0050]    In the above embodiments, the “energy” criterion is used in determining the number of significant DCT coefficients for each neighboring block (B 1 -B 4 ). However, other criteria may alternatively be used. One exemplary alternative criterion is the sum of absolute DCT coefficients, in which the following equation (3) is used in place of equation (3).  
               SA        (   N   )       =       ∑     l   =   0       N   -   1                         ∑     m   =   0       N   -   1                            B        (     l   ,   m     )                        (     3   ′     )                               
 
         [0051]    Another exemplary alternative criterion is the ratio of the number of nonzero coefficients contained in a square (N×N) or rectangular (M×N) block with respect to the total number of nonzero coefficients. Using different criteria may lead to different estimates of number of significant coefficients, thereby resulting in different estimation accuracy (i.e., different video quality). However, all may achieve computation reduction.  
         [0052]    Methods and systems consistent with the invention can process a M×N rectangular block of DCT coefficients by modifying the above-described embodiments for the N×N square block as follows. The number of significant coefficients of the ith neighboring block is determined as m i ×n i , by calculating the smallest (m i , n i ) that makes energy(m i , n i )/energy(8,8), determined in the following equation (3″), not less than T.  
               energy        (     M   ,   N     )       =       ∑     m   =   0       M   -   1                         ∑     n   =   0       N   -   1                         B   2          (     m   ,   n     )                   (     3   ″     )                               
 
         [0053]    Then, the number of significant coefficients of the target block can be estimated as (m, n), by using the following equations (4′) and (4″).  
             m   =       1   16            ∑     i   =   1     4                       w   i          m   i                   (     4   ′     )               n   =       1   16            ∑     i   =   1     4                       h   i          n   i                   (     4   ″     )                               
 
         [0054]    where w i  and h i  are the horizontal and vertical overlapping lengths of the target block B with the i-th neighboring block B i , as FIG. 4B shows w 1  and h 1  with block B 1 .  
         [0055]    Fast Extraction of Partial DCT Coefficients When n i  for each block B i  and n for the target block B are determined, methods and systems consistent with the invention can perform the partial DCT coefficient extraction shown in FIG. 5B with less computational complexity as described below. First, Eq. (1) can be approximated as follows:  
             B   =       T        (       ∑     i   =   1     4                       H     h   i            T   i          B   i          T   i          H     w   i           )          T             (   5   )                               
 
         [0056]    where  
       T   =         [           I   n         0           0       0         ]                   and                   T   i       =       [           I     n   i           0           0       0         ]                       (     i   =     1                 to                 4       )     .                               
 
         [0057]    I n  is an n×n identity matrix and I n , is an n i ×n i  identity matrix where n and n i  take values from 0 to 8.  
         [0058]    The matrices B i , H h     1   , and H w     1    can be represented as:  
           B   i     =     [           B   i   11           B   i   12               B   i   21           B   i   22           ]       ,       H     h   i       =     [           H     h   i     11           H     h   i     12               H     h   i     21           H     h   i     22           ]       ,       and                   H     w   i         =     [           H     w   i     11           H     w   i     12               H     w   i     21           H     w   i     22           ]       ,                         
 
         [0059]    where the sub-matrices H h     1     11 , B i   11  and H w     1     11  are of sizes n×n i , n i ×n i  and n i ×n, respectively; the sub-matrices H h     1     12 , B i   12  and H w     1     12  are of sizes n×(8−n i ), n i ×(8−n i ) and n i ×(8−n), respectively; the sub-matrices H h     1     21 , B i   12  and H w     1     21  are of sizes (8−n)×n i , (8−n i )×n i  and (8−n i )×n, respectively; and the sub-matrices H h     1     21 , B i   22  and H w     1     21  are of sizes (8−n)×(8−n i ), (8−n i )×(8−n i ) and (8−n i )×(8−n), respectively. Then, each term in Eq. (5) becomes as follows:  
                         T      H       h   i            T   i          B   i          T   i          H     w   i          T     =             [           I   n         0           0       0         ]          [           H     h   i     11           H     h   i     12               H     h   i     21           H     h   i     22           ]            [           B   i   11         0           0       0         ]            [           H     w   i     11           H     w   i     12               H     w   i     21           H     w   i     22           ]            [           I   n         0           0       0         ]                   =         [           I   n         0           0       0         ]          [             H     h   i     11          B   i   11          H     w   i     11               H     h   i     11          B   i   11          H     w   i     12                   H     h   i     11          B   i   11          H     w   i     11               H     h   i     21          B   i   11          H     w   i     12             ]            [           I   n         0           0       0         ]                   =     [             H     h   i     11          B   i   11          H     w   i     11           0           0       0         ]                   (   6   )                               
 
         [0060]    Substituting Eq. (6) into Eq. (5), the following equation is obtained:  
             B   =         ∑                 i   =   1                    4                       [             H     h   i     11          B   i   11          H     w   i     11           0           0       0         ]               (   7   )                               
 
         [0061]    The numbers of multiplications and additions required for Eq. (7) are nn i   2 +n 2 n i  and 2nn i   2 +2n 2 n i −n 2 −nn i , respectively. Thus, adjusting the numbers n i  and n can effectively control the trade-off between the computational complexity and the picture quality, thereby making the DCT-MC operation computationally scalable. The average numbers of multiplication and addition operations required for Eq. (7) for each 8×8 block are thus  
         2          ∑                 i   =   1                    4                         ∑                 n   ,     n   i                           P   n            P     n   i            (       nn   i   2     +       n   2          n   i         )                     and                 2          ∑     i   =   1     4                       ∑     n   ,     n   i                           P   n            P     h   i            (       nn   i   2     +       n   2          n   i       -     nn   i     -     n   2       )               ,                         
 
         [0062]    respectively, where P n  and P n     1    respectively represent the probabilities of n and n i , taking values from 0 to 8.  
         [0063]    According to the above numbers of multiplications and additions, the present embodiment consistent with the invention can reduce the DCT-MC computation to 0.2%, 1.6%, 5.3%, 12.5%, 24.4%, 42%, and 67% for 1×1, 2×2, 3×3, 4×4, 5×5, 6×6, and 7×7 significant coefficients, respectively, compared to the original computation for full 8×8 coefficients. This low computational complexity is also advantageous, compared to SPDT  300  depicted in FIG. 3, which requires one 8×8 DCT, one 8×8 IDCT, and one block shift operation for each 8×8 block.  
         [0064]    The fast coefficient extraction schemes consistent with the invention can achieve computation reduction in two aspects. First, only partial (significant) DCT coefficients of the target block B are computed. Second, only significant DCT coefficients of the four neighboring blocks B 1 -B 4  (or two of them when h=0 or w=0) are used for computation. The number of significant DCT coefficients of a DCT block is usually much less than 64 (8×8) as has been illustrated in FIGS. 6A and 6B.  
       Fast Transcoding in the DCT Domain (Fast DDT)  
       [0065]    Methods and systems consistent with the invention can provide a fast DCT-domain transcoder (fast DDT) by combining the determination of the number of significant coefficients and the fast extraction of partial coefficients described above.  
         [0066]    [0066]FIG. 7 is a flowchart showing exemplary DCT-MC operations in the fast DDT consistent with the invention. First, DCT-MC  550  in FIG. 5A receives inter-coded blocks B i  from frame memory  540  (step  710 ). DCT-MC  550  then determines the number of significant DCT coefficients n i  for each block B i  using, for example, the “energy” criterion described above (step  720 ).  
         [0067]    Next, DCT-MC  550  determines the number of significant DCT coefficients n for the target block B. For this purpose, DCT-MC  550  calculates overlapping area k i  of the target block B with four neighboring blocks B i  (i=1˜4) from a motion vector of the target block B (step  730 ). If the largest overlapping area k j  is greater than the threshold K (step  740  Yes), DCT-MC  550  sets the number n equal to n j  of the dominant block B j  that has the largest overlapping area k j  (step  750 ). Otherwise (step  740  No), DCT-MC  550  estimates the number n based on n i  and k i  of two or four neighboring blocks B i  using, for example, the bilinear interpolation scheme described above (step  755 ).  
         [0068]    With the determined n and n i , DCT-MC  550  determines the sub-matrices H h     1     11 , B i   11  and H w     1     11 , whose sizes are n×n i , n i ×n i  and n i ×n, respectively (step  760 ), to compute DCT coefficients of the target block B using Eq. (7) (step  770 ). DCT-MC  550  repeats steps  730  to  770  until all the inter-coded blocks B in a picture are processed (step  780 ).  
         [0069]    The computational complexity of Eq. (7) can be further reduced if the elements of the matrices H h     1    and H w     1    are approximated by using binary numbers with a maximum distortion of {fraction (1/32)}. With this approximation, the multiplications are simplified to basic integer operations, such as “shift-right” and “add.” Other methods and systems to make the DCT-MC algorithm faster (e.g., using shared information in a macroblock) can also be combined with methods and systems consistent with the invention for further speed-up.  
       Performance of the Fast DDT  
       [0070]    [0070]FIGS. 8A and 8B show average PSNR performance of the fast DDT described above, compared to the DDT with full 8×8 coefficients. FIGS. 9A and 9B show per-frame PSNR performance and a measured frame rate of the fast DDT described above, compared to the DDT with full 8×8 coefficients. The threshold value T in the “energy” criterion of the fast DDT was empirically set as 0.85, 0.9, and 0.95, respectively, in the experiments. In the experiments, two QCIF (176×144) image sequences: “Foreman” and “Carphone” with a frame-rate of 10 fps (reduced from a capture frame-rate of 30 fps) were first encoded at 128 Kbps as the test input bit-streams. The test bit-streams were then transcoded into 32 Kbps respectively, using each of the full DDT and the fast DDT schemes with three respective thresholds.  
         [0071]    The partial DCT-MC computation will theoretically cause drift errors since the MC prediction loops in the transcoder and the end-decoder are no longer coherent with each other. However, FIGS. 8A, 8B,  9 A, and  9 B show that the performance of the fast DDT is close to that of the DDT and the drift error due to the partial DCT-MC computations is sufficiently minor when T is chosen large enough. Especially in MPEG encoded videos, these drift errors can be negligible since I-frames are periodically inserted to refresh the drift.  
         [0072]    [0072]FIGS. 9A and 9B also show the comparison of the measured processing frame-rates. The simulations were performed on an Intel Pentium-III 733 MHz PC. The speed-up factor achieved by the fast DCT-MC schemes ranges from 1.9 to 2.05 with “Foreman” and 1.6 to 1.76 with “Carphone” for threshold T=0.95 to 0.85, respectively. The above threshold range can achieve good speed-up, while maintaining close picture quality to the DDT.  
         [0073]    Persons of ordinary skill will realize that many modifications and variations of the above embodiments may be made without departing from the novel and advantageous features of the present invention. Accordingly, all such modifications and variations are intended to be included within the scope of the appended claims. The specification and examples are only exemplary. The following claims define the true scope and sprit of the invention.