Audio decoder, audio encoder, method for providing a decoded audio signal, method for providing an encoded audio signal, audio stream, audio stream provider, and computer program using a stream identifier

The audio decoder uses stream identifiers within configuration structures to facilitate smooth transitions between audio streams, ensuring seamless playback and avoiding artifacts by adapting decoding parameters, thus enhancing audio quality and efficiency.

JP7795017B2Active Publication Date: 2026-01-06FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025011289
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-01-11
Filing Date
2025-01-27
Publication Date
2026-01-06
Estimated Expiration
2038-01-10

AI Technical Summary

Technical Problem

Existing audio decoders struggle to seamlessly transition between different audio streams with varying bitrates without causing audible artifacts, as they lack effective methods to identify and adapt to changes in stream configurations.

Method used

An audio decoder that adjusts decoding parameters based on configuration information, including a stream identifier in the configuration structure, allowing it to recognize transitions between streams without requiring additional protocol-level information, thus avoiding reinitialization and maintaining audio quality.

Benefits of technology

Enables seamless transitions between audio streams with minimal overhead, preventing audible artifacts and maintaining efficient decoding without excessive computational resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007795017000003
    Figure 0007795017000003
  • Figure 0007795017000004
    Figure 0007795017000004
  • Figure 0007795017000005
    Figure 0007795017000005
Patent Text Reader

Abstract

To provide an audio decoder for providing a decoded audio signal representation on the basis of an encoded audio signal representation.SOLUTION: An audio decoder 100 provided herein is configured to adjust decoding parameters in dependence on a configuration information and decode one or more audio frames using current configuration information 140. When configuration information 110a in a configuration structure associated with the one or more frames to be decoded, or a relevant portion thereof, is different from current configuration information, the audio decoder: compares the configuration information in the configuration structure associated with the one or more frames to be decoded with the current configuration information using a comparator 150; and makes a transition to perform decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention relates to an audio decoder for providing a decoded audio signal representation based on an encoded audio signal representation.

[0002] An embodiment of the present invention also relates to an audio encoder for providing an encoded audio signal representation.

[0003] An embodiment of the present invention also relates to a method for providing a decoded audio signal representation.

[0004] An embodiment of the present invention also relates to a method for providing an encoded audio signal representation.

[0005] Additionally, the embodiments of the present invention relate to audio streams.

[0006] An embodiment of the present invention also relates to an audio stream provider.

[0007] An embodiment of the present invention also relates to a computer program for performing one of the methods. [Background technology]

[0008] In the following, the problems underlying aspects of the present invention and possible use scenarios of embodiments according to the present invention are described.

[0009] There are situations where there are transitions between different audio streams or different sequences of coded audio frames, for example different sequences of audio frames may contain different audio content and transitions should be made between them.

[0010] For example, when MPEG-D USAC (ISO / IEC 23003-3+Amd.1+Amd.2+Amd.3) is used in cases where adaptive streaming is used, situations can arise where two streams in a so-called adaptation set (e.g., a grouping of two or more streams that a user can switch between) have exactly the same composition structure, even if their bitrates are different. This can happen, for example, if an encoder simply chooses to operate the encoder using exactly the same coding toolset for both bitrates.

[0011] For example, an audio encoder can use the same basic encoding settings (which are also signaled to the audio decoder) but still provide different representations of the audio values. For example, an audio encoder can use a coarser quantization of spectral values, which results in a smaller bit demand if the basic encoder or decoder settings remain unchanged but it is desired to achieve a lower bit rate.

[0012] However, this (e.g., the occurrence of a situation where two streams in an adaptation set have exactly the same composition structure even though their bit rates differ) is not a problem in itself. .

[0013] However, it has been found that when adaptive streaming is used, the decoder should know whether subsequently received access units (or "frames") come from the same stream or whether a change of stream has occurred.

[0014] When a change in the stream is detected, the audio decoder is known to perform a specific series of operational steps, in some cases, which ensure that: One decoder instance is gracefully shut down and the temporarily stored internal decoded signal portion is sent to the decoder output - a process called "flushing" - the decoder re-instantiates and reconfigures itself with the configuration information associated with the modified stream. The decoder "pre-rolls" the embedded access units piggybacked on the Instant Play Frame (IPF). This pre-rolling of the access units puts the decoder into a fully initialized state, so that the output of the decoded first frame is a fully compliant decoded audio signal. Optionally, the audio output from the decoder flushing process and the output from decoding the first access unit of the reconstructed decoder are cross-faded for a very short period of time, for example in response to corresponding bitstream signaling elements.

[0015] For example, all of the above steps can be performed with the sole objective of obtaining a "seamless" transition from the decoded audio of one stream to the decoded audio of another stream. "Seamless" means that there are no audible artifacts or glitches from the stream transition itself. In practice, the stream transition may be perceptually noticeable. This is due, for example, to variations in the overall coding quality or in the audio bandwidth or sound quality. However, the actual point (in time) of the transition does not itself cause an auditory impression. In other words, there are no "clicks," "noise bursts," or similar disturbing sounds at the transition point.

[0016] It turns out that information about whether a stream change has occurred can be obtained by analyzing the configuration structure embedded in the instant-play frame and comparing it with the configuration of the currently decoded stream. For example, an audio decoder can assume a stream change if and only if the received configuration differs from the current configuration.

[0017] For example, when a decoder receives instant-play frames (IPFs) of a stream at various bit rates, it will detect the presence of an audio preroll extension payload, extract the configuration structure, and compare this new configuration with the current configuration. See also ISO / IEC 23003-3:2012 / Amd.3, subclause "Bitrate adaptation", for further details.

[0018] However, if both the current and new configuration structures are identical, the decoder will not be able to recognize that it is receiving access units from a different stream than before, and therefore will not reconfigure the decoder or decode the audio preroll that is in the extended payload of the IPF.

[0019] Instead, the decoder will attempt to continue decoding as if it had received a successive access unit from the previous active stream. This can lead to issues (e.g., in the conventional case where streamID is not used or evaluated) where the window boundaries and coding modes of the last decoded frame and the new frame of the new stream do not correspond. This would likely lead to situations where the audio is too slow, resulting in audible artifacts such as clicks and noise bursts, which would hinder the main goal of IPF and the idea of ​​adaptive audio streaming, which is based on the notion of seamless transitions between streams.

[0020] Some conventional approaches are described below.

[0021] It should be noted that in the case of Unified Speech and Audio Coding (USAC), there is no known solution.

[0022] In MPEG-H 3D Audio (ISO / IEC 23008-3+ all amendments), the problem can be solved if the audio data is transmitted in the MPEG-H Audio Stream ("MHAS") packetized stream format. The MHAS package contains packet labels that may differ between streams, thus serving the purpose of distinguishing between configurations. However, the MHAS format is not specified in the MPEG-D USAC.

[0023] In MPEG-4 HE-AAC (ISO / IEC 14496-3+ all amendments), there is a workaround that requires the encoder to ensure that all streams at potential transition points (so-called Stream Access Points (SAPs)) have identical window shapes and window sequences, as well as further constraints on the signal processing tools used. This can have a negative impact on audio quality. The IPF mentioned above is designed to completely free new codecs from all these constraints.

[0024] In conclusion, there is a need for a concept that allows switching between different audio streams and offers an improved compromise between the amount of overhead and ease of implementation. Summary of the Invention [Problem to be solved by the invention]

[0025] An embodiment of the present invention creates an audio decoder for providing a decoded audio signal representation based on an encoded audio signal representation. The audio decoder is configured to adjust decoding parameters depending on configuration information. The audio decoder is configured to decode one or more audio frames using a current configuration (e.g., using currently active configuration information). Furthermore, if configuration information in a configuration structure associated with one or more frames to be decoded or a relevant portion of the configuration information in the configuration structure associated with one or more frames to be decoded (e.g., up to and including a stream identifier) ​​differs from the current configuration information, the audio decoder is configured to compare the configuration information in the configuration structure associated with one or more frames to be decoded with the current configuration information and transition to performing decoding using the configuration information in the configuration structure associated with one or more frames to be decoded as new configuration information. The audio decoder is configured to take into account stream identifier information included in the configuration structure when comparing the configuration information, such that a difference between a stream identifier previously obtained by the audio decoder and a stream identifier represented by the stream identifier information in the configuration structure associated with one or more frames to be decoded causes the transition.

[0026] This embodiment of the present invention is based on the idea that the presence and evaluation of stream identifier information contained in the configuration structure allows the audio decoder to distinguish between different streams, and thus to perform a transition even if the actual decoding configuration (e.g., as described by the remaining configuration information in the configuration structure) is identical for both streams. Thus, the stream identifier can be used as a criterion for distinguishing between different streams to which a transition can be made. Because the stream identifier information is included in the configuration structure (e.g., along with other configuration information that adjusts the decoding parameters of the audio decoder), information from different protocol layers does not need to be evaluated when determining whether to make a transition. For example, the stream identifier information is included in a sub-data structure of the data structure that defines the decoding parameters (the "configuration structure"), so that information does not need to be transferred from the packet level to the actual audio decoder. Including the stream identifier information in the configuration structure allows the audio decoder to recognize the transition from a first stream to a second stream, but does not affect the decoding parameters when decoding consecutive portions of a single stream. Even in situations where the same decoding parameters are used in different streams, the audio decoder can recognize the switch between different streams without accessing information from different protocol levels. Furthermore, where a switch between different streams is allowed, the different streams do not need to use identical decoding parameters.

[0027] In conclusion, the concept defined by independent claim 1 allows the recognition of switching between different streams with moderate implementation complexity (e.g., without extracting dedicated signaling information from different protocol levels and forwarding it to the audio decoder), while avoiding the need to enforce specific encoding / decoding settings (e.g., window selection, etc.) during the transition, thus avoiding excessive overhead and audio quality degradation.

[0028] In a preferred embodiment, the audio decoder is configured to check whether the configuration structure includes stream identifier information, and if so, to selectively consider the stream identifier information in the comparison. Thus, it is not necessary to include stream identifier information in each configuration structure. Rather, it is possible to omit the stream identifier in the configuration structure of audio frames where the possibility of switching between different streams is not required. Thus, some bits can be saved, and evaluation of the stream identifier information can be avoided at points where switching between different streams is not permissible.

[0029] In a preferred embodiment, the audio decoder is configured to check whether the composition structure includes a composition extension structure and to check whether the composition extension structure includes a stream identifier. The audio decoder may be configured to selectively consider the stream identifier information in the comparison if the stream identifier information is included in the composition extension structure.

[0030] Thus, stream identifiers can be placed within configuration extension structures whose presence is optional, and the presence of stream identifier information can even be considered optional even when a configuration extension structure is present. Thus, an audio decoder can flexibly recognize whether stream identifier information is present or not, and an audio encoder can avoid including unnecessary information. Placing the stream identifier in a data structure that can be activated and deactivated (e.g., by a flag in a fixed (always present) part of the configuration structure) allows the stream identifier information to be placed exactly where it is needed, while saving bits when it is not needed. This is advantageous because switching between streams is usually only possible at designated times, so each frame with a configuration structure does not need to also include stream identifier information.

[0031] In a preferred embodiment, the audio decoder is configured to accommodate variable ordering of configuration information items within a configuration extension structure. For example, when comparing configuration information within a configuration structure associated with one or more frames to be decoded with current configuration information, the audio decoder may select configuration information located within the configuration extension structure before stream identifier information (e.g., before an item named "streamID") (e.g., as well as stream identifier information). Additionally, the audio decoder may be configured to leave configuration information items (e.g., configuration extensions) located in a configuration extension structure (e.g., "UsacConfigExtension()") after the stream identifier information not considered when comparing configuration information in a configuration structure associated with one or more frames to be decoded with the current configuration information.

[0032] By using such a concept, the detection of transitions between different streams can be performed in a very flexible manner. For example, all such configuration information items that indicate "significant" changes in the audio stream can be placed in the configuration extension structure before the stream identifier information, so that a change in these parameters triggers a transition from one stream to another. On the other hand, by leaving some configuration information items out of consideration when comparing the information in the configuration structure related to one or more frames to be decoded with the current configuration information, it is possible to change "dependent" configuration parameters of the audio decoder without triggering a "transition," i.e., a switch from one stream to another, which may lead to reinitialization. In other words, by only evaluating the configuration information items placed in the configuration extension structure before the stream identifier information and the stream identifier information itself in the comparison, it is possible to prevent changes in "dependent" decoding parameters from triggering a "transition." Rather, it is possible for the audio encoder to place such "dependent" configuration information items (associated with dependent decoding parameters) after the stream identifier information in the configuration extension structure. The audio encoder can then change such "dependent" configuration information items in the stream without triggering a "transition" (or reinitialization) with each change. On the other hand, those configuration information items that remain unchanged in the stream before the stream identifier information in the configuration extension structure, and changes to such "highly relevant" configuration information items (which may, for example, indicate a "significant" change in the audio stream) will result in a "transition" (and typically a re-initialization of the audio decoder). Because the audio decoder can also accommodate variable ordering of configuration information items in the configuration extension structure, the audio encoder can determine, depending on signal characteristics or other criteria, which configuration information item changes will cause a "transition" or re-initialization of the audio decoder, and which configuration information item changes are possible in the stream without causing a "transition" or re-initialization of the audio decoder.

