Abstract:
The present invention relates to a full-reference (FR) objective method for assessing perceptual quality of decoded video frames in the presence of packet losses and coding artifacts. A method of assessing perceptual quality is provided. First, a value indicating an amount of distortion in a corresponding portion is accessed. Then, that value is classified as packet-loss distortion or coding-artifact distortion. Next, the classified value is modified to account for visibility differences of the human visual system, based on the classification, and then the modified values are combined for the multiple portions, to form a value indicating a total amount of distortion for the multiple portions.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of the filing date under 35 U.S.C. §119(e) of Provisional Patent Application No. 61/011,525, filed Jan. 18, 2008. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to a full-reference (FR) objective method of assessing perceptual quality and particularly relates to a full-reference (FR) objective method of assessing perceptual quality of decoded video frames in the presence of packet losses and coding artifacts. 
       BACKGROUND OF THE INVENTION 
       [0003]    A typical video communication system can be decomposed into three main components, which are encoding  310  of an input YUV sequence, transmission  320 , and decoding  330  to yield output YUV sequence  340 , respectively, as illustrated in  FIG. 1 . Perceptual quality degradation occurs in the processed video frames because of lossy encoding and packet losses in the imperfect transmission channel in the first two components. Although the average of frame peak signal-to-noise ratio (PSNR), mean squared error (MSE), or mean absolute error (MAE) has been found to correlate reasonably well with perceived quality of decoded video in the absence of transmission losses, it is not at all clear that such a measure bears much resemblance to the perceived quality in the presence of transmission losses. 
         [0004]    As mobile telecommunication devices, such as cell phones and PDAs, become more popular, issues arise as how to guarantee video transmissions with satisfactory perceptual quality over these devices. However, to solve this problem seems challenging. First of all, the bandwidth of this wireless communication channel is relatively low, which typically constrains the bit rate of encoded video sequences to be low as well, which typically results in the video quality being compromised or reduced to a great extent. The unreliability of a wireless channel can also cause significant quality degradation of received videos. For example, the channel fading effect can lead to losses of a few slices up to several frames of transmitted videos. The quality evaluation of videos encoded with low bit-rate and low frame resolution, and with channel characteristics like third generation telecommunication network (3G), where bursty losses can cause two consecutive P-mode frames  410  to be lost in each group of pictures (GOP) of an encoded bitstream, is also a concern. The illustration of encoded video sequences (one GOP) with packet losses is shown in  FIG. 2 , wherein block  400  reflects correctly decoded frames, block  410  reflects lost frames and block  420  reflects error propagating frames. 
         [0005]    Since a decoder may not receive all of the video data, it has to conceal the lost data so that the rest of the video sequence can be fully decoded. However, the concealed data can propagate errors to the following frames in the GOP, and the actual propagation effect depends on different error concealments. In a JM10.0 H.264/AVC decoder, there are three error concealment methods: frame-copy, motion-copy, and frame-freeze. 
         [0006]    The frame-freeze method conceals the loss by discarding all the data in the GOP received after the loss, and holding the last correctly decoded frame until the end of the GOP, so visually, each loss causes the video to have one frame frozen for a time of several frames. Because there is no spatial chaos in video frames after concealing by this method, the impact of temporal factors on perceptual quality is dominant. 
         [0007]    Generally, motion-copy and frame-copy methods are similar in perceptual effects on error-propagated frames, and there is obvious local image chaos along the edges of the objects with motion, which greatly degrades the perceptual quality of video frames. However, for the concealed lost frames, the frame-copy method just copies the last correctly decoded frame, while motion-copy estimates the lost frames based on the motion information of the last correctly decoded frames. 
         [0008]    A metric is a verifiable measure stated in either quantitative or qualitative terms. The metric is a verifiable measure that captures performance in terms of how something is being done relative to a standard. Quality metric data can be used to spot trends in performance, compare alternatives, or even predict performance. Often, identifying effective metrics is difficult. 
         [0009]    Objective image or video quality metrics can be classified according to the accessibility to the original reference image, and such a classification can include three categories: full-reference (FR) methods, reduced-reference (RR) methods, and non-reference (NR) methods. 
         [0010]    Many existing quality metrics are a full-reference (FR) method, meaning that a complete reference image can be accessed. In many practical applications, however, the reference image is not available, and a non-reference (NR) method or “blind” quality assessment approach is desirable. Reduced-reference (RR) methods lie between the above two extremes, because part of the reference image is available to help evaluate the quality of the distorted image. 
         [0011]    In a typical video communication system, the distortion can be introduced by both coding artifact and transmission error due to lossy encoding and an imperfect channel, as shown in  FIG. 1 . 
         [0012]    Traditional error-sensitivity schemes include measures such as, for example, PSNR, MSE, or MAE, which assume that the image or video quality degradation is the average the squared intensity differences of distorted and reference image pixels. However, they do not necessarily match actual perceptual quality ratings very well, especially in the presence of packet loss. The metrics, in the other subcategory, assume that human visual systems (HVS) are highly adapted for extracting structural information, rather than each individual pixel. (see Z. Wang, A. Bovik, H. Sheikh, and E. Simoncelli, “ Image Quality Assessment: From Error Visibility to Structural Similarity”, IEEE Transactions on Image Processing, vol.  13 , no.  4 , April  2004) 
         [0013]    Specifically, these metrics compare luminance, contrast, and structure information of reference and distorted images, based on their first and second moment statistics within sliding rectangular windows running all over the images. Although they can evaluate similarity between reference and distorted images fairly well, with and without some common noises, computation complexity increases significantly. Further, experiments on video frames, corrupted by packet loss, prove that good performance cannot be maintained. 
         [0014]    In order to improve the performance of error-sensitivity approach, a great deal of effort has gone into the development of quality assessment methods that take advantage of known characteristics of HVS. 
         [0015]    The majority of the proposed perceptual quality assessment models have followed a strategy of pooling the differences between original and distorted images, so that they are penalized, in accordance with their impacts on perceptual quality. Although these models improve the correlation between objective model scores and subjective quality ratings for encoded videos with coding artifacts, they all fail in the presence of packet loss. (see W. Lin, L. Dong, and P. Xue et a. “ Visual Distortion Gauge Based on Discrimination of Noticeable Contrast Changes”, IEEE Transactions on Circuits and Systems for Video Technology, vol.  15 , No.  7 , July  2003; Z. Wang, A. C. Bovik, “ A human visual system based objective video distortion measurement system”, Proceedings of the International Conference on Multimedia Processing and Systems, August  2001.) As the problem of visual impact of packet loss becomes stringent, some work has started in researching in this field. 
         [0016]    M. Claypool and J. Tanner found, in “ The Effects of Jitter on the Perceptual Quality of Video ”, that jitter degrades perceptual quality nearly as much as does packet loss, and that perceptual quality degrades sharply even with low levels of jitter or packet loss, as compared to perceptual quality for perfect video. (see M. Claypool and J. Tanner “ The Effects of Jitter on the Perceptual Quality of Video”, ACM Multimedia, Volume  2 , Orlando, Fla., November  1999) R. R. Pastrana-Vidal and J. C. Gicquel developed a metric to evaluate the impact of fluidity breaks, caused by image dropping, on user quality perception were presented. (see R. R. Pastrana-Vidal and J. C. Gicquel, “ Automatic quality assessment of video fluidity impairments using a no - reference metric”, in Proc. of  2 nd Int. Workshop on Video Processing and Quality Metrics for Consumer Electronics, January  2006) This no-reference metric is able to calculate the effect on quality under several different image-dropping conditions. Further, K. Yang, C. Guest, K. El-Maleh, and P. Das disclose a novel objective temporal quality metric PTQM, which includes the amount of frame loss, object motion, and local temporal quality contrast. Unlike conventional approaches, this metric produces not just sequence, but also scene and even frame level temporal quality measurement. (see K. Yang, C. Guest, K. El-Maleh, and P. Das, “ Perceptual temporal quality metric for compressed video” Multimedia, IEEE Transactions on, Nov.  2007) 
         [0017]    Although the proposed metric had results that are interesting, their works packet losses only cause the temporal degradation, but they do not cause spatial error propagation in following frames and the error propagation caused by packet loss is not discussed. 
         [0018]    X. Feng and T. Liu, in “ Evaluation of perceptual video quality using saliency map ”, use the automatic generated saliency maps for pooling MSE of error-propagated frames and the pooled error matches well with perceptual quality of those frames. (see X. Feng and T. Liu, “ Evaluation of perceptual video quality using saliency map”, ICIP,  2008 , Submitted ) However, the complicated computation of saliency maps is undesirable. In “ No - reference metrics for video streaming applications ”, two NR metrics are proposed for measuring block edge impairment artifacts in decoded video, and evaluating the quality of reconstructed video in event of packet loss. (see R. Venkatesh, A, Bopardikar, A. Perkis and O. Hillestad, “ No - reference metrics for video streaming applications ,” in  Proceedings of PV  2004 , December  13-14 , Irvine, Calif., USA,  2004.] The blockiness metric, disclosed in “ No - reference metrics for video streaming applications ”, is based on measuring the activity around the block edges and on counting the number of blocks that might contribute to the overall perception of blockiness in the video frame. 
         [0019]    While the packet losses, examined in the aforementioned reference caused the spatial degradation, the loss is only across a few slices and not the whole frame. In this case, the distortions are shaped as rectangles, and strong discontinuities can be used as a hint of losses. However, it is advantageous to measure activity when the lost packets are whole frames, which raise the difficulty in distinguishing propagated errors. 
         [0020]    Instead of using conventional approaches, the A. Reibman, S. Kanumuri, V. Vaishampayan, and P. Cosman, in “ Visibility of individual packet losses in MPEG -2  video” , develop statistical models to predict the visibility of a packet loss. (see A. Reibman, S. Kanumuri, V. Vaishampayan, and P. Cosman, “ Visibility of individual packet losses in MPEG -2  video ”. ICIP  2004 .) Classification and Regression Trees (CART) and Generalized Linear Models (GLM) are used predict the visibility of a packet loss, while perceptual quality impact of packet losses are not explicitly discussed. U. Engelke, and H. Zepernick, in “ An Artificial Neural Network for Quality Assessment in Wireless Imaging Based on Extraction of Structural Information ”, disclose how Articial Neural Networks (ANN) can be used for perceptual image quality assessment. (see U. Engelke, and H. Zepernick, “ An Artificial Neural Network for Quality Assessment in Wireless Imaging Based on Extraction of Structural Information”, ICASSP  2007.) The quality prediction is based on structural image features such as blocking, blur, image activity, and intensity masking. The advantage of ANN approach can achieve very high performance in real-time fashion, while its disadvantage lies in its significant complexity for implementing it. 
       SUMMARY OF THE INVENTION 
       [0021]    The present invention is made in view of the technical problems described above, and it is an object of the present invention to provide a full-reference (FR) objective method for assessing perceptual quality of decoded video frames in the presence of packet losses and coding artifacts. 
         [0022]    It is further an object of the invention to provide a method of assessing perceptual quality by first accessing a value indicating an amount of distortion in a corresponding portion, and then classifying the value as packet-loss distortion or coding-artifact distortion. Next, the classified value is modified to account for visibility differences of the human visual system, based on the classification, and then the modified values are combined for the multiple portions, to form a value indicating a total amount of distortion for the multiple portions. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0023]    The invention will be explained in greater detail in the following with reference to embodiments, referring to the appended drawings, in which: 
           [0024]      FIG. 1  is a schematic representation of a typical video transmission system; 
           [0025]      FIG. 2  is a schematic representation of encoded video sequences (one GOP) with packet losses; 
           [0026]      FIG. 3  is a graphical representation of the visibility threshold due to background luminance adaptation; and 
           [0027]      FIG. 4  is a flow diagram of the block-base JND algorithm for video quality evaluation. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0028]    The invention will now be described in greater detail. Reference will now be made in detail to the implementations of the present invention, which are illustrated in the accompanying drawings and equations. 
         [0029]    At least one implementation provides a full-reference (FR) objective method of assessing perceptual quality of decoded video frames in the presence of packet losses. Based on the edge information of the reference frame, the visibility of each image block of an error-propagated frame is calculated and its distortion is pooled correspondingly, and then the quality of the entire frame is evaluated. 
         [0030]    One such scheme addresses conditions occurring when video frames are encoded by H.264/AVC codec, and an entire frame is lost due to transmission error. Then, video is decoded with an advanced error concealment method. One such implementation provides a properly designed error calculating and pooling method that takes advantage of spatial masking effects of distortions caused by both coding distortion and packet loss. With fairly low complexity, at least one such proposed method of assessing perceptual quality provides quality ratings of degraded frames that correlate fairly well with actual subjective quality evaluation. 
         [0031]    In another implementation, a full-reference (FR) method of assessing perceptual quality of encoded videos frames, corrupted by packet loss, targets the video sequence, encoded by an H.264/AVC codec with low bit rate and low resolution, transmitted through wireless networks. 
         [0032]    In this situation, video quality is jointly affected by coding artifact, such as blurring, and by packet loss, which causes error propagated spatially and temporally. In such an implementation, a JM10.0 H.264 decoder is used to decode the encoded sequences, where frame-copy error concealment is adopted. The GOP length of encoded video is short, so one bursty packet loss is assumed, which causes two frames to be lost within one GOP. Therefore, the error caused by one packet loss can propagate to the end of the GOP, not disturbed by another packet loss. Various implementations of the metric evaluate the qualities of all the frames in the video sequences, the correctly received frames, error concealed frames, error propagated frames, and these frame qualities can be applied directly or indirectly to generate a single numerical quality evaluation of the entire video sequence. 
         [0033]    One aspect of method is to first locate both coding artifacts, and propagated errors caused by packet losses. The present invention evaluates the perceptual impacts of them separately, and then takes advantage of a weighted sum of the two distortions to evaluate the quality of the whole frame. The rationality of this discriminating treatment to the aforementioned two distortions is based on observations that the two different distortions degrade the video quality in significantly different manners and degrees, and these differences may not be appropriately modeled by their difference in MSE or MAE. The perceptual impact of packet losses is usually on local areas of an image, while the visual effect of a coding artifact of H.264, especially blurring, typically degrades the image quality in a global fashion. 
         [0034]    Another aspect of evaluating the visual impact of error propagations is to differentiate the locations of errors. For example, determining whether the errors are in an edge area, a texture area, or a plain area. This is useful because the HVS responds differently to different positioned errors. 
         [0035]    Errors that occur on the plain area or edge of an object seem more annoying than those in the textural area. Therefore, two spatial masking phenomena are considered for at least one implementation of the proposed method, in evaluation of video frame quality. 
         [0036]    The whole process for implementation of a perceptual video quality evaluation method can be broken into four components: (i) edge detecting of reference image, (ii) locating coding artifact distortion and propagated errors caused by packet loss distortion, (iii) calculating perceptual distortions for packet loss affected and source coding affected blocks, respectively, and (iv) pooling together distortions from all the blocks in a frame, each of which will be discussed in detail in next part of this document. 
         [0037]    A preferred embodiment of the invention is outlined  FIG. 4  which begins with a reference frame (i.e. original frame) being provided in block  100 . From the reference frame, edge detection is performed in block  110  followed by a calculation of edge density for each 8×8 block, which then feeds specific edge density values into block  141 . (In the preferred embodiment the frames are first divided in 8×8 blocks and each of these sections in referred to as an 8×8 block.) Additionally, from the reference frame, a mean luminance value for each 8×8 block (mean_luma(i,j) is calculated in block  125 , which also fed into block  141 . Block  140  represents an additional calculation which is also fed into block  141 . Block  140  is the calculation of the original distortion, which in the preferred embodiment is calculated as the mean-absolute-difference (MAE) between the reference frame and a processed frame shown in block  110  for each 8×8 block as defined in Equation 1. (Equation 1 and the other equation mentioned in this description of  FIG. 4  are described in later paragraphs.) Next, decisional block  150  takes the data from block  141  and determines if the original distortion of the concerned 8×8 block exceeds a certain threshold, which in the preferred embodiment with MAE distortion having the preferred threshold being 10. If the threshold exceeds the block MAE, then the block is identified as a source coding affected block, and the source coding incurred perceptual (visual) distortion D C   jnd (i,j) in block  155  is calculated by Equation 6. Otherwise, the block is identified as a packet loss affected block and JND(i,j) is calculated in block  130  by Equation 4, incorporating texture and contrast masking consideration, which then followed by calculating the packet loss incurred perceptual (visible or vis.) distortion D P   ind (i,j) in block  135  using Equation 5. In block  130 , to calculate cont_thresh(i,j), one should refer to  FIG. 3  and use mean_luma(i,j) for the background luminance. The results from the decision block  150  fed into block  156  and from there, the perceptual pooling for the whole frame in block  160  is calculated using Equation 7 which results in the perceptual distortion of the frame in block  165 . 
       I. Edge Detection 
       [0038]    Edge information is very important in the research of image/video understanding and quality assessment. First, the HVS is more sensitive to contrast than absolute signal strength, and discontinuity of image in the presence of packet loss may be the clue for humans to tell the errors. Therefore, the edge and contour information may be the most important information for evaluating image quality in the scenario of packet loss. In addition, the density of strong edges can be considered as an indication of the texture richness or activity level of images and videos, which is closely related to another very important HVS property, spatial masking effect. 
         [0039]    Extraction of edge information can be performed using an edge detection method. In one implementation, the popular Laplacian of Gausian (LoG) method may be used with the threshold set to 2.5, which renders relatively strong edges in reference frames. 
       II. Locations of Distortions 
       [0040]    Some of the most widely accepted methods of calculating the distortions between reference and test video frames are, MAE, MSE or PSNR, which can be calculated mathematically as follows: 
         [0000]    
       
         
           
             
               
                 
                   MAE 
                   = 
                   
                     
                       1 
                       XY 
                     
                      
                     
                       
                         ∑ 
                         
                           x 
                           = 
                           1 
                         
                         X 
                       
                        
                       
                         
                           ∑ 
                           
                             y 
                             = 
                             1 
                           
                           Y 
                         
                          
                         
                            
                           
                             
                               o 
                                
                               
                                 ( 
                                 
                                   x 
                                   , 
                                   y 
                                   , 
                                   
                                     t 
                                     n 
                                   
                                 
                                 ) 
                               
                             
                             - 
                             
                               d 
                                
                               
                                 ( 
                                 
                                   x 
                                   , 
                                   y 
                                   , 
                                   
                                     t 
                                     n 
                                   
                                 
                                 ) 
                               
                             
                           
                            
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   MSE 
                   = 
                   
                     
                       1 
                       XY 
                     
                      
                     
                       
                         ∑ 
                         
                           x 
                           = 
                           1 
                         
                         X 
                       
                        
                       
                         
                           ∑ 
                           
                             y 
                             = 
                             1 
                           
                           Y 
                         
                          
                         
                           
                             ( 
                             
                               
                                 o 
                                  
                                 
                                   ( 
                                   
                                     x 
                                     , 
                                     y 
                                     , 
                                     
                                       t 
                                       n 
                                     
                                   
                                   ) 
                                 
                               
                               - 
                               
                                 d 
                                  
                                 
                                   ( 
                                   
                                     x 
                                     , 
                                     y 
                                     , 
                                     
                                       t 
                                       n 
                                     
                                   
                                   ) 
                                 
                               
                             
                             ) 
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
             
               
                 
                   PSNR 
                   = 
                   
                     10 
                      
                     log 
                      
                     
                       
                         A 
                         2 
                       
                       MSE 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0041]    The variables o(x, y, t n ) and d(x, y, t n ) denote the original (i.e. reference frame in block  100 ) and the processed video image (i.e. processed frame in block  105 ) pixels at position (x,y) in frame t n , variable A represents the maximum grey level of the image (for example, for an 8-bit representation), and the X and Y variables denote the frame dimensions. 
         [0042]    If only a small area of an image is considered, MAE and MSE can generally be modified to local MAE and MSE, which evaluates local distortion of a test image. The evaluation can be performed using, for example, only luminance components for the sake of efficiency, because luminance typically plays a much more significant role than chrominance in visual quality perception. 
         [0043]    The artifacts of lossy coding, such as H.264 coding, are typically caused by uniform quantization of prediction errors of motion estimation between video frames. Because of a very powerful deblocking filter in the decoder, the dominant visual distortion is typically blurring, which can be perceived on the edge of objects or relatively smooth areas of an image. In addition, such artifacts typically perceptually degrade the quality of frames globally. 
         [0044]    While the loss of one or more packets in a frame can degrade video quality, the more problematic situation is typically the propagation of errors to dependent frames. The main quality degradations in those frames are typically local image chaos or some small pieces of image located at wrong positions, especially around the edges of objects with motion. It can be hard to process the two kinds of distortions using a single uniform algorithm. The present invention addresses such a situation, in various implementations, by treating the two kinds of distortions differently. 
         [0045]    According to the calculation of local MAE, usually propagated errors will produce much higher distortion than coding artifacts in the distorted area. Therefore, we have determined that a proper selection of a threshold for local MAE can be used to differentiate the two distortions. 
         [0046]    In at least one implementation, of the present invention, the whole reference and test frames are first divided into 8×8 blocks, and the original distortion denoted as D o (i,j) in Equations 5 and 6 and  FIG. 4  is calculated for the block, which in the preferred embodiment is calculated as MAE as defined in Equation (1). The threshold in decision block  150  is set to 10 for the preferred MAE distortion, so that the block with distortion more than or equal to 10 is considered as propagated error areas, and those blocks with distortion below 10 are considered to be areas having coding artifacts, such as a blurred area. 
         [0047]    Because coding artifacts are typically dependent on the quantization parameter (QP) of an encoder, the threshold can be adaptively changed in various implementations, of the present invention. Therefore, some adaptive methods can be developed for this purpose. 
         [0048]    In various implementations, the QP ranges from 30 to 38, and since local MAE of propagated errors is generally much higher than that of coding artifacts, threshold selection can be performed. Another reason for this threshold being selected is that the minimum threshold of contrast (or luminance) masking utilized in the later processing of various implementations (described further below) is also 10, and local distortion below 10 pixel values will be masked out by the combination effect of contrast and texture maskings. 
         [0049]    Other method for measuring the similarity between images can be used in this step, such as SSIM. For some implementations of the quality metrics, the threshold selecting can be avoided. 
       III. Perceptual Distortion Calculation 
       [0050]    At least one reason why MAE is not typically a good method for assessing perceptual video quality is that it treats each image pixel equally, without considering any HVS characteristics. Therefore, at least one implementation takes advantage of texture and contrast maskings to improve its performance. 
         [0051]    Contrast masking, or luminance masking, is the effect that, for digital images, the HVS finds it hard to tell the luminance difference between a test and its neighborhood in either very dark or white regions, which means the visibility threshold in those regions is high. A piece-wise linear approximation for this fact is thus determined as the visibility threshold due to background luminance adaptation, as shown in  FIG. 3 .  FIG. 3  represents experimental data wherein the vertical axis  10  is the visibility threshold (cont threshold of Equation 6), horizontal axis  20  is the background luminance, and the solid line  30  is the visibility threshold as a function of background luminance. 
         [0052]    Texture masking is the effect that some image information is not visible or noticeable to the HVS, because of its highly textual neighborhood. Specifically, some distortion can be masked out if it is located in this textural area, so that perceptual quality does not degrade much. The texture degree can be quantified based on image statistics information, such as standard deviation and 2D autocorrelation matrix. However, in various implementations, the proposed method uses the density of edges to indicate the richness of textures in a local image area, and this has a good trade-off between performance and computation complexity. 
       III.1 Perceptual Distortion of Propagated Errors 
       [0053]    Propagated errors are usually some distorted image regions or small image pieces located at wrong positions. Because of the local visual effect of this kind of errors, they can be affected by both contrast and texture masking effects jointly. In other words, the local distortion caused by propagated errors can be noticed. For example, if the errors are above the visibility threshold of the combined masking effects. Otherwise, the distortion cannot be seen. Just-Noticeable-Distortion (JND) means that amount of distortion that can be just seen by the HVS. 
         [0054]    In order to calculate a JND profile of each block in a reference frame, we propose a block-based JND algorithm shown in  FIG. 4  that, for each 8×8 block position, models the block&#39;s visibility threshold of total masking (JND) effects as: 
         [0000]      Thresh visibility=JND=max( b *den_edge, cont_thresh)  (4)
 
         [0055]    The variable den_edge is the average density of the 8 neighbor blocks in an edge map of a reference frame, and the cont_thresh variable is the visibility threshold generated only by the contrast masking effect, which is illustrated in  FIG. 3 . Numerical parameter b is a scaling parameter such that b*den_edge is the visibility threshold of only the texture masking effect. In one implementation, b is set to 500. However, b can be chosen, for example, to correlate subjective test results with the objective numeric score. For example, by appropriately choosing a value for b, the correlation between distortion values and subjective test results may be increased. 
         [0056]    Note that the proposed JND profile is block based, and by comparing this to the conventional pixel-based JND, the computation complexity is reduced significantly. Further, a block-based approach is particularly suitable in the situation where the propagated errors are clustered locally, rather than spreading out, because the neighborhood for a pixel-based JND is typically too small and may be entirely distorted by propagated errors. 
         [0057]    From this JND profile, the distortion of a block can be normalized and converted into JND units. Therefore, the total perceptual distortion caused by propagated errors follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       D 
                       P 
                       jnd 
                     
                      
                     
                       ( 
                       
                         i 
                         , 
                         j 
                       
                       ) 
                     
                   
                   = 
                   
                     max 
                      
                     
                       ( 
                       
                         
                           
                             
                               
                                 D 
                                 O 
                               
                                
                               
                                 ( 
                                 
                                   i 
                                   , 
                                   j 
                                 
                                 ) 
                               
                             
                             
                               JND 
                                
                               
                                 ( 
                                 
                                   i 
                                   , 
                                   j 
                                 
                                 ) 
                               
                             
                           
                           - 
                           1 
                         
                         , 
                         0 
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0058]    Here an 8×8 block(i,j) is identified as a packet loss affected block. D o (i,j) represents its original distortion between the original reference frame and the processed frame. In the preferred embodiment, it is calculated as MAE as defined in Equation 1. D o   jnd (i,j) is the JND converted perceptual distortion of the block. JND(i,j) is calculated via Equation 4. 
         [0059]    A summary of the process of calculating perceptual distortions caused by propagated errors is as follows: 
         [0060]    1. Conduct edge detection based on the original reference frame. Based on the resultant per-pixel binary edge map, calculate edge density for each 8×8 block as described above for Equation 4. 
         [0061]    2. Calculate the difference between the reference and processed frames, and select 8×8 blocks with the difference larger than threshold in block  150  (in the implementation 10) as packet loss affected blocks. Otherwise, the block is identified as a source coding affected block. 
         [0062]    3. For a packet loss affected block, calculate the visibility thresholds of contrast masking and texture masking, and then the overall JND threshold as defined in Equation 4. 
         [0063]    4. For a packet loss affected block, calculate its perceptual distortion as defined in Equation 5. 
       III.2 Perceptual Distortion of Coding Artifacts 
       [0064]    Although the perceptual video quality degradation is mainly due to propagated errors caused by packet losses when video is encoded with lower QP, the visual impact of coding artifacts increases as QP increases. Therefore, we count those distortions into the total distortion of the whole frame. However, because of the globality of coding artifacts, the approach of using neighbors to mask the center distortion can become problematic, since the neighbors are also typically distorted by similar artifacts. 
         [0065]    Through intensive subjective experiments, it has been determined that this distortion caused by coding artifacts tends to “spread” over the smooth area, and cause more perceptual distortion, but this trend seems to be “stopped” or “relieved” in strong edge areas. Thus, we propose another texture masking method, based on edge information to calculate the perceptual distortion of coding artifacts. The scheme is based on the finding that the blocks with more edges suffer from less distortion, and for the blocks with fewer edges, the distortion will be bigger. This relation between edge density and its perceptual coding distortion can be modeled as follows: 
         [0000]        D   C   jnd ( i,j )= D   O ( i,j )·(1−den_edge)  (6)
 
         [0000]    Here, an 8×8 block (i,j) is identified as a source-coding affected block. D O (i,j) represents its original distortion between the original reference frame and the processed frame. In the preferred embodiment, it is calculated as MAE as defined in Equation (1). D C   jnd (i,j) is the perceptual distortion of the block. 
         [0066]    Note that distortion scaling factor (1−den_edge) in Equation (6) is a simplified version of a scaling factor, yet it works well in many implementations. To obtain a higher correlation between the calculated and actual perceptual distortions, other implementations treat different image areas, such as plain, edge, or texture areas, differently according to the HVS properties. 
       IV. Distortions Pooling 
       [0067]    As stated above, the video quality degradation can be caused by the joint effect of coding artifacts and propagated errors. In addition, as described above, we can determine the perceptual quality degradation of these different distortions separately. Various implementations use a distortions pooling or weighting to produce a final single quality indicator for the entire video frame. One such pooling/weighting follows: 
         [0000]        D   C   jnd ( i,j )= D   O ( i,j )·(1−den_edge)  (6)
 
         [0000]    Here A and B represent the set of all 8×8 blocks identified as packet loss affected or source-coding affected, respectively. PD is the total perceptual distortion of the entire processed frame, and the parameter w is the weighting factor between the two kinds of distortions. Actually, w can also be a function of the quantization parameter (QP) of the encoder. Implementations that have sufficient QP samples can predict a relation between w and QP. Other implementations simply set w to a value, such as, for example, 0.125 and 0.25 for two QP respectively. Other forms of Equation (9) will be readily apparent to one of ordinary skill in the art. 
         [0068]    Based on the total perceptual distortion calculated above, the objective estimated quality scores correlate fairly well with subjective video quality ratings, with Pearson correlation −0.9084, while the correlation between conventional AME and subjective scores is 0.4395, which suggests the success of the metric proposed in various implementations described in this disclosure. 
         [0069]    The present invention discloses one or more implementations having particular features and aspects. However, features and aspects of described implementations may also be adapted for other implementations. For example, the described methods can be varied in different implementations in several ways. Some of these ways include, for example, applying these concepts to systems in which partial frames are lost, or more than 2 frames in a GOP are lost, or discontinuous frames in a GOP are lost. Although implementations described herein may be described in a particular context, such descriptions should in no way be taken as limiting the features and concepts to such implementations or contexts. For instance, in one implementation, both the distortions caused by lossy coding and packet losses are pooled. 
         [0070]    The implementations described herein may be implemented in, for example, a method or process, an apparatus, or a software program. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation or features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus such as, for example, a computer or other processing device. Additionally, the methods may be implemented by instructions being performed by a processing device or other apparatus, and such instructions may be stored on a computer readable medium such as, for example, a CD, or other computer readable storage device, or an integrated circuit. Further, a computer readable medium may store the data values produced by an implementation. 
         [0071]    As should be evident to one of skill in the art, implementations may also produce a signal formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. 
         [0072]    Additionally, many implementations may be used in one or more of an encoder, a pre-processor to an encoder, a decoder, or a post-processor to a decoder. One or more of the described methods may be used, for example, in an RD calculation to inform an encoding decision, or to monitor quality of received image data. 
         [0073]    In one implementation, a full-reference method for assessing perceptual quality of decoded video, which evaluates the quality of error-propagated frames caused by packet losses, where coding artifacts and distortion of error propagation caused by packet losses are separately evaluated with different spatial masking schemes. 
         [0074]    In another implementation, the present invention includes a method to model block-based Just-Noticeable-Distortion that combines both texture masking effect and contrast masking effect for distortion caused by packet loss, where edge density in neighbor blocks is used to calculate the texture masking threshold for distortion caused by packet loss. Further, the edge density in a block may be used to calculate the texture masking threshold for source coding artifacts by H.264. 
         [0075]    In another implementation, measurement of the quality of a digital image or a sequence of digital images includes a method that measures distortion associated with packet loss, or method that distinguishes between distortion attributed to packet loss and distortion attributed to coding artifacts. A threshold is applied to a result of the distortion in order to classify the result as being associated with packet loss or coding artifacts, or the distortion attributed to packet loss and the distortion attributed to coding artifacts may be combined to provide a total distortion value for the digital image or sequence of digital images. 
         [0076]    In any of the above implementations, one or more masks may be used to adjust distortion values, specifically one or more of a texture mask and a contrast mask may be used. A JND may be determined using at least one of the one or more masks, and a measure of edge intensity is used to determine a texture mask and a piecewise continuous function of pixel-intensity is used to determine a contrast mask. 
         [0077]    In an implementation, a method for assessing perceptual quality of a digital image or a sequence of digital images is provided, which measures distortion associated with one or more error propagations arising from error concealment after packet loss and coding artifacts. A threshold is applied to a result of measured distortion in order to classify the result as being associated with packet loss or coding artifacts. The distortion attributed to packet loss and the distortion attributed to coding artifacts may be combined to provide a total distortion value for the digital image or sequence of digital images. One or more masks are used to adjust distortion values, wherein one or more masks including a texture mask and a contrast mask. A JND is determined based on at least one of the one or more masks. Further, a measure of edge intensity is used to determine a texture mask, and a piecewise continuous function of pixel-intensity is used to determine a contrast mask. 
         [0078]    Creating, assembling, storing, transmitting, receiving, and/or processing a measure of distortion according to one or more implementations described in this disclosure. 
         [0079]    According to the invention, a device (such as, for example, an encoder, a decoder, a pre-processor, or a post-processor) has been considered that is capable of operating according to, or in communication with, one of the described implementations. Further, another device (such as, for example, a computer readable medium) is considered, which is used for storing a measure of distortion according to an implementation described in this disclosure, or for storing a set of instructions for measuring distortion according to one or more of the implementations described in this disclosure. 
         [0080]    Additionally, and according to the present invention, a signal is considered that is formatted in such a way to include information relating to a measure of distortion described in this disclosure. The signal may be an electromagnetic wave or a baseband signal. 
         [0081]    The foregoing illustrates some of the possibilities for practicing the invention. Many other implementations are possible within the scope and spirit of the invention. It is, therefore, intended that the foregoing description be regarded as illustrative rather than limiting, and that the scope of the invention is given by the appended claims together with their full range of equivalents. Additional implementations may be created by combining, deleting, modifying, or supplementing various features of the disclosed implementations. Further, the invention includes the application of the methods, evaluations, or calculations disclosed above to video to reduce distortion, correct the video sequences, or otherwise improve video.