Abstract:
A method of calculating the transmission quality of a series of cascaded codecs, wherein for each type of codec, a function is determined which is specific for the relationship between the Q-equivalent over a series of codecs of that same type and the number of codecs which said series includes. The type sequence is determined of the series of codecs such as those cascaded in the transmission medium. The series is traversed in steps and, starting from the Q-equivalent for one codec of the type which occurs as the first in the series of codecs, the Q-equivalent is always calculated over the traversed part of the series by calculating, starting from the Q-equivalent calculated last, the next Q-equivalent under the control of the function which is specific for the type of the last codec in said part which has been traversed. The Q-equivalent finally calculated for the entire codec series is converted into a MOS value which is a measure of the subjective quality of the codec series.

Description:
BACKGROUND OF THE INVENTION 
     The invention relates to a method of calculating the transmission quality of a transmission medium containing a series of cascaded codecs. Such a calculation results in a &#34;mean opinion score&#34; (MOS), the measure of the speech quality which the average listener (network user) experiences. However, the MOS is used not only as a measure of the speech quality of speech codecs, but also in video codecs as a measure of the picture quality. Although the invention is deemed to lie, in particular, in the field of speech codecs, the field of other codecs, such as picture codecs, is not excluded from the field of the invention. The MOS can be calculated from a quality parameter referred to as &#34;Q-equivalent&#34; expressed in decibels which has been standardized by CCITT and which can be determined for one codec or for a cascaded series of codecs. There is a certain relationship between the MOS and the Q-equivalent (see FIG. 4), as a result of which Q-equivalents can be converted into MOS values. What the speech quality (expressed in Q-equivalent or MOS) of one codec is and also what the speech quality of a cascade circuit of a plurality of codecs of the same type is, is usually known. However, cascade circuits of codecs of various types are encountered in practice. The object of the invention is to provide a method of determining the Q-equivalent (and, from the latter, the MOS) for a series of cascaded codecs of different type, in which the influence of differences in type sequence is also manifested. The proposed method has the additional advantage that the Q-equivalent of a cascade circuit of codecs (whether of the same type or not) can be calculated in advance, that is to say without the cascade circuit actually being available. 
     SUMMARY OF THE INVENTION 
     The method according to the invention comprises the following process steps: 
     for each type (t) of codec, a function is determined which is specific for the relationship between the Q-equivalent (Qt,n) over a series comprising a number (n) of codecs of that same type and the number of codecs which said series comprises; 
     the type sequence (t1, t2, t3, . . . ) is determined of the series of codecs such as those cascaded in the transmission medium; 
     the codec series is traversed in steps and, starting from the Q-equivalent (Qt1,1) for one codec of the type (t1) which occurs as the first in the series of codecs, the Q-equivalent is always calculated over the traversed part of the series by calculating, starting from the Q-equivalent calculated last, the next Q-equivalent under the control of the function which is specific for the type of the last codec in the traversed part of the codec series. 
     In the method according to the invention, use is made of the observation made above that the objective MOS value (calculated via the Q-equivalent) for a series of the same codecs satisfactorily approximates to the subjective MOS value thereof. In the first step, the Q-equivalent for one codec is calculated (for each type of codec which occurs in the codec series), as well as the Q-equivalent over a plurality of codecs of that same type. The relationship between the Q-equivalent and the number of cascaded codecs is then used to calculate a Q-equivalent over the various codecs of various types. In this procedure, in a step-by-step calculation, use is made of the function which is specific for the type of said codec, namely the Q-equivalent as a function of the number of codecs (of said type) for each successive codec in the series, which function was calculated in the first step. 
     The method according to the invention is explained in greater detail in the next section. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows the variation in the function of the Q-equivalent for codecs of a type 1, a type 2 and a type 3; 
     FIGS. 2 and 3 illustrate the calculations of the Q-equivalents for a pair of different series of cascaded codecs, while 
     FIG. 4 shows the relationship between Q-equivalents and MOS values and 
     FIG. 5 shows the relationship between the subjective MOS and the objective MOS, calculated in accordance with the invention, for a cascaded series encountered in practice. 
     Table 1 shows the numerical values of the examples shown in FIGS. 1, 2 and 3; Table 2 shows a computer program with which Table 1 was generated. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows graphically the variation in the Q-equivalent, hereinafter also referred to as Q, as a function of the number of cascaded codecs for the (simulated) types 1, 2 and 3. The general form of the function for Q is: Qt,n=Qt,1-Rt*log(n), where t is the type, n the number of codecs and Rt, the direction coefficient of the slope, is plotted as n logarithmic. Qt,1 is the Q-equivalent for one codec of type t; Qt,n is the Q-equivalent over n codecs of type t. As was stated above, the objective and the subjective Q-equivalents agree well with one another. The upper part of Table 1 shows the values of Q (rounded to whole numbers) as a function of n for the types 1, 2 and 3; the differential values dQ, which are of importance for the calculations below, are also presented. 
     FIG. 2 illustrates the method according to the invention for three different series of codecs, viz. 
     (Example A) type 1 - type 2 - type 1 - type 3, 
     (Example B) type 2 - type 1 - type 2 and 
     (Example C) type 3 - type 2 - type 1 - type 2 - type 3. 
     EXAMPLE A 
     (Codec Series 1-2-1-3) 
     The series is traversed step-by-step, starting from the Q-equivalent (Qt1,1) of the codec type which occurs as first in the series of codecs, the Q-equivalent always being calculated over the traversed part of the series by calculating, starting from the Q-equivalent last calculated, the next Q-equivalent under the control of the function which is specific to the type of the last codec in said traversed part. The process steps are therefore as follows: 
     The starting point is the Q-equivalent for one codec of the type which occurs as first in the series of codecs, that is to say type 1, for which Q1,1=30 dB; 
     the first step in the series terminates at the second codec in the series, which is of type 2; the Q-equivalent associated with said first step is calculated under the control of the function (Qt,n=Qt,1-Rt*log(n)), which is specific for the type of the last codec in the traversed part of the codec series, that is to say, in this case, type 2: the Q-equivalent can now be calculated by reducing the last Q-equivalent (30 dB) in accordance with the function (Q2,n=Q2,n-R2*log(n)), which is specific for the type of the last codec (type 2) in the traversed part of the series, in other words, by reducing by dQ2,2 (see Table 1), with the result that the new Q-equivalent becomes 30-9=21 dB. 
     The next step in the codec series leads to a codec of type 1; 
     the next Q-equivalent is now calculated by starting from the value of 21 dB and reducing it in accordance with the function (Q1,n=Q1,n-R1*log(n)), which is specific for the type of the last codec (type 1) in the traversed part of the series, in other words, by reducing it by dQ1,3 (see Table 1), with the result that the new Q-equivalent becomes 21-2=19 dB. 
     The next step in the codec series leads to a codec of type 3; 
     the next Q-equivalent is now calculated by starting from the value of 19 dB and reducing it in accordance with the function (Q3,n=Q3,n-R3*log(n)), which is specific for the type of the last codec (type 3) in the traversed part of the series, in other words, by reducing it by dQ3,4 (see Table 1), with the result that the new Q-equivalent becomes 19-2=17 dB. 
     EXAMPLE B 
     (Codec Series 2-1-2) 
     In a manner identical to the way in which the Q-equivalent is calculated in the first step through the codec series in the preceding example, the value Q2,1 (since the first codec is of type 2 in this example) is reduced by the value of dQ1,2 (the second codec is of type 1), with the result that the new Q-equivalent becomes 40-3=37. However, a problem now arises. In this case, in particular, the Q-equivalent over two codecs, one of type 2 and one of type 1, would come out higher than the Q-equivalent over one of said two, namely Q 1,1, which is 30 dB. This result must therefore be corrected. For this reason, the result of the calculation of the new Q-equivalent is compared with the Q-equivalents over one codec for both types of codec and the result corrected to the lowest value. As can be seen, this correction is only necessary once in this example. After the correction to 30 dB, the next Q-equivalent is calculated (starting from the value of 30 dB) in the manner specified above. 
     EXAMPLE C 
     (Codec Series 3-2-1-2-3) 
     In the same way as above, starting from the Q3,1 value of 50 dB, a subsequent Q-equivalent is calculated in accordance with the function which is specific for codecs of the type 2, namely by reducing the value of 50 dB by 9 dB (dQ2,2), and the value of 41 dB thus obtained is compared with the Q-equivalent for one codec of the type 2 (Q1,2), which is 40 dB, and accordingly corrected to 40 dB. In conformity with the variation in the specific function for codecs of the type 1, said value of 40 dB is then reduced by 2 dB (dQ1,3) to 38 dB. The part of the codec series traversed now comprises the codecs 3-2-1. Since the Q-equivalent of codecs of the type 1 is 30 dB, the value of 38 dB is reduced to 30 dB. The subsequent Q-equivalents calculated no longer need to be corrected. 
     EXAMPLE D 
     (Codec Series 3-2-2-1-1-1-1-1-1-1) 
     Finally, FIG. 3 furthermore shows an Example D in which the calculation of the Q-equivalent of a codec series (which is probably not encountered in practice) is shown. The exemplary series is formed by codecs of the types 3-2-2-1-1-1-1-1-1-1. In this example, the correction function can readily be seen. Starting from the Q-equivalent for one code of the type 3, Q3,1, which has a value of 50 dB, during the traversing of the codec series step-by-step, this value is reduced by dQ2,2 of (see Table 1) 9 dB corrected in conformity with Q2,1 (40 dB) (since the Q-equivalent over the two codecs 3-2 will never be able to be higher than that of one codec 3 (50 dB) or 2 (40 dB)), then again reduced by dQ2,3 (in conformity with the slope (in accordance with the ratio R2) of the Q/n curve for type 2) and again corrected. In this last correction, correction is carried out in accordance with the value Q2,2: the codecs series traversed at that instant is 3-2-2 and the corrected value must therefore be compared with the Q-equivalent of one codec of type 3, Q1,3 (50 dB) and with that of two codecs of type 2, Q2,2 (31 dB). The codec series then comprises only codecs 1, with the result that, during the further step-by-step traversal of the series, the calculated Q values are always reduced in accordance with the slope of the Q/n line for type 1, the result always being compared with the Q-equivalent for the total number of codecs of type 1 in the part of the codec series traversed up to that point. As a result of the logarithmic scale of n (as a result of which the Q/n curves have a straight variation) corrections must always be carried out in this case but these are always smaller in value. In Table 1, the values are rounded to whole numbers, as a result of which the decrease in the corrections cannot be accurately followed. The Q-equivalents calculated in accordance with the above method are converted into MOS values using the curve shown in FIG. 4. 
     The performance of the method according to the invention is shown in FIG. 5 for a cascaded series of codecs comprising a PCM codec, an ADPCM codec, an LD-CELP codec and a GSM Full Rate codec. The figure shows the linear regression curve, correlation coefficient R and the standard deviation S. 
     
                       TABLE 1______________________________________CASCADING CODECS OF THE SAME TYPE(shown graphically in FIG. 1)Using  1 codec of type 1 results in a Q-equivalent (Q1, 1) of 30 dBCascading  2 codecs of type 1 results in a Q-equivalent (Q1, 2) of 27 dB  (dQ1, 2 = 3 dB)Cascading  3 codecs of type 1 results in a Q-equivalent (Q1, 3) of 25 dB  (dQ1, 3 = 2 dB)Cascading  4 codecs of type 1 results in a Q-equivalent (Q1, 4) of 24 dB  (dQ1, 4 = 1 dB)Cascading  5 codecs of type 1 results in a Q-equivalent (Q1, 5) of 23 dB  (dQ1, 5 = 1 dB)Cascading  6 codecs of type 1 results in a Q-equivalent (Q1, 6) of 22 dB  (dQ1, 6 = 1 dB)Cascading  7 codecs of type 1 results in a Q-equivalent (Q1, 7) of 22 dB  (dQ1, 7 = 1 dB)Cascading  8 codecs of type 1 results in a Q-equivalent (Q1, 8) of 21 dB  (dQ1, 8 = 1 dB)Cascading  9 codecs of type 1 results in a Q-equivalent (Q1, 9) of 20 dB  (dQ1, 9 = 1 dB)Cascading  10 codecs of type 1 results in a Q-equivalent (Q1, 10) of  20 dB (dQ1, 10 = 0 dB)Using  1 codec of type 2 results in a Q-equivalent (Q2, 1) of 40 dBCascading  2 codecs of type 2 results in a Q-equivalent (Q2, 2) of 31 dB  (dQ2, 2 = 9 dB)Cascading  3 codecs of type 2 results in a Q-equivalent (Q2, 3) of 26 dB  (dQ2, 3 = 5 dB)Cascading  4 codecs of type 2 results in a Q-equivalent (Q2, 4) of 22 dB  (dQ2, 4 = 4 dB)Cascading  5 codecs of type 2 results in a Q-equivalent (Q2, 5) of 19 dB  (dQ2, 5 = 3 dB)Cascading  6 codecs of type 2 results in a Q-equivalent (Q2, 6) of 17 dB  (dQ2, 6 = 2 dB)Cascading  7 codecs of type 2 results in a Q-equivalent (Q2, 7) of 15 dB  (dQ2, 7 = 2 dB)Cascading  8 codecs of type 2 results in a Q-equivalent (Q2, 8) of 13 dB  (dQ2, 8 = 2 dB)Cascading  9 codecs of type 2 results in a Q-equivalent (Q2, 9) of 11 dB  (dQ2, 9 = 2 dB)Cascading  10 codecs of type 2 results in a Q-equivalent (Q2, 10) of  10 dB (dQ2, 10 = 1 dB)Using  1 codec of type 3 results in a Q-equivalent (Q3, 1) of 50 dBCascading  2 codecs of type 3 results in a Q-equivalent (Q3, 2) of 44 dB  (dQ3, 2 = 6 dB)Cascading  3 codecs of type 3 results in a Q-equivalent (Q3, 3) of 40 dB  (dQ3, 3 = 4 dB)Cascading  4 codecs of type 3 results in a Q-equivalent (Q3, 4) of 38 dB  (dQ3, 4 = 2 dB)Cascading  5 codecs of type 3 results in a Q-equivalent (Q3, 5) of 36 dB  (dQ3, 5 = 2 dB)Cascading  6 codecs of type 3 results in a Q-equivalent (Q3, 6) of 34 dB  (dQ3, 6 = 2 dB)Cascading  7 codecs of type 3 results in a Q-equivalent (Q3, 7) of 33 dB  (dQ3, 7 = 1 dB)Cascading  8 codecs of type 3 results in a Q-equivalent (Q3, 8) of 32 dB  (dQ3, 8 = 1 dB)Cascading  9 codecs of type 3 results in a Q-equivalent (Q3, 9) of 31 dB  (dQ3, 9 = 1 dB)Cascading  10 codecs of type 3 results in a Q-equivalent (Q3, 10) of  30 dB (dQ3, 10 = 1 dB)CASCADING CODECS OF THE DIFFERENT TYPES(shown graphically in FIG. 2)EXAMPLE AUsing  1 codec of type 1 results in a Q-equivalent of 30 dBCascading  2 codecs (types 1-2) results in a Q-equivalent of 21 dB  (dQ2, 2 = 9 dB)Cascading  3 codecs (types 1-2-1) results in a Q-equivalent of 19 dB  (dQ1, 3 = 2 dB)Cascading  4 codecs (types 1-2-1-3) results in a Q-equivalent of 17 dB  (dQ3, 4 = 2 dB)EXAMPLE BUsing  1 codec of type 2 results in a Q-equivalent of 40 dBCascading  2 codecs (types 2-1) results in a Q-equivalent of 37 dB  (dQ1, 2 = 3 dB)Idem,  but corrected to the Q-equivalent of 1 codec of type 1:  30 dB (Q1, 1)Cascading  3 codecs (types 2-1-2) results in a Q-equivalent of 25 dB  (dQ2, 3 = 5 dB)EXAMPLE CUsing  1 codec of type 3 results in a Q-equivalent of 50 dBCascading  2 codecs (types 3-2) results in a Q-equivalent of 41 dB  (dQ2, 2 = 9 dB)Idem,  but corrected to the Q-equivalent of 1 codec of type 2: 40 dB  (Q2, 1)Cascading  3 codecs (types 3-2-1) results in a Q-equivalent of 38 dB  (dQ1, 3 = 2 dB)Idem,  but corrected to the Q-equivalent of 1 codec of type 1: 30 dB  (Q1, 1)Cascading  4 codecs (types 3-2-1-2) results in a Q-equivalent of 26 dB  (dQ2, 4 = 4 dB)Cascading  5 codecs (types 3-2-1-2-3) results in a Q-equivalent of 24 dB  (dQ3, 5 = 2 dB)EXAMPLE DUsing  1 codec of type 3 results in a Q-equivalent of 50 dBCascading  2 codecs (types 3-2) results in a Q-equivalent of 41 dB  (dQ2, 2 = 9 dB)Idem,  but corrected to the Q-equivalent of 1 codec of type 2:  40 dB (Q2, 1)Cascading  3 codecs (types 3-2-2) results in a Q-equivalent of 35 dB  (dQ2, 3 = 5 dB)Idem,  but corrected to the Q-equivalent of 2 codecs of type 2:  31 dB (Q2, 2)Cascading  4 codecs (types 3-2-2-1) results in a Q-equivalent of 30 dB  (dQ1, 4 = 1 dB)Cascading  5 codecs (types 3-2-2-1-1) results in a Q-equivalent of 29 dB  (dQ1, 5 = 1 dB)Idem,  but corrected to the Q-equivalent of 2 codecs of type 1:  27 dB (Q1, 2)Cascading  6 codecs (types 3-2-2-1-1-1) results in a Q-equivalent of  26 dB (dQ1, 6 = 1 dB)Idem,  but corrected to the Q-equivalent of 3 codecs of type 1:  25 dB (Q1, 3)Cascading  7 codecs (types 3-2-2-1-1-1-1) results in a Q-equivalent of  25 dB (dQ1, 7 = 1 dB)Idem,  but corrected to the Q-equivalent of 4 codecs of type 1:  24 dB (Q1, 4)Cascading  8 codecs (types 3-2-2-1-1-1-1-1) results in a Q-equivalent of  23 dB (dQ1, 8 = 1 dB)Idem,  but corrected to the Q-equivalent of 5 codecs of type 1:  23 dB (Q1, 5)Cascading  9 codecs (types 3-2-2-1-1-1-1-1-1) results in a Q-equivalent of  22 dB (dQ1, 9 = 1 dB)Idem,  but corrected to the Q-equivalent of 6 codecs of type 1:  22 dB (Q1, 6)Cascading  10 codecs (types 3-2-2-1-1-1-1-1-1-1) results in a  Q-equivalent of 22 dB (dQ1, 10 = 0 dB)Idem,  but corrected to the Q-equivalent of 7 codecs of type 1:  22 dB (Q1, 7)______________________________________ 
    
     
                       TABLE 2______________________________________OPEN &#34;CBN.PRT&#34; FOR OUTPUT AS #1REM  Calculating Q-equivalent/number of codecs - ratio over 10 codecsQ(1, 1) = 30: Q(1, 10) = 20: R(1) = (Q(1, 1)-Q(1, 10))Q(2, 1) = 40: Q(2, 10) = 10: R(2) = (Q(2, 1)-Q(2, 10))Q(3, 1) = 50: Q(3, 10) = 30: R(3) = (Q(3, 1)-Q(3, 10))REM  Calculating Q and delta-Q at increasing number of codecs of thesame typePRINT #1, &#34;CASCADING CODECS OF THE SAME TYPE (showngraphically in FIG. 1)&#34;FOR t = 1 TO 3Qprev = Q(t, 1)FOR n = 1 TO 10Q(t, n) = Q(t, 1) - R(t) * LOG(n) / LOG(10)d(t, n) = Qprev - Q(t, n)IF n = 1 THEN PRINT #1, USING &#34; Using 1 codec of type # resultsin a Q-equivalent (Q#&amp;1) of ## dB&#34;; t; t; &#34;,&#34;; Q(t, 1)IF n &gt; 1 THEN PRINT #1, USING &#34;Cascading ## codecs of type # resultsin a Q-equivalent (Q#&amp;#) of ## dB (dQ#&amp;#=# dB)&#34;; n; t; t; &#34;,&#34;; n;Q(t, n); t; &#34;,&#34;; n; d(t, n)Qprev = Q(t, n)NEXT nNEXT tREM  Stepwise calculating Q of a codec string consisting of codecs ofthe different typesPRINT #1, &#34;CASCADING CODECS OF THE DIFFERENT TYPES(shown graphically in FIG. 2)&#34;CS$(1) = &#34;1-2-1-3&#34;:       xmpl$(1) = &#34;A&#34;CS$(2) = &#34;2-1-2&#34;:       xmpl$(2) = &#34;B&#34;CS$(3) = &#34;3-2-1-2-3&#34;:       xmpl$(3) = &#34;C&#34;CS$(4) = &#34;3-2-2-1-1-1-1-1-1-1&#34;:           xmpl$(4) = &#34;D&#34;FOR a = 1 TO 4: CS$ = CS$(a)PRINT #1, USING &#34;EXAMPLE &amp;&#34;; xmpl$(a)b = 0FOR c = 1 TO LEN(CS$)IF VAL(MID$(CS$, c, 1)) &gt;0 THEN b = b + 1: t(b) = VAL(MID$(CS$,c, 1))NEXT cQprev = Q(t(1), 1): Qcorr= Q(t(1), 1)FOR n = 1 TO bt = t(n)t$(n) = STR$(t(n))Q = Qprev - d(t, n)IF n = 1 THEN PRINT #1, USING &#34; Using 1 codec of type # resultsin a Q-equivalent of ## dB&#34;; t; QIF n &gt; 1 THEN PRINT #1, USING &#34;Cascading # codecs (types &amp;) resultsin a Q-equivalent of ## dB (dQ#&amp;#=# dB)&#34;; n; LEFT$(CS$,2 * n - 1); Q; t; &#34;,&#34;; n; d(t, n)FOR d = 1 TO 3: e(d) = 0: NEXT dFOR c = 1 TO n: FOR d = 1 TO 3IF t(c) = d THEN e(d) = e(d) + 1: Qcorr(d) = Q(d, e(d)): IFQcorr(d) &lt; Qcorr THEN Qcorr = Qcorr(d): dcorr = d: ncorr = e(d)NEXT d: NEXT cFOR b = 2 TO nIF (n &gt; 1) AND (Q &gt; Qcorr) THEN d = Q - Qcorr: Q = Qcorr: IFncorr = 1 THEN PRINT #1, USING &#34; Idem, but corrected to theQ-equivalent of # codec of type #: ## dB (Q#&amp;#)&#34;; ncorr; dcorr; Q;dcorr;&#34;,&#34;; ncorr: ELSE PRINT #1, USING &#34; Idem, but corrected to theQ-equivalent of # codecs of type #: ## dB (Q#&amp;#)&#34;; ncorr; dcorr;Q; dcorr; &#34;,&#34;; ncorrNEXT bQprev = QNEXT nNEXT aCLOSE______________________________________