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

The audio decoder addresses the challenge of seamless transitions between audio streams by using a stream identifier in the configuration information to distinguish between streams, ensuring seamless and artifact-free transitions even when streams have identical decoding parameters but different bitrates.

JP2025081336APending Publication Date: 2025-05-27FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025011290
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2017-01-11
Filing Date
2025-01-27
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

Existing audio decoding technologies face challenges in seamlessly transitioning between different audio streams, particularly when adaptive streaming is used and streams have identical composition structures but different bitrates, leading to potential audible artifacts.

Method used

An audio decoder is configured to adjust decoding parameters based on configuration information, including a stream identifier, allowing it to distinguish between different streams even when the decoding configuration remains unchanged, thereby enabling seamless transitions without audible artifacts.

Benefits of technology

The proposed solution allows for seamless transitions between different audio streams, avoiding audible artifacts and maintaining high audio quality, even in scenarios where streams have identical decoding parameters but different bitrates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025081336000001_ABST
    Figure 2025081336000001_ABST
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 disclosed herein is configured to adjust decoding parameters according to configuration information and decode one or more audio frames using current configuration information. The audio decoder is also configured to compare configuration information in a configuration structure associated with one or more frames to be decoded by the current configuration information and make a transition to perform decoding using the configuration information in the configuration structure associated with the one or more frames to be decoded as a new configuration information, if the configuration information in the configuration structure associated with the one or more frames to be decoded, or a relevant portion thereof, is different from the current configuration information. The audio decoder considers stream identifier information included in the configuration structure when comparing the 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 problem underlying aspects of the present invention and possible use scenarios of embodiments according to the present invention are described.

