SYSTEM FOR EXTRACTING CODING PARAMETERS FROM VIDEO DATA

Abstract: A system extracts, from uncoded video data, coding parameters that correspond substantially to coding parameters used in a coding operation that was previously performed on the video data. The system generates a histogram for at least one AC frequency band in the uncoded video data and calculates a correlation function for the histogram. A maximum value of the correlation function is then identified, and a coding parameter for the at least one AC frequency band is determined using the maximum value of the correlation function.

Description: System for extracting coding parameters from video data. The invention described herein was developed pursuant to United States Government Contract No. 70N1NB5H1174, which was awarded by the National Institute For Standards And Technology (NIST). BACKGROUND OF THE INVENTION Field Of The Invention The present invention is directed to a system which extracts, from uncoded video data, coding parameters relating to a previous coding process. The invention has particular utility in multi-generational coding systems, in which the same video data is coded and decoded a plurality of times. Description Of The Related Art Generally speaking, a multi-generational coding system includes encoder/decoder pairs arranged in series relative to transmission media. In operation, each of the encoders is adapted to code uncoded video data and then to transmit that uncoded video data over a transmission medium to a decoder which is adapted to decode the coded video data. These systems are in wide use today, particularly where frequent transmission of video data from one location to another is required, such as in the television industry. Problems arise in multi-generational coding systems of the foregoing type due to the way in which encoders in these systems code video data. More specifically, in these systems, different encoders code the same video data by recalculating coding parameters for each coding operation. Differences in coding parameters resulting from these calculations cause quantization noise to be introduced into the video data. Eventually, following several generations of coding, sufficient quantization noise is introduced into the video data to cause a marked degradation in video image quality. One conventional solution to the foregoing problem involves introducing additional data, termed a "mole", into decoded video data. This additional data defines coding parameters to be used for the video data, and is transmitted, along with the video data, between encoders and decoders. Use of a mole, however, has several drawbacks. First, the mole must be invisible, otherwise it would affect the quality of images produced from the video data. Making sure that the mole is invisible can be difficult from a technical standpoint. Second, special hardware may be required to transmit video data having a mole, otherwise the mole may be altered during signal transmission. Finally, hardware modifications may be required to ensure that decoders are capable of detecting the mole and of separating the mole from the video data. For at least these reasons, the mole, and systems like it, have proven an inadequate solution to the above problem associated with multi-generational coding. Thus, there exists a need for a system which reduces the amount of quantization noise introduced into video data during multiple coding processes, without introducing additional information into the video data itself. SUMMARY OF THE INVENTION The present invention addresses the foregoing need by providing a method of extracting, from uncoded video data, parameters which correspond substantially to coding parameters used in a coding operation that was previously performed on the video data. To this end, the invention takes advantage of the fact that in some coding techniques, such as Motion Picture Experts Group (hereinafter "MPEG") coding, coding parameters from a previous coding operation are evident based on the uncoded video data. Specifically, the invention performs a series of processes on AC frequency bands in the video data in order to extract these coding parameters from the uncoded video data. More specifically, according to one aspect, the present invention is a method, and a corresponding apparatus, which extracts coding parameters from uncoded video data, where the coding parameters correspond substantially to coding parameters used in a coding operation that was previously performed on the video data. The method includes generating a histogram for at least one AC frequency band in the uncoded video data and calculating a correlation function for the histogram. A maximum value of the correlation function is identified, whereafter a coding parameter for the at least one AC frequency band is determined using the maximum value of the correlation function. By taking advantage of coding parameters which are essentially already within the video data, the present invention is able to extract coding parameters relating to a previous coding process without requiring the use of a mole or the like. In this regard, because the invention codes video data using extracted coding parameters, rather than calculated coding parameters, the invention introduces relatively little quantization noise into the video data. Moreover, the invention is more amenable than its conventional counterparts to possible alterations of the decoded video. Furthermore, because the invention can be implemented substantially within software, the need for specially-designed hardware is reduced. In preferred embodiments of the invention, the step of calculating the correlation function includes identifying a predetermined number of peaks in the histogram of the uncoded video data, and calculating (i) a standard auto-correlation function for the histogram in a case that the number of peaks is less than or equal to a predetermined value, where the standard auto-correlation function is performed for all identified peaks, and (ii) a modified auto-correlation function for the histogram in a case that the number of peaks is greater than the predetermined value, where the modified auto-correlation function is performed for less than all of the identified peaks. By calculating a modified auto-correlation function when the number of peaks is greater than the predetermined value, the invention is able to reduce calculation time without substantially reducing accuracy. In the invention, the maximum value of the correlation function corresponds to a differentiated dominant reconstruction level ("DDRL") of the at least one AC frequency band. Thus, in other preferred embodiments of the invention, the identifying step comprises determining whether the correlation function includes peaks which overlap and, in a case that peaks overlap, examining additional values of the correlation function in order to determine the DDRL. By virtue of this feature, the invention is able to reduce errors in the determination of the DDRL which result from overlapping peaks in the histogram. Similarly, another embodiment of the invention reduces errors in the DDRL by comparing first and second peaks of the correlation function to determine which of the first and second peaks is larger and which is smaller, and determining whether the larger peak is a harmonic of the smaller peak. In a case that the larger peak is a harmonic of the smaller peak, the smaller peak is set as the maximum value; however, in a case that the larger peak is not a harmonic of the smaller peak, the larger peak is set as the maximum value. In still another preferred embodiment of the invention, the DDRL is determined based on an average of distances between dominant reconstruction levels in the histogram. This reduces errors in the DDRL which may result from differences in distances between different dominant reconstruction levels. According to another aspect, the present invention is a method and corresponding apparatus, for use in a multi-generational coding system, of coding uncoded video data. The method first determines whether the uncoded video data has been subjected to a coding operation in a previous generation of the multi-generational coding system. In a case that the method determines that the uncoded video data has not been subjected to a coding operation, the method codes the uncoded video data using predetermined coding parameters. On the other hand, in a case that the method determines that the uncoded video data has been subjected to a coding operation, the method extracts coding parameters from the uncoded video data and codes the video data using the extracted coding parameters. By determining whether the uncoded video data has been subjected to a coding operation in a previous generation of the multi-generational coding system, and then proceeding accordingly based on this determination, the present invention is able accurately to process both video data which has not previously been coded and video data which has previously been coded. According to still another aspect, the present invention is a multi-generational coding system which includes first and second coding means. The first coding means codes original video data using predetermined coding parameters so as to produce coded video data, decodes the coded video data, and outputs uncoded video data. The second coding means receives the uncoded video data from the first coding means, determines that the uncoded video data has been subjected to a previous coding operation, and extracts coding parameters from the uncoded video data. In this aspect of the invention, the coding parameters extracted by the second coding means correspond substantially to the predetermined coding parameters used by the first coding means. This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiments thereof in connection with the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing a multi-generational coding system in which the present invention may be implemented. Figure 2 is a block diagram of an encoder in accordance with the present invention. Figure 3 is a flow diagram showing a coding process in accordance with the present invention. Figure 4 shows a histogram of DCT coefficients for an AC frequency band of original video data which has not been subjected to a coding operation. Figure 5 shows a histogram of DCT coefficients for an AC frequency band of video data which has previously been subjected to a coding operation. Figure 6 shows a flow diagram of a quantization matrix extraction process in accordance with the present invention. Figure 7 shows a comparison between values of a quantization matrix extracted in accordance with the present invention and values of a default quantization matrix. Figures 8A to 8C show a first set of simulation results comparing operation of matrix extraction in accordance with the present invention to conventional matrix calculation. Figures 9A to 9C show a second set of simulation results comparing operation of matrix extraction in accordance with the present invention to conventional matrix calculation. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The preferred embodiments of the invention are described herein with respect to a multi-generational coding system, namely coding system 1 shown in Figure 1, in which video data is coded using MPEG2. It should be noted, however, that other coding techniques, such as JPEG or the like, may be used in place of MPEG2. Moreover, it is further noted that the invention may be implemented outside the context of a multi-generational coding system. As background, MPEG2 coding is performed on an image by dividing the image into macro-blocks of 16x16 pixels, each having a separate quantizer scale value (hereinafter "q m ") associated therewith. The macro-blocks are then divided into individual blocks of 8x8 pixels. These 8x8 pixel blocks are each subjected to a discrete cosine transform (hereinafter "DCT") which generates DCT coefficients for each of the 64 AC frequency bands (i.e., pixels) therein. DCT coefficients in an 8x8 pixel block are then divided by a corresponding coding parameter, namely a quantization weight. Thereafter, additional calculations are effected on the DCT coefficients in order to take into account q m among other things, and thereby complete MPEG2 coding. In MPEG2, the quantization weights for a particular 8x8 pixel block are expressed in terms of an 8x8 quantization matrix. The invention described herein is concerned with extracting these quantization matrices from video data which has previously been subjected to a coding operation. As described in more detail below, this is possible, particularly in the case of MPEG2, because coding parameters, such as the quantization matrices noted above, can be determined based on reconstruction levels of DCT coefficients in uncoded video data. Returning to Figure 1, coding system 1 includes video source 2, encoders 4 and 5, decoders 6 and 7, and various transmission media (not shown) between the video source, encoders, and decoders. Signal processors (not shown) for performing image editing, display, etc. may also be included at different points in the system, such as between decoder 6 and encoder 5. For simplicity's sake, however, these signal processors are omitted therefrom. Decoders 6 and 7 can comprise any conventional decoder capable of receiving MPEG2-coded video data and of decoding the coded video data. Likewise, source 2 can comprise any type of apparatus, such as a television camera or related video equipment, which is capable of generating video data based on an original image. Encoders 4 and 5, which are identical in both structure and function, include the present invention. A functional block diagram of encoder 4 is shown in Figure 2. From a hardware standpoint, functions of the blocks shown in Figure 2, and in particular the blocks comprising the present invention, can be implemented primarily in software using one or more microprocessors which execute process steps stored in a memory. As shown in Figure 2, encoder 4 includes redundant field/frame detection block 9, macro-block color classification block 10, DCT blocks 11 and 12, adaptive field/frame decision block 14, first pass coding block 16, matrix calculation/extraction block 17, adaptive quantization control block 19, second pass coding block 20, history block 21, rate allocation block 22, buffer 24, frame store 26, and motion estimation (hereinafter "ME") & ME mode selection block 27. Bold lines in Figure 2, such as line 29, indicate flow of video data, whereas narrow lines, such as line 30, indicate flow of control data or a final output bit stream. Although the present invention is implemented primarily in matrix calculation/extraction block 17, a brief description of the operation of the remaining elements of encoder 4 is provided herein for the sake of completeness. More specifically, in operation, video data is received from an external source (e.g., via a local area network or the like) by redundant field/frame detection block 9. Redundant field/frame detection block 9 detects redundant fields in the input video data, which may be present due to conversion between motion picture video and television video, and flags these redundant fields to indicate that they should not be coded. Encoder 4 also includes a decision block (not shown), which may comprise part of redundant field/frame detection block 9, which determines whether video data represents an intra picture (i.e. "I"), meaning that each frame thereof is coded independently, or a predictive picture (i.e., "P"), meaning that each from thereof is coded based on other frames using motion estimation or the like. While the present invention is intended for use with intra pictures, the invention is not necessarily limited to such use. In this regard, it is noted that reduction in quantization noise of intra pictures in accordance with the present invention also has the effect of improving the quality of non-intra pictures, since non-intra pictures base their motion estimation on these intra pictures. Returning to Figure 2, macro-block color classification block 10 classifies macro-blocks of video data based on texture and composition and transmits relevant information to adaptive quantization control block 19, described below. ME & ME mode selection block 27 performs motion estimation for non-intra picture input video data based on the input video data and a previous frame of video data stored in frame store 26. Adaptive field/frame decision block 14 determines whether to perform field or frame DCT on the input video data and selects the appropriate one of DCT blocks 11 and 12 to perform the appropriate type of DCT on the video data. First pass coding block 16 gathers information relating to coding the video data and passes this information along to adaptive quantization control block 19 and to matrix calculation/extraction block 17. As noted above, matrix calculation/extraction block 17 substantially implements the present invention. That is, matrix calculation/extraction block 17 determines if input uncoded video data has been previously coded. In a case that the video data has been previously coded, for each AC frequency band in each 8x8 pixel block in the video data, matrix calculation/extraction block 17 generates a histogram, calculates a correlation function for the histogram, identifies a maximum value of the correlation function, and determines a quantization weight using the maximum value of the correlation function. The extracted quantization weights are then passed to second pass coding block 20. A more detailed description of the operation of matrix calculation/extraction block 17 is set forth in detail below. Rate allocation block 22 determines a remaining number of available bits in the encoder's bit budget, and passes this information along to adaptive quantization control block 19. Adaptive quantization control block 19 determines how various sections of the video data should be coded based on information from rate allocation block 22, macro-block color classification block 10, first pass coding block 16, and redundant field/frame detection block 9. Second pass coding block 20 receives information from adaptive quantization control block 19, and codes the video data based on this information and based on the quantization weights provided from matrix calculation/extraction block 17. Thereafter, the coded video data is buffered in buffer 24, and output from encoder 4 as bit stream 31. Figure 3 is a flow diagram depicting coding of the video data in accordance with the present invention. Specifically, with reference to Figure 1, in step S301 uncoded video data for an image is input into encoder 4 from source 2. As described above with respect to Figure 2, the uncoded video data is subjected to DCT processing in order to generate DCT coefficients for AC frequency bands in the video data, whereafter the video data is transmitted to matrix calculation/extraction block 17. There, step S302 determines whether the uncoded video data has previously been subjected to a coding operation. In terms of this disclosure, video data which has not previously been subjected to a coding operation comprises both video data captured directly from an original image and video data which has previously been "lightly coded", meaning that the effects of such "light coding" were so slight as to introduce little or no quantization noise into the video data. To determine whether the video data has previously been subjected to a coding operation, step S302 examines the first AC frequency band in the image represented by the video data. Specifically, step S302 generates a histogram of DCT coefficients for the (0,1 )th AC frequency band. The histogram is generated as follows: (Eq. 1) where "H" corresponds to the histogram, "C" corresponds to a DCT coefficient in the AC frequency band, and "v" takes on values between 0 and 2048, these values corresponding to possible values of the (0,1 )th frequency band. Thereafter, the histogram is examined by performing an auto-correlation function thereon. Specifically, the auto-correlation function -*\),ι of-" o,ι is determined as follows: (Eq. 2) maxo,/ v=0 where "d" takes on values between 0 and 2048, these values corresponding to possible values of the (0,1 )th frequency band, and where maXo,l refers to a highest possible value of the O d (0,1 )th frequency band. Once Ko.i is found for all "d's", step S302 determines the location of the maximum value of Ro.l , namely Do , as follows: (Eq. 3) Do.i = argmax R sd a 0 d ≠ 0, where Drj to a distance between reconstruction levels of the (0,1 )th AC frequency band. In this regard, reconstruction levels represent reconstructed quantized DCT coefficients for the (0,1 )th AC frequency band. It has been determined experimentally that if Do , ι has a value which is less than or equal to 4, video data for the image has not previously been subjected to a coding operation, i.e., the video data comprises either data captured from an original image or has been "lightly coded". Using this information, step S302 examines DQ in order to determine whether to proceed to step S303 or step S305. In a case that step S302 determines that the video data has not previously been subjected to a coding operation, processing proceeds to step S303. Step S303 codes the video data using a either a pre-stored, default quantization matrix or a calculated quantization matrix. The default quantization matrix may be stored in a memory of the encoder at the time of its manufacture, or may be obtained from an external source. The calculated quantization matrix may be calculated in accordance with a known matrix calculation method, such as that described in co-pending U.S. Patent Application No. , entitled "Method Of Frame-By-Frame Calculation Of Quantization Matrices", filed on December 16, 1997 (Assignee Ref. No.: PHA 23,321), the contents of which are hereby incorporated by reference into the subject application as if set forth herein in full. In any event, following coding using, e.g., the default matrix, processing proceeds to step S304, in which the coded video data is transmitted as a bit stream. On the other hand, if step S302 determines that the video data has previously been subjected to a coding operation, processing proceeds to step S305. Step S305 extracts, from the video data, quantization matrices that correspond to those used in a previous coding operation. This is possible in MPEG2 because coding parameters, such as the quantization matrices noted above, can be determined based on reconstruction levels of DCT coefficients of uncoded video data. Specifically, quantized DCT coefficients in the uncoded video data correspond to a set of reconstruction levels which are determined based on quantization weights from a previous coding operation. For each frequency band, these reconstruction levels cluster around a series of dominant reconstruction levels. Thus, the quantized DCT coefficients also cluster around those dominant reconstruction levels. By analyzing clustering structures of the quantized DCT coefficients, it is possible to recover the quantization weights from the previous coding operation, together with other quantization parameters, if desired. These recovered quantization weights can then be used to code the video data with lower additional quantization noise than if the video data were coded using calculated quantization weights. Figure 4 shows a histogram of DCT coefficients for an AC frequency band of an image which has not been coded. Figure 5 shows a histogram of that same AC frequency band, in which the video data has previously been coded. As shown in Figure 5, the histogram for the previously-coded video data shows a series of spikes, examples of which are labeled, 34, 35, and 36. These spikes correspond to reconstruction levels for DCT coefficients of the AC frequency band under examination. It is the spacing between these spikes that contains information relating to the quantization weight which was previously used to code that AC frequency band. More specifically, in MPEG 2, locations of reconstruction levels (hereinafter "RLs") of an AC frequency band are determined based on a quantization weight used in a previous coding operation, together with a related quantizer scale value. Thus, locations of RLs for a (k,l)th frequency band of an 8x8 pixel block in an (m)th macro-block are determined as follows: (Eq. 4) Ω T t - -• * W ι q m 0 where W } 1 comprises a (k,l)th entry in a quantization matrix corresponding to the 8x8 pixel block, q m comprises the quantizer scale value for the (m)th macro-block (see above), and "i", which can take on values of 0, ± 1, ± 2,... , comprises an index value of each reconstruction level. Values of m may vary for different macro-blocks of an image being coded. However, due to the way in which MPEG2 coding is performed, namely the type of adaptive quantization used during coding, q m varies around a dominant value Q. Locations of these dominant reconstruction levels (hereinafter "DRLs") for the (k,l)th frequency band can be determined as follows (Eq. 5) DRL * w u Q k,l 16 Examples of DRLs are labeled 35, 36 and 37 in the histogram of Figure 5. A differentiated dominant reconstruction level (hereinafter "DDRL") corresponds to the distance between adjacent DRLs, as shown in Figure 5. Since distances between adjacent DRLs do not depend on index value "i", the DDRL for DCT coefficients in the (k,l)th frequency band is simply determined by removing "i" from equation 5, as follows: (Eq. 6) DDRLu - Thus, the quantization weight W^ j for DCT coefficients in the (k,l)th frequency band can be determined simply by solving for Wjς i, as follows: (Eq. 7) „, _ lόppRLυ W U — . Therefore, in order to determine W^ \, it is necessary to determine DDR k and Q. Values of these variables are determined as follows. With regard to Q, MPEG2 coding accuracy relies upon relative, and not absolute quantization weights in a quantization matrix. Accordingly, it is only necessary to determine the relative magnitudes of quantization weights Wjς j. Therefore, an arbitrary value, in this case 16, can be set as the quantization weight for the (0,1 )th AC frequency band WQ . Accordingly, substituting 16 for WQ in the following equation (Eq. 8) Wo i Q DDRLo = -J 16ir- yields (Eq. 9) Q = DDRLo,ι - Since Q can be expressed in terms of a DDRL, the problem of extracting quantization matrices reduces to finding DDRLs for DCT coefficients of corresponding AC frequency bands. As will become clear below, this process includes steps which are similar to those described above for finding Do ; ι . Referring to Figure 6, in step S601 process steps are executed to generate a histogram for DCT coefficients in the (k,l)th AC frequency band in the input video data. This histogram is generated as follows: (Eq. 10) where the variables are as defined above. Next, in step S602, process steps are executed to calculate an auto-correlation function for Hl.ι ■ Step S602 may calculate the standard auto-correlation function for the (k,l)th frequency band, which is: (Eq. 11) v=0 where the variables are as defined above. In preferred embodiments of the invention, however, step S602 executes either the standard auto-correlation function or a modified auto-correlation function. The modified correlation function performs correlation on less than all peaks in the histogram. Which function is used depends upon the number of peaks in the histogram of the DCT coefficients of the (k,l)th frequency band. That is, in these embodiments of the invention, the number of peaks in the histogram is determined, and if the number of peaks is less than or equal to an arbitrary pre-set value, the standard auto-correlation function (defined above) is performed for the histogram. In contrast, if the number of peaks is greater than the pre-set value, then the modified auto-correlation function is performed for the histogram. This feature of the invention is particularly useful in computing systems having limited capacity, since it reduces the amount of calculations required by reducing the number of peaks for which the autocorrelation function is calculated. In a particularly preferred embodiment of the invention, step S602 generates either the standard auto-correlation function or the modified auto-correlation function using values which are different from "v" and "d" above. In this embodiment, the histogram is generated in step S601 for values of "v" ranging from 0 to 511. Next, TTi Xk is found based on the histogram. Variable TP is assigned to the minimum of 10 and maXk . The TP maximum histogram y-axis values are then found and their corresponding x-axis values stored in V V i H \ \ T i= P i- ] ' Thereafter, the auto-correlation function in step S602 is computed for V H, for i=0 to TP-1, as follows: (Eq. 12) (2) if * > 4, then (Eq. 13) where the variables are as defined above. Returning to Figure 6, once step S602 calculates an auto-correlation function for the histogram generated in step S601, the maximum value of the auto-correlation function, Ry, is identified in step S603. The location of this maximum value of R^ is set as the DDRL for the (k,l)th AC frequency band. Specifically, (Eq. 14) DDRLki = argmax R yd ■ k j d ≠ O, where the variables are as defined above. For example, in Figure 5, peak 35 corresponds to the maximum value of the histogram shown therein. Thus, the DDRL comprises the distance between "0" and the location of peak 35. In preferred embodiments of the invention, if two peaks in the histogram are within a predetermined distance of each other, e.g., they are relatively close to each other, an average value of the locations of the peaks is determined, and the DDRL is set to this average value. This feature of the invention reduces the likelihood of errors in the DDRL. In addition, several other corrections also may be performed in order to reduce errors in the DDRL. Specifically, in order to correct for the presence of overlapping peaks in reconstruction levels of the histogram, the invention examines additional maximum values of the correlation function. That is, if peak overlap occurs, the auto-correlation function of the histogram may give larger values at lower lags than at higher lags. Consequently, the true DDRL may not correspond to the largest histogram value, but may correspond to the second largest value, the third largest value, etc. In these cases, the overlapping peaks are disregarded, and additional values of the correlation function are examined in order to determine which value corresponds to the DDRL. Other errors may occur in determining the DDRL due to the harmonics of the base DDRL. This can cause a quantization weight to be extracted which is a multiple of the real quantization weight. To correct for potential errors of this type, first and second peaks of the correlation function are compared to determine which of the first and second peaks is larger and which is smaller. It is then determined whether the larger peak is a harmonic of the smaller peak. In a case that the larger peak is a harmonic of the smaller peak, the smaller peak is set as the maximum value, i.e., the DDRL, and in a case that larger peak is not a harmonic of the smaller peak, the larger peak is set as the maximum value. Also, since the distances between different peaks in a histogram may not be identical, the invention takes an average of these distances in order to find the most accurate DDRL for the DCT coefficients of the (k,l)th frequency band. Once DD Ly has been determined, processing proceeds to step S604. In step S604 the quantization weight, W k j, for the (k,l)th AC frequency band is determined by substituting DDR- y found in equation 14, and Q (i.e., DDRLo ; ι) found in equation 9, into equation 7. This is done for all (k,l) frequency bands in an 8x8 pixel block, thereby yielding the quantization matrix therefor. Figure 7 shows a comparison of quantization weights extracted in accordance with the present invention (unshaded) to quantization weights from a default matrix used to code original video data (shaded). As is clear from Figure 7, there is substantial correspondence between the extracted quantization weights and the default quantization weights. Following step S604, processing proceeds to step S306 of Figure 3. In step S306, the video data is coded (in second pass coding block 20) using a quantization matrix extracted in accordance with the invention, whereafter the coded video data is output by the encoder in step S304. Figures 8A to 8C show the results of simulations comparing luminance (Y) signals and chroma (U,V) signals generated using default matrices (100), matrices extracted in accordance with the present invention (101), and matrices calculated in accordance with conventional methods (102). The values along the X-axis denote frame numbers. As is clear from the figures, the luminance and chroma signals generated using matrices extracted in accordance with the present invention are closer to those generated using default matrices than are the luminance and chroma signals generated using matrices calculated in accordance with conventional methods. Figures 9A to 9C show results of another simulation confirming the results of Figures 8 A to 8C. The present invention has been described with respect to particular illustrative embodiments. It is to be understood that the invention is not limited to the above-described embodiments and modifications thereto, and that various changes and modifications may be made by those of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims: CLAIMS: 1. A method of extracting coding parameters from uncoded video data, where the coding parameters correspond substantially to coding parameters used in a coding operation that was previously performed on the video data, the method comprising the steps of: generating a histogram for at least one AC frequency band in the uncoded video data (S601); calculating a correlation function for the histogram (S602); identifying a maximum value of the correlation function (S603); and determining a coding parameter for the at least one AC frequency band using the maximum value of the correlation function (S604). 2. A method according to Claim 1, wherein the step of calculating the correlation function comprises: identifying a predetermined number of peaks in the histogram of the uncoded video data; and calculating (i) a standard auto-correlation function for the histogram in a case that the number of peaks is less than or equal to a predetermined value, where the standard auto-correlation function is performed for all identified peaks, and (ii) a modified autocorrelation function for the histogram in a case that the number of peaks is greater than the predetermined value, where the modified auto-correlation function is performed for less than all of the identified peaks. 3. A method according to Claim 2, wherein the standard auto-correlation function for a (k,l)th AC frequency band comprises: wherein the modified auto-correlation function for the (k,l)th frequency band comprises: Rv where corresponds to histogram values for the frequency band, m Xk is a maximum value of a coefficient for the (k,l)th AC frequency band, and V t corresponds to a peak value of the histogram. 4. A method according to Claim 1, further comprising the step of performing a discrete cosine transform (DCT) on the at least one frequency band prior to generating the histogram. 5. A method according to Claim 1, wherein the maximum value of the correlation function corresponds to a differentiated dominant reconstruction level (DDRL) of the at least one AC frequency band such that, in the determining step, a coding parameter, for a (k,l)th frequency band is determined by solving the following equation: „. _ 16DDRLkj where Q defines an adaptive quantization value of a block of video data which includes the (k,l)th frequency band. 6. A method according to Claim 5, wherein the identifying step comprises determining whether peaks in the histogram of the video data overlap and, in a case that peaks overlap, examining additional values of the correlation function in order to determine the DDRL. 7. A method according to Claim 5, wherein the identifying step comprises: comparing first and second peaks of the correlation function to determine which of the first and second peaks is larger and which is smaller; and determining whether the larger peak is a harmonic of the smaller peak; wherein, (i) in a case that the larger peak is a harmonic of the smaller peak, the smaller peak is set as the maximum value, and (ii) in a case that larger peak is not a harmonic of the smaller peak, the larger peak is set as the maximum value. 5 8. A method according to Claim 5, wherein DDR k comprises an average of distances between reconstruction levels in the histogram of the video data. 9. A method, for use in a multi-generational coding system, of coding uncoded video data, the method comprising the steps of: determining whether the uncoded video data has been subjected to a coding 10 operation in a previous generation of the multi-generational coding system (S302); wherein, in a case that the determining step determines that the uncoded video data has not been subjected to a coding operation, the method comprises coding the uncoded video data using predetermined coding parameters (S303); and wherein, in a case that the determining step determines that the uncoded video 15 data has been subjected to a coding operation, the method comprises extracting coding parameters from the uncoded video data and coding the video data using the extracted coding parameters (S306). 10. A method according to Claim 9, wherein the determining step comprises: 20 - generating a histogram for a first AC frequency band of the uncoded video data; calculating a correlation function for the histogram; identifying a maximum value of the correlation function; and comparing the maximum value to a predetermined value. 25 11. A coding apparatus which extracts coding parameters from uncoded video data, where the coding parameters correspond substantially to coding parameters used in a coding operation that was previously performed on the video data, the coding apparatus comprising: a memory (17) which stores computer-executable process steps; and a processor (17) which executes the computer-executable process steps stored 30 in the memory so as (i) to generate a histogram for at least one AC frequency band in the uncoded video data (S601), (ii) to calculate a correlation function for the histogram (S602), (iii) to identify a maximum value of the correlation function (S603), and (iv) to determine a coding parameter for the at least one AC frequency band using the maximum value of the correlation function (S604). 12. A coding apparatus according to Claim 1, wherein the maximum value of the correlation function corresponds to a differentiated dominant reconstruction level (DDRL) of the at least one frequency band; and wherein the processor executes process steps to determine the coding parameter based on the DDRL (S604). 13. A coding apparatus, for use in a multi-generational coding system, which codes uncoded data, the coding apparatus comprising: a memory (17) which stores computer-executable process steps; and a processor (17) which executes the process steps so as to determine whether the uncoded video data has been subjected to a coding operation in a previous generation of the multi-generational coding system (S302); wherein, in a case that the processor determines that the uncoded video data has not been subjected to a coding operation, the processor executes process steps to code the uncoded video data using predetermined coding parameters (S303); and wherein, in a case that the processor determines that the uncoded video data has been subjected to a coding operation, the processor executes process steps to extract coding parameters from the uncoded video data and to code the video data using the extracted coding parameters (S306). 14. A multi-generational coding system comprising: a first coding means (4,5) which codes original video data using predetermined coding parameters so as to produce coded video data, which decodes the coded video data, and which outputs uncoded video data; and a second coding means (5,6) which receives the uncoded video data from the first coding means, which determines that the uncoded video data has been subjected to a previous coding operation, and which extracts coding parameters from the uncoded video data; wherein the coding parameters extracted by the second coding means correspond, at least in part, to the predetermined coding parameters used by the first coding means.

Inventors: BALAKRISHNAN MAHESH, CHALLAPALI KIRAN, CHEN YINGWEI, BALAKRISHNAN, MAHESH, CHALLAPALI, KIRAN, CHEN, YINGWEI
Applicants: KONINKL PHILIPS ELECTRONICS NV, PHILIPS SVENSKA AB, KONINKLIJKE PHILIPS ELECTRONICS N.V., PHILIPS AB
Application year: 1999
Main classification: H04N7
IPC codes: H04N7