Android Camera HAL层缩略图生成Jpeg大图方案梳理

发布时间:2026/7/25 9:57:55

Android Camera HAL层缩略图生成Jpeg大图方案梳理 一、需求分析在Android手机等产品使用相机拍照时会有缩略图(手机相机拍照后会在左下角有个小图显示,即为缩略图,又称小图,一般为Yuv格式)显示,一般缩略图的size为相机预览size(1920x1080, 图库显示)。目前各大手机厂商都有自己的拍照后处理框架,用于处理各种耗时算法,比如美颜、虚化等,所以大图(Jpeg图)一般生成的比缩略图慢,一般2~4s才会生成最终的大图,所以当我们拍完照生成缩略图后立马点击缩略图进入图库时,首先显示的是缩略图(1920x1080 Yuv), 等2~4s后才会显示大图(4096x3072 Jpeg),有时候缩略图到大图会有明显的改变,比如清晰度、色彩效果等,这一般就是因为大图使用了更多的处理算法导致的。随着手机功能的迭代发展,出现了水印功能,缩略图和大图都有水印,但是因为缩略图和大图的尺寸不一致,所以当图库显示的缩略图到大图过渡时,水印会有位置、尺寸等的跳变,影响用户体验,为了消除该问题,所以有了在HAL层让缩略图按照大图Jpeg流处理并返回App的适配方案。该方案主要对缩略图进行upscale产生Jpeg大图,不额外进行拍照大图的算法处理,比如大图美颜、Bokeh等复杂算法处理。二、设计与实现HAL层缩略图产生Jpeg大图返回App的主要步骤包括:1. 跟App约定:HAL层通过能力值(metadata)告知App是否启用缩略图大图方案:如果启用,App则对于缩略图这路流下发大图size(4096x3072)和jpeg流格式如果不启用,App则对于缩略图这路流下发小图size(1920x1080)和yuv流格式/

相关新闻