Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99165
  • 博文数量: 13
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 162
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-02 17:06
文章分类

全部博文(13)

文章存档

2017年(1)

2016年(12)

我的朋友

分类: 嵌入式

2016-10-17 18:10:23

 

ZSLzero shutter lag)解析

 

ZSL (zero shutter lag):零秒延迟

 

在日常生活中,使用手机camera拍照的时候往往会有一些延迟的体验。ZSL,就是为了消除这种延迟,提供一种“拍即视”的体验而被开发出来。

 

一.Normal mode

一般情况下,拍照流程如下,从图中我们可以看到data flow 以及shutter lag (延迟)是如何产生的。

  

 

 

二. ZSL Mode

通过zsl 技术,最大程度上减小了这种延迟,如下图:


 


Zsl 分为两种modesingle shotburst mode

 

1.    single shot:

预览之后,sensor VFE 会产生快照和预览帧,并且会把最新的一些帧保留在图像buffer中。一旦“取图”事件被触发,系统就会在第一时间内从图像buffer中把相关的图像找出并返回给用户,这就是ZSL,零秒延迟。

 


 

 

2.     Burst-mode:

Burst mode single shot 特征的自然延伸。此功能允许用户捕获的不仅是当前帧,但也有几个帧之前和之后的当前帧的少数几个帧,从而捕捉到一个序列的图像到内存。这将为用户提供不同的快照时间,从中选择一个或多个帧来保存。应用了多少帧的选择自由是多少追溯帧和未来帧在记忆的局限性上,追溯和未来帧是相对于真正的快门时间的。

 


 

 

 

 

 

 

 

三.拍照具体实现过程

1. Implementation without ZSL:


 

 

2.     Implementation with ZSL:

 

如果快照command不来,ZSL 帧就不会被拿起;他们会通过快照线程回到内核释放。如果zslcommand过来,就会设置信号,快照线程就会立刻在序列中抓取最老的帧并开始编码。

一旦一个JPEG完成,这个帧就会回到队列释放到内核。如果ZLS 快照是burst mode,快照线程加会立刻抓住整个队列并开始编码,一旦一个JPEG完成,这个帧就会回到队列释放到内核。

 

 


 

 

 

 

 

阅读(16503) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~