转自网络,感谢原作者和转载者。

还有参考:百科http://baike.baidu.com/link?url=bqBT3S7pz_mRJoQE7zkE0K-R1RgQ6FmHNOZ0EjhlSAN_oy-2-hj6G9oMPfTwPZvUoMTc5pCiAuQtUXj0SY--C_

更重要的参考:http://www.spacewire.co.uk/video_standard.html

原文:

BT.656并行接口除了传输4:2:2的YCbCr视频数据流外,还有行、列同步所用的控制信号。如图3所示,一帧图像数据由一个625行、每行1 728字节的数据块组        成。 其中,23~311行是偶数场视频数据,336~624行是奇数场视频数据,其余为垂直控制信号。

BT.656每行的数据结构如图4所示。

图4中,每行数据包含水平控制信号和YCbCr。视频数据信号。视频数据信号排列顺序为Cb-Y-Cr-Y。每行开始的288字节为行控制信号,

开始的4字节为EAV信号(有效视频结束),紧接着280个固定填充数据,最后是4字节的SAV信号(有效视频起始)。

注: YCbCr取值范围:Y:16~235;Cb:16~240;Cr:16~240;

注意:如果你在查找资料的时候足够仔细,你就会发现。。。。。有很多地方对于BT656的编码的图示,看似相同,其实差别很大。有以下几点差别:

1、上图中EAV和SAV的开头字节为 FF 00 00,而有些资料上却是 FF FF  00(包括百科,以及本文的参考资料).

2、上图中268个BLANKING 是 16进制 80  10 ,而有效资料却是 80 16 (比如BT656的编码芯片资料TW2867).

所以在查资料的时候也要很仔细,多方查证。 而个人更相信上面的图示。

SAV和EAV信号有3字节的前导:FF、FF、00;最后1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。XY字节各比特位含义见图5。

图5中,最高位bit7为固定数据1;F=0表示偶数场,F=1表示奇数场;V=0表示该行为有效视频数据,V=1表示该行没有有效视频数 据;

H=0表示为SAV信号,H=1表示为EAV信号;P3~P0为保护信号,由F、V、H信号计算生成;P3=V异或H;P2=F异或H;P1=F异或 V;P0=F异或V异或H。

