Line Length 和 Frame Length 并不完全等于图像的宽度和高度,主要是因为它们包括了有效像素(Active Pixels)和空白区(Blanking Interval,VBLANK/HBLANK)。下面我们详细解析它们的定义和区别。
✅ 1. 什么是 Line Length?
Line Length(或称行长度,有时也叫 HTOTAL,Horizontal Total)指的是每一行像素的总长度,包括:
-
有效像素数(Active Pixels):实际用于图像的像素数,通常对应于图像的宽度(Width)。
-
水平空白(HBLANK):用于时序控制、数据传输同步的额外像素周期,不用于图像显示。
公式:Line Length=Image Width+HBLANK
👉 例如,在 1920×1080 分辨率下,Line Length 可能是:
Line Length=1920+280=2200 pixels
✅ 2. 什么是 Frame Length?
Frame Length(或称帧长度,有时叫 VTOTAL,Vertical Total)指的是每一帧的总行数,包括:
-
有效行数(Active Lines):实际用于图像的行数,通常对应于图像的高度(Height)。
-
垂直空白(VBLANK):用于帧间同步、曝光控制的额外行数,不用于图像显示。
公式:Frame Length=Image Height+VBLANK
👉 例如,在 1920×1080 分辨率下,Frame Length 可能是:
Frame Length=1080+45=1125 lines
📊 3. Line Length 和 Frame Length 的作用
-
行长度(Line Length,HTOTAL):
-
决定一行数据的总周期,影响 行频率(Horizontal Frequency, HSync)。
-
HBLANK 是行与行之间的间隔,给硬件(如 CSI 接口)提供时间处理数据。
-
-
帧长度(Frame Length,VTOTAL):
-
决定每帧图像的总行数,影响 帧周期(Frame Time) 和 帧率(FPS)。
-
VBLANK 是帧与帧之间的间隔,给图像传感器提供曝光时间的缓冲。
-
调整 VBLANK 可以用来控制曝光时间(Shutter Time)和帧率。
-
📐 4. 调整 Line Length 和 Frame Length 的意义
-
调节帧率
-
Frame Length 越长,帧率越低(帧周期更长)。
-
Frame Length 越短,帧率越高(帧周期更短)。
例如,如果你将 VBLANK 增大一倍,帧率会降低一半。
-
-
曝光控制
-
在低光条件下,增加 VBLANK 可以让曝光时间更长,提升感光度。
-
减少 VBLANK 可以加快帧速,适用于高速运动场景。
-
-
数据带宽
-
增大 HBLANK 可以给数据处理提供更多时间,但会降低传输效率。
-
减少 HBLANK 可以提高像素时钟利用率,适合高速应用。
-
📌 5. 公式总结
-
Line Length = 图像宽度(Width)+ HBLANK
-
Frame Length = 图像高度(Height)+ VBLANK
-
帧率(FPS) = Pixel Clock ÷ (Line Length × Frame Length)
🔍 6. 示例计算
假设:
-
图像分辨率:1920×1080
-
Pixel Clock = 148.5 MHz
-
HBLANK = 280 pixels,VBLANK = 45 lines
(1) 计算 Line Length 和 Frame Length
Line Length=1920+280=2200 pixels
Frame Length=1080+45=1125 lines
(2) 计算帧率(FPS)
🎯 7. 结论
-
Line Length ≠ 图像宽度,它包括了 HBLANK。
-
Frame Length ≠ 图像高度,它包括了 VBLANK。
-
调节 VBLANK 是改变曝光时间和帧率的关键手段。
-
调节 HBLANK 主要用于改善数据处理的余裕时间。