Method and apparatus for synthesizing separated sound source

Provided is a method and apparatus for synthesizing a separated sound source, the method including generating spatial information associated with a sound source included in a frame of a stereo audio signal, and synthesizing a separated frequency-domain sound source from the frame of the stereo audio signal based on the spatial information, wherein the spatial information includes a frequency-azimuth plane representing an energy distribution corresponding to a frequency and an azimuth of the frame of the stereo audio signal.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the priority benefit of Korean Patent Application No. 10-2016-0024397 filed on Feb. 29, 2016, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference for all purposes.

BACKGROUND

One or more example embodiments relate to a method and apparatus for processing a stereo audio signal, and more particularly, to a method and apparatus for synthesizing a separated sound source from a stereo audio signal.

2. Description of Related Art

In general, a human has two ears on a left side and a right side of a head. A human perceives a spatial position of a sound source that produces a sound based on an inter-aural intensity difference (IID) which represents a difference between a sound input into the left ear and a sound input into the right ear.

A stereo audio signal includes a left channel signal and a right channel signal. Technology for synthesizing a separated sound source obtains spatial information of a plurality of sound sources mixed in the stereo audio signal using the hearing characteristic of a human, and synthesizes separated sound sources based on the spatial information. The technology for synthesizing a separated sound source may be utilized in various fields of application such as an object-based audio service, a music information search service, and multi-channel upmixing.

An example of the technology for synthesizing a separated sound source is an azimuth discrimination and resynthesis (ADRess) algorithm. The ADRess algorithm establishes an azimuth axis of a frequency-azimuth plane based on a ratio of the left channel signal to the right channel signal, rather than an actual azimuth.

SUMMARY

An aspect provides a method and apparatus for synthesizing a separated sound source that may identify an actual azimuth of a sound source accurately.

Another aspect also provides a method and apparatus for synthesizing a separated sound source that may apply a probability density function to a dominant signal between a left channel signal and a right channel signal, thereby improving a quality of sound.

According to an aspect, there is provided a separated sound source synthesizing method including generating spatial information associated with a sound source included in a frame of a stereo audio signal, and synthesizing a separated frequency-domain sound source from the frame of the stereo audio signal based on the spatial information. The spatial information may include a frequency-azimuth plane representing an energy distribution corresponding to a frequency and an azimuth of the frame of the stereo audio signal.

The generating may include determining a signal intensity ratio of a frequency component of a left channel signal to a frequency component of a right channel signal based on a magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal, the left channel signal and the right channel signal constituting the frame of the stereo audio signal, obtaining an azimuth corresponding to the signal intensity ratio, and generating the frequency-azimuth plane by estimating an amount of energy of the sound source at the azimuth that minimizes the magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal.

The synthesizing may include calculating the energy distribution of the frame of the stereo audio signal corresponding to the azimuth by accumulating an amount of energy of a frequency component for each azimuth in the frequency-azimuth plane, identifying an azimuth of the sound source by identifying the azimuth at which an amount of energy is at a local maximum in the energy distribution of the frame of the stereo audio signal corresponding to the azimuth, determining a probability density function based on a signal intensity ratio corresponding to the azimuth of the sound source, and extracting the separated sound source by applying the probability density function to a dominant signal between a left channel signal and a right channel signal constituting the frame of the stereo audio signal.

The probability density function may be a Gaussian window function, and an axis of symmetry of the Gaussian window function may be determined based on the azimuth of the sound source.

The synthesizing may include transforming the separated frequency-domain sound source into a separated time-domain sound source, and applying an overlap-add technique to the separated time-domain sound source.

According to another aspect, there is also provided a frequency-azimuth plane generating method including determining a signal intensity ratio of a frequency component of a left channel signal to a frequency component of a right channel signal based on a magnitude difference between the frequency component of the right channel signal and the frequency component of the right channel signal, the left channel signal and the right channel signal constituting a frame of a stereo audio signal, obtaining an azimuth corresponding to the signal intensity ratio, and generating a frequency-azimuth plane by estimating an amount of energy of a sound source included in the stereo audio signal at the azimuth that minimizes the magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal.

