CN104796670A - Cross-platform multiway realtime video processing system architecture based on flow line architecture - Google Patents

Cross-platform multiway realtime video processing system architecture based on flow line architecture Download PDF

Info

Publication number
CN104796670A
CN104796670A CN201510197275.3A CN201510197275A CN104796670A CN 104796670 A CN104796670 A CN 104796670A CN 201510197275 A CN201510197275 A CN 201510197275A CN 104796670 A CN104796670 A CN 104796670A
Authority
CN
China
Prior art keywords
video
module
image
processing system
cross
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510197275.3A
Other languages
Chinese (zh)
Inventor
陈燮民
高杰
程腾
贾翔翔
刘倩荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Provincial Highway One Electronic Science And Technology Co Ltd
Original Assignee
Anhui Provincial Highway One Electronic Science And Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Provincial Highway One Electronic Science And Technology Co Ltd filed Critical Anhui Provincial Highway One Electronic Science And Technology Co Ltd
Priority to CN201510197275.3A priority Critical patent/CN104796670A/en
Publication of CN104796670A publication Critical patent/CN104796670A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

The invention discloses a cross-platform multiway realtime video processing system architecture based on a flow line architecture. The cross-platform multiway realtime video processing system is characterized by comprising a system layer, an abstraction layer and a library layer, a video resource acquiring module automatically reads collected image packet data, and a video image processing module decodes the collected image packet data read by the video resource acquiring module to be corresponding image frames; a control module acquires synchronous video frame sequences from a video synchronizing module and transmits the same to the video image processing module for processing; the control module acquires image video after being processed for an image displaying module to display and starts a video image storing module to store video images at the same time. Compared with the prior art, the cross-platform multiway realtime video processing system has the advantages that the multiway video processing system is abstracted to be a plurality of mutually-independent and mutually-coordinated subsystems, and the subsystems are not interdependent and can realize flexible replacement and combination to meet needs of different application scenes.

Description

