1.范围
1.1 该标准指明了10bit视频流中辅助数据空间的格式化结构。
1.2 辅助数据包的可用空间在描述连接接口的文档中定义。
1.3 依照SMPTE标准进行格式化的辅助数据包被认为是注册的格式,由包中的注册字来识别。
2. 概述
2.1 10bit系统->8bit系统时,常常丢弃低两位(two LSBs);而8bit->10bit系统,将8bit数据置于D9-D2,而低两位D1、D0常常置0;
通过保留特殊的数据标识码,即使采用了截位或置零操作,也可以保证数据标识字的完整性;
2.2 辅助数据包被分成两种类型:Type 1 和Type 2,其中Type 1 使用一个ID 字;而Type2 使用两个ID字;在8bit系统中,保留了189个数据标识码;而10bit系统中,保留了29000个数据标识码;
3 辅助数据包格式
3.1 辅助数据包分类
两种type分别如下:
Type 1的构成:
- an ancillary data flag (ADF) :标记辅助数据包的开始;
- data identification word (DID):定义用户数据所使用的格式;
- data block number (DBN) :区分连续的具有同一个DID的辅助数据包;
- data count number word (DC) :用户数据字的数量;
- user data words (UDW):用户数据字,每包最大支持255个;
- a checksum word (CS):校验和;
Type 2 的构成:
与Type1一致,但由secondary data identification word(SDID)替代了Type 1中的DBN;
3.2 分量视频(component video)辅助数据包与复合视频(Composite video)辅助数据包
分量视频辅助数据包的格式如下:
ADF为 000h,3FFh, 3FFh;
注:为了增加兼容性,系统设计者用该用同样的方式处理000h~003h,即Two LSB不参与判定,认为000,001,002,003为同一个值。
复合视频辅助数据包的格式如下:
ADF为3FCh;
3.3 各字段详解
3.3.1 DID与SDID
DID[7:0] = 标识;
DID[8] = DID[7:0]的偶校验;
DID[9] = not DID[8];
一些标识字由标准建立组织来分配,被称作internationally registered。
在8bit应用中,值04h~0Fh被保留,由于two LSB被截掉,因此这个范围内的有效值仅为04h,08h,0ch.
SDID[7:0] = 标识;
SDID[8] = SDID[7:0]的偶校验;
SDID[9] = not SDID[8];
3.3.2 DBN
具有相同DID的连续数据包,其DBN每次应该递增1,以表征数据的连续性。其范围为1-255。
DBN [7:0] = 1~255;
DBN [8] = DBN [7:0]的偶校验;
DBN [9] = not DBN [8];
注意:DBN[7:0]=0为无效;
3.3.3 DC
代表用户数据字的长度,范围0~255;
DC [7:0] = 0~255;
DC [8] = DC [7:0]的偶校验;
DC [9] = not DC [8];
3.3.4 UDW
用户数据字包含由DID所标识的信息。如DID = 2E7,则标识用户数据字传递的为音频信息。
3.3.5 Checksum word (CS)
覆盖范围从DID至最后一个UDW。
CS [8:0] = DID[8:0] + DBN[8:0] (or SDID[8:0]) + DC[8:0] + ALL UDW[8:0];
CS [9] = not CS [8];
4 辅助数据包空间
4.1 分量视频
多个辅助数据包可以放置于任何被定义所允许的地方。可紧随EAV或SAV,并且相互之间连续;
4.2 复合视频
没用过不清楚其含义,原文如下:They follow immediately after the TRS-ID or start of the broad pulse denoting the start of that space and are contiguous with each other.
4.3 例外
4.3.1 不要覆盖EDH所在位置
5 被保护的数据
不允许包含10bit字:000h, 001 h , 002 h , 003 h 和3FCh, 3FD h, 3FE h , 3FFh .
附录A. 注册的DID
附录D 8bit,10bit系统的考虑
当10bit数据传送至8bit系统时,低两位被截位,这对图像数据来说是可以接受的,但是会影响到辅助数据。
当8bit数据传送至10bit系统时,会扩展出两个额外的bit,一般情况下为0,但并不能保证所有设备均是如此。(笔者曾经遇到过b0=bit3,bit1=bit4的情况!)
D.1 DID的处理
04h–0Fh 为保留字,用于8-bit应用,这其中有效的值只有三个: 04h, 08h, and 0Ch,其它字由于截位的原因,与这三个字相等。
而对于SDID来说,其最高两位包含了偶校验及其取反值,因此在8bit系统中,经过截位后,仅有6bit有效,如下图:
也就是说,SDID仅有64个有效值,出去未定义的0,仅剩63个有效值。与3个有效的DID值组合在一起,共可以产生189个有效值。
D.2 DC
在8bit系统中,只取10bit系统中的DC[9:2]。也就是只有6bit的有效值代表了数据个数,最大代表64个用户字。因此:
方案1):限制最大用户数据数为64个; 或者
方案2):限制用户传递的数据个数为4的整数倍,也就是以“块(BLOCK)”为单位进行传输,此时DC表示数据块的个数,实际数据个数为DC*4。
D.3用户数据
强制性的禁止出现00-03h,fch-ffh;
D.4 校验和
由于前述所有数据的低两位都被置为0,因此并不会产生进位,也就不会影响到校验和的计算,所以直接截掉低2位即可。
参考文献
《SMPTE 291M - 1998》