[0033] In a preferred embodiment, the audio decoder is configured to identify one or more configuration information items within a configuration extension structure based on one or more configuration extension type identifiers preceding each configuration information item, the use of such configuration extension type identifiers allowing for the implementation of variable ordering of the configuration information items.

[0034] In a preferred embodiment, the configuration extension structure is a sub-data structure of the configuration structure, and the presence of the configuration extension structure is indicated by a bit in the configuration structure that is evaluated by the audio decoder. The stream identifier information is a sub-data item of the configuration extension structure, and the presence of the stream identifier information is indicated by a configuration extension type identifier associated with the stream identifier information that is evaluated by the audio decoder. Therefore, it is possible to flexibly determine when to add stream identifier information to an audio stream, and the audio decoder can easily determine when such stream identifier information is available. Therefore, it is sufficient to include stream identifier information for audio streams (which requires a large number of bits) at points where switching between different streams is possible. Instantaneous Playback Frames (IPFs) within consecutive audio streams do not need to carry stream identifier information at positions where there is no possibility of switching between different streams, thereby saving bitrate.

[0035] In a preferred embodiment, the audio decoder receives random access information (e.g., "A The audio decoder is configured to retrieve and process audio frame representations (e.g., instant play frames, IPFs) containing an audio preroll extension payload (also denoted as "audioPreRoll()"). The random access information includes a configuration structure (e.g., denoted as "Config()") and information (e.g., denoted as "AccessUnit()") for bringing the state of the audio decoder's processing chain into a desired state. If the audio decoder detects that the configuration structure of the random access information (e.g., in "Config()") or relevant parts of the configuration information in the configuration structure of the random access information differ from the current configuration information, the audio decoder is configured to perform a crossfade between audio information represented by audio frames processed (decoded) before reaching the audio frame representation containing random access information (e.g., direct play frames, IPFs) and audio information derived based on the audio frame representation containing random access information, after initializing the audio decoder using the configuration structure of the random access information and adjusting the state of the audio decoder using the information for bringing the state of the processing chain into the desired state. For example, if the value "numPreRollFrames" is zero, decoding of preroll frames can be omitted.

[0036] In other words, by evaluating the configuration information in the configuration structure, or relevant portions thereof (e.g., up to and including the stream identifier information), an audio decoder can recognize whether there is a transition between different streams, and if there is a transition between different streams, the audio decoder can utilize the random access information. The random access information helps to put the audio decoder's processing chain into an appropriate state (which is typically influenced by one or more previous frames in the absence of a transition), thereby avoiding artifacts at the transition. In conclusion, this concept enables artifact-free switching between different streams, and the audio decoder does not need any information from different protocol levels except for a series of frame representations.

[0037] In a preferred embodiment, if the audio decoder decodes an audio frame (e.g., an instant-play frame) immediately preceding the audio frame represented by the audio frame representation including the random access information, and if the audio decoder detects that the relevant portion of the configuration information in the configuration structure of the random access information is equal to the current configuration information, the audio decoder is configured to continue decoding without performing audio decoder initialization and without using information (e.g., a pre-roll extension payload) to bring the state of the audio decoder processing chain into a desired state. Thus, when the audio decoder recognizes, by comparing the relevant portion of the configuration information in the configuration structure with the current configuration information, that there is continuous playback of the same stream rather than a transition between different streams, overhead (e.g., processing overhead or computational overhead) that would be caused by performing audio decoder initialization is avoided. Thus, a high level of efficiency is achieved, and audio decoder initialization is performed only when it is needed.

[0038] In a preferred embodiment, the audio decoder is configured to use the configuration structure of the random access information to perform audio decoder initialization, and to use the information to adjust the state of the audio decoder to a desired state in the processing chain when the audio decoder has not yet decoded the audio frame immediately preceding the audio frame represented by the audio frame representation containing the random access information. In other words, initialization is also performed when there is an actual "random access" (where the audio decoder knows that the preceding audio frame has not been decoded). Thus, the random access information is used in cases of actual "random access" (i.e., when jumping to a specific frame) and when switching between different streams ("actual" random access). can be signaled to the audio decoder, and switching between different streams may only be recognizable by the audio decoder by evaluation of stream identifier information).

[0039] It should be noted that the audio decoder described herein may optionally be supplemented by any of the features, functions and details described herein, either individually or in combination.

[0040] An embodiment according to the present invention creates an audio encoder for providing an encoded audio signal representation. The audio encoder is configured to encode convolved or non-convolved frames of an audio signal using coding parameters to obtain an encoded audio signal representation. The audio encoder is configured to provide a configuration structure describing the encoding parameters (or, equivalently, decoding parameters to be used by an audio decoder). The configuration structure also includes a stream identifier.

[0041] Thus, the audio encoder provides an audio signal representation that is fully usable by the audio decoder described above. For example, the audio encoder can include different stream identifiers in the configuration structure of different streams. Thus, the stream identifiers do not describe the decoder configuration (or decoding parameters) to be used by the audio decoder, but rather may be information that identifies the stream. Thus, the encoded audio signal representation includes the stream identifiers, and different streams can be identified based on the encoded audio signal information itself, without requiring information from different protocol levels. For example, because the stream identifier information is an integral part of the audio signal representation or the configuration structure included within the audio signal representation, the use of information provided at the packet level is not necessary. As a result, as discussed herein, the audio decoder can recognize switching between different streams even if the decoder's actual configuration parameters remain unchanged.

[0042] In a preferred embodiment, the audio encoder is configured to include the stream identifier in a configuration extension structure of the configuration structure, and the configuration extension structure including the stream identifier can be enabled and disabled by the audio encoder. Therefore, the audio encoder can flexibly decide whether to include the stream identifier information. For example, the inclusion of the stream identifier information can be selectively omitted for audio frames for which the audio encoder knows that no stream switch exists.

[0043] In a preferred embodiment, the audio encoder is configured to include a configuration extension type identifier that specifies a stream identifier in the configuration extension structure to signal the presence of a stream identifier in the configuration extension structure. Thus, if other configuration extension information is present in the configuration extension structure, it is even possible to omit the stream identifier information. In other words, not all configuration extension structures necessarily need to include a stream identifier, which helps to save bits.

[0044] In a preferred embodiment, the audio encoder is configured to provide at least one configuration structure that includes a stream identifier and at least one configuration structure that does not include a stream identifier. Thus, a stream identifier is only included in a configuration structure if the audio encoder recognizes that this is necessary. For example, the audio encoder only needs to include a stream identifier in the configuration structure for frames where switching between streams is possible. By doing so, the bit rate can be kept fairly small.

[0045] In a preferred embodiment, the audio encoder is configured to switch between supplying first encoded audio information represented by a first sequence of audio frames and supplying second encoded audio information represented by a second sequence of frames, where proper rendering of the first audio frame of the second sequence of audio frames after rendering of the last frame of the first sequence of audio frames requires reinitialization of the audio decoder. In this case, the audio encoder is configured to include, in an audio frame representation representing the first audio frame of the second sequence of audio frames, a configuration structure including a stream identifier associated with the second sequence of audio frames. The stream identifier associated with the second sequence of audio frames is selected to be different from the stream identifier associated with the first sequence of frames. Thus, the audio encoder can provide signaling within the configuration structure that enables the audio decoder to distinguish between the different streams and recognize when reinitialization (also called a "transition") should be performed.

[0046] In a preferred embodiment, the audio encoder does not provide any other signaling information indicating the switch from the first sequence of audio frames to the second sequence of audio frames, except for the stream identifier. Therefore, the bit rate can be kept fairly small. In particular, it is possible to avoid signaling at a different protocol level than the encoded audio information. Furthermore, the audio encoder does not know in advance when the switch from the first sequence of audio frames to the second sequence of audio frames will actually occur. For example, the audio decoder initially requests audio frames from the first sequence of audio frames, and when the audio decoder recognizes a need (e.g., when there is an increase or decrease in the available bit rate), the audio decoder (or other control device controlling the supply of audio frames) can decide that audio frames from the second stream should be processed by the audio decoder. However, in some cases it may happen that the audio decoder does not know by itself when (or exactly when) there will be a switch between supplying audio frames from the first sequence and supplying audio frames from the second sequence, and will only be able to recognize from which sequence the audio frames it is currently receiving originated by evaluating the stream identifier contained in the configuration structure.

[0047] In a preferred embodiment, an audio encoder is configured to provide a first sequence of audio frames (e.g., a first stream) and a second sequence of audio frames (e.g., a second stream) using different bit rates (where the first stream and the second stream may represent the same audio content). Furthermore, the audio encoder may be configured to indicate to the audio decoder identical decoder configuration information for decoding the first sequence of audio frames and the second sequence of audio frames, except for different bit stream identifiers. In other words, the audio encoder may indicate to the audio decoder to use the same decoder parameters, but the first stream and the second stream may still include different bit rates. This may be caused, for example, by using different quantization resolutions or different psychoacoustic models when providing the first audio stream and the second audio stream. However, these different quantization resolutions or different psychoacoustic models do not affect the decoding parameters to be used by the audio decoder, but only the actual bit rate. Therefore, the different bitstream identifiers may be the only possibility for an audio decoder to distinguish whether the audio frame to be decoded is from the first stream or the second stream, and the evaluation of the bitstream identifiers is performed by the audio decoder. It also allows the system to know when to perform a transition (or reinitialization).

[0048] Thus, an audio encoder can function in an environment where variations in available bitrates can occur and signaling overhead can be kept reasonably small.

[0049] Furthermore, it should be noted that the audio encoder described herein may optionally include any of the features, functions, and details described herein.

[0050] Another embodiment of the present invention relates to a method for providing a decoded audio signal representation based on an encoded audio signal representation. The method includes adjusting decoding parameters depending on configuration information, and the method includes decoding one or more audio frames using current configuration information (e.g., currently active configuration information). The method also includes comparing configuration information in a configuration structure associated with one or more frames to be decoded with the current configuration information. If the configuration information in the configuration structure associated with one or more frames to be decoded or a relevant portion of the configuration information in the configuration structure associated with one or more frames to be decoded (e.g., up to and including a stream identifier) ​​differs from the current configuration information, the method includes transitioning (e.g., including reinitializing decoding) to perform decoding using the configuration information in the configuration structure associated with one or more frames to be decoded as a new configuration. The method also includes taking into account stream identifier information included in the configuration structure when comparing the configuration information, such that a difference between a stream identifier previously obtained in the audio decoding and a stream identifier represented by the stream identifier information in the configuration structure associated with one or more frames to be decoded causes the transition. This method is based on the same considerations as the audio decoder described above.

[0051] This method may incorporate any of the features and functions and details described herein, either individually or in combination.

[0052] Another embodiment according to the present invention creates a method for providing a coded audio signal representation, the method comprising: encoding overlapped or non-overlapping frames of an audio signal using coding parameters to obtain a coded audio signal representation; the method comprises providing a configuration structure describing the coding parameters (or, equivalently, decoding parameters to be used by an audio decoder), the configuration structure including a stream identifier; the method is based on the same considerations as for the audio encoder, as described above.

[0053] Furthermore, it should be noted that the methods described herein may be supplemented with any of the features and functions described above with respect to the corresponding audio decoders and audio encoders. Furthermore, the methods may be supplemented with any of the features, functions and details described herein, individually or in combination.

[0054] Embodiments according to the present invention create an audio stream. The audio stream includes a coded representation of overlapped or non-overlapping frames of an audio signal. The audio stream also includes a configuration structure that describes coding parameters (or, equivalently, decoding parameters to be used by an audio decoder). The configuration structure includes stream identifier information (e.g., in the form of an integer value) that represents a stream identifier.

[0055] The audio stream is based on the above considerations. In particular, a stream identifier included in the configuration structure of the audio stream describing the encoding parameters (or equivalently, the decoding parameters used by the audio decoder) allows the audio decoder to distinguish between different streams when the same encoding parameters (or decoding parameters) are used. This makes it possible.

[0056] In a preferred embodiment, the stream identifier information is included in a configuration extension structure. In this case, the configuration extension structure is preferably a sub-data structure of the configuration structure, and the presence of the configuration extension structure is indicated by a bit in the configuration structure. Furthermore, the stream identifier information is a sub-data item of the configuration extension structure, and the presence of the stream identifier information is indicated by a configuration extension type identifier associated with the stream identifier information. The use of such audio streams allows for the flexible inclusion of stream identifier information whenever it is needed, while the inclusion of stream identifier information can be omitted when it is not needed (e.g., for frames where switching between multiple streams is not allowed). Thus, bitrate can be saved.

