OCR Software Architecture for Embedded Device Seho Kim', Jaehwa Park Computer Science, Chung-Ang University, Seoul, Korea

Slides:



Advertisements
Similar presentations
Introduction to Computers Lecture By K. Ezirim. What is a Computer? An electronic device –Desktops, Notebooks, Mobile Devices, Calculators etc. Require.
Advertisements

CLEARSPACE Digital Document Archiving system INTRODUCTION Digital Document Archiving is the process of capturing paper documents through scanning and.
Our View Points for Effective Approach to Unify the Diverse Networks on WIS Session 2.3 Industry, 7 November 2006 Oriental Electronics, Inc. Kyoto, Japan.
Chapter 13 Review Questions
The Acquisition and Sharing of Domain Knowledge Contained in Software with a Compliant SIK Architecture by Prof. dr. Vasile AVRAM Academy of Economic Studies.
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Computer-Aided Design Chapter 7. Computer-Aided Design (CAD) Use of computer systems to assist in the creation, modification, analysis, and optimization.
Input to the Computer * Input * Keyboard * Pointing Devices
Lesson 1-Introducing Basic Network Concepts
Lecture 23: Software Architectures
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
- 1 - Component Based Development R&D SDM Theo Schouten.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
2008/7/3 NanoMon: An Adaptable Sensor Network Monitoring Software Misun Yu, Haeyong Kim, and Pyeongsoo Mah Embedded S/W Research Division Electronics and.
Architectural styles and Case studies 1 | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
High thoughts must have high language. Aristophanes
 2002 Prentice Hall. All rights reserved. 1 Introduction to Visual Basic.NET,.NET Framework and Visual Studio.NET Outline 1.7Introduction to Visual Basic.NET.
