视频处理基础知识整理

一,ITU-R BT.656

ITU-R BT.656 8/10位数据传输;不需要同步信号;串行数据传输;传输速率是601的2倍;先传Y,后传UV。行场同步信号嵌入在数据流中。包含三部分 :
①:视频信号 
②:定时基准信号:

有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在每个视频数据块的结束(End of Active Video,EAV);每个定时基准信号由4 个字的序列组成,格式如下: FF 00 00 XY (16 进制)头三个是固定前缀,第4 个字包含定义第二场标识、场消隐状态和行消隐状态的信息。XY(MSB9-0)[1,F,V,H,P3,P2,P1,P0,0,0]

③:辅助信号:

辅助数据信号可以以10 比特形式只在行消隐期间传送,还可以以8 比特形式只在场消隐中的行的有效期间传送。

656输出的是串行数据,行场同步信号嵌入在数据流中;

ITU-RBT.656视频标准接口PAL制式(720*576)每场由四部分组成。

●  有效视频数据,分为奇场和偶场,均由288行组成。每行有1440个字节,其中720个字节为Y分量,360个字节为Cb分量,360个字节为Cr分量。Y分量的取值为16~235;Cb和Cr分量的取值为16~240。

●  水平消隐,有280个字节。

●  垂直消隐。

●  控制字。

对于有效数据行,其格式如图1所示。EAV和SAV为嵌入式控制字,分别表示有效视频的终点和起点。EAV和SAV均为4个字节构成,前3个字节FF、00、00为固定头,“XY”为控制字。“XY”的8个bit含义如下:

●  Bit7(Const),常数,总为1。

●  Bit6(F),场同步信号,表示该行数据处于奇场还是偶场。

●  Bit5(V),垂直同步信号,表示处于场消隐区间还是正程区间(有效数据行)。

●  Bit4(H),水平同步信号,表示是“SAV”还是“EAV”。

●  Bit3-0(P3P2P1P0),纠错位。P3=V(XOR)H;P2=F(XOR)H;P1=F(XOR)V;P0=F(XOR)V(XOR)H。

BT656

itu-r bt.656定义了一个并行的硬件接口用来传送一路4:2:2的YCbCr的数字视频流。视频流的分辨率为720×576像素的d1格式。我们需要发送的视频数据源通常是经过mpeg2压缩的,分辨率为352×288像素的cif格式。在输出到显示终端前,处理器需要对cif格式的图像数据插值为d1(720×576像素)格式,然后再通过itu-r bt.656并行的硬件接口输出给视频编码器。在这种前提下,可以利用一个itu-r bt.656的硬件接口传输4路不同的cif格式的视频数据流,然后在接收侧通过fpga(现场可编程门阵列)将4路视频数据流分离、插值生成d1格式的数据输出给视频编码器。通过该方式,可以克服某些视频处理器输出端口的限制,使视频输出端口扩展为原来的4倍。同时,由于使用fpga进行插值运算,分担了一部分视频处理器的工作量。

二,帧 , 场 === 模拟视频信号采集的处理

凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?
      本文将主要介绍 标准的8bit BT656(4:2:2)YCbCr SDTV(标清)数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。

1. 帧的概念(Frame)

一个视频序列是由N个帧组成的,采集图像的时候一般有2种扫描方式,一种是逐行扫描(progressive scanning),一种是隔行扫描(interlaced scanning)。对于隔行扫描,每一帧一般有2个场(field),一个叫顶场(top field),一个叫底场(bottom field)。假设一帧图像是720行,那么,顶场就包含其中所有的偶数行,而底场则包含其中所有的奇数行。

2. 场的概念(field)

注意,上面提到顶场和底场,用的是“包含”二字,而不是说完全由后者组成,因为在BT.656标准中,一个场是由三个部分组成的:

场 = 垂直消隐顶场(First Vertical Blanking) + 有效数据行(Active Video) + 垂直消隐底场(Second Vertical Blanking)