Based on the cross-platform multichannel Real-time Video Processing System framework of pipelined architecture
Technical field
The present invention relates to video image processing technology, in particular a kind of cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture.
Background technology
Along with the develop rapidly of computer technology, the Capability Requirement of people to electronic equipment process video is also more and more higher.Meanwhile, computer video treatment technology is also applied to increasing field, as education, and commercial advertisement, video display amusement, medical treatment, tourism, human simulation etc.But wish to obtain wider visual angle as people, or during the panoramic video of large scene, the video of single channel cannot meet the demand of people.People are badly in need of using multi-channel video simultaneously, obtain larger visual angle.
Existing multi-channel video processing system is all confined to a certain professional domain to a great extent, cannot be extended to other multi-channel video processing field very easily.The video monitoring system of such as multichannel and the difference of overall view monitoring system are only the stitching algorithm of multiway images, but all functions of these two kinds of systems all need all again to develop: the collection comprising video, transmission, and encoding and decoding, display, stores etc.Urgently develop a kind of video image system framework applications in the processing system for video of multichannel.
Summary of the invention
The object of the invention is to overcome the deficiencies in the prior art, provide a kind of cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture
The present invention is achieved by the following technical solutions: based on the cross-platform multichannel Real-time Video Processing System framework of pipelined architecture, comprise system layer, level of abstraction and storehouse layer, described storehouse layer comprises cross-platform assembly c++11, ffmpeg, sdl and opengl;
Described system layer comprises control module, Computer Vision module and video image and preserves module; Described level of abstraction comprises video resource acquisition module, Video decoding module, audio video synchronization module and image display;
Video acquisition module gathers external video data, starts control module, and source obtaining module reads the image bag data of collection automatically frequently, and video resource acquisition module is read the image bag gathered and is decoded as corresponding picture frame by Computer Vision module; Control module obtains synchronous sequence of frames of video from audio video synchronization module, then is transmitted in Computer Vision resume module; Control module obtains the image/video after process for image display display, and startup video image is preserved module and preserved video image simultaneously.
As the further optimization of such scheme, described control module is for responding user's request, and Computer Vision module, described video resource acquisition module and described Video decoding module described in cooperation control.
As the further optimization of such scheme, described level of abstraction also comprises image scaling processing module, for the control command of response module, carries out convergent-divergent process to the video image that video resource acquisition module obtains.
As the further optimization of such scheme, described audio video synchronization module realizes based on the synchronized algorithm of frame of video corresponding time, and each frame data in video source are preserved in the synchronous chained list queue of corresponding secondary.
The present invention has the following advantages compared to existing technology: the invention provides a kind of cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture, have real-time, platform-neutral, video source independence, the advantages such as video format independence.But the invention provides a kind of cross-platform multichannel Real-time Video Processing System frame based on pipelined architecture by abstract for multi-channel video processing system be some separate co-operating subsystems, do not interdepend between each subsystem, and can replace and combine to realize the demand of different application scene flexibly.Improve the durability of system component, flexibility, extensibility and stability.
Accompanying drawing explanation
Fig. 1 is the system architecture diagram of the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture of the present invention.
Fig. 2 is the module interaction figure of the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture of the present invention.
Fig. 3 is the realization flow interaction figure of the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture of the present invention.
Fig. 4 is the synchronous process schematic diagram of the preferred embodiment of the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture of the present invention.
Embodiment
Elaborate to embodiments of the invention below, the present embodiment is implemented under premised on technical solution of the present invention, give detailed execution mode and concrete operating process, but protection scope of the present invention is not limited to following embodiment.
See Fig. 1, it is the system architecture diagram of the preferred embodiments of the present invention.Based on the cross-platform multichannel Real-time Video Processing System framework of pipelined architecture, comprise system layer, level of abstraction and storehouse layer.Storehouse layer comprises cross-platform assembly c++11, FFmpeg, sdl SDL and OpenGL.System layer comprises control module, Computer Vision module and video image and preserves module.Level of abstraction comprises video resource acquisition module, Video decoding module, audio video synchronization module and image display.
Storehouse layer encapsulates by level of abstraction, the dependence of decoupled system layer and storehouse layer.Image display encapsulation sdl storehouse, decoupled system layer associates with sdl storehouse.The function of system layer combination level of abstraction, the function of collaborate completion system.System layer adopts the framework of MVC, and wherein control module is the control centre in MVC.
FFmpeg (Fast Forward mpeg): FFmpeg is a set of record, converted digital audio, video of can being used for, and can be translated into the storehouse of increasing income of stream.Adopt LGPL or GPL licence.It provide recording, conversion and the total solution of fluidisation audio frequency and video.
SDL (Simple DirectMedia Layer): the cross-platform multimedia development storehouse being a set of open source code, uses C language to be write as.SDL provides the function that several control image, sound, import and export, as long as allow developer with identical or similar code development across multiple platform, as the application software of Linux, Windows, Mac OS X etc.
An OpenGL (Open Graphics Library): be define a graphic package interface across the specialty of programming language, cross-platform DLL (dynamic link library) specification.It is for 3-D view, two dimension also can, be one powerful, call underlying graphics storehouse easily.
C++11 (ISO/IEC 14882:2011-Information technology--Programming languages--C++): replacement C++ standard second edition ISO/IEC14882:2003-Programming languages--C++ is become C Plus Plus new standard by it.C++11 contains the new function of kernel language, and expands C++ standard library, and adds most C++Technical Report 1 program library.
See Fig. 2, it is the module interaction figure of the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture of the present invention.Control module MultiPlayer control synchronization module SyncQueue, interior processing module Player, image scaling processing module Scaler, Computer Vision module I mageProcessor, video image preserve module Recorder, image display SDL for showing the video image through control module MultiPlayer manipulation.
Interior processing module Player composite video source obtaining module PlayerSource and Video decoding module Stream obtains image decoding from video source, and processes disconnection and reconnect.Each video source is the manipulation object of an interior processing module Player.
Synchronization module SyncQueue is synchronous and give Computer Vision module I mageProcessor process by synchronized algorithm by the frame of video of multiple interior processing module Player decoding.Computer Vision module I mageProcessor adopts merging algorithm for images to be merged by the video data of multiple interior processing module Player.Synchronization module SyncQueue realizes based on time synchronized queue TimeSyncQueue, and the synchronized algorithm based on video frame time realizes.
Video resource acquisition module PlayerSource obtains the video source FFmpegPlayerSource of storehouse layer FFmpeg.Video decoding module Stream realizes based on the video flowing FFmpegStream of storehouse layer FFmpeg.
Object video realizes audio video synchronization module PacketQueue based on the general type isochronous queue that semaphore realizes and synchronously realizes.Object video comprises image bag MyAVPacket, picture frame MyAVFrame and picture MyAVPicture.Wherein, image bag MyAVPacket is the video data of memory encoding, and picture frame MyAVFrame stores a decoded frame video image, and picture MyAVPicture is the image after storing convergent-divergent
See the realization flow interaction figure that Fig. 3 is the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture.Video acquisition module gathers external video data, starts control module MultiPlayer, and interior processing module Player starts internal thread reads collection automatically image bag MyAVPacket data from frequency source obtaining module PlayerSource; Video resource acquisition module PlayerSource is read the image bag MyAVPacket gathered and is decoded as corresponding picture frame MyAVFrame by the internal thread of interior processing module Player; Control module MultiPlayer obtains synchronous sequence of frames of video from the time synchronized queue TimeSyncQueue audio video synchronization module, then is transmitted in Computer Vision module I mageProcessor process; Control module MultiPlayer obtains the image/video after process for image display display, and startup video image is preserved module Recorder and preserved video image simultaneously.
Based on the general type isochronous queue of Semaphore Mechanism
Pipelined architecture unavoidably needs the result using queue buffer memory upper level streamline.Audio video synchronization module PacketQueue is designed to the general type isochronous queue of thread-safe, and uses semaphore to realize the synchronous of cross-thread.Audio video synchronization module PacketQueue mainly contains Put () and Get () operation, realizes false code as follows:
PacketQueue<class T>::Put(shared_ptr<T>item):
1.Lock(mutex);
2.PushQueue(queue,item);
3.if(QueueFull(queue))PopQueue(queue);
4.Notify(Semaphore);
5.Unlock(mutex);
PacketQueue<class T>::Get(int block,int waitMils,int pop):
1.Lock(mutex);
2.shared_ptr<T>item;
3.while(True):
4.if(HasItem(queue)):
5.item=GetItem(queue);
6.if(pop)PopQueue(queue);
7.break;
8.else if(block):
9.Wait(Semaphore,waitMils);
10.else
11.break;
12.Unlock(mutex);
13.return item;
The synchronized algorithm of the time synchronized queue TimeSyncQueue of audio video synchronization module PacketQueue is one group of sequence of frames of video that in the frame of video in order to take out different video source, the time is the most close.0th frame of Player0 is as shown in Figure 4 at 80ms place, the frame of video of Player1 is at 70ms place, the frame of video 0 of Player2 is at 30ms place, frame of video 1 is at 70ms place, then synchronized algorithm can skip the 0th frame of Player2, by the 0th frame of Player0, the 0th frame of Player1 and the 1st frame of Player2 take out.
Synchronized algorithm can choose one for masterPlayer in Player0-PlayerN, and can using the initial time of masterPlayer first frame as lock in time.Each frame in other slavePlayer can contrast with the initial time of masterPlayer, selects an immediate frame.
The false code that synchronized algorithm realizes is as follows:
system_clock::time_point
TimeSyncQueue::Get(DYSyncQueueResultList&result)
1.masterItem=GetItem(masterPlayer);
2.if(NULL==masterItem&&NeedChangeMaster())ChangeMaster(&masterPlayer);
3.return;
4.for(slavePlayer in slavePlayerList):
5.slaveItem=NULL;
6.do:
7.slaveItem=GetItem(slavePlayer);
8.if(NULL==slaveItem)break;
9.slaveCache=slaveItem//cache
10.if(CheckDuration(slaveItem,masterItem))break;
11.while(true)
12.if(slaveItem==NULL)slaveItem=slaveCache;//use lastcache instead
13.ClearCacheIfNecessary(slaveCache);
The invention provides a kind of cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture, there is real-time, platform-neutral, video source independence, the advantages such as video format independence.But the invention provides a kind of cross-platform multichannel Real-time Video Processing System frame based on pipelined architecture by abstract for multi-channel video processing system be some separate co-operating subsystems, do not interdepend between each subsystem, and can replace and combine to realize the demand of different application scene flexibly.Improve the durability of system component, flexibility, extensibility and stability.
The invention provides a kind of cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture to be mainly used in vehicle-mounted 360 degree of panoramic parking systems.Also can be applied in other multi-channel video processing system very easily, as the video monitoring system etc. of multichannel simultaneously.360 degree of panoramic parking systems generally can all around install 4 bugeye lenses at vehicle body, the 360 panorama vertical views that final driving one secondary vehicle's surroundings is seamless after image procossing.While display panoramic picture, also can show either party single-view.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, all any amendments done within the spirit and principles in the present invention, equivalent replacement and improvement etc., all should be included within protection scope of the present invention.