[0009] Situations exist where there is a transition between different audio streams or different sequences of encoded audio frames, e.g. different sequences of audio frames may contain different audio content and a transition 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 using adaptive streaming, situations can arise where two streams in a so-called adaptation set (which can group, for example, 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 may 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 may use a coarser quantization of the spectral values, which results in a smaller bit demand if it is desired to achieve a lower bit rate while the basic encoder or decoder settings remain unchanged.

[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 a subsequently received access unit (or "frame") comes 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 possibly perform a specific set of operational steps which ensures that: One decoder instance is gracefully shut down and the temporarily internally stored 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 changed 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, for example in response to corresponding bitstream signaling elements, 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.

[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 transition of streams may be perceptually noticeable. This is due - for example - to variations in the overall encoding quality or in the audio bandwidth or sound quality. However, the actual point (in time) of the transition does not by itself cause an auditory impression. In other words, there are no "clicks" or "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 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 different 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 an access unit from a different stream than before, and therefore will not reconfigure the decoder or decode the audio preroll that is in the IPF's extended payload.

[0019] Instead, the decoder will attempt to continue decoding as if it had received successive access units from the previous active stream. This can lead to problems (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 a situation where the audio is too slow, resulting in audible artifacts such as clicks or noise bursts. This 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, and thus serve the purpose of distinguishing the configuration. 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 at potential transition points (so-called Stream Access Points (SAPs)) all streams have identical window shapes and window sequences, as well as further constraints on the signal processing tools used. This may have a negative impact on the audio quality. The IPF mentioned above is designed to completely free the new codec 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 according to 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 in dependence 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 part of the configuration information in a 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 perform 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 the 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 generates 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 an audio decoder to distinguish between different streams, and thus to perform a transition even if the actual decoding configuration (which can be described, for example, by the remaining configuration information in the configuration structure) is identical for both streams. Thus, the stream identifier can be used as a criterion to distinguish between different streams for which a transition can be made. Since the stream identifier information is included in the configuration structure (e.g., together with other configuration information that adjusts the decoding parameters of the audio decoder), there is no need to evaluate information from different protocol layers when deciding 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 no information needs 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 successive parts of a single stream, and allows the audio decoder to recognize the switch between different streams without accessing information from different protocol levels, even in situations where the same decoding parameters are used in the different streams. Also, it is not necessary for the different streams to use identical decoding parameters at the positions where switching between different streams is allowed.

[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.) at the transition. Thus, excessive overhead and degradation of audio quality can also be avoided.

[0028] In a preferred embodiment, the audio decoder is configured to check whether the configuration structure includes stream identifier information and, if the stream identifier information is included in the configuration structure, to selectively consider the stream identifier information in the comparison. Thus, it is not necessary to include the 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 the evaluation of the stream identification 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 configuration structure includes a configuration extension structure and to check whether the configuration extension structure includes a stream identifier. The audio decoder may be configured to selectively take into account the stream identifier information in the comparison if the stream identifier information is included in the configuration extension structure.

[0030] Thus, the stream identifier can be placed in a configuration extension structure whose presence is optional, and the presence of the stream identifier information can even be considered optional even if the configuration extension structure is present. Thus, the audio decoder can flexibly recognize whether the stream identifier information is present or not, and the 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 it is not necessary for each frame with a configuration structure to also include the stream identifier information, since switching between streams is usually only possible at specified times.

[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 is not considered when comparing configuration information in a configuration structure associated with one or more frames to be decoded to the current configuration information.

[0032] By using such a concept, the detection of transitions between different streams can be done in a very flexible way. For example, all such configuration information items indicating "important" changes in the audio streams can be placed in the configuration extension structure before the stream identifier information, so that a change in these parameters will cause a transition from one stream to another. On the other hand, by leaving some configuration information items not taken into account 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 that may lead to a reinitialization. In other words, it is possible to avoid that a change in a "dependent" decoding parameter will cause a "transition", by only evaluating in the comparison the configuration information items placed in the configuration extension structure before the stream identifier and the stream identifier itself. Rather, it is possible for the audio encoder to place such "dependent" configuration information items (related to 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 streams 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 reinitialization 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 the signal characteristics or other criteria, which configuration information item changes will cause a "transition" or reinitialization of the audio decoder, and which configuration information item changes are possible in the stream without causing a "transition" or reinitialization of the audio decoder.

[0033] In a preferred embodiment, the audio decoder is configured to identify one or more configuration information items in a configuration extension structure based on one or more configuration extension type identifiers preceding the respective configuration information items, the use of such configuration extension type identifiers allowing 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 of 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. Thus, it is possible to flexibly determine when stream identifier information should be added to the audio stream, and the audio decoder can easily determine when such stream identifier information is available. Thus, it is sufficient to include the stream identifier information of the audio stream (which requires a large number of bits) at the points where there may be a switch between different streams. Since the Instant Play Frames (IPFs) in the consecutive audio streams do not need to convey the stream identifier information at the positions where there is no possibility of switching between different streams, the bit rate is saved.

[0035] In a preferred embodiment, the audio decoder receives random access information (e.g., 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 processing chain of the audio decoder to a desired state. If the audio decoder detects that the configuration structure of the random access information and the configuration information in the random access information (e.g., "Config()"), or the relevant part of the configuration information in the configuration structure of the random access information, are different from the current configuration information, the audio decoder is configured to perform a cross-fade between audio information represented by audio frames processed (decoded) before reaching the audio frame representation with random access information (e.g., direct play frame, IPF) and audio information derived based on the audio frame representation with random access information, after performing initialization of the audio decoder using the configuration structure of the random access information and after adjusting the state of the audio decoder using the information for bringing the state of the processing chain to the desired state. For example, if the value "numPreRollFrames" is zero, decoding of pre-roll frames can be omitted.

[0036] In other words, by evaluating the configuration information in the configuration structure, or relevant parts thereof (e.g., up to and including the stream identifier information), the 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 processing chain of the audio decoder into a proper state (usually influenced by one or more previous frames in the absence of a transition), thereby avoiding artifacts at the transition. In conclusion, this concept allows for artifact-free switching between different streams, and the audio decoder does not need any information from different protocol levels, except for the sequence 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 an audio decoder initialization and without using information (e.g., a pre-roll extension payload) to bring the state of the processing chain of the audio decoder to 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 a continuous playback of the same stream rather than a transition between different streams, the overhead (e.g., processing overhead or computational overhead) that would be caused by performing an audio decoder initialization is avoided. Thus, a high level of efficiency is achieved and the 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 an initialization of the audio decoder and to use the information to adjust the state of the audio decoder to the desired state of 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, the initialization is also performed when there is a real "random access" (where the audio decoder knows that the preceding audio frame has not been decoded). Thus, the random access information is used in both cases of real "random access" (i.e. when jumping to a particular frame) and when switching between different streams ("real" random access). can be signaled to the audio decoder, and switching between different streams may only be discernible by the audio decoder by evaluation of the stream identifier information).

[0039] It should be noted that the audio decoder described herein may be optionally 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 encoding 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 may include different stream identifiers in the configuration structure of the different streams. Thus, the stream identifiers may not describe the decoder configuration (or decoding parameters) to be used by the audio decoder, but rather may be information that identifies the streams. Thus, the encoded audio signal representation includes the stream identifiers, and identification of the different streams is possible based on the encoded audio signal information itself, without requiring information from different protocol levels. For example, the use of information provided at the packet level is not necessary, since the stream identifier information is an integral part of the audio signal representation, or of the configuration structure contained within the audio signal representation. As a result, as discussed herein, the audio decoder is able to recognize switching between different streams even if the actual configuration parameters of the decoder 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. Thus, 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 where the audio encoder knows that there is no stream switch.

[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, the stream identifier is only included in the configuration structure if the audio encoder recognizes that this is necessary. For example, the audio encoder only needs to include the 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 a first encoded audio information represented by a first sequence of audio frames and supplying a second encoded audio information represented by a second sequence of frames, where a proper rendering of a first audio frame of the second sequence of audio frames after rendering of a last frame of the first sequence of audio frames requires a re-initialization of the audio decoder. In this case, the audio encoder is configured to include in the 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 to know when a re-initialization (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. Thus, the bit rate can be kept rather small. In particular, it can be avoided that signaling is included 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 actually takes place. For example, the audio decoder first requests audio frames from the first sequence of audio frames, and when the audio decoder recognizes any 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 a first sequence and supplying audio frames from a second sequence, and will only be able to recognize from which sequence the currently received audio frame originated by evaluating the stream identifier contained in the configuration structure.

[0047] In a preferred embodiment, the 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 (although the first and second streams may represent the same audio content). Furthermore, the audio encoder may be configured to indicate to the audio decoder identical decoder configuration information for the decoding of the first sequence of audio frames and for the decoding of 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 and second streams 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 and second audio streams. 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. Thus, 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 may be performed by the audio decoder. It also allows the IDE 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 according to the present invention relates to a method for providing a decoded audio signal representation based on an encoded audio signal representation, the method comprising adjusting decoding parameters depending on configuration information, the method comprising decoding one or more audio frames using current configuration information (e.g. currently active configuration information). The method also comprises comparing configuration information in a configuration structure associated with one or more frames to be decoded with the current configuration information, and the method comprises making a transition (e.g. including reinitialization of the decoding) to perform the decoding using the configuration information in the configuration structure associated with one or more frames to be decoded as a new configuration if the configuration information in the configuration structure associated with one or more frames to be decoded or a relevant part of the configuration information in the configuration structure associated with one or more frames to be decoded (e.g. up to and including the stream identifier) ​​differs from the current configuration information. The method also comprises taking into account stream identifier information contained 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. The method is based on the same considerations as the audio decoder described above.

[0051] The 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 an encoded audio signal representation, comprising: encoding overlapped or non-overlapping frames of an audio signal using encoding parameters to obtain an encoded audio signal representation. The method comprises providing a configuration structure describing the encoding parameters (or, equivalently, decoding parameters to be used by an audio decoder), the configuration structure comprising 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 method described herein may be supplemented with any of the features and functions described above with respect to the corresponding audio decoder and audio encoder. Furthermore, the method may be supplemented with any of the features, functions and details described herein, either individually or in combination.

[0054] An embodiment according to the present invention creates 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 the coding parameters (or, equivalently, the 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 the 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 flexible inclusion of the stream identifier information whenever it is needed, while the inclusion of the 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 the sub-data structure of a representation of an audio frame, it is possible to avoid the audio decoder 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 the audio frames containing the constituent structures (and can be extracted by an audio decoder from the sub-data structures of the representations of the audio frames containing the constituent structures). This idea is based on the finding that switching between streams (without noticeable artifacts) can only be performed in frames containing the constituent structures. It was therefore found that it is sufficient to embed the stream identifiers in the sub-data structures of the representations of the audio frames containing the constituent structures, while no stream identifiers are included in the representations of the audio frames that do not contain the constituent structures.

[0059] The audio streams described herein may be supplemented with 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 stream.

[0060] An embodiment according to the present invention creates an audio stream provider for providing an encoded audio signal representation. The audio stream provider is configured to provide, as part of the encoded audio signal representation, encoded versions of temporally overlapping or non-overlapping frames of an audio signal, encoded using encoding parameters. The audio stream provider is configured to provide, as part of the encoded audio signal representation, a configuration structure describing the encoding parameters (or equivalently the 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 an 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 the 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 discussed above with respect to the audio encoder and the audio stream.

[0063] In a preferred embodiment, the audio stream provider is configured to provide the encoded audio signal representation such that the encoded audio signal representation includes at least one configuration structure including a stream identifier and at least one configuration structure not including a stream identifier. As mentioned above, it is not necessary that a stream identifier is included in each configuration structure. Rather, there may be a flexible adjustment of which configuration structures should include the stream identifier. Typically, the stream identifier will be included in the configuration structure of an audio frame where there is a switch between streams (or where a switch between streams is expected or allowed). In other words, a switch between different streams including identical configuration structures, except for different stream identifiers, will only be performed by the stream provider in a frame where the stream identifier is present. Thus, an audio decoder (receiving the encoded 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 providing 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 a last frame of the first sequence of audio frames requires a reinitialization 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 a first frame of a second sequence of audio frames, the audio decoder can evaluate the configuration structure including the stream identifier associated with the second sequence of audio frames and can recognize a switch from the first stream to the second stream by a comparison of 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 provides appropriate signaling information, i.e. the stream identifier, within the configuration structure of the first frame of the second audio stream provided 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 encoded audio signal representation such that the encoded 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 of different protocol levels and there is no need to extract such information from the different protocol levels at the audio decoder side.

[0066] In a preferred embodiment, the audio stream provider is configured to provide the encoded audio signal representation such that the first sequence of audio frames (e.g. the first stream) and the second sequence of audio frames (e.g. the second stream) are encoded using different bit rates. Furthermore, the audio stream provider is configured to provide the encoded audio signal representation such that the encoded audio signal representation indicates to an audio decoder identical 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, except for the different bitstream identifiers. 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, the use of the bitstream identifier is particularly useful, since the use of the bitstream identifier allows to reliably distinguish between different bitstreams while minimizing the signaling overhead.

[0067] In a preferred embodiment, the audio stream provider is configured to switch between providing a first sequence of audio frames (e.g., a first stream) and a second sequence of audio frames (e.g., a second stream) to the audio decoder, 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 providing the first sequence of audio frames and providing the second sequence of audio frames at audio frames where the audio frame representation (e.g., an instant play frame, IPF) includes random access information (e.g., an audio preroll extended 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 providing a frame from the first sequence of audio frames and a frame 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 a switch between different audio streams and thus recognize that the random access information should be evaluated (whereas the random access information is not typically 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 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 providing frames to the audio decoder from the different parallel sequences, 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 the 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 an encoded audio signal representation, the method comprising: providing, as part of the encoded audio signal representation, an encoded version of overlapped or non-overlapping frames of an audio signal, encoded using encoding parameters, the method comprising providing, as part of the encoded audio signal representation, a configuration structure describing the encoding parameters (or, equivalently, decoding parameters to be used by an audio decoder), the configuration structure comprising a stream identifier.

[0072] The method is based on the same considerations as the stream provider described above, and may be supplemented with any other features, functions and details described herein, e.g. 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 product for carrying out the methods described herein. [Brief description of the drawings]

[0074] Embodiments according to the present invention are 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. [Diagram 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. [Diagram 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 configuration portion that allows random access and has a stream identifier in its configuration extension portion, according to one embodiment of the present invention. [Figure 7] FIG. 7 illustrates a representation of an example 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 a possible decoder functionality of an audio decoder as 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 illustrates a representation of an example stream identifier bitstream element. [Figure 10d] FIG. 10d shows an example of a value of "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 PREFERRED EMBODIMENTS

[0076] 1. Audio decoder according to FIG. 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 provides a decoded audio signal representation 112 based thereon. For example, the encoded audio signal representation 110 may be an audio stream including a sequence 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 a bitstream syntax of any of the known audio coding standards. The encoded audio signal representation may include configuration information 110, which may for example be included in a configuration structure and may for example include a stream identifier. The stream identifier may for example be included in the configuration information or the configuration structure. 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, the decoder 100 may include a decoder core 130 that 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 the 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 a relevant portion 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., within 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, including the stream identifier. The relevant portion is, for example, the portion up to and including the stream identifier, and 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 related to 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 related to the next audio frame to be decoded only differs from the current configuration information in that the stream identifiers are different). On the other hand, if the configuration information related to 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 naturally also makes a "transition", which usually means reinitializing the decoder core 130 and changing the decoding parameters.

[0084] In conclusion, the audio decoder 100 according to Fig. 1 is able to recognise transitions between frames of different audio streams even if the decoding parameters to be used by the decoder core 130 remain unchanged by evaluating the stream identifiers contained in the configuration structure of the audio frame, which eliminates the need for dedicated signalling of transitions between audio streams and / or conditions for reinitialising the decoder core. Thus, the decoder 100 is able to properly decode audio frames even with transitions from one stream to another, since the audio decoder is able to recognise such transitions and handle them appropriately, e.g. by reinitialising the audio decoder and (if necessary) reconfiguring the audio decoder with new configuration parameters.

[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, either 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 is configured to receive an encoded audio signal representation 210 and, based thereon, to provide a decoded audio signal representation 212. The encoded audio signal representation 210 may be, for example, an audio stream including a series of Unified Speech and Acoustic Coding (USAC) frames. However, a sequence of audio frames encoded using a different audio coding concept may also be input to the audio decoder 200. For example, the audio decoder may receive an audio frame 220 of a first stream followed by an audio frame 222 of a second stream (as the next audio frame). The audio frames 220, 222 may be provided, for example, by an audio stream provider. The audio frame 220 may include, for example, an encoded representation 220a of an audio signal, for example in the form of encoded spectral values ​​and encoded scale factors, and / or in the form of encoded spectral values ​​and encoded linear predictive coding coefficients (TXC), and / or in the form of encoded excitation and encoded linear predictive coding coefficients. The audio frame 222 may also include an encoded representation 222a of an audio signal, which may, for example, be in the same format as the encoded representation 220a of the audio signal included in the frame 220. However, in addition, the frame 222 may also include random access information 222b, which may include an arrangement structure 222c and information 222d for bringing the state of a processing chain (e.g., a decoder core) into a desired state. This information 222d may, for example, be denoted as "AudioPreRoll".

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

[0089] The configuration extension structure 226 may, for example, include information or flags or bits or identifiers indicating whether a stream identifier is present. The latter information, flags, bits or identifiers are indicated at 228. If the information or flags or bits or identifiers 228 indicate 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 regarding 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, for example, include a memory 240 in which current configuration information (e.g., configuration information used in the decoding of a previous frame and extracted from a configuration structure of a previous or preceding frame) can be stored. The audio decoder 200 also includes a comparator or comparison 250 configured to compare configuration information related to 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 is compared with the current configuration information from the memory 240 to determine whether the configuration information in the frame 222 (up to and including the stream identifier) ​​is the same as the current configuration information extracted from one of the previous audio frames. In this comparison, it is naturally checked whether the configuration structure 222c actually contains the configuration extension structure 226 and the stream identifier 230. If the configuration extension structure 226 is not present, it cannot be considered in the comparison. Also, if the stream identifier 230 is not present (e.g., because it indicates that the flag 228 is not included in the frame 222), it is naturally not evaluated in the comparison. Also, the configuration information following the stream identifier 230 in the configuration structure 222c is typically ignored in the comparison, since it is assumed that such configuration information is of less importance 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 also occur within a single stream.

[0092] In conclusion, the comparison 250 typically compares the configuration information up to and including the stream identifier (but preferably omitting the configurations placed in the configuration extension structure after the stream identifier) ​​of the audio frame to be decoded with the current configuration information (obtained from the previously decoded audio frame). The comparison 250 thus detects a new stream (or substream) if there are differences in the configuration information found in the comparison. The comparison is thus 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, for example, cross-fading between a time-domain representation 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 the 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 the configuration information 222c of the 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 of the audio frame 222 to be decoded and the current configuration information in the memory 240.

[0095] For example, a reinitialization of the decoder 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. Or, for example, a "new instance" of the decoder may be used if the decoder is implemented (at least partially) in software. Furthermore, when switching from decoding the first stream to decoding the second stream ("transition"), the state of the processing chain of the decoder core 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 the time-discrete filter may be brought to a desired state. This may be done using dedicated information, also denoted as "audio pre-roll" APR. It is important to bring the state of the processing chain to a desired state, since 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 some frames between the second audio stream when the audio stream supplier switches from supplying frames from the first audio stream to supplying frames from the second audio stream. Thus, 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 decoding may depend on the particular setting of the state of the decoding chain that would normally be caused by the decoding of a frame preceding the first audio frame of the second audio stream (the first audio frame of the second audio stream that is 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 the setting of the audio decoder state 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 number 270, the decoding of the last frame of the first audio stream provides a decoded portion 272 (also indicated as a "useful portion"). Optionally, the decoding of 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 be optionally 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 is able to 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. For this purpose, the audio decoder evaluates the configuration information 222c (also called 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 to the previously decoded audio frame, a reinitialization of the decoder core is performed, which typically includes evaluating "audio pre-roll" information to bring the state of the processing chain of the decoder core to the desired state. Thus, the audio decoder is able to properly handle the situation where the audio encoder or audio stream provider provides audio frames from a new stream (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 an 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 provides an encoded audio signal representation 312 based thereon. The audio encoder 300 includes an encoder core 320 configured to encode overlapping or non-overlapping frames of the input audio signal 310 using encoding parameters to obtain an 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. The processing may, for example, be performed on a frame-by-frame basis.

[0101] Further, the audio encoder may include a configuration structure supply 330 configured to supply a configuration structure 332 describing, for example, encoding parameters (or, equivalently, decoding parameters to be used by the audio decoder). The configuration structure 332 may, for example, correspond to the configuration structure 222c. In particular, the configuration structure 332 may include encoding parameters (e.g., coding form) or, equivalently, decoding parameters (e.g., coding form) describing settings to be used by the 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 may specify an audio stream (e.g., a successive portion of audio content that is successively encoded using a particular encoder setting). For example, the stream identifiers provided by the configuration structure supply 330 may be selected such that all audio streams that may switch without artifacts and without explicitly notifying the audio decoder about the switch convey different stream identifiers. However, in some cases, it may be sufficient for streams that have identical associated encoding parameters (or, equivalently, decoding parameters to be used by an audio decoder) to contain different stream identifiers, in other words, different stream identifiers may only be required for those streams whose other encoding or decoding parameters are identical.

[0102] Thus, the encoder control 340 may, for example, control both the encoder core 320 and the configuration structure supply 330. The encoder control 340 may, for example, decide on encoding parameters (which may, for example, correspond at least in part to decoding parameters to be used by an audio decoder) to be used by the encoder core 320 and may also inform the configuration structure specification 330 regarding encoding / decoding parameters to be included in the configuration structure 332. The encoded audio representation 312 thus includes the encoded speech content and also the configuration structure 332. Thus, an audio decoder (e.g., audio decoder 100 or audio decoder 200) may immediately recognize when it is provided with different audio streams that have been encoded 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 it is usually not necessary to indicate all encoding parameters to the audio decoder. For example, it is only necessary to indicate encoding parameters to the audio decoder that affect the decoding algorithm. Encoding parameters that are sent to the audio decoder to determine the settings of the audio decoder are also indicated as decoding parameters. On the other hand, some important encoding parameters are usually not signaled to the audio decoder, but rather are implicitly reflected in the encoded audio signal representation. For example, the desired bit rate may be an important encoding parameter, which may determine how coarsely the audio encoder quantizes the spectral values ​​and / or how many spectral values ​​the audio quantizes to small or even zero values. However, for the audio decoder, it is sufficient to see the result of the encoding, but it is not necessary to know the specific strategy of the encoder to keep the bit rate reasonably small. Also, depending on the type of audio content and depending on the bit rate actually required, there may be different approaches to achieve a sufficiently small bit rate on the encoder's side. These parameters may be considered as "encoding parameters", but are not reflected in the set of "decoding parameters" (and are not included in the encoded representation of the 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 bitrate, or with respect to parameters that affect the target bitrate, 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 the decoding parameters to be used by a decoder (to process and decode the encoded representation of the audio content) may be identical.

[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 may be optionally supplemented with any of the features, functions and details described herein.

[0108] 4. Audio stream provider according to FIG. 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) overlapped or non-overlapping frames of the audio signal, encoded using the encoding parameters.

[0110] Further, 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 (or provider) of encoded versions of overlapped or non-overlapping frames of an audio signal. Further, the audio stream provider may comprise a composition structure provider or a 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 for example store in a 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 configuration 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 configuration structure 424 may for example be a portion of the respective audio stream received by the audio stream provider from an audio encoder or stored in a 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 describing the decoding parameters to be used by the audio decoder. The configuration structures may also include respective stream identifiers, e.g., integers identifying 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 provide frames n to n+x (where n to n+x may be time indexes) of the second audio stream as part of the encoded audio signal representation 412, where frames 1 to n-1 of the second audio stream may not be provided as part of the encoded 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 an 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 configuration structures. In other words, it may be ensured that, for example, switching 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 the configuration structures and preferably also includes some information for initializing the audio decoder (e.g. audio pre-roll, etc.).

[0114] Thus, the audio stream provider can, for example, provide a part 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 part 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 are different. This is due to the fact that the decoding parameters reflected in the configuration structure 424 do not necessarily need to reflect different encoding parameters (or all encoding parameters) used for encoding the first audio stream and for encoding the second audio stream, as it is in fact (only) the stream identifiers, which are also included in the configuration structure, that the audio decoder can 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. 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 change in the stream has occurred. In other words, the audio decoder may assume that, except for the configuration structure 424, frames n to n+x are 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 an encoded representation of an audio content to an audio decoder in the form of an encoded audio signal representation, for example, the audio stream provider can flexibly switch between providing encoded frames from a first audio stream and a second audio stream, where the switching between the 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 be optionally supplemented with any of the features, functions and details described herein.

[0119] In the following, an example of the functionality of the audio stream provider 400 will 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 Fig. 5 is designated 500 and may correspond to the audio stream provider 400 according to Fig. 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 providing frames from the first audio stream and providing frames from the second audio stream, for example the audio stream provider 500 may be configured to switch between providing frames from the first audio stream and providing 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 comprise a first stream identifier in a composition structure (for example, of an instant play frame). The second audio stream 530 may be encoded at a second bit rate, and may comprise a second stream identifier in a composition structure (for example, of an instant play frame). However, the first audio stream and the second audio stream may, for example, represent the same audio content. However, the first audio stream and the second audio stream may also represent different audio contents.

[0123] For example, the first audio stream 520 may have n 1 , n 2 , n 3 , and n 4 Independent playback frames may be present at the frames indicated by . For example, one or more "normal" audio frames that are not independent playback frames may be placed between two adjacent independent playback frames. However, in some circumstances, independent playback frames may also be adjacent.

[0124] Similarly, the second audio stream 530 has a frame position n 1 , n 2 , n 3 and n4 It also includes independent playback frames.

[0125] The positions of the independent playback frames in the two streams 520, 530 can be optionally 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 with reference numeral 550. As can be seen, the encoded audio signal representation 512 includes at its start a portion 552 which includes one or more frames of the first audio stream. However, the index n of the first audio stream 1 After providing an audio frame having a first bit of the second audio stream, the audio stream provider 500 may decide (based on an internal decision or based on some control information received from the outside) to switch to the second audio stream. Thus, a portion 554 of an audio frame of the second audio stream is provided in the encoded audio signal representation 512. For example, 1 From 2 Frames with frame indices up to -1 are provided to portion 554 in the encoded audio signal representation 512. The first frame in portion 554 is an independent playback frame, which is the frame index n in the second audio stream 530. 1However, the frame index n 2 When a frame with a frame index n − 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, the frame index n (based on the second audio stream 530) 2 - the frame index n obtained from the first audio stream 520 after (or immediately after) the audio frame with 1 2 may be provided in the encoded audio signal representation. 2 It should be noted that the frame with index n is also an independent playback frame. Thus, the part from the first audio stream is 2 Starting from the frame with frame index n 4 - It is assumed to end with 1.

[0128] In conclusion, the encoded audio signal representation 512 is a concatenation of parts of one or more frames, where some parts of the frame are taken from the first audio stream 520 and some parts of the frame are 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 an independent playback frame preferably includes 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 to be transferred (e.g., via a communication network) to an audio decoder for inclusion in the encoded audio signal representation 512 from these two or more audio streams. 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 that contains 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 a switch between portions of audio frames from different streams can be recognized at an audio decoder receiving the encoded audio signal representation 512 from differences in the relevant portions of the configuration structure. In some transitions, the configuration structure may differ in terms of the decoder's configuration parameters, while in the case of 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 when switching between different audio streams and perform reinitialization ("transition") whenever appropriate.

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

[0134] For example, Figure 6 shows an example of an audio frame that can take over the role of audio frame 222 described with reference to Figure 2. For example, the audio frame can be a "USAC frame." The audio frame of 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 independent 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 may be considered optional.

[0138] Additionally, there may be an optional 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 is 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, then "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 a 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 as sub-data structures configuration extension structures. The configuration extension structure may for example follow the syntax of the syntax element "UsacConfigExtension()". For example, the configuration extension structure may include information about a number of configuration extensions "numConfigExtensions". In case of a configuration extension of typeID_Config_Ext_Stream_ID, which is typical for embodiments 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 the decoder parameters and further contains a stream identifier, which may 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 should be 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, for example, include an extended syntax element, which can include a configuration structure (e.g., 222c) and information about one or more pre-roll frames, which are used, for example, to bring the state of the processing chain to a desired state and can, for example, correspond to information 222d. Furthermore, the USAC frame also comprises encoded audio information, such as a single channel element, a channel pair element, or a low frequency effect element. Thus, an audio decoder can recognize a change in the audio stream based on the stream identifier "streamId()". Also, the audio decoder can perform artifact-free decoding of the USAC frame 600, since the decoding parameters can be set based on the configuration information included in the configuration structure and the appropriate state of the audio decoding can be set based on the pre-roll frame information. Thus, the described USAC frame allows switching between decoding frames from different audio streams and also allows detection of the switching by the audio decoder without additional control information.

[0145] The USAC frame 600 described in this specification 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 shows a representation of an example 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, for example as the first information block, decoder configuration information, which may for example comprise the bitstream element "UsacConfig()" as defined in the USAC standard. The decoder configuration information may for example indicate 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 include audio frame data information units, which may not include, for example, pre-roll data, and may not include stream identifier information. 7. The USAC frame includes a data information unit (UsacFrame()) 720. For example, the information unit 720 may be a USAC frame, and may correspond, for example, to a 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 identifiers included in the information unit 710.

[0151] The information units 730 may be considered, for example, as stream access points.

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

[0153] Thus, the 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 if the information unit 730 is associated with a different audio stream compared to the 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 a switch between different audio streams. On the other hand, information unit 730 can be reliably used as the first information unit after a switch between different audio streams, since the stream identifier contained therein allows detection of a switch between different streams and the information unit also contains complete information for decoding, including configuration information and preroll information.

[0157] In conclusion, the 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 identification and completely independent decoding of the switches between the different audio streams.

[0158] Furthermore, optionally there may be frames which only carry 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 a first audio stream. For example, information unit 810a may comprise a decoder configuration, e.g., according to the bitstream syntax "UsacConfig()" defined in the USAC standard. The decoder configuration may comprise a configuration structure, which may, e.g., be similar to configuration structure 222c. For example, information unit 810 may include a stream identifier extension, and the stream identifier may, e.g., be included in a configuration extension structure of the configuration structure.

[0163] Information unit 810b may, for example, include pre-roll data and audio frame data without a stream identifier (such as encoded spectral values ​​and encoded scale factor information). 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., in a configuration structure). Thus, the information unit 820a represents an audio frame. If the audio decoder detects, based on the stream identifier extension, that the 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, since there is stream identifier information available at each switch from an audio stream to another within an encoded audio frame, an audio decoder can easily recognize the transition by evaluating the stream identifier (e.g., with respect 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 FIG. 9 FIG. 9 shows a schematic diagram of a possible decoder functionality of 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 about information about previously decoded frames and to evaluate new audio frames that may conform to the syntax described herein.

[0173] For example, in a 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 it is recognized that there is a jump to a stream access point, where 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 be optionally performed. It should be noted that random access means a "jump" from a first frame to a second frame, the second frame having a frame index that is not immediately after 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 play 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 the 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) without taking into account the stream identifier (e.g. up to but not including the stream identifier) ​​differs from the current configuration. If the (associated) configuration described in the configuration structure of the stream access point differs from the current configuration (path "yes"), decoding may proceed with step 940. However, it should be noted that step 930 can obviously 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 obviously be performed and no difference with the current configuration can be found.

[0177] However, if in step 930 it is found 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 made. In step 950, it is determined whether the stream access point contains a stream identifier (e.g., in the configuration structure). For example, the stream identifier does not necessarily have to be included, but is 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 in comparison 950 it is found that the stream access point contains a stream identifier (branch "yes"), then the stream identifier contained in the stream access point of the next frame (frame to be decoded) is compared with the current (saved) stream identifier. If it is found that the stream identifier contained in the next frame (frame to be decoded) is different from the current stream identifier (branch "yes" of decision 960), then jump to block 940. 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 a first initialization (branch "No" of step 960).

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

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

[0180] Alternatively, step 970 may involve decoding the next frame without reinitializing the decoder, with any pre-roll information that may be contained in the next frame being discarded (left undone).

[0181] In conclusion, there are various possibilities that the audio decoder can perform whenever it 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 such audio frames do not allow re-initialization of the audio decoder.

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

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

[0184] Reinitialization of the audio decoder is also performed if the audio decoder detects that the configuration information of the next stream to be decoded, up to and including the configuration identifier, is different from the stored information. 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 deciding whether to perform reinitialization. Also, if the audio decoder detects that no stream identifier is 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 may decide to omit the reinitialization.

[0186] Therefore, minor configuration changes that do not require reinitialization 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 small change in configuration (no reinitialization 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 Figs. 10a, 10b, 10c and 10d The syntax of the bitstream is described below. In particular, the syntax of the configuration structure is described. As an example, the syntax of the configuration structure "UsacConfig()" is 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 a 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 thus also the sampling frequency to be used by the audio decoder.

[0190] In addition, 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, for example as defined in the USAC standard.

[0191] Further, the configuration structure may also include a channel configuration index 1024 from which, for example, a channel configuration may be determined. The channel configuration index information may define, for example, 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 enumerate) 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, indicated, 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 the configuration extension structure 1028a.

[0195] The configuration extension structure (also denoted as "UsacConfigExtension()") may, for example, encode 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 the 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 (data items) may 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 may vary 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 may 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 are 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, by the placement of the stream identifier configuration extension information item in the configuration extension structure, the audio encoder can 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. Usually, the 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. Thus, more than 65000 different values ​​can be encoded 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 for example be represented by other values ​​of the configuration extension type identifier 1042a.

[0201] In conclusion, Figures 10a to 10d describe a possible syntax (or syntax extension) of a configuration structure that may be used by an audio encoder to encode stream identifier information that may 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 may be encoded in a different manner. Also, optionally, one or more of the above information items may be dropped. In addition, the UsacDecoderConfig information item may 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 could possibly be encoded in different ways.

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

[0205] 9. Conclusion

[0206] Below, several aspects according to the present invention are described, 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 brackets "()" or "[]" should be considered as optional, particularly when used in the claims.

[0210] Nevertheless, it should be noted that the features of the present invention that are 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 may be optionally combined with the features and functions described in the sections describing the problems underlying the aspects of the present invention, the embodiments and possible use scenarios for the conventional approaches. In particular, the features and functions described herein may be used in a USAC audio decoder according to 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 together with an associated bitstream structure that contains 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). One example of such a set of streams is the so-called "adaptation set" in the use case of MPEG-DASH delivery.

[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 thus 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 the proposed specification text (amendments) (as standardized on the filing date of this application or as standardized on the filing date of the priority application, optionally including future amendments (e.g., of 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 JPEG2025081336000002.jpg172162

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

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

[0221] However, in the above table, the details of the encoding and, for example, a number of bits are optional. should be considered as such.

[0222] Additionally, when considering encoding or decoding according to the USAC standard, the following subclause 6.1.15 needs to 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. streamIdentifier can take values ​​from 0 to 65535 (encoding details optional).

[0225] For example, if a stream 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 appending a unique integer 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 the configuration extension of type ID_CONFIG_EXT_STREAM_ID shall have a value of two (2) (optionally may vary).

[0228] Any given audio bitstream may have (optionally) 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 e.g., 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 a 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 or not a change in a particular configuration extension causes 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 of USAC, Table 74 in Article 6 should be replaced with the table shown in Figure 10d.

[0234] It has been described 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 also be possible to introduce stream identifier information as described herein into some constituent structures of any other audio coding standard.

[0235] The features described in this specification with regard to the 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] Below, some optional effects and advantages or features of the present invention are described.

[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 mentioned problems 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 use 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 structures are 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 inventive concepts can be recognized by analyzing the compositional structure of the USAC stream. Furthermore, implementations of the inventive concepts can be recognized by testing for the presence of compositional extensions as described above.

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

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

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

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

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

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

[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 may produce multiple streams in parallel, each containing IPF(s) ("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 predefined criteria, e.g. the quality of the Internet connection, and "asks" (or requests) the encoder-side server to send the correct stream, and forwards that stream to the decoder. All further encoded streams are simply ignored. Changing between streams is only allowed in the IPF.

[0252] The audio decoder is initially unaware of such changes and / or is not informed about such changes, for example by the decoder framework. Rather, the audio decoder has to detect the changes in the stream by comparison of embedded "Config-structures". From the decoder's point of view, it appears that the encoder has only generated a stream with a changed "Config". 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 the encoder-side server (or stream feeder) split the streams and rearrange (reconcatenate) parts (or streams) of the streams.

[0253] Further optional details are shown.

[0254] Furthermore, it should be noted that the devices shown in the drawings 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), which can be done 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 bitrate to the available bitrate. The decoder configuration indicated by the audio encoder (or audio stream provider) to the audio decoder can be used to indicate the availability of different streams. 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 (e.g., configuration information and pre-roll information) contained in the instant play frame.

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

[0257] 10. Method

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

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

[0260] 11. Alternative Implementations

[0261] Although some aspects have been described in the context of an apparatus, it will be apparent that these aspects also represent a description of a corresponding method, 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 a description 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 an electronic circuit. 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 may 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, the embodiments of the present invention can be implemented in hardware or software. The implementation can be carried out 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 such that the respective methods are executed. 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 capable of cooperating with a programmable computer system to perform one of the methods described herein.

[0265] Generally, embodiments of the present invention can 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. The 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 a sequence of signals representing the computer program for performing one of the methods described herein, the data stream or the sequence of signals being adapted to be transferred 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 include, for example, 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 may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0275] The apparatus described herein, or any components of the apparatus 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 implemented 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

1. 1. An audio decoder (100; 200) for providing a decoded audio signal representation (112; 212) on the basis of an encoded audio signal representation (110; 210; 312; 412; 550; 600; 700; 800), comprising: said audio decoder being 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 to be decoded (222) with current configuration information (140; 240) and, if configuration information in the configuration structure associated with the one or more frames to be decoded or a relevant part (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 acquired 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 check whether the composition structure includes the stream identifier information (230; streamID, 1050a, streamIdentifier) ​​and, if the stream identifier information is included in the composition structure (222c; 1010, 1030), to selectively take the stream identifier information into account in the comparison, Audio decoder.

2. 1. A method for providing a decoded audio signal representation based on an encoded audio signal representation, comprising: The method comprises the step of adjusting decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), The method includes 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 to be decoded (222) 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 a relevant part 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 includes 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 according to a difference between a stream identifier previously obtained in an 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 the steps of checking whether the configuration structure includes the stream identifier information (230; streamID, 1050a, streamIdentifier) ​​and, if the stream identifier information is included in the configuration structure (222c; 1010, 1030), selectively taking the stream identifier information into account in the comparison. method.

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

4. 1. An audio decoder (100; 200) for providing a decoded audio signal representation (112; 212) on the basis of an encoded audio signal representation (110; 210; 312; 412; 550; 600; 700; 800), comprising: said audio decoder being 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 to be decoded (222) with current configuration information (140; 240) and, if configuration information in the configuration structure associated with the one or more frames to be decoded or a relevant part (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 acquired 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 configuration information includes information regarding a sampling frequency; Audio decoder.

5. 1. A method for providing a decoded audio signal representation based on an encoded audio signal representation, comprising: The method comprises the step of adjusting decoding parameters in dependence on configuration information (110a; 222c; 332; 424; 1010, 1030), The method includes 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 to be decoded (222) 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 a relevant part 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 includes 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 the 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 configuration information includes information regarding a sampling frequency; method.

6. A computer program for carrying out the method according to claim 5 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

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

    JP6955029B2