- Research Article
- Open Access
- Published:
Scalable MPEG-4 Encoder on FPGA Multiprocessor SOC
EURASIP Journal on Embedded Systems volume 2006, Article number: 038494 (2006)
Abstract
High computational requirements combined with rapidly evolving video coding algorithms and standards are a great challenge for contemporary encoder implementations. Rapid specification changes prefer full programmability and configurability both for software and hardware. This paper presents a novel scalable MPEG-4 video encoder on an FPGA-based multiprocessor system-on-chip (MPSOC). The MPSOC architecture is truly scalable and is based on a vendor-independent intellectual property (IP) block interconnection network. The scalability in video encoding is achieved by spatial parallelization where images are divided to horizontal slices. A case design is presented with up to four synthesized processors on an Altera Stratix 1S40 device. A truly portable ANSI-C implementation that supports an arbitrary number of processors gives 11 QCIF frames/s at 50 MHz without processor specific optimizations. The parallelization efficiency is 97% for two processors and 93% with three. The FPGA utilization is 70%, requiring 28 797 logic elements. The implementation effort is significantly lower compared to traditional multiprocessor implementations.
References
Agi I, Jagannathan R: A portable fault-tolerant parallel software MPEG-1 encoder. Multimedia Tools and Applications 1996,2(3):183-197.
Ahmad I, He Y, Liou ML: Video compression with parallel processing. Parallel Computing 2002,28(7-8):1039-1078. 10.1016/S0167-8191(02)00100-X
Akramullah SM, Ahmad I, Liou ML: Performance of software-based MPEG-2 video encoder on parallel and distributed systems. IEEE Transactions on Circuits and Systems for Video Technology 1997,7(4):687-695. Transaction Briefs 10.1109/76.611179
Altera Corporation : Avalon Interface Specification. Ver. 2.4, January 2004
Altera Corporation : Nios 3.0 CPU datasheet. October 2004
Altera Corporation : Nios Development Board: Reference Manual, Stratix Professional Edition. Ver. 1.1, July 2003
Altera Corporation : Nios II Processor Reference Handbook. May 2005
Altera Corporation : Stratix Device Handbook. January 2005
Altera Corporation Nios II, Site visited 28.11.2005, http://www.altera.com/products/ip/processors/nios2/ni2-index.html
Barbosa DM, Kitajima JP, Weira W Jr.: Parallelizing MPEG video encoding using multiprocessors. Proceedings of the XII Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI '99), October 1999, Sao Paulo, Brazil 215-222.
Cantineau O, Legat J-D: Efficient parallelisation of an MPEG-2 codec on a TMS320C80 video processor. IEEE International Conference on Image Processing (ICIP '98), October 1998, Chicago, Ill, USA 3: 977-980.
Garrido MJ, Sanz C, Jiménez M, Menasses JM: An FPGA implementation of a flexible architecture for H.263 video coding. IEEE Transactions on Consumer Electronics 2002,48(4):1056-1066. 10.1109/TCE.2003.1196439
He Y, Ahmad I, Liou ML: MPEG-4 based interactive video using parallel processing. International Conference on Parallel Processing (ICPP '98), August 1998, Minneapolis, Minn, USA 329-336.
Kalte H, Langen D, Vonnahme E, Brinkmann A, Rückert U: Dynamically reconfigurable system-on-programmable-chip. 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing (PDP '02), January 2002, Canary Islands, Spain 235-242.
Kordasiewicz R, Shirani S: Hardware implementation of the optimized transform and quantization blocks of H.264. Canadian Conference on Electrical and Computer Engineering (CCECE '04), May 2004, Niagara Falls, Ontario, Canada 2: 943-946.
Kuhn P: Algorithms, Complexity Analysis and VLSI Architectures for MPEG-4 Motion Estimation. Kluwer Academic, Dordrecht, The Netherlands; 1999.
Kulmala A, Salminen E, Lehtoranta O, Hämäläinen TD, Hännikäinen M: Impact of shared instruction memory on performance of FPGA-based MP-SoC video encoder. The 9th IEEE workshop on Design and Diagnostics of Electronic Circuits and Systems (DDECS '06), April 2006, Prague, Czech Republic 59-64.
Lehtoranta O, Hämäläinen TD: Feasibility study of a real-time operating system for a multichannel MPEG-4 encoder. Multimedia on Mobile Devices, January 2005, San Jose, Calif, USA, Proceedings of SPIE 5684: 292-299.
Lehtoranta O, Hämäläinen TD, Lappalainen V, Mustonen J: Parallel implementation of video encoder on quad DSP system. Microprocessors and Microsystems 2002,26(1):1-15. 10.1016/S0141-9331(01)00141-7
Lehtoranta O, Salminen E, Kulmala A, Hännikäinen M, Hämäläinen TD: A parallel MPEG-4 encoder for FPGA based multiprocessor SoC. 15th International Conference on Field Programmable Logic and Applications (FPL '05), August 2005, Tampere, Finland 380-385.
Lin Y-L, Young C-P, Chang Y-J, Chung Y-H, Su AWY: Versatile PC/FPGA based verification/fast prototyping platform with multimedia applications. Proceedings of the 21st IEEE Instrumentation and Measurement Technology Conference (IMTC '04), May 2004, Como, Italy 2: 1490-1495.
Martina M, Molino A, Vacca F: FPGA system-on-chip soft IP design: a reconfigurable DSP. Proceedings of the 45th Midwest Symposium on Circuits and Systems (MWSCAS '02), August 2002, Tulsa, Okla, USA 3: 196-199.
Nang J, Kim J: An Effective parallelizing scheme of MPEG-1 video encoding on ethernet-connected workstations. Proceedings of the Conference on Advances in Parallel and Distributed Computing (APDC '97), March 1997, Shanghai, China 4-11.
OCP-IP Alliance : Open Core Protocol specification. Release 2.0, 2003
Peng Q, Jing J: H.264 codec system-on-chip design and verification. 5th International Conference on ASIC (ASICON '03), October 2003, Beijing, China 2: 922-925.
Peng Q, Zhao Y: Study on parallel approach in H.26L video encoder. 4th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT '03), August 2003, Chengdu, China 834-837.
Salminen E, Kangas T, Riihimäki J, Lahtinen V, Kuusilinna K, Hämäläinen TD: HIBI v.2 communication network for system-on-chip. In Computer Systems: Architectures, Modeling, and Simulation, Lecture Notes in Computer Science. Volume 3133. Edited by: Pimentel AD, Vassiliadis S. Springer, Berlin, Germany; 2004:412-422.
Salminen E, Kulmala A, Hämäläinen TD: HIBI-based multiprocessor SoC on FPGA. IEEE International Symposium on Circuits and Systems (ISCAS '05), May 2005, Kobe, Japan 3351-3354.
Wang X, Ziavras SG: Parallel direct solution of linear equations of FPGA-based machines. IEEE International Parallel & Distributed Processing Symposium (IPDPS '03), April 2003, Nice, France 113-120.
Yung NHC, Leung K-K: Spatial and temporal data parallelization of the H.261 video coding algorithm. IEEE Transactions on Circuits and Systems for Video Technology 2001,11(1):91-104. 10.1109/76.894289
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Kulmala, A., Lehtoranta, O., Hämäläinen, T. et al. Scalable MPEG-4 Encoder on FPGA Multiprocessor SOC. J Embedded Systems 2006, 038494 (2006). https://doi.org/10.1155/ES/2006/38494
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1155/ES/2006/38494
Keywords
- Video Code
- Code Algorithm
- Video Encode
- Horizontal Slice
- Spatial Parallelization