Implementation of Intelligent Multimedia...
Transcript of Implementation of Intelligent Multimedia...
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 1
W J McDevitt & G J McGlinchey
COM-556 Assignment-2:
Implementation of Intelligent Multimedia Interface
Thursday 30th April 2009
W J McDevitt – B00362059 G J McGlinchey – B00362061
Lecturer:
Professor Paul McKevitt
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 2
W J McDevitt & G J McGlinchey
Acronyms CSLU Centre for Spoken Language Understanding HCI Human Computer Interaction RAD Rapid Application Developer TCL Tool Command Language UML Unified Modeling Language
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 3
W J McDevitt & G J McGlinchey
Table of Contents Acronyms .................................................................................................................... 2 List of Figures .............................................................................................................. 4 List of Tables ............................................................................................................... 5 Abstract ....................................................................................................................... 6 Deliverables ................................................................................................................ 6 1 Introduction .......................................................................................................... 7
1.1 Aims and Objectives...................................................................................... 8 1.2 Overview of Chapters .................................................................................... 8
2 Background & Literature Review ........................................................................ 10 2.1 Intelligent Multimedia ................................................................................... 10 2.2 Related Papers ........................................................................................... 10 2.3 CINEMAX .................................................................................................... 11 2.4 CSLU Toolkit ............................................................................................... 11 2.5 CLSU tools and technologies ...................................................................... 12
3 Requirements Analysis ....................................................................................... 14 3.1 Functional User Requirements .................................................................... 14 3.2 Functional System Requirements ................................................................ 14 3.3 Non-functional User Requirements .............................................................. 15 3.4 Non-functional System Requirements ......................................................... 15 3.5 System Hardware and Software Requirements ........................................... 16
4 Design ................................................................................................................ 17 4.1 User use case diagram ............................................................................... 18 4.2 System use case diagram ........................................................................... 19 4.3 Storyboard .................................................................................................. 20
5 Implementation ................................................................................................... 21 5.1 Hardware/ Software Configuration ............................................................... 21 5.2 Main and sub dialogue toolkit maps ............................................................ 21
5.2.1 Main system toolkit map ....................................................................... 22 5.2.2 Tickets sub-dialogue ............................................................................ 22 5.2.3 Film information sub-dialogue .............................................................. 23 5.2.4 Food sub-dialogue ............................................................................... 23 5.2.5 Quiz sub-dialogue ................................................................................ 24
6 Testing ............................................................................................................... 26 6.1 White Box Testing ....................................................................................... 26 6.2 Black Box Testing ....................................................................................... 26 6.3 Unit Testing ................................................................................................. 26 6.4 Test Plans ................................................................................................... 26 6.5 Additional Testing and feedback.................................................................. 27 6.6 Summary of testing process ........................................................................ 27
7 Conclusion & Critical Analysis ............................................................................ 28 7.1 Conclusion .................................................................................................. 28 7.2 Critical analysis ........................................................................................... 28 7.3 Future work ................................................................................................. 28
References ................................................................................................................ 29 Appendix A - Transcripts of the three test runs .......................................................... 30
Test run one ....................................................................................................... 30 Test run two ....................................................................................................... 31 Test run three ..................................................................................................... 32
Appendix B: Test Cases ............................................................................................ 33 APPENDIX C -Object list ........................................................................................... 38
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 4
W J McDevitt & G J McGlinchey
List of Figures Figure 1 CSLU toolkit outline - CSLU Toolkit (2002) .................................................. 12 Figure 2: User Use Case Diagram ............................................................................. 18 Figure 3: System Use Case Diagram ........................................................................ 19 Figure 4: Storyboard .................................................................................................. 20 Figure 5: CSLU toolkit map of final working system ................................................... 22 Figure 6: Tickets sub-dialogue map ........................................................................... 22 Figure 7: Film information sub-dialogue map ............................................................. 23 Figure 8: Food sub-dialogue map .............................................................................. 23 Figure 9: Trivia quiz sub-dialogue map ...................................................................... 24 Figure 10: Basic objects that ship as part of the CSLU Toolkit .................................. 24
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 5
W J McDevitt & G J McGlinchey
List of Tables Table 1: System hardware and software requirements .............................................. 16 Table 2: Implementation Hardware and Software ...................................................... 21 Table 3: The main CLSU objects used in the CINEMAX system ............................... 25
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 6
W J McDevitt & G J McGlinchey
Abstract The aim of this project is to develop and implement an interactive speech-
based application, for the purpose of providing a cinema seat booking system.
The idea behind the system is to allow public kiosks to be installed in local
shopping areas, where members of the general public could pre-book cinema
seats and a cinema style food pack for eating during the film, just by
communicating to the system and telling it what they wanted and answering
any questions the system may have.
A discussion then follows on the lifecycle of the project including objectives,
requirements analysis, design, implementation, testing and finally a review of
the CINEMAX system that will show the benefits of using a spoken language
application.
The application that was created uses many of the features available in the
CLSU toolkit to enable a user to communicate with the CINEMAX system to
review the current films, book seats at the cinema for a particular film, choose
the typical cinema food to be made up into a pack for collection and finally pay
for all the items in advance so that when the user turns up at the cinema there
is minimal waiting or queuing.
Deliverables A report documenting background research in the field of intelligent
multimedia, when applied to the defining the aims and objectives,
requirements analysis, design, implementation, testing and finally a
review of the CINEMAX system
An implementation of the CINEMAX system using the CSLU toolkit
Rapid Application Developer.
Presentation of the final application by both the team members.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 7
W J McDevitt & G J McGlinchey
1 Introduction This chapter will give an introduction into spoken application development and
will then go on to list the project aims and objectives closing with a summary of
each of the chapters in the report.
Companies are always looking at reducing costs especially in the current
economic environment one of the biggest costs to a company is staff, those
companies with a chain of cinemas are no exception. This paper describes a
cinema seat booking system designed as a kiosk which customers can use at
local shopping areas prior to going to the cinema to pre-book cinema seats and
food. For the cinema company this means that machines could handle the
entire ticketing process and staff could prepare food packs in advance and
even out the work load rather than havening peak and troughs in workload.
The benefits also rollover to the customer because there is no waiting when
they arrive they just put their credit card into a machine and that validates the
transaction and prints out the cinema seat tickets and a ticket to collect the
food pack.
A dialog system is a term given to a computer system that is designed to converse
with a human being, they typically are made up of a speech recogniser which
acts as the input device, a language processing device which converts the
input to something meaningful that it can understand and then using the
database a reply is generated and returned through the output device such as
a graphical interface tied to a speech generator.
The CSLU Toolkit, is an example of a dialogue system, it is discussed in detail
later in this report and was also used to create the final CINEMAX system in
this project. The aim of the group who created it was to develop a system that
would further develop the field of human computer interaction (HCI) and
dialogue systems in education and basic research programmes.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 8
W J McDevitt & G J McGlinchey
1.1 Aims and Objectives The aim of this project is the design and implementation of a speech driven
cinema booking system known as “CINEMAX”. The main objective of the
system is game is to develop a cinema seat booking system that can be
installed in a kiosk that will enable users with no computing skills to use the
system just by talking to it and telling it what they want and answering any
questions it may have.
It is also hoped that using this novel approach my also help with cinema sales
therefore it must have a simple and easy to use interface otherwise it may fail
and therefore it will end up costing the company money who intended it as a
means to reduce staff costs.
1.2 Overview of Chapters This section gives a summary of the report broken down into its seven
chapters.
Chapter 2 Background & Literature Review This chapter is concerned with the background research conducted into
Intelligent Multimedia and its implications for the design of CINEMAX. It also
reviews the CSLU toolkit, the software used to develop the CINEMAX system. Chapter 3 Requirements Analysis This chapter is concerned with identifying all the requirements for the
CINEMAX system; these include the hardware, software, functional, non-
functional, user and system requirements.
Chapter 4 Design This chapter is concerned with the conversion of the information gathered
during the requirements analysis phase into a design specification for
CINEMAX utilising industry standard human computer interaction (HCI)
guidelines.
Chapter 5 Implementation This chapter is concerned with the conversion of the design into the working
CINEMAX system.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 9
W J McDevitt & G J McGlinchey
Chapter 6 Testing This chapter is concerned with the testing process of the CINEMAX system
namely the techniques and tests used to verify that it works as required.
Chapter 7 Conclusion & Critical Analysis This chapter provides a conclusion and critical analysis of the system covering
issues, problems and opportunities for improvement.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 10
W J McDevitt & G J McGlinchey
2 Background & Literature Review This chapter is concerned with the background research conducted into
Intelligent Multimedia and its implications for the design of CINEMAX. It also
reviews the CSLU toolkit, the software used to develop the CINEMAX system.
2.1 Intelligent Multimedia Multimedia deals with providing a response to some input to a computer
system, however the field of intelligent multimedia or IntelliMedia relates to how
humans and computer systems can interact not only using normal input
methods such as the keyboard and mouse but goes further by taking the
interaction and attempting to understand the context by processing the
semantic representations of the actual text, movement, speech or visual input.
Intelligent Multimedia continues to grow and it is almost the norm now to
expect a system that can handle multimodal, (more than one), input for
example speech and movement and then give a multimodal reply. This is
summarised very well by the quote; “IntelliMedia, which involves the computer
processing and understanding of perceptual input from at least speech, text
and visual images and then reacting to it, is complex and involves signal and
symbol processing techniques from not just engineering and computer science
but also artificial intelligence and cognitive science” (McKevitt, 1994)
2.2 Related Papers There are a number of papers that are of interest or relate directly to the
CINEMAX system, these include components that use speech to interact with
a system and gestures from a system while giving a reply.
The Smartkom system dealt with the capture of the human interaction through
a multimodal approach namely by taking input from three sources namely a
microphone for speech, a facial expressions camera and a camera to
recognize gestures.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 11
W J McDevitt & G J McGlinchey
The Behaviour Expression Animation Toolkit (BEAT) was a system that takes
typed input and the system then processes the input by applying the necessary
linguistic and contextual information so that the animated character says the
input sentence with the appropriate voice intonation as well as hand arm and
face gestures.
The importance of linking language and behaviour to show intelligent
behaviour is discussed in Srihari’s paper on the “Computational Models for
Integrating Linguistic and Visual Information”, this is important in the CINEMAX
system as it is intended to replace a human with a machine.
Bolt’s paper titled “Put – That - There”: Voice and Gesture at the Graphics
Interface” was reviewed however was not really relevant to this system while it
focuses on speech recognition it does so in the context of linking speech
recognition and position sensing.
2.3 CINEMAX The CINEMAX system is an interactive speech-driven system; this means that
while there are visual prompts displayed on screen at each stage of the
process all interaction with the system is by the use of voice, to the extent that
no mouse or keyboard is required to navigate through the system.
The reason that it was decided not to use a keyboard or mouse was to make it
more natural namely if you are at the cinema the attendant asks you what you
want and you tell them, you do not type your reply using a keyboard.
Additionally this builds on work done by the authors in this field and the subject
matter of the COM556 module.
2.4 CSLU Toolkit The CSLU Toolkit (Centre for Spoken Language Understanding) was
developed in the research centre at Oregon Graduate Institute of Science and
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 12
W J McDevitt & G J McGlinchey
Technology in 1992. It was developed to provide a framework for developers
to research the area of interactive language systems and uses graphical
authoring tools that makes development of applications relatively easy as little
or no programming knowledge is required.
Figure 1 gives an overview of the CSLU toolkit. It shows the main toolkit
components and the typical end uses of the technology.
Figure 1 CSLU toolkit outline - CSLU Toolkit (2002)
2.5 CLSU tools and technologies The CSLU provides a number of tools and technologies to develop an
application these include:
Speech recognition and synthesis
The system has the ability to not only recognise speech as an input but carry
out text-to-speech conversion and convert text input to synthetic speech
output. Similar to the facial animation this synthetic speech can be
personalised to suit the creator’s style or the application end use for example
by using a male or female voice
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 13
W J McDevitt & G J McGlinchey
Facial animation
To make the system more human like the system provides a number of
realistic animated characters with facial expressions and movements that can
be personalised to suit the creator’s style or the application end use.
Authoring tools
Rapid Application Developer (RAD) is a tool that uses a drag-and-drop
interface to quickly design and build a speech application
Programming environment
The main programming environment is done using the Tool Command
Language (TCL). TCL is a scripting language that allows programmers to write
in a format similar to Lisp and use regular expressions however it also comes
with a large library and application interfaces to support application
development. The system also supports the use of C and even Prolog and is
designed to run on various operating systems in use today.
Waveform analysis tool
The system provides the ability to record and manipulate speech displayed
graphically as waveforms.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 14
W J McDevitt & G J McGlinchey
3 Requirements Analysis This chapter is concerned with identifying the design requirements that the
CINEMAX system should provide, what it should and should not do . These
requirements include the hardware, software, functional, non-functional, user
and system requirements.
3.1 Functional User Requirements The User must be able to control the system using only speech.
The User should be allowed to select their choice of tickets, food or film
information.
The User should be able to accept or reject and correct a mistake in the
systems interpretation of their answer
The user should be able to select a particular film
The user should be able to select the number of adult tickets
The user should be able to select the number of child tickets
The user should be able to select information on a particular film
The user should be able to play the trivia quiz
The User should be able the cancel the process
3.2 Functional System Requirements The system must be able to pick up the users’ responses correctly.
The System should load and be ready for the user to start
The System should provide a graphical display of the three options
tickets, food and film information
The System should verify the users input by confirming their option what
they said
The system should retrieve the current list of film option from the
database
The system should prompt then confirm the user to select a film option
when ordering tickets
The system should prompt then confirm the user to select the number of
adult tickets
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 15
W J McDevitt & G J McGlinchey
The system should prompt then confirm the user to select the number of
child tickets only after there is more than one adult
The system should calculate the cost of tickets
The system should remind user if the have not ordered any food.
The system should prompt then confirm the user to select one of the
three meal deals then prompt for the quantity of that meal deal
The system should calculate the cost of the food
The system should remind user if the have not ordered any tickets.
The system should calculate the total cost and inform the user
The system should inform the user to insert credit card
The system should put a pre-authorisation on the credit card and then
go back to main menu
The system should allow the user to review film information
The system should prompt then confirm the user to select the number of
film to be reviewed
The system should display the film information then close the webpage
when the user is done
The system should ask the user do they want to participate in a film quiz
The system should select a question from the database and then ask
the user for the correct answer one, two or three.
The system should inform the user if they are correct or not
The system should return to main menu
The system will offer the user to repeat any process or go to main
menu.
3.3 Non-functional User Requirements User should be able to access the application from kiosk (with a PC).
The user will have an interface associated with the application.
3.4 Non-functional System Requirements The system needs to be completed by 30th April 2009
The system should be easy to use with no experience required
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 16
W J McDevitt & G J McGlinchey
The System will be developed using CSLU Toolkit RAD.
The system should be design to be reliable particularly as it is in a stand
alone environment of a kiosk.
Thorough testing need to be conducted and completed
The system should carry out each task as quickly as possible
The system should be developed to allow easy future developments or
added scope
The program code should be well documented
HCI standards must be adhered to.
3.5 System Hardware and Software Requirements
CPU Speed Minimum 600 MHz
Memory Minimum 256MB RAM
Internet Connection Dial-Up or Broadband Access
Software CSLU Toolkit – Available to download
at: http://cslu.cse.ogi.edu/toolkit
Operating System Windows 2000, Windows XP
Hardware Personal Computer (PC), Monitor,
Keyboard, Mouse, soundcard,
Microphone & Earphones
Database Microsoft Access
Table 1: System hardware and software requirements
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 17
W J McDevitt & G J McGlinchey
4 Design This chapter is concerned with the conversion of the information gathered
during the requirements analysis phase into a design specification for
CINEMAX utilising industry standard human computer interaction (HCI)
guidelines. To make the conversion from requirements to an actual design a
number of tools are available however it was decided to use Unified Modelling
Language (UML) because as a modelling system it provides an easy way to
visualise the system.
Following on from the both the authors work on a HCI design for a cinema kiosk
system, Condell et all (2008). HCI standards must be adhered to, these include;
o Consistency
User input, system output, form layouts and colour
schemes should be consistent across all screens;
o Minimise user input
o Feedback
Provide user feedback for all actions performed
o Error Prevention
Validate user inputs and disable inactive form controls.
o Aesthetics & User Expectation
Clear and uncluttered design with clear functionality for
each form.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 18
W J McDevitt & G J McGlinchey
4.1 User use case diagram
Figure 2: User Use Case Diagram
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 19
W J McDevitt & G J McGlinchey
4.2 System use case diagram
Figure 3: System Use Case Diagram
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 20
W J McDevitt & G J McGlinchey
4.3 Storyboard This was the initial storyboard used to create design the film.
Figure 4: Storyboard
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 21
W J McDevitt & G J McGlinchey
5 Implementation This chapter is concerned with the conversion of the items highlighted in the
previous chapters into the final working CINEMAX system. To make the testing
stage easier, continuously during the development the system was tested
against these items. Appendix C contains all the objects, their descriptions
and TCL code.
5.1 Hardware/ Software Configuration The actual hardware and software configuration that was used in the design
develop and implement the system is listed in table 2.
CPU Speed Centrino Duo-1.8 GHz
Memory 1.5GB RAM
Internet Connection Broadband Access
Software CSLU Toolkit
Operating System Windows XP SP3
Hardware
Compaq NX7400 Laptop Computer
(IBM-PC), with built in
Keyboard, Mouse & soundcard.
Noise cancelling
Microphone & Earphones
Database Microsoft Access
Table 2: Implementation Hardware and Software
5.2 Main and sub dialogue toolkit maps The CSLU Toolkit was the main application used to develop the application
Figure 5 shows the CLSU toolkit map of the final system.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 22
W J McDevitt & G J McGlinchey
5.2.1 Main system toolkit map
Figure 5: CSLU toolkit map of final working system
5.2.2 Tickets sub-dialogue
Figure 6: Tickets sub-dialogue map
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 23
W J McDevitt & G J McGlinchey
5.2.3 Film information sub-dialogue
Figure 7: Film information sub-dialogue map
5.2.4 Food sub-dialogue
Figure 8: Food sub-dialogue map
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 24
W J McDevitt & G J McGlinchey
5.2.5 Quiz sub-dialogue
Figure 9: Trivia quiz sub-dialogue map
As shown in the CSLU toolkit map of the final system and various sub-dialogue maps
there are a number of various icons, these icons are referred to as objects in the
CSLU toolkit. Figure 3 shows the names of the base objects.
Figure 10: Basic objects that ship as part of the CSLU Toolkit 1
1 http://www.cslu.ogi.edu/toolkit/docs/2.0/apps/rad/objects/index.html
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 25
W J McDevitt & G J McGlinchey
Table 3 gives a description of the main CSLU toolkit objects and a summary of their
function within the CINEMAX system.
Start This was used in order to
start the implementation of
the system and to point
where the dialogue starts
Generic Object This is used to connect
dialogues together
Sub Dialogue object This is used mainly to
organise the system into
components
media object This is used to insert an
image and display or
remove it in the system
Goodbye object This is used to exit the
application
Action object This is used to run TCL
code.
Table 3: The main CLSU objects used in the CINEMAX system
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 26
W J McDevitt & G J McGlinchey
6 Testing This chapter is concerned with the testing process of the CINEMAX system
namely the techniques and tests used.
During the development phase the system was tested for functionality and
completeness. For example, during the build process the system would stop at
the point where there was error it had detected, this would allow the
programmer to correct the error and then continue, however this does not do
away with the need of a formal testing process. Therefore to ensure that the
application functioned correctly the three standard methods of testing were
used namely white box, black box and unit testing.
6.1 White Box Testing This is the term given to describe the process of testing each line of code of
the overall system. It was quite time consuming to carryout this process as
every possible path through the code has to be followed.
6.2 Black Box Testing This is the term given to describe the process that is essentially the complete
opposite of white box testing, namely that you do not care how the system
does the task just that the output is correct for a given input.
6.3 Unit Testing This is the term to describe the process where each individual component is
tested to ensure that they operate correctly.
6.4 Test Plans To facilitate the complete testing process a test plan was written which had a
series of test scripts to find out if the system meets all the specifications laid
out in the earlier chapters. For each script item an expected result is listed for
comparison against the actual result achieved. The completed test plans can
be seen in Appendix B.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 27
W J McDevitt & G J McGlinchey
6.5 Additional Testing and feedback The system was also tested on thirteen people this was to test for issues that
the developers who are using the system daily may over look due to their
familiarity with it. The general consensus from the test candidates was that
they liked the concept however the practicalities and issues with the system
the consensus was that they would probably prefer to use a touch screen
backup or just get in the queue at the cinema.
6.6 Summary of testing process The testing of CINEMAX was very successful mainly due to the effort during
the development to ensure that all the validation and verification was done and
correct and complete, if this had not been done then during the final white box
and black box testing process would have resulted in a lot of effort to track and
correct the problem.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 28
W J McDevitt & G J McGlinchey
7 Conclusion & Critical Analysis This chapter provides a conclusion and critical analysis of the system covering
issues, problems and opportunities for improvement
7.1 Conclusion In conclusion the system while having met all the requirements laid out in the
initial chapters of the report, like any system that is envisaged, designed and
implemented in a short time frame there is always room for improvement.
However any improvements can be easily added to the system as it has been
developed using RAD approach and software system.
7.2 Critical analysis As discussed in the testing process the system was tested on a group of thirteen
people whole like the concept but the recurring issue with the system was the speech
recognition, several times the system would not recognise the user’s speech and the
users had to repeat the answer and two actually gave up.
There is a fundamental flaw in the system in that it is prejudicial to those who are deaf
or hard of hearing, so maybe the spoken word could be displayed on the screen also
a backup to use a touch screen if the kiosk is a very noisy area
7.3 Future work As highlighted in the critical analysis of the CINEMAX system speech recognition was
an issue so an analysis of the input words used by system could be carried out and
where applicable changed words changed to be more phonetically different.
The scope of the project could be increased further to allow the user to select actual
seats in the system.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 29
W J McDevitt & G J McGlinchey
References BEAT: the Behaviour Expression Animation Toolkit, SIGGRAPH, 2001 –
Videos and Software download available at:
http://www.ru.is/faculty/hannes/beat/
Bolt R. A. (1979) “Put-That-There”: Voice and Gesture at the Graphics
Interface ” Massachusetts Institute of Technology, Cambridge, Massachusetts
Condell JV, J. McDevitt, D. McGilloway, J. McGlinchey , G. Galway, (May
2008) "Seat Booking System for a Cineplex", Computer and Information
Science (Quarterly), Vol. 1, No. 2, Canadian Center of Science and Education
(CCSE), ISSN 1913-8989, Pages 67-79, available online at:
http://ccsenet.org/journal/index.php/cis/article/viewFile/1912/1817
EMOTE model, 2000, Chi, D., Costa, M., Zhao, L., and Badler, N., The
EMOTE model for effort and shape. SIGGRAPH 2000 Conference
Proceedings, ACM SIGGRAPH, Addison Wesley, pp. 173-182, 2000.
McKevitt, P, (1998), A platform for developing multimedia applications, [online].
Available from: http://www.infm.ulst.ac.uk/~paul/pubs/report.pdf
Srihari (1995) Computational Models for Integrating Linguistic and Visual
Information
Wahlster et al (2001), Smartkom: towards multimodal dialogues with
anthropomorphic interface agents.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 30
W J McDevitt & G J McGlinchey
Appendix A - Transcripts of the three test runs Test run one Run 1 Order Tickets
System Please Select one of the following Options. Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.
User Tickets
System You want to order Cinema Tickets? is this Correct?
User Yes System Say One for Hannah Montanna
Say two For Marley and Me Say three for Ghost Say four for the Omen
User One
System So you want to see Hannah Montanna is this correct?
User Yes System How Many Adult Tickets? User One System One Adult Tickets, is this Correct? User Yes System How Many Child Tickets? User One System one childrens Tickets, is this Correct? User Yes System Would You Like to Order some Food? User No
System
You have 1 adult tickets and 1 childrens tickets for Hannah Montanna that is 8 pounds. the Cost for your drinks and snacks is 0 So Your Total Bill Is 8 pounds Please insert debit or Credit Card. Then enter your pin number
System Processing Card. Payment received, thank you. Please remove Card. Enjoy your Movie.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 31
W J McDevitt & G J McGlinchey
Test run two Run 2 Order Food System Please Select one of the following Options.
Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.
User Food System You would like to Order some food is this Correct? User Yes System Please Select one of the following Options.
Say One for Meal Deal One Say Two for Meal Deal Two Say Three for Meal Deal Three
User One System How Many Meals do you Want? User One System So you want 1 Meal deal Number one, is this correct? User Yes System Would you Like Other Meal Deals? User No System Would You Like to Order some tickets? User No
System You have 0 adult tickets and 0 childrens tickets for Any film that is 0 pounds. the Cost for your drinks and snacks is 5 So Your Total Bill Is 5 pounds Please insert debit or Credit Card. Then enter your pin number
System Processing Card. Payment received, thank you. Please remove Card. Enjoy your Movie.
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 32
W J McDevitt & G J McGlinchey
Test run three Run 3 Order Food System Please Select one of the following Options.
Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.
User Films System You want to view Film Information, Is this Correct? User Yes
System To view Film information please listen to the following options Say One for Hannah Montanna Say two For Marley and Me Say three for Ghost Say four for the Omen
User One
System So you want to see information Hannah Montanna is this correct?
User Yes
System When Finished Reading Hit the X on the top right of the browser screen and Say Finished
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 33
W J McDevitt & G J McGlinchey
Appendix B: Test Cases No. Purpose / Object
name Test data / Activity
Expected Result
Pass / Fail Comments
1 ShowFrontScreen Open Front Screen picture
Front Screen picture opened Pass
2 FilmChoices
Get Film Information from Database
Film Information retrieved from Database Pass
3 Greeting
Ask the User to Say Start to begin the application and display the menu options
the User said Start the application began and displayed the menu options Pass
4 HideFrontScreen Closes the front screen
front screen closed Pass
5 ShowMenuScreen Shows the menu options screen
menu options screen displayed Pass
6 Options
Prompts user for menu option for Tickets, Food or Film Info
User prompted for menu option for Tickets, Food or Film Info Pass
7 BuyTicketsConfirm
Prompt to ask the user if they have selected Tickets as the option
User prompted to select Tickets as the option Pass
8 HideMenuScreen
Closes the menu screen before entering a subDialogue
menu screen closed before entering a subDialogue Pass
9 TicketsSub
Sub dialogue that connects the objects for Ordering tickets
objects connected for Ordering tickets Pass
10 CheckNeedFood
Check whether the user has already ordered food based on the Foodcost variable being equal to zero
Checked that the user has already ordered food using the Foodcost variable equal to zero Pass
11 LikeFood Ask if user wants to order food
Ask if user wants to order food Pass
12 TotalTicketCost
Calculates the Total ticket cost for adults and children
Calculated the Total ticket cost for adults and children Pass
13 HideFilmOptions Hides the Film Options Screen
Film Options Screen hidden Pass
14 ShowPayments Shows the Payment screen
Payment screen displayed Pass
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 34
W J McDevitt & G J McGlinchey
15 FinalConfirmPrice
Provides a summary of all items purchased along with the process of food and the price of tickets and the total prices
Summary provided of all items purchased along with the process of food and the price of tickets and the total prices Pass
16 Payment Received
Notifies the user that Payment has been taken off the credit or debit card
User notified that Payment has been taken off the credit or debit card Pass
17 Hide Payment Screen Hides the Payment screen
Payment screen hidden Pass
18 Again
Takes the user back to the start screen for the next user
system returned to the start screen for the next user Pass
19 FoodOptions Show the Food Options screen
Food Options screen displayed Pass
20 BuyFoodConfirm
Prompts the user to confirm that the have chosen the Order food option
user prompted to confirm that they have chosen the Order food option Pass
21 FoodSub
Sub dialogue that connects the objects for Ordering food
Sub dialogue objects connected for Ordering food Pass
22 AddFoodCost
Adds the Food Cost to the Ticket Cost
Food Cost added to the Ticket Cost Pass
23 CheckNeedTickets
Check whether the user has already ordered tickets based on the Cost variable being greater than zero
Checked that the user has already ordered tickets based on the Cost variable being greater than zero Pass
24 LikeTickets
Ask the user if they want to order Tickets
User asked if they want to order Tickets Pass
25 HideFoodSCreen Hides the Food Option Screen
Food Option Screen hidden Pass
26 FilmInfoConfirm
Prompts the user to confirm that they have selected Film Info from the options
User prompted to confirm that they have selected Film Info from the options Pass
27 FilmInfoSub
Sub dialogue that contacts the objects for viewing film info
Sub dialogue that contacts the objects for viewing film info Pass
28 QuizConfirm
Prompts the user to confirm that they have select the quiz from the options
user prompted to confirm that they have select the quiz from the options Pass
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 35
W J McDevitt & G J McGlinchey
29 Filmprompt
iterate through the film options obtained from the database and presents them to the user as four options one, two, three & four
iterated through the film options obtained from the database and presents them to the user as four options one, two, three & four Pass
30 WhatFilm
Recognised the Digit spoken for the Film Choice, One, two etc.
Recognised the Digit spoken for the Film Choice, One, two etc. Pass
31 ConvertDigit
Converts the Digit word recognised by the Digit object and converts it into a number and stores it in a variable.
Converted the Digit word recognised by the Digit object and converts it into a number and stores it in a variable. Pass
32 TicketsConfirm
Prompt the user to confirm the chosen film
User prompted to confirm the chosen film Pass
33 AdultTickets
Prompts the user for the number of adult tickets they wish to order
User prompted for the number of adult tickets they wish to order Pass
34 ConvertAdultTickets
Converts the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost
Converted the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost Pass
35 ConfirmAdults
Prompt to confirm number of adult tickets selected
Prompted to confirm number of adult tickets selected Pass
36 CheckAdultTicketsPurchased
Check whether adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets
Check carried out to ensure that adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets Pass
37 ConfirmNoADultTickets
Prompt to tell the user that they have not purchased any adult tickets then they cannot purchase any child tickets, do they
Prompted user that they have not purchased any adult tickets then they cannot purchase any child tickets, do Pass
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 36
W J McDevitt & G J McGlinchey
want to order some adult tickets
they want to order some adult tickets
38 ChildTickets
Prompts the user for the number of child tickets they wish to order
Prompted the user for the number of child tickets they wish to order Pass
39 ConvertChildTickets
Converts the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost
Converted the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost Pass
40 ConfirmChilds
Prompt to confirm the number of child tickets selected
Prompted to confirm number of child tickets selected Pass
41 Cost Tickets
Calculate the cost of the adult tickets and the child tickets and gives a total
Calculated the total cost of the adult tickets and the child tickets Pass
42 Mealoption
get the digit for the meal options spoken
digit for the meal options spoken retrieved Pass
43 ConvertMealOption
Save Digit recognised to variable
Saved Digit recognised to variable Pass
44 HowmanyMeals
Prompts the user for the number of the meals they have chosen
User prompted for the number of the meals they have chosen Pass
45 ConvertMeals
Recognises the Number of meals asked for by the user
Number of meals recognized Pass
46 SnacksConfirm
Prompts the user to confirm their choice
user prompted to confirm their choice Pass
47 CostSnacks
Add the Selected meals cost to the total meal cost
Selected meals cost added to the total meal cost Pass
48 AnotherMeal
Prompts the user if they would like another meal deal
User prompted if they would like another meal deal Pass
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 37
W J McDevitt & G J McGlinchey
49 ShowFilmInfo
Converts the users film choice and generates a URL for that film and launches the URL in Internet explorer
Users film choice converted and a URL generated for the film and launched the URL in Internet explorer Pass
50 Confirmwebclose
Prompts the user to say finished when they have completed reading the info, so the program will then continue on.
User prompted to say finished when they have completed reading the info, so the program will then continue on. Pass
51 Build_Questionlist
List Object that contains the four quiz question and the correct answer
Object activated that contains the four quiz question and the correct answer Pass
52 Quest
Iterates through the BuildQuestionlist question and prompts the user
Iterated through the BuildQuestionlist question and prompted the user Pass
53 Thats_Right
Prompts the user that their answer is correct
User informed that their answer is correct Pass
54 Wrong
Prompts the user that their answer is wrong and gives them the correct answer
User prompted for their answer if wrong if gives them the correct answer Pass
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 38
W J McDevitt & G J McGlinchey
APPENDIX C -Object list Component Object Name Object Type Activity TCL Code
Main ShowFrontScreen Media
Open Front Screen picture
FilmChoices Action
Get Film Information from Database
cd c:/cinema/db/
package require tclodbc
database db films
set details [db "select film from films where filmId = 1"]
regsub {\{} $details {} details
regsub {\}} $details {} details
set film1 [lindex $details 0]
set details [db "select film from films where filmId = 2"]
regsub {\{} $details {} details
regsub {\}} $details {} details
set film2 [lindex $details 0]
set details [db "select film from films where filmId = 3"]
regsub {\{} $details {} details
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 39
W J McDevitt & G J McGlinchey
regsub {\}} $details {} details
set film3 [lindex $details 0]
set details [db "select film from films where filmId = 4"]
regsub {\{} $details {} details
regsub {\}} $details {} details
set film4 [lindex $details 0]
Greeting Generic
Ask the User to Say Start to begin the application and display the menu options
HideFrontScreen Media
Closes the front screen
ShowMenuScreen Media
Shows the menu options screen
Options Generic
Prompts user for menu option for Tickets, Food or Film Info
BuyTicketsConfirm Generic
Prompt to ask the user if they have selected Tickets as the option
HideMenuScreen Media
Closes the menu screen before entering a subDialogue
TicketsSub SubDialogue
Sub dialogue that connects the objects for Ordering tickets
CheckNeedFood Conditional
Check whether the user has already ordered food based on the Foodcost variable being equal to zero $foodcost == 0
LikeFood Generic Ask if user wants to order
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 40
W J McDevitt & G J McGlinchey
food
TotalTicketCost Action
Calculates the Total ticket cost for adults and children
set TotalCost [expr $Cost + $foodcost]
HideFilmOptions Media Hides the Film Options Screen
ShowPayments Media Shows the Payment screen
FinalConfirmPrice Generic
Provides a summary of all items purchased along with the process of food and the price of tickets and the total prices
Payment Received Generic
Notifies the user that Payment has been taken off the credit or debit card
Hide Payment Screen Media
Hides the Payment screen
Again Generic
Takes the user back to the start screen for the next user
FoodOptions Media Show the Food Options screen
BuyFoodConfirm Generic
Prompts the user to confirm that the have chosen the Order food option
FoodSub SubDialogue
Sub dialogue that connects the objects for Ordering food
AddFoodCost Action
Adds the Food Cost to the Ticket Cost
set TotalCost [expr $Cost + $foodcost]
CheckNeedTickets Conditional
Check whether the user has already ordered tickets based on the Cost variable being greater than zero $Cost > 0
LikeTickets Generic
Ask the user if they want to order Tickets
HideFoodSCreen Media
Hides the Food Option Screen
FilmInfoConfirm Generic
Prompts the user to confirm that they have
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 41
W J McDevitt & G J McGlinchey
selected Film Info from the options
FilmInfoSub SubDialogue
Sub dialogue that contacts the objects for viewing film info
QuizConfirm Generic
Prompts the user to confirm that they have select the quiz from the options
TicketsSub Filmprompt Generic
iterate through the film options obtained from the database and presents them to the user as four options one, two, three & four
WhatFilm Digit
Recognised the Digit spoken for the Film Choice, One, two etc.
ConvertDigit Action
Converts the Digit word recognised by the Digit object and converts it into a number and stores it in a variable.
switch $WhatFilm(recog) {
one {set chosenfilm $film1}
two {set chosenfilm $film2}
three {set chosenfilm $film3}
four {set chosenfilm $film4}
default {set chosenfilm "Do not recognise your choice"}
}
TicketsConfirm Generic
Prompt the user to confirm the chosen film
AdultTickets Digit
Prompts the user for the number of adult tickets they wish to order
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 42
W J McDevitt & G J McGlinchey
ConvertAdultTickets Action
Converts the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost
ConfirmAdults Generic
Prompt to confirm number of adult tickets selected
CheckAdultTicketsPurchased Conditional
Check whether adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets $Adults > 0
ConfirmNoADultTickets Generic
Prompt to tell the user that they have not purchased any adult tickets then they cannot purchase any child tickets, do they want to order some adult tickets
ChildTickets Digit
Prompts the user for the number of child tickets they wish to order
ConvertChildTickets Action
Converts the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost
ConfirmChilds Generic
Prompt to confirm the number of child
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 43
W J McDevitt & G J McGlinchey
tickets selected
Cost Tickets
Calculate the cost of the adult tickets and the child tickets and gives a total
set Cost [expr $AdultCost * $Adultsdigit ]
set Cost [expr $Cost + [expr $ChildCost * $Childsdigit ]]
FoodSub
Mealoption Digit
get the digit for the meal options spoken
set MealNo $MealOption(recog)
ConvertMealOption Action
Save Digit recognised to variable
HowmanyMeals Generic
Prompts the user for the number of the meals they have chosen
ConvertMeals Digit
Recognises the Number of meals asked for by the user et meals 0
switch $ManyMeals(recog) {
one {set meals 1}
two {set meals 2}
three {set meals 3}
four {set meals 4}
five {set meals 5}
six {set meals 6}
seven {set meals 7}
eight {set meals 8}
nine {set meals 9}
}
SnacksConfirm Generic
Prompts the user to confirm their choice
CostSnacks Action
Add the Selected meals cost to the total meal cost
set foodcost [expr $foodcost + [expr 5 * $meals ]]
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface
30th April 2009 Page 44
W J McDevitt & G J McGlinchey
AnotherMeal Generic
Prompts the user if they would like another meal deal
FilmInfoSub ShowFilmInfo Action
Converts the users film choice and generates a URL for that film and launches the URL in Internet explorer
switch $WhatFilm(recog) {
Confirmwebclose Generic
Prompts the user to say finished when they have completed reading the info, so the program will then continue on.
QuizSub Build_Questionlist ListBulider
List Object that contains the four quiz question and the correct answer
one {set urltext {http://movies.msn.com/movies/movie/hannah-montana-the-movie/}}
Quest GenericList
Iterates through the BuildQuestionlist question and prompts the user
two {set urltext {http://movies.msn.com/movies/movie/marley-and-me/}}
Thats_Right Generic
Prompts the user that their answer is correct
three {set urltext {http://movies.msn.com/movies/movie/ghost.1/}}
Wrong Generic
Prompts the user that their answer is wrong and gives them the correct answer
four {set urltext {http://movies.msn.com/movies/movie/the-omen.1/}}
} showurl $urltext