METHOD OF REMOVING GHOST ARTIFACTS FROM MAGNETIC RESONANCE IMAGE, AND MAGNETIC RESONANCE APPARATUS THEREFOR

20170299680 · 2017-10-19

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of reconstructing a magnetic resonance image includes receiving echo planar imaging (EPI) data, acquiring an even scan line image and an odd scan line image from k-space data of the EPI data, and reconstructing missing portions of the even scan line image and the odd scan line image.

Claims

1. A method of reconstructing a magnetic resonance image, the method comprising: receiving echo planar imaging (EPI) data; acquiring an even scan line image and an odd scan line image from k-space data of the EPI data; and reconstructing missing portions of the even scan line image and the odd scan line image.

2. The method of claim 1, wherein the reconstructing of the missing portions of the even scan line image and the odd scan line image comprises reconstructing the missing portions by constructing block Hankel matrices from the even scan line image and the odd scan line image based on a presence of an annihilation filter in a k-space and interpolating Fourier data yet to be measured through a low rank matrix completion algorithm.

3. The method of claim 2, wherein the reconstructing of the missing portions by constructing the block Hankel matrices from the even scan line image and the odd scan line image comprises transforming the even scan line image and the odd scan line image into the block Hankel matrices using a commutative rule of a convolution operation of the k-space and the annihilation filter in a frequency domain.

4. The method of claim 1, further comprising: generating a single reconstructed image by combining the reconstructed even scan line image and the reconstructed odd scan line image.

5. The method of claim 4, wherein the generating of the single reconstructed image comprises generating the single reconstructed image using a sum of squares of the reconstructed even scan line image and the reconstructed odd scan line image.

6. The method of claim 1, wherein the reconstructing of the missing portions of the even scan line image and the odd scan line image comprises reconstructing the even scan line image and the odd scan line image using a plurality of minimum rank matrix completion algorithms after changing pyramid patches, each having a pyramidal structure, into block Hankel matrices.

7. The method of claim 6, wherein the reconstructing of the even scan line image and the odd scan line image comprises reconstructing the even scan line image and the odd scan line image through the matrix completion algorithms, reducing sizes of the pyramid patches, and reconstructing a low-frequency domain of a k-space through the matrix completion algorithms using values of the reconstructed even scan line image and the reconstructed odd scan line image as initial values.

8. The method of claim 6, wherein the reconstructing of the even scan line image and the odd scan line image comprises applying a stop reference less than or equal to a preset reference to a pyramid patch including noise greater than or equal to the preset reference, and applying a stop reference greater than or equal to the preset reference to a pyramid patch from which a low-frequency domain is cut off, among the pyramid patches, each having the pyramidal structure.

9. The method of claim 1, wherein the EPI data comprises at least one of single-coil EPI data or multi-coil EPI data.

10. The method of claim 1, wherein the reconstructing of the missing portions of the even scan line image and the odd scan line image comprises reconstructing the missing portions by assigning a weighting to a k-space of each of the even scan line image and the odd scan line image and constructing block Hankel matrices from the weighted even scan line image and the weighted odd scan line image.

11. A computer program combined with hardware and stored in a non-transitory computer-readable storage medium to cause a computer to perform the method of claim 1.

12. An apparatus for reconstructing a magnetic resonance image, the apparatus comprising: a processor configured to acquire an even scan line image and an odd scan line image from k-space data of echo planar imaging (EPI) data, and reconstruct missing portions of the even scan line image and the odd scan line image.

13. The apparatus of claim 12, wherein the processor is configured to reconstruct the missing portions by constructing block Hankel matrices from the even scan line image and the odd scan line image based on a presence of an annihilation filter in a k-space and interpolating Fourier data yet to be measured through a low rank matrix completion algorithm.

14. The apparatus of claim 13, wherein the processor is configured to transform the even scan line image and the odd scan line image into the block Hankel matrices using a commutative rule of a convolution operation of the k-space and the annihilation filter in a frequency domain.

15. The apparatus of claim 12, wherein the processor is configured to generate a single reconstructed image by combining the reconstructed even scan line image and the reconstructed odd scan line image.

16. The apparatus of claim 15, wherein the processor is configured to generate the single reconstructed image using a sum of squares of the reconstructed even scan line image and the reconstructed odd scan line image.

