Applying Thought   
About Wipro
Newsroom
Investors
Careers
  
   
Wipro Technologies Consulting IT Services Product Design Business Process Outsourcing CONTACT US
 
Case Studies
Ideas
 
Search
Peripherals Home
Printing and Imaging
PrintDocWision - Printer Driver Solution
Apple Mac Services
Testing Services
 
Global Sourcing Lounge
 
 
 
 
COMPUTING PERIPHERALS
Case Study
 
Software implementation of JPEG2000 encoder for MFP
 
 
The client
Wipro successfully developed a JPEG2000 encoder for a Japanese printer manufacturer. The JPEG2000 encoder developed by Wipro can be used for the scanning scenario of a MFP because of its better compression rate.
 
Challenges
The client was looking a cost-effective, easily customizable, completely pluggable, easily portable, object-oriented implementation of the JPEG2000 standard
The client wanted a very short development cycle including the study and design phase. As Wipro’s previous experience was only in developing hardware-based solutions, the study phase included everything from studying the JPEG2000 standard to understanding each of the algorithms in detail. The highly mathematical nature of the algorithms coupled with the time-constraints increased the complexity of the study phase manifold
A single code-base was required for Windows and Linux
The encoder was to be interfaced to a PDF 1.5 document creator on the MFP running VxWorks. At the time of development the PDF encoder was not available
As the PDF encoder was running on an MFP with limited resources, we had to work under severe memory and timing constraints
As the scanned input image could be very huge, the client wanted our encoder to adopt a streaming approach with the image being streamed to our encoder in parts, and our encoder being able to process each part independently.
 
Solution

The JPEG2000 encoder developed by Wipro was an efficient, object-oriented implementation of the JPEG2000 standard specification. The object-oriented design was done using Rational Rose and the implementation was done in C++. Each block of the encoder was simulated by one or more classes in code. As a result of this approach, each block defined a well-defined interface and became completely pluggable. We could have a separate developers work independently on different blocks and there were very few integration problems. This helped us to meet the short deadlines defined by the client.

We also implemented the Singleton design pattern to prevent synchronization problems caused by multiple instances of our encoder running in the same address space.

The object oriented design also helped us to incorporate certain far-reaching changes like Banding, and support for multiple input types that the client asked us to incorporate later.

 
Benefits
The encoder delivered to the customer was as efficient as the other encoders suggested as benchmarks by the client
All the parameters supported by the JPEG2000 standard were supported as Input parameters by the encoder. This has made the encoder completely customizable. The encoder’s performance and memory requirements can be fine-tuned according to the environment in which it is to be run by changing the set of parameters passed to it.
 
  Send us an email
Request proposal for services
Subscribe to our monthly newsletter
  CASE STUDIES
Globalization and localization of the MFP controller
USB solution for MFP
POS solution
  More case studies

 
Contact us Terms of use Privacy Sitemap