【ISP】HDR技术中Sub-Pixel与DOL的对比分析

一、原理对比
  1. Sub-Pixel(空间域HDR)
    核心机制:在单个像素内集成一大一小两个子像素(如LPD和SPD),利用其物理特性差异(灵敏度、满阱容量)同时捕捉不同动态范围的信号。
    大像素(LPD):灵敏度高,适合暗光场景,但饱和容量低;
    小像素(SPD):灵敏度低,但饱和容量高,可捕捉高光细节。
    电路设计:通过转换增益控制(CGC)和浮动扩散(FD)电容切换,分别读取不同子像素的信号。例如,索尼IMX490通过快速时序控制实现LPD和SPD的电荷分离与同步读出。
    动态范围扩展:结合双转换增益(DCG)技术,单帧即可实现4次曝光(如SP1H、SP1L、SP2H、SP2L),动态范围可达120dB以上。

  2. DOL(时间域HDR)
    核心机制:通过行交织(Line Interleaving)分时输出不同曝光时间的图像(如长、中、短曝光),缩短帧间间隔至微秒级(传统多帧间隔为毫秒级)。
    曝光时序:逐行交替执行长曝光与短曝光,如第一行长曝光后立即读取并开始短曝光,后续行依次循环。
    动态范围扩展:通过曝光比(如16:1)扩展动态范围,每增加一档曝光比(16倍)可提升4bit动态范围,多帧叠加后可达24bit。
    ISP协同:依赖后端ISP进行多帧对齐与融合,但需较大行延迟缓冲区(Line Delay Buffer)处理未对齐的行数据。


二、核心差异
维度Sub-Pixel(空间域)DOL(时间域)
物理基础基于像素内子结构的空间分割(硬件级)基于时间分段的曝光时序控制(算法级)
动态范围来源大小像素灵敏度差异 + 转换增益切换多帧曝光时间差异 + 行交织缩短间隔
时间同步性完全同步:所有信号在同一时刻采集准同步:行间间隔微秒级,仍有运动残影
运动伪影无(同一时刻数据)可能残留(如高速运动物体)
LED频闪兼容性支持(单帧覆盖完整光周期)易受频闪干扰(短曝光可能错过光脉冲)
分辨率损失无(保留原始分辨率)无(传统BME-HDR可能损失分辨率)
硬件复杂度高(需特殊像素结构 + 复杂电路设计)较低(依赖时序优化 + ISP算法)
成本高(制造工艺复杂,如索尼IMX490)较低(成熟工艺,如监控相机广泛应用)

三、应用场景与优化方向
  1. Sub-Pixel的适用性
    车载ADAS:需高动态范围(≥120dB)且无运动模糊,如LED交通灯识别、隧道出入口场景。
    低光环境:大像素的高灵敏度优势显著,如夜间监控或弱光摄影。
    未来趋势:结合DCG技术进一步提升动态范围(如索尼Sub-Pixel+DCG实现单帧24bit)。

  2. DOL的适用性
    监控与视频HDR:支持高帧率(如60fps)输出,适合实时性要求高的场景。
    成本敏感领域:消费级手机(如IMX766)和工业检测设备,平衡性能与成本。
    优化方向:虚拟通道技术(索尼第二代DOL)减少ISP带宽压力,提升最大曝光比。


四、技术挑战与取舍
  1. Sub-Pixel的权衡
    优势:彻底消除运动伪影,完美兼容LED频闪场景;
    劣势:制造成本高(需深槽隔离、复杂电路),且小像素的噪声水平较高。

  2. DOL的取舍
    优势:技术成熟,适配现有ISP流水线;
    劣势:动态范围提升依赖多帧叠加,易受SNR Drop影响(HDR合成区间噪声显著)。


总结

