ARINC818协议详解

1.ARINC818协议,是航空电子视频传输领域的重要标准,用来解决高清视频在机载环境中的传输问题。

2.ICD文件是控制文件,用于约束传输的时候图像格式,图像分辨率,链路速度,封包格式,以及传输数据的时序。

3.ICD接口是发送方,也就是source源和接收方sink之间的约束协议。

4.ICD文件定义视频流,还定义链路控制和链路状态监测

关于协议中class 1 code和class 3 code的区别

ARINC818帧结构

协议是基于高速串行链路传输视频数据的协议,帧是传输的最小单元,每个ADVB帧包括:

SOF(Start of Frame):注意这里的Frame是ADVB Frame,不是一张图像的Frame,不要混淆了。

Header:ADVB帧头,包括ADVB帧的控制信息,虚拟通道,class code,帧长度等一些信息。

Payload有效载荷:图像的像素数据。

EOF(end of frame):ADVB帧结束标志。

CRC校验。

ARINC818帧分割

1.内容涉及到视频数据如何被打包,数据如何传输,以及接收端如何进行解析处理。

2.将一副图像数据分割成为多个ADVB帧,进行传输,方便在链路上进行数据的传输和数据接收处理

3.使用SOF和EOF标识进行帧边界的分割,接收端更加容易识别数据流,类似说话加括号,或者停顿或者提醒,画重点一样。

4.ADVB帧之间的边界是SOF和EOF

ARINC 818 协议如何完成视频帧的分解、封装和传输

一、视频帧的分解

1.视频帧通常是完整的图像数据,包含多行像素数据;

2.一般图像帧数据都非常大,无法一次性通过链路传输,所以都会对图像数据进行帧分割,分割为多包;

3.分割的单位,一般是按照行,半行,或者合适的像素块进行分割;

4.使用同步标识进行分包边界标记,例如IDLE,SOF,EOF,EOL,SOL等等控制字符。

二、视频帧的封装

1.帧头封装

class code,payload,crc等

2.有效载荷payload或者data field数据域

3.辅助数据

三、视频帧的传输

1.充分利用帧边界识别和同步

接收端通过SOF,EOF等标识帧边界。

IDLE保持链路空闲,等待下一帧开始。

ARINC 818 Container容器

1.ARINC 818 Container 是协议中用于封装视频数据(以及相关控制/辅助信息)的数据单元结构。它类似于数据包或帧,承载着视频的像素数据和元数据。Container 中包含了控制信息和有效载荷,定义了视频数据传输的基本格式

2.容器重要概念说明

object0辅助数据

object1音频数据

object2视频数据,逐行和隔行使用

object3视频数据,只在隔行情况下使用

ARINC818中视频帧和容器之间的关系

1.一个container容器中承载着一个视频帧,严格来说是一个container容器=container容器头+视频帧数据

2.一个容器由多个oject对象集组成

3.每个object对象又被封装成ADVB帧进行传输

4.注意,最终数据的传输是使用ADVB帧作为传输单元的。

5.object0是使用ADVB的FC0帧来承载,oject2组合集是使用ADVB的FCN帧来承载。

时序参数

Tft:frame time一帧整幅图像的总传输时间

Tlt:line time视频中一行像素的传输时间

相关推荐
枷锁—sha43 分钟前
从零掌握XML与DTD实体:原理、XXE漏洞攻防
xml·前端·网络·chrome·web安全·网络安全
HHRL-yx3 小时前
C++网络编程 4.UDP套接字(socket)编程示例程序
网络·c++·udp
tan77º3 小时前
【Linux网络编程】应用层协议 - HTTP
linux·服务器·网络·c++·http·https·tcp
2301_785251413 小时前
上网行为管理-web认证服务
运维·服务器·网络
Lo-Y-eH4 小时前
跨域问题及解决方案
网络
Coremail邮件安全4 小时前
退信、延迟、遇攻击?CACTER 邮件安全海外中继:让跨境通邮 “零障碍”
网络
疾跑哥布林升级版5 小时前
网络编程7.17
开发语言·网络
June041224!5 小时前
14.链路聚合技术
网络
hrrrrb5 小时前
【密码学】1. 引言
网络·算法·密码学
Mr_Xuhhh6 小时前
QT窗口(4)-浮动窗口
android·开发语言·网络·数据库·c++·qt