华为手机优秀的拍照能力已经逐步成为行业标杆,多款华为手机位列DxOMark排名前十,这样的成绩不仅依托于强大硬件,同样也离不开算法能力的加持,如超级夜景这样的功能得到了消费者和媒体的一致认可。
尽管华为的系统相机具备优秀成像能力,但是在第三方相机应用中无法完整体验到华为手机丰富的拍照模式,如HDR、超级夜景等。用户在使用中,因为满足不同拍照需求,往往也在相机应用和系统相机间不断切换,从而带来体验上的不便。
夜景拍摄质量对比
使用华为手机拍摄
使用三方应用拍摄(未集成CameraKit)
因此,为了提升华为手机用户综合体验,并根据应用对华为手机拍照能力的需求,通过构建CameraKit(相机工具平台),对系统相机中的部分扩展模式(人像、大光圈、HDR等)进行开放,为开开发者提供接口接入,使应用能够拥有媲美系统相机的拍照能力,同时大大简化开发者的开发流程。下面就从具体架构上介绍一下华为的CameraKit。
CameraKit架构
CameraKit的总体设计策略采用的是相机模式封装。硬件抽象层(HAL层)位于操作系统内核与硬件电路之间的接口层,对相机的硬件能力进行抽象,与华为底层后处理算法如HDR、大光圈、人像、夜景等在HAL层分开封装,这样就可以隐藏特定平台的硬件和算法细节,为操作系统提供虚拟平台,使硬件能力与底层处理算法与上层隔离,方便在多种平台上进行移植。
框架层,华为将HAL层中抽象的硬件能力和相机后处理算法经过加工、封装成CameraKit工具库,构建CameraKit接口库,在接口层向顶层的相机应用层提供类似API
1.0的高级模式编程接口。开发者能够直接调用这些接口,在更低层次随心所欲地使用华为的能力,方便快捷地与相机进行交互,实时了解相机状态,也可以自由选择所有或是部分的华为相机能力加持在自己的应用中。CameraKit不仅满足了开发者以及用户所需的各种功能,相机应用的原功能也不会受到影响。
通过对底层进行抽象,CameraKit还实现了系统层面的解耦,可以移植到更多的平台上做相机应用开发。同时使得芯片平台差异被隔离,未来还将会支持在高通、海思、MTK等不同芯片平台上使用。
目前,美图秀秀App已经通过CameraKit接入了大光圈的能力,在大光圈的模式下主体更加突出、清晰。华为坚持与开发者合作共赢的态度,期待今后能有越来越多的开发者能够使用CameraKit,相信更多的应用将运用华为手机强大的多媒体能力,为用户提供更加完整、优质的拍照体验。
2019年08月28日 于上海
版权作品 未经许可 请勿转载
|