Abstract:
Embodiments of the invention include a method for detecting visual stress scenes in a video. First, a video that includes scenes that may cause visual stress in some viewers is received. Then, a signal representing human perceptual response from scenes in the video is generated. An envelope follower is applied to the perceptual response, from which indications that the video contains visual stress scenes may be generated. The output may also be used to control a contrast limiting circuit, which modifies the original video to remove or minimize those scenes that may cause visual stress. Additionally, output from the envelope follower may be converted to a simulated EEG signal and used to verify accurate modeling by comparing the simulated EEG signal to one measured directly from a viewer watching the same video.

Description:
FIELD OF THE INVENTION 
       [0001]    This disclosure is directed toward video analysis systems, and, more particularly, to a system and method that accurately detects visual stress and photosensitive epilepsy triggers in video, and a device that mitigates such triggers. 
       BACKGROUND 
       [0002]    Epilepsy is a neurologic disorder that causes those afflicted to have seizures. Sometimes external stimuli trigger the seizures. For example, those with photosensitive epilepsy (PSE) have an increased likelihood of experiencing a seizure when exposed to pulsating light or patterns that include strong contrast of light and dark areas. Even if not seizure inducing, pulsating, flashing, or high contrast images may cause visual discomfort to viewers of video, such as broadcast on television or shown in movie theaters. The flashing images may be due to video content and/or effects of video processing. Some countries require that broadcast video be pre-screened for such PSE triggers. The current requirements dictate that video be checked for flashing and checkerboard or bar type patterns with more than 20 nit differences over more than one quarter of the screen. Although an International Telecommunication Union (ITU) standard includes for checking of flashing, there is no detection method outlined other than suggesting a manual approach: viewers watch video using ITU-R BT. 500 specified home viewing conditions and determine if the video seems to have flashes, etc. Nor are the guidelines inclusive of all PSE triggers. 
         [0003]    One marketed product, Cambridge Research Systems&#39; Harding Flash and Pattern Analyzer claims to screen for triggers following the guidelines, which means it likely searches video for temporal (flash) or spatial (bar or checkerboard) pattern detection. 
         [0004]    No current systems, however, analyze video images and produce quantitative indications, predictions, alarms, and causes of visual discomfort. Further, there is no device that actively detects video having scenes that could possibly trigger PSE seizures, and actively mitigates such scenes. 
         [0005]    Embodiments of the invention address this and other limitations of the prior art. 
       SUMMARY OF THE INVENTION 
       [0006]    A scalable (over image resolution, frame rate, real-time vs. higher accuracy, etc.) method provides quantitative indications, predictions, alarms and causes of visual discomfort. These methods may be used to implement the existing United Kingdom, Japanese, ITU and other broadcasting guidelines, as well as a significant superset of PSE trigger video stimuli not directly covered by these guidelines. It quantifies the degree of likely visual discomfort while allowing for variations in the population regarding photosensitivity. Further, it accounts for differences in stimuli due to different displays and viewing conditions, such as those home viewing screens as well as cinematic, PDA and other common ways video may be viewed. 
         [0007]    Particular embodiments of the invention are directed to a method for detecting visual stress scenes in a video, including receiving a video including scenes that may cause visual stress in some viewers and generating a signal representing human perceptual response from scenes in the video. Next, an envelope follower is applied to the perceptual response signal, and an indication that the video contains visual stress scenes is generated based on the output of the envelope follower. Other embodiments include actively reducing contrast of the input video based on the measured likelihood that the particular scene may cause visual stress to some users. Further, output of the envelope follower may be converted into a simulated EEG signal and compared to actual measured EEG signals from viewers who watched the same video, to verify the accuracy of the visual stress detector. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]      FIG. 1  is a functional block diagram of a picture/video quality analyzer having a visual stress detection system. 
           [0009]      FIG. 2  is a functional block diagram of a human vision model including the triggering mechanism and region of the brain thought to be responsible for PSE seizures. 
           [0010]      FIG. 3  is a functional block diagram of portions of a quality analyzer including visual stress detection and measurement system according to embodiments of the invention. 
           [0011]      FIG. 4  is a functional block diagram of portions of another quality analyzer including visual stress detection and measurement system according to embodiments of the invention. 
           [0012]      FIG. 5  is a graph of output from an envelope follower, used as a portion of the visual stress detection circuit of  FIGS. 3 and 4  according to embodiments of the invention. 
           [0013]      FIG. 6  is a graph that illustrates a response of both the envelope follower as well as an output of the thalamocortical loop simulation block of  FIGS. 3 and 4  according to embodiments of the invention. 
           [0014]      FIGS. 7A ,  7 B,  7 C,  7 D,  7 E,  7 F, and  7 G illustrate a series of simulated EEG signals, generated using embodiments of the invention. 
           [0015]      FIGS. 8 and 9  are graphs that illustrate responses, both actually measured and simulated by embodiments of the invention, of the proportion of photosensitive patients showing a photoconvulsive EEG response under certain conditions. 
           [0016]      FIGS. 10 and 11  are graphs that illustrate response, both actually measured and simulated by embodiments of the invention, of the proportion of photosensitive patients showing a photoconvulsive EEG response under other conditions. 
           [0017]      FIG. 12  is a functional block diagram of an example system that uses embodiments of the invention to actively mitigate visual stress areas of video streams. 
       
    
    
     DETAILED DESCRIPTION 
       [0018]      FIG. 1  is a functional block diagram of a picture/video quality analyzer having a visual stress detection system according to embodiments of the invention. A picture quality analyzer  100  accepts as input either pictures or a stream of pictures in video form. In this disclosure the analyzer  100  is referred to as a picture quality analyzer, or just an analyzer, whether it is accepting video or still images. An early visual perceptual response block  110  processes the input video through early visual perception, such as spatiotemporal filtering before splitting the processed video into two paths. A measuring block  120  then analyzes the video and generates quantitative and qualitative measures, portions or all of which may be sent out of the analyzer  100  as data, or may be used internally. A visual stress detection module  130  analyzes the pre-processed video for scenes or patterns that may potentially cause visual stress, such as discomfort for the user, or may potentially act as a trigger for a seizure of one afflicted with photosensitive epilepsy (PSE). For brevity, in this disclosure, all scenes that may cause visual stress are referred to as PSE triggers, regardless of whether the visual stress is severe enough or has enough duration to cause a seizure to occur. 
         [0019]      FIG. 2  is a functional block diagram of human vision input and its resultant brain response areas that are material for this disclosure. Thalamocortical radiations  212  are fibers that connect the thalamus and the cerebral cortex in the brain, while the thalamocortical loop  216  is an ensemble of functional loops, each consisting of cortical, reticular and thalamocortical neurons. Cortical stimulation causes a sequence of spindle waves in the reticular cell and a series of spikes in the thalamocortical cell. The thalamocortical loops control the propagation of sensory information and are involved in the production of sleep spindles and absence seizures. Brain output may be monitored and evaluated using an EEG (Electroencephalogram). 
         [0020]      FIGS. 3 and 4  are a functional block diagram of portions of a quality analyzer including visual stress detection according to embodiments of the invention. In  FIG. 3 , an existing quality analyzer  320  may provide the functions of display modeling  322 , viewing environment  324 , and early visual perceptual response  312 . Description of these functions may be found, for instance, in U.S. Pat. No. 6,975,776, entitled Predicting Human Vision Perception and Perceptual Difference. These functions include spatiotemporal pooling, giving a scalar value representing the perceptual contrast per temporal sample (i.e. an overall perceptual contrast value per video frame). The output of the early visual perceptual response  312  is very accurate, and follows the human visual perceptual response very closely. Because of the display model  322  and viewing environment  324 , the perceptual response accounts for different color response of the output display, as well as display characteristics and the viewing environment in which the display is being viewed. This precision, however, of using an adaptive, non-linear filter for the visual perceptual response block  312  comes at a relatively high computing cost. Instead, in  FIG. 4 , the early visual perceptual response  312  block may be replaced for purposes of this invention by a series of spatial and temporal filters. For example, a normalized spatiotemporal bandpass filter  412  of  FIG. 4  may include separate three dimensional filters for center and surround areas, each a cascade of spatial and temporal filters. In the following case (showing temporal filtering only), consider the spatial filter output was the input to the temporal filter. Then, for each pixel in a video frame, the temporal filter can be applied as follows (n is the index representing temporal sample or frame number in this example): 
         [0000]    
       
         
           
             
               
                 
                   
                     K 
                      
                     
                         
                     
                      
                     1 
                   
                   = 
                   0 
                 
               
               
                 
                   
                     b 
                      
                     
                         
                     
                      
                     0 
                      
                     min 
                   
                   = 
                   0.4096 
                 
               
               
                 
                   
                     b 
                      
                     
                         
                     
                      
                     0 
                      
                     
                         
                     
                      
                     
                       c 
                        
                       min 
                     
                   
                   = 
                   1 
                 
               
               
                 
                   
                     surLum 
                     0 
                   
                   = 
                   0 
                 
               
               
                 
                   
                     centLum 
                     0 
                   
                   = 
                   0 
                 
               
             
           
         
       
       
         
           
             
               ( 
               
                 
                   
                       
                 
                 
                   
                       
                 
                 
                   
                       
                 
                 
                   
                       
                 
               
               ) 
             
             := 
             
               [ 
               
                 
                   
                     
                       clip 
                       ( 
                       
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             K 
                           
                            
                           
                               
                           
                            
                           1 
                         
                         + 
                         
                           b 
                            
                           
                               
                           
                            
                           0 
                            
                           min 
                         
                       
                       ) 
                     
                   
                 
                 
                   
                     
                       clip2 
                       ( 
                       
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             K 
                           
                            
                           
                               
                           
                            
                           1 
                            
                           c 
                         
                         + 
                         
                           b 
                            
                           
                               
                           
                            
                           0 
                            
                           
                               
                           
                            
                           
                             c 
                              
                             min 
                           
                         
                       
                       ) 
                     
                   
                 
                 
                   
                     
                       
                         reset 
                         n 
                       
                       · 
                       
                         [ 
                         
                           
                             
                               centLum 
                               n 
                             
                             · 
                             
                               ( 
                               
                                 1 
                                 - 
                                 
                                   b 
                                    
                                   
                                       
                                   
                                    
                                   0 
                                    
                                   
                                     c 
                                     n 
                                   
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             
                               
                                 input 
                                 n 
                               
                               · 
                               b 
                             
                              
                             
                                 
                             
                              
                             0 
                              
                             
                                 
                             
                              
                             
                               c 
                               n 
                             
                           
                         
                         ] 
                       
                     
                   
                 
                 
                   
                     
                       
                         reset 
                         n 
                       
                       · 
                       
                         [ 
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             
                               ( 
                               
                                 1 
                                 - 
                                 
                                   b 
                                    
                                   
                                       
                                   
                                    
                                   
                                     0 
                                     n 
                                   
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             
                               
                                 input 
                                 n 
                               
                               · 
                               b 
                             
                              
                             
                                 
                             
                              
                             
                               0 
                               n 
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               ] 
             
           
         
       
       
         
           
             
               
                 
                   
                     centLum 
                      
                     
                         
                     
                      
                     
                       1 
                       n 
                     
                   
                   := 
                   
                     centLum 
                     n 
                   
                 
               
               
                 
                   
                     surLum 
                      
                     
                         
                     
                      
                     
                       1 
                       n 
                     
                   
                   := 
                   
                     surLum 
                     n 
                   
                 
               
             
           
         
       
       
         
           
             
               ( 
               
                 
                   
                       
                 
                 
                   
                       
                 
                 
                   
                       
                 
                 
                   
                       
                 
               
               ) 
             
             := 
             
               [ 
               
                 
                   
                     
                       clip 
                       ( 
                       
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             K 
                           
                            
                           
                               
                           
                            
                           1 
                         
                         + 
                         
                           b 
                            
                           
                               
                           
                            
                           0 
                            
                           min 
                         
                       
                       ) 
                     
                   
                 
                 
                   
                     
                       clip2 
                       ( 
                       
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             K 
                           
                            
                           
                               
                           
                            
                           1 
                            
                           c 
                         
                         + 
                         
                           b 
                            
                           
                               
                           
                            
                           0 
                            
                           
                               
                           
                            
                           
                             c 
                              
                             min 
                           
                         
                       
                       ) 
                     
                   
                 
                 
                   
                     
                       
                         reset 
                         n 
                       
                       · 
                       
                         [ 
                         
                           
                             
                               centLum 
                               n 
                             
                             · 
                             
                               ( 
                               
                                 1 
                                 - 
                                 
                                   b 
                                    
                                   
                                       
                                   
                                    
                                   0 
                                    
                                   
                                     c 
                                     n 
                                   
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             centLum 
                              
                             
                                 
                             
                              
                             
                               
                                 1 
                                 n 
                               
                               · 
                               b 
                             
                              
                             
                                 
                             
                              
                             0 
                              
                             
                                 
                             
                              
                             
                               c 
                               n 
                             
                           
                         
                         ] 
                       
                     
                   
                 
                 
                   
                     
                       
                         reset 
                         n 
                       
                       · 
                       
                         [ 
                         
                           
                             
                               surLum 
                               n 
                             
                             · 
                             
                               ( 
                               
                                 1 
                                 - 
                                 
                                   b 
                                    
                                   
                                       
                                   
                                    
                                   
                                     0 
                                     n 
                                   
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             surLum 
                              
                             
                                 
                             
                              
                             
                               
                                 1 
                                 n 
                               
                               · 
                               b 
                             
                              
                             
                                 
                             
                              
                             
                               0 
                               n 
                             
                           
                         
                         ] 
                       
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0021]    This is a form close to the temporal portion of the spatiotemporal filter method described in U.S. Pat. No. 6,907,143, techniques of which may be used for the above-described filters. Note that since b0cmin=1, the temporal center filter is transparent and may be removed for this sample rate. This is an optimization step that does not exactly match the response of the corresponding anatomical portion of the human vision system, but the envelope follower portion, described below, has a low-pass response which compensates for this. Also, b0cmin is further justified (as well as the K1 =0 setting) because for the light stimulus we are interested in detecting for PSE triggers, generally the spatiotemporal contrast is large and the peak luminance is usually large enough to cause the surLum[n]*K1 term to be large enough to cause the b0[n] values to clip at unity. 
         [0022]    The spatial processing may be performed by techniques disclosed in the &#39;143 patent referenced above, again simplified due to surLum[n]*K1 being max during the peaks. Together these simplifications allow for much for streamlined, faster spatiotemporal filtering. 
         [0023]    Then the filtered difference is 
         [0000]      diffLum:=centLum−surLum
 
         [0024]    The perceptual contrast as a function of the center, surround and difference for high contrast video is approximated with the following simplified model: 
         [0000]    
       
         
           
             
               pcdiff 
               n 
             
             := 
             
               
                 
                   diffLum 
                   n 
                 
                 · 
                 100 
               
               
                 
                   
                     baseLum 
                     2 
                   
                   + 
                   
                      
                     
                       surLum 
                       n 
                     
                      
                   
                   + 
                   
                     
                        
                       
                         centLum 
                         n 
                       
                        
                     
                     · 
                     1 
                   
                   + 
                   
                     10 
                     2 
                   
                 
               
             
           
         
       
     
         [0025]    This pcdiff[n] output from the normalized spatiotemporal bandpass block  412  of  FIG. 4  corresponds to output of the perceptual response  312  of  FIG. 4 , perceptual contrast response per frame. Any of the outputs of the blocks of  FIGS. 3 and 4 , or data derived from them, may be output from the quality analyzer including visual stress indication as a quantitative indication, prediction, alarm, and cause of visual discomfort of the input video. 
         [0026]    Referring back to  FIGS. 3 and 4 , for purposes of visual stress and PSE trigger detection, embodiments of the invention model the thalamocortical radiations  212  of  FIG. 2  with an envelope follower circuit  314  as described in detail with reference to  FIG. 5  below. In addition, a thalamocortical loop simulation block  316 ,  416 , also described below, is a verification simulation that generates output that may be compared to EEG data from those known to be experiencing visual stress. Matching the output from the thalamocortical loop simulation block  316 ,  416  against such EEG data validates that the envelope follower  314 ,  414  accurately models the stimuli to onset (attack), duration and decay of paroxysmal brain responses of those who experience PSE triggers. 
         [0027]    An example envelope follower  314 ,  414 , for an example temporal sample rate of 4×29.97=119.88 Samples/sec, having attack and decay parameters as given below: 
         [0000]    
       
                 
         
             
             
         
       
     
         [0028]      FIG. 5  is a graph of output from an envelope follower, such as the envelope follower  414  of  FIGS. 4 and 314  of  FIG. 3 . In  FIG. 5 , an example input signal pulse train of alternating positive and negative, representing the normalized early perception output  412  of  FIG. 4 , was provide for approximately 2 seconds. An envelope follower output rises exponentially in response to the input. Then, after the input signal stops modulating, at approximately 2 seconds, the envelope follower slowly decays, as illustrated in  FIG. 5 . Also, an amplified envelope follower output is shown, which follows the same output as the envelope follower, but has higher gain. 
         [0029]    As mentioned above, the thalamocortical loop simulation blocks  316 ,  416  of  FIGS. 3 and 4  create a signal that models EEG signals, which are used for verifying that the envelope follower  314 ,  414  produces accurate results, despite the seeming simplicity of using such a simple model for the thalamocortical loop. The following model formulae are used for simulating EEG. This simple model includes a noise term to be more complete, but is not required for our purposes of verification, so is set to 0 here.  FIGS. 6-11  together show how this model accounts for EEG simulation. 
         [0000]    
       
                 
         
             
             
         
       
     
         [0030]    Where f( ) for this particular case is: 
         [0000]        f[n]=G 1 *f[n -delay]*(1 −G 2 *f ( n -Delay)), where       G1=(Visual cortex gain)*(Thalamocortical gain)   G2=Thalamic reticular gain   Delay=Thalamocortical loop delay         
         [0034]    Or, equivalently, 
         [0000]        f[n +delay]= G 1 *f[n ]*(1 −G 2 *f[n ]) 
         [0035]    For delay normalized to 1: 
         [0000]        f[n+ 1 ]=G 1 *f[n ]*(1 −G 2 *f[n ]) 
         [0036]    And for G2*f[n] substituted with x[n] 
         [0000]        x[n+ 1 ]/G 2=( G 1 *x[n]/G 2)*(1 −x[n ]) 
         [0037]    multiplying both sides by G2: 
         [0000]        x[n+ 1 ]=G 1 *x[n ]*(1 −x[n ]) 
         [0038]    Also, for this EEG simulation, the clip functions may be implemented as 
         [0000]      clip ( x )=if( x&gt; 1,1, if( x&lt; 0,0 ,x )). 
         [0039]    Output from this formula is illustrated in  FIG. 6 , which is a graph that illustrates a response of both the envelope follower  314 ,  414 , as well as illustrates a portion of the thalamocortical loop simulation block  316 ,  416 . An impulse train represents and simulates a PSE trigger input, shown on the left-hand side of this graph. The “r” value near the top of the graph is the amplified envelope follower output with gain calibrated to result in the desired r value at two different sampling rates, a delay of  1  vs. delay of ˜21 samples. Their responses are nearly identical and look superimposed on  FIG. 6 . Simulated thalamocortical loop responses, which are outputs of the thalamocortical loop simulation block  316 ,  416  of  FIGS. 3 and 4 , respectively, are also illustrated, one for each from the different “r” values (envelope follower responses) that they use as input, respectively. 
         [0040]      FIGS. 7A-7G  illustrate a series of simulated EEG signals, generated as an ensemble of individual (3 cell) thalamocortical loops.  FIG. 7A  is output for a single loop, generated according to the EEG simulation equation given above.  FIGS. 7B ,  7 C,  7 D, and  7 E are similarly generated, except that the simulated EEG signals include multiple signals that are added together while introducing a delay. This models activity within the thalamocortical loops themselves, which include an amount of delay based on their biochemical makeup.  FIG. 7B  illustrates a simulated EEG signal based on output from two parallel loops, while  FIG. 7C  illustrates simulated EEG signal based on output from three loops.  FIG. 7D  illustrates four loops, while  FIG. 7E  illustrates ten loops.  FIG. 7F  simulates a very large ensemble of loops by using output from an IIR filter.  FIG. 7G  illustrates the simulated EEG output of  FIG. 7F  overlaid on an example paroxysmal EEG with the same stimulus timing, taken from literature, in order to check response timing. Note how well the simulated EEG produced with a large ensemble of loops accurately matches the actual measured EEG in  FIG. 7G . 
         [0041]      FIGS. 8-9  explain how embodiments of the invention are used to examine population sensitivities over temporal (flash) frequencies. In general,  FIGS. 8-9  show the percentage of population showing photoconvulsive (paroxysmal) response to flashing at various temporal frequencies, along with simulated responses generated using embodiments of the invention, such as described with reference to  FIGS. 3 and 4  above, which have been converted into probabilities according to the following set of equations: 
         [0000]    
       
         
           
             probPerPcDiffEnv 
             := 
             
               
                 
                   max 
                    
                   
                     ( 
                     
                       prob 
                        
                       
                           
                       
                        
                       271 
                     
                     ) 
                   
                 
                 · 
                 1.0 
               
               
                 maxPcDiffEnv 
                 p 
               
             
           
         
       
       
         
           
             
               prob 
                
               
                 ( 
                 
                   pcDiffEnv 
                   , 
                   p 
                 
                 ) 
               
             
             := 
             
               probPerPcDiffEnv 
               · 
               
                 
                   ( 
                   pcDiffEnv 
                   ) 
                 
                 p 
               
             
           
         
       
       
         
           
             
               predictedProb 
               test 
             
             := 
             
               prob 
                
               
                 { 
                 
                   
                     pcDiffEnv 
                     
                       peakOs 
                       test 
                     
                   
                   , 
                   p 
                 
                 } 
               
             
           
         
       
     
         [0042]    The value of max(prob271) is the maximum probability taken from the experimental data for a particular test number, shown in the corresponding figure, and the p (power) value, as illustrated in  FIGS. 8 and 9 , is  2 . Thus, probPerPcDiffEnv is a normalizing constant (a scalar value) that scales the pcDiffEnv output, after being raised to the pth power, such that the maxima of the predicted response and the measured response coincide. 
         [0043]      FIG. 8  illustrates responses, both actually measured and simulated by embodiments of the invention, of the proportion of photosensitive patients showing a photoconvulsive EEG response to intermittent light, expressed as a function of flash frequency from known studies. The stimulus was simulated using a 100% contrast temporal square wave, with a mean luminance of 1000 nits.  FIG. 9  is similar to  FIG. 8 , except that for  FIG. 8  data was taken for 170 patients (test  271 ), while data for only 16 patients (test  275 ) was used in creating the graph of  FIG. 9 . 
         [0044]    Recall from above that a portion of those with photosensitive triggers are sensitive not only to flashing images, but even to static images that contain high contrast. Embodiments of the invention may also be used to provide a prediction, measured in probability, of whether people identified with having a photoconvulsive (paroxysmal) response to patterns at various spatial frequencies will in fact have a response to a particular pattern. 
         [0045]      FIG. 10  illustrates responses, both actually measured and simulated by embodiments of the invention, of the proportion of photosensitive patients showing a photoconvulsive EEG response to high contrast light patterns. The stimulus to provoke the response illustrated in  FIG. 10  is a pattern of bars having a 75% contrast, with a mean luminance of  300  nits. Shown in  FIG. 10  are the measured responses as well as the response predicted by embodiments of the invention. Additionally illustrated in  FIG. 10  are maximum and minimum measured limits.  FIG. 11  is similar to that of  FIG. 10 , except the equivalent simulated stimulus is a 4 cpd square wave, with a mean luminance of 55 nits. 
         [0046]    Referring back to  FIGS. 3 and 4 , the thalamocortical loop simulation blocks  316 ,  416  are useful in determining that the envelope followers  314 ,  414  are accurately modeling the onset, duration, and decay of paroxysmal events in the brain when subjected to PSE triggers. The justification of the simplistic approximation of the thalamocortical loop, and thus the resulting accuracy of the prediction, is due to properties of unimodal maps, which are an example of nonlinear system theory. The unimodal map approach to simulating the thalamocortical loop is based on the hypothesis that the thalamocortical loop may be approximately modeled as a logistic map with a maximum function value modulated by the envelope of the spatiotemporal perceptual contrast response. Anatomical evidence along with a universal principal of unimodal maps together provide evidence supporting this hypothesis. 
         [0047]    Properties of Thalamocortical Loops:
       Thalamocortical Loop Delay: Single Neuron
           Mean firing response delay: ˜10.1 ms   Axon signal propagation delays:   Delay/length: 0.35-0.68 mm/ms   Average for thalamus to cortex ˜=70 mm   Average axon delay ˜=70*0.515=36.05 ms   
           Synaptic delay: ˜21.55 ms       
 
         [0055]    Thalamocortical Loop Delay: Cortical, Thalamocortical &amp; Reticular
       Cortical, Thalamocortical: Firing+Axon+Synaptic Delays:
           10.1+36+21.55 ˜=68 ms each   
           Reticular: Firing+˜Negligible Axon+Synaptic Delays:
           10.1+21.55 ˜=32 ms   
           Total Thalamocortical Loop Delay:
           68 ms+68 ms+32 ms=168 ms   
           Compare to reaction times to visual stimuli:
           190-268 ms   
               
 
         [0064]    The above properties may be used to assemble a unimodal map. 
         [0065]    Thalamocortical Loop Map: 
         [0000]        y[n]=G 1 *y[n -delay]*(1− G 2 *y ( n -Delay)), where
       G1=(Visual cortex gain)*(Thalamocortical gain)   G2=Thalamic reticular gain   Delay=Thalamocortical loop delay       
 
         [0069]    This model is a form of unimodal map. Thus, it conforms to the quantitative universality property of stability, period doubling and other behavioral characteristics of unimodal maps. 
         [0070]    Consider unimodal logistic map example: 
         [0000]        x[n+ 1 ]=f ( x[n ])= r*x[n ]*(1 −x[n ])       “Stable,” “fixed” outputs correspond to the intersection of         
         [0000]        x[n+ 1 ]=x[n]=f ( x[n ])       “Stable” oscillations &amp; “fixed” outputs correspond to the intersection of         
         [0000]        x[n +delay]= x[n]=f ̂delay( x[n ]),
 
         [0073]    where for delay=2, 
         [0000]        f̂ 2( x[n ])= f ( f ( x[n ]))= x ( n+ 2),  etc.    
         [0074]    Further, a cobweb analysis provides that if the “r” value, the output of the envelope followers  314 ,  414 , described above, is greater than or equal to three, then this indicates that a paroxysmal response is predicted. 
         [0075]    Next, the quantitative universality of the unimodal map period doubling says that the ratio of differences of successive r values (and corresponding x values determining relative AC amplitude) where frequency doubling takes place is approximately the same, regardless of the function f(x[n]), as long as f( ) is a unimodal map. Thus, because the model of the Thalamocortical Loop, described above, reflects the excitation and inhibition observed in the actual thalamocortical loop, both correspond to unimodal maps, and, therefore, these qualities exist similarly for both the given model and the actual neural network being modeled. 
         [0076]      FIG. 12  illustrates an example system that uses embodiments of the invention to actively mitigate visual stress areas of video streams. In other words, using this system, video may be processed such that it reduces the probability of causing visual stress and PSE triggers. With reference to  FIG. 12 , a limiter  710  receives a stream of video that may or may not include PSE triggers. A perceptual response for the video is determined in a block  712 , or as described above with reference to  FIG. 4 , a normalized spatiotemporal bandpass filter may be substituted. Additionally, the input video may be processed using color conversion and viewing environment processing as described above with reference to  FIGS. 3 and 4 . An envelope follower  714  generates an output signal from its input, as described above. However, differently than above, the envelope follower  714  produces its output signal for an active contrast limiter  718 , which also receives the incoming video. The active contrast limiter  718  may be internal or external to the limiter  710 . 
         [0077]    The contrast limiter  718  reduces contrast of the video input signal in relation to contrast of the input signal in relation to the maximum desired contrast, as follows: 
         [0000]      mitigated signal=centLum*contrastReduction+surLum 
         [0000]      where 
         [0000]      ContrastReduction=contrastLUT[desiredEnvelopeOutput]/contrastLUT[EnvelopeOutput]). 
         [0078]    In other words, the spatiotemporal contrast is reduced by a factor required to result in the desired envelope output which corresponds to the corresponding lower target probability for causing visual stress and PSE. 
         [0079]    A Michelson contrast is defined as:
       MaxLum−MinLum/MaxLum+MinLum, where MaxLum and MinLum represent the highest and the lowest luminance of the region of interest, respectively. The contrast reduction method described above reduces this Michelson contrast.       
 
         [0081]    An alternative to reducing contrast, rather than, as described above, reducing the gain of the dynamic portion of the signal, is to slowly reduce the gain over the entire video signal, then slowly raise the gain again after the PSE trigger scene has passed. Such reduction should be performed slowly, on the order of ½ second or longer, to prevent the entire video signal from quickly darkening, which itself may be a source of visual stress. 
         [0082]    Any of the contrast processing described above may be efficiently performed in embodiments with Look Up Tables (LUTs). 
         [0083]    In other embodiments, the detection method may be used to dynamically either mitigate or correct the video signal, as described above, or may work as an input to a later processing of the video in a camera, editing equipment, broadcast equipment, set top box, DVR, Personal Computer, or a display  720 , such as a consumer television, that reduces the effect of the PSE triggering scenes. 
         [0084]    In various embodiments, components of the invention may be implemented in hardware, software, or a combination of the two, and may comprise a general purpose microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like. 
         [0085]    It will be appreciated from the forgoing discussion that the present invention represents a significant advance in the field of video stress detection. Although specific embodiments of the invention have been illustrated and described for purposes of illustration, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.