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

news2024/11/25 6:41:40
1、问题背景
基于之前安卓平台的一个项目,客户有反馈过一个 Camera app 预览的效果,和录像效果不一致的问题。
这里的预览是指打开 Camera app 后直接出图的效果;录像的效果则是指打开 Camera app 开启录像功能,录制一段视频,再用设备自带的播放器去看录制的视频的效果。
发现录像的 效果要 比预 览的效果 锐度要高。
2、问题分析
关于这个问题,上周也有写过类似的一篇文章分析不同 app 之间画质差异的原因。有些排查过程是通用的,如下是关于这个问题的排查过程。
a、预览和录像是否走的是同一路流?分别 dump下预览和录像的 yuv 来对比看看效果。
预览出的是1080P,录像也是1080P,走的是同一路流。分别 dump了录像和预览的 yuv,对比看效果是一致的,所以就不是ISP处理之前的问题,需继续向后排查。
b、是否是显示的问题。
我这里的验证方式是用我们自己的开发板+Camera 模组来分析问题的,通过HDMI接到1080P 的显示器上出图,通过截屏比较预览的效果和录制的效果;
1>、是有发现在 同样的显示器上播放录制的视频,清晰度要比预览画面要好一些,如下图所示。
2>、 通过 上一步, 预览和录像的yuv效果是一致的,所以接着对比看了预览的yuv和预览的截屏,发现预览的yuv是要比实际的预览结果要好。
所以就怀疑是从yuv 到显示这里的什么处理,导致的清晰度损失了。后面注意到预览截屏下来是4K的分辨率,因为此Android版本的SDK是默认支持4K UI的。
所以关于预览的话, 是把1080P的数据显示在4K UI上,也就是1个实际的像素数据最后是用4个像素来显示,而录像是直接1080P显示的,所以视觉上看起来预览的清晰度度是要差一点的,是正常的。关闭4K UI后比较,预览和录像的效果是一致了。
但客户那边的设备用的是mipi 屏,UI的分辨率是1920x1200,所以并不是4K UI的预览导致的差异。
c、是否是 pq 导致的效果差异。
这里的 pq 是指  picture  quality,是指专门调屏幕画质的,也有色温、锐度、亮度的处理模块和参数的调整,和我们调 camera 画质的工作类似。
后面和客户再次确认了下问题,是在设备上播放录制的视频锐化比预览要高很多,视频导出来在PC上去播放又是正常是。 我这边就用客户的版本、客户的机器、细节颜色多的场景下,复现了下反馈问题。
确实播放录制的视频锐化强度比预览要明显很多,颜色也鲜艳了很多,但用的同样的SDK版本,在我们开发板上就没有这个问题。
这里就找到pq组的同事帮忙分析了下,在客户的设备上播放视频时,执行下指令关闭pq锐化的处理,效果就正常了很多。
接着是dump了我们开发板设备,和客户端设备的pq参数,参数对比是一样的。后面排查了我们开发板上pq的效果不生效的原因,是因为压根没有配置调用pq参数的驱动,而客户板上是支持的,所以表现有差异。
后续是将pq参数的效果文件进行了修改,bypass了锐化、亮度、颜色等的模块,所以效果就保持一致了。
而预览不受pq的影响,是因为预览走的osd层,osd层不走pq处理的这些模块。
3、问题总结
a、要理解清楚客户报的问题,用同样的设备、固件版本、拍摄环境能去复现到,才好去进一步分析。
对于这个问题,我花了太多时间,去验证我们自己开发板上 4K UI导致的预览清晰度差的问题,而客户明明反馈的是预览正常,播放录像时锐化高。
我想当然的以为播放录像锐化高,就是录像比预览清晰度高。和我们开发板上发现预览清晰度差是一个问题。
b、提出合理的假设,一步步去做验证排查,直到找到问题原因。

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

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

相关文章

【算法专题突破】双指针 - 快乐数(3)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:202. 快乐数 - 力扣(Leetcode) 这道题的题目也很容易理解, 看一下题目给的示例就能很容易明白, 但是要注意一个点&#…

一篇带你了解npm的原理

npm 是 JavaScript世界的包管理工具,并且是 Node.js平台的默认包管理工具。通过 npm可以安装、共享、分发代码,管理项目依赖关系。 npm的原理 npm据称成为世界最大的包管理器?原因真的只是用户友好? 一、npm init 用来初始化一个简单的package.json文件。package.json文件…

9.3 功率放大电路的安全运行

在功率放大电路中,功放管既要流过大电流,又要承受高电压。例如,在 OCL 电路中,只有功放管满足式(9.2.13)所示极限值的要求,电路才能正常工作。因此,所谓功率放大电路的安全运行&…

微服务学习资料