[0057] In a preferred embodiment, the stream identifier is embedded in a sub-data structure of a representation of an audio frame (and can be extracted by an audio decoder from such a sub-data structure). By embedding the stream identifier in a sub-data structure of a representation of an audio frame, the audio decoder can avoid having to use information from a higher protocol level. Rather, to decode an audio frame, the audio decoder only needs the representation of the audio frame and can determine whether there has been a switch between different streams.

[0058] In a preferred embodiment, the stream identifiers are only embedded in the sub-data structures of the representations of audio frames that contain constituent structures (and can be extracted by an audio decoder from the sub-data structures of the representations of audio frames that contain constituent structures). This idea is based on the finding that switching between streams (without noticeable artifacts) can only be performed in frames that contain constituent structures. It has therefore been found that it is sufficient to embed the stream identifiers in the sub-data structures of the representations of audio frames that contain constituent structures, while no stream identifiers are included in representations of audio frames that do not contain constituent structures.

[0059] The audio streams described herein may incorporate any of the features, functions, and details described herein, either individually or in combination, and in particular, such functions described with respect to the audio encoder, audio decoder, and stream provider may also be applied to the audio streams.

[0060] An embodiment according to the present invention creates an audio stream provider for providing a coded audio signal representation. The audio stream provider is configured to provide, as part of the coded audio signal representation, coded versions of temporally overlapping or non-overlapping frames of an audio signal, coded using coding parameters. The audio stream provider is configured to provide, as part of the coded audio signal representation, a configuration structure describing the coding parameters (or equivalently, decoding parameters to be used by an audio decoder), the configuration structure including a stream identifier. This audio stream provider is based on the same considerations as the audio encoder and the audio decoder described above.

[0061] In a preferred embodiment, the audio stream provider is configured to provide the encoded audio signal representation such that the stream identifiers are included in a configuration extension structure of the configuration structure, and the configuration extension structure containing the stream identifiers can be enabled and disabled by one or more bits in the configuration structure. This embodiment is based on the same ideas as described above for the audio encoder and for the audio decoder. In other words, the audio stream provider may provide the encoded audio signal representation such that the stream identifiers are included in a configuration extension structure of the configuration structure (e.g., for multiple audio encoders operating in parallel). The audio stream provider may provide an audio stream that corresponds to the audio stream provided by the audio encoder (even if the audio stream provider is configured to switch between providing different streams, e.g., provided by the audio encoder or provided from a storage medium).

[0062] In a preferred embodiment, the audio stream provider is configured to provide the encoded audio signal representation such that the configuration extension structure includes a configuration extension type identifier that specifies a stream identifier to indicate the presence of the stream identifier in the configuration extension structure. This embodiment is based on the same considerations as those described above with respect to audio encoders and audio streams.

[0063] In a preferred embodiment, the audio stream provider is configured to provide the coded audio signal representation such that the coded audio signal representation includes at least one configuration structure that includes a stream identifier and at least one configuration structure that does not include a stream identifier. As mentioned above, it is not necessary for a stream identifier to be included in each configuration structure. Rather, there may be flexibility in which configuration structures should include the stream identifier. Typically, the stream identifier will be included in the configuration structure of an audio frame in which a switch between streams occurs (or in which a switch between streams is expected or permitted). In other words, a switch between different streams that include identical configuration structures except for different stream identifiers will only be performed by the stream provider in frames in which the stream identifier is present. Thus, an audio decoder (receiving the coded audio representation from the audio stream provider) may recognize a switch between different streams even if the decoding parameters (indicated by the configuration structures) are substantially identical or even completely identical.

[0064] In a preferred embodiment, the audio stream provider is configured to switch between providing a first portion of the encoded audio information represented by a first sequence of audio frames and a second portion of the encoded audio information represented by a second sequence of audio frames, such that properly rendering a first audio frame of the second sequence of audio frames after rendering the last frame of the first sequence of audio frames requires re-initialization of the audio decoder. The audio stream provider is configured to provide the encoded audio signal representation such that an audio frame representation representing a first frame of the second sequence of audio frames includes a configuration structure including a stream identifier associated with the second sequence of audio frames, where the stream identifier associated with the second sequence of audio frames is different from the stream identifier associated with the first sequence of audio frames. In other words, the audio stream provider switches between two audio streams (sequences of audio frames) having different associated stream identifiers. Thus, an audio decoder typically knows the stream identifier associated with a first sequence of audio frames (e.g., by evaluating a configuration structure associated with the first sequence of audio frames), and when the audio decoder receives the first frame of a second sequence of audio frames, the audio decoder can evaluate the configuration structure containing the stream identifier associated with the second sequence of audio frames and recognize a switch from the first stream to the second stream by comparing the stream identifiers (which are different for each stream). Thus, the audio stream provider supplies audio frames from the first stream, then switches to supplying audio frames from the second stream, and supplies appropriate signaling information, i.e., the stream identifier, within the configuration structure of the first frame of the second audio stream that is supplied after the switch. Thus, no additional signaling is required to signal a switch between different audio streams.

[0065] In a preferred embodiment, the audio stream provider is configured to provide the coded audio signal representation such that the coded audio signal representation does not provide any other signaling information indicating the switch from the first sequence of audio frames to the second sequence of audio frames, except for the stream identifier. Thus, significant bitrate savings can be achieved. Also, the protocol complexity is kept small, since it includes information from different protocol levels and there is no need for the audio decoder to extract such information from the different protocol levels.

[0066] In a preferred embodiment, the audio stream provider is configured to provide the coded audio signal representations such that a first sequence of audio frames (e.g., the first stream) and a second sequence of audio frames (e.g., the second stream) are coded using different bit rates. Furthermore, the audio stream provider is configured to provide the coded audio signal representations such that the coded audio signal representations indicate to an audio decoder that, except for different bitstream identifiers, decoder configuration information (or decoder parameters, or decoding parameters) for decoding the first sequence of audio frames and for decoding the second sequence of audio frames are identical. Thus, the audio stream provider provides very similar configuration information for the different streams (the first stream and the second stream), which may differ only by, for example, the bitstream identifier. In this scenario, using the bitstream identifier is particularly useful because it allows reliably distinguishing between different bitstreams while minimizing signaling overhead.

[0067] In a preferred embodiment, the audio stream provider is configured to switch between supplying a first sequence (e.g., first stream) of audio frames to an audio decoder and a second sequence (e.g., second stream) of audio frames, the first sequence of audio frames and the second sequence of audio frames being encoded using different bit rates. The audio stream provider is configured to selectively switch between supplying the first sequence of audio frames and the second sequence of audio frames at audio frames whose audio frame representations (e.g., Instant Play Frames, IPFs) include random access information (e.g., audio preroll extension payload, "AudioPreRoll()"), while avoiding switching between the sequences at audio frames that do not include random access information. The audio stream provider is configured to provide the encoded audio signal representation such that a stream identifier is included in the configuration structure of the audio frames that are provided when switching from the first sequence of audio frames to the second sequence of audio frames. For example, Such a configuration of the audio stream provider ensures that there is only a switch between supplying frames from the first sequence of audio frames and supplying frames of the second sequence of audio frames when the first frame of the second sequence includes a configuration structure that also has a stream identifier and random access information, so that the audio decoder can detect the switch between different audio streams and therefore recognize that the random access information should be evaluated (whereas the random access information is typically not evaluated when there is no switch between different audio streams and when the audio decoder assumes that a continuous sequence of audio frames of a single stream is being rendered).

[0068] Therefore, good audio quality without artifacts when switching between different audio streams can be achieved with such a concept.

[0069] In a further embodiment, the audio stream provider is configured to obtain multiple parallel sequences of audio frames encoded using different bit rates, the audio stream provider is configured to switch between supplying frames from the different parallel sequences to the audio decoder, and the audio stream provider is configured to indicate to the audio decoder with which sequence one or more frames are associated using a stream identifier included in the configuration structure of the first audio frame representation provided after the switch. Thus, the audio decoder can recognize the transition between different streams with little overhead and without using information from other protocol layers.

[0070] It should be noted that the audio stream provider described herein may incorporate any of the features, functions and details described herein, either individually or in combination.

[0071] Another embodiment according to the present invention creates a method for providing a coded audio signal representation, the method including providing, as part of the coded audio signal representation, coded versions of overlapping or non-overlapping frames of an audio signal, coded using coding parameters, the method including providing, as part of the coded audio signal representation, a configuration structure describing the coding parameters (or, equivalently, decoding parameters to be used by an audio decoder), the configuration structure including a stream identifier.

[0072] This method is based on the same considerations as the stream provider described above, and may add any other features, functions and details described herein, for example not with respect to the stream provider but also with respect to the audio encoder, audio decoder or audio stream.

[0073] Another embodiment according to the present invention provides a computer program for carrying out the methods described herein. [Brief explanation of the drawings]

[0074] Embodiments according to the present invention will be described below with reference to the accompanying drawings.

[0075] [Figure 1] FIG. 1 shows a schematic block diagram of an audio decoder according to a (simple) embodiment of the present invention. [Figure 2A] FIG. 2A shows a block schematic diagram of an audio decoder according to one embodiment of the present invention. [Figure 2B] FIG. 2B shows a block schematic diagram of an audio decoder according to one embodiment of the present invention. [Figure 3] FIG. 3 shows a block schematic diagram of an audio encoder according to a (simple) embodiment of the present invention. [Figure 4] FIG. 4 shows a schematic block diagram of an audio stream provider according to a (simple) embodiment of the present invention. [Figure 5] FIG. 5 shows a block schematic diagram of an audio stream provider according to an embodiment of the present invention. [Figure 6] FIG. 6 illustrates a representation of an audio frame including a component that allows random access and has a stream identifier in the component extension, according to one embodiment of the present invention. [Figure 7] FIG. 7 is a diagram illustrating an example representation of an audio stream, according to one embodiment of the present invention. [Figure 8] FIG. 8 is a diagram illustrating an exemplary audio stream representation according to one embodiment of the present invention. [Figure 9] FIG. 9 shows a schematic representation of possible decoder functionality for the audio decoder described herein. [Figure 10a] FIG. 10a is a diagram illustrating a representation of an example of an arrangement structure used by the audio encoders and decoders described herein. [Figure 10b] FIG. 10b is a diagram illustrating a representation of an example of a configuration extension structure used by the audio encoders and decoders described herein. [Figure 10c] FIG. 10c shows a representation of an example stream identifier bitstream element. [Figure 10d] FIG. 10d shows an example of a value for "usacConfigExtType" that can optionally override Table 74 of the USAC standard. [Figure 11a] FIG. 11a shows a flowchart of a method for providing a decoded audio signal representation based on an encoded audio signal representation according to an embodiment of the present invention. [Figure 11b] FIG. 11b shows a flowchart of a method for providing an encoded audio signal representation according to an embodiment of the present invention. [Figure 11c] FIG. 11c shows a flowchart of a method for providing an encoded audio signal representation according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0076] 1. Audio decoder according to FIG. 1 FIG. 1 shows a block schematic diagram of an audio decoder according to a (simple) embodiment of the present invention.

[0077] The audio decoder 100 receives an encoded audio signal representation 110 and, based thereon, provides a decoded audio signal representation 112. For example, the encoded audio signal representation 110 may be an audio stream including a series of Unified Speech and Acoustic Coding (USAC) frames. However, the encoded audio signal representation may take a different form, for example, an audio representation defined by the bitstream syntax of any known audio coding standard. The encoded audio signal representation may include configuration information 110, which may be included in a configuration structure and may include, for example, a stream identifier. The stream identifier may be included in the configuration information or the configuration structure, for example. The configuration information or the configuration structure may, for example, be associated with one or more frames to be decoded and may, for example, describe decoding parameters used by the audio decoder.

[0078] Here, decoder 100 may include decoder core 130, which may be configured, for example, to decode one or more audio frames using current configuration information (which may, for example, define decoding parameters). The audio decoder is also configured to adjust the decoding parameters depending on configuration information 110a.

[0079] For example, the audio decoder may be configured to compare configuration information in a configuration structure associated with one or more frames to be decoded with current configuration information (e.g., configuration information used to decode one or more previously decoded frames). Furthermore, if the configuration information in the configuration structure associated with one or more frames to be decoded, or relevant portions of the configuration information in the configuration structure associated with one or more frames to be decoded, differs from the current configuration information, the audio decoder may be configured to transition to perform decoding using the configuration information in the configuration structure associated with one or more frames to be decoded as new configuration information. When making the "transition," the audio decoder may, for example, The random access information can be used to reinitialize the decoder core 130, and is intended to describe the state of the decoder core that should be used to properly decode the audio frame (or the first audio frame) after the "transition."

[0080] In particular, the audio decoder is configured to take into account the stream identifier included in the configuration structure (i.e., in the configuration information) when comparing the configuration information (i.e., when comparing the configuration information in the configuration structure associated with the one or more frames to be decoded with the current configuration information), such that a difference between a stream identifier previously obtained by the audio decoder and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded causes a transition.

