本小节展示如何使用标准CSI-2协议特性来交错传输(复用)JPEG图像数据和其它类型的图像数据(例如RGB565或YUV422),不需要自定义一个像JPEG8格式之类的JPEG格式。
CSI-2包头里的虚拟通道标识符(Virtual Channel Identifier)和数据类型(Data Type),提供了简单方法来交错传输包级别的多条数据流或多种图像数据类型的数据。包级别的交错传输减少了系统中所需缓存的大小。
CSI-2包头中的Data Type值用来在CSI-2发送器处复用(multiplex)不同的图像数据类型,在CSI-2接收器处解复用(de-multiplex)数据类型。
CSI-2包头中的Virtual Channel Identifier用来在CSI-2发送器处复用不同的数据流(channels),在CSI-2接收器处解复用数据流。
两种交错传输方法的主要不同点是,相同虚拟通道内,不同Data Type值的图像使用相同的帧和行的同步信息;不同的虚拟通道(data streams),每个通道有自己独立的帧和行的同步信息,因此每个通道可以有不同的帧率。
由于预定义的Data Type值只能表示YUV,RGB和RAW数据类型,因此要用用户自定义数据类型(User Defined Data Type)值里的一种来表示JPEG图像数据。
Data Type Interleaving: 并发的JPEG和YUV图像数据
Virtual Channel Interleaving:并发的JPEG和YUV图像数据
上面两幅图所展示的内容,可以很轻松地扩展到JPEG数据和任意其它类型的图像数据(比如RGB565)交错传输的场景上去。
上图展示了使用虚拟通道来支持三种不同的JPEG交错传输的场景:
- JPEG和YUV422图像数据的并发
- 交替的JPEG和YUV422数据输出(一帧JPEG,随后一帧YUV)
- YUV22数据流中偶尔穿插一帧JPEG
当然,从这些例子中也能够推理出JPEG数据和任意其他图像数据类型交错传输的场景。