Automatic measurement of audio presence and level by direct processing of an MPEG data stream

Automatic measurements are made of audio presence and level in an audio signal by direct processing of an MPEG data stream representing the audio signal, without reconstructing the audio signal. Sub-band data is extracted from the data stream, and the extracted sub-band data is dequantized and denormalized. An audio level for the dequantized and denormalized sub-band data is measured without reconstructing the audio signal. Channel characteristics are used in measuring the audio level of the sub-band data, wherein the channel characteristics are used to weight the measured levels. The measured levels are compared against at least one threshold to determine whether an alarm should be triggered.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to the following applications:

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the automatic measurement of audio presence and level by direct processing of an MPEG data stream.

2. Description of the Related Art

Digital television, such as that provided by DIRECTV®, the assignee of the present invention, is typically transmitted as a digital data stream encoded using the MPEG (Motion Pictures Experts Group) standard promulgated by the ISO (International Standards Organization). MPEG provides an efficient way to represent video and audio in the form of a compressed bit stream. The MPEG-1 standard is described in a document entitled “Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 MBit/s,” ISO/IEC 11172 (1993), which is incorporated by reference herein.

DIRECTV® broadcasts hundreds of channels to its subscribers encoded into different MPEG data streams. However, problems can arise in using these different MPEG data streams, due to the fact that it is difficult to monitor the audio levels of all of the different channels. Thus, the different MPEG data streams may appear to be either too loud or too soft, as compared to other channels, or there may be a loss of audio that is not noticed for some time.

In the prior art, special purpose devices would be used to measure audio levels. However, these special purpose devices require a separate satellite receiver to tune and decode the audio. In addition, these devices generally are not easily integrated into a system architecture in order to control and report and alarm on the measurements.

Consequently, there is a need to monitor the audio levels of an MPEG data stream. Moreover, there is need for the ability to monitor audio levels of MPEG data streams without decompressing the audio data within the MPEG data streams.

SUMMARY OF THE INVENTION

The present invention discloses a method, apparatus and article of manufacture for automatic measurements of audio presence and level in an audio signal by direct processing of an MPEG data stream representing the audio signal, without reconstructing the audio signal. Sub-band data is extracted from the data stream, and the extracted sub-band data is dequantized and denormalized. An audio level for the dequantized and denormalized sub-band data is measured without reconstructing the audio signal. Channel characteristics are used in measuring the audio level of the sub-band data, wherein the channel characteristics are used to weight the measured levels. The measured levels are compared against at least one threshold to determine whether an alarm should be triggered.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Overview

The present invention provides automatic measurements of audio presence and level in an audio signal by direct processing of an MPEG data stream representing the audio signal, without reconstructing the audio signal. Consequently, if the audio level in an MPEG data stream is too high or too low, the audio level can be detected and adjusted as desired in order to maintain uniform listening levels.

A preferred embodiment of the present invention comprises an audio presence and level monitoring system that uses a satellite receiver card connected to a computer system. The satellite receiver card has the capability to receive and process a plurality of MPEG data streams concurrently and make them available to a software program executed by the computer system. The software program calculates the perceived loudness directly from the MPEG data streams without reconstruction of the audio signal.

The present invention can be employed to continuously monitor the audio presence and levels within the MPEG data streams for a video distribution system, such as a satellite broadcast system. Most video distribution systems include many active audio streams and it is important to subscribers that these audio streams are set to the proper level, so as not make channel change objectionable. The audio presence and level monitoring system accomplishes this task with a minimal amount of expense. Moreover, since the system comprises satellite receiver cards integrated into the host computer, the control of the system and the reporting of results are simple to implement.

The present invention improves the quality of services provided to the subscribers of the video distribution system, as well as lowering the cost of providing these services. In particular, the present invention permits audio problems to be recognized and handled more quickly. In the prior art, monitoring of audio presence and levels is a labor intensive activity, since a person assigned to perform this task manually can only listen to one audio stream at a time. For example, in a large multi-channel system, there have been instances where a secondary audio channel has been inoperative for more than a day.

Video Distribution System

FIG. 1is a diagram illustrating an overview of a video distribution system100according to a preferred embodiment of the present invention. The video distribution system100comprises a control center102in communication with an uplink center104via a ground link106and with subscriber receiving stations108via a link110. The control center102provides program material to the uplink center104, coordinates with the subscriber receiving stations108to offer pay-per-view (PPV) program services, including billing and associated decryption of video programs.

The uplink center104receives the program material from the control center102and, using an uplink antenna112and transmitter114, transmits the program material to one or more satellites116, each of which may include one or more transponders118. The satellites116receive and process this information, and transmit the program material to subscriber receiving stations108via downlink120using transmitter118. Subscriber receiving stations108receive this information using via an antenna122of the subscriber receiving stations108.