[0081] In other words, the audio decoder may include a memory for a current configuration (or current configuration information), which may be specified, for example, at 140. The audio decoder 100 may also include a comparator (or any other means for performing a comparison) 150 that may compare at least a relevant portion of the current configuration information, including the stream identifier, with a corresponding portion of the configuration information associated with the next (audio) frame to be decoded, which portion includes the stream identifier. The relevant portion is, for example, the portion up to and including the stream identifier; in some embodiments, configuration information after the stream identifier in the bitstream representing the configuration information may be ignored.

[0082] If this comparison, which may be performed by comparator 150, indicates a difference between the current configuration information (or a relevant portion thereof) and the configuration information associated with the next (audio) frame (or a relevant portion thereof) to be decoded, it may be recognized that a "transition" should be made.

[0083] Making a transition may involve, for example, reinitializing the decoder core even if the decoding parameters described by the configuration information associated with the next (audio) frame to be decoded are identical to the decoder configuration (decoding parameters) described by the current configuration information (where the configuration information associated with the next audio frame to be decoded differs from the current configuration information only in that the stream identifiers are different.) On the other hand, if the configuration information associated with the next audio frame to be decoded further differs from the current configuration information, for example by defining different decoding parameters, the audio decoder 100 will also naturally make a "transition," which typically means reinitializing the decoder core 130 and changing the decoding parameters.

[0084] 1 is able to recognize transitions between frames of different audio streams even when the decoding parameters to be used by the decoder core 130 remain unchanged by evaluating the stream identifiers included in the configuration structure of the audio frame, which eliminates the need for dedicated signaling of transitions between audio streams and / or conditions for reinitializing the decoder core. Thus, the audio decoder is able to recognize such transitions and handle them appropriately, for example by reinitializing the audio decoder and (if necessary) reconfiguring the audio decoder with new configuration parameters, so that the decoder 100 is able to properly decode audio frames even when there is a transition from one stream to another.

[0085] It should be noted that the audio decoder 100 according to FIG. 1 can optionally be supplemented by any of the features and functions and details described herein, individually or in combination.

[0086] 2. Audio decoder according to FIG. 2 FIG. 2 shows a block schematic diagram of an audio decoder 200 according to an embodiment of the present invention.

[0087] The audio decoder 200 encodes was receiving an audio signal representation 210; child Based on this Return coding was 2. The encoding method according to claim 1, further comprising: was The audio signal representation 210 may be, for example, ,sound Voice-acoustic unified coding (USAC) frame Sequence of However, a sequence of audio frames coded using a different audio coding concept may also be input to the audio decoder 200. can be For example, an audio decoder may receive an audio frame 220 of a first stream, followed by (as the next audio frame) an audio frame 222 of a second stream. The audio frames 220, 222 may be provided by, for example, an audio stream provider. The audio frame 220 may be, for example, The encoded representation 220a of the audio signal may be, for example, encoding was Spectral Values ​​and Encoding was Scale factor shape, and / or encoding was Spectral values ​​and the form of coded linear predictive coding coefficients (TXC) and / or coded excitation coefficient and encoding was Linear predictive coding coefficient shape Including It is a The audio frame 222 is, for example, , O Audio signal encoding was Also includes expression 222a. 220a, which may be in the same format as the coded representation 220a of the audio signal contained in the frame 220. . however , In addition to this The frame 222 may also include random access information 222b. can be , which is the constituent structure 222c and Place to stay The state of the logic chain (e.g., decoder core) to a desired state It may contain information 222d for a This information 222d can be indicated as, for example, "AudioPreRoll."

[0088] The audio decoder 200 can, for example, extract the configuration structure 222c, which can also be considered configuration information, from the encoded audio signal representation 210. The configuration structure 222c can include, for example, information or a flag (or bit) indicating whether the configuration extension structure 226 is present as part of the configuration structure. This information or flag or bit is shown at 224a.

[0089] The configuration extension structure 226 may include, for example, information or a flag or a bit or an identifier that indicates whether a stream identifier is present. The latter information, flag, bit or identifier is shown at 228. If the information, flag, bit or identifier 228 indicates the presence of a stream identifier, then a stream identifier 230 is also present, which may typically be part of the configuration extension structure 226.

[0090] Additionally, the configuration extension structure may include information about whether there is other information, such as appropriate bits, flags, or identifiers, and may include other information (if applicable).

[0091] The audio decoder 100 may include, for example, a memory 240 capable of storing current configuration information (e.g., configuration information used in decoding a previous frame and extracted from the configuration structure of the previous or preceding frame). The audio decoder 200 also includes a comparator or comparison 250 configured to compare configuration information associated with the audio frame to be decoded with the current configuration information stored in the memory 240. For example, the comparator or comparison 250 may be configured to compare the configuration information of the configuration structure 222c of the audio frame to be decoded with the current configuration information stored in the memory up to and including the stream identifier. In other words, any information item of the configuration structure 222c up to and including the stream identifier may be compared with the current configuration information from the memory 240 to determine whether the configuration information in the frame 222c (up to and including the stream identifier) ​​is the same as the current configuration information extracted from one of the previous audio frames. This comparison naturally checks whether the configuration structure 222c actually contains the configuration extension structure 226 and the stream identifier 230. If the configuration extension structure 226 does not exist, it obviously cannot be considered in the comparison. Also, if the stream identifier 230 does not exist (e.g., because flag 228 indicates that frame 222 does not contain flag 228), it obviously is not evaluated in the comparison. Also, configuration information that follows the stream identifier 230 in the configuration structure 222c is typically ignored in the comparison, since it is assumed that such configuration information is less important and that changes in such configuration information following the stream identifier 230 in the configuration structure 222c do not indicate a switch between different streams but may occur within a single stream.

[0092] In conclusion, the comparison 250 typically compares the configuration information up to and including the stream identifier of the audio frame to be decoded (but preferably omitting the configuration located in the configuration extension structure after the stream identifier) ​​with the current configuration information (obtained from the previously decoded audio frame). Thus, the comparison 250 detects a new stream (or substream) if there are differences in the configuration information found in the comparison. Thus, the comparison is used to control the transition from a first stream (or substream) to a second stream (or substream).

[0093] For example, causing such a transition may include decoding the last frame of the first stream, reconstructing, initializing the state of a processing chain to a desired state, and performing cross-fading between, for example, time-domain representations of the last frame of the first stream and the first frame of the second stream.

[0094] The audio decoder 200 also includes a decoder core 216 that may be configured to decode frames of a first stream (or a first sequence of frames) using a first configuration (which may be described by current configuration information). Additionally, the decoder core 216 may be configured to decode a second stream or a second sequence of frames using a second configuration (e.g., using a new configuration described by configuration information 222c for an audio frame 222 to be decoded). For example, reinitialization of the decoder core may be triggered when the comparison 250 detects a difference between a significant portion of the configuration information 222c for an audio frame 222 to be decoded and the current configuration information in memory 240.

[0095] For example, decoder reinitialization may be used between the decoding of the last frame of the first stream and the decoding of the first frame of the second stream. Alternatively, for example, if the decoder is implemented (at least partially) in software, a "new instance" of the decoder may be used. Furthermore, when switching from decoding the first stream to decoding the second stream ("transition"), the state of the decoder core's processing chain may be brought to a desired state using some side information. For example, the context state of the arithmetic decoding may be brought to a desired state, or the contents of a time-discrete filter may be brought to a desired state. This can be done using dedicated information, also referred to as "audio preroll" (APR). Bringing the state of the processing chain to a desired state is important because the first frame of the second stream processed (decoded) by the audio decoder may not be the actual first frame of the second audio stream. Rather, the first frame of the second audio stream processed by the audio decoder may be several frames between the second audio stream when the audio stream provider switches from providing frames from the first audio stream to providing frames from the second audio stream. Therefore, the "first frame of the second audio stream" processed by the audio decoder precedes the audio frame to be decoded in the second audio stream (which is the audio frame after the transition). The timing of the audio decoder's state may depend on the particular setting of the decoding chain's state that would normally be caused by the decoding of a frame preceding the first audio frame of the second audio stream (which is the first audio frame of the second audio stream handled by the audio decoder). Thus, when switching from decoding audio frames of the first audio stream to decoding audio frames of the second audio stream, the loss of audio decoder state setting that would normally be caused by the decoding of a frame preceding the second audio stream is created using "audio preroll" information that defines the appropriate setting of the audio decoding state.

[0096] As can be seen by reference numeral 270, decoding the last frame of the first audio stream provides a decoded portion 272 (also denoted as a "useful portion"). Optionally, decoding the last frame of the first audio stream can provide a longer decoded portion, which is partially discarded. Furthermore, when decoding the first frame of the second audio stream, a "pre-roll portion" 274 is provided during which the decoder state is initialized for proper decoding of the first frame of the second audio stream. Furthermore, the decoder core 260 also provides a useful portion 276 of the first frame of the second audio stream handled by the decoder 200, which is temporally overlapped with the useful portion 272 of the last frame of the first stream. Thus, a cross-fade can optionally be performed between the end of the useful portion 272 of the last frame of the first stream and the beginning of the useful portion of the first frame of the second stream. Thus, a decoded output signal 212 can be derived, with an artifact-free transition between the last frame of the first stream (processed by the audio decoder 200) and the first frame of the second stream (processed by the audio decoder 200).

[0097] In summary, the audio decoder 200 can recognize when the audio encoder or audio stream provider switches from providing audio frames of a first stream to providing audio frames of a second stream. To this end, the audio decoder evaluates the configuration information 222c (also called a configuration structure) and performs a comparison with the current configuration information stored in the memory 240. Upon recognizing that the audio frame to be decoded belongs to a different audio stream, as compared with the previously decoded audio frame, a reinitialization of the decoder core is performed, which typically includes evaluating "audio pre-roll" information to bring the decoder core's processing chain into a desired state. Thus, the audio decoder can appropriately handle the situation in which the audio encoder or audio stream provider provides audio frames from a new stream (the second audio stream) without further notification (except for providing the configuration structure 222c containing the stream identifier 230).

[0098] It should be noted that the audio decoder 200 described herein may incorporate any of the features and functions and details described herein, either individually or in combination.

[0099] 3. Audio encoder according to FIG. FIG. 3 shows a block schematic diagram of an audio encoder according to one embodiment of the present invention.

[0100] The audio encoder 300 receives an input audio signal 310 (e.g., in the form of a time-domain representation) and, based thereon, provides an encoded audio signal representation 312. The audio encoder 300 includes an encoder core 320 configured to encode overlapping or non-overlapping frames of the input audio signal 310 using coding parameters to obtain the encoded audio signal representation. The audio encoder 320 may, for example, include a time-domain to spectral-domain conversion and encoding of the spectral-domain representation. Processing may, for example, be performed frame-by-frame.

[0101] Further, the audio encoder may include a configuration structure supply 330 configured to supply a configuration structure 332 that describes, for example, encoding parameters (or, equivalently, decoding parameters to be used by an audio decoder). The configuration structure 332 may correspond, for example, to the configuration structure 222c. In particular, the configuration structure 332 may include encoding parameters (e.g., coding formats) or, equivalently, decoding parameters (e.g., coding formats) that describe settings to be used by a decoder (or decoder core) when decoding the encoded audio signal representation 312. Examples of the configuration structure 332 will be described below. Further, the configuration structure 332 includes a stream identifier that may correspond to the stream identifier 230. For example, the stream identifier can specify an audio stream (e.g., a consecutive portion of audio content that is consecutively encoded using particular encoder settings). For example, the stream identifiers provided by the configuration structure supply 330 can be selected such that all audio streams that may switch without artifacts and without explicitly notifying the audio decoder about the switching convey different stream identifiers. However, in some cases, it may be sufficient for streams that have the same associated encoding parameters (or, equivalently, decoding parameters to be used in an audio decoder) to include different stream identifiers. In other words, different stream identifiers may only be required for streams that have identical other encoding or decoding parameters.

[0102] Thus, encoder control 340 may, for example, control both encoder core 320 and configuration structure supply 330. Encoder control 340 may, for example, determine encoding parameters to be used by encoder core 320 (which may, for example, correspond at least in part to decoding parameters to be used by an audio decoder) and may also inform configuration structure specification 330 regarding encoding / decoding parameters to be included in configuration structure 332. Thus, encoded audio representation 312 includes encoded speech content and configuration structure 332. Thus, an audio decoder (e.g., audio decoder 100 or audio decoder 200) can immediately recognize when it is provided with different audio streams that were coded using different encoding parameters (even if not all encoding parameters are reflected in the decoding parameters included in the configuration structure).

[0103] Regarding this issue, it should be noted that not all encoding parameters typically need to be signaled to the audio decoder. For example, only encoding parameters that affect the decoding algorithm need to be signaled to the audio decoder. Encoding parameters sent to the audio decoder to determine its settings are also referred to as decoding parameters. On the other hand, some important encoding parameters are typically not signaled to the audio decoder but are instead implicitly reflected in the coded audio signal representation. For example, the desired bit rate may be an important encoding parameter, determining how coarsely the audio encoder quantizes spectral values ​​and / or how many spectral values ​​the audio quantizes to small or even zero values. However, the audio decoder needs only to see the encoding results, but does not need to know the encoder's specific strategy for keeping the bit rate reasonably small. Also, depending on the type of audio content and the actual bit rate required, there may be various approaches to achieving a sufficiently small bit rate on the encoder side. These parameters may be considered "encoding parameters," but are not reflected in the set of "decoding parameters" (and are not included in the coded representation of an audio frame). The decoding parameters (and the encoding parameters embedded in these encoded audio representations) typically only describe the settings that the decoder uses, i.e., how to process the coded information provided by the encoder.