The frequency-azimuth plane generating method may further include calculating an energy distribution of the stereo audio signal corresponding to the azimuth by accumulating an amount of energy of a frequency component for each azimuth in the frequency-azimuth plane, and identifying an azimuth of the sound source by identifying the azimuth at which an amount of energy of the stereo audio signal is at a local maximum in the energy distribution.

The identifying of the azimuth of the sound source may include identifying azimuths at which the amount of the energy of the stereo audio signal is at the local maximum, and a number of the azimuths may correspond to a number of sound sources.

According to yet another aspect, there is also provided a separated sound source synthesizing apparatus including a spatial information generator configured to generate spatial information associated with a sound source included in a frame of a stereo audio signal, and a separated sound source synthesizer configured to synthesize a separated frequency-domain sound source from the frame of the stereo audio signal based on the spatial information. The spatial information may include a frequency-azimuth plane representing an energy distribution corresponding to a frequency and an azimuth of the frame of the stereo audio signal.

According to an example embodiment, a method and apparatus for synthesizing a separated sound source may identify an actual azimuth of a sound source accurately.

According to an example embodiment, a method and apparatus for synthesizing a separated sound source may apply a probability density function to a dominant signal between a left channel signal and a right channel signal, thereby improving a quality of sound.

DETAILED DESCRIPTION

Specific structural or functional descriptions of example embodiments are merely disclosed as examples, and may be variously modified and implemented. Thus, the example embodiments are not limited, and it is intended that various modifications, equivalents, and alternatives are also covered within the scope of the present disclosure.

Though the present disclosure may be variously modified and have several embodiments, specific embodiments will be shown in drawings and be explained in detail. However, the present disclosure is not meant to be limited, but it is intended that various modifications, equivalents, and alternatives are also covered within the scope of the claims.

Although terms of “first”, “second”, etc. are used to explain various components, the components are not limited to such terms. These terms are used only to distinguish one component from another component. For example, a first component may be referred to as a second component, or similarly, the second component may be referred to as the first component.

When it is mentioned that one component is “connected” or “accessed” to another component, it may be understood that the one component is directly connected or accessed to another component or that still other component is interposed between the two components.

A singular expression includes a plural concept unless there is a contextually distinctive difference therebetween. Herein, the term “include” or “have” is intended to indicate that characteristics, numbers, steps, operations, components, elements, etc. disclosed in the specification or combinations thereof exist. As such, the term “include” or “have” should be understood that there are additional possibilities of one or more other characteristics, numbers, steps, operations, components, elements or combinations thereof.

Unless specifically defined, all the terms used herein including technical or scientific terms have the same meaning as terms generally understood by those skilled in the art. Terms defined in a general dictionary should be understood so as to have the same meanings as contextual meanings of the related art. Unless definitely defined herein, the terms are not interpreted as ideal or excessively formal meanings.

Hereinafter, example embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

FIG. 1is a diagram illustrating spatial positions of sound sources included in a stereo audio signal according to an example embodiment.

Referring toFIG. 1, a left channel microphone101configured to record a left channel signal of a stereo audio signal, and a right channel microphone102configured to record a right channel signal of the stereo audio signal are illustrated. The left channel microphone101and the right channel microphone102may be included in a stereo microphone.

A sound source1111, a sound source2112, and a sound source3113that produce sounds may be disposed at difference positions. The left channel microphone101and the right channel microphone102may record the sounds simultaneously produced by the sound source1111, the sound source2112, and the sound source3113. Thus, the sound source1111, the sound source2112, and the sound source3113may be mixed in the single stereo audio signal.

The term “separated sound source” refers to a sound source restored from the stereo audio signal by a separated sound source synthesizing apparatus. The separated sound source synthesizing apparatus may synthesize a separated sound source based on a difference between the left channel signal and the right channel signal of the stereo audio signal. The separated sound source synthesizing apparatus may obtain spatial information of a sound source from the stereo audio signal. The separated sound source synthesizing apparatus may synthesize the separated sound source based on the obtained spatial information.

