(视频分辨率介绍)混淆的概念:SIF与CIF、4CIF与D1
《混淆的概念:SIF与CIF、4CIF与D1》
在目前国内监控行业中,涉及视频采集卡、压缩卡、硬盘录像机(DVR)等产品时,经常会遇到诸如SIF、CIF、4CIF、D1等等分辨率标准名词。而在实际上,由于安防行业缺乏行业规范和标准,业内很多名词多来源于其它行业的标准,因此CIF、SIF、D1等几个词不但来源不同,甚至连名词本身都已经被讹以传讹而相互混淆,令人一头雾水。
若追溯源头来看,安防视频监控行业源于闭路电视(CCTV),因此标准一直沿用的是电视行业的SIF系列标准和录像机行业的D1标准,而在国内安防业内,SIF被讹以传讹成了CIF,D1也经常与4CIF、4SIF等概念混淆。一个典型的现象是,采用CIF和D1做为关键字去搜索视频采集卡、压缩卡、DVR等产品,搜到的几乎都是国内产品及国产外销产品,而用SIF做关键字才能搜到同类的国外产品。下面分别对CIF、SIF及D1三个来源不同的系列标准做简单介绍。
一、CIF
CIF(Common Intermediate Format,通用媒介格式)也称为FCIF(FullCIF),是一种用于规范YCbCr色差分量视频信号的像素分辨率的标准格式,常用于电信领域的视频会议系统。
CIF格式是国际电信联盟(ITU)在1990年推出的的H.261视频编码标准(ITU-TH.261)中首次被定义的一种格式标准(后续H.263对CIF系列标准进一步完善),其设计目的是为了便于与电视行业的NTSC和PAL两种视频制式标准对接(【注】SECAM制式与PAL制式差异很小),推动电信领域和电视领域之间的互联互通。
为了便于和PAL和NTSC两种制式进行转换,由于视频尺寸变换时“缩小”要比“放大”处理起来简单,因此CIF格式定义时采用了最大兼容原则(二者相比取较大者),在分辨率上采用与PAL制的SIF(SourceInput Format)格式相同的352×288,在帧率上则采用与NTSC制相同的29.97fps(30000帧/1001秒),色彩空间编码则采用YCbCr 4:2:0标准。
QCIF含义为"Quarter CIF",即四分之一CIF的意思,其分辨率的宽和高都是CIF格式的一半;SQCIF含义为"SubQuarterCIF",其分辨率的宽为CIF的4/11,高为CIF的1/3,像素数为CIF的4/33;类似的格式定义还有4CIF(4×CIF)和16CIF(16×CIF),都是以CIF格式做为基准进行定义。
CIF格式图像尺寸大小之所以确定为352×288,是因为在H.261定义的视频压缩/解压的算法中,采用了基于宏块(大小为16×16像素)的DCT变换(DiscreteCosineTransform,离散余弦变换),实际上CIF格式视频的帧是由22×18个宏块组成,因此每一帧图像的像素数为352×288。
需要注意的是,国际电信联盟(ITU)定义的xCIF系列标准中的所采用的像素都是非正方形像素(像素显示时横纵比为12:11),像素数量横纵比(即存储横纵比)为352:288(即11:9)。因此,当xCIF系列标准视频在正方形像素显示设备(计算器显示器、大部分HDTV高清数字电视)中显示时,需要将画面横向拉长为原来的12/11倍(约为109.1%),分辨率变为384×288(正方形像素),像素数量的横纵比从原来的11:9变为4:3。
【注】“正方形像素”是一个相当重要的概念,涉及到视频的采集、编码/解码、传输、存储、显示整个过程,关于此概念的详细讲解可参见《关于“正方形像素”》一文。
| 格式标准 | 分辨率(非正方形像素) | 分辨率(正方形像素) | 标准帧率(帧/秒) |
| QCIF | 176 × 144 | 192 × 144 | 29.97 fps |
| CIF(FCIF) | 352 × 288 | 384 × 288 | 29.97 fps |
| 4CIF | 704 × 576 | 768 × 576 | 29.97 fps |
| 16CIF | 1408 × 1152 | 1536 × 1152 | 29.97 fps |
二、SIF
动态图像专家组(MPEG)在1992年推出的MPEG-1标准中首次定义了SIF(Source InputFormat,源输入格式),SIF是一种用于数字视频的存储和传输的视频格式,常用于VCD(MPEG-1视频编码)、DVD(MPEG-2的视频编码)和某些视频会议系统中。
由于SIF系列标准主要应用电视行业,因此SIF标准格式分为SIF-525(NTSC制式)和SIF-625(PAL制式和SECAM制式)两种:
(1)525@59.94Hz的SIF格式(SIF-525)用于NTSC制式中,其分辨率为352×240像素,刷新频率(帧率)为29.97fps(帧/秒)
(2)625@50Hz的SIF格式(SIF-625)用于PAL制式和SECAM制式中,其分辨率为352×288像素,刷新频率(帧率)为25fps(帧/秒)
其中SIF-525和SIF-625两种格式都属于非隔行(逐行)标准,此外SIF还有一种隔行版本被称为SIF-I。
SIF格式视频流也被称为MPEG-1 CPB(constrained parametersbitstream,约束参数码流)。与国际电信联盟(ITU)定义的CCIR 601(又名ITU-RBT.601/Rec.601)电视信号数字编码标准相比,SIF可以看为CCIR601格式在帧长、帧宽、帧率和色度上均减半的标准。
动态图像专家组(MPEG)在定义SIF(Source InputFormat)格式标准时参照了国际电信联盟(ITU)定义的CIF格式标准,因此SIF标准格式几乎与CIF标准格式相同,两者的区别在于:SIF格式在NTSC制式(525-line)下为352×240@29.97fps,在PAL/SECAM制式(625-line)下为352×288@25fps;而CIF格式则无制式之分,标准格式固定为352×288@29.97fps(在H.263中帧率标准扩展支持7.49fps、14.99fps、59.94fps等值)。
由于计算机行业广泛采用正方形像素,因此在计算机行业里SIF格式(正方形像素版本)被定义为:分辨率为320×240(相当于计算机行业的QVGA标准)或者384×288像素,帧率则可以是计算机支持的任意刷新频率(60Hz、75Hz、85Hz、……)。
【注】“正方形像素”概念同上,详细讲解可参见http://www.microjie.com/index.php/professional-knowledge/82-standards-parterns。
| 格式标准 | 分辨率(非正方形像素) | 分辨率(正方形像素) | 标准帧率(帧/秒) |
| SIF@NTSC制式 | 352 × 240 | 320 × 240 | 29.97 fps |
| SIF@PAL/SECAM制式 | 352 × 288 | 384 × 288 | 25 fps |
| 4SIF@NTSC制式 | 704 × 480 | 640 × 480 | 29.97 fps |
| 4SIF@PAL/SECAM制式 | 704 × 576 | 768 × 576 | 25 fps |
三、D1(又称为D-1、Sony'sD1)
D1是一种专业数字视频格式标准,主要应用于数字广播电视和录像行业。D1标准的产生在CIF和SIF标准之前,早于20世纪80年代就在Sony(索尼)和Bosch-BTS(博世-BTS)公司的DVR(数字录像机)产品中被首次使用。1986年,在电影电视工程师协会(SMPTE)工程师委员会的努力下,D1被采用为SMPTE标准,主要在DVTR(数字磁带录像机)产品中使用,是视频录像行业中的第一种主流格式。
D1采用非压缩数字复合视频,颜色编码采用CCIR 601(于1981年定义)的YCbCr4:2:2格式,音频采用PCM格式;音频和视频被同步存储在19mm(3/4")的盒式录像带上,D1录像带最大存储时间为94分钟。D1的分辨率在NTSC制式下定义为720×486(非正方形像素),在PAL/SECAM制式下为720×576(非正方形像素)。早期的D1系统复杂且操作困难,虽然后来迅速稳定下来,但就当时(1986年)来说,D1以其华丽的画质(相当于后来的SD,即标准清晰度画质)、价格的昂贵、配置要求高、升级成本高等因素而著称。
| 格式标准 | 分辨率(非正方形像素) | 分辨率(正方形像素) | 标准帧率(帧/秒) |
| D1@NTSC制式 | 720 × 486 | 720 × 540 | 29.97 fps |
| D1@PAL/SECAM制式 | 720 × 576 | 768 × 576 | 25 fps |
四、CIF、SIF、D1三种系列标准对比
| 格式标准 | 标准化时间 | 标准化组织 | 应用领域 |
| D1 | 1986年 | 电影电视工程师协会(SMPTE) | 广播电视、电影、录像领域 |
| CIF | 1990年 | 国际电信联盟(ITU) | 电信、网络视频领域 |
| SIF | 1992年 | 动态图像专家组(MPEG) | 多媒体领域(影视、VCD、DVD等) |
在实际应用中,最容易混淆的三种格式为4CIF、PAL制式的4SIF,以及PAL制式的D1,这三种格式的主要区别如下:
(1)应用领域不同;
(2)制定的标准化组织不同;
(3)刷新频率(帧率)定义不同;
(4)在非正方形像素模式下分辨率不同。
| 格式标准 | 分辨率(非正方形像素) | 分辨率(正方形像素) | 标准帧率(帧/秒) |
| 4CIF | 704 × 576 | 768 × 576 | 29.97fps |
| 4SIF@PAL/SECAM制式 | 704 × 576 | 768 × 576 | 25 fps |
| D1@PAL/SECAM制式 | 720 ×576 | 768 × 576 | 25 fps |
(视频分辨率介绍)混淆的概念:SIF与CIF、4CIF与D1的更多相关文章
- 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...
- C#多线程之旅(1)——介绍和基本概念
原文地址:C#多线程之旅(1)——介绍和基本概念 C#多线程之旅目录: C#多线程之旅(1)——介绍和基本概念 C#多线程之旅(2)——创建和开始线程 C#多线程之旅(3)——线程池 C#多线程之旅( ...
- 关于 Delphi 中的Sender和易混淆的概念(转)
/////////////////////////////////////////////////////// Delphi 中Sender对象的定义///////////////////////// ...
- TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络
TensorFlow入门,基本介绍,基本概念,计算图,pip安装,helloworld示例,实现简单的神经网络
- Office 365系列(二) -一些比较容易混淆的概念
上一篇比较简明地说了Office 365怎么注册使用,在继续探讨之前先讨论一些比较容易混淆的概念! 1. Office 365: 是微软云计划的一部分包括Exchange online, Lync ...
- ZooKeeper入门实战教程(一)-介绍与核心概念
1.ZooKeeper介绍与核心概念1.1 简介ZooKeeper最为主要的使用场景,是作为分布式系统的分布式协同服务.在学习zookeeper之前,先要对分布式系统的概念有所了解,否则你将完全不知道 ...
- 使用深度学习的超分辨率介绍 An Introduction to Super Resolution using Deep Learning
使用深度学习的超分辨率介绍 关于使用深度学习进行超分辨率的各种组件,损失函数和度量的详细讨论. 介绍 超分辨率是从给定的低分辨率(LR)图像恢复高分辨率(HR)图像的过程.由于较小的空间分辨率(即尺寸 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍
笔记 第一章项目介绍和前期准备 1.SpringBoot整合微信支付开发在线教育视频站点介绍 简介: 课程介绍,和小D课堂在线教育项目搭建开发 1.课程大纲介绍 2.微信支付项 ...
- WebRTC视频分辨率设置
前面我们能够打开摄像头.getUserMedia()时会传入参数,在参数里我们可以指定宽高信息.通过宽高参数控制输出的视频分辨率. html 在页面上摆放一些元素,下面是主要部分 <div id ...
随机推荐
- VS2010-MFC(MFC常用类:CString类)
转自:http://www.jizhuomi.com/software/228.html CString类简介 CString类作为MFC的常用类,当之无愧.可以这样说,只要是从事MFC开发,基本都会 ...
- iOS开发NSMutableArray数组越界处理
#import "NSArray+CrashArray.h" #import <objc/runtime.h> @implementation NSObject (Un ...
- 树链剖分(模板) 洛谷P3384
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...
- 次短路 /// dijkstra oj1597
题目大意: 给出一个有向图,求从 顶点a 到 顶点b 的次短路. 第一行是2个正整数 n 和 e,表示该有向图的顶点数和边数.3 < n ≤ 5000 , 3 < e < 40000 ...
- C# 串口编程 对端口的访问被拒绝
感谢Sunny秋刀鱼.https://www.cnblogs.com/527289276qq/p/5595798.html 在页面或者窗口Unloaded事件中关闭串口即可.
- Leetcode148. Sort List排序链表
在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入 ...
- 在js中使用Razor
@foreach (var tem in Model) { <text> time.push("@tem.CreateTime.ToString("G")&q ...
- Android 开发 MediaRecorder使用Camera1配合录制视频
前言 MediaRecorder可以不依靠Camera API 实现视频的录制,但是如果需要切换摄像头/设置对焦/选择分辨率等等就需要Camera来参与配合录制视频.这篇博客将介绍使用Camera1来 ...
- linux yum 安装 卸载
安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...
- JavaWeb开发购物车设计总结
一. 实体类设计 图书实体类 public class Book { private String id; private String name; private String author; pr ...