[0104] Thus, in practice, even if the encoder cores use different encoding parameters, the decoding parameters that may be included in the configuration structure 332 may be identical (e.g., with respect to the target bit rate, or with respect to parameters that affect the target bit rate, including quantization resolution, psychoacoustic models, etc.).

[0105] In other words, an audio encoder may be able to encode particular audio content using different encoding parameters, even though, for example, the decoding parameters to be used by a decoder (to process and decode the encoded representation of the audio content) may be the same.

[0106] In such cases, the audio encoder may provide different stream identifiers in the configuration structure 332 so that the audio decoder can still distinguish between such different encoded representations of the audio content.

[0107] Furthermore, it should be noted that the audio encoder 300 according to FIG. 3 can optionally be supplemented with any of the features, functions and details described herein.

[0108] 4. Audio stream provider according to FIG. 4 FIG. 4 shows a block schematic diagram of an audio stream provider according to an embodiment of the present invention.

[0109] The audio stream provider 400 is configured to provide an encoded audio signal representation 412. The audio stream provider is configured to provide, as part of the encoded audio signal representation 412, encoded versions 422 of (temporally) overlapping or non-overlapping frames of the audio signal, encoded using encoding parameters.

[0110] Furthermore, the audio stream provider is configured to provide, as part of the encoded audio signal representation, a configuration structure 424 describing the encoding parameters (or, equivalently, the decoding parameters to be used by the audio decoder), the configuration structure 424 including a stream identifier.

[0111] For example, the audio stream provider may include a provider of coded versions of overlapped or non-overlapping frames of an audio signal. Further, the audio stream provider may comprise a composition structure provider or composition structure provider 423 for providing a composition structure 424.

[0112] Thus, the audio stream provider may provide portions of various audio streams, which the audio stream provider may store, for example, in memory or may receive from an audio encoder, as part of the encoded audio signal representation 412. When providing a portion of a first audio stream and then switching to providing a portion of a second audio stream, the composition structure 424 may be associated with a first audio frame of the second audio stream that is provided after switching from the first audio stream to the second audio stream. The composition structure 424 may be, for example, a portion of each audio stream received by the audio stream provider from an audio encoder or stored in the memory of the audio stream provider. Thus, the audio stream provider may, for example, save a consecutive sequence of audio frames of the first audio stream and save a consecutive sequence of audio frames of the second audio stream. At least some of the frames of the first audio stream may be associated with a first audio frame of the second audio stream. Some of the frames of the first and second audio streams may have associated respective configuration structures that describe the decoding parameters to be used by the audio decoder. The configuration structures may also include respective stream identifiers, e.g., integers that identify the audio streams. For example, an audio stream provider may be configured to provide frames 1 to n-1 (where 1 to n-1 may be time indexes) for a first audio frame and frames n to n+x (where n to n+x may be time indexes) of the second audio stream as part of the coded audio signal representation 412, where frames 1 to n-1 of the second audio stream may not be provided as part of the coded audio signal representation 412 intended for a particular audio decoder or a particular group of audio decoders. The first and second audio streams may represent the same content, for example, encoded at different bit rates. Thus, frames 1 to n-1 of the audio content are represented in the encoded audio signal representation 412 intended for a particular device or group of devices, encoded at a first bit rate by a first audio stream, and frames n to n+x of the audio content are represented by frames n to n+x of a second audio stream, encoded at a second bit rate different from the first bit rate.

[0113] For example, the audio stream provider 400, or some external control, may ensure that the first frame n of the second audio stream included in the encoded audio signal representation 412 includes a configuration structure. In other words, it may be ensured that, for example, a switch between providing audio frames from the first audio stream and providing audio frames from the second audio stream only occurs at the "appropriate" frame, which includes a configuration structure and preferably also some information for initializing the audio decoder (e.g., audio pre-roll, etc.).

[0114] Thus, for example, the audio stream provider can provide a portion of the audio content encoded at a first bit rate (e.g., by providing frames 1 to n-1 of the first audio stream) and another portion of the audio stream encoded using a second bit rate (e.g., by providing audio frames n to n+x of the second audio stream). Presumably, the configuration structures of the first and second audio streams will be identical except for the fact that the stream identifiers will be different. This is due to the fact that the decoding parameters reflected in the configuration structure 424 do not necessarily reflect the different coding parameters (or all coding parameters) used to encode the first and second audio streams, as in fact it is (only) the stream identifiers that are included in the configuration structure, allowing the audio decoder to decide whether to make a "transition" (e.g., by reinitializing the decoder core).

[0115] In some embodiments, the decision whether to source an audio frame from the first audio stream or the second audio stream may be made by the audio stream provider (e.g., based on knowledge of network conditions, e.g., network load or available network bitrate of the network between the audio stream provider and the audio decoder), although alternatively, the audio decoder, or an intermediate device (e.g., a network management device), may decide which audio stream to use.

[0116] However, it should be noted that the audio decoder, or at least the audio decoder core, may not be explicitly notified by the audio stream provider and / or intermediate network that a stream change has occurred. In other words, the audio decoder may not, except for the configuration structure 424, assume that frames n through n+x are part of the second audio stream. stream and does not receive any additional information indicating to the audio decoder that frames 1 to n-1 are from the first audio stream.

[0117] In conclusion, the audio stream provider can flexibly provide encoded representations of audio content to an audio decoder in the form of encoded audio signal representations, for example, the audio stream provider can flexibly switch between providing coded frames from a first audio stream and a second audio stream, where the switch between audio streams is indicated by a change in a stream identifier included in a configuration structure 424 that is part of the encoded audio signal representation 412.

[0118] It should be noted here that the audio stream provider 400 may optionally be supplemented with any of the features, functions and details described herein.

[0119] An example of the functionality of the audio stream provider 400 will now be described with reference to FIG. 5, which shows a block schematic diagram of an audio stream provider according to an embodiment of the present invention.

[0120] The audio stream provider shown in Figure 5 is designated 500 and may correspond to the audio stream provider 400 according to Figure 4. The audio stream provider 500 is configured to provide an encoded audio signal representation 512 which may correspond to the encoded audio signal representation 412.

[0121] In particular, the audio stream provider may be configured to switch between supplying frames from the first audio stream and supplying frames from the second audio stream, for example, the audio stream provider 500 may be configured to switch between supplying frames from the first audio stream and supplying frames from the second audio stream only at so-called "independent playout frames" (also called "IPFs").

[0122] The audio stream provider 500 may be stored in a memory or may receive a first audio stream 520 and a second audio stream 530 from an audio encoder. The first audio stream may be encoded at a first bit rate, for example, and may include a first stream identifier in a configuration structure (e.g., of instant-play frames). The second audio stream 530 may be encoded at a second bit rate, for example, and may include a second stream identifier in a configuration structure (e.g., of instant-play frames). However, the first audio stream and the second audio stream may represent, for example, the same audio content. However, the first audio stream and the second audio stream may also represent different audio content.

[0123] For example, the first audio stream 520 may comprise independent playback frames at frames designated n1, n2, n3, and n4. For example, one or more "normal" audio frames that are not independent playback frames may be located between two adjacent independent playback frames. However, in some circumstances, independent playback frames may also be adjacent.

[0124] Similarly, the second audio stream 530 also includes independent playback frames at frame positions n1, n2, n3 and n4.

[0125] The positions of the independent playback frames in the two streams 520, 530 can optionally be synchronized. It should be noted that the frame positions of the independent playback frames may be the same in both streams, but may also be different. For simplicity, we assume here that the frame positions of the independent playback frames are the same in both streams.

[0126] However, in principle, it is only important that the first frame after the switch is an independent playback frame. For example, when switching from supplying audio frames of a first audio stream to supplying audio frames from a second audio stream, the audio stream provider 500 needs to ensure that the first frame of the part of frames supplied from the second audio stream is an independent playback frame.

[0127] The embodiment will be described with reference to an encoded audio signal representation indicated by reference numeral 550. As can be seen, the encoded audio signal representation 512 includes, at its start, a portion 552 containing one or more frames of a first audio stream. However, after providing an audio frame with index n1-1 of the first audio stream, the audio stream provider 500 may decide (based on an internal decision or on some control information received from the outside) to switch to the second audio stream. Accordingly, a portion 554 of audio frames of the second audio stream is provided in the encoded audio signal representation 512. For example, frames with frame indices n1 through n2-1 of the second audio stream are provided in portion 554 in the encoded audio signal representation 512. It should be noted that the first frame of portion 554 is an independent playback frame, which is at frame index n1 in the second audio stream 530. However, when a frame with frame index n2-1 is provided in the encoded audio signal representation 512, the audio stream provider may decide to go back to providing audio frames from the first audio stream 520 again. Thus, after (or immediately after) the audio frame with frame index n2-1 (based on the second audio stream 530), a frame with frame index n2 obtained from the first audio stream 520 may be provided in the encoded audio signal representation. It should be noted that the frame with index n2 is also an independent playback frame. Thus, the portion from the first audio stream is said to start with the frame with index n2 and end with frame index n4-1.

[0128] In conclusion, the encoded audio signal representation 512 is a concatenation of parts of one or more frames, some parts of the frame taken from the first audio stream 520 and some parts of the frame taken from the second audio stream 530. The first frame of each part is preferably an independent playback frame, which is preferably guaranteed by the operation of the audio stream provider.

[0129] Such independent playback frames preferably include a configuration structure having a stream identifier, which may be included, for example, in a configuration extension structure. For example, the configuration information for the first stream and the second stream may be identical except for the stream identifier (and possibly except for configuration information included in the configuration extension structure after the stream identifier).

[0130] For example, the independent playback frame may correspond to frame 220 as described above with respect to audio decoder 200.

[0131] In further conclusion, the audio stream provider 500 has access to multiple audio streams (e.g., a first audio stream 520 and a second audio stream 530, and optionally further audio streams). , portions of frames transferred to an audio decoder (e.g., via a communications network) from these two or more audio streams can be selected for inclusion in the encoded audio signal representation 512. When selecting portions of frames to be included in the encoded audio signal representation 512, the audio stream provider can ensure that the first frame of each portion is an independent playback frame containing enough information for (artifact-free) rendering without decoding previous frames of that audio stream. Furthermore, the audio stream provider provides the encoded audio signal representations such that switches between portions of audio frames from different streams can be recognized by an audio decoder receiving the encoded audio signal representation 512 from differences in the relevant portions of the configuration structure. At some transitions, the configuration structure may differ in terms of decoder configuration parameters, while at one or more other transitions, the configuration structure may differ only in stream identifiers and other decoding configuration parameters may be identical.

[0132] As a result, the audio decoder can recognize the switch between different audio streams and perform reinitialization ("transition") whenever appropriate.

[0133] 5. Audio frame according to Fig. 6 FIG. 6 shows a representation of an audio frame that includes a component that allows random access and has a stream identifier in the component extension.

[0134] For example, Figure 6 shows an example of an audio frame that can take over the role of the audio frame 222 described with reference to Figure 2. For example, the audio frame can be a "USAC frame." The audio frame in Figure 6 can be considered a "stream access point" or an "intermediate playout frame."

[0135] The frames may, for example, follow the syntax rules of the Unified Speech and Audio Coding Standard, including available modifications, but may also be adapted to the bitstream syntax of other or newer audio standards.

[0136] For example, USAC frame 600 may include a USAC independence flag 610. Additionally, USAC frame may include an extension element designated as "USAC ExtElement." Extension element 620 may be an extension element with configuration information and pre-roll data.

[0137] Optionally, there may be a flag "USAC ExtElementPresent" present to indicate the presence of further data. For example, in the case of an IPF (e.g., a Stream Access Point), this flag is preferably 1. However, this flag can be considered optional.

[0138] Additionally, there may optionally be a flag "USAC ExtElementUseDefaultLength" that can be used to encode whether to use the default length of the extension element or to encode the length of the extension element. For example, in the case of IPF, it is preferred (but not required) that the value of this flag be zero.

[0139] Additionally, there are extension element segment data, also denoted as "USACExtElementSegmentData". These extension element segment data contain audio pre-roll information, also denoted as "AudioPreRoll()" in the USAC standard revision. The audio pre-roll optionally contains configuration length information "configLen" and configuration information "Config()", which may be identical to "USAC configuration information", also denoted as "UsacConfig()". If configuration information is present, "configLen" is used. "gLen" should have a value greater than zero, but preferably does not necessarily have to. For example, a zero value for "config Len" may indicate that no configuration information is present. The configuration information may include some basic configuration information, such as information about the sampling frequency, information about the SBR frame length, information about the channel configuration and number of other (optional) decoder configuration items. Other decoder configuration items may include, for example, one or more or all of the configuration items described in the definition of the "UsacDecoderConfig()" syntax element in the USAC standard.

