BT1120接口自学笔记

一、技术简介

1.1名词解释

BT.1120协议是一种广泛应用的高清数字视频传输协议,能够把取样结构为4:4:4和4:4:2的视频数据编码成内嵌同步定时基准码的视频数据流进行传输。也可以用于ITU-R BT.709建议书和ITU-R BT.2100建议书规定的像素阵列为1 920*1080视屏数据传输。

经常听到的类似视屏传输协议还有BT.601 BT.656等等,用于数字化的模拟分量视屏传输。主控制器和模拟视屏编解码芯片之间经常使用的接口。比如外部输入为AHD信号,经过编码后变成数字信号,通过BT1120接口发送给主控制器。

1.2技术标准

BT1120技术标准由国际电信联盟(ITU-T)负责制定和维护。最新的标准是BT.1120-9 (12/2017),用于1080P视屏的传输。下面这个链接进去可以下载到相关技术文档,居然还有中文版,简直惊奇。

https://www.itu.int/rec/R-REC-BT.11

二、技术原理

为了讲清楚这个接口传输数据的过程,我就以25P的1080P的视屏为例来讲。

2.1模拟视屏和数字视屏的定时关系

一个数字行占m个时钟周期,数字行开始于相应行中模拟同步信号的基准跳变( OH)之前f个时钟周期处。数字有效行开始于基准跳变( OH)之后g个时钟周期处。

一个逐行型号的帧如下图所示。、

2.2视屏信号的组成

在搞清楚模拟信号和视屏信号的对应关系之后,我们来分析一下视屏信号的组成,计算出一帧视屏到底有多少数据量。

ITU-R BT.656 8/10位数据传输;不需要同步信号;串行数据传输;先传Y,后传UV。行场同步信号嵌入在数据流中。

一帧视屏信号包含视频数据、定时基准信号和辅助数据三个部分。

2.2.1视频数据

若BT1120传输的视屏使用的是YCbCr色彩空间,采用4:2:2的数据格式,平均算下来每个像素点需要2byte。

对于1080P视屏,有1920个行像素,1080个列像素,一帧的视屏数据量就是1920*1080*2byte。

2.2.2视频定时基准码SAV和EAV

有两种定时基准码,一种在每个视频数据块的起始( SAV),另一种在每个视频数据块的结束( EAV)。 它们都是需要占据4T的时间间隔,在数字视屏终究是对应为为4byte的数据。

每个定时基准码由4个字的序列组成。前3个字为固定前缀,第4个字运载的信息定义出场识别( F)、场/帧消隐期( V)和行消隐期( H)。、

2.2.3辅助数据

EAV终端和SAV始端之间的水平消隐间隔可被应用于传送辅助数据包。

辅助数据包可在SAV终端和EAV始端之间的垂直消隐间隔传送,在逐行系统中,在线路1到41(包括)和1122到 1125(包括)期间

介绍完数据格式,我们用图表的方式展示一帧1080P的数据是什么样的。

首先我们看一行的数据

我们再从列的上面来看一下数据

所以传输帧率为25的视屏 1s内的数据量是(4+1432+4+1920*2)*(41+1080+24)*25byte=148.5Mbyte

所以如果我们使用的并行BT1120接口是16bit位宽(一根时钟线+16根数据线),那么对应的时钟速率是74.25MHz。(上图是我从一个非标准接口的芯片手册截取的,他们用的8bit位宽,所以时钟是148.5MHz,他们管这个接口叫BT1120like)

ITU-R BT.1120-9 中已经不再使用并行接口,改成10bit的串行接口。那么25P的1080P视屏的时钟速率为148.5MHz*10=1.485GHz。30P的帧率视屏流同样使用1.485G的频率,只是传输的辅助数据更少而已。

三、瑞芯微官方有关bt1120 tx的介绍