17. The apparatus of claim 12, wherein the processor is configured to reconstruct the even scan line image and the odd scan line image using a plurality of minimum rank matrix completion algorithms after changing pyramid patches, each having a pyramidal structure, into block Hankel matrices.

18. The apparatus of claim 17, wherein the processor is configured to reconstruct the even scan line image and the odd scan line image through the matrix completion algorithms, reduce sizes of the pyramid patches, and reconstruct a low-frequency domain of a k-space through the matrix completion algorithms using values of the reconstructed even scan line image and the reconstructed odd scan line image as initial values.

19. The apparatus of claim 12, wherein the processor is configured to apply a stop reference less than or equal to a preset reference to a pyramid patch including noise greater than or equal to the preset reference, and apply a stop reference greater than or equal to the preset reference to a pyramid patch from which a low-frequency domain is cut off, among the pyramid patches, each having the pyramidal structure.

20. The apparatus of claim 12, wherein the processor is configured to reconstruct the missing portions by assigning a weighting to a k-space of each of the even scan line image and the odd scan line image and constructing block Hankel matrices from the weighted even scan line image and the weighted odd scan line image.

Description

BRIEF DESCRIPTION OF DRAWINGS

[0029] FIG. 1 is a block diagram illustrating an apparatus for reconstructing a magnetic resonance image according to an embodiment.

[0030] FIG. 2 is a flowchart illustrating a method of reconstructing a magnetic resonance image according to an embodiment.

[0031] FIG. 3 illustrates a method of reconstructing a magnetic resonance image using a k-space according to an embodiment.

[0032] FIG. 4 illustrates a method of constructing block Hankel matrices from a k-space in which data is insufficient according to an embodiment.

[0033] FIG. 5 illustrates a result of constructing a block Hankel matrix from each of an even scan line image and an odd scan line image according to an embodiment.

[0034] FIG. 6 illustrates a change in size of a reconstructed patch at each level of a pyramidal structure according to an embodiment.

[0035] FIG. 7 is a flowchart illustrating a reconstruction process to which a pyramidal structure is applied according to an embodiment.

[0036] FIGS. 8A and 8B illustrate results of a method of reconstructing a magnetic resonance image according to an embodiment.

BEST MODE

[0037] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

[0038] FIG. 1 is a block diagram illustrating an apparatus for reconstructing a magnetic resonance image according to an embodiment.

[0039] Referring to FIG. 1, an apparatus 100 for reconstructing a magnetic resonance image may include a communicator 110, a processor 120, and a storage 130.

[0040] The apparatus 100 may correct ghost artifacts in an echo planar imaging (EPI) image. Removal of the ghost artifacts may transform k-space data, separated into an even scan line image and an odd scan line image, into rank deficiency by constructing block Hankel matrices of the even scan line image and the odd scan line image based on a presence of an annihilation filter in a k-space. In this example, the apparatus 100 may solve the rank deficiency through various low rank matrix completion algorithms.

[0041] The communicator 110 may receive EPI data from a magnetic resonance imaging (MRI) scanner (not shown). The communicator may receive the EPI data from the MRI scanner in a wireless or wired manner.

[0042] The EPI data may include at least one of single-coil EPI data or multi-coil EPI data.

[0043] The communicator 110 may output a reconstructed magnetic resonance image to an output device so that a user may view the magnetic resonance image.

[0044] The processor 120 may acquire an even scan line image and an odd scan line image from the k-space data of the received EPI data.

[0045] The processor 120 may reconstruct missing portions of the even scan line image and the odd scan line image.

[0046] The processor 120 may reconstruct the missing portions by interpolating Fourier data yet to be measured since the k-space data is transformed into the rank deficiency by constructing respective block Hankel matrices of the even scan line image and the odd scan line image based on the presence of the annihilation filter in the k-space. Here, the processor 120 may solve the rank deficiency through a plurality of low rank matrix completion algorithms.

[0047] The processor 120 may transform the even scan line image and the odd scan line image into the respective block Hankel matrices using a commutative rule of a convolution operation of the k-space and the annihilation filter in a frequency domain.

[0048] The processor 120 may generate a single reconstructed image by combining the reconstructed even scan line image and the reconstructed odd scan line image. In this example, the processor 120 may generate the single reconstructed image using a sum of squares of the reconstructed even scan line image and the reconstructed odd scan line image.

