999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android車載娛樂系統(tǒng)實(shí)時(shí)視頻流傳輸策略的研究

2021-12-14 01:44:45張士宏馮沖
內(nèi)燃機(jī)與配件 2021年1期

張士宏 馮沖

摘要:本文對(duì)Android原生camera系統(tǒng)實(shí)時(shí)視頻流處理方案進(jìn)行深入研究的基礎(chǔ)上,結(jié)合現(xiàn)在車載camera設(shè)備特點(diǎn),提出一種新的實(shí)時(shí)視頻流傳輸策略,很好地滿足了車載定制化需求,非常適合智能座艙系統(tǒng)對(duì)各種車載camera設(shè)備的應(yīng)用場(chǎng)景。

Abstract: Based on the in-depth study of the real-time video stream processing solution of the Android native camera system, this article proposes a new real-time video stream transmission strategy based on the characteristics of the current vehicle camera equipment, which satisfies the needs of vehicle customization and is very suitable The application scenarios of the smart cockpit system to various on-board camera equipment.

關(guān)鍵詞:Android;camera;智能座艙

中圖分類號(hào):TP311.52? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-957X(2021)01-0211-02

1? 車載娛樂系統(tǒng)中camera的廣泛使用

車載信息娛樂系統(tǒng)(In-Vehicle Infotainment,簡(jiǎn)稱IVI)是一類基于車身總線系統(tǒng)和網(wǎng)絡(luò)服務(wù)的獨(dú)立綜合信息處理系統(tǒng),通常要支持實(shí)時(shí)路況、三維導(dǎo)航、輔助駕駛、故障檢測(cè)、車輛信息、車身控制、移動(dòng)辦公、無線通訊、基于在線的娛樂功能及TSP服務(wù)等一系列車載應(yīng)用。IVI系統(tǒng)極大的提升的車輛電子化、網(wǎng)絡(luò)化和智能化水平,是未來汽車智能化發(fā)展中智能座艙的重要組成部分[1]。

攝像頭設(shè)備(camera)在汽車電子領(lǐng)域尤其在IVI系統(tǒng)和ADAS系統(tǒng)中有著廣泛的使用。車載camera捕捉實(shí)時(shí)視頻圖像,為汽車提供了感知周圍環(huán)境和車內(nèi)情況的第一手視覺信息,IVI系統(tǒng)和ADAS系統(tǒng)中的相機(jī)系統(tǒng)、視頻會(huì)議系統(tǒng)、360環(huán)視系統(tǒng)、倒車影像系統(tǒng)、流媒體后視鏡系統(tǒng)、行車記錄儀系統(tǒng)、車道偏離檢測(cè)系統(tǒng)、防碰撞預(yù)警系統(tǒng)、交通標(biāo)志識(shí)別系統(tǒng)、車輛周圍盲點(diǎn)監(jiān)控系統(tǒng)、駕駛?cè)俗⒁饬ΡO(jiān)控系統(tǒng)、遠(yuǎn)程視頻監(jiān)控系統(tǒng)等功能都需要借助車載camera來實(shí)現(xiàn)。車載camera主要包括前視攝像頭、后視攝像頭、側(cè)視攝像頭、環(huán)視攝像頭、內(nèi)視攝像頭等。以特斯拉Autopilot 2.0 L2級(jí)系統(tǒng)為例,該車擁有三個(gè)前視攝像頭、三個(gè)后視攝像頭、兩個(gè)側(cè)視攝像頭,八個(gè)攝像頭協(xié)同工作是特斯拉能夠?qū)崿F(xiàn)自動(dòng)駕駛的基礎(chǔ)之一[2]。除了傳統(tǒng)的有線傳輸型設(shè)備外,車載camera目前普遍采用的另一類設(shè)備是網(wǎng)絡(luò)camera。網(wǎng)絡(luò)camera是傳統(tǒng)攝像頭技術(shù)、數(shù)據(jù)信號(hào)處理技術(shù)與網(wǎng)絡(luò)技術(shù)結(jié)合的產(chǎn)物。

2? Android原生camera系統(tǒng)實(shí)時(shí)視頻流傳輸策略分析