分析:最后1个字节XY的取值情况:

    //*****************************************************************************************************//
             ITU-R601/656 原名CCIR601/656,是国际电信协会提出的一个视频标准。
      名词解释:BT.656 : This ITU recommendation defines a parallel interface (8-bit or 10-bit, 27 MHz) and a serial interface (270 Mbps) for the              transmission of 4:3 BT.601 4:2:2 YCbCr digital video between pro-video equipment.
        国际电信联盟无线电通信部门656-3号建议书:
       工作在ITU-RBT.601建议(部分A)的4:2:2级别上的525行和625行 电视系统中的数字分量视频信号的接口。
       国际电联无线电通信全会考虑到:
          a)对于电视广播机构和节目制作者,在525行和625行系统的数字演播室标准方面有最多个数的相同重要参数有明显好处;
          b)一种世界范围兼容的数字方法将会使设备的开发具有许多共同特点,运行会更经济,并便于国际间节目’的交换;
          c)为实现上述目标,已以ITU-RBT.601建议的形式对数字电视演播室的基本编码参数达成了协议;
          d)ITU-RBT.601建议的实际实施要求规定接口和通过接口的数据流的细节;
          e)这些接口在525行和625行两型问应该具有最大的共同性;
           f)在ITU-RBT.601建议的实际实施中,希望对接口的串行和并行两种形式都作出规定;
          g)这些接口所产生的数字电视信号有可能是对其它业务的潜在干扰源,必须对无线电规则No.964给予应有的注意。建议凡在电视演播室里需要
            分量编码数字视频信号接口的地方,这些接口和通过它们的数据流应符合规定比特并行和比特串行实施的如下说明:
  1、引言
        本建议描述了运行在525行或625行制式并符合ITU-RBT.601建议(部分A)中所规定的4:2:2编码参数的数字电视设备的互连方法。
        第一部分:接口的通用信号格式
          1, 接口的一般描述
                接口为在单一信号源与单一终点之间提供单向互连。并行和串行接口通用的单一信号格式在第2 节中描述。数据信号采取编码成8 比特字(也可任选10 比特字’)             的二进制信息的形式。这些信号是:
              1:视频信号,
              2:定时基准信号,
              3:辅助信号。
 2、视频数据             
                                                表1 场间隔定义
              
                    注1:信号F和V在数字行的开始时与有效视频定时基准码同步改变状态。
                    注2:行数的定义见ITU-RBT.470 建议。注意数字行的行号如在ITU-R BT。601 建议(部分A)中描述的,在011 之前改变状态。
        2.1 编码特性
                视频数据符合ITU-R BT.601 建议(部分A)和示于表l 的场消隐定义。
        2.2 视频数据格式
                  8 个最高有效比特都是l 或都为0 的数据字用于标识目的,所以256 个8 比特字中只有254 个(1024 个10 比特字中的1016 个)可以用于表示信号值。
           视频数据字是以27 兆字/秒的速率复用传送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr,…… 其中,Cb,Y,Cr 这三个字指的是同址的亮度和色差信号取样,
           后面的Y 字对应于下一个亮度取样。 
      2.3 接口信号结构
                 图l 示出了视频取样数据如何加入到接口数据流中。图l 中的取样标识符号符合ITU-RBT.601 建议(部分A)的标识符号。
       2.4 视频定时基准码(SAV,EAV)
                有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在每个视频数据块的结束(End of Active Video,EAV),
  如图l 所示。每个定时基准信号由4 个字的序列组成,格式如下:
                                       FF 00 00 XY (数值以16 进制表示,FF 00 留供定时基准信号用。)
   头三个是固定前缀,第4 个字包含定义第二场标识、场消隐状态和行消隐状态的信息。定时基准信号内的比特分配列于表2。
                                数据比特号 第一字(FF) 第二字(00) 第三字(00) 第四字(XY)
                        
                    注1:示出的数值是为10 比特接口的建议值。
                    注2:为了与已有的8 比特接口兼容,D1和DO 比特的值末作规定。F=0/1 第l/2 场时,V=0/1 其它处/场消隐时。H=0/1
       有效视频开始处(SAV)/有效视频结束处(EAV)P0,P1,P2,P3:保护比特(见表3)MSB:最高有效比特表l 规定了V 和F 比特的状态。
       P0,P1,P2,P3 比特的状态决定于F,V 比特的状态,见表3。在接收机中,这种安排容许纠正l 比特误码和检出2 比特误码。
                                    
         2.5 辅助数据
              对在消隐期间以27 MWord/s 的速率同步插入到复用组中的辅助数据做了规定。辅助数据信号可以以10 比特形式只在行消隐期间传送,还可以以8 比特形式只在场消隐中的行的有效期间传送(应当指出:符合ITU-RBT.657 建议的数字录像机既不记录行消隐期间的数据,也不记录场消隐期间的某些行)。数据值00.Xh 和FF.Xb(见第2.2节)保留用于标识目的。所以不能在辅助数据中出现。
             在场消隐期间的行有效部分载送的所有辅助数据信号必需加前缀:FF.x FF.x 除非作为一件特殊设备想要有的功能,辅助信号不应被设备改变。
2.6 消隐期间的数据字
           在数字消隐期间出现不用作定时基准码或辅助数据的数据字时,应在复用起来的数据中的适当位置上填入相当于Cb,Y,Cr,Y 信号消隐电平的80.0h,10.0h,80.0h, 10.0h 等序列。Horizontal Format
           数字视频数据流的一个完整的行的整体格式包括以下部分。
             .EAV被认为是水平扫描的开头部分
            ·EAV -有效视频结束(时序参考信号)2采样点(4字节)
            .水平消隐134个采样点(268字节)
            ·SAV-有效视频的开始(时序参考信号)2采样点(4字节)
            .720个有效采样点(1440字节)
       EAV时序参考信号:
           .EAV的时序参考包括 以下格式的四字节: 
             F = Field select (defines which vertical scan during interlace scanning)
             V = Vertical blanking
             H = 1 indicating EAV
             E3 = V xor H
             E2 = F xor H
             E1 = F xor V
             E0 = F xor V xor H
 
     有效的视频:
           有效的视频格式由以下几部分组成:“Y”、“Cb”、“Cr”数据,交错组成。
 
         

补充,在BT656中YCBCR格式对不同颜色的编码如下图:

标准BT.656并行数据结构的更多相关文章

  1. ITU-R BT.656 协议

    ITU-R BT.601和ITU-R BT.656国际电信联盟(International Telecommunication Union)无线通信部门(ITU-R)制定的标准.严格来说,ITU-R ...

  2. BT.656

    转自http://www.cnblogs.com/s_agapo/archive/2012/04/08/2437775.html 凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频 ...

  3. BT.656 NTSC制式彩条生成模块(verilog)

    BT.656 NTSC制式彩条生成模块(verilog) 1.知识储备 隔行扫描是将一副图像分成两场扫描,第一场扫描第1,2,5,7...等奇数行,第二场扫描2,4,6,8...等偶数行,并把扫奇数行 ...

  4. BT.656视频信号解码

    BT.656视频信号解码   BT.656协议标准 ITU-R BT.601和ITU-R BT.656是ITU-R(国际电信联盟)制定的标准.严格来说ITU-R BT.656是ITU-R BT.601 ...

  5. PHP 标准库 SPL 之数据结构栈(SplStack)简单实践

    PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 SplStack class,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈. 代码: & ...

  6. SPL标准库常用的数据结构

    栈数据结构 $stack = new SplStack(); //栈数据结构->先进后出 2 $stack->push('data1'); //入栈 $stack->push('da ...

  7. iOS标准库中常用数据结构和算法之查找

    参数: key: [in] 要查找的元素.base:[in] 数组元素的首地址.nelp: [in/out] 数组的元素个数指针.width: [in] 数组中每个元素的尺寸.compar: [in] ...

  8. 第32课 初探C++标准库

    有趣的重载: 实验: 将1左移到cout对象中. 将Test改名为Console,此时我们的本意是想让这个cout代表当前的命令行: cout代表命令行的一个实例,本意是想将1打印到命令行上. 我们在 ...

  9. RGB, YUV及相关标准

    最近在一次排查问题的过程中发现色彩空间及色彩空间转换也有很多技术细节,而理清这些细节能帮助我们更准确的定位视频方面的问题. 1. 色彩空间 色彩空间一词源于英文的“Color Space”,色彩学中, ...

随机推荐

  1. 常见HTTP错误代码大全

    一些常见的状态码为: 200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明100 ...

  2. BZOJ1503——郁闷的出纳员

    1.题目大意:一道treap题,支持插入,询问第K大,还有全体修改+上一个值,如果某个点值小于x,那么就删除这个点 插入100000次,询问100000次,修改100次..最后输出删了多少个点 2.分 ...

  3. html5拖拽实现

    1.需求 做一个h5正方形的拖拽框 2.分析 使用touchstart,touchmove,touchend这3个事件实现. 需要记录的数据有三组数据,分别是下图的(x0,y0),(x1,y1),(x ...

  4. u-boot 2011.09 开启debug 调试

    以前做过,现在刚才又想不起来了,这个错误非常的严重. 在这里记一下. debug 调试信息的开启在 include/common.h 有如下宏定义: #ifdef DEBUG #define debu ...

  5. Laplacian matrix 从拉普拉斯矩阵到谱聚类

    谱聚类步骤 第一步:数据准备,生成图的邻接矩阵: 第二步:归一化普拉斯矩阵: 第三步:生成最小的k个特征值和对应的特征向量: 第四步:将特征向量kmeans聚类(少量的特征向量):

  6. 火狐浏览器,关闭ssl v3防护

    某些网站,没有及时更新,导致火狐觉得有安全隐患,不给访问. --------------- Hello bcasey9090, go to about:config, copy the next bo ...

  7. 【Unity3D】Invoke,InvokeRepeating ,Coroutine 延迟调用,周期性调用

    Invoke和InvokeRepeating方法,可以实现延迟调用,和周期调用 第一个是执行一次,第二个是重复执行 void Invoke(string methodName, float time) ...

  8. C#之文本操作

    [转载]C#文件操作大全(SamWang) 文件与文件夹操作主要用到以下几个类: 1.File类: 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. msd ...

  9. python之打包相关

    打包手册:https://python-packaging-user-guide.readthedocs.org/en/latest/installing.html#installing-from-a ...

  10. 《C++ Primer》 ---- 关于变量 与 基本类型

    类型是所有程序的基础;    C++ 定义了几种基本类型: 字符型(char 和 wchar_t),整型(short int long bool),浮点型(float doubel) 并且提供自定义数 ...