Sub-Pixel与DOL分别代表了空间域和时间域HDR技术的两种范式:
Sub-Pixel通过硬件创新实现单帧全同步,适合车载等高动态、高可靠性场景;
DOL通过时序优化实现准同步多帧融合,在成本和实时性上更具普适性。
未来技术演进可能趋向空间-时间混合方案(如Sub-Pixel+多帧曝光),以平衡动态范围、噪声与运动兼容性。

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

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

相关文章

Vulnhub-IMF靶机

本篇文章旨在为网络安全渗透测试靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列IMF靶机有一定的了解 一、信息收集阶段 靶机下载地址:https://www.vulnhub.com/entry/imf-1,162/ 因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得…

Linux内核中TCP协议栈的实现:tcp_close函数的深度剖析

引言 TCP(传输控制协议)作为互联网协议族中的核心协议之一,负责在不可靠的网络层之上提供可靠的、面向连接的字节流服务。Linux内核中的TCP协议栈实现了TCP协议的全部功能,包括连接建立、数据传输、流量控制、拥塞控制以及连接关闭等。本文将深入分析Linux内核中tcp_close…

java+postgresql+swagger-多表关联insert操作(七)

入参为json,然后根据需要对多张表进行操作: 入参格式: [{"custstoreName":"swagger-测试经销商01","customerName":"swagger-测试客户01","propertyNo":"swaggertest01",&quo…

R语言——绘制生命曲线图(细胞因子IL5)

绘制生命曲线图&#xff08;根据细胞因子&#xff09; 说明流程代码加载包读取Excel文件清理数据重命名列名处理IL-5中的"<"符号 - 替换为检测下限的一半首先找出所有包含"<"的值检查缺失移除缺失值根据IL-5中位数将患者分为高低两组 创建生存对象拟…

Python----计算机视觉处理(Opencv:道路检测完整版:透视变换,提取车道线,车道线拟合,车道线显示,)

Python----计算机视觉处理&#xff08;Opencv:道路检测之道路透视变换) Python----计算机视觉处理&#xff08;Opencv:道路检测之提取车道线&#xff09; Python----计算机视觉处理&#xff08;Opencv:道路检测之车道线拟合&#xff09; Python----计算机视觉处理&#xff0…

【Oracle篇】跨字符集迁移:基于数据泵的ZHS16GBK转AL32UTF8全流程迁移

&#x1f4ab;《博主主页》&#xff1a;奈斯DB-CSDN博客 &#x1f525;《擅长领域》&#xff1a;擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控&#xff1b;并对SQLserver、NoSQL(MongoDB)有了解 &#x1f496;如果觉得文章对你有所帮…

【C++算法】50.分治_归并_翻转对

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 493. 翻转对 题目描述&#xff1a; 解法 分治 策略一&#xff1a;计算当前元素cur1后面&#xff0c;有多少元素的两倍比我cur1小&#xff08;降序&#xff09; 利用单…

深入讲解:智能合约中的读写方法

前言 在探秘区块链开发:智能合约在 DApp 中的地位及与传统开发差异一文中我提到对于智能合约中所有的写入其实都算是交易。而在一个完整的智能合约代码中最大的两个组成部分就是读取和写入。 本文将为你深入探讨该两者方法之间的区别。 写方法 写方法其实就是对区块链这一…

Go语言类型捕获及内存大小判断

代码如下&#xff1a; 类型捕获可使用&#xff1a;reflect.TypeOf()&#xff0c;fmt.Printf在的%T。 内存大小判断&#xff1a;len()&#xff0c;unsafe.Sizeof。 package mainimport ("fmt""unsafe""reflect" )func main(){var i , j 1, 2f…

MyBatis Plus 在 ZKmall开源商城持久层的优化实践

ZKmall开源商城作为基于 Spring Cloud 的高性能电商平台&#xff0c;其持久层通过 MyBatis Plus 实现了多项深度优化&#xff0c;涵盖分库分表、缓存策略、分页性能、多租户隔离等核心场景。以下是具体实践总结&#xff1a; 一、分库分表与插件集成优化 1. 分库分表策略 ​Sh…

学习MySQL第七天

夕阳无限好 只是近黄昏 一、子查询 1.1 定义 将一个查询语句嵌套到另一个查询语句内部的查询 我们通过具体示例来进行演示&#xff0c;这一篇博客更侧重于通过具体的小问题来引导大家独立思考&#xff0c;然后熟悉子查询相关的知识点 1.2 问题1 谁的工资比Tom高 方…

Nginx 常见面试题

一、nginx常见错误及处理方法 1.1 404 bad request 一般原因&#xff1a;请求的Header过大 解决办法&#xff1a; 配置nginx.conf 相关设置1. client_header_buffer_size 16k; 2. large_client_header_buffers 4 64k;1.2 413 Request Entity Too Large 一般原因&#xff1…

LeetCode 每日一题 2025/3/31-2025/4/6

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/31 2278. 字母在字符串中的百分比4/1 2140. 解决智力问题4/2 2873. 有序三元组中的最大值 I4/3 2874. 有序三元组中的最大值 II4/4 1123. 最深叶节点的最近公共祖先4/5 1…

Docker Compose 常用命令 运行 docker-compose.yaml

Docker Compose 中有两个重要的概念 服务 (service)&#xff1a;一个应用的容器&#xff0c;实际上可以包括若干运行相同镜像的容器实例。 项目 (project)&#xff1a;由一组关联的应用容器组成的一个完整业务单元&#xff0c;在 docker-compose.yml 文件中定义。 为了更方便…

深度学习中的 Batch 机制:从理论到实践的全方位解析

一、Batch 的起源与核心概念 1.1 批量的中文译名解析 Batch 在深度学习领域标准翻译为"批量"或"批次"&#xff0c;指代一次性输入神经网络进行处理的样本集合。这一概念源自统计学中的批量处理思想&#xff0c;在计算机视觉先驱者Yann LeCun于1989年提出…

Unity Internal-ScreenSpaceShadows 分析

一、代码结构 // Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)Shader "Hidden/Internal-ScreenSpaceShadows" {Properties {_ShadowMapTexture ("", any) "" {} // 阴影贴图纹理&…

Token+JWT+Redis 实现鉴权机制

TokenJWTRedis 实现鉴权机制 使用 Token、JWT 和 Redis 来实现鉴权机制是一种常见的做法&#xff0c;尤其适用于分布式应用或微服务架构。下面是一个大致的实现思路&#xff1a; 1. Token 和 JWT 概述 Token&#xff1a;通常是一个唯一的字符串&#xff0c;可以用来标识用户…

RPC与其他通信技术的区别,以及RPC的底层原理

1、什么是 RPC&#xff1f; 远程过程调用&#xff08;RPC&#xff09; 是一种协议&#xff0c;它允许程序在不同计算机之间进行通信&#xff0c;让开发者可以像调用本地函数一样发起远程请求。 通过 RPC&#xff0c;开发者无需关注底层网络细节&#xff0c;能够更专注于业务逻…

简洁的 PlantUML 入门教程

评论中太多朋友在问&#xff0c;我的文章中图例如何完成的。 我一直用plantUML,也推荐大家用&#xff0c;下面给出一个简洁的PlantUML教程。 &#x1f331; 什么是 PlantUML&#xff1f; PlantUML 是一个用纯文本语言画图的工具&#xff0c;支持流程图、时序图、用例图、类图、…

互联网三高-高性能之JVM调优

1 运行时数据区 JVM运行时数据区是Java虚拟机管理的内存核心模块&#xff0c;主要分为线程共享和线程私有两部分。 &#xff08;1&#xff09;线程私有 ① 程序计数器&#xff1a;存储当前线程执行字节码指令的地址&#xff0c;用于分支、循环、异常处理等流程控制‌ ② 虚拟机…