文章目录 参考资料一. 微服务概述1. CAP理论2. BASE理论3. SpringBoot 与 SpringCloud对比 二. 服务注册:Zookeeper,Eureka,Nacos,Consul1. Nacos两种健康检查方式?2. nacos中负责负载均衡底层是如何实现的3. Nacos原理4. 临时实例和持久化(非临时)实例 …

【数据结构与算法篇】手撕八大排序算法之交换排序

​👻内容专栏: 《数据结构与算法篇》 🐨本文概括:常见交换排序包括冒泡排序与快速排序,本篇讲述冒泡排序与快速排序的思想及实现、复杂度分析。 🐼本文作者: 花 蝶 🐸发布时间&#…

表和Json的相互操作

目录 一、表转Json 1.使用 for json path 2.如何返回单个Json 3.如何给返回的Json增加一个根节点呢 4.如何给返回的Json增加上一个节点 二、对Json基本操作 1.判断给的字符串是否是Json格式 2.从 JSON 字符串中提取标量值 3. 从 JSON 字符串中提取对象或数组 4. 更…

计网-All

路由器的功能与路由表的查看_路由器路由表_傻傻小猪哈哈的博客-CSDN博客路由基础-直连路由、静态路由与动态路由的概念_MikeVane-bb的博客-CSDN博客路由器的功能与路由表的查看_路由器路由表_傻傻小猪哈哈的博客-CSDN博客 直连路由就是路由器直接连了一个网段,他就…

在线考试系统java线上答题问答jsp源代码MySQL

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 在线考试系统 系统有2权限:管理员、学生 …

ChatGPT 与前端技术实现制作大屏可视化

像这样的综合案例实分析,我们可以提供案例,维度与指标数据,让ChatGPT与AIGC 帮写出完整代码,并进行一个2行2列的布局设置。 数据与指令如下: 商品名称 销量 目标 完成率 可乐 479 600 79.83% 雪碧 324 600 54.00% 红茶 379 600 63.…

NoSQL数据库介绍+Redis部署

目录 一、NoSQL概述 1、数据的高并发读写 2、海量数据的高效率存储和访问 3、数据库的高扩展和高可用 二、NoSQL的类别 1、键值存储数据库 2、列存储数据库 3、文档型数据库 4、图形化数据库 三、分布式数据库中的CAP原理 1、传统的ACID 1)、A--原子性 …

webassembly001 webassembly简述

WebAssembly 官方地址:https://webassembly.org/相关历史 https://en.wikipedia.org/wiki/WebAssembly https://brendaneich.com/2015/06/from-asm-js-to-webassembly/WebAssembly(缩写为Wasm)是一种基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为编…

【C语言练习】牛客题库第(一)期

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

攻防演练期间一次对某企业的渗透测试

免责声明 由于传播、利用本文章说黑客所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者说黑客不为此承担任何责任,一旦造成后果请自行承担! 前言 某次攻防演练中,主办方只提供了目标…

软考:中级软件设计师:HTML

软考:中级软件设计师:HTML 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 &#xff…

SM3(国密)在线加密--获取摘要

SM3(国密)在线加密--获取摘要

官方项目《内容示例》中Common UI部分笔记: 1.1 Activatable Widgets

本文主要面向UMG以及Common UI的初学者 文章目录 效果展示概要Activate和Deactivate可见性绑定UI动画设置Common Activatable Widget的默认焦点 效果展示 概要 这个例子非常简单,定义了13个Common Activatable Widget CommonUI_ActivatableWidgets相当于一个容器包…

【校招VIP】java语言考点之双亲委派模型

考点介绍: 双亲委派是校招面试中的高频考点之一。 双亲委派机制定义:当一个类加载器收到了类加载的请求的时候,他不会直接去加载指定的类,而是把这个请求委托给自己的父加载器去加载。只有父加载器无法加载这个类的时候,才会由当前…

系统集成项目管理工程师【中级】考证学习资料知识点整理分享——第二章《信息系统集成及服务管理》,持续更新中........

系统集成项目管理工程师(中级)考证学习资料整理分享,持续更新中........ 目 录 第二章《信息系统集成及服务管理》 一、信息系统集成及服务管理 (一)信息系统集成及服务管理的内容 (二)信息系统集成及服务管理的推进 1.实施信息系统集成及服务资质管理制度 1)…

Pico如何使用C/C++选择使用哪个I2C控制器,以及SDA和SCL针脚

本文一开始讲述了解决方案,后面是我做的笔记,用来讲述我的发现流程和探究的 Pico I2C 代码结构。 前提知识 首先要说明一点:Pico 有两个 I2C,也就是两套 SDA 和 SCL。这点你可以在针脚图中名字看出,比如下图的 Pin 4…

AI绘图(11)stable diffusion 如何写好prompt 四

在最开始我写了三篇关于prompt的,具体的大家可以跳转来去看,以下给出来链接: AI绘图(3)stable diffusion如何写好prompt 一_牧子川的博客-CSDN博客 AI绘图(4)stable diffusion如何写好prompt …