Abstract
PCI Express (PCIe) interface has been extensively used in high-speed digital systems for multimedia communication. With the migration of the video processing algorithms from host to embedded hardware, multi-channel video capturing systems will produce not only different channels of raw video data but also different types of auxiliary data, such as analyzed data and compressed stream. In order to display multi-channel video in real-time and explore the auxiliary data, conventional transmission strategies are no longer applicable, due to the fact that heterogeneous data will cause frequent interactions and lead to the waste of PCIe bandwidth. In this paper, an efficient PCIe transmission method for multi-channel video is presented. Firstly, for the transmission of multi-type video data, a dynamic splicing mechanism is proposed to combine the video analyzed data and the compressed stream with the raw video to avoid the individual transmission of the auxiliary data. Secondly, as the spliced data are from different channels, a conditional prefetching mechanism is employed to determine whether there exists any entire video frame in other channel buffers, so that multi-channel video data can be transmitted possibly at one time. Finally, in the host-side driver, direct kernel buffer access technique is used to improve the application I/O request packet (IRP) performance. And to ensure the transmission efficiency of the conditional prefetching, DMA circular queue buffer and timer self-feedback monitor techniques are designed to avoid the possible visit bursts and abnormal interruptions. Experimental results demonstrate that compared with the conventional methods, the proposed method reduces the interrupt interactions by 60%, increases the transmission channel number by 94%, and also increases the application IRP number by 54%. The peak transmission speed of PCIe is up to 155 MB/s, which can meet 7 channels 704 × 576 YUV raw video and its auxiliary data transmission requirements using one 1-lane PCIe endpoint.
Similar content being viewed by others
References
Antony A, Sreelekha G (2015) HEVC-based lossless intra coding for efficient still image compression. Multimed Tools Appl. doi:10.1007/s 11042-015-3138-8
Berg R, Konig L, Ruhaak J, Lausen R, Fischer B (2014) Highly efficient image registration for embedded systems using a distributed multicore DSP architecture. Springer J Real-Time Image Proces. doi:10.1007/s11554-014-0457-3
Bittner R (2009) Bus mastering PCI express in an FPGA. ACM/SIGDA International Symposium on Field Programmable Gate Arrays, In, pp 273–276
Bittner R, Ruf E, Forin A (2014) Direct GPU/FPGA communication via PCI express. Springer J Clust Comp. 17(2):339–348
Caselle M, Chilingaryan S, Herth A et al (2013) Ultrafast streaming camera platform for scientific applications. IEEE Trans Nuclear Sci. 60(5):3669–3677
Cucchiara R, Prati A, Piccardi M (2003) Improving data prefetching efficacy in multimedia applications. Multimed Tools Appl. doi:10.1023/A:1023687722225
Greisen P, Heinzle S, Gross M, Andreas P-B (2011) An FPGA-based processing pipeline for high-definition stereo video. J Image Vid Process. doi:10.1186/1687-5281-2011-18
Han L, Zhao Y-X, Yu S-J, Zhao B-J et al. (2014) A general solution for multi-thread based multi-source compressed video surveillance system. In: 2014 I.E. International Conference on Security, Pattern Analysis, and Cybernetics (SPAC). pp. 95–99
Huang Z-W, Zheng X, Zeng X-X, Liu Z-J (2012) PCI Express bus design of large format array IRFPA high-speed acquisition system. In: IEEE 6th International Symposium on Advanced Optical Manufacturing and Testing Technologies: Optical Test and Measurement technique and Equipment. pp. 84172 K-1-84172 K-8
Texas Instruments. TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor data manual
Kavianipour H, Muschter S, Bohm C (2014) High performance FPGA-based DMA interface for PCIe. IEEE Trans Nuclear Sci. 61(2):745–749
Li S, Tsao SYLEE (2012) Performance evaluation of inter-processor communication for an embedded heterogeneous multi-core processor. J Info Sci Eng. 28(3):537–554
Li B, Peng Y, Liu D-T, Peng X-Y (2009) A high speed DMA transaction method for PCI express devices. J Electron Sci Tech China. doi:10.1109/CAS-ICTD.2009.4960747
Lin K-J, Chen W-J, Hsiao W-T (2009) Scheduling video recording to minimize distance-jitter for surveillance systems. In: IEEE 13th International Symposium on Consumer Electronics. pp. 255–258
Liu C, Zhou Q, Wang W-J (2011) A high-speed LVDS acquisition card based on PCI Express. In: IEEE Conference on Industrial Electronics and Applications (ICIEA). pp. 2231–2234
Makowski D, Mielczarek A, Perek P, Jablonski G et al (2015) High-performance image acquisition and processing system with MTCA.4. IEEE Trans Nuclear Sci. 62(3):925–931
Marcus G, Gao W-X, Kugel A (2011) The MPRACE framework: An open source stack for communication with custom FPGA-based accelerators. In: IEEE VII Southern Conference on Programmable Logic (SPL). pp. 155–160
Mielczarek A, Perek P, Makowski D et al (2013) AMC frame grabber module with PCIe interface. IEEE International Conference on Mixed Design of Integrated Circuits and Systems, In, pp 137–142
Minami S, Hoffmann J, Kurz N, Ott W (2011) Design and implementation of a data transfer protocol via optical fiber. IEEE Trans Nuclear Sci. 58(4):1816–1819
Nejmeddine B, Thierry G, Med A-B-A, Nouri M, Mohamed A (2016) Embedded real-time H264/AVC high definition video encoder on TI’s KeyStone multicore DSP. J Signal Process Sys. doi:10.1007/s11265-015-1098-x
Rota L, Caselle M, Chilingaryan S, Kopmann A, Weber M (2015) A PCIe DMA architecture for multi-gigabyte per second data transmission. IEEE Trans Nuclear Sci. 62(3):972–976
Sahlbach H, Thiele D, Ernst R (2014) A system-level FPGA design methodology for video applications with weakly-programmable hardware components. Springer J Real-Time Image Process. doi:10.1007/s11554-014-0403-4
Santos J, Zilker M, Guimarais L et al (2011) COTS-based high-data-throughput acquisition system for a real-time reflectometry diagnostic. IEEE Trans Nuclear Sci. 58(4):1–7
Sun S-M, Jiang H-X, Li B (2015) An efficient Markov chain-based data prefetching for motion estimation of HEVC on multi-core DSPs. Multimed Tools Appl. doi:10.1007/s 11042-015-2721-3
Thoma Y, Dassatti A, Molla D, Petraglio E (2015) FPGA-GPU communicating through PCIe. ELSEVIER J Micropro Microsys. 39(7):565–575
Wang S-M, Xu Z-Y, Zhang Y, Fu C-Y (2014) PCIe interface design for high-speed image storage system based on SSD. In: IEEE 20th International Symposium on High-Power Laser Systems and Applications. pp. 925544–1–925544-6
Yoon H, Yunho J, Seongjoo L (2015) An image sequence transmission method in wireless video surveillance systems. Springer J Wireless Personal Comm. 82(3): 1225–12386. Park C, Ki H (2014) Short-term reliable protocol for low latency video transmission. In: IEEE International Conference on Computational Science and Computational Intelligence. pp. 311–312
Zhuang J-C, Doyle B, Fang E (2011) Linear equalization and PVT-independent DC wander compensation for AC-coupled PCIe 3.0 receiver front end. IEEE Trans Circuits Syst II: Exp Briefs. 58(5):289–293
Acknowledgements
This work was partially supported by the National Key Research and Development Program of China (Grant No. 2016YFC0801003) and the NSFC (No. 61272347).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Liu, T., Jiang, H., Li, H. et al. Efficient PCIe transmission for Multi-Channel video using dynamic splicing and conditional prefetching. Multimed Tools Appl 76, 25057–25078 (2017). https://doi.org/10.1007/s11042-017-4410-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-017-4410-x