MTK ISP6s 與 ISP7差異

1.ISP7介紹

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

2.png

3. ISP6s及之前

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

3.png

4. Core Device OverView

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

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

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

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

5.png

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

調(diào)用者可以利用 MTK Android HIDL 適配層將 AOSP 捕獲請求轉(zhuǎn)換為 MTK HAL Interface請求,并轉(zhuǎn)換捕獲請求為自定義捕獲請求。例如,Camera App 請求具有捕獲意圖的幀,在通過 MTK ISP 管道捕獲幀并返回自定義區(qū)域后,調(diào)用者可以通過給定的 3rd 方算法增強(qiáng)幀,或者使用 MTK 硬件加速和其他圖像處理算法來減少噪聲或增強(qiáng)對比度。增強(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ú)立的平臺硬件能力或者算法。PostProc Device 通過統(tǒng)一的 MTK Camera HAL Interface 開放給 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這兩個目錄,mtkcam3主要包含的是middleware的代碼,而mtkcam主要包含了ISP、3A和Driver相關(guān)的代碼。ISP7 TinyMW之后MTK hal3做了更加詳細(xì)的劃分和代碼重構(gòu),核心代碼不再存放在mtkcam和mtkcam3兩個目錄。

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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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