The sound source1111, the sound source2112, and the sound source3113may have different azimuths based on a reference axis120on which the left channel microphone101and the right channel microphone102are disposed. As shown inFIG. 1, the sound source1111may have a least azimuth a, and the sound source3113may have a greatest azimuth c. As the azimuth decreases, a distance between a sound source and the right channel microphone102may increase and a distance between a sound source and the left channel microphone101may decrease.

A sound may be attenuated in proportion to a distance from a sound source. In a case in which the sound source is at different distances from the left channel microphone101and the right channel microphone102, the left channel signal recorded through the left channel microphone101and the right channel signal recorded through the right channel microphone102may differ from each other in terms of magnitude. Referring toFIG. 1, the left channel microphone101is closer to the sound source1111than the right channel microphone102is, and thus a magnitude of a left channel signal with respect to the sound source1111may be greater than a magnitude of a right channel signal with respect to the sound source1111. Further, the left channel microphone101is more distant from the sound source3113than the right channel microphone102is, and thus a magnitude of a left channel signal with respect to the sound source3113may be less than a magnitude of a right channel signal with respect to the sound source3113.

According to an example embodiment, the separated sound source synthesizing apparatus may identify an azimuth of a sound source based on a magnitude difference between a frequency component of a left channel signal and a frequency component of a right channel signal. The separated sound source synthesizing apparatus may synthesize a separated sound source with respect to the sound source from a stereo audio signal based on the identified azimuth of the sound source.

FIG. 2is a diagram illustrating a structure of a separated sound source synthesizing apparatus according to an example embodiment.

Referring toFIG. 2, a stereo audio signal200includes a left channel signal201and a right channel signal202. A separated sound source synthesizing apparatus210may generate spatial information associated with a sound source included in the stereo audio signal200.

The separated sound source synthesizing apparatus210may synthesize a separated sound source from the stereo audio signal200based on the spatial information of the sound source. It may be assumed that four sound sources are mixed in the stereo audio signal200. In this example, the separated sound source synthesizing apparatus210may synthesize a separated sound source S1221, a separated sound source S2222, a separated sound source S3223, and a separated sound source S4224from the stereo audio signal200based on spatial information of each sound source.

The separated sound source synthesizing apparatus210may synthesize the separated sound source for each frame of the stereo audio signal200. Hereinafter, an operation of the separated sound source synthesizing apparatus210synthesizing a separated sound source from an m-th frame203of the stereo audio signal200will be described in detail. The separated sound source synthesizing apparatus210may include a spatial information generator211configured to generate spatial information of a sound source included in the m-th frame203. The spatial information generator211may transform the m-th frame203into a frequency-domain signal. The spatial information generator211may transform the m-th frame203into the frequency-domain signal using short-time Fourier transform (STFT). The frequency-domain signal transformed from the m-th frame203may include a frequency-domain left channel signal and a frequency-domain right channel signal.

The spatial information generated by the spatial information generator211may include a frequency-azimuth plane. The spatial information generator211may identify, for each frame, an azimuth that minimizes a magnitude difference between a frequency component of the left channel signal and a frequency component of the right channel signal. The spatial information generator211may estimate an amount of energy of a predetermined frequency component of the sound source included in the m-th frame203at the azimuth. The spatial information generator211may generate the frequency-azimuth plane based on the estimated amount of energy.

The frequency-azimuth plane may represent the energy distribution corresponding to a frequency and an azimuth of the m-th frame203. The spatial information generator211may generate the frequency-azimuth plane in a frequency-azimuth space with axes of a frequency and an actual azimuth.

The separated sound source synthesizing apparatus210may further include a separated sound source synthesizer212configured to synthesize a separated frequency-domain sound source from the m-th frame203based on the spatial information. As described above, the spatial information includes the frequency-azimuth plane which is generated based on the actual azimuth. Thus, the separated sound source synthesizer212may identify an accurate azimuth of a sound source by analyzing the frequency-azimuth plane.

The separated sound source synthesizer212may calculate the energy distribution corresponding to the azimuth of the m-th frame203from the frequency-azimuth plane. The energy distribution may be concentrated on the azimuth of the sound source included in the m-th frame203. The separated sound source synthesizer212may identify the azimuth of the sound source by identifying an azimuth at which the energy distribution corresponding to the azimuth of the m-th frame203is at a local maximum.

