I am looking for a framework for my image processing pipeline. During my search I see a lot of DDS and RTPS terms used interchangeably here and there.
Are they the same thing? If yes then why 2 different terms, if no then what is the difference?
Are they the same thing?
DDS and RTPS are not the same thing.
if no then what is the difference?
In a nutshell, RTPS is a wire protocol that is often leveraged by DDS systems to achieve their inter-process (network) communications. You can see them as two layers in a stack, with DDS sitting on top of RTPS.
RTPS stands for Real-Time Publish Subscribe. It is now more formally known as OMG DDSI-RTPS, where DDSI stands for DDS Interoperability. It is standardized by the Object Management Group (OMG) with the purpose to provide an interoperability wire protocol for DDS implementations.
DDS stands for Data Distribution Service. It is a data-centric connectivity framework based on the publish-subscribe paradigm. The OMG DDS specification describes an API as well as the expected behavior of DDS infrastructures. It provides its users with advanced data-management features, including a comprehensive type system, multiple communication patterns and different types of Quality of Service, which simplify the task of building distributed (real-time) systems.
It is common, although not required, for DDS implementations to leverage the DDSI-RTPS wire protocol under the hood to achieve the required inter-process (network) communications. DDS users do not have to be aware of the inner workings of RTPS, although it is possible get a glimpse by using Wireshark, which comes with an RTPS dissector. If the requirements include combining applications built with different DDS implementations in a single system, then RTPS support is a must.
It is also possible to use RTPS as a protocol by itself, without a full DDS implementation on top of it and without the use of a standardized API. That does not provide many of the DDS-features that I mentioned earlier, but only the lower level publish-subscribe functionality.