While the invention disclosed herein will be described with reference to a satellite based video distribution system100, the present invention may also be practiced with terrestrial-based video distribution system, whether by antenna, cable, or other means. Further, the different functions collectively allocated among the control center102and the uplink center104as described above can be reallocated as desired without departing from the intended scope of the present invention.

Although the foregoing has been described with respect to an embodiment in which the program material delivered to the subscriber is video (and audio) program material such as a movie, the foregoing method can be used to deliver program material comprising purely audio program material as well. In both instances, the audio program material is encoded as an MPEG audio data stream.

MPEG Audio Data Stream

FIG. 2is a block diagram that illustrates the structure of an MPEG audio data stream200. Layers I, II and III within the MPEG audio data stream200are shown as separate frames202,204and206.

In the frame202of Layer1, the CRC210is followed by a Bit Allocation212(128-256 bits in length), Scale Factors214(0-384 bits in length), Samples216(384 bits in length), and Ancillary Data218. In the frame204of Layer2, the CRC210is followed by a Bit Allocation212(26-188 bits in length), Scale Factor Selection Information (SCFSI)220(0-60 bits in length), Scale Factors214(0-1080 bits in length), Samples216(1152 bits in length), and Ancillary Data218. In the frame206of Layer3, the CRC210is followed by Side Information222(136-256 bits in length) and a Bit Reservoir224.

In both Layers I and II, the time-frequency mapping of the audio signal uses a polyphase filter bank with 32 sub-bands, wherein the sub-bands are equally spaced in frequency. The Layer1psychoacoustic model uses a 512-point Fast Fourier Transform (FFT) to obtain detailed spectral information about the audio signal, while the Layer2psychoacoustic model, which is similar to the Layer1psychoacoustic model, uses a 1024-point FFT for greater frequency resolution of the audio signal. Both the Layer1and II quantizers examine the data in each sub-band to determine the Bit Allocation212and Scale Factor214for each sub-band, and then linearly quantize the data in each sub-band according to the Bit Allocation212and Scale Factor214for that sub-band.

The Bit Allocation212determines the number of bits per sample for Layer1, or the number of quantization levels for Layer2. Specifically, the Bit Allocation212specifies the number of bits assigned for quantization of each sub-band. These assignments are made adaptively, according to the information content of the audio signal, so the Bit Allocation212varies in each frame202,204. The Samples216can be coded with zero bits (i.e., no data are present), or with two to fifteen bits per sample.

The Scale Factors214are coded to indicate sixty-three possible values that are coded as six-bit index patterns from “000000” (0), which designates the maximum scale factor, to “111110” (62), which designates the minimum scale factor. Each sub-band in the Samples216has an associated Scale Factor214that defines the level at which each sub-band is recombined during decoding.

The Samples216themselves comprise the linearly quanitized data, e.g., samples, for each of thirty-two sub-bands. A Layer1frame202comprises twelve samples per sub-band. A Layer2frame204comprises thirty-six samples per sub-band.

In Layer2204, the Samples216in each frame are divided into three parts, wherein each part comprises twelve samples per sub-band. For each sub-band, the SCFSI220indicates whether the three parts have separate Scale Factors214, or all three parts have the same Scale Factor214, or two parts (the first two or the last two) have one Scale Factor214and the other part has another Scale Factor214.

Monitoring System

FIG. 3is a diagram illustrating a audio presence and level monitoring system300according the preferred embodiment of the present invention. The audio presence and level monitoring system300may comprise one or more of the subscriber receiver stations108described inFIG. 1, although the audio presence and level monitoring system300may also comprise a component of the control center102or uplink center104described inFIG. 1. Indeed, the audio presence and level monitoring system300may be located wherever it is convenient for monitoring MPEG audio data streams.

The audio presence and level monitoring system300includes one or more host computers302, each of which includes at least one satellite receiver card304and software program306executed by the host computer300, or alternatively, by the satellite receiver card304. The satellite receiver card304is coupled to an L-band distribution device308, which includes a satellite dish310, in order to receive one or more MPEG audio data streams. A system configuration and management system312is used to configure and manage the host computers302and satellite receiver cards304, while an error monitoring system314is notified if any errors are detected in the MPEG audio data streams.

Preferably, the satellite receiver card304has the capability to tune a plurality of MPEG audio data streams at once. The MPEG audio data streams are then transferred directly to memory in the host computer302.

The software program306comprises an MPEG audio parser that accesses the MPEG audio data stream from the memory and rebuilds the data therein into Layer2frames204, in order to access a set of sub-bands in the Samples216. However, instead of reconstructing the audio signal, which would complete the normal decoding process for the MPEG audio data stream200, the sub-band data in the Samples216are processed in an audio presence and level function performed by the software program306, since the sub-band data is already represented in a fashion that is easily scalable for the human ear sensitivity.