Claims (4)

1., based on the cross-platform multichannel Real-time Video Processing System framework of pipelined architecture, it is characterized in that, comprising: system layer, level of abstraction and storehouse layer, described storehouse layer comprises cross-platform assembly c++11, ffmpeg, sdl and opengl,
Described system layer comprises control module, Computer Vision module and video image and preserves module; Described level of abstraction comprises video resource acquisition module, Video decoding module, audio video synchronization module and image display;
Video acquisition module gathers external video data, starts control module, and source obtaining module reads the image bag data of collection automatically frequently, and video resource acquisition module is read the image bag gathered and is decoded as corresponding picture frame by Computer Vision module; Control module obtains synchronous sequence of frames of video from audio video synchronization module, then is transmitted in Computer Vision resume module; Control module obtains the image/video after process for image display display, and startup video image is preserved module and preserved video image simultaneously.
2. the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture according to claim 1, it is characterized in that: described control module is for responding user's request, and Computer Vision module, described video resource acquisition module and described Video decoding module described in cooperation control.
3. the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture according to claim 1, it is characterized in that: described level of abstraction also comprises image scaling processing module, for the control command of response module, convergent-divergent process is carried out to the video image that video resource acquisition module obtains.
4. the cross-platform multichannel Real-time Video Processing System framework based on pipelined architecture according to claim 1, it is characterized in that: described audio video synchronization module realizes based on the synchronized algorithm of time corresponding to vedio data frame, each frame data in video source are preserved in the synchronous chained list queue of corresponding secondary.
CN201510197275.3A 2015-04-23 2015-04-23 Cross-platform multiway realtime video processing system architecture based on flow line architecture Pending CN104796670A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510197275.3A CN104796670A (en) 2015-04-23 2015-04-23 Cross-platform multiway realtime video processing system architecture based on flow line architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510197275.3A CN104796670A (en) 2015-04-23 2015-04-23 Cross-platform multiway realtime video processing system architecture based on flow line architecture