对于顶场,有效数据行就是一帧图像的所有偶数行,而底场,有效数据行就是一帧图像的所有奇数行。顶场和底场的空白行的个数也有所不同,那么,对于一个标准的 8bit BT656(4:2:2)SDTV(标清)的视频而言,对于一帧图像,其格式定义如下:

由上图可以知道,对于PAL制式,每一帧有625行,其中,顶场有效数据288行,底场有效数据也是288行,其余行即为垂直消隐信号。为什么是288行?因为PAL制式的SDTV或者D1的分辨率为 720*576,即一帧有576行,故一场为288行。

由上图我们还可以知道,顶场有效数据的起始行为第23行,底场有效数据的起始行为第335行。

另外,上图中的 F 标记奇偶场,V标记 是否为垂直消隐信号。

3. 每一行的组成(Lines)

下面说明每一行的组成,一行是由4个部分组成:

行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video)

典型的一行数据组成如下图所示:

起始码(SAV)和结束码(EAV),它是标志着一行的开始结束的重要标记,也包含了其他的一些重要的信息,后面将会讲到。

为什么一行中的有效数据是 1440 字节? 因为PAL制式的SDTV或者D1的分辨率为 720*576,即一行有720个有效点,由于采集的是彩色图像,那么一行就是由亮度信息(Y)和色差信息(CbCr)组成的,由于是YCbCr422格式,故一行中有720列Y,720列CbCr,这样,一行的有效字节数就自然为 720 x 2 = 1440 字节了。

4.  EAV和SAV

EAV和SAV都是4个字节(Bytes),由上面的图可以知道,SAV后面跟着的就是有效的视频数据了。那么,EAV和SAV的格式是怎么样的呢?

EAV和SAV的4个字节的格式规定如下(下面以16进制表示):

FF 00 00 XY

其中,前三个字节为固定的,必须是FF00 00,而第4个字节(XY)是根据场、消隐信息而定的,其8个bit含义如下: 1 F V H  P3 P2 P1 P0

其中,F:标记场信息,传输顶场时为0,传输底场时为1

V:标记消隐信息,传输消隐数据时为1,传输有效视频数据时为0

H:标记EAV还是SAV,SAV为0,EAV为1

而 P0~P3为保护比特,其值取决于F、H、V,起到校验的作用,计算方法如下:

三,奇数场和偶数场:

现行的电视制式都采用隔行扫描方法,一帧图象分为奇数场和偶数场两场。在高分辨率数字图象系统中,通常都要对视频信号的奇偶场进行识别。,视频信号中奇数场和偶数场的唯一区别是:奇数场的场同步信号与该场的第1个行同步信号同时出现,偶数场的场同步信号比该场的第1个行同步信号提前半行(32 s)出现。

电视使用的PAL-D制采用的是隔行扫描方式,隔行扫描时电子束首先从左到右、从上到下扫描所有的单数行形成一场图像,然后电子束又回到顶端,再次从左到右、从上到下扫描所有的双数行形成另一场图像。这两个垂直方向交换显示的扫描场构成每一帧完整的画面,其中每个扫描场只包含扫描图像总行数的一半。我们把其中一个扫描场全部是单数行的称为奇场或上场;把另一个扫描场的全部是双数行的称为偶场或下场。对于PAL制信号来讲,每秒扫描50场(即25帧)。

由于隔行扫描存在奇偶场的问题,如果我们在节目制作时没有“场”的意识,把奇偶场的顺序弄反了,对最终作品的输出质量有很大的影响,作品在监视器上播放时会出现抖动,变形,边缘不清晰等现象。那到底是奇场优先,还是偶场优先呢?不同类型的视频编辑卡,场的优先顺序是不一样的。我们只要将采集的视频内容导入视频编辑软件中,查看其属性,即可知道哪一场优先了。在实际操作中如果永远用同一类型的卡采集素材,则只需要检测一段并记住它(upper或 lower),后面的素材就可以跳过检测直接设置你认为正确的即可。但对不明来源的素材(比如别人做的带“场”的三维,另外的采集卡采集的视频素材)等等,仍然需要检测。

