The present invention relates to the field of audio signal processing, and discloses methods and systems for efficient simulation of the acoustic environment, in particular for audio signals having spatialization components, sometimes referred to as immersive audio content.
Any discussion of the background art throughout the specification 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.
Content creation, coding, distribution and reproduction of audio are traditionally performed in a channel based format, that is, one specific target playback system is envisioned for content throughout the content ecosystem. Examples of such target playback systems audio formats are mono, stereo, 5.1, 7.1, and the like.
If content is to be reproduced on a different playback system than the intended one, a downmixing or upmixing process can be applied. For example, 5.1 content can be reproduced over a stereo playback system by employing specific downmix equations. Another example is playback of stereo encoded content over a 7.1 speaker setup, which may comprise a so-called upmixing process, which could or could not be guided by information present in the stereo signal. A system capable of upmixing is Dolby Pro Logic from Dolby Laboratories Inc (Roger Dressler, “Dolby Pro Logic Surround Decoder, Principles of Operation”, www.Dolby.com).
An alternative audio format system is an audio object format such as that provided by the Dolby Atmos system. In this type of format, objects are defined to have a particular location around a listener, which may be time varying. Audio content in this format is sometimes referred to as immersive audio content.
When stereo or multi-channel content is to be reproduced over headphones, it is often desirable to simulate a multi-channel speaker setup by means of head-related impulse responses (HRIRs), or binaural room impulse responses (BRIRs), which simulate the acoustical pathway from each loudspeaker to the ear drums, in an anechoic or echoic (simulated) environment, respectively. In particular, audio signals can be convolved with HRIRs or BRIRs to re-instate inter-aural level differences (ILDs), inter-aural time differences (ITDs) and spectral cues that allow the listener to determine the location of each individual channel. The simulation of an acoustic environment (reverberation) also helps to achieve a certain perceived distance.
The HRIR/BRIR convolution approach comes with several drawbacks, one of them being the substantial amount of convolution processing that is required for headphone playback. The HRIR or BRIR convolution needs to be applied for every input object or channel separately, and hence complexity typically grows linearly with the number of channels or objects. As headphones are often used in conjunction with battery-powered portable devices, a high computational complexity is not desirable as it may substantially shorten battery life. Moreover, with the introduction of object-based audio content, which may comprise say more than 100 objects active simultaneously, the complexity of HRIR convolution can be substantially higher than for traditional channel-based content.
For this purpose, co-pending and non-published PCT application PCT/US2016/048497, filed Aug. 24, 2016 describes a dual-ended approach for presentation transformations that can be used to efficiently transmit and decode immersive audio for headphones. The coding efficiency and decoding complexity reduction are achieved by splitting the rendering process across encoder and decoder, rather than relying on the decoder alone to render all objects.
Although the acoustic environment simulation input signal {circumflex over (f)} is derived from a stereo signal using the set of parameters, its level (for example its energy as a function of frequency) is not a priori known nor available. Such properties can be measured in a decoder at the expense of introducing additional complexity and latency, which both are undesirable on mobile platforms.
Further, the environment simulation input signal typically increases in level with object distance to simulate the decreasing direct-to-late reverberation ratio that occurs in physical environments. This implies that there is no well-defined upper bound of the input signal {circumflex over (f)}, which is problematic from an implementation point of view requiring a bounded dynamic range.
Also, if the simulation algorithm is end-user configurable, the transfer function of the acoustic environment simulation algorithm is not known during encoding. As a consequence, the signal level (and hence the perceived loudness) of the binaural presentation after mixing in the acoustic environment simulation output signal is unknown.
The fact that both the input signal level and the transfer function of the acoustic environment simulation are unknown makes it difficult to control the loudness of the binaural presentation. Such loudness preservation is generally very desirable for end-user convenience as well as broadcast loudness compliance as standardized in for example ITU-R bs.1770 and EBU R128.
It is an object of the invention, in its preferred form, to provide encoding and decoding of immersive audio signals with improved environment simulation.
In accordance with a first aspect of the present invention, there is provided a method of encoding an audio signal having one or more audio components, wherein each audio component is associated with a spatial location, the method including the steps of rendering a first audio signal presentation (z) of the audio components, determining a simulation input signal ({circumflex over (f)}) intended for acoustic environment simulation of the audio components, determining a first set of transform parameters (w(f)) configured to enable reconstruction of the simulation input signal ({circumflex over (f)}) from the first audio signal presentation (z), determining signal level data (β2) indicative of a signal level of the simulation input signal ({circumflex over (f)}), and encoding the first audio signal presentation (z), the set of transform parameters (w(f)) and the signal level data (β2) for transmission to a decoder.
In accordance with a second aspect of the present invention, there is provided a method of decoding an audio signal having one or more audio components, wherein each audio component is associated with a spatial location, the method including the steps of receiving and decoding a first audio signal presentation (z) of the audio components, a first set of transform parameters (w(f)), and signal level data (β2), applying the first set of transform parameters (w(f)) to the first audio signal presentation (z) to form a reconstructed simulation input signal ({circumflex over (f)}) intended for an acoustic environment simulation, applying a signal level modification (α) to the reconstructed simulation input signal, the signal level modification being based on the signal level data (β2) and data (p2) related to the acoustic environment simulation, processing the level modified reconstructed simulation input signal ({circumflex over (f)}) in the acoustic environment simulation, and combining an output of the acoustic environment simulation with the first audio signal presentation (z) to form an audio output.
In accordance with a third aspect of the present invention, there is provided an encoder for encoding an audio signal having one or more audio components, wherein each audio component is associated with a spatial location, the encoder comprising a renderer for rendering a first audio signal presentation (z) of the audio components, a module for determining a simulation input signal (n intended for acoustic environment simulation of the audio components, a transform parameter determination unit for determining a first set of transform parameters (w(f)) configured to enable reconstruction of the simulation input signal ({circumflex over (f)}) from the first audio signal presentation (z) and for determining signal level data (β2) indicative of a signal level of the simulation input signal (n, and a core encoder unit for encoding the first audio signal presentation (z), said set of transform parameters (w(f)) and said signal level data (β2) for transmission to a decoder.
In accordance with a fourth aspect of the present invention, there is provided a decoder for decoding an audio signal having one or more audio components, wherein each audio component is associated with a spatial location, the decoder comprising a core decoder unit for receiving and decoding a first audio signal presentation (z) of the audio components, a first set of transform parameters (w(f)), and signal level data (β2), a transformation unit for applying the first set of transform parameters (w(f)) to the first audio signal presentation (z) to form a reconstructed simulation input signal ({circumflex over (f)}) intended for an acoustic environment simulation, a computation block for applying a signal level modification (α) to the simulation input signal, the signal level modification being based on the signal level data (β2) and data (p2) related to the acoustic environment simulation, an acoustic environment simulator for performing an acoustic environment simulation on the level modified reconstructed simulation input signal ({circumflex over (f)}), and a mixer for combining an output of the acoustic environment simulator with the first audio signal presentation (z) to form an audio output.
According to the invention, signal level data is determined in the encoder and is transmitted in the encoded bit stream to the decoder. A signal level modification (attenuation or gain) based on this data and one or more parameters derived from the acoustic environment simulation algorithm (e.g. from its transfer function) is then applied to the simulation input signal before processing by the acoustic simulation algorithm. With this process, the decoder does not need to determine the signal level of the simulation input signal, thereby reducing processing load. It is noted that first set of transform parameters, configured to enable reconstruction of the simulation input signal, may be determined by minimizing a measure of a difference between the simulation input signal and a result of applying the transform parameters to the first audio signal presentation. Such parameters are discussed in more detail in PCT application PCT/US2016/048497, filed Aug. 24, 2016.
The signal level data is preferably a ratio between a signal level of the acoustic simulation input signal and a signal level of the first audio signal presentation. It may also be a ratio between a signal level of the acoustic simulation input signal and a signal level of the audio components, or a function thereof.
The signal level data is preferably operating in one or more sub bands and may be time varying, e.g., are applied in individual time/frequency tiles.
The invention may advantageously be implemented in a so called simulcast system, where the encoded bit stream also includes a second set of transform parameters suitable for transforming the first audio signal presentation to a second audio signal presentation. In this case, the output from the acoustic environment simulation is mixed with the second audio signal presentation.
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Systems and methods disclosed in the following may be implemented as software, firmware, hardware or a combination thereof. In a hardware implementation, the division of tasks referred to as “stages” in the below description does not necessarily correspond to the division into physical units; to the contrary, one physical component may have multiple functionalities, and one task may be carried out by several physical components in cooperation. Certain components or all components may be implemented as software executed by a digital signal processor or microprocessor, or be implemented as hardware or as an application-specific integrated circuit. Such software may be distributed on computer readable media, which may comprise computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to a person skilled in the art, the term computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Further, it is well known to the skilled person that communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
Application in a Per-Object Binaural Renderer
The proposed approach will first be discussed with reference to a per-object renderer. In the following, the binaural presentation li,b, ri,b of object xi can be written as:
l
i,b=(Hi,l*xi+gi,fFl*xi)αi,
r
i,b=(Hi,r*xi+gi,fFr*xi)αi.
Here Hi,l and Hi,r denote the left and right-ear head-related impulse responses (HRIRs), Fl and Fr denote the early reflections and/or late reverberation impulse responses for the left and right ears (e.g. the impulse responses of the acoustic environment simulation). The gain gi,f applied to the environment simulation contribution reflects the change in the direct-to-late reverberation ratio with distance, which is often formulated as gi,f=di, with di the distance of object i expressed in meters. A subscript f for the gain gi,f is included to indicate that is the gain for object i prior to convolution with early reflections and/or late reverberation impulse responses Fl and Fr. Finally, an overall output attenuation α is applied which is intended to preserve loudness irrespective of the object distance di and hence the gain gi,f. A useful expression for this attenuation for object xi is:
where p is a loudness correction parameter that depends on the transfer functions Fl and Fr to determine how much energy is added due to their contributions. Generally the parameter p may be described as a function Λ of the transfer functions Fl and Fr and optionally the HRIRs Hi,l and Hi,r:
p
2=Λ(Fl,Fr),
p
2=Λ(Fl,Fr,Hi,l,Hi,r).
In the above formulation, there is a common pair of early reflections and/or late reverberation impulse responses Fl and Fr that is shared across all objects i as well as per-object variables (gains) gi,f and αi. Besides such common set of reverberation impulse responses that is shared across inputs, each object can also have its own pair of early reflections and/or late reverberation impulse responses Fi,l and Fi,r:
l
i,b=(Hi,l*xi+gi,fFi,l*xi)αi,
r
i,b=(Hi,r*xi+gi,fFi,r*xi)αi.
A variety of algorithms and methods can be applied to compute the loudness correction parameter p. One method is to aim for energy preservation of the binaural presentation li,b, ri,b as a function of the distance di. If this needs to operate independently of the actual signal characteristics of the object signal xi being rendered, the impulse responses may be used instead. If the binaural impulse response for the left and right ears for object i are expressed as bi,l, bi,r respectively, then:
b
i,l=(Hi,l+gi,fFl)αi,
b
i,r=(Hi,r+gi,fFr)αi.
Further:
b
i,l
2
=(Hi,l2+gi,f2Fl2)αi2,
b
i,r
2
=(Hi,r2+gi,f2Fr2)αi2,
If it is required that
b
i,l
2
≈
H
i,l
2
b
i,r
2
≈
H
i,r
2
this provides
If it is further assumed that the HRIRs have approximately unit power, e.g., (Hi,l2)≈(Hi,r2)≈1, the above expression may be reduced to:
If it is further assumed that the energies (Fl2) and (Fr2) are both (virtually) identical and equal to (F2), then
p
2
=
F
2
.
It should be noted however that besides energy preservation, more advanced methods to calculate p can be applied that apply perceptual models to obtain loudness preservation rather than energy preservation. More importantly, the process above can be applied in individual sub bands rather than on broad-band impulse responses.
In an immersive stereo encoder, object signals xi with object index i are summed to create an acoustic environment simulation input signal f[n]:
The index n can refer to a time-domain discrete sample index, a sub-band sample index, or transform index such as a discrete Fourier transform (DFT), discrete cosine transform (DCT) or alike. The gains gi,f are dependent on the object distance and other per-object rendering metadata, and can be time varying.
The decoder retrieves signal {circumflex over (f)}[n] either by decoding the signal, or by parametric reconstruction using parameters as discussed in PCT application PCT/US2016/048497, filed Aug. 24, 2016, herewith incorporated by reference, and then processes this signal by applying impulse responses Fl and Fr to create a stereo acoustic environment simulation signal, and combines this with the anechoic binaural signal pair ŷl, ŷr, denoted ŷ in
l
b=(ŷi+Fl*{circumflex over (f)})α,
r
b=(ŷr+Fr*{circumflex over (f)})α.
In the immersive stereo decoder in
ŷ
l
=w
11(y)zl+w12(y)zr
ŷ
l
=w
21(y)zl+w22(y)zr
{circumflex over (f)}=w
1(f)zl+w2(f)zr
The desired attenuation α is now common to all objects present in the signal mixture {circumflex over (f)}. In other words, a per-object attenuation cannot be applied to compensate for acoustic environment simulation contributions. It is still possible, however, to require that the expected value of the binaural presentation has a constant energy:
l
b
2
≈(ŷl2+Fl2{circumflex over (f)}2)α2
r
b
2
≈(ŷr2+Fr2{circumflex over (f)}2)α2
which gives
If it is again assumed that HRIRs have approximately unit energy e.g., Hi,l2≈Hi,r2≈1 which implies that zl2+zr2≈ŷl2+ŷr2≈Σixi2, and therefore:
From the above expression, it is clear that the squared attenuation α2 can be calculated using the acoustic environment simulation parameter p2 and the ratio:
Furthermore, if the stereo loudspeaker signal pair zl, zr is generated by an amplitude panning algorithm with energy preservation, then:
This ratio is referred to as acoustic environment simulation level data, or signal level data β2. The value of β2 in combination with the environment simulation parameter p2 allows calculation of the squared attenuation α2. By transmitting the signal level data β2 as part of the encoded signal it is not required to measure {circumflex over (f)}2 in the decoder. As can be observed from the equation above, the signal level data β2 can be computed either using the stereo presentation signals zl, zr, or from the energetic sum of the object signals Σixi2.
Referring to the equation above to compute the signal f:
If the per-object gains gi,f increase monotonically (e.g. linearly) with the object distance di, the signal f is ill conditioned for discrete coding systems in the sense that it is has no well-defined upper bound.
If, however, the coding system transmits the data β2, as discussed above, these parameters may be re-used to condition the signal f to make it suitable for encoding and decoding. In particular, the signal f can be attenuated prior to encoding to create a conditioned signal f′:
This operation ensures that zl2+zr2≈yl2+yr2≥f′2 which brings the signal f′ in the same dynamic range as other signals being coded and rendered.
In the decoder, the inverse operation may be applied:
In other words, besides using the signal level data β2 to allow loudness-preserving distance modification, this data may be used to condition the signal f to allow more accurate coding and reconstruction.
On the encoder side, in step E1, a first audio signal presentation is rendered of the audio components. This presentation may be a stereo presentation or any other presentation considered suitable for transmission to the decoder. Then, in step E2, a simulation input signal is determined, which simulation input signal is intended for acoustic environment simulation of the audio components. In step E3, the signal level parameter β2 indicative of a signal level of the acoustic simulation input signal with respect to the first audio signal presentation is calculated. Optionally, in step E4, the simulation input signal is conditioned to provide dynamic control (see above). Then, in step E5, the simulation input signal is parameterized into a set of transform parameters configured to enable reconstruction of the simulation input signal from the first audio signal presentation. The parameters may e.g. be weights to be implemented in a transform matrix. Finally, in step E6, the first audio signal presentation, the set of transform parameters and the signal level parameter are encoded for transmission to the decoder.
On the decoder side, in step D1 the first audio signal presentation, the set of transform parameters and the signal level data are received and decoded. Then, in step D2, the set of transform parameters are applied to the first audio signal presentation to form a reconstructed simulation input signal intended for acoustic environment simulation of the audio components. Note that this reconstructed simulation input signal is not identical to the original simulation input signal determined on the encoder side, but is an estimation generated by the set of transform parameters. Further, in step D3, a signal level modification α is applied to the simulation input signal based on the signal level parameter β2 and a factor p2 based on the transfer function F of the acoustic environment simulation, as discussed above. The signal level modification is typically an attenuation, but may in some circumstances also be a gain. The signal level modification α may also be based on a user provided distance scalar, as discussed below. In case the optional conditioning of the simulation input signal has been performed in the encoder, then in step D4 the inverse of this conditioning is performed. The modified simulation input signal is then processed (step D5) in an acoustic environment simulator, e.g. a feedback delay network, to form an acoustic environment compensation signal. Finally, in step D6, the compensation signal is combined with the first audio signal presentation to form an audio output.
It should be noted that β2 will vary as a function of time (objects may change distance, or may be replaced by other objects with different distances) and as a function of frequency (some objects may be dominant in certain frequency ranges while only having a small contribution in other frequency ranges). In other words, β2 ideally is transmitted from encoder to decoder for every time/frequency tile independently. Moreover, the squared attenuation α2 is also applied in each time/frequency tile. This can be realized using a wide variety of transforms (discrete Fourier transform or DFT, discrete cosine transform or DCT) and filter banks (quadrature mirror filter bank, etcetera).
Besides variability in distance, other object properties might result in a per-object change in their respective gains gi,f. For example, objects may be associated with semantic labels such as indicators of dialog, music, and effects. Specific semantic labels may give rise to different values of gi,f. For example, it is often undesirable to apply a large amount of acoustic environment simulation to dialog signals. Consequently, it is often desired to have small values for gi,f if an object is labeled as dialog, and large values for gi,f for other semantic labels.
Another factor that might influence object gains gi,f can be the use of headphone rendering data. For example, objects may be associated with rendering metadata indicating that the object should be rendered in one of the following rendering modes:
The method described above can be used to change the acoustic environment simulation at the decoder side without changing the overall loudness of the rendered scene. A decoder may be configured to process the acoustic environment simulation input signal by dedicated room impulse responses or transfer functions Fl and Fr. These impulse responses may be realized by convolution, or by an algorithm reverberation algorithm such as a feedback-delay network (FDN). One purpose for such adaptation would be to simulate a specific virtual environment, such as a studio environment, a living room, a church, a cathedral, etc. Whenever the transfer functions Fl and Fr are determined, the loudness correction factor can be re-calculated:
This updated loudness correction factor is subsequently used to calculate the desired attenuation α in response to transmitted acoustic environment simulation level data β2:
To avoid the computational load to determine Fl2, Fr2 and p2, the values for p2 can be pre-calculated and stored as part of room simulation presets associated with specific realizations of Fl2, Fr2. Alternatively or additionally, the impulse responses Fl2, Fr2 may be determined or controlled based on a parametric description of desired properties such as a direct-to-late reverberation ratio, an energy decay curve, reverberation time or any other common property to describe attributes of reverberation such as described in Kuttruff, Heinrich: “Room acoustics”. CRC Press, 2009. In that case, the value of p2 may be estimated, computed or pre-computed from such parametric properties rather than from the actual impulse response realizations Fl2, Fr2.
The decoder may be configured with an overall distance scaling parameter which scales the rendering distance by a certain factor that may be smaller or larger than +1. If this distance scalar is denoted by γ, the binaural presentation in the decoder follows directly from gi=γdi, and therefore:
l
b=(yl+γFl*{circumflex over (f)})α(γ),
r
b=(yr+γFr*{circumflex over (f)})α(γ)
Due to this multiplication, the energy of the signal {circumflex over (f)} has effectively increased by a factor γ2, so the desired signal level modification α can be calculated as:
The encoder 21 (left-hand side of
A binaural renderer 25 is adapted to render a anechoic binaural presentation y (step S3) with y={yl, yr} by applying a pair of HRIRs (if the process is applied in the time domain) or Head Related Transfer Functions (HRTFs, if the process is applied in the frequency domain) from a HRIR/HRTF database to each input followed by summation of each input's contribution. A transform parameter determination unit 26 is adapted to receive the binaural presentation y and the loudspeaker signal z, and to calculate a set of parameters (matrix weights) w(y) suitable for reconstructing the binaural representation. The principles of such parameterization are discussed in detail in PCT application PCT/US2016/048497, filed Aug. 24, 2016, hereby incorporated by reference. In brief, the parameters are determined by minimizing a measure of a difference between the binaural presentation y and a result of applying the transform parameters to the loudspeaker signal z.
The encoder further comprises a module 27 for determining an input signal f for a late-reverberation algorithm, such as a feedback-delay network (FDN). A transform parameter determination unit 28 similar to unit 26 is adapted to receive the input signal f and the loudspeaker signal z, and to calculate a set of parameters (matrix weights) w(f). The parameters are determined by minimizing a measure of a difference between the input signal f and a result of applying the parameters to the loudspeaker signal z. The unit 28 is here further adapted to calculate signal level data β2 based on the energy ratio between f and z in each frame as discussed above.
The loudspeaker signal z, the parameters w(y) and w(f), and the signal level data β2 are all encoded by a core coder unit 29 and included in the core coder bitstream which is transmitted to the decoder 31. Different core coders can be used, such as MPEG 1 layer 1, 2, and 3 or Dolby AC4. If the core coder is not able to use sub-band signals as input, the sub-band signals may first be converted to the time domain using a hybrid quadrature mirror filter (HCQMF) synthesis filter bank 30, or other suitable inverse transform or synthesis filter bank corresponding to the transform or analysis filterbank used in block 22.
The decoder 31 (right hand side of
A transformation unit 34 is configured to transform the loudspeaker signal z into a reconstruction ŷ of the binaural signal y by using the parameters w(y) as weights in a transform matrix. A similar transformation unit 35 is configured to transform the loudspeaker signal z into a reconstruction {circumflex over (f)} of the simulation input signal {circumflex over (f)} by using the parameters w(f) as weights in a transform matrix. The reconstructed simulation input signal {circumflex over (f)} is supplied to an acoustic environment simulator, here a feedback delay network, FDN, 36, via a signal level modification block 37. The FDN 36 is configured to process the attenuated signal {circumflex over (f)} and provide a resulting FDN output signal.
The decoder further comprises a computation block 38 configured to compute a gain/attenuation α of the block 37. The gain/attenuation α is based on the simulation level data β2 and an FDN loudness correction factor p2 received from the FDN 36. Optionally, the block 38 also receives a distance scalar γ determined in response to input from the end-user, which is used in the determination of α.
A second signal level modification block 39 is configured to apply the gain/attenuation α also to the reconstructed anechoic binaural signal ŷ. It is noted that the attenuation applied by the block 39 is not necessarily identical to the gain/attenuation α, but may be a function thereof. Further, the decoder 31 comprises a mixer 40 arranged to mix the attenuated signal Si with the output from the FDN 36. The resulting echoic binaural signal is sent to a HCQMF synthesis block 41, configured to provide an audio output.
In
Reference throughout this specification to “one embodiment”, “some embodiments” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment”, “in some embodiments” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics 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.
As used herein, unless otherwise specified the use of the ordinal adjectives “first”, “second”, “third”, etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
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. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. 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.
As used herein, the term “exemplary” is used in the sense of providing examples, as opposed to indicating quality. That is, an “exemplary embodiment” is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.
It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single 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 claimed invention requires 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 embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. “Coupled” may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
Thus, while there has been described specific embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
16152990.4 | Jan 2016 | EP | regional |
The present application is a continuation of U.S. patent application Ser. No. 17/510,205, filed Oct. 25, 2021, which is a continuation of U.S. patent application Ser. No. 16/841,415, filed Apr. 6, 2020, now U.S. Pat. No. 11,158,328 which is a continuation of U.S. patent application Ser. No. 16/073,132, filed Jul. 26, 2018, now U.S. Pat. No. 10,614,819, issued Apr. 7, 2020, which is the U.S. national stage of International Patent Application No. PCT/US2017/014507 filed Jan. 23, 2017, which claims priority to U.S. Provisional Patent Application No. 62/287,531, filed Jan. 27, 2016, and European Patent Application No. 16152990.4, filed Jan. 27, 2016, all of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62287531 | Jan 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17510205 | Oct 2021 | US |
Child | 18366385 | US | |
Parent | 16841415 | Apr 2020 | US |
Child | 17510205 | US | |
Parent | 16073132 | Jul 2018 | US |
Child | 16841415 | US |