实现图像高动态范围压缩的系统及其方法 技术领域 本发明涉及数字图像 / 视频处理领域, 特别涉及数字图像 / 视频压缩处理技术领 域, 具体是指一种实现图像高动态范围压缩的系统及其方法。
背景技术 一幅图像或场景的最大亮度与最小亮度的比值称为该图像或场景的动态范围 (Dynamic Range)。随着图像 / 视频采集装置的比特位数 ( 位宽 ) 不断增加, 以及后期合成 高动态范围 (High Dynamic Range, HDR) 图像 / 视频技术的发展, 高动态范围压缩也广泛应 用于数字图像 / 视频的采集、 处理以及重现等各个领域。与高动态范围对应的, 是低动态范 围 (Low Dynamic Range, LDR)。常见的低动态设备有 : 传统显示器、 打印机、 低位宽图像传 感器等。由于这些设备所能显示或记录的动态范围远小于高动态范围图像 / 视频的动态范 围。因此如果想在低动态范围设备上正常显示或记录高动态范围的图像 / 视频, 就需要对 高动态范围图像 / 视频进行压缩。
目前的高动态范围压缩方法按照其最终生成的映射曲线的区别可以划分为两大 类: 全局映射、 局部映射。所谓全局映射即按照某种算法进行从 HDR 到 LDR 的映射, 使得相 同的输入像素值映射到相同的输出像素值, 即相同的输入像素其映射方法也相同。 类似地, 所谓局部映射即按照某种算法进行从 HDR 到 LDR 的映射, 使得相同的输入像素值映射到不 同的输出像素值, 即相同的输入像素其映射方法不相同。
全局映射的代表方法如文献 《Digital Image Processing 3rd Edition》 中所述 的伽马矫正、 基于直方图的矫正等。这类映射方法的优点是便于实现, 运算复杂度极低 ; 缺 点是易于对原始图像的某些部分造成过压缩, 损坏正常曝光区域以及降低图像对比度等。
局部映射的代表方法如文献 《Fast bilateral filtering for the display of high-dynamic-range images》 中所述, 其将输入高动态图像通过双边滤波器划分为纹理图 像和光照图像, 纹理图像保持了原图像的细节信息, 而光照图像保存了场景的光照信息, 对 光照图像进行压缩后与纹理图像合并成最终压缩后的输出图像。 这类局部映射方法能够较 好地保留原始图像的细节, 但是运算复杂度远远大于全局映射算法, 并且其最终效果直接 受限于滤波器的尺度大小。 如果滤波器尺度过小, 则不能正确地估计场景的光照信息, 也就 无法正确分离出纹理图像, 压缩效果较差。如果滤波器尺度过大, 不仅运算复杂度增加, 而 且会引入明显的光晕 (Halo) 现象。
同时, 在现有技术的高动态压缩方法中, 无论是全局算法还是局部算法, 在对亮度 ( 光照层 ) 进行压缩时, 常用方法有两种。一种利用原始图像 / 视频的统计直方图, 对其进 行裁减后进行最大值、 最小值映射 ; 一种是利用预定义映射曲线 ( 类似伽马矫正 ) 进行映 射。这两类方法都没有考虑原始图像 / 视频的正常曝光区域, 因此可能会对图像 / 视频的 正常曝光区域造成过度压缩导致对比度大幅下降或者对图像 / 视频的欠曝光或过曝光区 域调整不足, 直接影响压缩效果。
发明内容 本发明的目的是克服了上述现有技术中的缺点, 提供一种能够有效解决损坏正常 曝光区域、 边界出现光晕 (Halo) 以及图像对比度损失过大的问题、 处理过程快捷高效、 算 法复杂度较低、 工作性能稳定可靠、 适用范围较为广泛的实现图像高动态范围压缩的系统 及其方法。
为了实现上述的目的, 本发明的实现图像高动态范围压缩的系统及其方法如下 :
该实现图像高动态范围压缩的系统, 其主要特点是, 所述的系统包括 :
原始图像输入单元, 用于获取待处理图像 ;
曝光区域计算单元, 与所述的原始图像输入单元相连接, 用于计算并划分待处理 图像的曝光区域 ;
比较单元, 分别与所述的原始图像输入单元和曝光区域计算单元相连接, 用于将 待处理图像的每个像素与该曝光区域计算单元中划分的曝光区域比较并选择相应的校正 曲线 ;
校正单元, 与所述的比较单元相连接, 用于按照相应的校正曲线校正产生新的像 素值 ; 以及
压缩后图像输出单元, 与所述的校正单元相连接, 用于将像素值映射到合适的色 彩空间后输出。
该实现图像高动态范围压缩的系统中的曝光区域为通过分析待处理图像的像素 值、 并按照曝光程度的不同将待处理图像所分割的区域。
该实现图像高动态范围压缩的系统中的曝光区域包括过度曝光区域、 欠曝光区 域、 正常曝光区域以及中间区域。
该实现图像高动态范围压缩的系统中还包括 :
光照 / 细节分离器, 与所述的原始图像输入单元相连接, 用于从原始图像中分离 出光照层图像和纹理层图像, 并将所述的光照层图像送至所述的曝光区域计算单元中 ;
融合器, 接收所述的校正单元输出的校正后的光照层图像和光照 / 细节分离器输 出的纹理层图像, 并将校正后的光照层图像与纹理层图像进行融合后产生压缩后图像, 并 输出至所述的压缩后图像输出单元。
该实现图像高动态范围压缩的方法, 其主要特点是, 所述的方法包括以下步骤 :
(1) 对输入的原始图像进行分析, 计算并划分待处理图像的曝光区域 ;
(2) 将待处理图像的每个像素与所述的曝光区域进行比较, 并选择相应的校正曲 线;
(3) 针对各个像素, 按照相应的校正曲线校正产生新的像素值 ;
(4) 将所述的新的像素值映射到合适的色彩空间并输出。
该实现图像高动态范围压缩的方法中的对输入的原始图像进行分析并计算划分 待处理图像的曝光区域, 包括以下步骤 :
(11) 对原始图像的亮度信息进行分析, 并划分出所存在的正常曝光区域、 欠曝光 区域、 过曝光区域以及中间区域 ;
(12) 计算并获取欠曝光区域的亮度阈值、 过曝光区域的亮度阈值以及正常曝光区 域的亮度阈值。
该实现图像高动态范围压缩的方法中的对原始图像的亮度信息进行分析并划分 出所存在的正常曝光区域、 欠曝光区域、 过曝光区域以及中间区域, 包括以下步骤 :
(111) 将原始图像在亮度上根据以下公式所代表的校正曲线做 γ1 > 1 的映射, 得 到校正后的映射图像 y1 :
并将原始图像在亮度上根据以下公式所代表的校正曲线做 γ2 < 1 的映射, 得到 校正后的映射图像 y2 :
其中, x 为输入的原始图像 ; (112) 分别计算输入的原始图像 x 和映射图像 y1 和 y2 中的每个像素点的梯度信息;
(113) 依次将映射图像 y1 与输入的原始图像 x 的每个像素对应的梯度做差得到变 化幅度 Δy1x, 如果该变化幅度 Δy1x 大于系统预设的第一阈值 th1, 则将该像素点纳入欠曝 光区域 ; 如果该变化幅度 Δy1x 小于系统预设的第三阈值 th3, 则将该像素点纳入正常曝光 区域 ; 否则将该像素点纳入中间区域 ;(114) 依次将映射图像 y2 与输入的原始图像 x 的每个像素对应的梯度做差得到变 化幅度 Δy2x, 如果该变化幅度 Δy2x 大于系统预设的第二阈值 th2, 则将该像素点纳入过曝 光区域 ; 如果该变化幅度 Δy2x 小于系统预设的第三阈值 th3, 则将该像素点纳入正常曝光 区域 ; 否则将该像素点纳入中间区域。
该实现图像高动态范围压缩的方法中的 γ1 取值为 2.2。
该实现图像高动态范围压缩的方法中的 γ2 取值为 0.4545。
该实现图像高动态范围压缩的方法中的计算并获取欠曝光区域的亮度阈值、 过曝 光区域的亮度阈值以及正常曝光区域的亮度阈值, 包括以下步骤 :
(121) 统计出欠曝光区域的各个像素点的亮度均值 m1 与方差 v1, 并将 m1+λv1 作为 欠曝光区域的亮度阈值, 其中 λ 为调整因子 ;
(122) 统计出过曝光区域的各个像素点的亮度均值 m2 与方差 v2, 并将 m2-λv2 作为 过曝光区域的亮度阈值 ;
(123) 统计出正常曝光区域的各个像素点的亮度均值 m3 与方差 v3, 并将 m3+λv3 作 为正常曝光区域的亮度阈值的上限值, 将 m3-λv3 作为正常曝光区域的亮度阈值的下限值。
该实现图像高动态范围压缩的方法中的将待处理图像的每个像素与所述的曝光 区域进行比较并选择相应的校正曲线, 包括以下步骤 :
(21) 如果所述的像素位于欠曝光区域, 则选择提升该像素的亮度值的校正曲线 ;
(22) 如果所述的像素位于过曝光区域, 则选择抑制该像素的亮度值的校正曲线 ;
(23) 如果所述的像素位于正常曝光区域, 则选择保持该像素的亮度值不变或微调 该像素亮度值的校正曲线 ;
(24) 如果所述的像素位于中间区域, 则选择预设的中间区域亮度校正曲线。
该实现图像高动态范围压缩的方法中的提升像素的亮度值的校正曲线为以下公 式所代表的曲线 :
y = x1/γ ;
其中, γ = 2.2, x 为校正前的像素亮度值, y 为校正后的像素亮度值。
该实现图像高动态范围压缩的方法中的抑制像素的亮度值的校正曲线为以下公 式所代表的曲线 :
y = x1/γ ;
其中, γ = 0.4545, x 为校正前的像素亮度值, y 为校正后的像素亮度值。
该实现图像高动态范围压缩的方法中的保持该像素的亮度值不变或微调该像素 亮度值的校正曲线为以下公式所代表的曲线 :
y=x;
其中, x 为校正前的像素亮度值, y 为校正后的像素亮度值。
该实现图像高动态范围压缩的方法中的中间区域亮度校正曲线为以下公式所代 表的曲线 :
y = kx+b ;
其 中, x 为 校 正 前 的 像 素 亮 度 值, y 为 校 正 后 的 像 素 亮 度 值, x2 为中间区域的过曝光区域一侧的区域的最小像素亮度值, y2 为该像素值对应的映射亮度值, x1 为中间区域的欠曝光区域一侧的区域的最大像素亮度 值, y1 为该像素值对应的映射亮度值。
该实现图像高动态范围压缩的方法中的将新的像素值映射到合适的色彩空间并 输出, 具体为 :
根据新的像素亮度值与原始像素亮度值的映射关系, 将新的像素的亮度值映射到 R、 G、 B 分量上。
该实现图像高动态范围压缩的方法中的新的像素亮度值与原始像素亮度值的映 射关系为 :
其中, ROUT、 GOUT 和 BOUT 分别为新的像素亮度值的 R、 G、 B 分量, RIN、 GIN、 BIN 分别为原 始像素亮度值的 R、 G、 B 分量。该实现图像高动态范围压缩的方法中的步骤 (1) 之前还包括以下步骤 :
(0) 从所需要压缩的图像中分离出光照层图像和纹理层图像, 并将所述的光照层 图像作为输入的原始图像 ;
所述的步骤 (4) 之后还包括以下步骤 :
(5) 将处理后输出的光照层图像和纹理层图像进行融合后产生压缩后图像并输 出。
采用了该发明的实现图像高动态范围压缩的系统及其方法, 由于其中通过对输入 图像进行分析, 划分正常曝光以及欠曝光区域, 提升欠曝光区域亮度, 保持正常曝光区域亮 度, 从而有效解决了高动态范围压缩方法中损坏正常曝光区域、 边界出现光晕 (Halo) 以及图像对比度损失过大的问题, 并在保留正常曝光区域对比度的同时, 提升了欠曝光区域以 及过曝光区域的可见性, 不仅可以直接应用于全局高动态压缩方法, 而且也可以运用于局 部高动态压缩方法中的亮度 ( 光照层 ) 压缩, 同时, 本发明的运算复杂度极低, 便于实时处 理, 处理过程快捷高效, 工作性能稳定可靠, 适用范围较为广泛。 附图说明
图 1 为本发明的实现图像高动态范围压缩的系统的具体实施方式示意图。
图 2 为本发明的实现图像高动态范围压缩的系统的另一种具体实施方式示意图。
图 3 为本发明的实现图像高动态范围压缩的方法的处理过程示意图。
图 4 为本发明中的同时存在欠曝光区域、 中间区域、 正常曝光区域和过曝光区域 的曝光区域分布示意图。
图 5 为本发明中的存在正常曝光区域、 中间区域和过曝光区域的曝光区域分布示 意图。
图 6 为本发明中的存在欠曝光区域、 中间区域和正常曝光区域的曝光区域分布示 意图。
图 7 为本发明中的只有欠曝光区域的曝光区域分布示意图。 图 8 为本发明中的只有过曝光区域的曝光区域分布示意图。具体实施方式
为了能够更清楚地理解本发明的技术内容, 特举以下实施例详细说明。
请参阅图 1 和图 2 所示, 该实现图像高动态范围压缩的系统, 其中包括 :
(1) 原始图像输入单元 300, 用于获取待处理图像 ;
(2) 曝光区域计算单元 301, 与所述的原始图像输入单元 300 相连接, 用于计算并 划分待处理图像的曝光区域 ; 所述的曝光区域为通过分析待处理图像的像素值、 并按照曝 光程度的不同将待处理图像所分割的区域 ; 该曝光区域可以包括过度曝光区域、 欠曝光区 域、 正常曝光区域以及中间区域 ;
(3) 比较单元 302, 分别与所述的原始图像输入单元 300 和曝光区域计算单元 301 相连接, 用于将待处理图像的每个像素与该曝光区域计算单元中划分的曝光区域比较并选 择相应的校正曲线 ;
(4) 校正单元 303, 与所述的比较单元 302 相连接, 用于按照相应的校正曲线校正 产生新的像素值 ; 以及
(5) 压缩后图像输出单元 304, 与所述的校正单元 303 相连接, 用于将像素值映射 到合适的色彩空间后输出。
作为实现图像局部高动态范围压缩的系统, 其中包括 :
(1) 原始图像输入单元 10, 用于获取待处理图像 ;
(2) 曝光区域计算单元 18, 与所述的原始图像输入单元 10 相连接, 用于计算并划 分待处理图像的曝光区域 ; 所述的曝光区域为通过分析待处理图像的像素值、 并按照曝光 程度的不同将待处理图像所分割的区域 ; 该曝光区域可以包括过度曝光区域、 欠曝光区域、 正常曝光区域以及中间区域 ;(3) 比较单元 20, 分别与所述的原始图像输入单元 10 和曝光区域计算单元 18 相 连接, 用于将待处理图像的每个像素与该曝光区域计算单元中划分的曝光区域比较并选择 相应的校正曲线 ;
(4) 校正单元 22, 与所述的比较单元 302 相连接, 用于按照相应的校正曲线校正产 生新的像素值 ; 以及
(5) 压缩后图像输出单元 26, 与所述的校正单元 303 相连接, 用于将像素值映射到 合适的色彩空间后输出。
(6) 光照 / 细节分离器 12, 与所述的原始图像输入单元 10 相连接, 用于从原始图 像中分离出光照层图像和纹理层图像, 并将所述的光照层图像 14 送至所述的曝光区域计 算单元 18 中 ;
(7) 融合器 24, 接收所述的校正单元 22 输出的校正后的光照层图像 14 和光照 / 细节分离器 12 输出的纹理层图像 16, 并将校正后的光照层图像 14 与纹理层图像 16 进行融 合后产生压缩后图像, 并输出至所述的压缩后图像输出单元 26。
在实际使用当中, 图 1 是本发明提供的一种高动态压缩装置作为独立的全局高动 态压缩的一个实施方式的结构示意图, 其中, 该装置包括 : 原始图像输入单元 300, 曝光区 域计算单元 301, 比较单元 302, 校正单元 303, 压缩后图像输出单元 304。
原始图像输入单元 300 用于获取待处理图像。
曝光区域计算单元 301 用于计算并划分待处理图像的曝光区域。所述曝光区域是 指通过分析待处理图像的像素值, 按照曝光程度的不同将待处理图像分为过度曝光区域、 欠曝光区域、 正常曝光区域以及中间区域。以上区域在待处理图像中可能以图 4 至图 8 的 五种形式中的一种存在。
比较单元 302 用于将待处理图像的每个像素与 301 中划分的曝光区域比较并选择 相应的校正曲线。
校正单元 303 用于按照相应的校正曲线校正产生新的像素值。
压缩后图像输出单元 304 用于将像素值映射到合适的色彩空间后输出。
再请参阅图 2 所示, 其为本发明提供的一种高动态压缩装置作为局部高动态压缩 中光照层压缩的一个实施方式的结构示意图, 其中, 该装置包括 : 原始图像输入单元 10, 光 照 / 细节分离器 12, 光照层图像 14, 纹理层图像 16, 曝光区域计算单元 18, 比较单元 20, 校 正单元 22, 融合器 24, 压缩后图像输出单元 26。
原始图像输入单元 10 用于获取待处理图像。
光照 / 细节分离器 12 用于从原始图像中分离出光照层图像 14 和纹理层图像 16。 在具体实施例中, 光照 / 细节分离器可以是高斯平滑滤波器也可以是其它形式的如带边界 保留的滤波器。
曝光区域计算单元 18 用于计算并划分待处理图像的曝光区域。所述曝光区域是 指通过分析光照层图像的像素值, 按照曝光程度的不同将光照层图像分为过度曝光区域、 欠曝光区域、 正常曝光区域以及中间区域。以上区域在待处理图像中可能以图 4 至图 8 的 五种形式中的一种存在。
比较单元 20 用于将光照层图像的每个像素与 18 中划分的曝光区域比较并选择相 应的校正曲线。校正单元 22 用于按照相应的校正曲线校正产生新的光照层像素值。校正后的光 照层图像与纹理层图像经过融合器 24 产生压缩后图像。
压缩后图像输出单元 26 用于将像素值映射到合适的色彩空间后输出。
再请参阅图 3 所示, 该实现图像高动态范围压缩的方法, 其中包括以下步骤 :
(1) 对输入的原始图像进行分析, 计算并划分待处理图像的曝光区域, 包括以下步 骤:
(a) 对原始图像的亮度信息进行分析, 并划分出所存在的正常曝光区域、 欠曝光区 域、 过曝光区域以及中间区域, 包括以下步骤 :
(i) 将原始图像在亮度上根据以下公式所代表的校正曲线做 γ1 > 1 的映射, 得到 校正后的映射图像 y1 :
并将原始图像在亮度上根据以下公式所代表的校正曲线做 γ2 < 1 的映射, 得到 校正后的映射图像 y2 :
其中, x 为输入的原始图像 ; 该 γ1 取值为 22, γ2 取值为 0.4545 ;(ii) 分别计算输入的原始图像 x 和映射图像 y1 和 y2 中的每个像素点的梯度信息 ;
(iii) 依次将映射图像 y1 与输入的原始图像 x 的每个像素对应的梯度做差得到变 化幅度 Δy1x, 如果该变化幅度 Δy1x 大于系统预设的第一阈值 th1, 则将该像素点纳入欠曝 光区域 ; 如果该变化幅度 Δy1x 小于系统预设的第三阈值 th3, 则将该像素点纳入正常曝光 区域 ; 否则将该像素点纳入中间区域 ;
(iv) 依次将映射图像 y2 与输入的原始图像 x 的每个像素对应的梯度做差得到变 化幅度 Δy2x, 如果该变化幅度 Δy2x 大于系统预设的第二阈值 th2, 则将该像素点纳入过曝 光区域 ; 如果该变化幅度 Δy2x 小于系统预设的第三阈值 th3, 则将该像素点纳入正常曝光 区域 ; 否则将该像素点纳入中间区域 ;
(b) 计算并获取欠曝光区域的亮度阈值、 过曝光区域的亮度阈值以及正常曝光区 域的亮度阈值, 包括以下步骤 :
(i) 统计出欠曝光区域的各个像素点的亮度均值 m1 与方差 v1, 并将 m1+λv1 作为欠 曝光区域的亮度阈值, 其中 λ 为调整因子 ;
(ii) 统计出过曝光区域的各个像素点的亮度均值 m2 与方差 v2, 并将 m2-λv2 作为 过曝光区域的亮度阈值 ;
(iii) 统计出正常曝光区域的各个像素点的亮度均值 m3 与方差 v3, 并将 m3+λv3 作 为正常曝光区域的亮度阈值的上限值, 将 m3-λv3 作为正常曝光区域的亮度阈值的下限值 ;
(2) 将待处理图像的每个像素与所述的曝光区域进行比较, 并选择相应的校正曲 线, 包括以下步骤 :
(a) 如果所述的像素位于欠曝光区域, 则选择提升该像素的亮度值的校正曲线 ; 该提升像素的亮度值的校正曲线为以下公式所代表的曲线 :
y = x1/γ ;
其中, γ = 2.2, x 为校正前的像素亮度值, y 为校正后的像素亮度值 ;
(b) 如果所述的像素位于过曝光区域, 则选择抑制该像素的亮度值的校正曲线 ;该抑制像素的亮度值的校正曲线为以下公式所代表的曲线 :
y = x1/γ ;
其中, γ = 0.4545, x 为校正前的像素亮度值, y 为校正后的像素亮度值 ;
(c) 如果所述的像素位于正常曝光区域, 则选择保持该像素的亮度值不变或微调 该像素亮度值的校正曲线 ; 该保持该像素的亮度值不变或微调该像素亮度值的校正曲线为 以下公式所代表的曲线 :
y=x;
其中, x 为校正前的像素亮度值, y 为校正后的像素亮度值 ;
(d) 如果所述的像素位于中间区域, 则选择预设的中间区域亮度校正曲线 ; 该中 间区域亮度校正曲线为以下公式所代表的曲线 :
y = kx+b ;
其 中, x 为 校 正 前 的 像 素 亮 度 值, y 为 校 正 后 的 像 素 亮 度 值, x2 为中间区域的过曝光区域一侧的区域的最小像素亮度值, x1 为中间区域的欠曝光区域一侧的区域的最大像素亮度 y2 为该像素值对应的映射亮度值, 值, y1 为该像素值对应的映射亮度值 ; (3) 针对各个像素, 按照相应的校正曲线校正产生新的像素值 ;
(4) 将所述的新的像素值映射到合适的色彩空间并输出, 具体为 :
根据新的像素亮度值与原始像素亮度值的映射关系, 将新的像素的亮度值映射到 R、 G、 B 分量上, 该新的像素亮度值与原始像素亮度值的映射关系为 :
其中, ROUT、 GOUT 和 BOUT 分别为新的像素亮度值的 R、 G、 B 分量, RIN、 GIN、 BIN 分别为原 始像素亮度值的 R、 G、 B 分量。
对于实现图像局部高动态范围压缩的方法, 其中的步骤 (1) 之前还包括以下步 骤:
(0) 从所需要压缩的图像中分离出光照层图像和纹理层图像, 并将所述的光照层 图像作为输入的原始图像 ;
所述的步骤 (4) 之后还包括以下步骤 :
(5) 将处理后输出的光照层图像和纹理层图像进行融合后产生压缩后图像并输 出。
在实际使用当中, 本发明是通过以下技术方案实现的 :
该快速高动态范围压缩方法, 通过对输入图像进行分析, 划分正常曝光、 欠曝光或 者过曝光以及中间区域, 在调整欠曝光或过曝光区域的亮度与对比度的同时保持正常曝光 区域的亮度与对比度, 同时压缩中间区域的亮度与对比度。
由于一幅图像一般由正常曝光区域、 欠曝光或过度曝光区域以及中间区域中的一
种或全部组成。所谓正常曝光区域, 是指能在 LDR 设备上正常显示或者记录区域, 不会出现 过暗或者过亮的情况。而所谓欠曝光或者过度曝光区域, 是指在 LDR 设备上显示或者记录 时过暗或者过亮的区域。中间区域则是介于前两者之间的区域。为了在保证正常曝光区域 的对比度同时调整欠曝光或过曝光区域, 改进压缩效果, 我们采用基于曝光区域划分的思 路进行高动态范围压缩。
本发明的方法的思想总结如下 :
首先对原始图像或者光照层的亮度信息进行分析, 划分出可能存在的正常曝光区 域、 欠曝光或过曝光区域以及中间区域。正常曝光区域以及欠曝光或过曝光区域都分别对 应着输入图像有效像素范围内的一个或多个阈值, 位于正常曝光区域阈值与欠曝光或过曝 光区域阈值之间的区域称为中间区域。可能的阈值分布如图 4 至图 8 所示, 当正常曝光区 域位于输入图像有效像素范围中间像素时, 如图 4 所示, 从左至右依次为 : 欠曝光区域 (0 ~ L1)、 中间区域 (L1 ~ L2)、 正常曝光区域 (L2 ~ L3)、 中间区域 (L3 ~ L4)、 过度曝光区域 (L4 ~ 1)。当正常曝光区域位于输入图像有效像素范围低像素区域时, 如图 5 所示, 从左至 右依次为 : 正常曝光区域 (0 ~ L3)、 中间区域 (L3 ~ L4)、 过度曝光区域 (L4 ~ 1)。当正常 曝光区域位于输入图像有效像素范围高像素区域时, 如图 6 所示, 从左至右依次为 : 欠曝光 区域 (0 ~ L1)、 中间区域 (L1 ~ L2)、 正常曝光区域 (L2 ~ 1)。当正常曝光区域不存在时, 如图 7、 8 所示, 整幅图像全部为欠曝光区域或者过度曝光区域。 分析并划分各种曝光区域的方法有很多, 如通过直方图分析, 通过梯度分析等。 除 了以上所列举的方法之外, 无论最终采用何种方法, 都未背离本发明的基本思想且不超出 本发明的保护范围。
完成对原始图像或者光照层的曝光区域划分之后, 开始对各区域进行映射。首先 对于正常曝光区域进行映射, 对于该区域的映射原则是以不损失整体对比度为前提, 因此 该区域输入像素的归一化后的最大值与最小值保持不变或微调后映射到输出像素的归一 化后的最大值与最小值。该区域的映射曲线的计算方法有很多, 可以为斜率固定为 1 的一 次曲线也可以为 S 曲线等。除了以上所列举的方法之外, 无论最终采用何种方法, 都未背离 本发明的基本思想且不超出本发明的保护范围。
其次对欠曝光区域进行映射, 对于该区域的映射原则是以提升暗部区域的亮度为 前提, 因此该区域映射到输出像素的归一化后的值相对于输入像素的归一化后的值会有较 大幅度的提升。该区域的映射曲线的计算方法有很多, 可以通过预先设定的矫正曲线也可 以通过当前像素以及周围相邻像素值动态计算获取等。除了以上所列举的方法之外, 无论 最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护范围。
然后对过度曝光区域进行映射, 对于该区域的映射原则是以降低过亮区域的亮度 为前提, 因此该区域映射到输出像素的归一化后的值相对于输入像素的归一化后的值会有 较大幅度的抑制。该区域的映射曲线的计算方法有很多, 可以通过预先设定的矫正曲线也 可以通过当前像素以及周围相邻像素值动态计算获取等。除了以上所列举的方法之外, 无 论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护范围。
最后对中间区域进行映射, 对于该区域的映射原则是以降低该区域的整体对比度 为前提, 因此该区域映射到输出像素的归一化后的最大值与最小值之差相对于输入像素的 归一化后的最大值与最小值之差会有较大幅度的抑制。 该区域的映射曲线的计算方法有很
多, 可以通过预先设定的矫正曲线也可以通过映射后的欠曝光区域或过度曝光区域与正常 曝光区域的输入与输出像素动态计算等。除了以上所列举的方法之外, 无论最终采用何种 方法, 都未背离本发明的基本思想且不超出本发明的保护范围。
至此, 本发明的高动态范围压缩方法结束, 如果是应用于局部压缩方法中的光照 层压缩, 则经过本方法压缩后的光照层与纹理层结合后输出最终压缩结果 ; 如果是应用于 全局压缩方法, 则压缩运算结束。
作为本发明的高动态范围压缩方法的一个实施方式的流程图, 具体包括如下步 骤:
(1) 计算并获取应用于当前图像的可能存在的欠曝光区域亮度阈值、 过曝光区域 亮度阈值以及正常曝光区域亮度阈值。
(2) 从原始图像中获取一个待处理的像素, 作为当前像素。
(3) 计算当前像素的亮度。 需要注意的是, 基于亮度的曝光区域划分以及映射只是 本专利的一个具体实施例, 具体实现中无论对于曝光区域以及对应的阈值如何划分以及映 射, 无论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护范围 ; 同样 地, 无论最终采用何种方法计算亮度, 都未背离本发明的基本思想且不超出本发明的保护 范围。
(4) 将当前像素亮度与统计出的欠曝光区域亮度阈值进行比较, 如果当前像素位 于欠曝光区域, 则提升该像素亮度值。该像素亮度输出值可以通过预先设定的矫正曲线也 可以通过当前像素以及周围相邻像素值动态计算获取等。 本实施例中采用 y = x1/γ 的矫正 曲线计算欠曝光区域的矫正后亮度, γ = 2.2, x 为矫正前像素亮度值, y 为矫正后像素亮 度值。无论最终采用何种方法计算亮度, 都未背离本发明的基本思想且不超出本发明的保 护范围 ;
如果当前像素位于过度曝光区域, 则抑制该像素亮度值。该像素亮度输出值可以 通过预先设定的矫正曲线也可以通过当前像素以及周围相邻像素值动态计算获取等。 本实 1/γ 施例中采用 y = x 的矫正曲线计算过度曝光区域的矫正后亮度, γ = 0.4545, x 为矫正 前像素亮度值, y 为矫正后像素亮度值。无论最终采用何种方法计算亮度, 都未背离本发明 的基本思想且不超出本发明的保护范围 ;
如果当前像素位于正常曝光区域, 则保持不变或微调该像素亮度值。该像素亮度 输出值的计算方法有很多, 可以为斜率固定为 1 的一次曲线也可以为 S 曲线等。本实施例 中采用 y = x 的矫正曲线计算正常曝光区域的矫正后亮度, x 为矫正前像素亮度值, y 为矫 正后像素亮度值。无论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的 保护范围 ;
如 果 当 前 像 素 位 于 中 间 区 域, 本 实 施 例 中 采 用 y = kx+b 的 矫 正 曲 线 计 算 中 间 区 域 的 矫 正 后 亮 度, x 为 矫 正 前 像 素 亮 度 值, y 为 矫 正 后 像 素 亮 度 值,
其中 x2 为中间区域右侧区域的最小像素亮度值, y2 为该像素值对应的映射亮度 值, x1 为中间区域左侧区域的最大像素亮度值, y1 为该像素值对应的映射亮度值。无论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护范围。
(5) 根据输出像素亮度值与输入像素亮度值的关系, 将输出像素的亮度值映射到 R、 G、 B 分量。本实施例中的映射关系为 其中ROUT、 GOUT 和 BOUT 分别为输出像素的 R、 G、 B 分量, RIN、 GIN、 BIN 分别为输入像素的 R、 G、 B 分量。 将像素的亮度值映射到 R、 G、 B 分量有很多方法, 具体实现中除了以上所列举的方法之外, 无论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护范围。
所述步骤 (1) 包含以下步骤 :
(11) 将整幅图像在亮度上分别做 γ = 2.2 以及 γ = 0.4545 的 y = x1/γ 的映射, 输出分别为 y1 和 y2。
(12) 分别计算输入图像 x 和映射 y1 及 y2 的每个像素点的梯度信息。计算梯度的 方法有很多, 无论最终采用何种方法, 都未背离本发明的基本思想且不超出本发明的保护 范围。
(13) 依次将 y1 与输入图像 x 的每个像素对应的梯度做差 Δy1x, 当其变化幅度大 于阈值 th1 时, 将该像素点纳入欠曝区域。 统计出欠曝区域的均值 m1 与方差 v1, 计算 m1+λv1 作为欠曝光区域亮度阈值, 其中 λ 为调整因子。
类似地, 依次将 y2 与输入图像 x 的每个像素对应的梯度做差 Δy2x, 当其变化幅 度大于阈值 th2 时, 将该像素点纳入过曝区域。统计出过曝区域的均值 m2 与方差 v2, 计算 m2-λv2 作为过曝光区域亮度阈值。当 Δy1x 与 Δy2x 的变化幅度小于阈值 th3 时, 将该像素 点纳入正常曝光区域。统计出正常曝光区域的均值 m3 与方差 v3, 计算 m3+λv3、 m3-λv3 作为 正常曝光区域亮度阈值的上下限。 正常曝光区域与欠曝光区域及正常曝光区域与过曝光区 域的过渡称为中间区域。
采用了上述的实现图像高动态范围压缩的系统及其方法, 由于其中通过对输入图 像进行分析, 划分正常曝光以及欠曝光区域, 提升欠曝光区域亮度, 保持正常曝光区域亮 度, 从而有效解决了高动态范围压缩方法中损坏正常曝光区域、 边界出现光晕 (Halo) 以及 图像对比度损失过大的问题, 并在保留正常曝光区域对比度的同时, 提升了欠曝光区域以 及过曝光区域的可见性, 不仅可以直接应用于全局高动态压缩方法, 而且也可以运用于局 部高动态压缩方法中的亮度 ( 光照层 ) 压缩, 同时, 本发明的运算复杂度极低, 便于实时处 理, 处理过程快捷高效, 工作性能稳定可靠, 适用范围较为广泛。
在此说明书中, 本发明已参照其特定的实施例作了描述。 但是, 很显然仍可以作出 各种修改和变换而不背离本发明的精神和范围。因此, 说明书和附图应被认为是说明性的 而非限制性的。