High Performance Image Processing Solution with Intel Platform
Total Page:16
File Type:pdf, Size:1020Kb
High Performance Image Processing Solution with Intel® Platform Technology Yang Lu Intel Corporation 2015. ® White Paper: High Performance Image Processing Solution with Intel Platform Technology Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request. Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting www.intel.com/design/literature.htm. Intel, the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others © 2015 Intel Corporation. Software and workloads used in performance tests of this paper may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more information go to http://www.intel.com/performance. 2 ® White Paper: High Performance Image Processing Solution with Intel Platform Technology Contents Contents ............................................................................................................................................. 3 1. Abstract ..................................................................................................................................... 4 2. Image Processing Introduction ...................................................................................... 4 3. Performance Characters .................................................................................................... 7 3.1 Image Processing Performances Overview ............................................... 7 3.2 Simultaneous Multithreading and Turbo Boost ........................................ 9 3.3 Micro Architecture Characters ................................................................ 10 4. High Performance Solution Based on Intel® Xeon™ Platform ................ 11 4.1 Image Compression Tuning .................................................................... 11 4.2 Image Scaling Program Tuning............................................................... 12 4.2.1 Down-Sampling Algorithm ................................................................. 12 4.2.2 Intel® High Performance Tools .......................................................... 14 5. WebP Image Processing ................................................................................................ 18 6. Summary ............................................................................................................................... 22 Reference ....................................................................................................................................... 22 Author contacts Yang Lu, Senior Application Engineer <[email protected]> 3 ® White Paper: High Performance Image Processing Solution with Intel Platform Technology 1. Abstract With the increasing popularity of internet and media cloud applications, huge volume of image data has been generated, utilized and shared every day, that presents the big computing and storage challenges to the media related industry and company. In this paper, we study the techniques of most popular image processing, analyze the performance challenge, explore the tuning methodology, and implement the most effective solution based on IA platform. We aim to maximize IA platforms’ capabilities for typical image processing workloads, achieve best performance and efficiency to benefit the most popular internet and media industry. 2. Image Processing Introduction One picture is worth a thousand words. People are more and more used to upload pictures to describe their status, feeling, and some events at SNS. Sellers also upload many distinct pictures to describe and advertise their products at B2B, B2C and C2C platforms. We even can search the knowledge or information through images at popular search engine. All kinds of images have filled every corner of our life. This flood of images presents the computing and storage challenge: how to effectively process, compact, store, manage and transmit those images? And what kind of platforms and technologies are most efficient for image processing? In this paper, we analyze the typical image processing framework and the performance characters, then explore the most effective IA technologies to maximize the image processing applications performance, propose the best solution in terms of the processing performance and efficiency. Generally, most of the companies need to scale and edit the images that customers uploaded or the media content they purchased from 3rd party, such as scaling the original images to the different dimensions that fit different terminal devices, compressing the images to the target format that save storage size and network bandwidth further, and editing (adding logo and watermark) the images to meet the business requirement. Figure 1 is the typical image processing flow that most companies adopted. 4 ® White Paper: High Performance Image Processing Solution with Intel Platform Technology Figure 1: Typical Image Processing Flow for Cloud Applications To conduct those processing, following software stacks are mainly adopted: Software Type License Developed by language OS Apache 2.0 ImageMagick ImageMagick Image manipulation C Cross platform License Studio LLC Fork from ImageMagick version GraphicsMagick GraphicsMagick 5.5.2, emphasizing MIT License C Cross platform Group stability and performance Intel Computer Vision Corporation, Will OpenCV BSD License ow Garage, C/C++ Cross platform library and framework Itseez Graphics application SGI Open formerly: OpenG API, aim to achieve L Architecture source license Review Board OpenGL hardware-accelerated (ARB) C Cross platform and Trademark rendering. now: Khronos License. Group Table 1: Common Image Processing Software Stack 5 ® White Paper: High Performance Image Processing Solution with Intel Platform Technology Currently, most of the media companies adopt the proper image formats to store and distribute images to achieve the best compression ratio and flexible internet content expression, such as JPEG, GIF and PNG. Table 2 illustrates these kinds of image formats characters, usage models and respective advantage and disadvantage. Browser File Animati Transpa Image Developed Licens Lossl Support Name Extensi on rency Usage Pros Cons Format by ed ess (without ons Support Support plugin) Windows Large file BMP .bmp .dib Microsoft No Yes No Yes No Bitmap size Animation Widely ie Graphics supported firefox Interchan No Animatio Limited to GIF .gif CompuServce Yes Yes Yes format chrome ge expired n 256 colors Format Transpare safari ncy opera support Joint Small file ie Photogra Joint size Lossy firefox .jpg .jpeg .j No Photogra JPEG phic Photographic No No No Widely compressi chrome pe .jif .jfif .jfi invalid phy Experts Experts Group supported on safari Group format opera Joint JPEG Photogra Yes .jp2 .j2c .j2 Joint Yes replace Computin phic Lossles Small file JPEG2000 k .jpx .jpf .j Photographic Yes ISO/IEC Yes ment, g safari Experts s and size 2c .j2k Experts Group 15444-2 HD intensive Group lossy 2000 imaging Multiple-i W3C (donated Not mage by PNG MNG .mng Yes Yes Yes Animation widely No Network Development Graphics Group) supported Lossless Widely ie W3C (donated Portable supported firefox by PNG PNG Network .png No Yes No Yes Icons format chrome Development Graphics Transpare safari Group) ncy opera support Lossless Photosho layers p Image support PSD .psd .pdd Adobe Systems Yes No Yes no Documen editing transpare t ncy support HDR .crw .cr2 .r photogra RAW Camera Large file RAW aw .rw2 .ne Yes No No phy, Lossless No Image file manufacturer size f .nrw .orf ... Archivin g Images Tagged from Image Large file TIFF .tiff .tif Adobe Yes No No scanner, Lossless No File size Format HD imaging Lossy Small file chrome WebP WebP .webp Google No No No compressi size opera on Table 2: Common Image Standard and Format 6 ® White Paper: High Performance Image Processing Solution with Intel Platform Technology Dealing with so many types of images with dedicated processing efficiently is a big challenge for the backend clusters. End uses generate and upload all kinds of images every day, new media contents are created and distributed frequently, that make the image processing clusters always carrying the huge processing pressures. In the following sections we will analyze what kinds of IA technologies are most important for the image processing applications, and how to take the advantage of those technologies to improve the image