Sensor曝光和帧率基础知识

Posted Arrow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sensor曝光和帧率基础知识相关的知识,希望对你有一定的参考价值。

Sensor曝光和帧率基础知识

1. 简介

  • Sensor曝光方式
    • 逐行曝光:价格便宜,适合拍摄非快速运动场景
    • 全局曝光:价格昂贵,适合拍摄快速运动场景

2. H_BLANK和V_BLANK

  • H_BLANK(水平消隐或行消隐): 在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向前行进,同时扫描点也以较慢的速率向下移动。当扫描点到达图像右侧边缘时,扫描点快速返回左侧,重新开始在第1行的起点下面进行第2行扫描,行与行之间的返回过程称为水平消隐(也叫行消隐,H_BLANK)。一幅完整的图像扫描信号,是由水平消隐间隔分开的行信号序列构成,称为一帧
  • V_BLANK(垂直消隐或场消隐):扫描点扫描完一帧后,要从图像的右下角返回到图像的左上角,开始新一帧的扫描,会有一段间隔时间,这一时间间隔,叫做垂直消隐(也称场消隐,V_BLANK),V_BLANK的作用通常用来调节帧率
  • 帧结构示意图

3. 曝光原理

3.1 Sensor逐行曝光基本原理

  • sensor逐行曝光从第一行开始曝光,一个行周期结束之后第二行才开始曝光。依次类推,经过N-1 行后第N 行开始曝光。第一行曝光结束后开始读出数据,读出一行需要一行周期时间(含行消隐时间,即H_Blank)。至第一行完全读出后,第二行刚好开始读出,依次类推,当第N-1 行读完后,第N 行开始读出,直到整幅图像完全读出。

3.2 Sensor全局曝光基本原理

  • 全局曝光Sensor的所有行同时开始曝光,并同时结束曝光,在曝光结束后,Sensor将所有电子从感光区转到存储区,之后逐行地读出像素数据。 这样曝光的好处是获得图像每一行的曝光时间比较一致,并且在拍摄运动物体时图像不会出现偏移和歪斜。

4. 曝光时间计算公式

4.1 曝光一行的时间 l i n e _ t i m e line\\_time line_time

  • 曝光一行的时间等于一行的长度乘以曝光一个像素需要的时间
    l i n e _ t i m e = l i n e _ l e n g t h / p c l k line\\_time = line\\_length / pclk line_time=line_length/pclk
    • line_length: 一行的长度(包含h_blank)
    • pclk: 是控制像素输出的时钟,即pixel采样时钟,单位MHz。表示是每个单位时间内采样的pixel数量
    • line_time: 曝光一行的时间

4.2 曝光一帧的时间 e x p o s u r e _ t i m e exposure\\_time exposure_time

  • 曝光一帧的时间等曝光的行数乘以曝光一行的时间
    e x p o s u r e _ t i m e = e x p o s u r e _ l i n e × l i n e _ t i m e exposure\\_time = exposure\\_line \\times line\\_time exposure_time=exposure_line×line_time
    • exposure_time: 曝光时间。指曝光一帧需要多长时间
    • exposure_line: 曝光行。指这一帧曝光了多少行
    • line_time: 曝光一行的时间

4.3 帧率(fps)的计算

以上是关于Sensor曝光和帧率基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Directshow:如何更改视频的大小和帧率?

FFmpeg基础:音视频中的那些核心参数

Android使用camera2复制内置视频录制质量和帧率

SpriteKit 游戏中的高 CPU 和帧率下降

使用 MediaCodec 和 MediaMuxer 录制视频,但码率和帧率不正确

Unity--时间和帧率