370 likes | 2.39k Views
Presentation Topics. Introduction System Description System Components Speech Technology Positioning Technology Weighted Graph Algorithm Implementation System Design Managing Data Structuring Code Perspectives in the PDCS Relevant Links. Introduction.
E N D
Presentation Topics • Introduction • System Description • System Components • Speech Technology • Positioning Technology • Weighted Graph Algorithm • Implementation • System Design • Managing Data • Structuring Code • Perspectives in the PDCS • Relevant Links Position Dependent Communication System
Introduction • The Position Dependent Communication System (PDCS) is a location-based service (push/pop) incorporating both positioning and speech technology. • The PDCS is an object-oriented project • Since the PDCS is a prototype, it must be possible easily to change and expand the existing code • Relevant design patterns have been implemented • Unified Modeling Language (UML) and Javadoc have been used to document the project Position Dependent Communication System
System Description The destination is recognized by a speech recognizer The physical position is tracked by a positioning server The route (shortest path) is computed The route is communicated to the user on a map as well as a synthetic speech telling in which direction to go The PDCS is an open source prototype documented in javadoc Position Dependent Communication System
System Components Speech Technology • Speaker-dependent versus speaker-independent recognition • Isolated-word versus continuous-speech recognition (c.f. grammar) • Quiet versus noisy environment The following features must be taken into account: Position Dependent Communication System
Java Speech API (JSAPI) • IBM Speech for Java (implementation of the JSAPI) • IBM ViaVoice (speech engine providing both speech recognition and synthesis) The XML based Java Speech Markup Language (JSML) makes the synthesized speech sound more natural, while the Java Speech Grammar Format(JSGF) is a dictation grammar used by the speech recognizer. Position Dependent Communication System
Positioning Technology Wireless Local Area Network (WLAN) Ekahau Manager includes calibrator functionality (recording signal strengths from access points) Ekahau Positioning Engine Ekahau Client Position Dependent Communication System
Weighted Graph Algorithm Arbitrary relationships among data objects can be expressed in a weighted graph model. An example of a directed weighted graph (in the PDCS the weighted graph is undirected) could be as follows: V = {1, 2, 3, 4} E = {(1, 2), (1, 3), (2, 4), (3, 2), (4, 3)} G = (V, E) w(1, 2) = 7, w(1, 3) = 1, w(2, 4) = 5, w(3, 2) = 2, w(4, 3) = 9 Position Dependent Communication System
System Design Implementation • TCP versus UDP • Position processing at the Ekahau Positioning Engine • Speech processing on the client side • Database requests on the server side Position Dependent Communication System
PDCS model The PDCS model consists of both a physical and logical model (c.f. terminology) Position Dependent Communication System
Managing Data The PDCS model is directly related to the data in the database: • The physical model corresponds to the Floor, Room and Door tables in the database • The logical model corresponds to the AbstractPosition and Distance tables in the database Position Dependent Communication System
Database and pipeline services The first pipeline structure above produced an IndexOutOfBoundsException when going into room 3.10, because both 16, 17 and 18 were returned as abstract positions. select roomId from Area where floorId = 2 and xStart < 3000 and xEnd > 3000 and yStart < 1000 and yEnd > 1000; select areaId from Area where roomId = "3.10"; Position Dependent Communication System
mysql> select * from Area; +--------+---------+--------+--------+--------+------+------+ | areaId | floorId | roomId | xStart | yStart | xEnd | yEnd | +--------+---------+--------+--------+--------+------+------+ | 1 | 2 | NULL | 954 | 690 | 1428 | 1212 | | 2 | 2 | NULL | 954 | 1212 | 1428 | 1436 | | 3 | 2 | NULL | 1428 | 1212 | 1912 | 1436 | | 4 | 2 | NULL | 1912 | 1212 | 2400 | 1436 | | 5 | 2 | NULL | 2400 | 690 | 2872 | 1186 | | 6 | 2 | NULL | 2400 | 1186 | 2666 | 1436 | | 7 | 2 | NULL | 2666 | 1186 | 2872 | 1436 | | 8 | 2 | NULL | 2872 | 1186 | 3628 | 1436 | | 9 | 2 | NULL | 3628 | 1186 | 4138 | 1436 | | 10 | 2 | NULL | 4138 | 1186 | 4794 | 1436 | | 11 | 2 | NULL | 4794 | 690 | 5038 | 824 | | 12 | 2 | NULL | 4794 | 824 | 5266 | 1186 | | 13 | 2 | NULL | 4794 | 1186 | 5266 | 1436 | | 14 | 2 | 3.08 | 954 | 0 | 1912 | 690 | | 15 | 2 | 3.09 | 1912 | 0 | 2872 | 690 | | 16 | 2 | 3.10 | 2872 | 0 | 3342 | 1186 | (…) select areaId from Area where roomId = ”3.09”; select areaId from Area where floorId = 2 and xStart < 2000 and xEnd > 2000 and yStart < 500 and yEnd > 500; 15 will be returned as the areaId in both cases! Position Dependent Communication System
Structuring Code • Dividing the classes into packages makes it easier to debug, while each package can be tested individually (c.f. each package can be considered as a plug-in) dk.funkenstein.graph dk.funkenstein.service dk.funkenstein.position dk.funkenstein.protocol dk.funkenstein.speech dk.funkenstein.model.physical dk.funkenstein.model.logical Using documentation Position Dependent Communication System
Perspectives in the PDCS • Making the PDCS prototype run on a PDA • Loading new package (grammar, physical and logical model) during run-time • The static data (c.f. destination) could be extended with dynamic data (c.f. other users) • The map (c.f. PDCS model) must be constructed automatically instead of manually • Enrolment of each user • Scaling the PDCS by making the logical model hierarchic Position Dependent Communication System
Relevant Links PDCS download http://www.funkenstein.dk/thesis.html Speech Technology http://www.itu.dk/courses/TKG/E2003/index.html http://java.sun.com/products/java-media/speech/ http://www.alphaworks.ibm.com/tech/speech http://www-106.ibm.com/developerworks/ibm/library/i-voice/ Positioning Technology http://positionserver.itu.dk:8000/ http://www.ekahau.com/ Position Dependent Communication System