{"title":"一个灵活的软件架构,用于可扩展的实时图像和视频处理应用","authors":"R. Usamentiaga, J. Molleda, D. García, F. Bulnes","doi":"10.1117/12.921397","DOIUrl":null,"url":null,"abstract":"Real-time image and video processing applications require skilled architects, and recent trends in the hardware \nplatform make the design and implementation of these applications increasingly complex. Many frameworks and \nlibraries have been proposed or commercialized to simplify the design and tuning of real-time image processing \napplications. However, they tend to lack flexibility because they are normally oriented towards particular types \nof applications, or they impose specific data processing models such as the pipeline. Other issues include large \nmemory footprints, difficulty for reuse and inefficient execution on multicore processors. This paper presents a \nnovel software architecture for real-time image and video processing applications which addresses these issues. \nThe architecture is divided into three layers: the platform abstraction layer, the messaging layer, and the \napplication layer. The platform abstraction layer provides a high level application programming interface for \nthe rest of the architecture. The messaging layer provides a message passing interface based on a dynamic \npublish/subscribe pattern. A topic-based filtering in which messages are published to topics is used to route \nthe messages from the publishers to the subscribers interested in a particular type of messages. The application \nlayer provides a repository for reusable application modules designed for real-time image and video processing \napplications. These modules, which include acquisition, visualization, communication, user interface and data \nprocessing modules, take advantage of the power of other well-known libraries such as OpenCV, Intel IPP, \nor CUDA. Finally, we present different prototypes and applications to show the possibilities of the proposed \narchitecture.","PeriodicalId":369288,"journal":{"name":"Real-Time Image and Video Processing","volume":"78 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A flexible software architecture for scalable real-time image and video processing applications\",\"authors\":\"R. Usamentiaga, J. Molleda, D. García, F. Bulnes\",\"doi\":\"10.1117/12.921397\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Real-time image and video processing applications require skilled architects, and recent trends in the hardware \\nplatform make the design and implementation of these applications increasingly complex. Many frameworks and \\nlibraries have been proposed or commercialized to simplify the design and tuning of real-time image processing \\napplications. However, they tend to lack flexibility because they are normally oriented towards particular types \\nof applications, or they impose specific data processing models such as the pipeline. Other issues include large \\nmemory footprints, difficulty for reuse and inefficient execution on multicore processors. This paper presents a \\nnovel software architecture for real-time image and video processing applications which addresses these issues. \\nThe architecture is divided into three layers: the platform abstraction layer, the messaging layer, and the \\napplication layer. The platform abstraction layer provides a high level application programming interface for \\nthe rest of the architecture. The messaging layer provides a message passing interface based on a dynamic \\npublish/subscribe pattern. A topic-based filtering in which messages are published to topics is used to route \\nthe messages from the publishers to the subscribers interested in a particular type of messages. The application \\nlayer provides a repository for reusable application modules designed for real-time image and video processing \\napplications. These modules, which include acquisition, visualization, communication, user interface and data \\nprocessing modules, take advantage of the power of other well-known libraries such as OpenCV, Intel IPP, \\nor CUDA. Finally, we present different prototypes and applications to show the possibilities of the proposed \\narchitecture.\",\"PeriodicalId\":369288,\"journal\":{\"name\":\"Real-Time Image and Video Processing\",\"volume\":\"78 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Real-Time Image and Video Processing\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1117/12.921397\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Real-Time Image and Video Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1117/12.921397","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A flexible software architecture for scalable real-time image and video processing applications
Real-time image and video processing applications require skilled architects, and recent trends in the hardware
platform make the design and implementation of these applications increasingly complex. Many frameworks and
libraries have been proposed or commercialized to simplify the design and tuning of real-time image processing
applications. However, they tend to lack flexibility because they are normally oriented towards particular types
of applications, or they impose specific data processing models such as the pipeline. Other issues include large
memory footprints, difficulty for reuse and inefficient execution on multicore processors. This paper presents a
novel software architecture for real-time image and video processing applications which addresses these issues.
The architecture is divided into three layers: the platform abstraction layer, the messaging layer, and the
application layer. The platform abstraction layer provides a high level application programming interface for
the rest of the architecture. The messaging layer provides a message passing interface based on a dynamic
publish/subscribe pattern. A topic-based filtering in which messages are published to topics is used to route
the messages from the publishers to the subscribers interested in a particular type of messages. The application
layer provides a repository for reusable application modules designed for real-time image and video processing
applications. These modules, which include acquisition, visualization, communication, user interface and data
processing modules, take advantage of the power of other well-known libraries such as OpenCV, Intel IPP,
or CUDA. Finally, we present different prototypes and applications to show the possibilities of the proposed
architecture.