一種控制倒車影像顯示的方法及裝置的制造方法
【專利摘要】本發明公開了一種控制倒車影像顯示的方法及裝置,解決了現有技術中存在的從用戶掛上倒檔至Android系統啟動完成這段時間內,車載終端無法顯示倒車影像的問題。方法包括:在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號;在檢測到所述倒檔掛入信號且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像;在顯示屏上,播放所述倒車影像。由于在操作系統啟動過程中,同時執行檢測是否接收到倒檔掛入信號,并在檢測到倒檔掛入信號后,獲取攝像頭采集到的倒車影像并播放,這樣,即使操作系統未完成啟動,也可以在顯示屏上播放倒車影像,縮短了用戶的等待時間,提高了用戶的使用體驗。
【專利說明】
一種控制倒車影像顯示的方法及裝置
技術領域
[0001]本發明涉及通信技術領域,特別涉及一種控制倒車影像顯示的方法及裝置。
【背景技術】
[0002]隨著車載技術的不斷發展,車載終端(如行車記錄儀,車載導航等)得到了越來越多的應用。用戶可以通過車載終端的顯示屏顯示倒車圖像,以便于能夠及時觀察到車尾部周圍的環境,實現快速、準確倒車。
[0003]目前,車載終端一般都是基于安卓(Android)系統開發的。在用戶啟動車輛后,車載終端需等待Android系統完成啟動后,才能開機,并顯示倒車影像,在Android系統啟動過程中,車載終端的顯示屏會持續播放開機動畫直至開機。有些場景下,用戶啟動車輛后,可能會需要馬上掛倒檔,如果用戶使用鑰匙上電、打火后就掛入倒檔的話,這個過程大概只需5秒左右,而車載終端上電后,Android系統的啟動大概需要20秒左右,這就導致從用戶掛上倒檔至Android系統啟動完成這段時間內,車載終端無法顯示倒車影像,從而影響用戶使用,降低了用戶體驗。
【發明內容】
[0004]本發明實施例提供了一種控制倒車影像顯示的方法及裝置,解決了現有技術中存在的從用戶掛上倒檔至Android系統啟動完成這段時間內,車載終端無法顯示倒車影像的問題。
[0005]第一方面,一種控制倒車影像顯示的方法,所述方法包括:
[0006]在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號;
[0007]在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像;
[0008]在顯示屏上,播放所述倒車影像。
[0009]—種可能的實現方式中,在顯示屏上,播放所述倒車影像,包括:
[0010]將獲取到的倒車影像轉換為RGB數據;
[0011 ]在顯示屏上,播放所述RGB數據。
[0012]—種可能的實現方式中,在顯示屏上,播放所述倒車影像之后,所述方法還包括:
[0013]在檢測到所述倒檔退出信號后,停止在所述顯示屏上播放所述倒車影像。
[0014]—種可能的實現方式中,在檢測到所述倒檔退出信號后,所述方法還包括:
[0015]若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫;或者
[0016]若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。
[0017]—種可能的實現方式中,在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,還包括:
[0018]通知所述操作系統停止在所述顯示屏上播放開機動畫。
[0019]第二方面,提供了一種計算機可讀存儲介質,其中存儲有可執行的程序代碼,該程序代碼用以實現第一方面所述的方法。
[0020]第三方面,一種控制倒車影像顯示的裝置,所述裝置包括:
[0021]檢測模塊,用于在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號;
[0022]處理模塊,用于在所述檢測模塊檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像;
[0023]顯示控制模塊,用于在顯示屏上,播放所述倒車影像。
[0024]一種可能的實現方式中,所述顯示控制模塊具體用于:
[0025]將獲取到的倒車影像轉換為RGB數據;
[0026]在顯示屏上,播放所述RGB數據。
[0027]一種可能的實現方式中,所述處理模塊還用于:
[0028]在所述檢測模塊檢測到所述倒檔退出信號后,控制所述顯示控制模塊停止在所述顯示屏上播放所述倒車影像。
[0029]一種可能的實現方式中,所述處理模塊還用于:
[0030]在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫;或者
[0031]在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。
[0032]一種可能的實現方式中,所述處理模塊還用于:
[0033]在所述檢測模塊檢測到所述倒檔掛入信號,且操作系統未完成啟動時,通知所述操作系統停止在所述顯示屏上播放開機動畫。
[0034]第四方面,一種車載設備,所述車載設備包括第三方面所述的裝置。
[0035]本發明實施例提供的方法和裝置中,在上電后,若檢測到所述倒檔掛入信號,且操作系統未完成啟動,獲取攝像頭采集到的倒車影像;在顯示屏上,播放所述倒車影像。通過本發明實施例提供的方案,在操作系統啟動過程中,同時執行檢測是否接收到倒檔掛入信號,并在檢測到倒檔掛入信號后,獲取攝像頭采集到的倒車影像并播放,這樣,即使操作系統未完成啟動,也可以在顯示屏上播放倒車影像,縮短了用戶的等待時間,提高了用戶的使用體驗。
【附圖說明】
[0036]圖1為車載設備的系統邏輯框圖;
[0037]圖2為本發明實施例中提供的一種控制倒車影像顯示的方法的流程示意圖;
[0038]圖3為本發明實施例中提供的另一種控制倒車影像顯示的方法的流程示意圖;
[0039]圖4為本發明實施例中提供的一種CarDaemon進程的處理過程的示意圖;
[0040]圖5為本發明實施例中提供的一種控制倒車影像顯示的裝置的示意圖。
【具體實施方式】
[0041]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0042]下面結合說明書附圖對本發明實施例作進一步詳細描述。應當理解,此處所描述的實施例僅用于說明和解釋本發明,并不用于限定本發明。
[0043]圖1所示的實施例中,給出了車載設備的系統邏輯框圖。圖中,車載設備上電后,車載設備中的Linux系統的內核(kernel)首先啟動,以完成車載設備的硬件的初始化,包括攝像頭(Camera)的初始化,顯示屏(如液晶顯示屏(Liquid Crystal Display,LCD)的初始化等。Linux系統的kerne I的啟動時間約為4秒。Linux系統的kerne I完成啟動后,Andro i d系統的kernel啟動,以完成Camera、通用串行總線(Universal Serial Bus,USB)接口、顯示屏等硬件設備的驅動程序的加載,供上層應用使用C3Andro i d系統的kerne I啟動后,會啟動Init進程,Init進程是Android系統中的第一個啟動的進程,Init進程負責Android系統的初始化,本地(Native)服務啟動,系統服務(SystemServer)的啟動等。Init進程跟其他Linux系統中的進程一樣,入口函數為main函數。Ini t進程啟動后,啟動Andro i d系統的開機過程。在完成開機后,在顯示屏上顯示Android系統的桌面(Launcher) Android系統的啟動過程至少需要10秒以上。由于倒車影像顯示時間依賴于Android系統的啟動時間,一般需要15?25秒。
[0044]圖2所示的實施例中,提供了一種控制倒車影像顯示的方法,所述方法包括:
[0045]S21、在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號。
[0046]S22、在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像。
[0047]本發明實施例中,操作系統包括但不限于以下系統:可以為安卓(Android)系統、1S(蘋果公司的移動操作系統)、Windows操作系統(微軟公司的移動操作系統)、Symbian(塞班)系統、BlackBerry OS(黑莓操作系統)等。
[0048]可選的,以Android系統為例,可以通過Android系統中的系統屬性sys.boot_completed的標記位來判斷Android系統是否已完成啟動,若該標記位為I,則表示Android系統已完成啟動,若該標記位為O,則表示Android系統未完成啟動。其他操作系統類似,此處不再一一舉例說明。
[0049]S23、在顯示屏上,播放所述倒車影像。
[0050]本發明實施例中,在上電后,若檢測到所述倒檔掛入信號,且操作系統未完成啟動,獲取攝像頭采集到的倒車影像;在顯示屏上,播放所述倒車影像。通過本發明實施例提供的方案,在操作系統啟動過程中,同時執行檢測是否接收到倒檔掛入信號,并在檢測到倒檔掛入信號后,獲取攝像頭采集到的倒車影像并播放,這樣,即使操作系統未完成啟動,也可以在顯示屏上播放倒車影像,縮短了用戶的等待時間,提高了用戶的使用體驗。
[0051]本發明實施例中,由于從攝像頭直接獲取到的視頻數據為YUV數據,而顯示屏能夠支持的是RGB數據,因此,S23中在顯示屏上,播放所述倒車影像,包括:
[0052]將獲取到的倒車影像轉換為RGB數據;
[°°53]在顯示屏上,播放所述RGB數據。
[0054]具體的,以Android系統為例,先將從攝像頭獲取到的YUV數據通過轉換算法,轉換成RGB數據,然后,通過FrameBuffeH顯存)接口將得到的RGB數據在顯示屏上播放。其中,FrameBuffer接口是Android系統中用來刷新圖像的接口,YUV是被歐洲電視系統所采用的一種顏色編碼方法,是逐行倒相(Phase Alterat1n Line,PAL)和按順序傳送彩色與存儲(Sequentiel Couleur A Memoire,SECAM)模擬彩色電視制式采用的顏色空間,“Y”表示明亮度(Luminance或Luma),也就是灰階值,而“U”和“V”表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。其他操作系統類似,此處不再舉例說明。
[0055]本發明實施例中,若檢測到所述倒檔掛入信號,且操作系統已完成啟動,可以執行以下可能的處理過程:
[0056]第一種可能的處理為:返回執行檢測是否接收到倒檔掛入信號或倒檔退出信號,即由操作系統觸發顯示倒車影像。
[0057]第二種可能的處理為:執行獲取攝像頭采集到的倒車影像;并在顯示屏上,播放所述倒車影像,即仍采用本發明實施例提供的技術方案顯示倒車影像。
[0058]基于上述任一實施例,為了避免與操作系統的沖突,S21中在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,還包括:
[0059]通知所述操作系統停止在所述顯示屏上播放開機動畫。
[0060]基于上述任一實施例,S23中在顯示屏上,播放所述倒車影像之后,所述方法還包括:
[0061]在檢測到所述倒檔退出信號后,停止在所述顯示屏上播放所述倒車影像。
[0062]具體的,若檢測到所述倒檔退出信號,可以停止執行S22?S23,即由操作系統控制顯示屏的顯示。
[0063]可選的,在檢測到所述倒檔退出信號后,所述方法還包括:
[0064]若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫。
[0065]可選的,在檢測到所述倒檔退出信號后,所述方法還包括:
[0066]若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。
[0067]舉例說明,以Android系統為例,其他操作系統類似,此處不再一一舉例說明。為了不影響Android系統的正常啟動過程,在Init進程的入口函數main里,通過pThread_create來創建一個新的進程,記為CarDaemon進程。在Linux的kernel完成啟動后,同時啟動Init進程和新定義的CarDaemon進程,CarDaemon進程用于執行上述步驟S21?S23,Init進程繼續運行以完成Android系統的正常啟動過程,具體流程參見圖3所示。
[0068]S31、設備上電;
[0069]S32、Linux 系統的kernel 啟動;
[0070]S31?S32的處理時間為4秒左右。
[0071]Linux系統的kernel啟動完成后,觸發以下兩個過程:
[0072]S33a?S35a為Android系統的正常啟動過程,其中,該過程的處理時間為10秒左右;
[0073]S33b?S35b為CarDaemon進程的處理過程,其中,該過程的處理時間為I秒左右。
[0074]其中,S33a?S35a和S33b?S35b是兩個并行的處理過程。
[0075]S33a、Init 進程啟動;
[0076]S34a、Android系統啟動,該過程中顯示屏會顯示Android系統開機動畫;
[0077]S35a、顯示Android系統的桌面。
[0078]S33b、CarDaemon 進程啟動;
[0079]S34b、調用攝像頭驅動,以獲取攝像頭采集到的倒車影像;
[0080]S35b、將攝像頭采集到的倒車影像刷新到顯示屏上進行顯示。
[0081 ]下面仍以Android系統為例,結合圖4所示的具體實施例,對CarDaemon進程的處理過程進行詳細說明。其他操作系統類似,此處不再一一舉例說明。
[0082]S41、接收到倒檔事件;
[0083]具體的,CarDaemon進程啟動后,會創建一個NETLINK_KOBJECT_UEVENT類型的Socket,該類型的Socket是操作系統中用于實時接收內核消息的一種Socket,用于實時接收kernel上報的倒檔事件。其中,kernel通過檢查GP1接口,根據該GP1接口上的電平信號,確定是否有倒檔事件發生,若有,則生成相應的倒檔事件并上報給CarDaemon進程。
[0084]S42、判斷倒檔掛入事件或倒檔退出事件;
[0085]若是倒檔掛入事件,則執行S43;
[0086]若是倒檔退出事件,則執行S44;
[0087]具體的,NETLINK_K0BJECT_UEVENT類型的Socket接收到倒檔事件后,通過解析UEVENT事件類型,確定是否為倒檔掛入事件/倒檔退出事件。具體過程為:先判斷是否為SUBSYSTEM= input 的 UE VENT 事件;再根據 CAR_BACK_IN= 1/0 參數,判斷 SUBSYSTEM= input的UEVENT事件是否為倒檔掛入/退出事件。
[0088]S43、判斷Andro id系統是否完成啟動;
[0089]若是,執行S45;
[0090]若否,執行S46;
[0091 ] S44、判斷Android系統是否完成啟動;
[0092]若是,執行S45;
[0093]若否,執行S47;
[0094]S45、通知Android系統控制顯示屏的顯示;
[0095]S46、啟動攝像頭刷屏,即將攝像頭采集到的圖像顯示在顯示屏上,此時,后臺繼續執行Andr ο i d系統的啟動過程;
[0096]具體的,NETLINK_K0BJECT_UEVENT類型的Socket解析出倒檔掛入事件,且Android系統未完成啟動,CarDaemon進程通過service_start系統接口調用CameraBin程序,CameraBin程序用于從攝像頭直接讀取原始圖像數據,然后通過顯示屏的驅動將讀取到的圖像數據直接刷新到顯示屏上O CameraBin程序不依賴Andro id系統,所以不用等Android系統完成啟動,便可以運行。
[0097]CameraBin程序啟動后,會先去檢查是否有倒車攝像頭設備,通過dev/video3節點來檢查,如果存在倒車攝像頭,Linux系統的內核會在dev目錄下生成video節點。如果有倒車攝像頭設備,則通過Linux系統中的標準接口 open接口打開倒車攝像頭設備,按照USB協議以讀取圖像YUV數據。
[0098]由于直接刷新顯示屏的數據需要是RGB數據,從倒車攝像頭設備直接獲取到的是YUV數據,因此,需要先將獲取到的YUV數據轉成RGB數據。然后通過FrameBuf fer接口直接刷新到顯示屏上。
[OO"] S47、退出攝像頭刷屏,并通知Android系統控制顯示屏顯示開機動畫。
[0100]上述方法處理流程可以用軟件程序實現,該軟件程序可以存儲在存儲介質中,當存儲的軟件程序被調用時,執行上述方法步驟。
[0101]基于同一發明構思,圖5所示的實施例中,提供了一種控制倒車影像顯示的裝置,由于該裝置解決問題的原理與圖2所示實施例中的方法相似,因此該設備的實施可以參見方法的實施,重復之處不再贅述。所述裝置包括:
[0102]檢測模塊51,用于在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號;
[0103]處理模塊52,用于在所述檢測模塊51檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像;
[0104]顯示控制模塊53,用于在顯示屏上,播放所述倒車影像。
[0105]—種可能的實現方式中,所述顯示控制模塊具體用于:
[0106]將獲取到的倒車影像轉換為RGB數據;
[0107]在顯示屏上,播放所述RGB數據。
[0108]一種可能的實現方式中,所述處理模塊還用于:
[0109]在所述檢測模塊檢測到所述倒檔退出信號后,控制所述顯示控制模塊停止在所述顯示屏上播放所述倒車影像。
[0110]—種可能的實現方式中,所述處理模塊還用于:
[0111]在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫;或者
[0112]在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。
[0113]—種可能的實現方式中,所述處理模塊還用于:
[0114]在所述檢測模塊檢測到所述倒檔掛入信號,且操作系統未完成啟動時,通知所述操作系統停止在所述顯示屏上播放開機動畫。
[0115]在本實施例中,檢測模塊51,處理模塊52和顯示控制模塊53是以功能模塊的形式來呈現。這里的“模塊”可以指特定應用集成電路(applicat1n-specific integratedcircUit,ASIC),電路,執行一個或多個軟件或固件程序的處理器和存儲器,集成邏輯電路,和/或其他可以提供上述功能的器件。
[0116]基于同一發明構思,本發明實施例中還提供了一種車載設備,所述車載設備包括圖5所示實施例中的裝置。
[0117]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0118]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0119]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0120]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0121]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0122]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【主權項】
1.一種控制倒車影像顯示的方法,其特征在于,所述方法包括: 在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號; 在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像; 在顯示屏上,播放所述倒車影像。2.如權利要求1所述的方法,其特征在于,在顯示屏上,播放所述倒車影像,包括: 將獲取到的倒車影像轉換為RGB數據; 在顯示屏上,播放所述RGB數據。3.如權利要求1或2所述的方法,其特征在于,在顯示屏上,播放所述倒車影像之后,所述方法還包括: 在檢測到所述倒檔退出信號后,停止在所述顯示屏上播放所述倒車影像。4.如權利要求3所述的方法,其特征在于,在檢測到所述倒檔退出信號后,所述方法還包括: 若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫;或者若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。5.如權利要求1所述的方法,其特征在于,在檢測到所述倒檔掛入信號,且操作系統未完成啟動時,還包括: 通知所述操作系統停止在所述顯示屏上播放開機動畫。6.一種控制倒車影像顯示的裝置,其特征在于,所述裝置包括: 檢測模塊,用于在上電后,檢測是否接收到倒檔掛入信號或倒檔退出信號; 處理模塊,用于在所述檢測模塊檢測到所述倒檔掛入信號,且操作系統未完成啟動時,獲取攝像頭采集到的倒車影像; 顯示控制模塊,用于在顯示屏上,播放所述倒車影像。7.如權利要求6所述的裝置,其特征在于,所述顯示控制模塊具體用于: 將獲取到的倒車影像轉換為RGB數據; 在顯示屏上,播放所述RGB數據。8.如權利要求6或7所述的裝置,其特征在于,所述處理模塊還用于: 在所述檢測模塊檢測到所述倒檔退出信號后,控制所述顯示控制模塊停止在所述顯示屏上播放所述倒車影像。9.如權利要求8所述的裝置,其特征在于,所述處理模塊還用于: 在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統未完成啟動,通知所述操作系統在所述顯示屏上播放開機動畫;或者 在所述檢測模塊檢測到所述倒檔退出信號后,若所述操作系統已完成啟動,通知所述操作系統在所述顯示屏上顯示所述操作系統的桌面。10.如權利要求6所述的裝置,其特征在于,所述處理模塊還用于: 在所述檢測模塊檢測到所述倒檔掛入信號,且操作系統未完成啟動時,通知操作系統停止在所述顯示屏上播放開機動畫。11.一種車載設備,其特征在于,所述車載設備包括如權利要求6?10任一項所述的裝 。_K C/C f ^ Π<ΓV 藝 τε 寸〇90? Zo
【文檔編號】H04N7/18GK106043124SQ201610356511
【公開日】2016年10月26日
【申請日】2016年5月25日
【發明人】修平, 王勇, 王飛, 張乃風
【申請人】青島海信移動通信技術股份有限公司