The separated sound source synthesizer212may determine a probability density function based on the identified azimuth of the sound source. The probability density function may be a Gaussian window function. The separated sound source synthesizer212may obtain the separated frequency-domain sound source by applying the probability density function to a dominant signal between the left channel signal of the m-th frame203and the right channel signal of the m-th frame203. Further, the separated sound source synthesizer212may transform the separated frequency-domain sound source into a separated time-domain sound source using inverse short-time Fourier transform (ISTFT). The separated sound source synthesizer212may synthesize the separated sound source using an overlap-add technique.

FIG. 3is a flowchart illustrating a separated sound source synthesizing method performed by a separated sound source synthesizing apparatus according to an example embodiment. In an example embodiment, there may be provided a non-transitory computer-readable storage medium including a program including instructions to cause a computer to perform the separated sound source synthesizing method. The separated sound source synthesizing apparatus may perform the separated sound source synthesizing method by reading the storage medium.

Referring toFIG. 3, in operation310, the separated sound source synthesizing apparatus may generate spatial information associated with a sound source included in a frame of a stereo audio signal. The separated sound source synthesizing apparatus may transform the frame of the stereo audio signal into a frequency domain. In the frequency domain, the separated sound source synthesizing apparatus may combine a frequency component of a left channel signal and a frequency component of a right channel signal using g(i), as expressed by Equation 1. The left channel signal and the right channel signal may constitute the frame.

In Equation 1, X1(k,m) denotes a k-th frequency component of a left channel signal of an m-th frame. X2(k,m) denotes a k-th frequency component of a right channel signal of the m-th frame. With respect to a frequency resolution N, k may satisfy 0≤k≤N. With respect to an azimuth resolution β, an azimuth index i may satisfy 0≤i≤β. Thus, the separated sound source synthesizing apparatus may generate an (N+1)×(β+1) frequency-azimuth plane from Equation 1.

g(i) of Equation 1 may be determined based on Equation 2.

In Equation 2, g(i) may have a value ranging from “0” to “1”. When comparing g(i) of a case in which a left channel signal of a sound source is dominant (i≤β/2) and g(i) of a case in which a right channel signal of the sound source is dominant (i>β/2), g(i) may have symmetry based on an azimuth of 90 degrees.

In operation311, the separated sound source synthesizing apparatus may determine a signal intensity ratiog(i) of the frequency component of the left channel signal to the frequency component of the right channel signal with respect to a change in the azimuth based on a magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal. The separated sound source synthesizing apparatus may determine the signal intensity ratiog(i) based on Equation 3.

In Equation 3, the signal intensity ratiog(i) may be defined differently based on whether the left channel signal is dominant (i≤β/2) or the right channel signal is dominant (i>β/2). Thus, the signal intensity ratiog(i) may be determined based on the magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal.

In comparison to Equation 2, the signal intensity ratiog(i) may have a different sign based on the azimuth of 90 degrees. Thus, whether the azimuth is less than 90 degrees or greater than 90 degrees may be verified based on the signal intensity ratiog(i). Unlike Equation 2, the signal intensity ratiog(i) may be used to distinguish between a left azimuth (a case of an azimuth being less than 90 degrees) and a right azimuth (a case of an azimuth being greater than 90 degrees).

In operation312, the separated sound source synthesizing apparatus may obtain an azimuth corresponding to the signal intensity ratiog(i). The separated sound source synthesizing apparatus may obtain the azimuth based on Equation 4.

FIG. 4is a graph illustrating a relationship between a signal intensity ratio and an azimuth according to an example embodiment. Referring toFIG. 4, an azimuth and a signal intensity ratio calculated based on an azimuth index may have a non-linear relationship. Thus, when a frequency-azimuth plane is generated based on an azimuth index i, a separated sound source and the original sound source may differ from each other due to the non-linear relationship with the actual azimuth and the azimuth index i.

In operation313, the separated sound source synthesizing apparatus may generate a frequency-azimuth plane by estimating an amount of energy of the sound source at an azimuth that minimizes the magnitude difference between the frequency component of the left channel signal and the frequency component of the right channel signal.