[0140] Furthermore, the configuration information includes a configuration extension structure as a sub-data structure. The configuration extension structure may, for example, follow the syntax of the syntax element "UsacConfigExtension()". For example, the configuration extension structure may contain information about a number of configuration extensions "numConfigExtensions". In the case of a configuration extension of typeID_Config_Ext_Stream_ID, which is a typical case in an embodiment according to the present invention, the stream identifier is represented by the bitstream syntax element "streamId()", which may, for example, be represented by a 16-bit value.

[0141] In conclusion, the configuration structure contained in the USAC frame of the extension element contains some configuration information for setting decoder parameters and further contains a stream identifier which can be represented as, for example, a 16-bit integer value as a configuration extension.

[0142] The audio preroll information optionally includes further information such as a flag "applyCrossfade" indicating whether to apply a crossfade (e.g., a zero value may indicate that no crossfade is applied), information indicating the number of preroll frames, and information about the preroll frames which can be specified as "auLen" and "AccessUnit()".

[0143] The USAC frame optionally further includes additional extension elements, and typically comprises one or more of a single channel element, a channel pair element, or a low frequency effects element.

[0144] In conclusion, a USAC frame (e.g., USAC frame 222 or one of the instant-play frames IPF) can include, for example, an extended syntax element, which can include information about a configuration structure (e.g., 222c) and one or more pre-roll frames. The information about the configuration structure and one or more pre-roll frames is used, for example, to set a desired state in a processing chain and can correspond, for example, to information 222d. Furthermore, the USAC frame also includes encoded audio information, such as a single-channel element, a channel pair element, or a low-frequency effect element. Therefore, an audio decoder can recognize changes in audio streams based on the stream identifier "streamId()." Furthermore, decoding parameters can be set based on the configuration information included in the configuration structure, and the appropriate state of audio decoding can be set based on the pre-roll frame information, allowing the audio decoder to perform artifact-free decoding of the USAC frame 600. Therefore, the described USAC frame allows switching between frames from different audio streams and also allows the audio decoder to detect the switch without additional control information.

[0145] The USAC frame 600 described herein may correspond to an audio frame 222, a first frame of a second audio stream included in the encoded audio signal representation 312, a first frame of a second audio stream included in the encoded signal representation 412, or an instant playback frame IPF as shown in FIG. 5.

[0146] 6. Example of an audio stream according to FIG. 7 7 shows a representation of an exemplary audio stream that may be provided by one of the audio encoders described herein and decoded by one of the audio decoders described herein. The audio stream of FIG. 7 may also be provided by an audio stream provider as described herein.

[0147] The audio stream 700 includes decoder configuration information, for example as the first information block. The decoder configuration information may include, for example, the bitstream element "UsacConfig()" as defined in the USAC standard. The decoder configuration information may indicate, for example, a stream identifier of 1, which may be considered as a stream access point at the beginning of the stream.

[0148] An audio stream may also contain audio frame data information units, which may not include, for example, pre-roll data, and may not include stream identifier information. 7. The information unit 720 may be a USAC frame, and may correspond to, for example, the bitstream syntax element "UsacFrame()" defined in the USAC standard.

[0149] Information units 710 and 720 may, for example, both belong to a first audio stream.

[0150] The audio stream 700 may also include an information unit 730 that may represent, for example, a first frame of a second stream included in the audio stream 700. The information unit 730 may comprise, for example, audio frame data, pre-roll data, and stream identifier information. The stream identifier information may indicate, for example, two stream identifiers that are different from the stream identifier included in the information unit 710.

[0151] The information unit 730 may be considered, for example, a stream access point.

[0152] For example, information unit 730 may follow the syntax of the bitstream element "UsacFrame()" as defined in the USAC standard. However, information unit 730 may also comprise an extension element of type "id_ext_ele_audiopreroll". This extension element may contain a configuration structure, e.g., with bitstream syntax "UsacConfig", with a configuration extension structure, e.g., with bitstream syntax "UsacConfigExtension". The configuration extension structure may contain an extension element, e.g., with type "ID_CONFIG_EXT_STREAM_ID", which encodes a stream identifier. Thus, information item or information unit 730 may contain, e.g., information of a USAC frame 600, as described above.

[0153] Thus, information unit 730 may represent an audio frame of the second stream and provide complete configuration information for configuring the audio decoder to properly decode the audio frame. In particular, the configuration information also includes audio pre-roll information for setting the state of the audio decoder, and the configuration information includes a stream identifier that allows the audio decoder to recognize whether information unit 730 is associated with a different audio stream compared to information units 700, 710.

[0154] The audio stream 700 also includes an information unit 740 following the information unit 700. The information unit 740 may be, for example, a "normal" audio frame that contains only audio frame data, without pre-roll data, configuration data, and stream identifiers. For example, the information unit 740 may be an audio frame that does not utilize extension elements and is encoded using the bitstream syntax "UsacFrame ()" can be followed.

[0155] The audio stream 700 may also include information units 750, which may contain, for example, audio frame data and pre-roll data, but may not contain stream identifiers. Thus, the information units 750 may be used as stream access points, but may not be able to detect switching between different streams.

[0156] For example, information unit 750 may follow the bitstream syntax "UsacFrame()" with the extension element ID_ext_ele_audiopreroll. However, in information unit 750, the configuration information that is part of the audio preroll extension element does not include a stream identifier. Therefore, information unit 750 cannot be reliably used as the first information unit after switching between different audio streams. On the other hand, information unit 730 can be reliably used as the first information unit after switching between different audio streams, because the stream identifier included therein allows detection of the switch between different streams and the information unit also contains complete information for decoding, including configuration information and preroll information.

[0157] In conclusion, audio stream 700 may comprise "information units" or encoded audio frames with different information content. There may be "very simple" audio frames that contain only encoded audio data, without configuration data and without pre-roll data. There may also be audio frames that contain configuration information, including not only the encoded audio information but also a stream identifier and pre-roll information. Such frames allow for identification and completely independent decoding of switches between different audio streams.

[0158] Furthermore, there may optionally be frames that only have partial information but do not allow reliable identification of switches between different streams, for example because they lack stream identifier information.

[0159] It should be noted that audio decoders according to Figures 1 and 2 can typically utilize the audio stream 700, and audio encoders and audio stream providers according to Figures 3 and 4 can typically provide the audio stream 700 as shown in Figure 7 (e.g., as encoded audio signal representations 312, 314).

[0160] 7. Audio stream according to FIG. 8 FIG. 8 illustrates a representation of an exemplary audio stream according to another embodiment of the present invention.

[0161] The audio stream in FIG.

[0162] It should be noted that information units 810a to 810e belong to the first audio stream. For example, information unit 810a may comprise a decoder configuration, and may, for example, conform to the bitstream syntax "UsacConfig()" defined in the USAC standard. The decoder configuration may comprise a configuration structure, which may, for example, be similar to configuration structure 222c. For example, information unit 810 may include a stream identifier extension, and the stream identifier may, for example, be included in the configuration extension structure of the configuration structure.

[0163] Information unit 810b may, for example, include audio frame data (such as encoded spectral values ​​and encoded scale factor information) without pre-roll data and stream identifiers. The structure may be similar or identical and may represent audio frame data without pre-roll data and stream identifiers.

[0164] Furthermore, the audio stream may include a portion 820 following the portion 810, the portion 820 being associated with a second audio stream different from the first audio stream. The portion 820 includes an information unit 820a, which includes audio frame data accompanied by pre-roll data, the pre-roll data including a stream identifier extension (e.g., within a configuration structure). Thus, the information unit 820a represents an audio frame. If the audio decoder detects, based on the stream identifier extension, that a previously decoded audio frame is from another audio stream, the pre-roll data is used by the audio decoder to set the audio decoder to an appropriate state before decoding the audio frame data in the information unit 820a. Thus, the information unit 820a is suitable to be the first information unit after switching between different audio streams.

[0165] Block 820 also includes one, two or more information units 820b, 820d, which contain audio frame data but no pre-roll data and no stream identifier.

[0166] The data stream 800 also includes a portion 830 relating to a third audio stream. The portion 830 comprises an information unit 830a, which includes audio frame data with pre-roll data and includes a stream identifier extension. The portion 830 further includes an information unit 830b, which includes audio frame data without pre-roll data and a stream identifier. The third portion 830 also includes an information unit 830d, which includes audio frame data with pre-roll data but without a stream identifier.

[0167] Thus, audio stream 800 includes subsequent portions originating from different audio streams, and at each transition from one stream to another, there is an information unit (e.g., an encoded audio frame) that includes pre-roll data and audio frame data with a stream identifier. Thus, because there is stream identifier information available at each switch from one audio stream to another within an encoded audio frame, an audio decoder can easily recognize the transition by evaluating the stream identifier (e.g., in relation to a comparison with a previously obtained stored stream identifier).

[0168] It should be noted that the audio stream may be provided by an audio encoder or bitstream provider as described herein, and the audio stream 800 may be evaluated by an audio decoder as described herein.

[0169] 8. Decoder function according to Figure 9 FIG. 9 shows a schematic diagram of possible decoder functionality for the audio decoder described herein.

[0170] For example, the functionality described with reference to Figure 9 may be implemented in the audio encoder 100 according to Figure 1 or the audio decoder 200 according to Figure 2. For example, the functionality described in Figure 5 may be used to decide how to proceed with decoding.

[0171] However, it should be noted that the functionality described with reference to Figure 9 is merely an example, and for example, the order of decisions can be changed as long as the overall functionality remains the same. Also, decisions can be combined as long as the overall functionality does not change.

[0172] The functionality described in FIG. 9 is assumed to have knowledge of information about previously decoded frames and to evaluate new audio frames that may conform to the syntax described herein.

[0173] For example, in the first check 110, the audio decoder can check whether there is a "random access," i.e., a jump operation to a stream access point. If a jump to a stream access point is detected, in which the "normal" order of frames is intentionally changed, the decoder function proceeds to step 920, where it evaluates the configuration data of the stream access point in order to reinitialize the decoder. To avoid abrupt switching, a cross-fade can optionally be performed. It should be noted that random access means a "jump" from a first frame to a second frame, where the second frame has a frame index that is not immediately subsequent to the frame index of the previously decoded frame. In other words, random access is a jump from a frame with frame index n to a frame with frame index o, where o is different from n+1.

[0174] In step 920, a jump is performed, the jump target being an immediate playback frame, a frame that contains enough information to reinitialize the decoder.

[0175] However, if check 910 reveals that there is a "continuous play" rather than a "random access" then a further check 930 can be performed. In other words, check 930 is performed if decoding proceeds from a frame with frame index n to a frame with frame index n+1.

[0176] In check 930, it is checked whether the (associated) configuration defined in the configuration structure of the stream access point (or intermediate playback frame) is different from the current configuration, without taking into account the stream identifier (e.g., up to but not including the stream identifier). If the (associated) configuration described in the configuration structure of the stream access point is different from the current configuration (path "yes"), decoding can proceed with step 940. However, it should be noted that step 930 can naturally only be performed if the next frame is a stream access point that contains a configuration structure. If the next frame does not contain a configuration structure, step 930 cannot naturally be performed and no difference from the current configuration can be found.

[0177] However, if step 930 detects that the configuration of the configuration structure of the next frame is identical to the current configuration (without considering the stream identifier), then the next check shown in block 950 is performed. In step 950, it is determined whether the stream access point includes a stream identifier (e.g., in the configuration structure). For example, a stream identifier does not necessarily have to be included, but will be included in the configuration structure only if there is a configuration extension structure and this configuration extension structure actually contains a data structure element that is a stream identifier. If comparison 950 finds that the stream access point includes a stream identifier (branch "yes"), then the stream identifier included in the stream access point of the next frame (the frame to be decoded) is compared with the current (saved) stream identifier. If it is found that the stream identifier included in the next frame (the frame to be decoded) is different from the current stream identifier (branch "yes" of decision 960), then a jump to block 940 is made. On the other hand, if the stream identifier of the next frame is detected to be identical to the saved stream identifier, then any additional configuration information (e.g., configuration extensions) following the configuration extension structure after the stream identifier remain unconsidered for determining whether to perform a "transition" or first initialization (branch "No" of step 960).

[0178] However, if check 950 finds that the stream access point (next frame to decode) does not contain a stream identifier, or if the stream identifier of the next frame to decode is found to be equal to the saved stream identifier, the procedure continues with step 970.

[0179] Furthermore, it should be noted that step 940 involves fading between audio frames using the old configuration and audio frames using the new configuration. To decode the audio frames using the new configuration, there is a re-initialization of the audio decoder (which may include initializing a new decoder instance), and the old decoder instance is "flushed" and a cross-fade is performed.

[0180] Meanwhile, step 970 involves decoding the next frame without reinitializing the decoder, and any pre-roll information that may be contained in the next frame is discarded (left unaware).