BT.656 BT.1120 分别定义了 SDTV HDTV 的接口协议,通过在消隐期传输 EAV SAV 的定位基准码作为嵌入式同步信号,传输的数据格式为 YCbCr 4 : 2 : 2 BT.656 BT.1120 在一些文档和手册上也会被称为视频信号或者 YUV 信号,目前 RK 平台输出的 BT.656/BT.1120 图像数据和定位基准码的位深均为 8bit
3.1 P 制扫描时序 (PAL 制)
  • 定义:PAL(Phase Alternating Line)制是一种彩色电视广播标准。它是逐行倒相正交平衡调幅制。
  • 历史背景:PAL 制是为了克服 NTSC 制(另一种电视广播标准)相位敏感性造成的色彩失真而研发的。它主要在欧洲、亚洲、非洲和大洋洲的大部分国家和地区使用。
  • 技术参数:PAL 制的帧率是 25 帧 / 秒,扫描线为 625 行。其色彩编码方式使得色彩还原度较高,在传输过程中能够有效减少色彩失真的情况。例如,在播放自然风景等色彩丰富的画面时,PAL 制可以更好地呈现绿色植物的色彩和天空的蓝色等。
  • 应用场景:在广播电视领域,PAL 制的电视节目制作和播放非常普遍。比如各国的电视台在制作和播出新闻、电视剧、体育赛事等节目时,如果采用 PAL 制,就可以让使用 PAL 制式接收设备的观众正常收看。

 3.2I 制扫描时序(SECAM 制)

  • 定义:SECAM(Sequential Colour with Memory)制即顺序传送彩色与存储制。它也是一种彩色电视广播标准。
  • 历史背景:SECAM 制是法国在 20 世纪 50 年代末开发的,主要是为了在传输彩色电视信号时避免信号传输过程中的色彩串扰问题。
  • 技术参数:SECAM 制的帧率也是 25 帧 / 秒,但它的扫描线同样是 625 行。其在色彩信号的处理上采用了独特的顺序传送方式,先传送亮度信号,然后交替传送两个色差信号。
  • 应用场景:主要在法国、俄罗斯以及一些东欧和非洲国家使用。像法国的电视台制作的本地节目,在法国国内及采用 SECAM 制的地区播放时就遵循这种标准。

3.3定位基准码

定位基准码前三个 word 固定为: 0xFF, 0x00, 0x00 ,第四个 word 由不同的扫描位置决定:
Bit9: 固定为 1
Bit8(F) F=0 表示为偶场, F=1 表示为奇场
Bit7(V) V=0 表示该行包含有效视频数据, V=1 表示该行没有有效视频数据
Bit6(H) H=0 表示为 SAV H=1 表示为 EAV
Bit[5, 2] (P3,P2,P1,P0) :由 Bit8 Bit6 计算得来,其中:
Bit5 = V XOR H
Bit4 = F XOR H
Bit3 = F XOR V
Bit2 = F XOR V XOR H
Bit[1, 0]: 固定为 0 ,对于 RK 平台,位深为 8 BIT ,可以认为没有这 2 Bit;
下面的表格根据不同的 EAV/SAV (F,V,H) 算好了对应的保护位的值 (P3,P2,P1,P0):

 结合以上信息,可以得到各个消隐期对应的定位基准码为:

四、内同步和外同步

内同步(Internal Synchronization)

定义:在 BT1120 标准中,内同步是指视频信号中的同步信号包含在视频数据流本身内部。同步信息与图像数据一起传输,例如,在每一行视频数据和每一帧视频数据中都嵌入了用于控制接收端正确显示的同步信号。

工作原理:当接收设备(如视频监视器或视频采集卡)接收 BT1120 格式的内同步视频信号时,它可以直接从视频数据中提取同步信号。以行同步为例,在每一行的视频数据中,会有特定的电平变化或信号模式来表示一行的开始和结束。对于帧同步,也会有相应的信号特征来区分不同的帧。接收设备通过识别这些内部同步信号来确保每行像素的正确排列和每帧画面的正确显示,从而实现稳定的视频播放。

应用场景:内同步方式在一些相对独立的视频系统中比较常见。比如在一些内部封闭的视频监控系统中,摄像头输出的 BT1120 视频信号采用内同步方式直接传输到本地的视频存储设备或监控显示器上。因为在这种相对简单、自成一体的系统中,内同步可以保证视频信号在系统内部的稳定传输和正确显示,不需要外部的同步信号源进行额外的控制。

外同步(External Synchronization)

定义:外同步是指视频信号的同步信息是由外部设备或外部信号源提供的,而不是包含在 BT1120 视频数据流本身。这个外部同步信号独立于视频数据,用于控制多个视频设备之间的同步操作。

工作原理:当使用外同步时,通常会有一个专门的同步信号发生器。这个发生器产生的同步信号(如行同步信号和帧同步信号)被发送到所有需要同步的 BT1120 视频设备上。例如,在一个大型的多摄像机视频制作现场,如体育赛事直播或者大型文艺演出的录制现场,多个摄像机都输出 BT1120 视频信号。为了确保这些不同摄像机拍摄的画面在切换和编辑时能够无缝拼接,并且在显示时保持同步,就会使用外同步。同步信号发生器发出的信号会使所有摄像机的扫描起始时间和帧率等参数保持一致,这样在切换不同摄像机的画面时就不会出现画面抖动或者不同步的现象。

应用场景:外同步主要用于需要精确同步多个视频设备的复杂场景。除了上述提到的多摄像机视频制作场景外,在一些视频拼接墙系统中,当多个显示单元需要同时显示一个完整的大画面时,也需要外同步来确保每个显示单元的画面同步,从而呈现出一个连贯的视觉效果。