The separated sound source synthesizing apparatus may determine an azimuth index i that minimizes Az(k,m,i) of Equation 1. The separated sound source synthesizing apparatus may generate the frequency-azimuth plane by estimating an amount of energy of the sound source at the azimuth index i that minimizes Az(k,m,i) based on Equation 5.

The separated sound source synthesizing apparatus may generate Az(k, m, i) in a frequency-azimuth space with an axis of the azimuth of Equation 4. Since the frequency-azimuth plane is generated based on the actual azimuth, distortion resulting from the non-linear relationship with the actual azimuth and the azimuth index i may be removed. The separated sound source synthesizing apparatus may identify the azimuth of the sound source more accurately.

FIG. 5illustrates an example of a frequency-azimuth plane generated by a separated sound source synthesizing apparatus according to an example embodiment. Hereinafter, an operation of interpreting the frequency-azimuth plane by the separated sound source synthesizing apparatus will be described in detail with reference toFIGS. 3 and 5. It may be assumed that an azimuth of a sound source positioned on a left side corresponds to 0 degrees, an azimuth of a sound source positioned at a center corresponds to 90 degrees, and an azimuth of a sound source positioned on a right side corresponds to 180 degrees.

Referring toFIG. 5, energy of a frame of a stereo audio signal is concentrated around an azimuth of 100 degrees. Further, a frequency component less than or equal to 4 kilohertz (kHz) is dominant. The separated sound source synthesizing apparatus may identify the azimuth of the sound source by analyzing an energy distribution of the frequency-azimuth plane.

In operation321, the separated sound source synthesizing apparatus may calculate the energy distribution of the frame of the stereo audio signal corresponding to the azimuth by accumulating an amount of energy of a frequency component for each azimuth in the frequency-azimuth plane. The separated sound source synthesizing apparatus may calculate the energy distribution of the frame corresponding to the azimuth by accumulating Az(k, m, i) for each azimuth.

In operation322, the separated sound source synthesizing apparatus may identify an azimuth of the sound source by identifying the azimuth at which an amount of energy is at a local maximum in the energy distribution of the frame of the stereo audio signal corresponding to the azimuth. The energy distribution of the frame may have local maximum values. A number of the local maximum values may correspond to a number of sound sources mixed in the frame.

In the frequency-azimuth plane ofFIG. 5, since the energy of the frame of the stereo audio signal is concentrated around the azimuth of 100 degrees, the energy distribution of the frame corresponding to the azimuth calculated by the separated sound source synthesizing apparatus may be at a local maximum at the azimuth of 100 degrees. Thus, the separated sound source synthesizing apparatus may identify the azimuth of the sound source as 100 degrees.

In operation323, the separated sound source synthesizing apparatus may determine a probability density function based on a signal intensity ratio corresponding to the azimuth of the sound source. The probability density function may include a Gaussian window function. The separated sound source synthesizing apparatus may determine the Gaussian window function based on Equation 6.

In Equation 6, djdenotes the azimuth of the sound source identified in operation322by the separated sound source synthesizing apparatus. Thus, an axis of symmetry of the Gaussian window function may be determined based on the signal intensity ratiog(dj) corresponding to the azimuth of the sound source. γ may be used to determine a width of the Gaussian window function. The separated sound source synthesizing apparatus may adjust γ, thereby adjusting distortion caused by a sound source positioned at a different azimuth. U(k) may be defined with respect to an azimuth index i that minimizes Az(k,m,i) in a k-th frequency component, as expressed by Equation 7.

In operation324, the separated sound source synthesizing apparatus may extract the separated frequency-domain sound source by applying the determined probability density function to a dominant signal between the left channel signal and the right channel signal of the frame of the stereo audio signal. The separated sound source synthesizing apparatus may extract a k-th frequency component Sj(k,m) of a separated sound source Sjof the m-th frame, based on Equation 8.

In Equation 8, the k-th frequency component Sj(k,m) of the separated sound source Sjmay be extracted by applying the probability density function to the dominant signal between the frequency component of the left channel signal and the frequency component of the right channel signal. Since the azimuth of the sound source corresponds to 100 degrees in the example ofFIG. 5, the separated sound source synthesizing apparatus may extract the separated frequency-domain sound source by applying the Gaussian window function to the right channel signal with reference to Equation 8.