Android原生camera系統(tǒng)是Android內(nèi)部最重要也是最為復(fù)雜的子系統(tǒng)之一,在Android 8.0之后camera系統(tǒng)的架構(gòu)已演進(jìn)到FW+HAL+Kernel這種經(jīng)典構(gòu)成,camera詳細(xì)架構(gòu)如圖1所示。

從新的camera子系統(tǒng)架構(gòu)可知,它完全符合Treble框架,同時(shí)FW層服務(wù)和HAL層分別在兩個(gè)獨(dú)立的服務(wù)進(jìn)程中。重新設(shè)計(jì)的Camera API大幅提升了應(yīng)用對(duì)于 Android 設(shè)備上的camera子系統(tǒng)的控制能力,同時(shí)極大地提高了camera子系統(tǒng)效率和可維護(hù)性。

camera子系統(tǒng)FW層可分為服務(wù)層和native層,它通過一個(gè)承上啟下的服務(wù)進(jìn)程CameraService統(tǒng)一管理這FW內(nèi)部的流程和通信。在FW中,CameraManager通過CameraManagerGlobal訪問CameraServiceNative服務(wù),并注冊(cè)CamreaServiceNative的回調(diào)監(jiān)聽,CameraServiceNative持有CameraServiceListener列表,并將回調(diào)結(jié)果給CameraManager。CameraServiceNative服務(wù)會(huì)實(shí)例化一個(gè)了CameraDeviceClient,CameraDeviceClient會(huì)去創(chuàng)建Camera3Device。CameraDeviceClient包含了camera子系統(tǒng)大部分基礎(chǔ)業(yè)務(wù)功能,包括發(fā)起預(yù)覽(preview)及預(yù)覽數(shù)據(jù)流處理、拍照及錄像數(shù)據(jù)流處理等[3]。Camera3Device負(fù)責(zé)native中所有stream相關(guān)的創(chuàng)建和管理工作,在Camera3Device主要存在Camera3OutputStream和Camera3InputStream兩種stream,前者主要作為HAL層的輸出,是請(qǐng)求HAL層填充數(shù)據(jù)的output流,后者是由Framework將Stream進(jìn)行填充。無論是Preview、record還是capture均是從HAL層獲取數(shù)據(jù),故都會(huì)以output流的形式存在。

camera子系統(tǒng)Hal層可分為服務(wù)層和設(shè)備so庫,服務(wù)層通過動(dòng)態(tài)加載的方式去調(diào)用設(shè)備庫so庫中的各個(gè)接口。Camera Hal服務(wù)層主要由CameraProvider、CameraDevice和CameraDeviceSession三個(gè)模塊以及對(duì)應(yīng)HIDL接口組成。CameraProvider主要用于枚舉單個(gè)設(shè)備并管理各個(gè)設(shè)備狀態(tài),是Camera Hal服務(wù)層的核心。CameraProvider不直接調(diào)用camera設(shè)備so庫,而是通過CameraDevice去操作。在進(jìn)行拍照/錄像的流程中,活躍的相機(jī)設(shè)備會(huì)話由CameraDeviceSession管理和實(shí)現(xiàn)。camera設(shè)備so庫會(huì)通過ioctrl去調(diào)用v4l2驅(qū)動(dòng),以實(shí)現(xiàn)對(duì)camera物理設(shè)備的各種操作。v4l2驅(qū)動(dòng)是Linux內(nèi)核中針對(duì)video設(shè)備的一套完整的驅(qū)動(dòng)框架,可實(shí)現(xiàn)豐富的功能。

應(yīng)用層在發(fā)起視頻采集請(qǐng)求時(shí),會(huì)根據(jù)應(yīng)用場(chǎng)景不同分成預(yù)覽、拍照、錄像、快拍等類型圖像幀數(shù)據(jù)request,F(xiàn)W層會(huì)先根據(jù)camera系統(tǒng)記錄的設(shè)備信息判斷是否可以滿足應(yīng)用層的需求。FW層確認(rèn)可以滿足會(huì)把圖像幀數(shù)據(jù)request轉(zhuǎn)化到FW native層,Camera3Device將request打包封裝并通過CameraProviderManager的HIDL接口發(fā)送到Hal服務(wù)層。Hal層的CameraDevice會(huì)將request放到CameraDeviceSession中去判斷并執(zhí)行,CameraDeviceSession循環(huán)調(diào)用camera設(shè)備so庫中接口通過v4l2驅(qū)動(dòng)從camera物理設(shè)備中獲取實(shí)時(shí)視頻數(shù)據(jù)楨并通過callback回調(diào)的方式把result反饋給FW native層,最終反饋給應(yīng)用層[3]。