Publications (1)

Publication Number Publication Date
CN104796670A true CN104796670A (en) 2015-07-22

Family

ID=53561149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510197275.3A Pending CN104796670A (en) 2015-04-23 2015-04-23 Cross-platform multiway realtime video processing system architecture based on flow line architecture

Country Status (1)

Country Link
CN (1) CN104796670A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788282A (en) * 2019-11-08 2021-05-11 株洲中车时代电气股份有限公司 Video information acquisition method and application thereof
CN115514940A (en) * 2022-11-22 2022-12-23 天地伟业技术有限公司 Method for building multi-view video monitoring system and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641690A (en) * 2007-01-22 2010-02-03 E3网络股份有限公司 Be used to generate the method and the middleware platform engine thereof of cross platform program
CN101814024A (en) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 Framework and tool for designing cross-platform 3D interface
CN102158762A (en) * 2011-03-15 2011-08-17 深圳市酷开网络科技有限公司 Method and system for achieving television user interface based on SDL (System Descriptive Language)
CN103888771A (en) * 2013-12-30 2014-06-25 中山大学深圳研究院 Parallel video image processing method based on GPGPU technology
CN104410807A (en) * 2014-11-24 2015-03-11 深圳市华宝电子科技有限公司 Method and device for synchronously replaying multi-channel video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641690A (en) * 2007-01-22 2010-02-03 E3网络股份有限公司 Be used to generate the method and the middleware platform engine thereof of cross platform program
CN101814024A (en) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 Framework and tool for designing cross-platform 3D interface
CN102158762A (en) * 2011-03-15 2011-08-17 深圳市酷开网络科技有限公司 Method and system for achieving television user interface based on SDL (System Descriptive Language)
CN103888771A (en) * 2013-12-30 2014-06-25 中山大学深圳研究院 Parallel video image processing method based on GPGPU technology
CN104410807A (en) * 2014-11-24 2015-03-11 深圳市华宝电子科技有限公司 Method and device for synchronously replaying multi-channel video

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
尚海忠,朱培彦,王霞等: "操作系统抽象层-一种支持跨平台的新技术", 《计算机工程》 *
李科,李璐,兰时勇: "基于FFmpeg和SDL实现多路实时流变换及播放", 《计算机技术与发展》 *
蒋鹏: "基于SDL库的跨平台多媒体应用", 《福建电脑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112788282A (en) * 2019-11-08 2021-05-11 株洲中车时代电气股份有限公司 Video information acquisition method and application thereof
CN115514940A (en) * 2022-11-22 2022-12-23 天地伟业技术有限公司 Method for building multi-view video monitoring system and electronic equipment
WO2024108703A1 (en) * 2022-11-22 2024-05-30 天地伟业技术有限公司 Multi-view video monitoring system building method and electronic device

