视频输入



1.视频输入模块概述


【1】视频输入( VI)模块实现的功能

  • 通过 ITU-R BT656/601/1120 接口或 Digital Camera接口、 MIPI Rx(含 MIPI 接口、 LVDS 接口和 HISPI 接口)接收视频数据。

  • 当工作在离线模式时,将接收到的数据存入到指定的内存区域;

  • 当工作在在线模式时, VI 会将数据直接送给 VPSS。

  • 在此过程中, VI 可以对接收到的原始视频图像数据进行裁剪( Crop)等处理,并实现一路原始视频图像输入,输出一路视频图像功能。


2.重要概念


【1】视频输入设备

  • 视频输入设备支持若干种时序输入,负责对时序进行解析。

【2】在线模式与离线模式

  • 离线模式:是指 VI 写出数据到 DDR,然后与之绑定的模块从 DDR 读取数据。
  • 在线模式:在线是指 VI 与 VPSS 之间的在线数据流传输,在此模式下 VI 不会写出到 DDR,而是直接把数据流送给 VPSS。

【3】视频物理通道

  • 视频物理通道负责将输入设备解析后得到的视频数据输出到 DDR。在真正将数据输出到 DDR 之前,它可以实现裁剪等功能。。

【4】掩码

  • 掩码用于指示 VI 设备的视频数据来源

【5】镜头畸变校正( LDC)

  • 镜头畸变校正,一些低端镜头容易产生图像畸变,需要根据畸变程度对其图像进行校正。

【6】DCI

  • Dynamic Contrast Improvement,动态对比度调节。对图像进行动态的对比度调节,即在增强图像暗区亮度时而不使亮区过亮,或降低亮区亮度时而不使暗区过暗

【7】DIS

  • DIS 模块通过比较当前图像与前两帧图像采用不同自由度的防抖算法计算出当前图像在各个轴方向上的抖动偏移向量,然后根据抖动偏移向量对当前图像进行校正,从而起到防抖的效果。
  • 调用 DIS 接口前必须使能 VI 通道
  • DIS 的使用流程

在这里插入图片描述


3.功能描述


【1】Hi3518EV200 VI 硬件单元功能框图

在这里插入图片描述
【2】视频输入设备

  • Hi3518EV200 芯片只有一个 VI 设备,即 Dev0
  • Dev0 支持BT.656、 BT.601、 DC、 MIPI Rx( MIPI、 LVDS、 HISPI 接口)输入
  • Dev0 不支持非连续 pixel clock 时序

【3】视频物理通道

  • Hi3518EV200 VI 硬件单元仅包含 1 个 VI 视频物理通道,即Chn0。不存在次通道,但支持扩展通道。
  • Hi3518EV200 物理通道支持的典型分辨率如 720p@30、 1080p@30。

【4】视频扩展通道

  • 扩展通道是物理通道的扩展,主要实现缩放功能,其数据来源于物理通道。Hi3518EV200 最多支持 16 个扩展通道。

【5】绑定关系

  • Hi3518EV200 VI 的物理通道与所对应的设备固定绑定,不允许改变它们的绑定关系

【6】掩码配置
掩码用于指示 VI 设备的视频数据来源。掩码的高 12bit 对应着硬件线路的 12 个 pin 脚连接( D0 到 D15 之间的任意连续 12 个pin 脚即可,例如 D4~D15)。

用户需要根据实际连接情况设置恰当的掩码配置,掩码的最高比特位对应的 pin 为 D15,例如 10bit 输入的 Sensor 连接的 pin 为 D6~D15,掩码配置为 0xFFC00000;同理如果是 14bit 输入时,对应的掩码配置为 0xFFFC0000


视频输出



1.视频输出概述


【1】VOU( Video Output Unit)模块:主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出。


2.重要概念


【1】高清和标清显示设备

  • SDK 将高清和标清显示设备分别标示为 DHDx 和 DSDx。其中, x 为索引号,从 0开始取值,表示第几路高清/标清显示设备,例如第 0 路高清设备标示为 DHD0,第 0 路标清显示设备标示为 DSD0。
  • 所有高清和标清显示设备又可分别简称为 HD和 SD 设备。
  • 高清设备上可能会同时绑定两个视频层。

【2】视频层

  • 对于固定在每个设备上面对应的视频层, SDK 也对应采取 VHDx 和 VSDx 来标示,对于可以动态绑定视频层,用 PIP 来表示。

