Abstract:
A system for controlling volume comprising a perceptual loudness estimation unit for determining a perceived loudness of each of a plurality of frequency bands of a signal. A gain control unit for receiving the perceived loudness of one of the frequency bands of the signal and for adjusting a gain of the frequency band of the signal as a function of the perceived loudness of the frequency band.

Description:
RELATED APPLICATION 
       [0001]    This application claims priority to U.S. provisional application No. 60/964,930, filed Aug. 16, 2007, entitled “Audio Processing for Compressed Digital Television,” which is hereby incorporated by reference for all purposes. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The invention relates to volume control for broadcast signals. 
       BACKGROUND OF THE INVENTION 
       [0003]    Volume control is still a real issue within the broadcaster community. The viewer really does “change channels” if they become annoyed enough. The integration of “modern” high dynamic range content with (lower dynamic range) legacy content and loud blaring (high density) commercials is effectively “viewer repellant”. 
         [0004]    There is working metadata technology that takes this problem into consideration, however, there are metadata integration challenges between the content and the consumer as well as legacy content issues (pre-existing content that has no associated metadata). 
         [0005]    At one time SMPTE standardized −20 dBFS as the “operating level” for digital audio systems and established VU zero as −20dBFS to produce typical PPM peaks of about −10 dBFS for VU peaks of 0. There appeared to be difficulty maintaining this as a consensus so dialog normalization was made variable within a range from −31 dBFS to −1 dBFS. Although a dialnorm meter has become commercially available, proper dialnorm measurement requires choosing a suitable portion of dialog within the program and relies on the discretion of the operator while monitoring in a highly controlled environment. These measurements require a skilled operator with the time to perform a complete level assessment of every show, which is not possible in a broadcast environment. Only after all goes well and all of these conditions are met, dialnorm must then pass intact to all destination decoders. 
       SUMMARY OF THE INVENTION 
       [0006]    In accordance with the present invention, a system and method are provided for controlling volume of a broadcast signal. 
         [0007]    A system for controlling volume is provided. The system includes a perceptual loudness estimation unit for determining a perceived loudness of each of a plurality of frequency bands of a signal, such as by processing the signal using a psychoacoustic model of the human hearing mechanism. A gain control unit receives the perceived loudness of one of the frequency bands of the signal and adjusts a gain of the frequency band of the signal as a function of the perceived loudness of the frequency band. 
         [0008]    Those skilled in the art will further appreciate the advantages and superior features of the invention together with other important aspects thereof on reading the detailed description that follows in conjunction with the drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0009]      FIG. 1  is a diagram of a compression profile in accordance with an exemplary embodiment of the present invention; 
           [0010]      FIG. 2  is a diagram of equal loudness curves in accordance with an exemplary embodiment of the present invention; 
           [0011]      FIG. 3  is a diagram of an equal loudness filter in accordance with an exemplary embodiment of the present invention; 
           [0012]      FIGS. 4A-4C  are histograms of RMS energy values in 3 audio tracks in accordance with an exemplary embodiment of the present invention; 
           [0013]      FIG. 5  is a diagram of an interim processor in accordance with an exemplary embodiment of the present invention; 
           [0014]      FIG. 6  is a diagram of dynamic range contours (DRC) in accordance with an exemplary embodiment of the present invention; 
           [0015]      FIG. 7  is a day-parting schedule represented by day and time (15 minute military time intervals) in accordance with an exemplary embodiment of the present invention; 
           [0016]      FIG. 8  is a diagram of a consumer “volume-lock” function in accordance with an exemplary embodiment of the present invention; 
           [0017]      FIG. 9  is a diagram of a system for loudness control in accordance with an exemplary embodiment of the present invention; 
           [0018]      FIG. 10  is a diagram of a system for perceptual loudness estimation in accordance with an exemplary embodiment of the present invention; 
           [0019]      FIG. 11  is a diagram of a system for perceptual flatness scaling in accordance with an exemplary embodiment of the present invention; and 
           [0020]      FIG. 12  is a diagram of a system for performing loudness leveling in accordance with an exemplary embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0021]    In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals, respectively. The drawing figures might not be to scale, and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness. 
         [0022]    Generally, the overall shape of the loudness control transfer function is where problems may develop. A default “target map” of the program dynamics can be defined and maintained in the absence of metadata. In the presence of valid metadata the target map can be transformed into the compression profile described by the metadata. If the metadata vanishes or become corrupt, the compression profile is transformed back into the default target map. 
         [0023]      FIG. 1  is a diagram of a compression profile in accordance with an exemplary embodiment of the present invention. Maintaining the long term perceived loudness (the center of the “null band” within the compression profile) of the overall program under all conditions is a desirable feature. Although instantaneous correction is not possible, satisfactory (local) null band gain normalization is achievable if the recovery/reduction ballistics are shaped according to psychoacoustic principles. 
         [0024]    The broadcast engineer then has a choice to override the local norm in the presence of valid metadata. This feature allows the station to back out the local norm and the default target map features as metadata becomes better understood and more reliable. If all goes well, maintenance of a local compression profile target map and null band gain normalization will become unnecessary with the exception of the stations that set station-specific dynamics preferences. 
         [0025]    Volume normalization deals with the head end ingest of the audio content. At this stage, the content is normalized using a psychoacoustic model with statistical processing to assure that the long term perceived loudness is consistent. Described herein are exemplary components that can be used to accomplish automatic normalization. 
         [0026]      FIG. 2  is a diagram of equal loudness curves in accordance with an exemplary embodiment of the present invention. The equal loudness contours were measured by Robinson and Dadson in 1956, based on original measurements carried out by Fletcher and Munson in 1933, and the curve often carries their name. 
         [0027]    The lines represent the sound pressure required for a test tone of any frequency to sound as loud as a test tone of 1 kHz. Take the line marked “60”—at 1 kHz (“1” on the x axis), the line marked “60” is at 60 dB (on the y axis). Following the “60” line down to 0.5 kHz (500 Hz), the y axis value is about 55 dB. Thus, a 500 Hz tone at 55 dB SPL sounds as loud to a human listener as a 1 kHz tone at 60 dB SPL. This principle is used to control volume levels. 
         [0028]      FIG. 3  is a diagram of an equal loudness filter in accordance with an exemplary embodiment of the present invention. Where the lines curve upwards, there is less sensitive to sounds of that frequency. Hence, the filter attenuates sounds of that frequency. The ideal filter is the inverse of the equal loudness filter. As the replay level is not known, and different filter for sounds of differing loudness is not desirable, a representative average of the curves can be chosen as the target filter. 
         [0029]    While the RMS energy over an entire audio file can be calculated, this value doesn&#39;t give a good indication of the perceived loudness of a signal, although it is closer than that given by the peak amplitude. By calculating the RMS energy on a moment by moment basis, a better solution can be accomplished using the following process: 
         [0030]    The signal is sampled in 50 ms long blocks. 
         [0031]    Every sample value is squared. 
         [0032]    The mean average is taken. 
         [0033]    The square root of the average is calculated. 
         [0000]    With these four steps the RMS value for each 50 ms block can be used for further processing. 
         [0034]    The block length of 50 ms was chosen after studying the effect of values between 25 ms and one second. 25 ms was observed to be too short to accurately reflect the perceived loudness of some sounds. Beyond 50 ms, it was observed that there was little change after statistical processing. For this reason, 50 ms was chosen. 
         [0035]    There is difficulty in what to do with stereo files. They can be summed to mono before calculating the RMS energy, but then any out-of-phase components (having the opposite signal on each channel) would cancel out to zero (i.e. silence). As that is not how they are perceived, that process is not a good solution. 
         [0036]    An alternative is to calculate two RMS values, one for each channel, and then add them. Unfortunately, linear addition still doesn&#39;t give the same effect that the listener hears. To demonstrate this, consider a mono (single channel) audio track. When it is replayed over one loudspeaker and compared to sound replayed over two loudspeakers, linear addition would suggest that it would be half as loud, but the observed volume is 0.75 times as loud. 
         [0037]    Perceptually, a closer representation is achieved if the means of the channel-signals are added before calculating the square root. In pan-pot terms, that means using “equal power” rather than “equal voltage”. If it is also assumed that any mono (single channel) signal will be replayed over two loudspeakers, the mono signal can be treated as a pair of identical stereo signals. As such, a mono signal gives (a+a)/2 (i.e. a), while a stereo signal gives (a+b)/2, where a and b are the mean squared values for each channel. After this, the square root is carried and converted to dB. 
         [0038]      FIGS. 4A-4C  are histograms of RMS energy values in 3 audio tracks in accordance with an exemplary embodiment of the present invention.  FIG. 4A  represents speech,  FIG. 4B  represents pop music, and  FIG. 4C  represents classical music. Having calculated RMS signal levels every 50 ms through the file, a single value of offset can be determined to represent the perceived loudness of the entire file. The exemplary histograms show how many times each RMS value occurred in each file. 
         [0039]    The most common RMS value in the speech track was 45 dB (background noise), so the most common RMS value is clearly not a good indicator of perceived loudness. The average RMS value is similarly misleading with the speech sample, and also with classical music. 
         [0040]    Instead, a good method to determine the overall perceived loudness is to rank the RMS energy values into numerical order, and then average the values near the top of the list. 
         [0041]    In order to determine how far down the sorted list a representative value is, for the highly compressed pop music of  FIG. 4B , the choice makes little difference. For speech and classical music, the choice makes a huge difference. The value which most accurately matches human perception of perceived loudness can be calculated as follows: 
         [0000]    
       
         
           
             
               
                 
                   Rank 
                    
                   
                       
                   
                    
                   1 
                 
                 + 
                 
                   Rank 
                    
                   
                       
                   
                    
                   2 
                 
                 + 
                 
                   Rank 
                    
                   
                       
                   
                    
                   3 
                 
               
               3 
             
             = 
             
               Normal 
                
               
                   
               
                
               Level 
             
           
         
       
     
         [0042]    Having calculated the “normal level” of the content, the long term volume is then increased or reduce to meet the selected normalization level of −21 dBFS. Using this method, the speech piece would be brought up by 5.7 dB, the pop piece down by 6 dB and the classical piece down by 7 dB. 
         [0043]    The normalized content is then stored to the server, playout or any other mass memory residing at the head-end, or in many cases, at the affiliate. 
         [0044]      FIG. 5  is a diagram of an interim processor in accordance with an exemplary embodiment of the present invention. Assuming that the content has been normalized at both the head end and the local affiliate, the interim processor is relieved of long term volume control duties. That being said, it is now up to the interim processor (IP) to control both startling increases and perplexing decreases in the audio content. To accomplish this, control of the upper and lower boundaries of the content that track the pre-normalized level of the content can be used. The IP can continuously track the long term level of the content and adjust the boundaries and keep them “out of the way” to maintain complete transparency. One exemplary way to accomplish this task is to have the upper and lower boundary limits “float” along with the content envelope. As long as the short term dynamics stay within the first derivative of the long term envelope, no action is taken. 
         [0045]      FIG. 6  is a diagram of dynamic range contours (DRC) in accordance with an exemplary embodiment of the present invention. The DRC defines the dynamic “character” of the content. The contour allows the affiliate the ability to adjust the dynamics of the content to better match the viewer demograph in a given time slot. Even when metadata based systems are correct, one size does not fit all when crossing several time zones. This condition can be alleviated through day-parting the DRC and giving the control to the affiliate. In this manner, the programming, being known ahead of time, may be controlled in a sensible and predictable manner, taking into consideration that wide dynamic range blockbuster movies aren&#39;t as appreciated in the early morning or late evening and talk or “judge” shows are to be closely regulated as to not lose any dialog. This process is accomplished by providing adjustable control over the upper and lower boundaries of the content. 
         [0046]    Note that the boost and reduction contours are centered around −21 dBFS. This level was determined to be of optimal benefit to both legacy and properly ingested content. Depending on the dynamic range contour selected, the “deadband”, the part of the transfer function that is completely transparent, is sized to elicit just the right amount of control on the content. As seen in  FIG. 6 , the gain boost profile may be handled by an ordinary AGC while the gain reduction profile be performed by compression and limiting. 
         [0047]    The yellow contour corresponds to compression, the green contour corresponds to an AGC function and the red contour is a result of limiting. It is easy to see how assembling an appropriate DRC can be made quite simple. 
         [0048]    DRC “A” represents a tightly controlled contour demonstrating a dynamic range of 4 dB over a 47 dB range. This DRC is extreme, but might have applications in delivery of “mission critical” dialog. DRC “B” demonstrates less control; 20 dB over a 40 dB range. This contour would be representative of a medium range movie. 
         [0049]    The “alarm” feature of the interim processor activates anytime the content drifts into the red or green portions of the contour. During this process, the long term gain is adjusted until the content level is “centered” in the yellow zone. At this point the alarm function deactivates until another deviation from the low distortion yellow zone is detected. During the time that the AGC is engaged, an alarm is activated to notify the operator of the deviation and the time of the alarm is logged. 
         [0050]    It is difficult for audio related meta-data based systems to anticipate the time zones of the consumers at the other end of the content journey. In light of this reality, the IP is driven by a local day-parting, or scheduling system that allows the affiliate to control the volume boundaries as a function of time of day. Since the type and scheduling of local content is highly controlled, it is simple for the affiliate to day-part the processing to match both the type of content (talk, action, cartoons, soaps) and the time of day (more controlled in the early morning and late night). 
         [0051]      FIG. 7  is a day-parting schedule represented by day and time (15 minute military time intervals) in accordance with an exemplary embodiment of the present invention. Days can be copied into other days to save editing time. The day-part schedule can be remotely editable (such as via Internet protocol) for special events or sudden changes in schedule. Each day/time represents a preset. Each preset represents a particular dynamic range contour that is programmable. Once a day-parting schedule has be written, it only needs to be changed or updated a few times a year. 
         [0052]    The IP may also employ additional processing to increase the listening enjoyment of the content, even when the content is flawed. De-humming and de-noising are useful tools for older content while temporal and intensity normalization are helpful to an affiliate that is still broadcasting Left-Right based content mixed with stereo content. 
         [0053]    At the consumer end, a final perceptual volume control or lock can be provided. The main purpose of this volume lock is to give the consumer final control over the dynamic range contour and level of the content. The conditions of the consumer are impossible to predict in that the consumer may have an ultimate home theater or just a small mono TV. The consumer may live in a very noisy environment or may be hard of hearing. The consumer may have young children that are asleep or an elderly relative that is both hard of hearing and easily startled. Volume lock provides a simple solution to the consumer with a simple selection of the volume and one of three dynamic ranges (wide, average and narrow). 
         [0054]      FIG. 8  is a diagram of a consumer “volume-lock” function in accordance with an exemplary embodiment of the present invention. The AGC target and compressor and limiter threshold functions are “ganged” to allow easy setting of the desired volume level. Three local presets allows the consumer the choice of narrow, medium or wide dynamic range contours. In the “wide” mode, the consumer is choosing to trust the broadcast as is. In the “medium” mode, the consumer is may enjoy a variety of programming under loose control. The “narrow” mode is useful for talk shows or soap operas interspersed with abusively loud commercials. 
         [0055]    The information gathered points toward a three part system: ingest, interim processing with day parting and consumer control. Any one of these three processes should benefit the consumer experience on it&#39;s own merit. Combined, they provide a fail safe environment for the audio portion of the content, free from startling level jumps or drop offs. The system operates with any legacy infrastructure and does not depend on metadata to control normalized level or dynamic range contour. It provides improved performance for loud commercials or head end and affiliate errors. If ingest and interim processing protocol are followed, there is no need for consumer processing except for convenience. The system is autonomous, needing no human intervention, once content is ingested and interim process day-parting is programmed. In the absence of properly ingested content, the interim processing intelligently controls level with only minuscule and very short term tracking error. 
         [0056]      FIG. 9  is a diagram of a system  900  for loudness control in accordance with an exemplary embodiment of the present invention. System  900  includes perceptual loudness estimation  902 , gain control  904 , compressor  906  and final limiter  908 , each of which can be implemented in hardware, software or a suitable combination of hardware and software, and which can be one or more software systems operating on a general purpose processing platform. As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications or on two or more processors, or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application. 
         [0057]    Perceptual loudness estimation system  902  uses psychoacoustic and signal processing techniques to accurately detect and regulate the perceived loudness of a suitable source, such as the exemplary  5 . 1  source shown in  FIG. 9 . Likewise, sound sources such as mono signals, stereo signals,  7 . 1  signals, or other suitable signals can be processed. 
         [0058]    Gain control system  904  is used to increase or decrease the gain of the signal to modify the loudness, based on the output from perceptual loudness estimation system  902 , predetermined loudness constraints, or other suitable factors. 
         [0059]    Compressor  906  can be used to control short-term loudness variations that are not adequately processed by perceptual loudness estimation system  902  and gain control system  904 . In one exemplary embodiment, compressor  906  can be set to allow a predetermined allowable short term peak above a predetermined target level, such as 2 dB to 8 dB. Compressor  906  can apply a compression ratio over a user-selected range, such as 0.40 to 0.80. 
         [0060]    Final limiter  908  can be used to control absolute waveform peak levels. In one exemplary embodiment, final limiter  908  can be user selectable over a predetermined range, such as −10 dB full scale (FS) to 0 dBFS. 
         [0061]    In operation, system  900  allows loudness to be controlled at a broadcast system or other suitable locations, such as by using psychoacoustic and signal processing techniques to accurately detect and regulate the perceived loudness of a sound source, in combination with other suitable loudness controls such as compressors and limiters. By combining psychoacoustic and signal processing techniques with other suitable loudness controls, system  900  avoids over-compensation of loudness, such as where soft dialog is offset against periodic loud noises, such as gun shots, crashes, explosions, or other desired content. 
         [0062]      FIG. 10  is a diagram of a system  1000  for perceptual loudness estimation in accordance with an exemplary embodiment of the present invention. Audio channels x 1 (t) through x N (t) of the source audio signal, where N is a suitable integer representing the number of channels of source audio data, are processed through complex time-to-frequency filter banks  1002   a  through  1002   n , which convert the time domain signals x 1 (t) through x N (t) to corresponding frequency domain signals x 1 (f) through x N (f) The magnitude of each sub-band |X 1 (f)| through |X N (f)| is then input to a corresponding perceptual flatness scaling  1004   a  through  1004   n , which generates a scaling value a 1  through a N  that is applied to the magnitude of each corresponding sub-band. 
         [0063]    After the audio spectrum of each channel has been scaled proportionally to a perceptual flatness measure, all of the channels a 1 |X 1 (f)| through a N |X N (f)| are summed by constant power summation  1006 , such as in accordance with the following equation: 
         [0000]    
       
         
           
             
               Y 
                
               
                 ( 
                 f 
                 ) 
               
             
             = 
             
               
                 
                   ∑ 
                   
                     i 
                     = 
                     1 
                   
                   N 
                 
                  
                 
                   ( 
                   
                     
                       a 
                       i 
                     
                      
                     
                       
                          
                         
                           
                             X 
                             i 
                           
                            
                           
                             ( 
                             f 
                             ) 
                           
                         
                          
                       
                       2 
                     
                   
                 
               
             
           
         
       
     
         [0064]    The constant power summation is derived from constant power panning laws and can be used to model the sound power level for each sub-band that would exist in the listening “sweet-spot” if the audio signal were to be played back over loudspeakers. Using a constant power summation to model the sound power level provides for a perceptually appropriate method for summing channels as well as affording the scalability in number of input channels. Constant power summation  1006  outputs combined audio spectrum Y(f). 
         [0065]    Equal loudness shaping  1008  processes the combined audio spectrum Y(f) using an equal loudness contour, such as the Fletcher-Munson curves or other suitable equal loudness contours, which model the phenomena that for a typical human listener different frequencies are perceived at different loudness levels. For example, for a given sound pressure level (SPL), an average listener will perceive that the mid-frequencies around 1-4 kHz will be louder than the low or high frequencies. Equal loudness shaping  1008  generates equal loudness shaped spectrum Y EL (f). 
         [0066]    Each sub-band of the equal loudness shaped spectrum Y EL (f) is raised to the fourth power and then grouped into perceptual bands by perceptual band grouping  1010 . The raising of the spectrum Y EL (f) to the fourth power is performed to compensate for the subsequent processing where the banded spectrum Y EL (bark) is raised to the 0.25 power. All compressed perceptual bands Y EL (bark) 0.25  are then summed by summation  1012  and converted to dB resulting in a perceptual loudness estimate PLE for the given audio segment. 
         [0067]      FIG. 11  is a diagram of a system  1100  for perceptual flatness scaling in accordance with an exemplary embodiment of the present invention. Perceptual band grouping  1102  groups the spectrum |X 1 (f)| into perceptual bands and generates an output |X 1 (barks)|. Spectral flatness measure  1104  computes a spectral flatness measure on the perceptual bands |X 1 (barks)| resulting in a perceptual flatness measure PFM. A high perceptual flatness measure indicates that the signal has nearly equal amounts of energy in all perceptual bands, likely sounding similar to pink noise. A low perceptual flatness measure indicates that the signal energy is concentrated into a small number of perceptual bands, likely sounding similar to a mixture of tones. 
         [0068]    The perceptual flatness measure PFM is then converted to a scaling value a i  by inverter  1106 , which is used to scale the entire spectrum of |X 1 (f)| by multiplier  1108 . When PFM is high, the scaling factor a i  should be low, and when PFM is low, the scaling value a, should be high, based on the empirical observation that broadband and perceptually flat signals typically have energy levels which are too high relative to their perceived loudness. In one exemplary embodiment, the scaling values a 1  can range from −6 dB for perceptually flat material to 0 dB for perceptually tonal material. 
         [0069]      FIG. 12  is a diagram of a system  1200  for performing loudness leveling in accordance with an exemplary embodiment of the present invention. System  1200  smoothes short-term perceptual loudness estimates (PLEs) received from perceptual loudness estimation system  902  through simple first-order low-pass filters. 
         [0070]    The TARGET perceived loudness level input to subtracter  1208  can be predetermined, set by a user, or otherwise determined. Because an end-user playback volume level is unknown, the target loudness level can be set in dBFS rather than SPL. For example, if a user selects a target loudness level to be −20 dBFS, the corrected audio signal will have a long-term average level of −20 dBFS while maintaining equal perceived loudness. 
         [0071]    System  1200  includes filters LP  1   1202  and LP  2   1204 , which can be first-order infinite impulse response low-pass filters or other suitable filters. Filter LP  1   1202  is controlled based on the rise time of the loudness correction signal, and filter LP  2   1204  is controlled based on the fall time of the loudness correction signal. The PLE value is sent through both filter LP 1   1202  and filter LP 2   1204  and the maximum output is chosen by max  1206  as the smoothed PLE value. In practice, rise time values are used that are faster than fall time values. This process results in the rise time filter LP 1   1202  controlling onset events, and the fall time filter LP 2   1204  controlling decay events. 
         [0072]    A feedback loop is present to provide variable speed processing to the loudness correction. A DELTA value is computed as the difference between the current smoothed PLE value and the previous smoothed PLE value. When the DELTA value exceeds a predetermined or user-defined threshold, the cutoff frequencies for filter LP 1   1202  and filter LP 2   1204  are set to predetermined or user-defined values of Fast RT  and Fast FT , respectively. When the value of DELTA value falls below the threshold, the cutoff frequencies are set to predetermined or user-defined values of SLOW RT  and SLOW FT . Incorporating this simple feedback loop and variable speed smoothing helps to capture sharp loudness onsets when they occur. 
         [0073]    The final correction value is computed as a difference between the TARGET value and the smoothed PLE value by subtractor  1208 . This correction value is then applied to all channels of the source signal x 1 (f) through x N (f) by adders  1210   a  through  1210   n , and the loudness-corrected output signals y 1 (t) through y N (t) are generated by frequency to time transforms  1212   a  through  1212   n , respectively. 
         [0074]    Although exemplary embodiments of a system and method of the present invention have been described in detail herein, those skilled in the art will also recognize that various substitutions and modifications can be made to the systems and methods without departing from the scope and spirit of the appended claims.