视频中的色彩空间
什么是色彩空间 色彩空间是一种对颜色范围的数学表示。在谈论视频时,很多人提到“色彩空间”(color space)时,其实指的是“色彩模型”(color model)。常见的色彩模型包括 RGB、YUV 4:4:4、YUV 4:2:2 和 YUV 4:2:0。本文旨在解释视频环境下颜色的表示方式,同时概述常见色彩模型之间的区别。 颜色是如何以数字形式表示的? 几乎所有的显示设备——无论...
什么是色彩空间 色彩空间是一种对颜色范围的数学表示。在谈论视频时,很多人提到“色彩空间”(color space)时,其实指的是“色彩模型”(color model)。常见的色彩模型包括 RGB、YUV 4:4:4、YUV 4:2:2 和 YUV 4:2:0。本文旨在解释视频环境下颜色的表示方式,同时概述常见色彩模型之间的区别。 颜色是如何以数字形式表示的? 几乎所有的显示设备——无论...
什么是 H264? H.264 是一种视频压缩的行业标准,它指的是将数字视频转换为在存储或传输时占用更少容量的格式的过程。视频压缩(或称视频编码)是一项关键技术,被广泛应用于数字电视、DVD-Video、移动电视、视频会议和互联网视频流等场景。视频压缩标准化的意义在于,不同厂商生产的产品(如编码器、解码器和存储介质)能够实现互操作。编码器的作用是将视频转换为压缩格式,而解码器的作用是将压缩...
WebRTC 是什么? WebRTC 是 Web 实时通信(Real-Time Communication)的缩写,它既是 API 也是协议。WebRTC 协议是两个 WebRTC Agent 协商双向安全实时通信的一组规则。开发人员可以通过 WebRTC API 使用 WebRTC 协议。目前 WebRTC API 仅有 JavaScript 版本。 可以用 HTTP 和 Fetch ...
ETAS CM介绍 什么是通信管理(Communication Management)? 通信管理是自适应平台(Adaptive Platform)架构中的一个功能集群(Functional Cluster)。 作为一个功能集群,通信管理向应用程序提供了一个C++ API,用于实现面向服务的通信(Service-Oriented Communication)。服务是由应用程序提供的功能...
平台监控管理介绍 什么是平台健康管理? 平台健康管理(Platform Health Management,简称 PHM)是自适应平台(Adaptive Platform)架构中的一个功能集群(Functional Cluster)。平台健康管理用于监控各个应用实例(Application Instance)的执行情况,以确定应用的本地状态,并根据所有上报应用的状态推导出全局平台健康状态...
背景介绍 在汽车行业,随着车辆电子化、智能化程度的提高,汽车中电子控制单元(ECU)的数量已经从早期的几个增加到几十甚至上百个。这些 ECU 负责管理发动机、变速器、安全系统、娱乐系统等功能。为了确保车辆在整个生命周期内的性能稳定并快速诊断故障,Diagnostic Manager(诊断管理器)成为车辆电子架构中不可或缺的一部分。Diagnostic Manager 是基于国际诊断协议(如...
先前准备 在vmware上安装两个ubuntu20.04版本的虚拟机(用来COM的远程通信),推荐使用ubuntu-server。安装好后,输入以下命令 sudo ln -s /lib/x86_64-linux-gnu/ld-2.31.so /lib/ld-linux-x86-64.so.2 将ld库拷贝至/lib目录下。 [!NOTE] etas ap的虚拟机中,即使...
[!NOTE] sudo密码:dev12345 1. 下载安装VirtualBox虚拟机 Downloads – Oracle VM VirtualBox 3. 解压etas压缩包并打开 4. 修改默认键盘布局 5. 关闭vitrualbox与宿主机时间同步 在virtualbox输入以下命令: VBoxManage list vms ...
相关项目 AraPHM_Example是ETAS提供的官方示例。在ETAS文档中也有对此项目进行详细的说明。下面的内容来至ETAS提供的Example文档。 ETAS对AraPHM_Example的说明 一个自适应应用程序,展示了以下监督机制的使用: 期限监督(Deadline Supervision):一种机制,用于检查从“期限开始检查点”到对应的“期限结束检查点”的过渡执...
内置协议 BuiltinProtocols类是内置协议的主要处理器。BuiltinProtocols包括以下主要数据: //协议属性字段 BuiltinAttributes m_att; //服务发现的PDP对象 PDP* mp_PDP; //WriterLiveness 对象,用于心跳保活 WLP* mp_WLP; //!Pointer to the TypeLookupManager...
ubuntu24.04搭建开发环境 在ubuntu下,进行C/C++开发需要安装gcc/g++编译器,以及make工具,直接安装build-essential可以安装相关的构建工具。 sudo apt update sudo apt upgrade sudo apt install build-essential 现在很多项目都使用到了cmake工具,还需要安装cmake: sud...
Linux源码编译 创建一个 Fast-DDS 目录,用于下载并构建 eProsima Fast DDS 及其依赖项: mkdir ~/Fast-DDS 克隆以下依赖项,并使用 CMake 编译它们。 Foonathan memory cd ~/Fast-DDS git cl...
注意 在抓包时偶然发现在不同的机器上服务发现的数据是不太一样的,已经测试过同一机器运行客户端服务端,不同机器运行客户端服务端,开启SHM或者关闭SHM 发现的数据都是可能不同的,因为服务发现的参数列表(QOS)允许厂商自定义的信息,某些参数可能还会以列表形式下发,根据机器的不同参数的不同所以数据会有所差异,以下是不同的抓包数据截图 名称 ...
什么是DDS DDS是一个以数据为中心的通信组件,主要用在分布式软件的通信领域。它定义了应用程序的通信API和通信语义,这使得数据提供者和数据消费者之间通信成为可能。 因为它是一个DCPS模型,DDS的实现中定义了3个关键的应用实体:发布实体、订阅实体、配置实体(它定义了消息类型、创建带有QoS的发布者和订阅者,用来确保发布者和订阅者之间正确的数据传输)。 DDS使用QoS定义DDS实...
整体框架 各模块之间的关系 classDiagram class routing_host { <<Abstract>> } class routing_manager { <<Abstract>> } class routing_manager_base { <<Abstract>&g...
应用场景:传输大数据时,为了减少延时,RTI Connext DDS提供了两种方式,Zero Copy transfer over shared memory和FlatData Language binding。 延时的产生 当使用Connext DDS时,在任何一个通用的连接框架中,延时的产生一般由三部分:middleware,copy,transport。 Middlewar...
类别 说明 DATA(p) 域参与者的信息,包含参与者的GUID,QoS等信息。 DATA(w) DataWriter的信息,包含topic name,type,QoS等信息。 DATA(r) DataRea...
简介 系统基本构成 DDS (Data Distribution Service,数据分发服务 ) 是一种基于数据的通信中间件标准,目的是建立分布式系统的高质量的数据通信。目前广泛应用于航空航天、汽车自动驾驶以及机器人、物联网等领域。 DDS 的本质是一个数据总线,通过在提供一个共享数据空间,实现各个系统之间的通信。 DDS 使用发布-订阅通信模式来创建去中心化、架构独立、可扩展的...
CPack 是 CMake 中的一个模块,用于为 CMake 构建的项目生成软件包。它支持多种不同的平台和包管理器,如 DEB、RPM、NSIS、DMG 等,使得软件发布和分发变得更加容易。以下是 CPack 的一些关键点: 1. 基本工作流程 CPack 通常与 CMake 一起使用。你可以在 CMake 的 CMakeLists.txt 文件中进行配置,并通过 cpack 命令生成安装...
DDS(Data Distribution Service for Real-Time Systems)是一种用于分布式系统的中间件协议和API标准,由对象管理组织(Object Management Group, OMG)定义。DDS的主要目标是支持高效、可靠和实时的数据分发,特别适用于对低延迟和高吞吐量有严格要求的应用场景,如工业控制、军事系统、航空电子系统、智能交通系统以及物联网(Io...
CTest 是 CMake 的一个组件,用于测试 CMake 项目中的代码。CTest 提供了一个简单的框架来运行单元测试、集成测试或其他类型的自动化测试,并报告测试结果。它与 CMake 结合得很好,可以无缝集成到构建过程中。以下是关于 CTest 的一些关键点和用法说明: 1. 启用 CTest 要使用 CTest,你首先需要在 CMakeLists.txt 文件中启用它。只需要添加以...
E2E 介绍 AUTOSAR(AUTomotive Open System ARchitecture)是一个开放和标准化的软件架构,它用于汽车行业中的电子控制单元(ECU)开发。为了确保数据通信的可靠性和安全性,AUTOSAR引入了End-to-End(E2E)通信保护机制。E2E保护的目的是在数据传输过程中检测和应对可能出现的错误,如数据损坏、丢失或重放攻击。 E2E保护的基本概念 ...
VSOMEIP 介绍 VSOMEIP 是一个 C++ 实现的开源框架,旨在支持汽车行业中的服务导向中间件(SOME/IP)通信协议。它允许在分布式系统中开发和部署基于服务的应用程序,特别是在汽车的电子控制单元(ECUs)之间进行通信。 主要特点 服务发现: 动态服务发现机制,使得ECUs能够发现网络中提供的服务,并建立通信。 服务通信: 提供了请求/响应(Request/Res...
什么是boost库 Boost库是一个由C++社区维护的开源库集合,提供了大量的实用工具和功能扩展,旨在补充和扩展C++标准库。Boost库涵盖了很多方面,包括但不限于容器、算法、正则表达式、多线程、智能指针、数学函数、文件系统、网络编程、序列化、以及更多的功能。许多Boost库的功能最终被纳入了C++标准库,如C++11及之后的版本。 Boost库的特点 跨平台:Boost库是...
服务发现UML类图 服务发现模块类之间的关系较为复杂,为了方便理解。这里先对各个主要类进行简单的说明。 注意:类的详细说明见链接。 runtime和runtime_impl: service discovery类的构造工厂类。可以创建service_discovery_impl类的实例。runtime是纯虚类,runtime_impl继承runtime。 ...
什么是SOME/IP? Scalable service-Oriented MiddlewarE over IP,是指基于 IP 的可扩展的面向服务的中间件。 SOME/IP 协议采用 C/S(Client/Server)的通信架构,,我们把请求服务的 ECU 看成是 Client,而提供服务的 ECU 就是 Server。根据服务接口类型,使用远程服务调用(Remote Procedu...