The audio presence and level function performed by the software program306typically involves measuring the power of the sub-band data in the Samples216, wherein the power is measured as a square root of a sum of squares of the sub-band data. The software program306then averages and thresholds the measured power over time to calculate the level. However, the details of the calculation may vary by application.

For audio presence detection, the signal power will go to zero (or below a low threshold). The channel characteristics can be used to determine the length of time the signal power is at zero before considering the audio signal as being lost. Moreover, thresholds can be set to generate an alarm based on loss of the audio signal, or when the average level of the audio signal is too high or too low.

As most of the processing is in the software program306, there is no need for specialized hardware and wiring for each channel. In one embodiment, the system300is capable of measuring all the MPEG audio data streams on a transponder with one satellite receiver card304, which entails processing 20-30 channels in parallel per satellite receiver card304.

In one embodiment, a single satellite receiver card304can be dedicated to each transponder for full time monitoring. On the other hand, if each of the MPEG audio data streams need only to be sampled occasionally, then in an alternative embodiment, a single satellite receiver card304can be re-tuned to different transponders, to sample different channels, and monitor an entire video broadcast system by cycling through a full set (e.g., 40-60) of transponders.

Audio Presence and Level Function

FIG. 4is a diagram illustrating the audio presence and level function performed by the software program306of the audio presence and level monitoring system300according the preferred embodiment of the present invention. Specifically, the blocks of the diagram represent a method of automatic measurement of audio presence and level by direct processing of an MPEG data stream representing an audio signal.

Initially, the sub-band data400is extracted from the MPEG data stream. The values of the sub-band data400represents the strength of the audio signal in a frequency band covered by the sub-band data400at that point in time.

A hearing curve scaling function402performs the steps of dequantizing and denormalizing the extracted sub-band data, wherein the sub-band data400is dequantized according to the Bit Allocation212, and the sub-band data400is denormalized using the Scale Factors214. However, there is no need to further reconstruct the audio signal, which would complete the normal decoding process for the MPEG audio data stream200. The sub-band data400is already in the frequency domain, so it is easily scalable to compensate for human ear sensitivity.

The hearing curve scaling function402also performs the step of using a psychoacoustic model404in determining a perceived level of the measured audio signal according to human ear sensitivity. Human ear sensitivity is frequency dependent and is more sensitive to mid-range frequencies (1-3 kHz) than to low or high frequency signals

A loudness calculation406performs the steps of measuring an audio level for the dequantized and denormalized sub-band data400without reconstructing the audio signal using one or more channel characteristics408, averaging the measured audio levels over time, and comparing the averaged audio levels against at least one application-specific threshold to determine whether the threshold is exceeded. The loudness calculation406typically involves measuring the signal power of the audio signal, as represented by the sub-band data400, to determine the audio presence and level. However, the details of the calculation may vary by application.

The channel characteristics408are used to weight an instantaneous level or an overall level for a channel. For example, commercial advertising material typically has a different perceived level from the nominal program material, and it might be useful to exclude the instantaneous level for the commercial advertising material from the overall perceived level for a channel, because the commercial advertising material is normally a small percentage of total audio content. The exclusion can be accomplished using the channel characteristics408, which may comprise a schedule for commercial breaks, or a label for the channel, or a label for the MPEG audio data stream, or some other indicator.

When a threshold is exceeded, an alarm410is triggered and passed onto the error monitoring system312. Based on the alarm410, one or more actions can be taken, i.e., adjusting audio levels, or tracing out the lost audio signal, or some other action. For example, a Simple Network Management Protocol (SNMP) agent may be used to report alarms, levels or other information as they occur.

FIG. 5is a graph showing a plot500of audio levels as compared to time performed by the audio presence and level function of the software program306according to the preferred embodiment of the present invention. In the plot500, the audio levels as compared to time are compared to a high threshold502, low threshold504and presence threshold506.

The thresholds502,504, and506can be determined by experimentation and tuned to yield the desired results. The audio presence and level function does not have to be perfect, but instead, only needs to be monotonic and reasonably linear.

In addition, the thresholds502,504, and506may vary from channel to channel depending on the channel characteristics408of a channel. Moreover, the channel characteristics408may vary over the course of the day and so the thresholds502,504, and506may also be varied by time of day, if that proves to be appropriate.

Conclusion

For example, while the foregoing disclosure presents an embodiment of the present invention as it is applied to a satellite transmission system, the present invention can be applied to any application that uses MPEG audio. Moreover, although the present invention is described in terms of MPEG audio, it could also be applied to other compression schemes, such as Dolby® AC-3. Finally, although specific hardware, software and logic is described herein, those skilled in the art will recognize that other hardware, software or logic may accomplish the same result, without departing from the scope of the present invention.

It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.