[0049] The processor 120 may reconstruct the even scan line image and the odd scan line image using a plurality of minimum rank matrix completion algorithms after changing pyramid patches, each having a pyramidal structure, into block Hankel matrices.

[0050] The processor 120 may reconstruct the even scan line image and the odd scan line image through the matrix completion algorithms, reduce sizes of the pyramid patches, and reconstruct a low-frequency domain of the k-space through the matrix completion algorithms using values of the reconstructed even scan line image and the reconstructed odd scan line image as initial values.

[0051] In this example, the processor 120 may apply a stop reference less than or equal to a preset reference to a pyramid patch including noise greater than or equal to the preset reference, and apply a stop reference greater than or equal to the preset reference to a pyramid patch from which a low-frequency domain is cut off, among the pyramid patches, each having the pyramidal structure.

[0052] The processor 120 may reconstruct the missing portions by assigning a weighting to a k-space of each of the even scan line image and the odd scan line image and constructing block Hankel matrices from the weighted even scan line image and the weighted odd scan line image. Here, the weighting may be determined based on a characteristic of sparsifying transform of an EPI image. Thus, the processor 120 may sparsely transform an EPI image by assigning the weighting to the k-space data before the block Hankel matrices are constructed.

[0053] The storage 130 may arbitrarily store the EPI image received at the communicator 110, and also store the image reconstructed by the processor 120.

[0054] FIG. 2 is a flowchart illustrating a method of reconstructing a magnetic resonance image according to an embodiment.

[0055] In operation 210, an apparatus for reconstructing a magnetic resonance image may receive an EPI image.

[0056] In operation 220, the apparatus for reconstructing a magnetic resonance image may separate an even scan line image and an odd scan line image from a k-space of the received EPI image.

[0057] In operation 230, the apparatus for reconstructing a magnetic resonance image may reconstruct missing portions of the even scan line image and the odd scan line image.

[0058] In this example, the apparatus for reconstructing a magnetic resonance image may transform k-space data, separated into an even scan line image and an odd scan line image, into rank deficiency by constructing block Hankel matrices of the even scan line image and the odd scan line image based on a presence of an annihilation filter in a k-space. Here, the rank deficiency may be solved through a plurality of low rank matrix completion algorithms. The apparatus for reconstructing a magnetic resonance image may reconstruct the missing portions by interpolating Fourier data yet to be measured through the low rank matrix completion algorithms since the k-space data is transformed into the rank deficiency by constructing respective block Hankel matrices of the even scan line image and the odd scan line image based on the presence of the annihilation filter in the k-space.

[0059] The apparatus for reconstructing a magnetic resonance image may transform the even scan line image and the odd scan line image into the block Hankel matrices using a commutative rule of a convolution operation of the k-space and the annihilation filter in a frequency domain.

[0060] The apparatus for reconstructing a magnetic resonance image may reconstruct the missing portions by assigning a weighting to a k-space of each of the even scan line image and the odd scan line image and constructing block Hankel matrices from the weighted even scan line image and the weighted odd scan line image. Here, the weighting may be determined based on a characteristic of sparsifying transform of an EPI image. Thus, the apparatus for reconstructing a magnetic resonance image may sparsely transform the EPI image before the block Hankel matrices are constructed. The apparatus for reconstructing a magnetic resonance image may reconstruct the even scan line image and the odd scan line image using a plurality of minimum rank matrix completion algorithms after changing pyramid patches, each having a pyramidal structure, into block Hankel matrices. In this example, the apparatus for reconstructing a magnetic resonance image may reconstruct the even scan line image and the odd scan line image through the matrix completion algorithms, reduce sizes of the pyramid patches, and reconstruct a low-frequency domain of the k-space through the matrix completion algorithms using values of the reconstructed even scan line image and the reconstructed odd scan line image as initial values.

[0061] The apparatus for reconstructing a magnetic resonance image may generate a single reconstructed image by combining the reconstructed even scan line image and the reconstructed odd scan line image.

[0062] The apparatus for reconstructing a magnetic resonance image may generate the single reconstructed image using a sum of squares of the reconstructed even scan line image and the reconstructed odd scan line image.

[0063] FIG. 3 illustrates a method of reconstructing a magnetic resonance image using a k-space according to an embodiment.

