MTK ISP6s 與 ISP7差異

1.ISP7介紹

MTK hal3 ISP7版本引入了新的TinyMW架構(gòu),目前此架構(gòu)支持的Android S + HAL3 + ISP7,此架構(gòu)涉及的目的是為了解決不同產(chǎn)品線(xiàn)相機(jī)軟件部分的代碼共用,讓相機(jī)軟件的開(kāi)發(fā)與維護(hù)更加容易,TinyMW之后kerenl space會(huì)統(tǒng)一采用 Linux V4L2 標(biāo)準(zhǔn)接口實(shí)現(xiàn)。如下是TinyMW的整體架構(gòu)圖,TinyMW 帶來(lái)的變化主要是在MTK HAL 部分,改動(dòng)的部分包括與 Google AOSP 的適配層、MTK Camera HAL Interface 的引入、Custom Zone 的引入、Pipeline Model 層的改動(dòng)以及 V4L2 版本kernel space 的適配。

1.png

下面介紹下MTK HAL3 ISP7和 ISP6s的架構(gòu)差異

2. ISP7架構(gòu)

ISP7 TinyMW 主要的變化是引入 Custom Zone , 在Camera Device Session 層分為 Data Collection Zone 和 Post Processing Zone ,這三個(gè)區(qū)域都統(tǒng)一使用 MTK Camera HAL Interface 作為接口。

2.png

3. ISP6s及之前

在Android R 版本以及之前的版本,客戶(hù)的算法通過(guò) Pipeline/Hwnode 層開(kāi)出的 PielinePlugin 接口接入在 Camera HAL 內(nèi)部,客制化代碼與MTK Camera HAL 流程耦合比較深。

3.png

4. Core Device OverView

Core Device就是下圖藍(lán)色框標(biāo)注的部分,Core Device 往上接AOSP , 往下會(huì)創(chuàng)建 PipelineModel 示例,可以提供和實(shí)現(xiàn) AOSP定義的Camera 完整功能。

MTK Camera HAL Interface 引入 Core Device 作為數(shù)據(jù)采集組件,提供以下功能:

  1. 提供 MTK 專(zhuān)有的 streaming 和 capture功能。
  2. 通過(guò) MTK ISP 提供來(lái)自sensor 的 stream data。
  3. 手動(dòng)控制MTK 實(shí)時(shí)流的自定義控制
  4. 提供外圍設(shè)備信息,例如陀螺儀、ois等
  5. 禁用mtk的zsl buffer pool
  6. 支持自定義的zsl buffer選擇策略
4.png

Core Device 提供 MTK Camera HAL Interface 來(lái)接 Custom Zone,作為客戶(hù)的客制化代碼區(qū)域??蛻?hù)在Custom Zone區(qū)域集成三方算法,并通過(guò)控制 Data Collection Zone 和 Post Processing Zone,形成完整的相機(jī)處理流程。

5.png

下圖就展示了如何在 MTK Camera HAL Interface中實(shí)現(xiàn)自定義控制流程。

調(diào)用者可以利用 MTK Android HIDL 適配層將 AOSP 捕獲請(qǐng)求轉(zhuǎn)換為 MTK HAL Interface請(qǐng)求,并轉(zhuǎn)換捕獲請(qǐng)求為自定義捕獲請(qǐng)求。例如,Camera App 請(qǐng)求具有捕獲意圖的幀,在通過(guò) MTK ISP 管道捕獲幀并返回自定義區(qū)域后,調(diào)用者可以通過(guò)給定的 3rd 方算法增強(qiáng)幀,或者使用 MTK 硬件加速和其他圖像處理算法來(lái)減少噪聲或增強(qiáng)對(duì)比度。增強(qiáng)后,調(diào)用者可以利用 MTK 硬件 JPEG 編碼器(或 HEIF)將 YUV 壓縮為 JPEG/HEIF 并回調(diào)到 Camera App。

6.png

5. PostProc Device

PostProc Device 如下圖藍(lán)色框標(biāo)注部分,PostProc Device 是 ISP7 TinyMW 新增的部分,為Custom Zone 提供獨(dú)立的平臺(tái)硬件能力或者算法。PostProc Device 通過(guò)統(tǒng)一的 MTK Camera HAL Interface 開(kāi)放給 Custom Zone ,可以支援 Streaming feature 如 MCNR、Capture feature 如 MFNR 和 AINR 、獨(dú)立的 WPE 功能等,也包括 RAW2YUV、YUV2YUV、YUV2JPEG 等處理。

7.png

6. isp7 camera 代碼目錄

isp6s及之前得版本mtk camera hal3的核心代碼主要放在mtkcam和mtkcam3這兩個(gè)目錄,mtkcam3主要包含的是middleware的代碼,而mtkcam主要包含了ISP、3A和Driver相關(guān)的代碼。ISP7 TinyMW之后MTK hal3做了更加詳細(xì)的劃分和代碼重構(gòu),核心代碼不再存放在mtkcam和mtkcam3兩個(gè)目錄。

Repo Description path
mtkcam-android camera AOSP specific parts vendor/mediatek/proprietaty/hardware/mtkcam-android
mtkcam-core camera core parts vendor/mediatek/proprietaty/hardware/mtkcam-core
mtkcam-hwcore hw info vendor/mediatek/proprietaty/hardware/mtkcam-hwcore
mtkcam-interface interface of the mtkcam vendor/mediatek/proprietaty/hardware/mtkcam-inteface
mtkcam-halif interface of customization zone vendor/mediatek/proprietaty/hardware/mtkcam-halif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容