关于 Camera 预览和录像画质不一样的问题分析

问题背景

基于之前安卓平台的一个项目,客户有反馈过一个 Camera app 预览的效果,和录像效果不一致的问题。

这里的预览是指打开 Camera app 后直接出图的效果,录像的效果则是指打开 Camera app 开启录像功能,录制一段视频,再用设备自带的播放器去看录制的视频的效果。

有发现录像的效果要比预览的效果锐度要高很多。

问题分析

关于这个问题,上周也有写过类似的一篇文章分析不同 app 之间画质差异的原因,有些排查过程是通用的,使用 zoom 预览出图和系统相机出图预览,画质不一样的问题分析

如下是关于这个问题的排查过程。

a、预览和录像是否走的是同一路流?分别 dump下预览和录像的 yuv 来对比看看效果。

预览出的是1080P,录像也是1080P,走的是同一路流。分别 dump了录像和预览的 yuv,对比看效果是一致的,所以就不是ISP处理之前的问题,需继续向后排查。

b、是否是显示的问题。
我这里的验证方式是用我们自己的开发板+Camera 模组来分析问题的,通过HDMI接到1080P 的显示器上出图,通过截屏比较预览的效果和录制的效果;

1>、是有发现在同样的显示器上播放录制的视频,清晰度要比预览画面要好一些,如下图所示。

关于 Camera 预览和录像画质不一样的问题分析

2>、通过上一步,分析了预览和录像的yuv效果是一致的,所以接着对比看了预览的yuv和预览的截屏,发现预览的yuv是要比实际的预览结果要好。

所以就怀疑是从yuv 到显示这里的什么处理,导致的清晰度损失了。后面注意到预览截屏下来是4K的分辨率,因为此Android版本的SDK是默认支持4K UI的。

所以关于预览的话,是把1080P的数据显示在4K UI上,也就是1个实际的像素数据最后是用4个像素来显示,而录像是直接1080P显示的,所以视觉上看起来预览的清晰度度是要差一点的,是正常的。

关闭4K UI后比较,预览和录像的效果是一致了。

但客户那边的设备用的是mipi屏,UI的分辨率是1920×1200,所以并不是4K UI的预览导致的差异。

c、是否是 pq 导致的效果差异。
这里的 pq 是指 picture quality,是指专门调屏幕画质的,也有色温、锐度、亮度的处理模块和参数的调整,和我们调 camera 画质的工作类似。

后面和客户再次确认了下问题,是在设备上播放录制的视频锐化比预览要高很多,视频导出来在PC上去播放又是正常的。

我这边就用客户的版本、客户的机器、细节颜色多的场景下,复现了下反馈问题。确实播放录制的视频锐化强度比预览要明显很多,颜色也鲜艳了很多,但用的同样的SDK版本,在我们开发板上就没有这个问题。

这里就找到pq组的同事帮忙分析了下,在客户的设备上播放视频时,执行下指令关闭pq锐化的处理,效果就正常了很多。

接着是dump了我们开发板设备,和客户端设备的pq参数,参数对比是一样的。后面排查了我们开发板上pq的效果不生效的原因,是因为压根没有配置调用pq参数的驱动,而客户板上是支持的,所以表现有差异。

后续是将pq参数的效果文件进行了修改,bypass了锐化、亮度、颜色等的模块,效果就保持一致了。

而预览不受pq的影响,是因为预览走的osd层,osd层不走pq处理的这些模块。

问题总结

a、要理解清楚客户报的问题,用同样的设备、固件版本、拍摄环境能去复现到,才好去进一步分析。

对于这个问题,我花了太多时间,去验证我们自己开发板上 4K UI导致的预览清晰度差的问题,而客户明明反馈的是预览正常,播放录像时锐化高。

我想当然的以为播放录像锐化高,就是录像比预览清晰度高。和我们开发板上发现的预览清晰度差是一个问题。

b、提出合理的假设,一步步去做验证排查,直到找到问题原因。

作者:ISP Tuning
原文:https://mp.weixin.qq.com/s/dP5nx0fNqO4cCBLnAoX8RA

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(1)

相关推荐

发表回复

登录后才能评论