[0064] Referring to FIG. 3, an apparatus for reconstructing a magnetic resonance image may separate an even scan line image 321, 322 and an odd scan line image 331, 332 from a k-space 312 of an EPI image 311.

[0065] The apparatus for reconstructing a magnetic resonance image may acquire a reconstructed even scan line image 341, 342 by reconstructing the even scan line image 321, 322, and acquire a reconstructed odd scan line image 351, 352 by reconstructing the odd scan line image 331, 332.

[0066] The apparatus for reconstructing a magnetic resonance image may acquire a final image 360 from which ghost artifacts are removed, by combining the reconstructed even scan line image 341, 342 and the reconstructed odd scan line image 351, 352.

[0067] The series of operations may be described using the following equations.

[0068] The EPI image may be expressed using Equation 1.

[00001] S n ( k x , k y ) = m ( .Math. x , .Math. y ) .Math. .Math. e .Math. j .Math. .Math. 2 .Math. π [ Δ .Math. .Math. f ( x , y ) .Math. ( ( TE + ( n - N 2 ) .Math. ESP ) + ( - 1 ) n .Math. ( k x γG x ) ) + k x .Math. x + k y .Math. y ] .Math. .Math. dxdy [ Equation .Math. .Math. 1 ]

[0069] In Equation 1, m denotes an intensity of the image, and Δf denotes a frequency offset resulting from field inhomogeneity. x and y denote a direction of read-out and a direction of phase encoding, respectively. TE denotes an echo time, and ESP denotes a time interval between echoes. N denotes a total number of echoes, and n denotes an index of each echo line.

[0070] A model of Equation 1 includes ghost artifacts resulting from a phase difference between echo lines. A value of (−1).sup.n may vary based on whether n is an even number or an odd number. Thus, an even scan line and an odd scan line may have different polarities, which may be represented using virtual k-spaces, as expressed by Equation 2.

[00002] S n , + ( k x , k y ) = m ( .Math. x , .Math. y ) .Math. .Math. e .Math. j .Math. .Math. 2 .Math. π [ Δ .Math. .Math. f ( x , y ) .Math. ( ( TE + ( n - N 2 ) .Math. ESP ) + ( k x γG x ) ) + k x .Math. x + k y .Math. y ] .Math. .Math. dxdy .Math. .Math. S n , - ( k x , k y ) = m ( .Math. x , .Math. y ) .Math. .Math. e .Math. j .Math. .Math. 2 .Math. π [ Δ .Math. .Math. f ( x , y ) .Math. ( ( TE + ( n - N 2 ) .Math. ESP ) - ( k x γG x ) ) + k x .Math. x + k y .Math. y ] .Math. .Math. dxdy [ Equation .Math. .Math. 2 ]

[0071] In Equation 2, S.sub.n,+(k.sub.x,k.sub.y) denotes a k-space in which even scan lines are collected, and S.sub.n,−(k.sub.x,k.sub.y) denotes a k-space in which odd scan lines are collected. The two separate k-spaces include missing odd scan lines and missing even scan lines, respectively, and thus may be regarded as being downsampled by a factor of 2. Accordingly, the method of reconstructing a magnetic resonance image may change into an issue of filling in the missing portions of the k-spaces.

[0072] One equation in Equation 2 may be subtracted from the other equation, as expressed by Equation 3.

[00003] S n , Δ ( k x , k y ) = .Math. S n , - ( k x , k y ) - S n , + ( k x , k y ) = .Math. A ( x , y ) .Math. ( e - j .Math. .Math. 2 .Math. πΔ .Math. .Math. f ( x , y ) .Math. k x γ .Math. .Math. G x - .Math. e j .Math. .Math. 2 .Math. πΔ .Math. .Math. f ( x , y ) .Math. k x γ .Math. .Math. G x ) .Math. e j .Math. .Math. 2 .Math. π ( k x .Math. x + k y .Math. y ) .Math. dxdy = .Math. - A ( x , y ) .Math. 2 .Math. j .Math. .Math. sin .Math. .Math. ( 2 .Math. πΔ .Math. .Math. f ( x , .Math. y ) .Math. k x γ .Math. .Math. G x ) .Math. e j2π ( k x .Math. x + k y .Math. y ) .Math. dxdy where .Math. .Math. A = .Math. m ( x , y ) .Math. e j2 .Math. .Math. π [ Δ .Math. .Math. f ( x , y ) .Math. ( ( TE + ( n - N 2 ) .Math. ESP ) ) ] [ Equation .Math. .Math. 3 ]