Chapter 1 The Systems Development Environment
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
CSE 303 – Software Design and Architecture
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
DAT602 Database Application Development Lecture 12 C/S Model Database Application.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
On the Criteria to Be Used in Decomposing Systems into Modules Team 3 Nupur Choudhary Aparna Nanjappa Mark Zeits.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Design Concepts By Deepika Chaudhary.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
An Architecture to Support Context-Aware Applications
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Design of On-Demand Analysis for Cloud Service Configuration using Related-Annotation Hyogun Yoon', Hanku Lee' 2 `, ' Center for Social Media Cloud Computing,
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
Unit 1: Recognizing Computers Lesson 1: Computers All Around Us Computing Fundamentals Using Windows XP – IC³ Module A.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet and the World Wide Web Outline 1.1Introduction 1.2What.
Advanced Science and Technology Letters Vol.106 (Information Technology and Computer Science 2015), pp.17-21
Essential Customization for Moodle Adoption in School Jeong Ah Kim', SunKyun Park 1 ' 2 Computer Education Department, Kwandong University, KOREA
HTML5 based Notification System for Updating E-Training Contents Yu-Doo Kim 1 and Il-Young Moon 1 1 Department of Computer Science Engineering, KoreaTech,
A Framework with Behavior-Based Identification and PnP Supporting Architecture for Task Cooperation of Networked Mobile Robots Joo-Hyung Kiml, Yong-Guk.
The Study on the Car Mechanics e-Training AR(Augmented Reality) System for Real-time Augmented Contents Ji-Yean Yoon,1, Dong-Jin Kim 1, Yu-Doo Kim 1 and.
Software Architectural Style By the end of this lecture, you will be able to: list various software architectural styles describe advantages and disadvantages.
Lecture VIII: Software Architecture
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
The Open Bluetooth Networking Game Development Platform Final Year Project Demonstration Carol & Marcus.
June 12, 2016CITALA'121 Cloud Computing Technology For Large Scale and Efficient Arabic Handwriting Recognition System HAMDI Hassen, KHEMAKHEM Maher
By: Shane Serafin.  What is handwriting recognition  History  Different types  Uses  Advantages  Disadvantages  Conclusion  Questions  Sources.
The Design of Smart RFID Tag System for Food Poisoning Index Monitoring Chang Won Lee 1.1, Nghia Truong Van 1, Kyung Kwon Jung 2, Joo Woong Kim 1, Woo.
Discovering Computers 2009 Chapter 1 Introduction to Computers.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Software Quality Engineering
HTML5 based Notification System for Updating
YangSun Lee*, YunSik Son**
Ch > 28.4.
System And Application Software
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
MANAGING DATA RESOURCES
Presentation transcript:

OCR Software Architecture for Embedded Device Seho Kim', Jaehwa Park Computer Science, Chung-Ang University, Seoul, Korea Abstract. Character recognition is the field in which studies have been conducted for a few decades. It is applied to commercialized products in the market to be used in recognition of generalized mark-up languages in print letters. However, it is used in limited areas such as electronic document recognition and mail recognition in cursive script. Considering supplies of digital camera-embedded device being currently popularized in a rapid speed, social demands on the character recognition of camera-embedded device are expected to increase. The embedded device generally uses a central processing unit with relatively lower calculation capability and smaller volume of memory places compared with the personal computer. Nonetheless, problems in the performance speed can easily occur. The reusability of software can also be unexpected if character recognizer for embedded device is realized in a similar software method for an existing personal computer. The embedded software is difficult to be repaired and reused because of too many connection loops or due to different supporting methods applied for each platform resource. Therefore, it is necessary to design systematic software architectures that enhance reusability and portability [1] [2]. Currently, certain types of architectures being widely used are represented by the pipe and filter, data abstract pictures, object-oriented organization styles, event-based implicit invocation style, and hierarchical types. Among Session 5B 595

those, the hierarchical types can minimize complexity by dividing matters into gradational steps and enable interactions in each hierarchy and information transmitted in both directions. Moreover, the hierarchical types provide high quality of abstract pictures, maintain independence from system, and allow possible reuse [3]. This paper now designs software architecture for optical character recognizer to reuse on different mobile telecommunication platforms based on the type of hierarchical architecture type. This paper aims to enable developers to apply and reuse easily without depending on the platforms. This paper divides into four hierarchies in the architecture for the optical character recognizer in the embedded platform environment: the platform-based support, interface, engine support, and engine hierarchies. The engine support hierarchy separates stored data from the recognition system to cope with the different memory storage method (Endian) in each platform while using the data required for the optical character recognizer. This hierarchy adopts plug-in data structures in its design for the system to renew effectively regardless of data changes. The real type data are altered to the integer type to and used as a method to improve the performance of the recognizer, and the linear approximation method is used to remove the library dependence. Large weights should be distributed in designing architecture to develop software in which maintenance and repairs are important. That is because the costs for the reuse and maintenance and repairs of the developed system vary depending on the architectural design. Specifically, the embedded platform generally uses the central processing unit with relatively lower calculation capability and smaller volume of memory places. As compared with the personal computer, problems in the performance speed can easily occur and reusability of software may not be anticipated if the character recognizer for the embedded device is realized using a similar software method with the 596 Computers, Networks, Systems, and Industrial Appications

existing personal computer. Reusing the software with the embedded software is difficult to be repaired in most cases because of too much dependence between modules, or it becomes impossible due to the different methods used for each platform resource. Software architectures proposed in this paper which aims to improve the aspect of reusability in the development of optical character recognition system of the mobile telecommunication device environment. This architecture is designed based on the style of hierarchical architecture. The architecture is split into four units of hierarchies: the platform-based support, interface, engine support, and engine hierarchies from the lower level. The platform-based support facilitates expansion by maintaining independence from the character recognizer for memory retention and clearance, image loading and clearance, and diversity of data producing dependent segments at each platform whenever it changes. The interface completely isolates the user from issues on how the objects can be summoned, how the data can be stored, and how these aspects are realized to prevent misuse and damages. This hierarchy supplies the four functions required to realize encapsulation for the improvement of the independence and portability. The engine support hierarchy solves the issues accrued by each platform from different memory storage methods (Endian) while reading data to the memory in the case the character recognition system can store and use data for recognition. The hierarchy removes the dependence of each platform by adaptively reading data according to the memory storage method of the platform, as it facilitates updates and expansions. Lastly, the engine hierarchy, where the character recognition is being conducted, separates the common segments and removes the dependent segments on the platform. This hierarchy facilitates the expansions in the modification of new functions and Session 5B 597

in the removal of additions by modularizing as each independent unit. The recognizer materialized based on the neural network. Performance tests were conducted based on the camera images comparing with the personal computer character recognizer developed by ETRI, Korea. The recognizer was transplanted in the mobile telecommunication device environments such as Korea's standard platform WIPI, PDA GUI Qt, MS PocketPC, Windows Phone 7, Android, and iPhone to test the facilitation of reuse. The WIPI, PocketPC, Windows Phone 7, Android and iPhone used the Little Endian method. The Qt board used the Big Endian. The same recognition results were obtained in the experimental results with six platforms like those of the existing personal computer environment developed by ETRI, Korea and the recognition performance was improved by converting the real type data into the integer type. Just modifying the dependent segments of the optical character recognizer enabled more than 98.55% of the entire codes reused in the environments. These are the embedded device platform environments different from each other and supporting other memory storage methods. In conclusion, this paper designed the software architecture to reuse the character recognizer at the embedded device platforms. The proposed software architecture was designed as a hierarchal architecture that consists of four hierarchies: the platform-based support, the interface, the engine support, and the engine hierarchies. The engine support hierarchy was designed with the plug-in data structures to respond adaptively to other memory storage methods by each platform in using the data in the character recognizer. The character recognizer was applied with the linear approximation method to remove the dependence of library. The experiment converted the existing character recognizer developed by 598 Computers, Networks, Systems, and Industrial Appications

ETRI, Korea based on the proposed architecture in this paper and used the neural network as a sorter for the recognition. The converted character recognizer was experimented in various embedded device The experimental result confirmed that more than 98% of the codes for character recognition software were reusable while all six platforms obtained the same recognition results of enhanced performances. Keywords: OCR, Software Architecture, Embedded Device References [I] R. Kazman, G. Abown, L. Bass and P. Clements, "Scenario-Based Analysis of Software Architecture," IEEE Software, vol.13, no.6, pp.45-55, November M. Shaw, "Architectural Issues in Software Reuse : It's Not Just the Functionality, It's the Packaging," IEEE Symposium on Software Reuse, New York, USA, pp.3-6, D. Garlan and M. Shaw, An Introduction to Software Architecture, World Scientific Publishing, Singarpore, Session 5B 599