METHOD AND DEVICE FOR REAL-TIME ERROR-BOUNDED AND DELAY-BOUNDED MAP MATCHING

20170314938 · 2017-11-02

    Inventors

    Cpc classification

    International classification

    Abstract

    Method and device for real-time error bounded and relay bounded map matching. The method for map matching comprises of modelling each road arc as a hidden state and each location measurement as an observation emitted by the hidden state using a Hidden Markov Model, decoding each road arc and each location measurement using a Viterbi algorithm and outputting a matching road arc, wherein the outputting is delayed by a delay time in response to an optimal trade-off between selection accuracy and selection latency.

    Claims

    1. A method for map matching, comprising: modelling each road arc as a hidden state and each location measurement as an observation emitted by the hidden state using a Hidden Markov Model; decoding each road arc and each location measurement using a Viterbi algorithm; and outputting a matching road arc, wherein the outputting is delayed by a delay time determined in response to an optimal tradeoff between selection accuracy and selection latency.

    2. The method in accordance with claim 1 wherein the modelling step comprises: narrowing a set of candidate road arcs to generate a reduced set of candidate road arcs; modelling each road arc in the reduced set of candidate road arcs as the hidden state and each location measurement as the observation emitted by the hidden state using the Hidden Markov Model; and decoding each road arc in the reduced set of candidate road arcs and each location measurement using a Viterbi algorithm.

    3. The method in accordance with claim 1, wherein the delay time is selected by minimizing a function of the selection accuracy and the selection latency, the selection accuracy being a decreasing function of the delay time and the selection latency being an increasing function of the delay time.

    4. The method in accordance with claim 3, wherein the selection accuracy is determined by an information entropy of a probability distribution which indicates the likelihood of each road arc being the matching road arc.

    5. The method in accordance with claim 3, wherein the selection latency is determined by a function of a tradeoff parameter and the delay time.

    6. The method in accordance with claim 5, wherein the tradeoff parameter is predetermined.

    7. The method in accordance with claim 3, wherein the delay time is determined when the selection accuracy is equal to or less than the selection latency.

    8. A device for map matching, comprising a location data receiving device; a memory having road arcs in a road network stored therein; a user interface including a user presentation device; and a processor coupled to the location data receiving device, the memory, and the user interface, the processor being configured to: model each of the road arcs stored in the memory as a hidden state and each location measurement detected by the location data receiving device as an observation emitted by the hidden state using a Hidden Markov Model; decode each of the road arcs and each location measurement using a Viterbi algorithm; and output a matching road arc to the user presentation device, wherein the output is delayed by a delay time determined in response to an optimal tradeoff between selection accuracy and selection latency.

    9. The device in accordance with claim 8, wherein the processor is configured to select the delay time by minimizing a function of the selection accuracy and the selection latency, the selection accuracy being a decreasing function of the delay time and the selection latency being an increasing function of the delay time.

    10. The device in accordance with claim 9, wherein the processor is configured to determine the selection accuracy in response to an information entropy of a probability distribution which indicates the likelihood of each road arc being the matching road arc.

    11. The device in accordance with claim 9, wherein the processor is configured to determine the selection latency by a function of a tradeoff parameter and the delay time.

    12. The device in accordance with claim 11, wherein the tradeoff parameter is predetermined.

    13. The device in accordance with claim 9, wherein the processor is configured to determine the delay time when the selection accuracy is equal to or less than the selection latency.

    14. The device in accordance with claim 8 wherein the processor is configured to model each of the road arcs and each location measurement by narrowing a set of candidate road arcs to generate a reduced set of candidate road arcs and modelling each road arc in the reduced set candidate road arcs as the hidden state and each location measurement as the observation emitted by the hidden state using the Hidden Markov Model.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0011] The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to illustrate various embodiments and to explain various principles and advantages in accordance with a present embodiment, by way of non-limiting example only.

    [0012] Embodiments of the invention are described hereinafter with reference to the following drawings, in which:

    [0013] FIG. 1 is an illustration depicting an example of a map matching problem in accordance with a present embodiment.

    [0014] FIG. 2 is a block diagram of a map matching device in accordance with the present embodiment.

    [0015] FIG. 3, comprising FIGS. 3A-3B, are illustrations depicting the functions of the map matching method and their corresponding relationships, in accordance with a present embodiment, wherein FIG. 3A depicts a system overview of the said map matching method and FIG. 3B depicts a functional flow chart of the said map matching method.

    [0016] FIG. 4 is a diagram depicting a state transition flow and Viterbi decoding method in accordance with the present embodiment.

    [0017] FIG. 5 is an example of an improved online Viterbi Decoding method for general cases in accordance with the present embodiments.

    [0018] FIG. 6 is a graph depicting example trends of information entropy of location measurements as time elapses in accordance with the present embodiment.

    [0019] FIG. 7, comprising FIGS. 7A-7F, are graphs depicting examples of the accuracies and latencies in accordance with the present embodiment with different location measurement sampling intervals, wherein FIG. 7A depicts a sampling interval of one observation sample per second, FIG. 7B depicts a sampling interval of one observation sample for every two seconds, FIG. 7C depicts a sampling interval of one observation sample for every three seconds, FIG. 7D depicts a sampling interval of one observation sample for every five seconds, FIG. 7E depicts a sampling interval of one observation sample for every ten seconds and FIG. 7F depicts a sampling interval of one observation sample for every fifteen seconds.

    [0020] FIG. 8, comprising FIGS. 8A-8B, are graphs depicting examples of accuracies in accordance with the present embodiment with different location measurement sampling intervals wherein FIG. 8A depicts measurement sampling intervals under fixed latency constraints of ten seconds and FIG. 8B depicts measurement sampling intervals under fixed latency constraints of fifteen seconds.

    [0021] Skilled artisan will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale.

    DETAILED DESCRIPTION

    [0022] The following detailed description is merely exemplary in nature and is not intended to limit the embodiments or the application and uses of the embodiments. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the embodiments or the following detailed description. It is the intent of this embodiment to present a map matching method which utilizes an optimal solid error and delay-bound trade-off analysis using a Hidden Markov Model in conjunction with a Viterbi decoding method.

    [0023] As used herein unless the context otherwise requires, a road network G(V, E) represents a finite street system which consists of a set of one way or two-way road curves, called road arcs, in two-dimensional Euclidean space. Each road arc e.sub.i(e.sub.iεE) is assumed to be piecewise linear and is characterized by a finite sequence of points A.sup.i=(a.sub.1.sup.i, a.sub.2.sup.i, . . . , a.sub.m.sup.i). The end points a.sub.1.sup.i and a.sub.m.sup.i are nodes belonging to a vertex set V. Other points in the middle are referred to as shape points and each road arc, e.sub.i, has properties such as speed constraints.

    [0024] A location trajectory L={l.sub.1, l.sub.2, . . . , l.sub.n} is a sequence of location measurements from localization sensors according to a time sequence, T={t.sub.1, t.sub.2, . . . t.sub.n}. Each location measurement l.sub.i includes longitude coordinates x.sub.i and latitude coordinates γ.sub.i. The ground truth of the position sequence data can be denoted as G.sub.1={t.sub.1, t.sub.2, . . . , t.sub.n} and their associated road arcs G.sub.e={γ.sub.1, γ.sub.2, . . . , γ.sub.n}, G.sub.eεE. The match point m.sub.i.sup.j of a location measurement sample point l.sub.i on a road arc e.sub.j is a point

    [00001] m i j = argmin m k j A j .Math. dist ( m k j , l i ) ,

    where dist(m.sub.k.sup.j, l.sub.i) provides the great circle distance between l.sub.i and any point on A.sup.j, including end points and shape points.

    [0025] Referring to FIG. 1, an illustration 100 depicts an example of a map matching problem in accordance with the present embodiment. The dots 102 including r1, r2 and r3 are measured raw location coordinates. The task of map matching is to find a true road that a moving object is on. However, it can be a challenging problem since either the trajectory represented as points including p.sub.1′, p.sub.2′ and p.sub.3′ 104 or the trajectory represented as points including {circumflex over (p)}.sub.1, {circumflex over (p)}.sub.2 and {circumflex over (p)}.sub.3 106 can be the actual driving path and it is difficult to determine by only analysing separate samples. Without prejudice to the generality of the foregoing, the present embodiment seeks to solve the problem as follows: given a network G(V,E), and trajectory information L and T, the present embodiment seeks to find a most likely path P={p.sub.1, p.sub.2, . . . , p.sub.n}, where α.sub.m.sup.i−1=a.sub.1.sup.i and P⊂E, where P is a subset of connected road arcs from G, along with each p.sub.i's mapping output time T′={t.sub.1′, t.sub.2′, . . . , t.sub.n′}.

    [0026] Referring to FIG. 2, a block diagram 200 of an exemplary device for map matching in accordance with the present embodiment may be used to facilitate execution of the above-described method for map matching. The exemplary device includes a processor 206 being configured to carry out the functions of the flowchart 326 and coupled to a GPS receiver 202 or any similar location data receiving device, a memory device 208 and a user interface 204. Although a single processor is shown for the sake of clarity, the device may also include a multi-processor system. The GPS receiver 202, hereinafter interchangeably referred to as a location receiving device 202, is coupled to the processor 206 to provide location data thereto. The location receiving device 202 is capable of producing location measurement points which may be in the form of coordinate points that can include latitude/longitude coordinates. The location receiving device 202 also includes at least one location sensor and at least one communication input/output for communicating with the processor 206. The location receiving device 202 may also include devices for processing, memory storage or display. The memory 208 may include a single or a plurality of volatile or non-volatile memory devices and can be used to store data from the processor or any predetermined data which can include road arcs in a road network. As shown in the diagram 200, the device also includes a display interface 204 which performs operations for rendering images to an associated display and/or provides a form of user interaction with the map matching device.

    [0027] Referring to FIG. 3, comprising FIGS. 3A-3B, are illustrations depicting the functions of the map matching method and their corresponding relationships, in accordance with a present embodiment, wherein FIG. 3A depicts a system overview of the said map matching method and FIG. 3B depicts a functional flow chart of the said map matching method. The map matching method as depicted in FIG. 3 may be performed by a device which is described with reference to FIG. 2. As seen in FIG. 3A, the system of the map matching method includes an input 302, functional modules 304 and 306 and an output 308. The input 302 includes location measurements and road network databases. The positioning data can be instantly uploaded since an application feature of the present embodiment includes latency applications and services. The output 308 can be a real time continuous output of road arcs. The road arcs can have bounded accuracy and latency levels. The functional modules 304, 306 of the map matching method in accordance with the present embodiment includes modelling of the road network state using Hidden Markov model 304 which has the benefit of coping with noisy environments and an online Viterbi decoding method 306 which, in accordance with the present embodiment, includes an improved accuracy-trade-off analysis feature. The flow of all functions of the map matching method is further elaborated by the flow chart 326.

    [0028] As seen in FIG. 3B, the flow chart 326 of the map matching method according to the present embodiment provides an overview of the functional flow of the map matching method in accordance with the present embodiment. General functions of the map matching method modelling in accordance with a Hidden Markov Model 312 and decoding in accordance with an online Viterbi decoding method 314 which is modified in accordance with the present embodiment to improve a selection accuracy and selection latency trade-off analysis 316. To accelerate the processing, the set of candidate states, which includes road arcs, is first reduced 310. A radial search method is an exemplary means to reduce the set of candidate road arcs by finding the candidate road arcs of a location measurement. Thereafter, the hidden Markov Model 312 models a hidden state transition model of the road arcs, and an observation emitted by the hidden state of the location measurement. Simultaneously, the Viterbi decoding method 314 is used to discover the hidden sequence which is most likely to have a given observation sequence. The hidden sequence includes a road arc sequence that is most likely to produce the collected location measurements. A selection accuracy and selection latency trade-off analysis 316 is used in tandem with the Viterbi decoding method 314 for improvement of the accuracy and latency aspect of the output. Selection accuracy and selection latency trade-off can be optimized by minimizing a cost function 320 such that the output is delayed by a delay time in response to an optimal trade-off between selection accuracy and selection latency. In one implementation, the selection accuracy of the map matching problem can be modelled as a decreasing function of the output's delay time and the selection latency is an increasing function of delay time.

    [0029] In accordance with the present embodiment, the selection latency and selection accuracy is initially determined. Selection accuracy 322 can be determined by information entropy of a probability distribution which includes the likelihood of each road arc being the matching road arc. For the selection latency to be determined, a trade-off parameter needs to be determined first 324. The selection latency is then determined by a function of the trade-off parameter and the delay time 318. The solution to this problem used at step 320 is accordingly based on a break-even algorithm which includes the output delay time being determined when the selection accuracy is equal to or less than the selection latency.

    [0030] Referring to FIG. 4, an illustration 400 depicts a view of a state transition flow diagram 412 and a Viterbi decoding method in the form of a trellis diagram 414. With respect to the framework of a Hidden Markov Model, the road arc travelling problem can be presented as a hidden state transition model 404 whereby the random variables e.sub.t and l.sub.t are hidden and observation states at time t, respectively. Random variables e.sub.t−1, l.sub.t−1 402 and e.sub.t+1, l.sub.t+1 406 are hidden and observation states at one sampling time interval before time t and one sampling time interval after time t, respectively. Every road arc e.sub.i can be modelled as a hidden state with each location measurement l.sub.t as an observation emitted by the hidden state. In the illustration 400, horizontal arrows 408 and vertical arrows 410 indicate two parameters in the model. The horizontal arrows 408 represent a transition probability between two consecutive hidden states. These transition probability arrows 408 quantify the likelihood that a vehicle is moving from road arc e.sub.t−1 to road arc e.sub.t to road e.sub.t+1. Each vertical arrow 410 represents an emission probability between the hidden state and the observation. The arrows 410 represent how likely the measurement l.sub.t can be observed if the vehicle is driving on a certain road arc.

    [0031] The online Viterbi method is depicted in the form of a trellis diagram 414. The diagram depicts all possible paths, denoted by lines from one candidate road arc to another, each denoted by a circle. The shaded circles together with their connecting lines represent the most likely paths outputted from the online Viterbi decoding method denoted by p.sub.t, p.sub.t+1 and p.sub.t−1. During the decoding phase, candidate arc paths can be sequentially generated and evaluated on the basis of likelihoods. The online Viterbi decoding method is used to find the maximum likely path over a Markov chain that has the highest joint emission/transmission probability within the latency bounded map matching.

    [0032] The map matching method can be modelled by transition, emission and initial probability as:


    λ=(custom-character,custom-character,π)  (1)

    The state set is E and the observation set is L. In the embodiments' model, the initial probability π.sub.i of being in state e.sub.i is defined as the emission probability at this state. The emission probability custom-character(l.sub.t) of observation l.sub.t from state e.sub.i is obtained by modeling the positioning measurement noise as a Gaussian distribution:

    [00002] i .Math. ( l t ) = ( l t | p t = e i ) = 1 σ .Math. 2 .Math. π .Math. e dist ( e i , l t ) 2 2 .Math. σ 2 ( 2 )

    where σ is the standard deviation of the positioning measurements. For example, when the input location observations are a sequence of GPS collected points, a standard deviation of ten meters can be used to estimate the noise distribution. The shortest distance from l.sub.t to the candidate road arc e.sub.i is represented by dist(e.sub.i,l.sub.t), which is the great circle distance on the surface of the earth between l.sub.t and its corresponding match point m.sub.t.sup.i.

    [0033] The distance differences between the observation pairs and match point pairs can be utilized to estimate the transition probabilities. Given two measurements l.sub.t−1, l.sub.t and their match points m.sup.i.sub.t−1, m.sub.t.sup.i, the transition probability of moving from e.sub.i to e.sub.j can be represented as:


    custom-character.sup.ij=custom-character(p.sub.t=e.sub.j|p.sub.t−1=e.sub.i)=β.sub.e.sup.−β∥d.sup.l.sup.−d.sup.m.sup.∥  (3)

    where d.sub.l is the great circle distance between two location measurements and d.sub.m is the shortest route distance from m.sub.t−1.sup.i to m.sub.t.sup.j.

    [0034] Within a dynamic window size, the model can be later decoded by the online Viterbi decoding method resulting in output p.sub.t={e.sub.k, e.sub.k+1, . . . , e.sub.i}, where {e.sub.k, e.sub.k+1, . . . } is the route path between e.sub.i−1 and e.sub.i and is determined by a selected state transition path. This subset of candidate road arcs is generated as the most likely path for given observation l.sub.t and guarantees that the output paths are connected. In the following description, the {e.sub.k, e.sub.k+1, . . . } part in equations is omitted while connecting paths in the real system are being tracked.

    [0035] Decoding can be used to discover the hidden state sequence that is most likely to have produced a given observation sequence. In the context of map matching, the present embodiment finds the road arc sequence that is most likely to generate the collected location measurements. The traditional Viterbi decoder method is a trellis method defined as


    δ.sub.t(i)=max.sub.p.sub.1.sub.p.sub.2.sub.. . . p.sub.t−1custom-character{p.sub.1,p.sub.2, . . . ,p.sub.t−1,p.sub.t=e.sub.i,l.sub.1,l.sub.2, . . . ,l.sub.t−1|λ}  (4)

    and gives the highest probability that a partial observation sequence and state sequence up to time step t can have when the current state is i. The initialization and recursion step of the decoding phase are defined as:


    δ.sub.1(i)=π.sub.icustom-character.sub.i(l.sub.1)  (5)


    δ.sub.t(j)=max.sub.1≦i≦N[δ.sub.t−1(i)custom-character.sup.ii]custom-character.sub.j(l.sub.t)  (6)

    where N is the cardinality of candidate state set S, S∪E. It is common that the scale of the road network being modeled, card(E), is relatively large, which leads to inefficiencies in decoding. The present embodiment narrows down the set of candidate states within S to accelerate the processing.

    [0036] At each time step, the probability distribution is normalized to ensure Σ.sub.j=1.sup.Nδ.sub.t(j)=1. The backtracking pointer of the selected hidden state at each step is as follows:

    [00003] ψ t ( j ) = arg .Math. max 1 i N [ δ t - 1 ( i ) .Math. t ij ] ( 7 )

    The procedure conventionally terminates when the last observation is received and decoded, thereby permitting the optimal path to be obtained by backtracking from the last matching result:

    [00004] p T = arg .Math. max 1 i N .Math. [ δ T ( i ) ] ( 8 ) p t = ψ t + 1 ( p t + 1 ) ( 9 )

    However, this conventional type of decoder is not suited for real-time systems since the optimal state sequence cannot be computed until the entire input has been observed. The tradeoff between the map matching accuracy and latency can be modelled by the online decoder as a ski-rental problem. In a ski rental problem, a skier may rent skis for R per day or buy them for B dollars. At the end of any day, the skier may break his legs along with the skis, or in some other way irrevocably finish skiing. The solution is to develop an online strategy minimizing the cost spent on skiing, where the cost is compared to the cost of an optimal offline strategy for the same input. The worst-case ratio between these two amounts is called a competitive ratio. The total cost of skiing, custom-character.sub.s is


    custom-character.sub.s=+B.sub.{circumflex over (t)}+R×{circumflex over (t)}  (10)

    where the skier decides to buy the skis in the evening of the {circumflex over (t)}.sup.th day.

    [0037] The present embodiment adopts a generalized ski-rental problem model with an inconstant buying price B.sub.t that changes over time. The present embodiment models the accuracy and latency penalty as the buying price and rental rate, respectively, to determine whether to remain in the current decoding state and pay a certain amount of latency cost per time, or output the present matching result and pay some large accuracy penalties but with no further delay penalty. Without loss of generality, the location observation l.sub.0 measured at t.sub.0 can be assumed to have matched the road network and l.sub.1 from t.sub.1 is currently under the decoding phase. Future information up to {circumflex over (t)} is observed and transferred to the Viterbi decoding function for joint probability computation of and l.sub.x and t.sub.x1. The Viterbi decoder needs to decide whether to output the matched result p.sub.1 at time {circumflex over (t)}. The delay of decoding l.sub.1 is {circumflex over (t)}−t.sub.1, which is similar to the rental rate that a skier has to pay before a buying decision. To better estimate the accuracy of the matching road arcs, the probability distribution δ.sub.t1,{circumflex over (t)}(j) can be leveraged to indicate the likelihood of each state e.sub.1 being the matching road arc. This is different from δ.sub.t.sub.1(j) as the system in accordance with the present embodiment advantageously injects future information into the inference chain. The variable, δ.sub.t.sub.1(j), can be calculated as follows, considering that the matching result p.sub.0 for the observation l.sub.0 has already been generated:

    [00005] δ t .Math. .Math. 1 ( j ) = max 1 i N .Math. [ δ 0 ( i ) .Math. t ij ] .Math. j ( l 1 ) ( 11 ) δ t .Math. .Math. 0 ( i ) = { 1 , if .Math. .Math. p 0 .Math. ε .Math. .Math. e i . 0 , otherwise . ( 12 )

    where the distribution of δ.sub.to is determined. With all future observations from t.sub.1 to {circumflex over (t)} present, therefore, it can then be obtained that:


    δ.sub.t1,{circumflex over (t)}(j)=Σ.sub.i=1.sup.Nδ.sub.{circumflex over (t)}(i)  (13)


    if ψ.sub.t1,{circumflex over (t)}(i)=j  (14)

    where ψ.sub.t1,{circumflex over (t)}(i) is the backtracking function from time frame {circumflex over (t)} to t.sub.1


    ψ.sub.t1,{circumflex over (t)}(i)=ψ.sub.t1(ψ.sub.t2( . . . ψ.sub.{circumflex over (t)}−2(ψ.sub.{circumflex over (t)}−1(i))))  (15)

    Thus, ψ.sub.t1,{circumflex over (t)} (i) is the sum of δ.sub.{circumflex over (t)} (j) where e.sub.j at time step t.sub.i and e.sub.j at time step {circumflex over (t)} are on the same candidate path connected by the Viterbi backtracking pointers. For each e.sub.jεS, δ.sub.t1,{circumflex over (t)}(j) presents the probability that l.sub.1 should be matched to e.sub.j after future observations up to {circumflex over (t)} are factored into the Hidden Markov model.

    [0038] If only one state is calculated with a significantly high probability and the other states' likelihoods are near zero, it can be deduced confidently that this state is the matching road and this road arc can be generated as the output label. To describe the distribution characteristics and incorporate this into the decoding procedure in accordance with the present embodiment, an information entropy of δ.sub.t1,{circumflex over (t)}(j) represented as custom-character(t.sub.1, {circumflex over (t)}) can be used as a proxy of the accuracy penalty as follows:


    custom-character(t.sub.1,{circumflex over (t)})=−Σ.sub.j=1.sup.Nδ.sub.t1,{circumflex over (t)}(j)log δ.sub.t1,{circumflex over (t)}(j)  (16)

    The entropy custom-character(t.sub.1, {circumflex over (t)}) is a logarithmic measurement of the number of states with significant probability of being occupied, which indicates the degree of uncertainty at time step t.sub.1 after receiving future observations up to {circumflex over (t)}. In accordance with the definition of the entropy function, the larger the value custom-character is, the higher the uncertainty of this outcome state can be. The highest entropy outcome can be achieved when δ.sub.t1,{circumflex over (t)}(j) is evenly distributed among all candidate states. On the other hand, if custom-character is close enough to zero, it means that one outcome state is certain within the candidate space. This plays the same role as the buying price B.sub.t in the ski-rental model. Therefore, in accordance with the equation, custom-character.sub.s=B.sub.{circumflex over (t)}+R×{circumflex over (t)}, the objective cost function can be derived as the sum of the accuracy penalties and delay penalties,


    custom-character.sub.s=custom-character(t.sub.1,{circumflex over (t)})+γ({circumflex over (t)}−t.sub.1)  (17)

    where γ is the parameter to control the trade-off between the accuracy gain and delay cost. If the real-time system is extremely sensitive to the latency, a larger value of γ can be chosen. Likewise, if the monetary cost of false road matching is expensive, a smaller γ can be considered to penalize the accuracy part.

    [0039] Similar to using the ski-rental model to determine the buying date, a strategy in accordance with the present embodiment is formulated to decide at which {circumflex over (t)} the matching result arg max.sub.j[δ.sub.t1,{circumflex over (t)}(j)] can be outputted without further delay. Thus, the online system needs to choose an appropriate label generation time {circumflex over (t)} to minimize the cost.

    [0040] The delay cost can accumulate linearly like a monotonically increasing function. If the accuracy penalty custom-character(t.sub.1, {circumflex over (t)}) changes arbitrarily over time, its sum custom-character can be difficult to minimize or even analyse. Thus an assumption can be made that given t.sub.1, custom-character is a monotonically decreasing function of variable {circumflex over (t)}. The physical meaning of this assumption is that it is likely the uncertainty of the state outcome at a certain time step would decrease as a growing number of future observations are analysed within the decoding procedure. Therefore, minimizing the sum of a decreasing function and an increasing function is needed. Similarly, while choosing the time point {circumflex over (t)} when custom-character(t.sub.1, {circumflex over (t)}) is equal or less than the value of γ({circumflex over (t)}−t.sub.1), the matching road is outputted. This algorithm is used to adaptively adjust the window size based on the uncertainty of the state matching. If the uncertainty degree is high, the algorithm should extend the window size to absorb more future location observations before generating the road arc label. Conversely, if the initial custom-character value is low enough or the function custom-character drops rapidly, the window can become smaller and the matching output can be generated sooner.

    [0041] FIG. 5 is a pseudo code example 500 of the improved online Viterbi Decoding method in accordance with the present embodiment for general cases. The “+” operator on line 10 adds a new output to the global sequence. P and T′ can be implemented as a pipe with capacity of 1, so that once a new output p.sub.i is generated, it can be consumed by an upstream real-time application immediately, and the latency is t.sub.i′−t.sub.i.

    [0042] To better illustrate the advantage of the improved online decoding algorithm in accordance with the present embodiment, a theoretical competitive and upper-bound analysis can be presented for accuracy and latency, respectively. The competitive ratio of the decoder in accordance with the present embodiment determines the worst-case ratio between the cost of the solution found by the online decoding algorithm and the cost introduced by an optimal solution. Assume for a given l.sub.i received at t.sub.i, the present method generates a respective road arc label at time t. Two situations need to be considered when analysing the worst case: the actual optimal output time step T.sub.o<t and T.sub.o>t. The cost of the optimal solution is represented as custom-character(t.sub.i,T.sub.0)+γ(T.sub.0−t.sub.i). If T.sub.o<t, even with more measurements adopted, the cost decrease due to the accuracy penalty custom-character does not make up for the cost increase caused by the latency penalty. In other words, the concentration expectation of the state distribution based on future observations cannot be achieved. The worst case is when custom-character(t.sub.i, t.sub.i)=custom-character(t.sub.i, t)+ε where ε is a real number approaching zero for which ε cannot be zero since custom-character is a monotonically decreasing function, and the optimal output is T.sub.0=T.sub.i. The optimal solution can output the map matching result immediately since future observations do not influence the decoding process for achieving no latency penalty due to the cost function,


    custom-character(t.sub.i,T.sub.0)=custom-character(t.sub.i,t.sub.i)=custom-character(t.sub.i,t.sub.i)  (18)

    Since the present method can generate a road arc result at t and not t−1, hence,


    custom-character(t.sub.i,t)<γ(t−t.sub.i)  (19)


    custom-character(t.sub.i,t−1)>γ(t−1−t.sub.i)  (20)

    In addition, custom-character(t.sub.i, t)−custom-character(t.sub.i, t−1)<ε<γ, and, therefore, it can then be obtained that


    γ(t−1−t.sub.i)<custom-character(t.sub.i,t)<custom-character(t.sub.i,t.sub.i)  (21)

    Thus, the cost function of the method in according to the embodiments is

    [00006] ( t i , t ) = .Math. ( t i , t ) + γ ( t - t i ) = .Math. ( t i , t i ) + γ ( t - 1 - t i ) + ε + γ < ( 23 ) .Math. ( t i , T 0 ) + ( t i , T 0 ) + ε + γ ( 24 ) = .Math. 2 .Math. .Math. ( t i , T 0 ) + ε + γ ( 25 ) ( 22 )

    If T.sub.o>t, the worst case is that T.sub.o=t+1 and custom-character(t.sub.i,T.sub.0)=0 because this is the lowest value pair for both penalties and all other cases would achieve a higher custom-character(t.sub.i,T.sub.0). Thus, the cost of the optimal solution is,

    [00007] ( t i , T 0 ) = .Math. ( t i .Math. t + 1 ) = .Math. ( t i , t + 1 ) + γ ( t + 1 - t i ) > ( 27 ) .Math. γ ( t - t i ) + ( t i , t ) 2 + γ > ( 28 ) .Math. ( t i , t ) 2 .Math. ( 29 ) ( 26 )

    Therefore, the cost with respect to the present method, custom-character(t.sub.i, t), will not be more than twice the cost introduced by all other solutions plus a constant, and the present method utilizing the improved online decoder is a two-competitive algorithm.

    [0043] The improved online decoding method in accordance with the present method can also be shown to be latency-bounded. Firstly, an assumption needs to be made at time t for which the algorithm has not generated the road arc output for a given measurement l.sub.i. Since the break-even condition is adopted, then custom-character(t.sub.i,t)>γ(t−t.sub.i). In addition, custom-character is a monotonically decreasing function and t>t.sub.i because map matching cannot be performed without receiving the measurement. Hence, custom-character(t.sub.i, t)>custom-character(t.sub.i,t.sub.i). By the transitive property of inequalities, it can be obtained that γ(t−t.sub.i)<custom-character(t.sub.i,t.sub.i). Therefore, the upper-bound of the map matching delay of l.sub.i is custom-character(t.sub.i,t.sub.i)/γ+t.sub.i which is only determined by the characteristic δ.sub.t.sub.i. Thus, an advantage of the present method is that the matching process of every incoming observation can terminate even if the entire measurement input is infinite.

    [0044] To allow the decoding process to be more efficient, the range of candidate states card(S) in the Hidden Markov model can be narrowed. An exemplary application in accordance with the present embodiment pertains to vehicles. Generally, the current location measurement (except the first one) should not be too far away from the previous location measurement as vehicles usually drive at a limited speed during the time interval between two consecutive samples. As it can be highly possible that all candidate road arcs of the current location observation fall into a small area around the previous sample point, a radial search method to find the candidate road arcs of a location measurement point is used in accordance with the present embodiment instead of using a traditional range query. Thus, the present method can utilize topological information of a road network to radially check each candidate road arc in the vicinity while employing the speed constraints of previous road arcs to limit the search scope.

    [0045] To evaluate the technical advantages of the present embodiment, it is compared against two alternative prior implementations of the Viterbi algorithm, namely the fixed segment and sliding window methods. Another implementation, a convergence state discovery method, always generates an optimal solution, identical to the offline decoder result in accordance with the present embodiment but does not guarantee any upper bound delay and, therefore, usually involves a long latency (typically on the order of minutes). Hence, that implementation is not applicable to real-time services and has not been considered as a comparative implementation. The evaluation of the present embodiment versus the fixed segment and the sliding window Viterbi algorithm methods utilizes a public real-world dataset collected in Seattle, Wash. USA which includes a relevant road network, GPS trajectory data, and ground truth. The road network comprises more than 150,000 road arcs. The raw GPS trajectory data is a 50-mile route in Seattle which is sampled at 1 Hz and took around two hours to drive, giving 7,531 time-stamped latitude/longitude pairs. The ground truth contains a sequence of road arcs with the directions in which the vehicle actually travelled. Since the exact actual location of the vehicle in the road network corresponding to each GPS sample point is not possible to be determined, only the path taken by the vehicle is viewed as the ground truth. Two evaluation aspects, namely accuracy and latency, are the focus of the evaluation. The underlying Hidden Markov model parameters, σ and β, are also adopted.

    [0046] In this context, the candidate state space reduction method in accordance with the present embodiment utilizes a radial search method to reduce the set of road arcs and the candidate state size parameter can be set at α=1.8. This leads to the property that only a small set of candidate states e.sub.j share the matching probability and the distribution can concentrate more quickly than in the case where the whole road network is used as the candidate set. The information entropy, which is considered as the accuracy penalty proxy in the present method, is calculated for every location measurement in the scope of the whole trip. For each measurement l.sub.i, its entropy value changes are recorded and updated when future observations l.sub.i+1, l.sub.i+2, . . . , l.sub.n are received.

    [0047] Referring to FIG. 6, a graph 600 depicts example trends of the location measurement's information entropy as time elapses (one new observation received at every time step). The values of entropy function custom-character is relatively high 602 when only the current measurement is received and no future observation is incorporated into the model. The entropy values 602 indicate the difficulty of generating a matching result immediately. As time increases, custom-character becomes a monotonically decreasing function 604 which is in accordance with the assumptions described previously.

    [0048] If the value of custom-character increases as the time step moves forward for a given l.sub.i, the entropy function is not a monotonically decreasing function, and the time step is recorded where the entropy value increases as the increasing point. Among the entire trajectory dataset, 91.53% of the measurements' entropy functions are monotonically decreasing. In addition, 5.52% of the measurements' entropy functions' increasing point appears after receiving more than four hundred future observations in the remaining part of the dataset. Hence, the system is very likely to have already passed the break-even point before seeing such a large number of future observations. In other words, 97.05% of the measurements' entropy functions are actually decreasing if the delay of a system is limited to less than four hundred seconds, which is a reasonable setting in the context of a real-time system. Additionally, if the real-time system only considers future observations within the range of fifty samples, 100% of custom-character are actually decreasing. This result shows the underlying logic that when more future observations are incorporated into the decoding model, determination of the road which the vehicle is driving on can be more certain.

    [0049] To illustrate the trade-off between the matching accuracy and the latency, the present embodiment and the fixed segment and sliding window methods are compared with respect to the Seattle trajectory dataset with different γ values and window sizes, co. Different sampling periods are also considered to show the robustness of the embodiment's method under different location measuring rates. The γ value is adjusted from 0.01 to two to tune the trade-off between the road arc mismatch rate and delay time. The parameter ω varies according to the change of the location measurement sampling intervals. For example, in order to obtain an accuracy change from no delay at all to a latency of 120 seconds, the ω value can be tuned from zero to 120 for the fixed sliding window method, and from one to 241 for the fixed segment method, with a sampling period of one second. This is because the fixed segment method can generate labels for all location observations within the current window at once (when the window is full), so that the location measurements in the second half of the window have lower effective latency than the location measurements in the first half. The road arc label of the last location observation in the window is matched and generated by the fixed segment method immediately, without any latency regardless of the window size. Thus, the average effective latency among the observations can be considered within the same window,

    [00008] ω - 1 2 × sampling .Math. .Math. period ,

    as the average latency. Similarly, when the sampling period becomes ten seconds, ω value can be from zero to twelve, for fixed sliding window, and from one to twenty-five for fixed segment method, respectively, to compute the mismatch percentage trend from no delay to a latency of 120 seconds. The matching accuracy is measured by a Route Mismatch Fraction (RMF). This fraction is the total length of a false positive route in P and a false negative route in G.sub.e divided by the length of the original route. RMF in percentage is reported for each experiment and a higher RMF result indicates more erroneous road arcs are generated by the online map matching algorithm

    [0050] Referring to FIG. 7, comprising FIGS. 7A-7F, graphs 700, 710, 720, 730, 740 and 750 depicts examples of accuracies (in RMF) and latencies (in seconds, from zero to 120 seconds) of the present method with different location measurement sampling intervals, wherein the graph 700 depicts a sampling interval of one observation sample per second, the graph 710 depicts the sampling interval of one observation sample for every two seconds, the graph 720 depicts the sampling interval of one observation sample for every three seconds, the graph 730 depicts the sampling interval of one observation sample for every five seconds, the graph 740 depicts the sampling interval of one observation sample for every ten seconds and the graph 750 depicts the sampling interval of one observation sample for every fifteen seconds. The lines 702, 704, 706 in FIG. 7, represent the accuracy vs latency performance of the fixed segment (FS) method, the fixed sliding window (FSW) method and the present method respectively. Firstly, all figures show an overall declining trend of road arc mismatch fraction as less error results are generated if more future location observations are analysed within the Hidden Markov Model. Second, the output quality of the fixed segment method is much less stable than the other two methods. Although the general trend of the fixed segment method is descending as well, more fluctuations arise when the latency increases. In contrast, the fixed sliding window method and the present method have the advantage that they are more stable, which means the matching results are confidently expected to be more accurate if more future information is provided. Essentially, the plotting lines in all graphs in FIG. 7. representing the present method show that the RMF of the method in according to with the present embodiment is mostly below the fixed segment method and the fixed sliding window method for the same average matching latency. Similarly, this also means that the present method can advantageously achieve the shortest latencies with the same accuracy constraints. Moreover, the RMF value of the present method settles to zero much earlier than either the fixed segment method or the fixed sliding window method under different sampling rates. This means that the method in accordance with the present embodiment can advantageously achieve a stable 100% accuracy of the road arc generation results with a much shorter latency.

    [0051] Referring to FIG. 8, comprising FIGS. 8A-8B, graphs 800 and 810 depict examples of the accuracy of the present method with different location measurement sampling intervals wherein the graph 800 depicts measurement sampling intervals under a fixed latency constraint of ten seconds and the graph 810 depicts measurement sampling intervals under a fixed latency constraint of fifteen seconds, illustrating the online map matching accuracy improvements. The lines 802, 804 and 806 in FIG. 8, represent the accuracy vs latency performance of the fixed segment (FS) method, the fixed sliding window (FSW) method and the present method, respectively. The plotting lines in all graphs in FIG. 8 representing the present method prove that the route mismatch fraction in accordance with the present method is substantially below the fixed segment method and the fixed sliding window method for the same location sampling period. This means that the present method (i.e., the method in accordance with the present embodiment) advantageously generates less error.

    [0052] Thus, the present embodiment combining a real time Hidden Markov Model-based map matching method with an improved online Viterbi decoding approach provides an optimal solution to minimize the trade-off between selection latency and selection accuracy. This advantageous method minimizes the trade-off between selection latency and selection accuracy resulting in a stable 100% accurate road arc generation with a much shorter latency and is, advantageously, also capable of dynamically selecting the window size according to characteristics of the candidate state probability distribution. While exemplary inventions have been presented in the foregoing detailed description of the embodiments, it should be appreciated that a vast number of variations exist.

    [0053] It should further be appreciated that the exemplary inventions are only examples, and are not intended to limit the scope, applicability, operation, or configuration of the embodiments in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiments of the embodiments, it being understood that various changes may be made in the function and arrangement of elements and method of operation described in an exemplary embodiments without departing from the scope of the embodiments as set forth in the appended claims.