Android原生的這套camera子系統(tǒng)架構(gòu)是完全根據(jù)傳統(tǒng)有線連接的物理camera設(shè)備的特點(diǎn)和Linux v4l2驅(qū)動(dòng)的流程去設(shè)計(jì)實(shí)現(xiàn)的,但是目前采用Android的車機(jī)IVI系統(tǒng)中很少采用傳統(tǒng)有線連接物理camera設(shè)備而是更多的采用網(wǎng)絡(luò)camera設(shè)備去承擔(dān)實(shí)時(shí)視頻數(shù)據(jù)的采集功能,顯然需要對(duì)camera子系統(tǒng)架構(gòu)的原生視頻流傳輸策略進(jìn)行重新設(shè)計(jì)和優(yōu)化才能滿足車載camera系統(tǒng)的豐富需求。

3? Android原生camera系統(tǒng)實(shí)時(shí)視頻流傳輸策略改進(jìn)

梳理車載camera實(shí)時(shí)視頻流傳輸特點(diǎn)可知,camera物理設(shè)備類型豐富但普遍采用網(wǎng)絡(luò)camera,這些網(wǎng)絡(luò)camera大多支持一種或多種適用于流媒體數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)應(yīng)用協(xié)議(包括但不限于RTSP、RTMP、HLS等),網(wǎng)絡(luò)傳輸?shù)牧髅襟w數(shù)據(jù)采用諸如H.264/AVC等編碼格式的視頻流數(shù)據(jù)[4][5]。從前文深度分析的Android原生camera子系統(tǒng)架構(gòu)可知,camera子系統(tǒng)的設(shè)計(jì)是一種類似于管道的方式,從內(nèi)核中采集并傳遞給Hal層后數(shù)據(jù)經(jīng)過層層封裝和轉(zhuǎn)發(fā)會(huì)通過FW層直接傳遞給應(yīng)用層,這期間視頻流數(shù)據(jù)是封裝在“管道”中不對(duì)外暴露的。內(nèi)核是視頻流數(shù)據(jù)的生產(chǎn)者,Hal層和FW層是視頻流數(shù)據(jù)的傳輸者,應(yīng)用層是視頻流數(shù)據(jù)的消費(fèi)者。由于網(wǎng)絡(luò)camera改變了生產(chǎn)者產(chǎn)生數(shù)據(jù)的模式,結(jié)合網(wǎng)絡(luò)camera和Android camera子系統(tǒng)的特點(diǎn),提出以下實(shí)時(shí)視頻流傳輸改進(jìn)策略,如圖2所示。

改進(jìn)后的傳輸策略引入了Linux系統(tǒng)中虛擬camera的理念,將原生v4l2驅(qū)動(dòng)更換為v4l2loopback,這樣在不大量修改Android中camera FW層和Hal層的結(jié)構(gòu)就可以直接從v4l2loopback獲取camera實(shí)時(shí)視頻流數(shù)據(jù)。需要注意的是由于v4l2loopback并不支持v4l2的所有功能,需要在camera Hal層做少量的配套開發(fā)工作來適配v4l2loopback的一些特性,包括camera設(shè)備的開關(guān)以及camera參數(shù)的獲取和設(shè)置。需要在Hal層設(shè)計(jì)一個(gè)網(wǎng)絡(luò)中間件,負(fù)責(zé)操控網(wǎng)絡(luò)camera并與它進(jìn)行通信,同時(shí)網(wǎng)絡(luò)中間件一個(gè)重要工作是把獲取的流媒體數(shù)據(jù)轉(zhuǎn)換為v4l2loopback需要的yuv、jpeg等格式的圖像幀數(shù)據(jù)。網(wǎng)絡(luò)中間件可以是一個(gè)獨(dú)立的系統(tǒng)服務(wù)進(jìn)程,camera Hal通過IPC方式與該服務(wù)進(jìn)程進(jìn)行通信并可對(duì)其進(jìn)行操作,進(jìn)而間接操作網(wǎng)絡(luò)camera。

4? 總結(jié)