【3】通道

  • SDK 将通道归属于视频层管理。对于一个视频层,他上面的通道都是独立的。同时,不同的视频层上的通道也是独立的。
  • 对于通道的排号上面不存在跨层的连续。例如,处理电子放大的场景时,视频层 VHD0 上面的通道 0 作为电子放大的显示的画面,视频层 PIP 上面的通道 0 作为全场景显示的画面。这两个通道没有关联。
  • 对于系统绑定,应该用视频层和通道号来进行绑定配置;同时,对于回写的图像作为绑定源时,需要将回写内容所在的设备号和 0 通道号作为绑定源设置。

【4】缩放和显示

裁剪:是指视频层属性中画布大小( stImageSize) 中的宽高大于显示设备分辨率大小(stDispRect )中的宽高时,对画布进行裁剪以符合显示分辨率大小。

缩放:是指视频层属性中显示设备分辨率大小 (stDispRect )中的宽高大于画布大小(stImageSize) 中的宽高时,对画布进行放大以符合显示分辨率大小。

  • 每个 VHD(或 PIP)视频层总共有 x 个通道( x 的取值请参见下图),设备视频层内的通道不可重叠。
  • 高清视频层的通道没有缩放能力,需借助外部的 VPSS 进行缩放。
  • VI 或 VDEC 的源图像经由 VPSS 缩放后,输出到 VO 的某一通道显示。如果输出给 VO 通道的图像超过 VO 的通道区域大小,则 VO 将会对图像进行裁剪。
  • 高清视频层 VHD 支持对整个视频层进行放大,不支持裁剪。
  • PIP 视频层不支持放大,也不支持裁剪。
  • VSD 视频层支持 x 个通道( x 的取值请见下图), VSD 视频层的通道通过 VGS实现缩放,并叠加为一整幅图像,并将这一整幅图像的数据配给硬件显示。
  • 标清设备不支持对整个视频层缩放,允许裁剪。

在这里插入图片描述

【5】通道优先级

  • 高清显示设备上输出显示的通道,该优先级没有效果,通道通过相关的视频层唯一确定了显示的位置,即显示在 VHDx 上还是 PIP 上;
  • 标清显示设备支持多个通道同时输出显示,按照优先级顺序对输出图像进行叠加,当各个通道的画面有重叠区域时,优先级高的图像显示在上层,如果各个通道优先级一致,则通道号越大的默认优先级越高。

【6】PIP( Picture In Picture)画面叠加

  • PIP 实现的是高清设备上的 PIP 视频层画面与原视频层 VHD 画面叠加。高清设备上原视频层 VHD 层与 PIP 层都不支持各个通道的叠加。各个视频层通过配置显示优先级来确定视频层的输出位置,视频层显示优先级高的显示在上面。

【7】分辨率

分辨率主要有以下 3 种概念

  • 设备分辨率指该设备的输出有效像素点数,由设备时序决定。
  • 显示分辨率指画面在显示设备上的有效显示区域
  • 图像分辨率指图像本身的有效像素点数

【8】局部放大

  • 标清视频层支持将显示画面上的一部分图像进行放大显示,放大显示的源区域从源图像上截取,放大显示的目标区域是该显示通道的通道大小;
  • 高清视频层和 PIP 层对单个通道图像的缩放是通过 VPSS 模块实现,因此高清视频层或者 PIP 层需要配合 VPSS,以实现对源图像的局部放大
  • 局部放大在水平方向和垂直方向所支持的最大比例为 16 倍

【9】图形层绑定

  • 图形层绑定是指芯片支持将特定的某个图形层或鼠标层绑定到某个设备上。

  • Hi3518EV200 支持 1 个图形层( G0),固定绑定到 DSD0上。

【10】视频层绑定

  • 视频层绑定是指将 PIP 视频层绑定到高清设备上,与高清设备上原有的视频层进行画面叠加。 此时该视频层作为高清设备的叠加层。
  • 如果从绑定当前的设备切换到绑定另外一个设备,必须先禁用 PIP 层,再切换绑定的设备,即如果 PIP 层要从 DHD0 切换到 DHD1,必须先禁用 PIP 层,再解绑定 DHD0,最后绑定DHD1。 PIP 层默认绑定到 DHD0 上。
  • Hi3518EV200 VO 不支持 PIP 层。

文章内容参考了海思官方的《HiMPP IPC V2.0 媒体处理软件开发参考》,请勿用于商业用途,转载请注明出处。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