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

还有参考:百科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. spring mvc 页面编码和数据库编码 中文出现乱码

    1.前台与后台交互的时候,后台获取的中文为乱码,而且插入数据库数据也为乱码. 修改web.xml 添加编码的过滤器,全部设置为utf-8(注意加上forceEncoding) <filter&g ...

  2. HTML页面关键词随机分布布局

    结合underscore-min.js,和D3.js 绘制HTML关键词随机分布 <!DOCTYPE html> <html> <head> <meta ch ...

  3. 3.7---猫狗收容所(CC150)

    解答的思路:建立一个queue放狗,一个queue放猫. 如下: import java.util.*; class Dog{ int time; int value; Dog(int a, int ...

  4. 实现Redis的主从复制配置

    实现Redis的主从复制配置比较简单,而且容易明白. 下图是要配置的主从复制结构图: 1.说明 Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务. 配置比较简单,只需要更改r ...

  5. 【GoLang】golang中可以直接返回slice吗?YES

    结论: 可以,slice本质是结构体,返回slice时返回的是结构体的值,结构体的指针.len.cap等信息也全部返回了. 如下: type slice struct { start *uintptr ...

  6. jq隐藏页面的一行

    <script type="text/javascript" src="http://files.cnblogs.com/914556495wxkj/jquery- ...

  7. 【leetcode】Reverse Nodes in k-Group

    Reverse Nodes in k-Group Given a linked list, reverse the nodes of a linked list k at a time and ret ...

  8. 【leetcode】Path Sum II

    Path Sum II Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals ...

  9. jQuery获取循环中的选中单选按钮radio的值

    1.<input type="radio" name="testradio" value="jquery获取radio的值" /> ...

  10. Java for LintCode 验证二叉查找树

    给定一个二叉树,判断它是否是合法的二叉查找树(BST) 一棵BST定义为: 节点的左子树中的值要严格小于该节点的值.    节点的右子树中的值要严格大于该节点的值.    左右子树也必须是二叉查找树. ...