The present disclosure relates generally to methods and apparatus for decoding an encoded MPEG-D USAC bitstream. The present disclosure further relates to such methods and apparatus that reduce a computational complexity. The present disclosure moreover also relates to respective computer program products.
While some embodiments will be described herein with particular reference to that disclosure, it will be appreciated that the present disclosure is not limited to such a field of use and is applicable in broader contexts.
Any discussion of the background art throughout the disclosure should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.
Decoders for unified speech and audio coding (USAC), as specified in the international standard ISO/IEC 23003-3 (henceforth referred to as MPEG-D USAC standard) include several modules (units) that require multiple complex computation steps. Each of these computation steps may be taxing for hardware systems implementing these decoders. Examples of such modules include the forward-aliasing cancellation, FAC, module (or tool), and the Linear Prediction Coding, LPC, module.
In the context of adaptive streaming, when switching to a different configuration (e.g., a different bitrate such as a bitrate configured within an adaption set in MPEG-DASH), in order to reproduce the signal accurately from the beginning, a decoder needs to be supplied with a frame (AUn) representing the corresponding time-segment of a program, and with additional pre-roll frames (AUn-1, AUn-2, . . . AUs) and configuration data preceding the frame AUn. Otherwise, due to different coding configurations (e.g., Windowing data, SBR-related data, data related to stereo coding (MPS212)), it cannot be guaranteed that a decoder produces correct output when decoding only the frame AUn.
Therefore, the first frame AIn to be decoded with a new (current) configuration may carry the new configuration data and all pre-roll frames (in form of AUn-x, representing time-segments before AUn) that are needed to initialize the decoder with the new configuration. This can, for example, be done by means of an Immediate Playout Frame (IPF).
In view of the above, there is thus an existing need for an implementation of processes and modules of
MPEG-D USAC decoders that reduce computational complexity.
In accordance with a first aspect of the present disclosure there is provided a decoder for decoding an encoded MPEG-D USAC bitstream. The decoder may comprise a receiver configured to receive the encoded bitstream, wherein the bitstream represents a sequence of sample values (in the following termed audio sample values) and comprises a plurality of frames, wherein each frame comprises associated encoded audio sample values, wherein the bitstream comprises a pre-roll element including one or more pre-roll frames needed by the decoder to build up a full signal so as to be in a position to output valid audio sample values associated with a current frame, and wherein the bitstream further comprises a USAC configuration element comprising a current USAC configuration as payload and a current bitstream identification. The decoder may further comprise a parser configured to parse the USAC configuration element up to the current bitstream identification and to store a start position of the USAC configuration element and a start position of the current bitstream identification in the bitstream. The decoder may further comprise a determiner configured to determine whether the current USAC configuration differs from a previous USAC configuration, and, if the current USAC configuration differs from the previous USAC configuration, store the current USAC configuration. And the decoder may comprise an initializer configured to initialize the decoder if the determiner determines that the current USAC configuration differs from the previous USAC configuration, wherein initializing the decoder may comprise decoding the one or more pre-roll frames included in the pre-roll element. Initializing the decoder may further comprise switching the decoder from the previous USAC configuration to the current USAC configuration, thereby configuring the decoder to use the current USAC configuration if the determiner determines that the current USAC configuration differs from the previous USAC configuration. And the decoder may be configured to discard and not decode the pre-roll element if the determiner determines that the current USAC configuration is identical with the previous USAC configuration.
In case of adaptive streaming, processing of MPEG-D USAC bitstreams may involve switching from a previous to a current, different configuration. This may, for example, be done by means of an Immediate Playout Frame (IPF). In this case, a pre-roll element may still be fully decoded (i.e. including pre-roll frames) every time, irrespective of a configuration change. Configured as above, the decoder enables to avoid such unnecessary decoding of pre-roll elements.
In some embodiments, the determiner may be configured to determine whether the current USAC configuration differs from the previous USAC configuration by checking the current bitstream identification against a previous bitstream identification.
In some embodiments, the determiner may be configured to determine whether the current USAC configuration differs from the previous USAC configuration by checking a length of the current USAC configuration against the length of the previous USAC configuration.
In some embodiments, if it is determined that the current bitstream identification is identical with the previous bitstream identification and/or if it is determined that the length of the current USAC configuration is identical with the length of the previous USAC configuration, the determiner may be configured to determine whether the current USAC configuration differs from the previous USAC configuration by comparing bytewise the current USAC configuration with the previous USAC configuration.
In some embodiments, the decoder may further be configured to delay the output of valid audio sample values associated with the current frame by one frame, wherein delaying the output of valid audio sample values by one frame may include buffering each frame of audio samples before outputting and wherein the decoder may further be configured, if it is determined that the current USAC configuration differs from the previous USAC configuration, to perform crossfading of a frame of the previous USAC configuration buffered in the decoder with the current frame of the current USAC configuration.
In accordance with a second aspect of the present disclosure there is provided a method of decoding, by a decoder, an encoded MPEG-D USAC bitstream. The method may comprise receiving the encoded bitstream, wherein the bitstream represents a sequence of audio sample values and comprises a plurality of frames, wherein each frame comprises associated encoded audio sample values, wherein the bitstream comprises a pre-roll element including one or more pre-roll frames needed by the decoder to build up a full signal so as to be in a position to output valid audio sample values associated with a current frame, and wherein the bitstream further comprises a USAC configuration element comprising a current USAC configuration as payload and a current bitstream identification. The method may further comprise parsing the USAC configuration element up to the current bitstream identification and storing a start position of the USAC configuration element and a start position of the current bitstream identification in the bitstream. The method may further comprise determining whether the current USAC configuration differs from a previous USAC configuration, and, if the current USAC configuration differs from the previous
USAC configuration, storing the current USAC configuration. And the method may comprise initializing the decoder if it is determined that the current USAC configuration differs from the previous USAC configuration, wherein initializing the decoder may comprise decoding the one or more pre-roll frames included in the pre-roll element, and switching the decoder from the previous USAC configuration to the current USAC configuration thereby configuring the decoder to use the current USAC configuration if it is determined that the current USAC configuration differs from the previous USAC configuration. The method may further comprise discarding and not decoding, by the decoder, the pre-roll element if it is determined that the current USAC configuration is identical with the previous USAC configuration.
In some embodiments, determining whether the current USAC configuration differs from the previous USAC configuration may include checking the current bitstream identification against a previous bitstream identification.
In some embodiments, determining whether the current USAC configuration differs from the previous USAC configuration may include checking a length of the current USAC configuration against the length of the previous USAC configuration.
In some embodiments, if it is determined that the current bitstream identification is identical with the previous bitstream identification and/or if it is determined that the length of the current USAC configuration is identical with the length of the previous USAC configuration, determining whether the current USAC configuration differs from the previous USAC configuration may include comparing bytewise the current USAC configuration with the previous USAC configuration.
In some embodiments, the method may further comprise delaying the output of valid audio sample values associated with the current frame by one frame, wherein delaying the output of valid audio sample values by one frame may include buffering each frame of audio samples before outputting and, if it is determined that the current USAC configuration differs from the previous USAC configuration, performing crossfading of a frame of the previous USAC configuration buffered in the decoder with the current frame of the current USAC configuration.
In accordance with a third aspect of the present disclosure there is provided a decoder for decoding an encoded MPEG-D USAC bitstream, the encoded bitstream including a plurality of frames, each composed of one or more subframes, wherein the encoded bitstream includes, as a representation of linear prediction coefficients, LPCs, one or more line spectral frequency, LSF, sets for each subframe. The decoder may be configured to decode the encoded bitstream, wherein decoding the encoded bitstream by the decoder may comprise decoding the LSF sets for each subframe from the bitstream. And decoding the encoded bitstream by the decoder may comprise converting the decoded LSF sets to linear spectral pair, LSP, representations for further processing. The decoder may further be configured to temporarily store, for each frame, the decoded LSF sets for interpolation with a subsequent frame.
Configured as above, the decoder enables to directly use the last set saved in LSF representation thus avoiding the need to convert the last set saved in LSP representation to LSF.
In some embodiments, the further processing may include determining the LPCs based on the LSP representations by applying a root finding algorithm, wherein applying the root finding algorithm may involve scaling of coefficients of the LSP representations within the root finding algorithm to avoid overflow in a fixed point range.
In some embodiments, applying the root find algorithm may involve finding polynomial F1(z) and/or F2(z) from the LSP representations by expanding respective product polynomials, wherein scaling is performed as a power of 2 scaling of the polynomial coefficients. This scaling may involve or correspond to a left bit-shift operation.
In some embodiments, the decoder may be configured to retrieve quantized LPC filters and to compute their weighted versions and to compute corresponding decimated spectrums, wherein a modulation may be applied to the LPCs prior to computing the decimated spectrums based on pre-computed values that may be retrieved from one or more look-up tables.
In accordance with a fourth aspect of the present disclosure there is provided a method of decoding an encoded MPEG-D USAC bitstream, the encoded bitstream including a plurality of frames, each composed of one or more subframes, wherein the encoded bitstream includes, as a representation of linear prediction coefficients, LPCs, one or more line spectral frequency, LSF, sets for each subframe. The method may include decoding the encoded bitstream, wherein decoding the encoded bitstream may comprise decoding the LSF sets for each subframe from the bitstream. And decoding the encoded bitstream may comprise converting the decoded LSF sets to linear spectral pair, LSP, representations for further processing. The method may further include temporarily storing, for each frame, the decoded LSF sets for interpolation with a subsequent frame.
In some embodiments, the further processing may include determining the LPCs based on the LSP representations by applying a root finding algorithm, wherein applying the root finding algorithm may involve scaling of coefficients of the LSP representations within the root finding algorithm to avoid overflow in a fixed point range.
In some embodiments, applying the root find algorithm may involve finding polynomial F1(z) and/or F2(z) from the LSP representations by expanding respective product polynomials, wherein scaling is performed as a power of 2 scaling of the polynomial coefficients. This scaling may involve or correspond to a left bit-shift operation.
In accordance with a fifth aspect of the present disclosure there is provided a decoder for decoding an encoded MPEG-D USAC bitstream. The decoder may be configured to implement a forward-aliasing cancellation, FAC, tool, for canceling time-domain aliasing and/or windowing when transitioning between Algebraic Code Excited Linear Prediction, ACELP, coded frames and transform coded, TC, frames within a linear prediction domain, LPD, codec. The decoder may further be configured to perform a transition from the LPD to the frequency domain, FD, and apply the FAC tool if a previous decoded windowed signal was coded with ACELP. The decoder may further be configured to perform a transition from the FD to the LPD, and apply the FAC tool if a first decoded window was coded with ACELP, wherein the same FAC tool may be used in both transitions from the LPD to the FD, and from the FD to the LPD.
Configured as above, the decoder enables the use of a forward-aliasing cancellation (FAC) tool in both codecs, LPD and FD.
In some embodiments, an ACELP zero input response may be added, when the FAC tool is used for the transition from FD to LPD.
In accordance with a sixth aspect of the present disclosure there is provided a method of decoding an encoded MPEG-D USAC bitstream by a decoder implementing a forward-aliasing cancellation, FAC, tool, for canceling time-domain aliasing and/or windowing when transitioning between Algebraic Code Excited Linear Prediction, ACELP, coded frames and transform coded, TC, frames within a linear prediction domain, LPD, codec. The method may include performing a transition from the LPD to the frequency domain, FD, and applying the FAC tool if a previous decoded windowed signal was coded with ACELP. The method may further include performing a transition from the FD to the LPD, and applying the FAC tool if a first decoded window was coded with ACELP, wherein the same FAC tool may be used in both transitions from the LPD to the FD, and from the FD to the LPD.
In some embodiments, the method may further include adding an ACELP zero input response, when the FAC tool is used for the transition from FD to LPD.
In accordance with a seventh aspect of the present disclosure there is provided a computer program product with instructions adapted to cause a device having processing capability to carry out a method of decoding, by a decoder, an encoded MPEG-D USAC bitstream, a method of decoding an encoded MPEG-D USAC bitstream, the encoded bitstream including a plurality of frames, each composed of one or more subframes, wherein the encoded bitstream includes, as a representation of linear prediction coefficients, LPCs, one or more line spectral frequency, LSF, sets for each subframe or a method of decoding an encoded MPEG-D USAC bitstream by a decoder implementing a forward-aliasing cancellation, FAC, tool, for canceling time-domain aliasing and/or windowing when transitioning between Algebraic Code Excited Linear Prediction, ACELP, coded frames and transform coded, TC, frames within a linear prediction domain, LPD, codec.
Example embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings in which:
Processing ofMPEG-D USAC bitstreams
Processing of MPEG-D USAC bitstreams, as described herein, relates to the different steps of decoding an encoded MPEG-D USAC bitstream as applied by a respective decoder. Here and in the following, MPEG-D USAC bitstreams may refer to bitstreams compatible with the standard set out in ISO/IEC 23003-3:2012, Information technology-MPEG audio technologies—- Part 3: unified speech and audio coding, and subsequent versions, amendments and corrigenda (“hereinafter MPEG-D USAC or USAC”).
Referring to the example of
Referring now to the examples of
In step S102, the USAC configuration element (the pre-roll element) is parsed up, by a parser 102, to the current bitstream identification. Further, a start position of the USAC configuration element and a start position of the current bitstream identification in the bitstream is stored.
Referring to the example of
In step S103, it is then determined, by a determiner 103, whether the current USAC configuration differs from a previous USAC configuration, and, if the current USAC configuration differs from the previous USAC configuration, the current USAC configuration is stored. The stored USAC configuration is then used, by the decoder 100, as the current configuration. The use of a USAC configuration element as described herein thus enables to avoid unnecessary (every time, irrespective of a configuration change) decoding of the pre-roll element, in particular the pre-roll frames included in the pre-roll element.
In an embodiment, it may be determined, by the determiner 103 (the determiner 103 may be configured to determine), whether the current USAC configuration differs from the previous USAC configuration by checking the current bitstream identification against a previous bitstream identification. If the bitstream identification differs, it may be determined that the USAC configuration has changed.
Alternatively, or additionally if the current bitstream identification is determined to be identical with the previous bitstream identification, in an embodiment, it may be determined, by the determiner 103, whether the current USAC configuration differs from the previous USAC configuration by checking a length of the current USAC configuration (config_length_in_bits: length=start of bitstream identification-start of USAC configuration) against the length of the previous USAC configuration. If it is determined that the length differs, it may be determined that the USAC configuration has changed.
In case, the current bitstream identification and/or the length of the current USAC configuration indicate that the USAC configuration has changed, the current USAC configuration is stored. The stored current USAC configuration may then be used later as the previous USAC configuration for comparison if a next USAC configuration element is received. Exemplarily, this may be performed as follows:
If it is determined that the current bitstream identification is identical with the previous bitstream identification and/or if it is determined that the length of the current USAC configuration is identical with the length of the previous USAC configuration, in an embodiment, it may be determined, by the determiner 103, whether the current USAC configuration differs from the previous USAC configuration by comparing bytewise the current USAC configuration with the previous USAC configuration. Exemplarily, this may be performed as follows:
Referring again to the examples of
In an embodiment, the output of valid audio sample values associated with the current frame may be delayed by the decoder 100 by one frame. Delaying the output of valid audio sample values by one frame may include buffering each frame of audio samples before outputting, wherein, if it is determined that the current USAC configuration differs from the previous USAC configuration, crossfading of a frame of the previous USAC configuration buffered in the decoder 100 with a current frame of the current USAC configuration is performed by the decoder 100.
In this regard, it may be considered that an error concealment scheme may be enabled in the decoder 100 which may introduce an additional delay of one frame to the decoder 100 output. Additional delay means that the last output (e.g. PCM) of the previous configuration may still be accessed at the point in time it is determined that the USAC configuration has changed. This enables to start the crossfading (fade out) by 128 samples earlier than described in the MPEG-D USAC standard, i.e. at the end of the last previous frame rather than the start of flushed frame states. Which means that flushing the decoder would not have to be applied at all.
In general, flushing the decoder by one frame is computational complexity wise comparable with decoding a usual frame. Thus, this enables to save the complexity of one frame at a point in time where already (number_of_pre-roll_frames+1) * (complexity for a single frame) would have to be spent which would result in a peak load. Crossfading (or fade in) of the output related to the current (new) configuration may thus already start at the end of the last pre-roll frame. Generally, the decoder has to be flushed with the previous (old) configuration to get additional 128 samples which are used to crossfade to the first 128 samples of the first current (actual) frame (none of the pre-roll frames) with the current (new) configuration.
Referring now to the example of
Generally, LSPs have several properties (e.g. smaller sensitivity to quantization noise) that make them superior to direct quantization of LPCs.
Referring to the example of
without the need to convert the last set saved in LSP representation to LSF:
Referring to the example of
In an embodiment, applying the root find algorithm may involve finding polynomial F1(z) and/or F2(z) from the LSP representations by expanding respective product polynomials, wherein scaling may be performed as a power of 2 scaling of the polynomial coefficients. This defines a left bit-shift operation 1 <<LPD_COEFF_SCALE with default LPD_COEFF_SCALE value being 8. Exemplarily, this may be performed as follows.
The LSP representation of the LP polynomial consists simply of the location of the roots P and Q, i.e. ω such that z=eω, P(z)=0. As they occur in pairs, only half of the actual roots (conventionally between 0 and π) need to be transmitted. The total number of coefficients for both P and Q is therefore equal to p, the number of original LP coefficients (not counting a0=1). A common algorithm for finding these is to evaluate the polynomial at a sequence of closely spaced points around the unit circle, observing when the result changes sign; when it does, a root must lie between the points tested. Because the roots of P are interspersed with those of Q, a single pass is sufficient to find the roots of both polynomials. While the LSPs are in range [−1..1] by design (cos ( ), this is not the case for the LP coefficients. Scaling within the root finding algorithm thus has to be performed. In the following, a respective example code is given:
The pseudocode, as illustrated in the following, implements the above-mentioned scaling (and is not part of the R. A. Salami algorithm):
Scaling within the root finding algorithm to avoid overflows in the fixed point range:
In some embodiments, the decoder may be configured to retrieve quantized LPC filters and to compute their weighted versions and to compute corresponding decimated spectrums, wherein a modulation may be applied to the LPCs prior to computing the decimated spectrums based on pre-computed values that may be retrieved from one or more look-up tables.
In general, in transform coded excitation (TCX) gain calculation, prior to applying an inverse modified discrete cosine transform (MDCT), the two quantized LPC filters corresponding to both extremities of the
MDCT block (i.e. the left and right folding points) may be retrieved, their weighted versions may be computed, and the corresponding decimated spectrums may be computed. These weighted LPC spectrums may be computed by applying an odd discrete Fourier transform (ODFT) to the LPC filter coefficients. A complex modulation may be applied to the LPC coefficients before computing the ODFT so that the ODFT frequency bins may be perfectly aligned with the MDCT frequency bins. This may be described in clause 7.15.2 of the USAC standard, for example. This clause is hereby incorporated by reference in its entirety. Since the only possible values for M (ccfl/16) may be 64 and 48, a table look-up for this complex modulation can be used.
An example of a modulation using a look-up table is given in the following:
Referring now to the examples of
The FAC tool may be described in clause 7.16 of the USAC standard, for example. This clause is hereby incorporated by reference in its entirety. Generally, forward-aliasing cancellation (FAC) is performed during transitions between ACELP and TC frames within the LPD codec in order to get the final synthesis signal. The goal of FAC is to cancel the time-domain aliasing and windowing introduced by TC and which cannot be cancelled by the preceding or following ACELP frame.
In step S301, an encoded MPEG-D USAC bitstream is received by the decoder 300. In step S302, a transition from the LPD to the frequency domain, FD is performed, and the FAC tool 301 is applied if a previous decoded windowed signal was coded with ACELP. Further, in step S 303, a transition from the FD to the LPD is performed, and the (same) FAC tool 301 is applied if a first decoded window was coded with ACELP. Which transition is going to be performed may be determined during the decoding process, as this is dependent on how the MPEG-D USAC bitstream has been encoded. Using just one function (lpd_fwd_alias_cancel_tool ( )) enables using less code and less memory and thus to reduce computational complexity.
In an embodiment, further an ACELP zero input response (ACELP ZIR) may be added, when the FAC tool 301 is used for the transition from FD to LPD. The ACELP ZIR may be the actually synthesized output signal of the last ACELP coded subframe, which is used, in combination with the FAC tool to generate the first new output samples after codec switch from LPD to FD. Adding ACELP ZIR to the FAC tool (e.g., as an input to the FAC tool) enables a seamless transition from the FD to the LPD and/or to use the same FAC tool for transitions from the LPD to the FD and/or from the FD to the LPD.
As noted above, the same FAC tool may be applied to both transitions from the LPD to the FD and from the FD to the LPD. Here, using the same tool may mean that the same function in the code of a decoding application is applied (or called), regardless of the transition between the LPD and the FD, or vice versa. This function may be the Ipd_fwd_alias_cancel_tool( )function described below, for example.
The function implementing the FAC tool (e.g., the function lpd_fwd_alias_cancel_tool ( )) may receive information relating to the filter coefficients, ZIR, subframe length, FAC length, and/or the FAC signal as an input. In the example code presented below, this information may be represented by *lpf_filt_coeff (filter coefficients), * zir (ZIR), len_subfrm (subframe length), fac_length (FAC length), and *fac_signal (FAC signal).
As noted above, the function implementing the FAC tool (e.g., the function 1pd_fwd_alias_cancel_tool ( )) may be designed such that it can be called during any instances of the decoding, regardless of the current coding domain (e.g., LPD or FD). This means that the same function and be called when switching from the FD to the LPD, or vice versa. Accordingly, the proposed FAC tool or function implementing the FAC tool provides a technical advantage or improvement over prior implementations with regard to code execution in decoding. Also, the resulting flexibility in decoding allows for code optimizations not available under prior implementations (e.g., implementations 5 that use different function for implementing FAC tools in the FD and the LPD).
An example code for a function implementing the FAC tool is given in the following:
As can be seen from the above example code, the function lpd_fwd_alias_cancel_tool ( ) implementing the FAC tool can be called regardless of the current coding domain (e.g., FD or LPD) and can appropriately handle transitions between coding domains.
Referring to the example of
Interpretation
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the disclosure discussions utilizing terms such as “processing,” “computing,” “determining”, analyzing” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic devices, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
In a similar manner, the term “processor” may refer to any device or portion of a device that processes electronic data to transform that electronic data into other electronic data. A “computer” or a “computing machine” or a “computing platform” may include one or more processors.
As stated above, the methods described herein may be implemented as a computer program product with instructions adapted to cause a device having processing capability to carry out said methods. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example may be a typical processing system that may include one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, tensor processing unit and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD), a light emitting diode display (LED) of any kind, for example, including OLED (organic light emitting diode) displays, or a cathode ray tube (CRT) display. If manual data entry is required, the processing system may also include an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The processing system may also encompass a storage system such as a disk drive unit. The processing system may include a sound output device, for example one or more loudspeakers or earphone ports, and a network interface device.
A computer program product may, for example, be software. Software may be implemented in various ways. Software may be transmitted or received over a network via a network interface device or may be distributed via a carrier medium. A carrier medium may include but is not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media may include, for example, optical, magnetic disks, and magneto-optical disks. Volatile media may include dynamic memory, such as main memory.
Transmission media may include coaxial cables, copper wire and fiber optics, including the wires that comprise a bus subsystem. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term “carrier medium” shall accordingly be taken to include, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor or one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.
Note that when the method to be carried out includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated otherwise.
It will be understood that the steps of methods discussed are performed in one example embodiment by an appropriate processor (or processors) of a processing (e.g., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the disclosure is not limited to any particular implementation or programming technique and that the disclosure may be implemented using any appropriate techniques for implementing the functionality described herein. The disclosure is not limited to any particular programming language or operating system.
Reference throughout this disclosure to “one embodiment”, “some embodiments” or “an embodiment” means that a particular feature described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, appearances of the phrases “in one embodiment”, “in some embodiments” or “in an embodiment” in various places throughout this disclosure are not necessarily all referring to the same embodiment. Furthermore, the particular features may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
It should be appreciated that in the above description of example embodiments of the disclosure, various features of the disclosure are sometimes grouped together in a single example embodiment, Fig., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim.
Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed example embodiment. Thus, the claims following the Description are hereby expressly incorporated into this Description, with each claim standing on its own as a separate example embodiment of this disclosure.
Furthermore, while some example embodiments described herein include some but not other features included in other example embodiments, combinations of features of different example embodiments are meant to be within the scope of the disclosure, and form different example embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed example embodiments can be used in any combination.
In the description provided herein, numerous specific details are set forth. However, it is understood that example embodiments of the disclosure may be practiced without these specific details. In other instances, well-known methods, device structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Thus, while there has been described what are believed to be the best modes of the disclosure, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the disclosure, and it is intended to claim all such changes and modifications as fall within the scope of the disclosure. For example, steps may be added or deleted to methods described within the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
20175652.5 | May 2020 | EP | regional |
This application claims priority of the following priority applications: US provisional application 63/027,594 (reference: D20046USP1), filed 20 May 2020 and EP application 20175652.5 (reference: D20046EP), filed 20 May 2020, which are hereby incorporated by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2021/063092 | 5/18/2021 | WO |
Number | Date | Country | |
---|---|---|---|
63027594 | May 2020 | US |