Efficient DRC profile transfer
By inserting multiple DRC profiles into the audio frame sequence, the decoder allows the appropriate profile to be selected according to the rendering mode, solving the audio reproduction problem in different devices and environments, and achieving high-quality and high-information audio signal transmission .
Patent Information
- Application Number
- CN202411245050.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2014-10-01
- Filing Date
- 2015-09-29
- Publication Date
- 2025-01-14
AI Technical Summary
The prior art is difficult to reproduce audio signals with high quality and intelligibility on different rendering devices, especially when ambient noise changes and sound pressure levels are different.
By inserting multiple dynamic range control (DRC) profiles into the audio frame sequence, the decoder can select appropriate profiles based on the specific rendering mode, ensuring high-quality reproduction of the audio signal on different rendering devices.
High-quality audio reproduction in different rendering devices and environments is realized, cropping or distortion caused by device limitations is avoided, and the perceived quality of audio content and the realization of artist intentions is ensured.
Smart Images

Figure CN119314498A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with application number 202110526962.0, application date September 29, 2015, and invention name “Efficient DRC Configuration File Transmission”. The invention patent application with application number 202110526962.0 is a divisional application of the invention patent application with application number 201580053702.9, application date September 29, 2015, and invention name “Efficient DRC Configuration File Transmission”.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 058,228, filed October 1, 2014, which is hereby incorporated by reference in its entirety. Technical Field
[0004] The present invention relates to audio signal processing. In particular, the present invention relates to a method and corresponding system for transmitting a dynamic range control (DRC) profile in a bandwidth efficient manner. Background Art
[0005] The increasing popularity of media consumer devices creates new opportunities and challenges for creators and distributors of media content for playback on these devices, as well as designers and manufacturers of these devices. Many consumer devices are capable of playing back a wide range of media content types and formats, including those typically associated with high-quality, wide bandwidth, and wide dynamic range audio content for HDTV, Blu-ray, or DVD. Media processing devices can be used to play back this type of audio content on their own internal acoustic transducers or on external transducers (such as headphones or high-quality home theater systems); however, all of these playback systems and environments place significantly different requirements on the dynamic range of audio signals due to changes in noise levels in the environment or due to the limited ability of the playback system to reproduce the required sound pressure level without distortion. Limiting the dynamic range according to the environment is a method of providing high quality and high intelligibility on a wide range of different rendering devices (i.e., on a wide range of rendering modes) with different rendering capabilities and listening environments.
[0006] The present invention solves the technical problem of providing creators and distributors of media content with bandwidth efficient means of enabling reproduction of audio signals with high quality and intelligibility on a wide range of different rendering devices with different rendering capabilities. Summary of the invention
[0007] According to one aspect, a method for generating an encoded audio signal is described. The encoded audio signal includes a sequence of frames. The encoded audio signal indicates a plurality of different dynamic range control (DRC) profiles for a corresponding plurality of different rendering modes. The method includes inserting different subsets of the plurality of DRC profiles into different frames of the sequence of frames so that two or more frames of the sequence of frames jointly include the plurality of DRC profiles.
[0008] According to a further aspect, a method for decoding an encoded audio signal is described. The encoded audio signal includes a sequence of frames. In addition, the encoded audio signal indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes. Different subsets of DRC profiles in the plurality of DRC profiles are included in different frames of the sequence of frames, so that two or more frames in the sequence of frames collectively include the plurality of DRC profiles. The method includes determining a first rendering mode from a plurality of different rendering modes, and determining one or more DRC profiles from the subset of DRC profiles included in a current frame of the sequence of frames. In addition, the method includes determining whether at least one of the one or more DRC profiles is applicable to the first rendering mode. In addition, the method includes selecting a default DRC profile as the current DRC profile if none of the one or more DRC profiles is applicable to the first rendering mode; wherein the definition data of the default DRC profile is known at a decoder for decoding the encoded audio signal. In addition, the method includes decoding the current frame using the current DRC profile.
[0009] According to a further aspect, a bitstream comprising an encoded audio signal is described. The encoded audio signal comprises a sequence of frames. The encoded audio signal indicates a plurality of different dynamic range control (DRC) profiles for a corresponding plurality of different rendering modes. Different subsets of the plurality of DRC profiles are included in different frames of the sequence of frames such that two or more frames in the sequence of frames jointly include the plurality of DRC profiles.
[0010] According to another aspect, an encoder for generating an encoded audio signal is described. The encoded audio signal includes a sequence of frames. The encoded audio signal indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes. The encoder is configured to insert different subsets of DRC profiles in the plurality of DRC profiles into different frames in the sequence of frames so that two or more frames in the sequence of frames jointly include the plurality of DRC profiles.
[0011] According to a further aspect, a decoder for decoding an encoded audio signal is described. The encoded audio signal includes a sequence of frames. The encoded audio signal indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes. Different subsets of DRC profiles in the plurality of DRC profiles are included in different frames of the sequence of frames so that two or more frames of the sequence of frames collectively include the plurality of DRC profiles. The decoder is configured to: determine a first rendering mode from the plurality of different rendering modes; determine one or more DRC profiles from a subset of DRC profiles included in a current frame of the sequence of frames; determine whether at least one of the one or more DRC profiles is applicable to the first rendering mode; if none of the one or more DRC profiles is applicable to the first rendering mode, select a default DRC profile as the current DRC profile; wherein definition data of the default DRC profile is known at the decoder; and decode the current frame using the current DRC profile.
[0012] According to a further aspect, a software program is described. The software program may be adapted to be executed on a processor and to perform the method steps outlined herein when implemented on the processor.
[0013] According to another aspect, a storage medium is described. The storage medium may include a software program adapted to be executed on a processor and adapted to perform the method steps outlined herein when implemented on the processor.
[0014] According to a further aspect, a computer program product is described. The computer program product may comprise executable instructions for performing the method steps outlined herein when executed on a computer.
[0015] It should be noted that the methods and systems as outlined in this patent application, including preferred embodiments thereof, can be used alone or in combination with other methods and systems disclosed herein. In addition, all aspects of the methods and systems outlined in this patent application can be combined arbitrarily. In particular, the features of the claims can be combined with each other in any manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The present invention will be described below in an exemplary manner with reference to the accompanying drawings, in which:
[0017] Figure 1 and Figure 2 An example audio decoder and an example audio encoder are respectively illustrated;
[0018] Figure 3 and Figure 4 illustrating example dynamic range compression curves;
[0019] Figure 5 illustrating an example frame sequence; and
[0020] FIG. 6 illustrates a flow chart of an example method for selecting a DRC configuration file. DETAILED DESCRIPTION
[0021] As indicated above, the present document solves the technical problem of enabling designers and / or distributors of audio content to control the quality and intelligibility of audio content for different types of rendering modes. An example rendering mode is a home theater rendering mode, in which a transducer that generally allows a very wide dynamic range is used to play back audio content in a quiet environment. Another example rendering mode is a tablet mode, in which a transducer such as a television is used to play back audio content, which generally allows a reduced dynamic range compared to a home theater. A further example rendering mode is a portable speaker mode, in which a loudspeaker of a portable electronic device (such as a smart phone) is used to play back audio content. The dynamic range of this rendering mode is generally small compared to the rendering modes mentioned above, and the environment is often noisy. Another example rendering mode is a portable headphone mode, in which a headphone combined with a portable electronic device is used to play back audio content. The dynamic range is limited, but is generally higher than the dynamic range provided by the loudspeaker of the portable electronic device.
[0022] In order to allow high quality and high intelligibility for different rendering modes, different DRC (dynamic range control) profiles for different rendering modes can be provided together with the audio content. The audio content can be transmitted in a frame sequence. The frame sequence may include I (i.e., independent) frames, which can be decoded independently of previous or subsequent frames. In addition, the frame sequence may include other types of frames (e.g., P frames and / or B frames) that generally exhibit correlation with the previous frame and / or the next frame. At least some frames in the frame sequence may include multiple different DRC profiles for multiple different rendering modes. Specifically, the I frame of the frame sequence may include the multiple DRC profiles.
[0023] By inserting a plurality of different DRC profiles into an audio frame sequence, the audio decoder is enabled to select an appropriate DRC profile for a particular rendering mode. As a result, it is ensured that the rendered audio signal has high quality (especially without clipping or distortion introduced by the transducer) and high intelligibility.
[0024] In the following, various aspects of dynamic range control are described. Without customized dynamic range control, input audio information (e.g., PCM samples, time-frequency samples in a QMF matrix, etc.) is typically reproduced at a playback device at a loudness level that is unsuitable for the specific playback environment of the playback device (i.e., including physical and / or mechanical playback limitations of the device), because the specific playback environment of the playback device may be different from the target playback environment for which the encoded audio content has been encoded at the encoding device.
[0025] Techniques as described herein may be used to support dynamic range control of a variety of audio content that is customized for any of a variety of playback environments while maintaining the perceived quality of the audio content and preserving the artist's intent to adapt the content to different listening environments.
[0026] Dynamic range control (DRC) refers to a time-varying, level-dependent audio processing operation that changes (e.g., compresses, cuts, expands, boosts) a signal in order to convert an input dynamic range of loudness levels in the audio content into an output dynamic range that is different from the input dynamic range. For example, in a dynamic range control scenario, soft sounds may be mapped (e.g., boosted, etc.) to a higher loudness level, and loud sounds may be mapped (e.g., cut, etc.) to a lower loudness level. As a result, in the loudness domain, the output range of loudness levels becomes smaller than the input range of loudness levels in this example. In some embodiments, however, dynamic range control may be reversible, such that the original range is restored. For example, an expansion operation may be performed to restore the original range, as long as the mapped loudness level in the output dynamic range mapped from the original loudness level reaches or is below the clipping level, each unique original loudness level is mapped to a unique output loudness level, and so on.
[0027] DRC technology as described herein can be used to provide a better listening experience in certain playback environments or situations. For example, a soft sound in a noisy environment may be masked by noise that makes the soft sound inaudible. On the contrary, a loud sound may be undesirable in some cases, for example, disturbing neighbors (e.g., in a "late night" listening mode). Many devices that typically have a small form factor loudspeaker cannot reproduce the sound at a high output level, or cannot reproduce the sound without perceptible distortion. In some cases, a lower signal level may be reproduced below the human hearing threshold. DRC technology can perform a mapping of input loudness level to output loudness level based on a DRC gain (e.g., a scaling factor, a boost ratio, a clipping ratio, etc., of scaling audio amplitude) found by a dynamic range compression curve.
[0028] A dynamic range compression curve refers to a function (e.g., a lookup table, a curve, a multi-segment segmented line, etc.) that maps various input loudness levels (e.g., input loudness levels of sounds other than dialogue, etc.) determined from various audio data frames to corresponding output loudness levels, and the results are mapped to various gains or gains for dynamic range control to convert the input loudness levels to corresponding output loudness levels. Each of the various gains indicates the amount of gain to be applied to the signal for mapping the corresponding single input loudness level to the expected output loudness level. The output loudness level after applying the various gains represents the target loudness level of the audio content in the various audio data frames in a specific playback environment.
[0029] In addition to specifying the mapping between gains and loudness levels, the dynamic range compression curve may also include, or may be provided with, a specific release time and attack time in applying a specific gain. Attack refers to the increase in signal energy (or loudness) between consecutive time samples, while release refers to the decrease in energy (or loudness) between consecutive time samples. Attack time (e.g., 10 milliseconds, 20 milliseconds, etc.) refers to the time constant used to smooth the DRC gain when the corresponding signal is in attack mode. Release time (e.g., 80 milliseconds, 100 milliseconds, etc.) refers to the time constant used to smooth the DRC gain when the corresponding signal is in release mode. In some embodiments, additionally, optionally, or alternatively, the time constant is used to smooth the signal energy (or loudness) before determining the DRC gain.
[0030] Different dynamic range compression curves may correspond to different playback environments (i.e., different rendering modes). For example, a dynamic range compression curve for a playback environment of a flat-panel TV may be different from a dynamic range compression curve for a playback environment of a portable device. A playback device may have two or more playback environments. For example, a first dynamic range compression curve for a first playback environment of a portable device with a speaker may be different from a second dynamic range compression curve for a second playback environment of the same portable device with a headset.
[0031] Figure 1A block diagram of an example component of an audio decoder 100 is shown. The audio decoder 100 includes a data extractor 104, a dynamic range controller 106, and an audio renderer 108. The data extractor 104 is configured to receive an encoded input signal 102. The encoded input signal 102 as described herein may be a bitstream containing an input audio data frame (especially a sequence of audio frames) that is encoded (e.g., compressed, etc.) and may also contain metadata. The bitstream may be an AC-4 bitstream. The data extractor 104 is configured to extract / decode input audio data frames and metadata from the encoded input signal 102. Each input audio data frame includes a plurality of encoded audio data blocks, each of which represents a plurality of audio samples. Each frame represents a (e.g., constant) time interval including a certain number of audio samples. The frame size may vary with the sampling rate and the encoding data rate. An audio sample is a quantized audio data element (e.g., input PCM sample, input time-frequency sample in a QMF matrix, etc.) representing one, two or more (audio) frequency bands or frequency ranges. The quantized audio data elements in the input audio data frame may represent sound pressure waves in the digital (quantized) domain. The quantized audio data elements may cover a limited range of loudness levels up to or below a maximum possible value (eg, clipping level, maximum loudness level, etc.).
[0032] The metadata may be used by the audio decoder 100 to process the input audio data frame. The metadata may include various operating parameters related to one or more operations to be performed by the decoder 100, one or more dynamic range compression curves (i.e., one or more DRC profiles), normalization parameters related to the level of dialog loudness represented in the input audio data frame, etc. The dialog loudness level may refer to the (e.g., psychoacoustic, perceptual, etc.) level of dialog loudness in an entire program (e.g., a movie, a TV program, a radio broadcast, etc.), a portion of a program, dialog in a program, etc., program loudness, average dialog loudness, etc.
[0033] The operation and functionality of the decoder 100 or some or all of its modules (e.g., data extractor 104, dynamic range controller 106, etc.) may be altered in response to metadata extracted from the encoded input signal 102. For example, metadata—including, but not limited to, dynamic range compression curves, dialog loudness levels, etc.—may be used by the decoder 100 to generate audio data elements in the digital domain (e.g., output PCM samples, output time-frequency samples in a QMF matrix, etc.). The output data elements may then be used to drive audio channels or speakers to achieve a specified loudness or reference reproduction level during playback in a particular playback environment.
[0034] The dynamic range controller 106 can be configured to receive some or all of the audio data elements in the input audio data frame and metadata, perform audio processing operations (e.g., dynamic range control operations, gain smoothing operations, gain limiting operations, etc.) on the audio data elements in the input audio data frame based at least in part on the metadata extracted from the encoded audio signal 102, and so on.
[0035] Specifically, the dynamic range controller 106 may include a selector 110, a loudness calculator 112, and / or a DRC gain unit 114. The selector 110 may be configured to determine a speaker configuration associated with a particular playback environment at the decoder 100 (e.g., a home theater mode, a tablet mode, a portable device with a speaker mode, a portable device with a headphone mode, a 5.1 speaker configuration mode, a 7.1 speaker configuration mode, etc.). The speaker configuration may also be referred to as a rendering mode. In addition, the selector 110 may be configured to select a particular dynamic range compression curve (i.e., a DRC profile) from the dynamic range compression curves extracted from the metadata of the encoded input signal 102 (i.e., from a plurality of DRC profiles).
[0036] The loudness calculator 112 may be configured to calculate one or more types of loudness levels represented by the audio data elements in the input audio data frame. Examples of loudness level types include, but are not limited to, any of the following: individual loudness levels on individual frequency bands in individual channels on individual time intervals, broadband (or wideband) loudness levels on wide (or wide) frequency ranges in individual channels, loudness levels determined from or smoothed over audio data blocks or frames, loudness levels determined from or smoothed over more than one audio data blocks or frames, loudness levels smoothed over one or more time intervals, etc. None, one, or more of these loudness levels may be changed for the purpose of dynamic range control of the decoder 100.
[0037] To determine the loudness level, the loudness calculator 112 may determine one or more time-dependent physical sound wave properties represented by the audio data elements in the input audio data frame, such as spatial and / or local pressure levels at specific audio frequencies, etc. The loudness calculator 112 may use the one or more time-varying physical wave properties to derive one or more types of loudness levels based on one or more psychoacoustic functions that model human loudness perception. The psychoacoustic function may be a nonlinear function constructed based on a model of the human auditory system that converts / maps specific spatial pressure levels at specific audio frequencies to specific loudness for these specific audio frequencies.
[0038] Loudness levels over multiple (audio) frequencies or multiple frequency bands (e.g., wideband, broadband, etc.) may be derived by integration of specific loudness levels over the multiple (audio) frequencies or multiple frequency bands. Time-averaged, smoothed, etc. loudness levels over one or more time intervals (e.g., longer than a time interval represented by an audio data element in an audio data block or frame, etc.) may be obtained by using one or more smoothing filters implemented as part of the audio processing operations in the decoder 100. Another example method for determining (wideband) loudness levels is specified in ITU-R BS.1770. The method specified in ITU-R BS.1770 applies time domain filtering to a time domain input audio signal and then calculates the RMS (root mean square) level on each channel of the input audio signal, before integrating over the channels and gating the resulting loudness levels.
[0039] The specific loudness levels for different frequency bands may be calculated for each audio data block having a certain number of samples (e.g., 256, etc.). In integrating the specific loudness levels into a broadband (or wideband) loudness level, a pre-filter may be used to apply frequency weighting (e.g., similar to IECB-weighting, etc.) to the specific loudness levels. The summation of the wide loudness levels on two or more channels (e.g., left front, right front, center, left surround, right surround, etc.) may be performed to provide an overall loudness level of the two or more channels.
[0040] The overall loudness level may refer to the broadband (or wideband) loudness level in a single channel (e.g., center, etc.) of a speaker configuration. The overall loudness level may refer to the broadband (or wideband) loudness level in multiple channels. The multiple channels may be all channels in the speaker configuration (i.e., for the rendering mode). Additionally, optionally, or alternatively, the multiple channels may include a subset of channels in the speaker configuration (e.g., a subset of channels including left front, right front, and low frequency effects (LFE); a subset of channels including left surround and right surround; and a subset of channels including center, etc.).
[0041] The (e.g., wideband, broadband, overall, specific, etc.) loudness level may be used as input to look up corresponding (e.g., static, pre-smoothed, pre-limited, etc.) DRC gains from the selected dynamic range compression curve. The loudness level to be used as input to look up the DRC gains may first be adjusted or normalized relative to a dialog loudness level derived from metadata extracted from the encoded audio signal 102 and / or relative to an output reference level of a rendering mode. Adjustments and normalization related to adjusting the dialog loudness level / output reference level may be performed on the portion of the audio content in the encoded audio signal 102 in a non-loudness domain (e.g., SPL domain, etc.) before a specific spatial pressure level represented in the portion of the audio content in the encoded audio signal 102 is converted or mapped to a specific loudness level for the portion of the audio content in the encoded audio signal 102.
[0042] The DRC gain unit 114 may be configured with a DRC algorithm that generates a gain (e.g., a gain for dynamic range control, a gain for gain limiting, a gain smoothing, etc.), and applies the gain to one or more types of loudness levels represented by the audio data elements in the input audio data frame to achieve a target loudness level for a specific playback environment. The application of the gain (e.g., DRC gain, etc.) as described herein may occur in the loudness domain. For example, the gain may be generated based on a loudness calculation (which may be in Sone, or just, for example, an unconverted SPL value compensated for the dialog loudness level), smoothed, and applied directly to the input signal. The technique as described herein may apply the gain to the signal in the loudness domain, then convert the signal from the loudness domain back to the (linear) SPL domain, and calculate the corresponding gain to be applied to the signal by evaluating the signal in the loudness domain before and after the gain is applied to the signal. The ratio (or difference when expressed in logarithmic dB representation) then determines the corresponding gain for the signal.
[0043] The DRC algorithm can operate with a number of DRC parameters. The DRC parameters include the dialogue loudness level, which has been (as in Figure 2The dialog loudness level extracted from the encoded audio signal 102 may be used to reduce the loudness level difference between programs. The reference dialog loudness level may be set to the same value between different programs when the decoder 100 is in the same specific playback environment. Based on the dialog loudness level from the metadata, the DRC gain unit 114 may apply a dialog loudness-related gain to each audio data block in the program so that the output dialog loudness level (or output reference level) averaged over multiple audio data blocks of the program is raised / lowered to the reference dialog loudness level of the program (e.g., pre-configured, system default, user configurable, profile-related, etc.). The dialog loudness level may also be used to calibrate the DRC algorithm, in particular, the zero band of the DRC algorithm may be adjusted to the dialog loudness level. Alternatively, the desired output reference level may be used to calibrate the DRC algorithm when it is applied to the signal to which the gain has been applied, so that the dialog loudness level becomes equal to the desired output reference level. If speech gating has been used to determine the dialnorm parameter, the dialog loudness level may correspond to the so-called dialognorm parameter. In some embodiments, the dialog loudness level corresponds to a dialognorm parameter determined not by using speech gating, but by gating based on a loudness level threshold.
[0044] The DRC gains may be used to address loudness level differences within a program by boosting or cutting signal portions in soft and / or loud sounds according to a selected dynamic range compression curve. One or more of these DRC gains may be calculated / determined by a DRC algorithm based on a selected dynamic range compression curve and a determined (e.g., wideband, broadband, overall, specific, etc.) loudness level from one or more corresponding audio data blocks, audio data frames, etc.
[0045] The loudness level used to determine the DRC gain by looking up the selected dynamic range compression curve (e.g., static, pre-smoothed, pre-gain limited, etc.) can be calculated at short intervals (e.g., about 5.3 milliseconds, etc.). The integration time of the human auditory system (e.g., about 200 milliseconds, etc.) can be much longer. The DRC gain obtained from the selected dynamic range compression curve can be smoothed with a time constant that takes into account the long integration time of the human auditory system. In order to achieve a fast rate of change (increase or decrease) of the loudness level, a short time constant can be used to cause the loudness level to change within a short time interval corresponding to the short time constant. Conversely, in order to achieve a slow rate of change (increase or decrease) of the loudness level, a long time constant can be used to cause the loudness level to change within a long time interval corresponding to the long time constant.
[0046] The human auditory system may react to increasing loudness levels and decreasing loudness levels with different integration times. Different time constants may be used to smooth the static DRC gains found from the selected dynamic range compression curve depending on whether the loudness level is to be increased or decreased. For example, corresponding to the characteristics of the human visual system, the build-up (increase in loudness level) may be smoothed with a relatively short time constant (e.g., build-up time, etc.), while the release (decrease in loudness level) may be smoothed with a relatively long time constant (e.g., release time, etc.).
[0047] A DRC gain for a portion of the audio content (e.g., one or more blocks of audio data, frames of audio data, etc.) can be calculated using a loudness level determined from the portion of the audio content. The loudness level to be used for lookup in the selected dynamic range compression curve can first be adjusted relative to (e.g., with respect to, etc.) a dialog loudness level in metadata extracted from the encoded audio signal 102 (e.g., in a program of which the audio content is a part, etc.).
[0048] A reference dialog loudness level / output reference level (e.g., -31 dB in "line" mode) may be specified or established for a particular playback environment at decoder 100. FS , -20dB in "RF" mode FS , etc.). Additionally, alternatively or optionally, in some embodiments, a user may be given control over setting or changing the reference dialogue loudness level at decoder 100.
[0049] The DRC gain unit 114 may be configured to determine a dialog loudness related gain for the audio content to get from an input dialog loudness level to a reference dialog loudness level as an output dialog loudness level.
[0050] The audio renderer 108 may be configured to generate channel-specific audio data 116 for a particular speaker configuration (e.g., multi-channel, etc.) after applying gains determined based on DRC, gain limiting, gain smoothing, etc. to input audio data extracted from the encoded audio signal 102. The channel-specific audio data 116 may be used to drive speakers, headphones, etc. represented in the speaker configuration.
[0051] Additionally and / or alternatively, the decoder 100 may be configured to perform one or more other operations related to processing, rendering, downmixing, resampling, etc. associated with the input audio signal.
[0052] The techniques described herein can be used for various speaker configurations corresponding to a variety of different surround sound configurations (e.g., 2.0, 3.0, 4.0, 4.1, 4.1, 5.1, 6.1, 7.1, 7.1, 10.2, 10-60 speaker configurations, 60+ speaker configurations, object signals or combinations of object signals, etc.) and a variety of different rendering environment configurations (e.g., theaters, parks, opera houses, concert halls, bars, homes, auditoriums, etc.).
[0053] Figure 2 An example encoder 150 is illustrated. The encoder 150 may include an audio content interface 152, a dialog loudness analyzer 154, a DRC reference library 156, and an audio signal encoder 158. The encoder 150 may be part of a broadcast system, an internet-based content server, an over-the-air network operator system, a movie production system, or the like.
[0054] The audio content interface 152 may be configured to receive the audio content 160 and the audio content control input 162 for generating the encoded audio signal 102 based at least on some or all of the audio content 160 and the audio content control input 162. For example, the audio content interface 152 may be used to receive the audio content 160 and the audio content control input 162 from a content creator, a content provider, or the like.
[0055] Audio content 160 may constitute some or all of the total media data including only audio, including audiovisual, etc. Audio content 160 may include one or more of a portion of a program, a program, several programs, one or more commercials, etc.
[0056] The dialogue loudness analyzer 154 may be configured to determine / establish one or more dialogue loudness levels for one or more portions (e.g., one or more programs, one or more commercials, etc.) of the audio content 152. The audio content may be represented by one or more sets of audio tracks. The dialogue audio content of the audio content may be in separate audio tracks, and / or at least a portion of the dialogue audio content of the audio content may be in an audio track that includes non-dialogue audio content.
[0057] The audio content control input 162 may include some or all of the following: user control input, control input provided by a system / device external to the encoder 150, control input from a content creator, control input from a content provider, etc. For example, a user (such as a mixing engineer, etc.) may provide / specify one or more dynamic range compression curve identifiers; these identifiers may be used to retrieve one or more dynamic range compression curves that best fit the audio content 160 from a data library (such as the DRC reference library (156), etc.).
[0058] The DRC reference library 156 may be configured to store DRC reference parameter sets, etc. The DRC reference parameter sets may include definition data for one or more dynamic range compression curves, etc. The encoder 150 may (e.g., concurrently) encode more than one dynamic range compression curve into the encoded audio signal 102. Zero, one, or more of the dynamic range compression curves may be standard-based, proprietary, custom, decoder-modifiable, etc. For example, Figure 3 and Figure 4 The dynamic range compression curve of may be (eg, concurrently) encoded into the encoded audio signal 102 .
[0059] The audio signal encoder 158 may be configured to receive audio content from the audio content interface 152 , receive dialog loudness levels from the dialog loudness analyzer 154 , retrieve one or more DRC reference parameter sets (i.e., DRC profiles) from the DRC reference library 156 , format the audio content into audio data blocks / frames, format the dialog loudness levels, DRC reference parameter sets, etc. into metadata (e.g., metadata containers, metadata fields, metadata structures, etc.), and encode the audio data blocks / frames and the metadata into the encoded audio signal 102 .
[0060] The audio content to be encoded as the encoded audio signal 102 as described herein may be received in one or more of a variety of ways (such as wirelessly, via a wired connection, through a file, via Internet download, etc.), in one or more of a variety of source audio formats.
[0061] The encoded audio signal 102 as described herein may be a portion of an entire media data bitstream (e.g., for an audio broadcast, an audio program, an audiovisual program, an audiovisual broadcast, etc.). The media data bitstream may be accessed from a server, a computer, a media storage device, a media database, a media file, etc. The media data bitstream may be broadcast, sent, or received via one or more wireless or wired network links. The media data bitstream may also be transmitted via an intermediate medium (e.g., one or more of a network connection, a USB connection, a wide area network, a local area network, a wireless connection, an optical connection, a bus, a crossbar connection, a serial connection, etc.).
[0062] (For example, Figure 1 , Figure 2 ) Any of the components described in the present invention may be implemented as one or more processes and / or one or more IC circuits (e.g., ASIC, FPGA, etc.), and may be implemented in hardware, software, or a combination of hardware and software.
[0063] Figure 3 and Figure 4 An example dynamic range compression curve that can be used by the DRC gain unit 104 in the decoder 100 to derive the DRC gain from the input loudness level is illustrated. As illustrated, the dynamic range compression curve can be centered around a reference loudness level in the program (e.g., an output reference level) to provide an overall gain suitable for a particular playback environment. Example definition data (e.g., definition data in metadata of the encoded audio signal 102) of the dynamic range compression curve is shown in the following table (e.g., including but not limited to any of the following: boost ratio, cut ratio, rise time, release time, etc.). For different playback environments (e.g., at the decoder 100), different profiles (e.g., film standard, film light, music standard, film light, speech, etc.) can be different:
[0064]
[0065]
[0066] Table 1
[0067] According to dB SPL or dB FS Meter loudness level and dB SPL One or more compression curves describing the associated gain in dB may be received, and the DRC gain calculation is performed using the corresponding dB SPLThe compression curve used in the DRC gain calculation can then be converted to be described in different loudness representations (eg, Sone) with loudness levels having a non-linear relationship.
[0068] Figure 5 An example encoded audio signal 102 is illustrated that includes a sequence of frames (numbered n+1 to n+30, where n is an integer). In the illustrated example, every 5th frame is an I frame. In the illustrated example, the I frame (n+1) includes a plurality of DRC profiles (which are identified as AVR (audio / video receiver) for home theater, flat panel, portable HP (headphones), and portable SP (speakers)). Each DRC profile includes, for example, Figure 3 and Figure 4 Dynamic range compression curve shown.
[0069] The plurality of DRC profiles may be repeatedly inserted into the I-frames of the frame sequence. This allows the decoder 100 to determine the DRC profile that is suitable for the coded audio signal 102 and the current rendering mode when the coded audio signal 102 is started, when tuned into a running audio program and / or after a subsequent splice point. On the other hand, the repeated transmission of the full set of DRC profiles results in a relatively high bitstream overhead. In view of this, it is proposed to transmit a subset of the DRC profiles that vary within the I-frames of the coded audio signal 102.
[0070] Figure 5 An example for inserting a DRC profile within a sequence of frames is illustrated. In the illustrated example, only a single DRC profile from a full set of DRC profiles is inserted into an I frame. The DRC profile inserted into an I frame varies between I frames, and as a result, after N I frames (in the illustrated example, N=4), the decoder 100 has received the full set of N DRC profiles. By doing so, the data rate for transmitting the full set of DRC profiles can be reduced while ensuring that the decoder 100 receives the full set of DRC profiles in a reasonable amount of time.
[0071] Figure 6a and Figure 6bA flow chart of an example method 600 for determining a DRC profile for decoding a frame of an encoded audio signal 102 is shown. The method 600 may be performed by the decoder 100, in particular by the selector 110. When receiving the encoded audio signal 102 begins, the DRC profile used by the decoder 100 may be initialized. The DRC profile used to decode the current frame of the encoded audio signal 102 may be referred to as the current DRC profile. Thus, upon startup, the current DRC profile may be initialized. In particular, a default DRC profile (which is available at the decoder 100) may be set as the current DRC profile for rendering the current frame (method step 601). Thus, the variable "profile" may be set to the default DRC profile (profile=Default DRC Profile). Furthermore, the decoder 100 may keep track of a previously used profile. The previously used profile may be set to undefined (prev_profile=undefined).
[0072] The method 600 may further include a step 602 of obtaining a new frame to be decoded (i.e., the current frame) from the encoded audio signal 102. In step 603, it is verified whether the new frame is an I frame that may include a DRC profile. If the new frame is not an I frame, the method 600 proceeds to step 604 and the new frame is processed using the current DRC profile. Furthermore, in method step 605, the previously used profile is set as the current DRC profile (prev_profile=profile).
[0073] If the new frame is an I frame, it may be checked in method step 606 whether the I frame includes DRC data. For example, the metadata of the I frame may include a flag indicating whether the I frame includes DRC data. If DRC data does not exist, method 300 may continue with steps 604, 605. Otherwise, the method may continue with method step 607.
[0074] In method step 607, it can be verified whether the new frame is the first frame of the encoded audio signal 102 to be decoded. Figure 6a and Figure 6bAs can be seen from the flowchart of , this can be verified by checking the prev_profile variable. If the prev_profile variable is undefined, the new frame is the first frame to be decoded. If the new frame is the first frame to be decoded, the decoder 100 can use a predefined DRC profile other than the default DRC profile. To this end, the metadata of the new frame may include an identifier (ID) for such a predefined DRC profile. Such a predefined DRC profile may be stored in a database at the decoder 100. The use of predefined DRC profiles can provide a bit-rate efficient means for signaling the DRC profile to be used to the decoder 100, because only the ID of the predefined profile needs to be transmitted (method step 608). The predefined DRC profile signaled using the ID may also be referred to as an implicit DRC profile.
[0075] It should be noted that in some cases, it may be beneficial to use only one predefined DRC profile other than the default DRC profile. In such cases, the decoder 100 can be configured to set the profile variable to the predefined (i.e., implicit) DRC profile without receiving any ID within the metadata of the new frame.
[0076] Method 600 may further include verifying whether the metadata of the new frame includes one or more explicit DRC profiles (step 609). The explicit DRC profile may include an ID for identifying the explicit DRC profile. In addition, the explicit DRC profile generally includes: Figure 3 and Figure 4 The dynamic range compression curve shown in FIG. 1 may be defined as a piecewise linear function. In addition, the explicit DRC profile may indicate a range of output reference levels (ORL) to which the explicit DRC profile applies. For example, the default DRC profile and / or the predefined (implicit) DRC profile may apply to output reference levels in a range from -31 dB FS to 0 dB FS.
[0077] The ORL of a rendering device may indicate the dynamic range capability of the rendering device. Generally, the dynamic range capability decreases as the ORL increases. In the case of a high ORL, a compression curve with a high degree of compression should be used so that the audio signal is rendered in an understandable manner without clipping. On the other hand, in the case of a low ORL, the compression may be reduced in order to render the audio signal with a high dynamic range. Due to the high dynamic range capability of the rendering device, the intelligibility of the audio signal can still be guaranteed.
[0078] If the metadata of the new frame includes at least one explicit DRC profile, the profile data of the first DRC profile is read (step 610). Furthermore, it is verified whether the scope of the ORL of the first DRC profile is applicable to the currently used rendering device (step 611). If this is not the case, the method 600 continues to look for another explicit DRC profile within the metadata of the new frame. On the other hand, if the explicit DRC profile is applicable to the rendering device, the explicit DRC profile can be set as the current DRC profile to be used for processing the new frame (step 614).
[0079] The method 600 may further include verifying whether the headphone rendering mode is used and whether the explicit DRC profile is applicable to the headphone rendering mode (step 612). In addition, the method 600 may include verifying whether the explicit DRC profile is a newer profile compared to the previously used profile (step 613). To this end, the ID of the explicit DRC profile may be compared to the ID of the currently used profile. By doing so, it can be ensured that the decoder 100 always uses the most recent DRC profile.
[0080] Using the method 600, it is ensured that the decoder 100 can always identify the DRC profile for rendering a frame of the encoded audio signal 102, even if the decoder 100 has not yet received the DRC profile for the current rendering mode (i.e., for the current rendering device). In addition, it is ensured that the decoder 100 applies the DRC profile for the current rendering mode as soon as it receives the corresponding DRC profile.
[0081] Thus, a method 600 for decoding an encoded audio signal 102 is described. The encoded audio signal 102 includes a sequence of frames. In addition, the encoded audio signal 102 indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes. Examples for different rendering modes (or different reproduction environments) are a first DRC profile used in a home theater rendering mode; a second DRC profile used in a flat panel rendering mode; a third DRC profile used in a portable device loudspeaker rendering mode; and / or a fourth DRC profile used in a headphone rendering mode. The DRC profile defines a specific DRC behavior. The DRC behavior can be described with a compression curve (and a time constant) and / or with a DRC gain. The DRC gain can be a time-equidistant gain that can be applied to the encoded audio signal 102 to deploy the DRC. The compression curve can be accompanied by a time constant, which together configures the DRC algorithm. DRC typically reduces the volume of loud sounds and amplifies quiet sounds, thereby compressing the dynamic range of the audio signal for improving the experience in an undesirable reproduction environment.
[0082] A sequence of frames typically includes a plurality of consecutive frames forming an audio signal. An audio program (e.g., a broadcast TV or radio program) may include a plurality of audio signals joined at a splice point. For example, a main audio program may be interrupted in a repeating manner by advertising breaks. A sequence of frames may correspond to an entire audio program. Alternatively, a sequence of frames may correspond to one of a plurality of audio signals forming an entire audio program.
[0083] Different subsets of the plurality of DRC profiles may be included in different frames of a frame sequence such that two or more frames of the frame sequence jointly include the plurality of DRC profiles. As indicated above, the distribution of the DRC profiles over the plurality of frames of the frame sequence results in a reduction in bitstream overhead for signaling the plurality of DRC profiles.
[0084] The method 600 may include determining a first rendering mode from a plurality of different rendering modes. In particular, it may be determined which rendering mode is used to render the encoded audio signal 102. In addition, the method 600 may include determining 609, 610 one or more DRC profiles from a plurality of DRC profiles included in a current frame of the frame sequence. In other words, one or more DRC profiles in a subset of DRC profiles included in the current frame may be determined. In addition, it may be determined 611 whether at least one of the one or more DRC profiles is applicable to the first rendering mode. Determining 611 whether at least one of the one or more DRC profiles is applicable to the first rendering mode may include determining a first output reference level for the first rendering mode, determining a range of output reference levels to which a DRC profile in the one or more DRC profiles is applicable, and determining whether the first output reference level falls within the range of output reference levels.
[0085] The method 600 may further include: if none of the one or more DRC profiles are applicable to the first rendering mode, selecting 604 a default DRC profile as the current DRC profile. Definition data of the default DRC profile is typically known at the decoder 100 for decoding the encoded audio signal 102. In addition, the method 600 may include decoding (and / or rendering) the current frame using the current DRC profile. Thus, it can be ensured that the decoder 100 can use the DRC profile (and the dynamic range compression curve) even if the decoder 100 has not yet received a DRC profile specific to the encoded audio signal 102.
[0086] Alternatively or additionally, the method 600 may include: if a first DRC profile of the one or more DRC profiles is determined to be suitable for the first rendering mode, selecting 604 the first DRC profile as the current DRC profile. As a result, the decoder 100 is configured to use the first DRC profile that is optimal for the encoded audio signal 102 and for the first rendering mode as soon as the decoder 100 receives the first DRC profile.
[0087] The method 600 may further include determining 603, 606 whether a current frame of the frame sequence includes one or more DRC profiles of the plurality of DRC profiles, i.e., whether the current frame includes a subset of DRC profiles. Figure 5 As outlined in the context of , a DRC profile subset is typically included in an I frame of a sequence of frames. Therefore, determining 603, 606 whether the current frame includes one or more of the multiple DRC profiles or whether the current frame includes a DRC profile subset may include determining 603 whether the current frame is an I frame. As indicated above, an I frame may be a frame that can be decoded independently of any other frame in the sequence of frames. This may be due to the fact that the data included in such an I frame is transmitted in a manner independent of data from a previous frame or a subsequent frame. In particular, the encoding of the data included in the I frame is indistinguishable relative to the data included in the previous frame or the following frame.
[0088] Furthermore, determining 603, 606 whether the current frame includes one or more of the plurality of DRC profiles or whether the current frame includes a subset of DRC profiles may include verifying 606 a DRC profile flag included within the current frame. A DRC profile within a bitstream of an encoded audio signal provides a bandwidth and computationally efficient means for identifying frames carrying DRC profiles.
[0089] Method 600 may further include determining whether the current frame indicates an implicit DRC profile in a plurality of implicit DRC profiles. The implicit DRC profile may include a predefined old-fashioned compression curve and a time constant that may be used for transcoding to E-AC-3. As indicated above, the definition data of the implicit DRC profile may be known at the decoder 100 for decoding the input audio signal 102. In contrast to the default DRC profile, the implicit DRC profile may be specific to different types of audio signals (such as specified in Table 1, for example). The current frame of the sequence of frames may indicate a specific implicit DRC profile (e.g., by using an identifier, ID). This may provide a bandwidth efficient means for signaling a DRC profile suitable for encoding the audio signal 102. If it is determined that the current frame indicates an implicit DRC profile, an implicit DRC profile may be selected 608 as the current DRC profile.
[0090] The decoding of the current frame may include making the level of the frame sequence equal to the first output reference level of the first rendering mode. In addition, the decoding of the current frame may include modifying the loudness level of the current frame using a dynamic range compression curve specified in the current DRC profile. The modification of the loudness level may be as described in Figure 1 is performed as outlined in the context of .
[0091] Depending on the frame number in the frame sequence, the current DRC profile may correspond to a default DRC profile (which is generally independent of the input audio signal 102), to an implicit DRC profile (which may be modified in a limited way to adapt to the input audio signal 102), or to a first explicit DRC profile (which may have been designed for the input audio signal 102 and / or the first rendering mode).
[0092] Typically, only a subset of frames includes a DRC profile. Once a current DRC profile has been selected, the current DRC profile may be maintained for decoding frames of a sequence of frames that do not include any DRC profile. Furthermore, the current DRC profile may be maintained even when frames with a DRC profile are received, as long as no DRC profile that is more updated than the current DRC profile and / or has a higher correlation with the encoded audio signal 102 is received (wherein the selected first explicit DRC profile has a higher correlation than the selected implicit DRC profile, which has a higher correlation than the default DRC profile). By doing so, the continuity and optimality of the DRC profiles used may be ensured.
[0093] Complementary to the method 600 for decoding the encoded audio signal 102, a method for generating or encoding the encoded audio signal 102 is described. The encoded audio signal 102 includes a sequence of frames. In addition, the encoded audio signal 102 indicates a plurality of different dynamic range control (DRC) profiles for corresponding multiple different rendering modes. The method may include inserting different subsets of DRC profiles in the plurality of DRC profiles into different frames of the frame sequence so that two or more frames of the frame sequence jointly include the plurality of DRC profiles. In other words, a subset of DRC profiles having less than the total number of DRC profiles can be provided together with different frames of the frame sequence. By doing so, the overhead of the encoded audio signal 102 can be reduced while providing the full set of DRC profiles to the corresponding decoder 100. In other words, the advantage of the method is that the freedom of the encoder 150 to transmit the data of the DRC is improved. This freedom can be used to reduce the bit rate.
[0094] The sequence of frames may include a subsequence of I frames (e.g., every Xth frame of the sequence of frames may be an I frame). Different DRC profile subsets may be inserted into different (e.g., consecutive) I frames of the subsequence of I frames. To further reduce bandwidth, I frames may be skipped, i.e., some of the I frames may not include any DRC profile data.
[0095] (Eg each) DRC profile subset may include only one DRC profile. In particular, the plurality of DRC profiles may include N DRC profiles, where N is an integer and N>1. The N DRC profiles may be inserted into N different frames in the frame sequence. By doing so, the bit rate required to transmit the DRC profiles may be minimized.
[0096] The method may further include inserting all of the plurality of DRC profiles into the first frame of a sequence of frames (e.g., the first frame of a sequence of frames of an audio signal). As a result, rendering of the encoded audio signal 102 may be started directly with the correct explicit DRC profile. As indicated above, an audio program may be subdivided into a plurality of sub-audio programs, e.g., a main audio program interrupted by advertising breaks. It may be beneficial to insert all of the plurality of DRC profiles into the first frame of each sub-audio program. In other words, it may be beneficial to insert all of the plurality of DRC profiles directly after one or more splice points of an audio program comprising a plurality of sub-audio programs.
[0097] Different subsets of DRC profiles in the plurality of DRC profiles may be inserted into different frames of the sequence of frames such that each subset of M directly adjacent frames in the sequence of frames together constitutes the plurality of DRC profiles, where M is an integer, M>1. In other words, the plurality of DRC profiles may be repeatedly transmitted within a block of M frames. As a result, the decoder 100 must wait for a maximum of M frames before obtaining the optimal explicit DRC profile for encoding the audio signal 102.
[0098] The method may further include inserting a flag into a frame of the frame sequence, wherein the flag indicates whether the frame includes a DRC profile. Providing such a flag enables the corresponding decoder 100 to efficiently identify frames including DRC profile data.
[0099] A DRC profile of the plurality of DRC profiles may be an explicit DRC profile that includes (i.e., carries) definition data for defining a dynamic range compression curve. As outlined in the present document, the dynamic range compression curve provides a mapping between input loudness and output loudness and / or a gain to be applied to an audio signal. Specifically, the definition data may include one or more of: a boost gain for boosting input loudness; a boost gain range indicating a range of input loudness for which the boost gain is applicable; a zero band range indicating a range of input loudness for which a gain of 0 dB is applicable; a clip gain for attenuating input loudness; a clip gain range indicating a range of input loudness for which the clip gain is applicable; a boost gain ratio indicating a transition between zero gain and boost gain; and / or a clip gain ratio indicating a transition between zero gain and clip gain.
[0100] The method may further comprise inserting an indication (e.g., an identifier, ID) of an implicit DRC profile, wherein definition data of the implicit DRC profile is typically known to the decoder 100 of the encoded audio signal 102. The indication of the implicit DRC profile may provide a bandwidth efficient means for signaling a DRC profile that is modified (in a limited manner) to adapt the encoded audio signal 102.
[0101] As outlined above, the frames of a frame sequence typically include audio data and metadata. A DRC profile subset is typically inserted as metadata.
[0102] The DRC profile may include definition data for defining a range of output reference levels to which the DRC profile is applicable. The output reference level generally indicates the dynamic range of the rendering mode. In particular, the dynamic range of the rendering mode may decrease as the output reference level increases, and vice versa. In addition, the maximum boost gain and the maximum clipping gain of the dynamic range compression curve of the DRC profile may increase as the output reference level increases, and vice versa. Therefore, the output reference level provides an efficient means for selecting an appropriate DRC profile (having an appropriate dynamic range compression curve) for a particular rendering mode.
[0103] The method may further comprise generating a bitstream comprising the encoded audio signal 102. The bitstream may be an AC4 bitstream, ie the bitstream may be compatible with an AC4 bitstream format.
[0104] The method may further include inserting an explicit DRC gain for encoding the audio signal 102 into a frame of the frame sequence. In particular, a DRC gain applicable to a particular frame of the frame sequence may be inserted into the particular frame. Therefore, each frame of the frame sequence may include a DRC data component, which includes one or more explicit DRC gains to be applied to the corresponding frame. In particular, each frame may include different explicit DRC gains for different rendering modes. To this end, a DRC algorithm for different rendering modes may be applied in the encoder 150, and different DRC gains for different rendering modes may be determined at the encoder 150. Different DRC gains may then be explicitly inserted into the frame sequence. As a result, the corresponding decoder 100 directly applies an explicit DRC gain without performing a DRC algorithm using a dynamic range compression curve.
[0105] Therefore, a sequence of frames may include or may indicate a plurality of explicit DRC profiles for signaling a dynamic range compression curve for a plurality of corresponding rendering modes. The plurality of DRC profiles may be inserted into some (not all) of the frames of the sequence of frames (e.g., I frames). In addition, a sequence of frames may include or may indicate one or more DRC profiles for corresponding one or more rendering modes, wherein the one or more DRC profiles indicate that explicit DRC gains for one or more rendering modes are inserted into the frames of the sequence of frames. For example, the one or more DRC profiles for signaling explicit DRC gains may include a flag indicating whether the explicit DRC gains are included in the frames of the sequence of frames. The DRC gains may be inserted into each frame of the sequence of frames. In particular, each frame may include one or more DRC gains that will be used to decode the frame.
[0106] The method may include inserting a DRC profile for explicit DRC gains into a subset of frames in a sequence of frames. For example, the DRC profile whose DRC gains are transmitted may indicate DRC configuration data for explicit gains. Specifically, the DRC profile whose DRC gains are transmitted may be included in all of the subsets of DRC profiles. DRC configuration data (e.g., a flag) may indicate that a sequence of frames includes explicit DRC gains for a particular rendering mode. By doing so, the decoder 100 is informed of the fact that for a particular rendering mode, explicit DRC gains will be directly derived from frames of the sequence of frames.
[0107] Thus, the method may further include determining explicit DRC gains for encoding the audio signal 102 for a particular rendering mode. Additionally, the method may include inserting explicit DRC gains into frames of the sequence of frames. The explicit DRC gains may be inserted into frames in the sequence of frames to which the explicit DRC gains apply. Additionally, frames in the sequence of frames may include one or more explicit DRC gains required for decoding the frames within the particular rendering mode.
[0108] The method may further include inserting a DRC profile indicating DRC configuration data for a particular rendering mode into a subset of frames (e.g., I frames) in the sequence of frames. The DRC configuration data (including, for example, a flag) may indicate the fact that for a particular rendering mode, explicit DRC gains are included in frames of the sequence of frames. Thus, the decoder 100 may efficiently determine whether to use compression curves from a plurality of DRC profiles for signaling a dynamic range compression curve or whether to use explicit DRC gains.
[0109] A DRC profile for signaling a dynamic range compression curve and one or more DRC profiles pointing to an explicit DRC profile may be included within a dedicated syntax element (referred to as, for example, a DRC profile syntax element) of an I-frame of a frame sequence.
[0110] The method and system described in this document can be implemented as software, firmware and / or hardware. Certain components can be implemented as software running on a digital signal processor or a microprocessor, for example. Other components can be implemented as hardware and / or an application-specific integrated circuit, for example. The signals encountered in the described method and system can be stored on a medium such as a random access memory or an optical storage medium. They can be transmitted via a network such as a radio network, a satellite network, a wireless network or a wired network (e.g., the Internet). Typical devices using the method and system described in this document are portable electronic devices or other consumer devices for storing and / or rendering audio signals.
Claims
1. A method for decoding an encoded audio signal, wherein: The coded audio signal comprises a sequence of frames, the frames containing coded audio data and metadata, the metadata comprising a plurality of different sets of dynamic range control (DRC) gains, wherein the coded audio signal further comprises an indication of loudness of the audio signal, and DRC configuration metadata in one or more frames of the sequence of frames, wherein the DRC configuration metadata indicates a plurality of DRC profiles associated with the coded audio signal and, for each DRC profile, indicates a range of output loudness levels for which the DRC profile is applicable, wherein each set of DRC gains corresponds to one of the plurality of DRC profiles, the method comprising: Setting a desired output loudness level for the decoded audio signal; identifying one or more of the DRC profiles for which the applicable range of the output loudness level includes a desired output loudness level of the decoded audio signal; Select one of the identified DRC profiles; Decoding the encoded audio signal; adjusting a dynamic range of a decoded audio signal by applying a DRC gain corresponding to a selected DRC profile to the decoded audio signal; determining a loudness related gain in response to an indication of the loudness of the audio signal and a desired output loudness level of the decoded audio signal; and applying a loudness related gain to the adjusted decoded audio signal to obtain a loudness adjusted decoded audio signal having a desired output loudness level, One or more of the DRC profiles are suitable for playback on a device with a limited dynamic range.
2. The method according to claim 1, wherein: Selecting one of the identified DRC profiles includes selecting one of the DRC profiles suitable for playback on a device having a limited dynamic range.
3. A decoder for decoding an encoded audio signal, wherein: The coded audio signal comprises a sequence of frames, the frames containing coded audio data and metadata, the metadata comprising a plurality of different sets of dynamic range control (DRC) gains, wherein the coded audio signal further comprises an indication of loudness of the audio signal, and DRC configuration metadata in one or more frames of the sequence of frames, wherein the DRC configuration metadata indicates a plurality of DRC profiles associated with the coded audio signal and, for each DRC profile, indicates a range of output loudness levels for which the DRC profile is applicable, wherein each set of DRC gains corresponds to one of the plurality of DRC profiles, wherein the decoder comprises one or more processors that perform the following operations: Setting a desired output loudness level for the decoded audio signal; identifying one or more of the DRC profiles for which the applicable range of the output loudness level includes a desired output loudness level of the decoded audio signal; Select one of the identified DRC profiles; Decoding the encoded audio signal; adjusting a dynamic range of a decoded audio signal by applying a DRC gain corresponding to a selected DRC profile to the decoded audio signal; determining a loudness related gain in response to an indication of the loudness of the audio signal and a desired output loudness level of the decoded audio signal; and applying a loudness-related gain to the adjusted decoded audio signal to obtain a loudness-adjusted decoded audio signal having a desired output loudness level; One or more of the DRC profiles are suitable for playback on a device with a limited dynamic range.
4. The method according to claim 3, wherein: Selecting one of the identified DRC profiles includes selecting one of the DRC profiles suitable for playback on a device having a limited dynamic range.
5. A method for generating an encoded audio signal (102), wherein: The encoded audio signal (102) comprises a frame sequence; wherein the encoded audio signal (102) indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes; the method comprises: inserting different subsets of the plurality of different DRC profiles into different frames of the sequence of frames such that two or more frames in the sequence of frames collectively include the plurality of different DRC profiles; Wherein, the DRC profile subset includes only a single DRC profile, and the plurality of different DRC profiles includes N DRC profiles, where N is an integer, N>1, The frame sequence includes an I frame sequence, and different DRC profile subsets are inserted into different I frames of the I frame sequence.
6. An encoder (150) for generating an encoded audio signal (102), wherein: The encoded audio signal (102) comprises a sequence of frames; wherein the encoded audio signal (102) indicates a plurality of different dynamic range control (DRC) profiles for corresponding plurality of different rendering modes; wherein the encoder (150) is configured to: inserting different subsets of the plurality of different DRC profiles into different frames of the sequence of frames such that two or more frames in the sequence of frames collectively include the plurality of different DRC profiles; Wherein, the DRC profile subset includes only a single DRC profile, and the plurality of different DRC profiles includes N DRC profiles, where N is an integer, N>1, The frame sequence includes an I frame sequence, and different DRC profile subsets are inserted into different I frames of the I frame sequence.
7. A non-transitory computer-readable storage medium comprising a sequence of instructions, wherein: The sequence of instructions, when executed by an audio signal processing device, causes the audio signal processing device to perform the method according to any one of claims 1 , 2 and 5 .
8. A device for decoding a coded audio signal, comprising: processor, A non-transitory computer-readable storage medium comprising a sequence of instructions, wherein when the sequence of instructions is executed by the processor, the processor is caused to perform the method according to claim 1 or 2.
9. A device for generating a coded audio signal, comprising: processor, A non-transitory computer-readable storage medium comprising a sequence of instructions, wherein the sequence of instructions, when executed by the processor, causes the processor to perform the method according to claim 5.
10. An apparatus for decoding an encoded audio signal, comprising means for performing the method according to claim 1 or 2.
11. An apparatus for generating an encoded audio signal, comprising means for performing the method according to claim 5.
12. A computer program product comprising instructions which, when executed by a computer, cause the computer to perform the method according to any one of claims 1, 2 or 5.
Citation Information
Patent Citations
Efficient DRC configuration file transfer
CN113257273B