[0181] In conclusion, there are various possibilities that can be performed whenever the audio decoder reaches an "intermediate playout frame", which can also be considered a "stream access point". It should also be noted that no specific processing is typically performed on frames that are not "intermediate playout frames" or "stream access points", since such audio frames have no available configuration structure or pre-roll information and do not allow the audio decoder to re-initialize.

[0182] When the decoder recognizes that there is a "jump", i.e. a deviation from the normal frame order, it typically naturally re-initializes the audio decoder using the pre-roll information and a new composition structure (jump within the same stream).

[0183] When such a jump exists, different cases exist.

[0184] If the audio decoder detects that the configuration information of the next stream to be decoded, up to and including the configuration identifier, differs from the stored information, the audio decoder is also reinitialized. On the other hand, if the audio decoder detects that the configuration information of the next frame to be decoded, up to and including the stream identifier (if present), is identical to the stored information obtained from the previously decoded frame, no reinitialization is performed. In either case, the configuration information located after the stream identifier in the configuration structure is ignored by the audio decoder when determining whether to perform reinitialization. Also, if the audio decoder detects that a stream identifier is not present in the configuration structure, the audio decoder naturally does not consider the stream identifier in the comparison with the stored information.

[0185] However, to perform the evaluation in a computationally efficient manner, the decoder may first check the configuration information preceding the stream identifier in the stored configuration information, then check whether the stream identifier included in the configuration structure is present, and proceed to compare the stream identifier (if present in the configuration structure) with the stored stream identifier. As soon as the audio decoder detects a difference, it may decide to reinitialize. On the other hand, if the audio decoder cannot detect a difference between the configuration information until it includes the stream identifier, the audio decoder can decide to omit reinitialization.

[0186] Therefore, minor configuration changes that do not require re-initialization can be signaled by the audio encoder after the stream identifier in the configuration extension structure, in which case the audio decoder can proceed with decoding with only a slight change in configuration (no re-initialization required).

[0187] In conclusion, the decoder functionality described with reference to FIG. 9 may be used in any of the audio decoders described herein, but should be considered optional.

[0188] 9. Bitstream syntax according to Figures 10a, 10b, 10c and 10d The syntax of the bitstream will be described below. In particular, the syntax of the configuration structure will be described. As an example, the syntax of the configuration structure "UsacConfig()" will be described, which can be substituted for the configuration structure 222c, the configuration structure 332, the configuration structure 424, the configuration structure "Config()" shown in FIG. 6, the configuration structure "UsacConfig()" shown in FIG. 7, or the configuration structure "Config" shown in FIG. 8.

[0189] 10 shows a representation of the configuration structure "UsacConfig()". As can be seen, said configuration structure may, for example, contain sampling frequency index information 1020a and, optionally, sampling frequency information 1020b. The sampling frequency index information 1020a (possibly in combination with the sampling frequency information 1020b) describes, for example, the sampling frequency used by the encoder and therefore also the sampling frequency to be used by the audio decoder.

[0190] Additionally, the configuration structure may also include frame length index information for spectrum bandwidth replication (SBR). For example, the index may determine some parameters of the spectrum bandwidth replication, e.g., as defined in the USAC standard.

[0191] Additionally, the configuration structure may also include a channel configuration index 1024 from which, for example, a channel configuration can be determined. The channel configuration index information may, for example, define a number of channels and associated speaker mappings. For example, the channel configuration index information may have a meaning as defined in the USAC standard. For example, if the channel configuration index information is equal to zero, details regarding the channel configuration may be included in the "UsacChannelConfig()" data structure 1024b.

[0192] Additionally, the configuration structure may include decoder configuration information 1026a, which may, for example, describe (or list) the information elements present in the audio frame data structure. For example, the decoder configuration information may include one or more of the elements described in the USAC standard.

[0193] Additionally, the configuration structure 1010 also includes a flag (e.g., named "UsacConfigExtensionPresent") that indicates the presence of a configuration extension structure (e.g., configuration extension structure 226). The configuration structure 1010 also includes a configuration extension structure, denoted, for example, by "UsacConfigExtension()" 1028a. The configuration extension structure is preferably part of the configuration structure 1010 and may be represented, for example, by a bit sequence that immediately follows the bits representing other configuration items of the configuration structure 1010. The configuration extension structure may convey, for example, stream identifier information, as described below.

[0194] A possible syntax for a configuration extension structure is described below with reference to FIG. 10b, where the configuration extension structure is generally designated 1030 and corresponds to configuration extension structure 1028a.

[0195] The configuration extension structure (also denoted as "UsacConfigExtension()") may encode, for example, several configuration extensions in a syntax element 1040a. It should be noted that since there is configuration extension type information 1042a and configuration extension length information 1044a for each configuration extension item, the order of different configuration extension information items can be chosen arbitrarily. Thus, the configuration extension structure 1030 may encode several configuration extension items (or configuration extension information items). The configuration extension items (composition extension items) can be conveyed in a variable order, and the audio encoder can decide which configuration extension items are encoded first and which are encoded later. For example, for each configuration information item, there may be a configuration extension type identifier 1042a first, followed by configuration extension length information 1044, and then the "payload" of the respective configuration extension information item. The encoding of the payload of each configuration extension information item varies depending on, for example, the type of configuration extension information item indicated by the configuration extension type information, and the length of the payload of each configuration extension information item can be determined by the value of the respective configuration extension length information 1044a. For example, if the configuration extension information item is filler information, there may be one or more filler bytes. On the other hand, if the configuration extension information item is configuration extension loudness information, there may be a data structure containing information about loudness (e.g., indicated as "loudnessInfoSet()").

[0196] Additionally, if the configuration extension information item is a stream identifier, there may be a number representation of the stream identifier specified as "streamId()". Example syntax for various types of configuration extension information items is shown at 1046a, 1048a, and 1050a.

[0197] In conclusion, the syntax of the configuration extension structure is such that the order of the different configuration information items can be changed. For example, a stream identifier configuration extension information item can be placed before or after other configuration extension information items by the audio encoder. Thus, the placement of the stream identifier configuration extension information item within the configuration extension structure allows the audio encoder to control which other information items of the configuration extension structure should be taken into account in the comparison between the configuration indicated by the current configuration structure and the configuration information previously obtained by the audio decoder. Typically, configuration information items preceding the configuration extension structure and all configuration extension information items up to and including the stream identifier information are taken into account in such a comparison, while all configuration extension information items encoded in the bitstream after the stream identifier configuration extension information item are ignored in the comparison.

[0198] Thus, the arrangement described with respect to Figures 10a and 10b is well suited to the concept according to the present invention.

[0199] Figure 10 shows the syntax of the Stream Identifier (Configuration Extension) information item, also denoted as "StreamId()" (or "streamId()"). As shown, the stream identifier can be represented by a 16-bit binary representation. Therefore, more than 65,000 different values ​​can be coded as stream identifiers, which is usually sufficient to recognize the transitions between different audio streams.

[0200] Figure 10d shows an example of the assignment of type identifiers to different configuration extension information items. For example, a configuration extension information item of type "stream identifier" may be represented by the value 7 of the configuration extension type information 1042a. Other types of configuration extension information items may be represented, for example, by other values ​​of the configuration extension type identifier 1042a.

[0201] In conclusion, Figures 10a to 10d describe possible syntax (or syntax extensions) of a configuration structure that can be used by an audio encoder to encode stream identifier information that can be used by an audio decoder to extract the stream identifier information.

[0202] However, it should be noted that the configuration structures described herein should be considered merely as examples and can be widely varied, e.g., sampling frequency index information and / or sampling frequency information and / or spectral bands. The width duplication frame length index information and / or the channel configuration index information can be encoded differently. Optionally, one or more of the above information items can be dropped. Additionally, the UsacDecoderConfig information item can also be omitted.

[0203] Furthermore, the encoding of the number of configuration extensions in the configuration extension type and configuration extension length can be modified. Also, different configuration extension information items should be considered as options, and possibly can be encoded in different ways.

[0204] Furthermore, the stream identifier may be encoded with more or fewer bits, where different types of number representations may be used. Furthermore, the assignment of identifier numbers to different configuration extension types should be considered as a preferred example, but not as an essential feature.

[0205] 9. Conclusion

[0206] Below we describe several aspects according to the present invention, which can be used individually or in combination with the embodiments described herein.

[0207] In particular, the solution according to the present invention is described herein.

[0208] It should be noted that aspects of embodiments according to the present invention are set forth in the appended claims.

[0209] However, the embodiments defined by the claims may be optionally supplemented by any of the features described herein, either individually or in combination. It should also be noted that definitions within parentheses "()" or "[]" should be considered optional, particularly when used in the claims.

[0210] Nevertheless, it should be noted that the features of the present invention described below may also be used separately from the features of the claims.

[0211] Furthermore, the features and functions recited in the claims and described below can be optionally combined with the features and functions described in the sections describing the problems underlying aspects of the present invention, embodiments, and possible use scenarios for conventional approaches. In particular, the features and functions described herein can be used in a USAC audio decoder that complies with ISO / IEC 23003-3:2012, including amendment 3, subsection "Bitrate Adaptation" (e.g., as standardized on the filing date of the priority application of this application or as standardized on the filing date of the present invention, but possibly including further future amendments).

[0212] According to one aspect of the present invention, it is proposed to introduce (e.g., in the USAC bitstream syntax) a new configuration extension for USAC with usacConfigExtType==ID_CONFIG_EXT_STREAM_ID, along with an associated bitstream structure containing a simple universal 16-bit identifier bitfield. This identifier is different between any two configuration structures for all streams in a set of streams intended for seamless switching between them (e.g., it can be chosen differently by the audio encoder or audio stream provider). An example of such a set of streams is the so-called "adaptation set" in the MPEG-DASH delivery use case.

[0213] The proposed unique stream ID configuration extension will ensure, for example, that when comparing the current (or current configuration) with the new configuration structure (e.g., on the audio encoder side or audio decoder side), the new configuration (and therefore the new stream) will be correctly identified and the decoder will operate as expected and intended, e.g., the decoder will perform appropriate decoder flushes, pre-roll access units, and perform crossfades (if applicable).