The separated sound source synthesizing apparatus may transform the separated frequency-domain sound source into a separated time-domain sound source. In detail, the separated sound source synthesizing apparatus may transform the k-th frequency component Sj(k,m) of the separated sound source Sjinto a time domain. Further, the separated sound source synthesizing apparatus may synthesize the separated sound source using an overlap-add technique.

Hereinafter, a comparison between a sound source and a separated sound source synthesized by the separated sound source synthesizing apparatus from a stereo audio signal provided in a stereo audio source separation evaluation campaign (SASSEC) will be described.

The stereo audio signal provided in the SASSEC may include mixed voices of four different users output from speakers positioned in a 1-meter (m) radius at four azimuths of 45 degrees, 75 degrees, 100 degrees, and 140 degrees using two non-directional microphones, for example, at a spacing distance of 5 cm. The stereo audio signal provided in the SAS SEC may include four mixed sound sources positioned at the four azimuths of 45 degrees, 75 degrees, 100 degrees, and 140 degrees, respectively.

FIG. 6is a graph illustrating an energy distribution of a frame of a stereo audio signal corresponding to an azimuth calculated by a separated sound source synthesizing apparatus according to an example embodiment. The separated sound source synthesizing apparatus may calculate the energy distribution of the stereo audio signal corresponding to the azimuth by accumulating an amount of energy of a frequency component for each azimuth in a frequency-azimuth plane.

Referring toFIG. 6, the accumulated energy may have local maximum values610,620,630, and640around azimuths of 45 degrees, 75 degrees, 100 degrees, and 140 degrees, respectively. The separated sound source synthesizing apparatus may determine a probability density function for each sound source based on a signal intensity ratio corresponding to the azimuth of each of the local maximum values610,620,630, and640.

The separated sound source synthesizing apparatus may extract a separated sound source by applying the probability density function to a dominant signal between a left channel signal and a right channel signal of the stereo audio signal. For example, when synthesizing separated sound sources corresponding to the local maximum values620and610, the separated sound source synthesizing apparatus may apply a Gaussian window function to the right channel signal since the local maximum values620and610are positioned at azimuths of 100 degrees and 140 degrees which are greater than an azimuth of 90 degrees.

FIG. 7illustrates a comparison between waveforms of sound sources and waveforms of separated sound sources synthesized by a separated sound source synthesizing apparatus according to an example embodiment. Referring toFIG. 7, a separated sound source711with respect to a sound source S1710, a separated sound source721with respect to a sound source S2720, a separated sound source731with respect to a sound source S3730, and a separated sound source741with respect to a sound source S4740are illustrated.

Table 1 shows a comparison of performances between a separated sound source synthesized by the separated sound source synthesizing apparatus and a separated sound source synthesized by a related art of synthesizing a separated sound source. In Table 1, the performances are compared by calculating source to distortion ratios (SDRs), source to interference ratios (SIRs), and source to artifact ratios (SARs) thereof.

Referring to Table 1, the performance of the separated sound source synthesized by the separated sound source synthesizing apparatus improved by about 9.1 decibels (dB) in SDR, about 1.45 dB in SIR, and about 9.23 dB in SAR.

The components described in the exemplary embodiments of the present invention may be achieved by hardware components including at least one DSP (Digital Signal Processor), a processor, a controller, an ASIC (Application Specific Integrated Circuit), a programmable logic element such as an FPGA (Field Programmable Gate Array), other electronic devices, and combinations thereof. At least some of the functions or the processes described in the exemplary embodiments of the present invention may be achieved by software, and the software may be recorded on a recording medium. The components, the functions, and the processes described in the exemplary embodiments of the present invention may be achieved by a combination of hardware and software.

The units and/or modules described herein may be implemented using hardware components and software components. For example, the hardware components may include microphones, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more hardware device configured to carry out and/or execute program code by performing arithmetical, logical, and input/output operations. The processing device(s) may include a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such as parallel processors.