為了適應(yīng)IVI系統(tǒng)對(duì)不同類型camera設(shè)備的需求,本文在對(duì)Android原生camera系統(tǒng)實(shí)時(shí)視頻流處理方案進(jìn)行深入研究的基礎(chǔ)上,結(jié)合現(xiàn)在車載camera設(shè)備特點(diǎn)以及流媒體傳輸?shù)奶攸c(diǎn),提出一種新的實(shí)時(shí)視頻流傳輸策略,開發(fā)難度小且靈活性極強(qiáng),很好地滿足了車載定制化需求,非常適合未來智能座艙系統(tǒng)對(duì)各種車載camera設(shè)備的應(yīng)用場(chǎng)景。

參考文獻(xiàn):

[1]張曉聰.汽車智能座艙發(fā)展現(xiàn)狀及未來趨勢(shì)[J].汽車縱橫,2019(8):42-45.

[2]王鵬.視覺傳感器在智能汽車上的應(yīng)用[J].汽車實(shí)用技術(shù),2019(23):41-43.

[3]李韋鵬,王小雪.基于Android平臺(tái)相機(jī)開發(fā)技術(shù)的研究[J].電腦知識(shí)與技術(shù),2017,13(9):63-64,94.

[4]姜海嵐,程琳.Android平臺(tái)下實(shí)時(shí)視頻傳輸?shù)年P(guān)鍵技術(shù)及研究[J].電腦知識(shí)與技術(shù),2018,14(34):27,29.

[5]何俊林.Android音視頻開發(fā)[M].北京:電子工業(yè)出版社,2018.11.

主站蜘蛛池模板: 亚洲高清在线天堂精品| 国产十八禁在线观看免费| 欧美亚洲国产日韩电影在线| 亚洲婷婷丁香| 四虎永久免费地址| 啦啦啦网站在线观看a毛片 | 久久亚洲综合伊人| 97视频精品全国免费观看 | 爱爱影院18禁免费| 成年女人18毛片毛片免费| 四虎亚洲国产成人久久精品| 色婷婷成人网| 国产亚洲一区二区三区在线| 国产精品美女免费视频大全| 国产视频久久久久| 色有码无码视频| 依依成人精品无v国产| 国产精品自在在线午夜| 日本福利视频网站| 亚洲欧美自拍中文| 久久精品国产亚洲麻豆| 思思热精品在线8| 日本免费高清一区| 国产一级小视频| 日韩成人免费网站| 亚洲一区二区成人| 国产午夜福利亚洲第一| 精品无码一区二区三区电影| 久久久久无码精品| 一级成人a做片免费| 亚洲无码免费黄色网址| 亚洲欧美另类色图| 在线看国产精品| yjizz国产在线视频网| 国产偷国产偷在线高清| 国产aⅴ无码专区亚洲av综合网 | 久久精品国产在热久久2019 | aaa国产一级毛片| 又粗又大又爽又紧免费视频| 国产丝袜无码精品| 亚洲国产精品美女| 黄色免费在线网址| 久久久久亚洲精品成人网| 日本一区高清| 国产精品尤物铁牛tv| 91探花国产综合在线精品| 好紧太爽了视频免费无码| 亚洲日韩高清无码| 色婷婷狠狠干| 亚洲va精品中文字幕| 香蕉色综合| 午夜欧美理论2019理论| 毛片网站在线看| 国产成人精品18| 亚洲精品国产综合99久久夜夜嗨| 欧美有码在线| 国产网友愉拍精品视频| 精品色综合| 色一情一乱一伦一区二区三区小说| 久操中文在线| 国产在线麻豆波多野结衣| 一区二区三区精品视频在线观看| 在线va视频| 国产精品免费p区| 亚洲国产一区在线观看| 欧美成a人片在线观看| 114级毛片免费观看| 亚洲午夜久久久精品电影院| 久久综合亚洲色一区二区三区| 中文字幕在线视频免费| 国产成人综合久久| 亚洲欧美日韩中文字幕在线| 国产裸舞福利在线视频合集| 2021国产精品自拍| 国产精品永久在线| 免费无码AV片在线观看中文| 高清无码不卡视频| 一级毛片免费观看不卡视频| 97精品久久久大香线焦| 永久免费无码日韩视频| 大香伊人久久| 婷婷综合亚洲|