原文地址:https://www.cnblogs.com/Dinging006/p/9972159.html

时间: 2024-08-12 14:35:33

视频处理基础知识整理的相关文章

音视频编码基础知识

本文转载自 http://blog.csdn.net/ljzcom/article/details/7336258 ,如有需要,请移步查看. Technorati 标签: 音视频 编码 基础知识 --------------------------------分割线开始----------------------------------------------- 编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中

Java基础知识整理(一)

概述 公司业务需要,产品既要有.NET又需要Java,没得选择,只能业余时间学习Java,整体觉得Java也.NET还是很相似的,只是语法有差别,差别也不是很大,这就将学习Java的基础知识整理下,以便于自己的学习.作为个.NET程序猿也可以学习Java ,毕竟技多不压身,学习多也要精通. 开发工具 eclipse ,开发java类似.NET 需要装JDK类似.NET Framework. Java开发工具eclipse设置 1.设置字体:window设置: 2.设置快捷键:window--ke

DIV+CSS网页布局常用的一些基础知识整理

CSS命名规范一.文件命名规范 全局样式:global.css:框架布局:layout.css:字体样式:font.css:链接样式:link.css:打印样式:print.css: 二.常用类/ID命名规范页 眉:header内 容:content容 器:container页 脚:footer 版 权:copyright 导 航:menu主导航:mainMenu子导航:subMenu 标 志:logo标 语:banner标 题:title侧边栏:sidebar 图 标:Icon注 释:note

Kali Linux渗透基础知识整理(二)漏洞扫描

Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网络上传输的数据量. TCP协议 TCP是因特网中的传输层协议,使用三次握手协议建立连接.当主动方发出SYN连接请求后,等待对方回答SYN+ACK ,并最终对对方的 SYN 执行 ACK 确认.这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议. 连接建立 TC

JAVA基础知识整理

一.首先先明白get与post的基本定义和区别: 这是两种在客户端和服务器端进行请求-响应的方法. 1get:从指定的资源请求数据. 2post:向指定的资源提交要处理的数据. get基本上用于从服务器取回数据,注意:get方法可能返回缓存数据. post可以从服务器上获取数据,不过,post方法不会缓存数据,并且常用语连同请求一起发送数据. 二. Jquery $.get()方法. $.get()方法通过Http Get发起请求,从服务器上请求数据. 语法:&.get(URL,callback

perl重点基础知识整理

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

[HTTP] 高级基础知识整理

HTTP 高级基础知识 整理 HTTP 高级基础知识,包括 Cookie / Session / localStorage / sessionStorage / Cache-Control / Expires / Etag 等 Cookie cookie :wiki Cookie(复数形态Cookies),又称为"小甜饼".中文名称为"小型文本文件",指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密) -wiki coo

密码学基础知识整理

最近在研究密码学加密,签名方面的东西.经过几天的学习对一些基础知识进行一下整理 PKI:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施,在X509标准中PKI为支持共有密钥管理并且支持认证.加密.完整性.可追究性服务的基础设施. CA:CA是 Certificate Authority首字母的缩写,翻译过来的意思是:证书认证授权机构,其主要作用是负责发放管理数字证书的具有权威性的第三方机构.CA通过证书证实他人的公钥信息,证书上有CA的签名.用户

c语言基础知识整理(二)

C语言的基础知识 对C语言的基础认识: 1.C语言编写的程序称为源程序,又称为编译单位. 2.C语言书写格式是自由的,每行可以写多个语句,可以写多行. 3.一个C语言程序有且只有一个main函数,是程序运行的起点. 4.每个C语言程序写完后,都是先编译,后链接,最后运行.(.c---à.obj---à.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行. (程序编辑-程序编译-程序连接-程序运行) 标识符: 1.标识符: 合法的要求是由字母,数字,下划线组成.有其它