[0214] The following is a proposed specification text (amendments) (as standardized on the filing date of this application or the filing date of the priority application, optionally including future amendments (e.g., MPEG-D USAC (ISO / IEC 23003-3+AMD.1+AMD-2+AMD.3))

[0215] The clauses referred to in the aspects of the present invention described below may be used individually or in combination with a USAC audio decoder or in another frame-based audio decoder.

[0216] As shown in Table 15 below, configuration extensions can be used by an audio encoder to provide an audio bitstream and by an audio decoder to extract information from the audio bitstream.

[0217] If audio encoding and decoding is used according to the above-mentioned USAC standard, Table 15 in Section 5.2 should be replaced with the following updated version of Table 15:

[0218] Table 15 - UsacConfigExtension() Syntax JPEG0007795017000001.jpg172162

[0219] Also, when considering audio encoding or decoding for the USAC standard, a new table AMD.01 should be added to the end of section 5.2 of the USAC standard (encoding details, number of bits is optional) as follows:

[0220] Table AMD.01-StreamId() Syntax JPEG0007795017000002.jpg32162

[0221] However, in the above table, the details of the encoding and e.g. the number of bits are optional. should be considered a

[0222] Also, when considering encoding or decoding according to the USAC standard, the following subclause 6.1.15 should be added after "6.1.14 UsacConfigExtension()":

[0223] 6.1.15 Unique Stream Identifier (streamID) 6.1.15.1 Terms, definitions and meanings

[0224] Stream Identifier A 2-byte unsigned integer stream identifier (stream ID) that uniquely identifies the configuration of the stream within a set of associated streams, for the purposes of seamless switching between these streams. The streamIdentifier can take on values ​​between 0 and 65535 (encoding details are optional).

[0225] For example, if it is part of an MPEG-DASH conformance set as defined in ISO / IEC 23009, then all stream IDs of streams in that DASH conformance set are pairwise distinct.

[0226] 6.1.15.2 Stream Identifier Description A configuration extension of type ID_CONFIG_EXT_STREAM_ID provides a container for indicating a stream identifier (abbreviation: "stream ID"). The stream ID configuration extension allows a unique integer to be appended to a configuration structure so that the audio bitstream configuration of two streams can be distinguished even if the rest of the configuration structure is (bit) identical.

[0227] The usacConfigExtLength of a configuration extension of type ID_CONFIG_EXT_STREAM_ID shall have the value two (2) (optionally may vary).

[0228] Any given audio bitstream may (optionally) have no more than one configuration extension of type ID_CONFIG_EXT_STREAM_ID.

[0229] When a normally operating decoder instance receives a new configuration structure, for example, by Config() in an ID_EXT_ELE_AUDIOPREROLL extension payload, it MUST compare this new configuration structure with its currently active configuration (see, for example, 7.18.3.3). Such a comparison can be done, for example, by a bit-by-bit comparison of the corresponding configuration structures.

[0230] If the configuration structure contains configuration extensions, e.g., all configuration extensions up to and including the configuration extension of type ID_CONFIG_EXT_STREAM_ID MUST be included in the comparison. All configuration extensions following the configuration extension of type ID_CONFIG_EXT_STREAM_ID MUST (optionally) not be considered during the comparison.

[0231] NOTE: The above rules allow the encoder to control whether changes in a particular configuration extension cause a decoder reconfiguration.

[0232] It should be noted that the definitions and details from this document to be added to the standard can optionally be used in embodiments according to the present invention, either individually or in combination.

[0233] When considering encoding or decoding USAC, Table 74 in Article 6 should be replaced with the table shown in Figure 10d.

[0234] The discussion has been made to conclude some possible modifications that may be introduced into the USAC standard. However, the concepts as described herein may also be used in connection with other audio coding standards. In other words, it would be possible to introduce stream identifier information as described herein into some structural structures of any other audio coding standard.

[0235] The features described herein with respect to stream identifier information may also be applicable when employed in combination with other coding standards, in which case the terminology should be adapted to that of the respective audio coding standard.

[0236] The following describes some optional effects and advantages or features of the present invention.

[0237] The presented composition extension provides an easily implementable solution for distinguishing between otherwise bit-identical composition structures. The obtained distinguishability between compositions enables the correct and originally intended functioning of, for example, dynamic adaptive streaming with seamless transitions between streams.

[0238] Below we describe some alternative solutions.

[0239] For example, the above problem can be avoided if the encoder ensures that all streams in a set of streams have different configurations, i.e., they use different coding tools or different parameterizations. If the difference in bitrates of the individual streams is large enough, this usually results in different settings for each pair. This is often the case, but when a fine grid of bitrates is required, the (traditional) solutions often do not work.

[0240] In contrast, stream identifiers contained in the constituent parts (also called constituent structures) can be used to distinguish between different streams, even if the rest of the constituent structure is identical (although the bit rates may be similar).

[0241] Alternatively (e.g., instead of using a stream identifier), one can create a suitable unspecified configuration extension that differs for each stream, but is structured differently somehow. The effect will be the same. It cannot be guaranteed that all decoder implementations will evaluate this unspecified configuration extension when configurations are compared in the scenarios described above, so correct functionality cannot be guaranteed.

[0242] In contrast, embodiments according to the present invention create the concept that stream identifiers are explicitly specified within the configuration structure, allowing for clear distinction between different streams.

[0243] It should be noted that implementations of the present inventive concepts can be recognized by analyzing the compositional structure of the USAC stream. Furthermore, implementations of the present inventive concepts can be recognized by testing for the presence of compositional extensions as described above.

[0244] In the following, some possible areas of application of aspects according to the present invention are described.

[0245] Embodiments according to the present invention provide identifiability of otherwise identical data structures.

[0246] Further embodiments according to the present invention provide distinguishability of otherwise identical audio codec configuration structures.

[0247] Embodiments according to the present invention enable seamless, dynamically adaptive streaming of audio over any transport network.

[0248] In the following, some further aspects are described, which should be considered optional.

[0249] For example, the behavior of an audio encoder / audio stream provider is described below: Below we will provide some optional details regarding the audio encoder (which may also take the form of an audio stream provider).

[0250] An audio encoder typically does not produce one (single) stream that changes its configuration abruptly, but an encoder or an encoder framework containing multiple encoder instances will produce multiple streams in parallel, each containing IPFs ("instant play frames") at synchronized positions (points in time) in the stream.

[0251] The decoder framework then selects one of the parallel generated streams according to certain and / or predetermined criteria, e.g., the quality of the Internet connection, and "asks" (or requests) the encoder server to send the correct stream, which it then forwards to the decoder. All further encoded streams are simply ignored. Changing between streams is only allowed in IPF.

[0252] The audio decoder is initially unaware of such changes and / or is not notified of such changes, for example by the decoder framework. Rather, the audio decoder must detect stream changes by comparing embedded configuration structures. From the decoder's perspective, it appears that the encoder has simply generated a stream with a changed configuration. In practice, this is not usually the case. Rather, multiple variants (including different bitrates) are always (continuously) generated in parallel by the encoder, and only the decoder framework and encoder-side server (or stream provider) split the stream and rearrange (recombine) parts (or streams) of the stream.

[0253] Further optional details are shown.

[0254] Furthermore, it should be noted that the devices shown in the figures may be supplemented by any of the features and functions described herein, either individually or in combination.

[0255] In conclusion, an audio encoder or audio stream provider can switch the supply of different streams to a particular audio decoder (or audio decoding device), and this switching can be performed, for example, on request of the audio decoder, or on request of the audio decoding device or other network management device, or even by decision of the audio encoder or audio stream provider. Switching between supplying frames from different audio streams can be used to adapt the actual bit rate to the available bit rate. The decoder configuration indicated by the audio encoder (or audio stream provider) to the audio decoder can be used to adapt the actual bit rate to the available bit rate. The stream identifier may be the same between streams, but the stream identifier should be different between different streams. Thus, the audio decoder can use the stream identifier to know when re-initialization of the audio decoder should be done using the additional information contained in the instant play frame (e.g., configuration information and pre-roll information).

[0256] As a further conclusion, using a stream identifier ("streamID") as described herein may overcome the problems underlying aspects of the present invention and the problems described in the sections describing possible usage scenarios of embodiments.

[0257] 10. Method

[0258] 11a-11c show a flowchart of a method according to an embodiment of the present invention.

[0259] The methods shown in Figures 11a-11c may be supplemented by any of the features and functions described herein.

[0260] 11. Alternative Implementations

[0261] While some aspects have been described in the context of an apparatus, it will be apparent that these aspects also represent descriptions of corresponding methods, where a block or device corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method step also represent descriptions of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, a programmable computer, or electronic circuitry. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

[0262] The encoded audio signals of the present invention can be stored on a digital storage medium or transmitted over a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.

[0263] Depending on specific implementation requirements, embodiments of the present invention can be implemented in hardware or software. Implementation can be performed using a digital storage medium, such as a floppy disk (floppy is a registered trademark), DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM or FLASH memory, on which electronically readable control signals are stored, which cooperate (or can cooperate) with a programmable computer system to execute the respective methods. Thus, the digital storage medium can be computer-readable.

[0264] Some embodiments according to the present invention include a data carrier having electronically readable control signals that can cooperate with a programmable computer system to perform one of the methods described herein.

[0265] Generally, embodiments of the present invention may be implemented as a computer program product having program code operable to perform one of the methods when the computer program product runs on a computer, which program code may for example be stored on a machine readable carrier.

[0266] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

[0267] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0268] A further embodiment of the inventive method is therefore a data carrier (or digital storage medium or computer readable medium) having recorded thereon a computer program for performing one of the methods described herein. The data carrier, digital storage medium or recorded medium is typically tangible and / or non-transitory.

[0269] A further embodiment of the inventive method is, therefore, a data stream or sequence of signals representing the computer program for performing one of the methods described herein, the data stream or sequence of signals being adapted to be transmitted via a data communication connection, for example the Internet.

[0270] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

[0271] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0272] Further embodiments according to the present invention include an apparatus or system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, etc. The apparatus or system may, for example, include a file server for transferring the computer program to the receiver.

[0273] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.

[0274] The apparatus described herein can be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0275] The devices described herein, or any components of the devices described herein, may be implemented at least in part in hardware and / or software.

[0276] The methods described herein can be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0277] The methods described herein, or any components of the apparatus described herein, may be performed at least in part by hardware and / or software.

[0278] The above-described embodiments are merely illustrative for illustrating the principles of the present invention. It is understood that modifications and variations of the arrangements and details described herein will be apparent to others skilled in the art. It is understood, therefore, that it is the intention to be limited only by the scope of the appended claims, and not by the specific details presented by way of description or illustration of the embodiments herein.

Claims

Claim 1: An audio decoder (100; 200) for providing a decoded audio signal representation (112; 212) based on an encoded audio signal representation (110; 210; 312; 412; 550; 600; 700; 800), comprising: the audio decoder is configured to adjust decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), the audio decoder is configured to decode one or more audio frames using current configuration information (140; 240); and the audio decoder is configured to compare configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with the current configuration information (140; 240), and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) of the configuration information in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, to perform a transition and to perform decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the audio decoder is configured to take into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained by the audio decoder and a stream identifier represented by stream identifier information in the configuration structure associated with the one or more frames to be decoded, the audio decoder is configured to compare the configuration information in the configuration structure associated with one or more frames (222) to be decoded with the current configuration information up to and including the stream identifier. Audio decoder.

2. the audio decoder is configured to take into account configuration information items located before the stream identifier information (230; streamID, 1050a, streamIdentifier) ​​in the configuration structure when comparing the configuration information in the configuration structure associated with one or more frames to be decoded with the current configuration information (140; 240); and the audio decoder is configured to, when comparing the configuration information in the configuration structure associated with one or more frames to be decoded with the current configuration information, leave configuration information items located after the stream identifier information in the configuration structure unaccounted for.

2. An audio decoder according to claim 1.

3. A method for providing a decoded audio signal representation based on an encoded audio signal representation, comprising: said method comprising the step of adjusting decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), The method comprises the step of decoding one or more audio frames using current configuration information (140; 240), the method comprises a step of comparing configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with the current configuration information, and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts of the configuration information (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, performing a transition and performing decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the method comprises the step of taking into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained in audio decoding and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded, the method includes comparing the configuration information in the configuration structure associated with one or more frames (222) to be decoded with the current configuration information up to and including the stream identifier; method.

4. A computer program for carrying out the method according to claim 3 when the computer program runs on a computer.

5. An audio decoder (100; 200) for providing a decoded audio signal representation (112; 212) based on an encoded audio signal representation (110; 210; 312; 412; 550; 600; 700; 800), comprising: the audio decoder is configured to adjust decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), the audio decoder is configured to decode one or more audio frames using current configuration information (140; 240); and the audio decoder is configured to compare configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with current configuration information (140; 240), and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) of the configuration information in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, perform a transition and perform decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the audio decoder is configured to take into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained by the audio decoder and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded, the audio decoder is configured to compare the configuration information in the configuration structure associated with one or more frames (222) to be decoded with the current configuration information bit by bit. Audio decoder.

6. A method for providing a decoded audio signal representation based on an encoded audio signal representation, comprising: said method comprising the step of adjusting decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), The method comprises the step of decoding one or more audio frames using current configuration information (140; 240), the method comprises a step of comparing configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with the current configuration information, and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts of the configuration information (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, performing a transition and performing decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the method comprises the step of taking into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained in audio decoding and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded, the method includes comparing the configuration information in the configuration structure associated with one or more frames (222) to be decoded with the current configuration information bit by bit; method.

7. A computer program for carrying out the method according to claim 6 when the computer program runs on a computer.

8. An audio decoder (100; 200) for providing a decoded audio signal representation (112; 212) based on an encoded audio signal representation (110; 210; 312; 412; 550; 600; 700; 800), comprising: the audio decoder is configured to adjust decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), the audio decoder is configured to decode one or more audio frames using current configuration information (140; 240); and the audio decoder is configured to compare configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with current configuration information (140; 240), and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) of the configuration information in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, perform a transition and perform decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the audio decoder is configured to take into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained by the audio decoder and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded, the coded audio frame comprises a coded representation of the audio signal in the form of coded spectral values ​​and coded scale factors, and / or coded spectral values ​​and coded linear predictive coding coefficients, and / or coded excitation coefficients and coded linear predictive coding coefficients, Audio decoder.

9. A method for providing a decoded audio signal representation based on an encoded audio signal representation, comprising: said method comprising the step of adjusting decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), The method comprises the step of decoding one or more audio frames using current configuration information (140; 240), the method comprises a step of comparing configuration information (110a; 222c; 332; 424; 1010, 1030) in a configuration structure associated with one or more frames (222) to be decoded with the current configuration information, and if the configuration information in the configuration structure associated with the one or more frames to be decoded or relevant parts of the configuration information (1020a, 1020b, 1022a, 1024a, 1024b, 1026a, 1050a) in the configuration structure associated with the one or more frames to be decoded differs from the current configuration information, performing a transition and performing decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as new configuration information, the method comprises the step of taking into account stream identifier information (230; streamID, 1050a, streamIdentifier) ​​included in the configuration structure when comparing the configuration information, such that the transition is performed depending on a difference between a stream identifier previously obtained in audio decoding and a stream identifier represented by the stream identifier information in the configuration structure associated with the one or more frames to be decoded, the coded audio frame comprises a coded representation of the audio signal in the form of coded spectral values ​​and coded scale factors, and / or coded spectral values ​​and coded linear predictive coding coefficients, and / or coded excitation coefficients and coded linear predictive coding coefficients, method.

10. 10. A computer program for carrying out the method according to claim 9 when the computer program runs on a computer.

Citation Information

Patent Citations

  • Audio decoder, apparatus for generating encoded audio output data, and method enabling decoder initialization

    JP2016539357A