在 BT1120 标准中,同步场和行场的相关介绍如下:

同步场

定义:同步场是指视频信号中用于标识一帧画面开始和结束的特定区域,它包含了场同步信号等重要的同步信息,以确保接收设备能够准确地识别每一帧视频数据的边界,从而正确地显示视频画面。

作用:场同步信号在同步场中起着关键作用,它用于指示一帧视频数据的结束和下一帧的开始。接收设备通过检测场同步信号,可以确定何时开始对新一帧的视频数据进行处理和显示,从而保证视频画面的稳定更新和正确显示顺序。例如,在隔行扫描的视频系统中,场同步信号用于区分奇数场和偶数场,使得接收设备能够按照正确的顺序交替显示两场的扫描线,以形成完整的视频画面。

与内同步和外同步的关系:在内同步方式下,同步场中的同步信号是包含在 BT1120 视频数据流内部的。视频数据中会嵌入特定的编码或电平变化来表示同步场的位置和相关同步信息。而在外同步方式中,同步场的同步信号则是由外部设备或信号源提供的,独立于 BT1120 视频数据流。外部同步信号发生器会产生精确的场同步信号,并将其发送到所有需要同步的视频设备上,以控制它们的帧同步操作。

行场

行场的概念:行场是指视频图像在垂直和水平方向上的扫描方式。其中,“行” 指的是视频图像中的水平扫描线,一行一行的扫描线从屏幕的左上角开始,依次向右水平扫描,直到屏幕的右下角,完成一帧图像的水平方向的扫描。而 “场” 则是指将一帧图像按照垂直方向分为奇数场和偶数场,先扫描奇数场的所有行,再扫描偶数场的所有行,通过两场的交替扫描来构成完整的一帧视频画面。

行同步信号和场同步信号:为了确保接收设备能够正确地识别和同步每一行以及每一场的扫描,视频信号中会包含行同步信号和场同步信号。行同步信号用于标识每一行扫描的开始和结束,它在每一行视频数据中会有特定的电平变化或信号模式。接收设备通过检测行同步信号来确定每行像素的正确位置和排列顺序。场同步信号则用于标识奇数场和偶数场的切换,以及一帧图像的结束和下一帧的开始,其频率相对较低,周期较长,通常为行同步信号周期的整数倍。

在 BT1120 中的应用:BT1120 标准支持逐行扫描和隔行扫描两种方式。在逐行扫描模式下,视频信号是按照顺序依次扫描每一行,从第一行到最后一行,完成一帧图像的扫描,不需要区分奇数场和偶数场,行同步信号用于控制每行的扫描同步。而在隔行扫描模式下,视频信号先扫描奇数场的所有行,再扫描偶数场的所有行,行同步信号和场同步信号共同作用,确保奇数场和偶数场的正确扫描和交替显示,以形成完整的视频画面。.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf转word/markdown等格式——MinerU的部署:2024最新的智能数据提取工具

一、简介 MinerU是开源、高质量的数据提取工具,支持多源数据、深度挖掘、自定义规则、快速提取等。含数据采集、处理、存储模块及用户界面,适用于学术、商业、金融、法律等多领域,提高数据获取效率。一站式、开源、高质量的数据提取工具&…

探索前端世界的无限可能:玩转Excel文件

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

MySQL两阶段提交目的

阶段提交的过程 事务执行阶段:事务开始执行,InnoDB执行SQL语句的具体操作,如数据修改、删除等,并将这些操作记录在内存中。写入Redo Log(准备阶段):事务即将提交时,首先将事务相关的…

前端项目使用gitlab-cicd+docker实现自动化部署

GitLab CI/CD 是一个强大的工具,可以实现项目的自动化部署流程,从代码提交到部署只需几个步骤。本文将带你配置 GitLab CI/CD 完成一个前端项目的自动化部署。 前言 为什么使用cicddocker? 目前我们公司开发环境使用的shell脚本部署&#…

easyexcel 导出日期格式化

1.旧版本 在新的版本中formate已经被打上废弃标记。那么不推荐使用这种方式。 2.推荐方式 推荐使用另外一种方式【 Converter 】代码如下,例如需要格式化到毫秒【yyyy-MM-dd HH:mm:ss SSS】级别 创建一个公共Converter import com.alibaba.excel.converters.Conv…

DApp开发前端框架选择:React还是Vue?

在区块链DApp开发中,前端框架的选择对用户体验和开发效率至关重要。React和Vue作为两大主流前端框架,各自拥有广泛的开发者基础和丰富的生态支持。那么在DApp开发中,该如何选择适合自己的框架呢?下面我们来比较一下,看…

6. 一分钟读懂“抽象工厂模式”