[0073] In a case in which the frequency offset is sufficiently insignificant, Equation 3 may be approximated as expressed by Equation 4.

[00004] S n , Δ ( k x , k y ) .Math. - .Math. j .Math. .Math. 2 .Math. .Math. .Math. π .Math. .Math. .Math. k x .Math. .Math. 2 γ .Math. .Math. G x .Math. A ( x , y ) .Math. Δ .Math. .Math. f ( x , y ) .Math. e j .Math. .Math. 2 .Math. π ( k x .Math. x + k y .Math. y ) .Math. dxdy = 2 γ .Math. .Math. G x .Math. [ A ( x , y ) .Math. Δ .Math. .Math. f ( x , y ) x ] [ Equation .Math. .Math. 4 ]

[0074] Equation 4 may be the same as a result of performing Fourier transform on a gradient of a product of an RF offset and an image. Since A(x,y)Δf(x,y) has a smooth gradient and S.sub.n,Δ(k.sub.x,k.sub.y) has a sparse density, a difference S.sub.n,Δ between the k-space using the odd lines and the k-space using the even lines may be sparse. A Hankel matrix constructed based on S.sub.n,Δ(k.sub.x,k.sub.y) may be ranked low. Accordingly, an annihilation filter that satisfies Equation 5 may be present.


custom-character(S.sub.n,Δ)custom-character=0  [Equation 5]

[0075] In Equation 5, custom-character(S.sub.n,Δ) denotes a Hankel matrix constructed from S.sub.n,Δ, and custom-character denotes a vectorized form of a two-dimensional (2D) annihilation filter. In this example, S.sub.n,Δ=S.sub.n,−−S.sub.n,+ is satisfied and thus, a relationship as expressed by Equation 6 may be obtained.

[00005] ( ( S n , - ) - ( S n , + ) ) .Math. = 0 .Math. .Math. [ - ] .Math. .Math. where , = [ ( S n , - ) .Math. .Math. ( S n , + ) ] [ Equation .Math. .Math. 6 ]

[0076] Accordingly, a matrix custom-character may be generated by constructing respective block Hankel matrices from the k-space including the even scan lines and the k-space including the odd scan lines and combining the two matrices. A low rankness of the matrix custom-character may be used to fill in the missing portions of the data.

[0077] When the missing portions of S.sub.n,+ and S.sub.n,− are filled in and reconstructed, a final image without ghost artifacts may be generated by combining the reconstructed even scan line image and the reconstructed odd scan line image. In this example, the reconstructed even scan line image and the odd scan line image may be combined using a sum of squares.

[0078] In a case of using multi-coil data, restoration may be performed similarly by constructing a Hankel matrix, as expressed by Equation 6.


custom-character.sup.(P)=[custom-character.sup.(1) . . . custom-character.sup.(r)]  [Equation 7]

[0079] In Equation 7, custom-character.sup.(i) denotes a Hankel matrix at an i-th coil.

[0080] FIG. 4 illustrates a method of constructing block Hankel matrices from a k-space in which data is insufficient according to an embodiment.

[0081] Referring to FIG. 4, patches 411, 412, 413, 414, and 415 may be extracted from a k-space 410 of an EPI image. Here, each patch includes filled odd scan lines and missing even scan lines.

[0082] In this example, an apparatus for reconstructing a magnetic resonance image may construct a Hankel matrix or Hankel matrices for each patch. In detail, the apparatus for reconstructing a magnetic resonance image may construct a Hankel matrix 421 for the patch 411, Hankel matrices 422 and 424 for the patch 412, Hankel matrices 423, 425, and 427 for the patch 413, Hankel matrices 426 and 428 for the patch 414, and a Hankel matrix 429 for the patch 415. Rank deficiency of the Hankel matrices may be used to reconstruct data of the missing portions.

[0083] FIG. 5 illustrates a result of constructing a block Hankel matrix from each of an even scan line image and an odd scan line image according to an embodiment.

