Skip to main content
Log in

Parallel programming for multimedia applications

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

Computing capabilities are continuing to increase with the availability of multi core and many core processors. The wide availability of multi core processors has made parallel programming possible for end user applications running on desktops, workstations, and mobile devices. While parallel hardware has become common, software that exploits parallel capabilities is just beginning to take hold. Multimedia applications, with their data parallel nature and large computing requirements will benefit significantly from parallel programming. In this paper an overview of parallel programming is presented and languages and tools for parallel programming such as OpenMP and CUDA are introduced within the scope of multimedia applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. Asanovi’c K et al (2009) A view of the parallel computing landscape. Commun ACM 52(10):56–67

    Article  Google Scholar 

  2. Borkar S (2007) Thousand core chips—a technology perspective. Proc. ACM/IEEE 44th Design Automation Conf (DAC). ACM Press, pp 746–749

  3. Bulic P, Gustin V (2003) An extended ANSI C for processors with a multimedia extension. Int J Parallel Program 31(2):107–136

    Article  MATH  Google Scholar 

  4. Chantry D (2009) Mapping applications to the Cloud. Microsoft Corporation—Platform Architecture Team. Online at: http://msdn.microsoft.com/en-us/library/dd430340.aspx

  5. Chapman B, Jost G, van der Pas R (2007) Using OpenMP: portable shared memory parallel programming. MIT, October

    Google Scholar 

  6. Chen S, Schlosser SW (2008) Map-Reduce Meets Wider Varieties of Applications, IRP-TR-08-05, Technical Report, Intel Research Pittsburgh. Online at: http://www.pittsburgh.intel-research.net/~chensm/papers/IRP-TR-08-05.pdf

  7. Colic A, Kalva H, Furht B (2010) Exploring NVIDA-CUDA for Video Coding. Proceedings of the first annual ACM SIGMM conference on Multimedia systems, pp 13–22

  8. Conner J (2009) Customizing Input File Formats for Image Processing in Hadoop. Arizona State University. Online at: http://hpc.asu.edu/node/97

  9. Conte G (2000) The long winding road to high-performance image processing with MMX/SSE. Proceedings of the Fifth IEEE International Workshop on Computer Architectures for Machine Perception, pp 249–258

  10. Dean J, Ghemawat S (2004) MapReduce: Simplified Data Processing on Large Clusters. In Proceedings of OSDI ’04: 6th Symposium on Operating System Design and Implemention, San Francisco, CA. Online at: http://labs.google.com/papers/mapreduce.html

  11. Diefendorff K et al (2000) AltiVec extension to PowerPC accelerates media processing. IEEE Micro 20(2):85–95

    Article  Google Scholar 

  12. Ferretti M (2000) Multi-media extensions in super-pipelined micro-architectures. A new case for SIMD processing? Proceedings of the Fifth IEEE International Workshop on Computer Architectures for Machine Perception, pp 249–258

  13. Garcia A Kalva H, Furht B (2010) Exploring A Study of Transcoding on Cloud Environments for Video Content Delivery. Proceedings of the Workshop on Mobile Cloud Media Computing, ACM Multimedia

  14. HP Labs “VideoToon” Online at: http://www.hpl.hp.com/open_innovation/cloud_collaboration/cloud_demo_transcript.html

  15. Kirk DB, Hwu WW (2010) Programming massively parallel processors—a hands on approach. Morgan Kaufmann

  16. Krall A, Lelait S (2000) Compilation techniques for multimedia processors. Int J Parallel Program 28(4):347–361

    Article  Google Scholar 

  17. Lee RB (1996) Subword parallelism with MAX-2. IEEE Micro 16(4):51–59

    Article  Google Scholar 

  18. Lee JB, Kalva H (2009) The VC-I and H.264 video compression standards: for broadband video service. Springer

  19. Leupers, R (1999) Compiler Optimizations for Media Processors. In J-Y Roger, B Stanford-Smith, PT Kidd (eds) Business and Work in the Information Society: New Technologies and Applications, IOS Press, ISBN 90-5199-491-5

  20. Luebke D, et al. (2004) Gpgpu: general purpose computation on graphics hardware. Proceedings of the conference on SIGGRAPH 2004 course notes (New York, NY, USA): ACM Press, p 33

  21. “Map/Reduce Tutorial” Online at: http://hadoop.apache.org/common/docs/current/mapred_tutorial.html

  22. New York Times (2007) Self-service, Prorated Super Computing Fun! Online at: http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/

  23. Peleg A, Weiser U (1996) MMX technology extension to the Intel architecture. IEEE Micro 16(4):42–50

    Article  Google Scholar 

  24. Trease H, Fraser D, Farber R, Elbert S Using transaction based parallel computing to solve image processing and computational physics problems. Online at: http://www.cca08.org/papers/Poster31-Harold-Trease.pdf

  25. Tremblay M et al (1996) VIS speeds new media processing. IEEE Micro 16(4):10–20

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hari Kalva.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kalva, H., Colic, A., Garcia, A. et al. Parallel programming for multimedia applications. Multimed Tools Appl 51, 801–818 (2011). https://doi.org/10.1007/s11042-010-0656-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-010-0656-2

Keywords

Navigation