Similar Documents

Publication Publication Date Title
US11750787B2 (en) Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
CN111213183A (en) Method and device for rendering three-dimensional content
WO2018048287A1 (en) Image processing method and device for projecting image of virtual reality content
EP1784021B1 (en) Video processing with multiple graphics processing units
US9001229B2 (en) Multiple sensor input data synthesis
US10148875B1 (en) Method and system for interfacing multiple channels of panoramic videos with a high-definition port of a processor
CN110073662A (en) The suggestion viewport of panoramic video indicates
WO2014052437A1 (en) Encoding images using a 3d mesh of polygons and corresponding textures
WO2021018070A1 (en) Image display method and electronic device
CN111064906A (en) Domestic processor and domestic FPGA multi-path 4K high-definition video comprehensive display method
CN101877767A (en) Method and system for generating three-dimensional panoramic continuous video through six-channel video source
WO2018103384A1 (en) Method, device and system for playing 360 degree panoramic video
CN209028563U (en) A kind of VR all-in-one machine for cooperating PC to use
US20200366962A1 (en) Bitstream merger and extractor
TW201810189A (en) File format for indication of video content
CN106530312B (en) One kind being based on low-power-consumption embedded system real-time image scratching method
CN103037169A (en) Picture split joint combination method of embedded hard disk video
CN104796670A (en) Cross-platform multiway realtime video processing system architecture based on flow line architecture
CN107580228B (en) Monitoring video processing method, device and equipment
CN104581075A (en) Panoramic video processing system and method based on heterogeneous platform
CN105163128B (en) A kind of screen picture acquisition methods for accelerating image to change parallel using GPU
WO2023280266A1 (en) Fisheye image compression method, fisheye video stream compression method and panoramic video generation method
Kim et al. A real-time MPEG encoder using a programmable processor
US7298425B2 (en) Method for assisting video compression in a computer system
JP2014041455A (en) Image processing device, image processing method, and program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150722

RJ01 Rejection of invention patent application after publication