[0084] Referring to FIG. 5, a Hankel matrix 521 may be constructed from EPI data 511, and a Hankel matrix 522 may be constructed from EPI data 512.

[0085] An apparatus for reconstructing a magnetic resonance image may fill in and reconstruct missing portions in each of the Hankel matrices 521 and 522, and generate a final image without ghost artifacts through a sum of squares.

[0086] FIG. 6 illustrates a change in size of a reconstructed patch at each level of a pyramidal structure according to an embodiment.

[0087] Referring to FIG. 6, a low rank completion algorithm may be calculated efficiently through a pyramid-structured scheme. The low rank completion algorithm may be calculated with respect to an independent patch. By using the pyramidal structure as shown in FIG. 6, a size of a patch may be reduced for each operation, and reconstruction may be performed differently based on a signal-to-noise ratio (SNR) for each operation, whereby a number of interactions of an iterative reconstruction-based low rank matrix completion algorithm may be reduced. Such a pyramidal structure may apply to a kx-ky domain.

[0088] A patch 610 in a first operation and a patch 620 in a second operation are illustrated. In this example, as advancing to a subsequent operation, an x-axial length of a patch may be reduced to half a length of a patch in a previous operation. Since a center 611 of each patch includes a low-frequency portion at all times, reconstruction may be performed more precisely without noise as advancing to a subsequent operation. Thus, a number of iterations of a low rank matrix completion algorithm may decrease, and reconstructed data of a previous operation may be used as an initial value of each operation, whereby more accurate result values may be obtained.

[0089] In another example, a length and a width of a patch may be reduced to those of a patch in a previous operation.

[0090] FIG. 7 is a flowchart illustrating a reconstruction process to which a pyramidal structure is applied according to an embodiment.

[0091] In operation 710, an apparatus for reconstructing a magnetic resonance image may separate an even scan line image and an odd scan line image from a k-space of an EPI image.

[0092] In operation 720, the apparatus for reconstructing a magnetic resonance image may determine a pyramid patch. The apparatus for reconstructing a magnetic resonance image may reconstruct the even scan line image and the odd scan line image through a matrix completion algorithm, and reduce a size of the pyramid patch.

[0093] In operation 730, the apparatus for reconstructing a magnetic resonance image may construct Hankel matrices of the k-space from the even scan line image and the odd scan line image.

[0094] In operation 740, the apparatus for reconstructing a magnetic resonance image may reconstruct an image through a low rank matrix completion algorithm. The apparatus for reconstructing a magnetic resonance image may reconstruct a low-frequency domain of the k-space through the matrix completion algorithm using values of the restored even scan line image and the restored odd scan line image as initial values.

[0095] In operation 750, the apparatus for reconstructing a magnetic resonance image may determine whether a pyramid level reaches a desired level.

[0096] In this example, operations 720 through 740 may be iteratively performed until the pyramid level reaches the desired level while reducing a size of a patch to half a size of a previous patch that is yet to undergo operation 750.

[0097] In a reconstruction process to which a pyramidal structure is applied, reconstruction may be performed differently based on an SNR for each level and for each operation, whereby a number of interactions of an iterative reconstruction-based low rank matrix completion algorithm may be reduced.

[0098] FIGS. 8A and 8B illustrate results of a method of reconstructing a magnetic resonance image according to an embodiment.

[0099] Referring to FIG. 8A, magnetic resonance images viewed from a side 811, a front 812, and a top 813 according to a conventional or related art include ghost artifacts, whereas magnetic resonance images viewed from a side 821, a front 822, and a top 823 according to an embodiment do not include ghost artifacts.

[0100] Referring to FIG. 8B, a magnetic resonance image 831 according to a conventional or related art includes ghost artifacts (pointed by an arrow), whereas magnetic resonance images according to an embodiment, in detail, both a single-coil image 832 and a multi-coil image 833, do not include ghost artifacts.

[0101] 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.

[0102] The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct and/or configure the processing device to operate as desired, thereby transforming the processing device into a special purpose processor. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer readable recording mediums.

[0103] The methods according to the above-described embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations of the above-described embodiments. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM discs, DVDs, and/or Blue-ray discs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.), and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The above-described devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments, or vice versa.

[0104] A number of embodiments have been described above. Nevertheless, it should be understood that various modifications may be made to these embodiments. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claim.