6.1 模式介绍 书接上文,工厂方法模式只能搞定单一产品族,遇到需要生产多个产品族时就歇菜了。于是,在需求的“花式鞭策”下,程序员们再次绷紧脑细胞,创造出了更强大的抽象工厂模式,让工厂一次性打包多个产品…

gulp应该怎么用,前端批量自动化替换文件

背景 最近公司准备把所有项目中用到的国际化相关的key规范化,原因是: 一直以来公司的app和web端 在针对相同的需求以及相同的国际化语言,需要设置不同的两份国际化文件,难以维护旧版的国际化文件中,存在的大量值重复&#xff0c…

UML箭线图的理解和实践

在软件开发的世界里,UML(统一建模语言)作为一种标准化的建模语言,扮演着举足轻重的角色。UML类图更是软件开发设计和架构过程中的核心工具,它不仅能帮助开发者明确系统中的类及其关系,还能为后续的代码实现…

hive 行转列

行转列的常规做法是,group bysum(if())【或count(if())】 建表: CREATE TABLE table2 (year INT,month INT,amount DOUBLE );INSERT INTO table2 (year, month, amount) VALUES(1991, 2, 1.2),(1991, 3, 1.3),(1991, 4, 1.4),(1992, 1, 2.1),(1992, 2, 2.2),(1992…

【NoSQL数据库】Hbase基本操作——数据库表的增删改查

目录 一、Hbase原理 二、HBase数据库操作 三、遇到的问题和解决方法 一、Hbase原理 HBase的数据模型: 行键 时间戳 列族:contents 列族:anchor 列族:mime “com.cnn.www” T9 Achor:cnnsi.com”CNN” T8 Achor:…

【ETCD】ETCD用户密码认证

目录 概述 特殊用户和角色 root用户 root角色 用户操作 角色操作 启用身份验证 使用etcdctl进行身份验证 使用TLS通用名称 概述 etcd 2.1中增加了身份验证功能。etcd v3 API对身份验证功能的API和用户界面进行了轻微修改,以更好地适应新的数据模型。本指南…

王道考研编程题总结

我还在完善中,边复习边完善(这个只是根据我自身总结的) 一、 线性表 1. 结构体 #define MaxSize 40 typedef struct{ElemType data[MaxSize];int length; }SqList 2. 编程题 1. 删除最小值 题意 :从顺序表中删除…

Vue3技术开发,使用纯CSS3动手制作一个3D环绕的相册展示效果,支持传入任意图片.3D轮播相册的组件

主要讲述封装一个3D轮播相册的组件&#xff0c;效果图如下&#xff0c;仅仅传入一个图片的数组即可&#xff0c;效果如下&#xff1a; 使用Vue3技术开发&#xff0c;支持传入任意张数的图片。 使用方法 <template><Swiper :list"list" /> </templat…

本地运行打包好的dist

首先输入打包命令 每个人设置不一样 一般人 是npm run build如果不知道可以去package.json里去看。 打包好文件如下 命令行输入 :npm i -g http-server 进入到dist目录下输入 命令cmd 输入 http-server 成功

通过华为鲲鹏认证的软件产品如何助力信创产业

软件通过华为鲲鹏认证与信创产业有着密切的联系。鲲鹏认证是华为推动信创产业发展的一项重要举措&#xff0c;通过该认证&#xff0c;软件可以在华为的生态系统中实现更好的兼容性和性能优化&#xff0c;从而推动信创产业的全面发展和国产化替代。 鲲鹏认证的定义和重要性 鲲…

RabbitMQ介绍及安装

文章目录 一. MQ二. RabbitMQ三. RabbitMQ作用四. MQ产品对比五. 安装RabbitMQ1. 安装erlang2. 安装rabbitMQ3. 安装RabbitMQ管理界⾯4. 启动服务5. 访问界面6. 添加管理员用户7. 重新登录 一. MQ MQ( Message queue ), 从字⾯意思上看, 本质是个队列, FIFO 先⼊先出&#xff…

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…

vscode上传本地文件到服务器

vscode上传本地文件到服务器 首先下载插件SFTP&#xff0c;我们通过ftp进行文件传输 VScode打开要传输的文件 使用快捷键 ctrlshiftP 打开搜索窗口&#xff0c;搜索SFTP 点击之后vscode文件夹下会生成对应json文件 我们编辑json信息根据远程的服务器情况填写&#xff0c;比如…

趣味数学 2.3.7 | 完全免费,无注册登录,简约纯净

趣味数学是一款完全免费的数学学习软件&#xff0c;支持安卓系统。它无需登录注册&#xff0c;界面简约纯净&#xff0c;分类详细&#xff0c;涵盖趣味数学、数学初练、应用计算、数字推理、图形推理、数字2048、题目练习和数学知识等多个分类。每个分类包含丰富的题目和关卡&a…