两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種圖像鏡像顯示方法及其裝置制造方法

文檔序號:6633939閱讀:424來源:國知局
一種圖像鏡像顯示方法及其裝置制造方法
【專利摘要】本申請?zhí)峁┮环N圖像鏡像顯示方法及其裝置,應用于安卓數(shù)據(jù)處理系統(tǒng),包括:以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前屏幕圖像相同;處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像;所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。本申請無需獲得現(xiàn)有的數(shù)據(jù)處理系統(tǒng)的root權(quán)限即可實現(xiàn)對現(xiàn)有的數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備的圖像鏡像顯示,且無需對現(xiàn)有的數(shù)據(jù)處理系統(tǒng)進行較大的改動。
【專利說明】一種圖像鏡像顯示方法及其裝置

【技術(shù)領(lǐng)域】
[0001 ] 本申請涉及圖像顯示【技術(shù)領(lǐng)域】,尤其涉及一種圖像鏡像顯示方法及其裝置。

【背景技術(shù)】
[0002]通常計算機、手機以及PAD或者其他電子設(shè)備均具有內(nèi)部顯示器,該內(nèi)部顯示器可以將電子設(shè)備產(chǎn)生或者存儲的圖像數(shù)據(jù)進行顯示。
[0003]但是,由于該電子設(shè)備的內(nèi)部顯示器大小以及性等限制,通常無法獲得很好的顯示效果。因此,現(xiàn)有的圖像鏡像顯示技術(shù),可以將電子設(shè)備連接外部設(shè)備,令電子設(shè)備的內(nèi)部顯示器和外部設(shè)備的外部顯示器同時顯示相同的圖像數(shù)據(jù),該技術(shù)稱之為鏡像模式(mirrored mode)。
[0004]
【公開日】為2012年9月19日的中國專利CN102681810公開了一種將圖形內(nèi)容鏡像到外部顯示器。數(shù)據(jù)處理系統(tǒng)合成由在數(shù)據(jù)處理系統(tǒng)上運行的應用程序產(chǎn)生的圖形內(nèi)容以產(chǎn)生圖像數(shù)據(jù)。該數(shù)據(jù)處理系統(tǒng)將該圖像數(shù)據(jù)存儲在第一幀緩沖器中,并將從第一幀緩沖器中的圖像數(shù)據(jù)產(chǎn)生的圖像顯示在數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器上。數(shù)據(jù)處理系統(tǒng)中的定標器對第一幀緩沖器中的圖像數(shù)據(jù)執(zhí)行定標操作,將定目標圖像數(shù)據(jù)存儲在第二幀緩沖器中,并且將從第二幀緩沖器中的定目標圖像數(shù)據(jù)產(chǎn)生的圖像顯示在與數(shù)據(jù)處理系統(tǒng)耦接的外部顯示設(shè)備上。定標器與圖形內(nèi)容的合成異步地執(zhí)行定標操作。數(shù)據(jù)處理系統(tǒng)自動地將圖像鏡像在外部顯示設(shè)備上,除非應用程序正在發(fā)布用于在外部顯示設(shè)備上顯示的另外的圖形內(nèi)容。但是,該技術(shù)方案的數(shù)據(jù)處理系統(tǒng)需要定標器與第一幀緩沖器和第二幀緩沖器配合使用才能實現(xiàn)圖像的鏡像顯示。該技術(shù)方案需要修改數(shù)據(jù)處理系統(tǒng)的程序,對數(shù)據(jù)處理系統(tǒng)進行較大改動,其無法實現(xiàn)在現(xiàn)有的數(shù)據(jù)處理系統(tǒng)中直接實現(xiàn)外部顯示器的鏡像顯
/Jn ο
[0005]
【公開日】為2012年3月14日的中國專利申請CN102377877公開了一種用戶設(shè)備的顯示鏡像方法響應于第一類型顯示鏡像請求同時執(zhí)行將壓縮的第一源文件和對應于第一源文件的第一顯示信息通過無線方式發(fā)送到另一使用者設(shè)備的操作以及解碼第一源文件的操作?;诘谝伙@示信息顯示第一源文件的譯碼結(jié)果,并且在所述另一使用者設(shè)備中執(zhí)行所發(fā)送的第一源文件的顯示操作。但是上述技術(shù)方案所采用的是無線的方式進行鏡像圖像顯示,在不具備無線網(wǎng)絡信號的應用場景中第一顯示信息無法通過無線網(wǎng)絡進行傳輸則無法完成圖像的鏡像顯示。并且,該技術(shù)方案的圖像顯示會占用無線帶寬,且造成圖像顯示的延時。
[0006]
【公開日】為2014年2月12日的中國大陸專利CN103581337包括智能手機和車載裝置,包括以下步驟,a)智能手機和車載裝置之間通過獨立的顯示信道和互動信道分別進行連接山)手機通過顯示信道將顯示內(nèi)容鏡像到車載屏幕上;c)車載裝置通過互動信道將操作鏡像到智能手機上。所述顯示信道為USB或者HDMI。但是,智能手機和車載裝置之間需要建立兩個信道,分別為顯示信道和互動信道。并且,該技術(shù)方案需要獲得所述智能手機的root (系統(tǒng)管理員)權(quán)限,方可實現(xiàn)對智能手機的圖像的鏡像傳輸與處理,破壞了智能手機現(xiàn)有的安全系統(tǒng),造成智能手機廠家不再對出廠的智能手機提供保修服務。


【發(fā)明內(nèi)容】

[0007]有鑒于此,本申請?zhí)峁┮环N圖像鏡像顯示方法及其裝置,其無需獲得現(xiàn)有的數(shù)據(jù)處理系統(tǒng)的root權(quán)限即可實現(xiàn)對現(xiàn)有的數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備的圖像鏡像顯示,且無需對現(xiàn)有的數(shù)據(jù)處理系統(tǒng)進行較大的改動。
[0008]為達到上述目的之一,本申請的實施例采用如下技術(shù)方案:
[0009]本申請實施例的一方面,本申請?zhí)峁┮环N圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng),包括:
[0010]以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同;
[0011]處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像;
[0012]所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0013]在本申請一實施例中,所述虛擬屏幕拷貝程序的預存包括:
[0014]通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間;
[0015]編寫并保存安卓JAVA程序到所述安卓數(shù)據(jù)處理系統(tǒng),以獲得所述安卓JAVA程序控制的目錄空間;
[0016]運行所述安卓JAVA程序,將存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間的所述虛擬屏幕拷貝程序拷貝到所述安卓JAVA程序控制的目錄空間;
[0017]通知所述安卓Shell用戶所述目錄空間的名稱,并修改所述虛擬屏幕拷貝程序的文件屬性為其他用戶身份可運行的可執(zhí)行文件。
[0018]在本申請一實施例中,所述安卓JAVA程序以安卓安裝包apk的形式保存到所述安卓數(shù)據(jù)處理系統(tǒng)。
[0019]在本申請一實施例中,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過在所述安卓數(shù)據(jù)處理系統(tǒng)上輸入的adb Shell命令來執(zhí)行所述目錄空間保存的虛擬屏幕拷貝程序。
[0020]在本申請一實施例中,所述虛擬屏幕拷貝程序的預存包括:
[0021]通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下;
[0022]通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
[0023]在本申請一實施例中,所述虛擬屏幕拷貝程序的預存包括:
[0024]在所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下新建目錄;
[0025]通過安卓調(diào)試橋ADB的拷貝命令將所述新建目錄的屬性設(shè)置為t屬性;
[0026]通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下;
[0027]通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。。
[0028]在本申請一實施例中,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過安卓安裝包apk的程序調(diào)用所述虛擬屏幕拷貝程序。
[0029]在本申請一實施例中,所述處理并保存所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像為將獲得的所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
[0030]在本申請一實施例中,使用安卓的多媒體框架處理流程Stagefright對所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像進行處理。
[0031]在本申請一實施例中,使用硬件編碼器將所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
[0032]在本申請一實施例中,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。
[0033]在本申請一實施例中,所述連接通道為USB線。
[0034]在本申請一實施例中,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
[0035]在本申請一實施例中,還包括通過指令修改所述虛擬屏幕拷貝程序的SELinuxcontext屬性,令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
[0036]本申請還提供一種圖像鏡像顯示方法,應用于外部顯示設(shè)備,包括:
[0037]所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同;
[0038]對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
[0039]在本申請一實施例中,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。
[0040]在本申請一實施例中,所述連接通道為USB線。
[0041]在本申請一實施例中,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
[0042]本申請還提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng),包括:
[0043]圖像獲取模塊,用于以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同;
[0044]圖像處理模塊,用于處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像;
[0045]圖像傳輸模塊,用于與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0046]本申請還提供一種圖像鏡像顯示裝置,應用于外部顯示設(shè)備,包括:
[0047]圖像接收模塊,用于所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同;
[0048]圖像顯示模塊,用于對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
[0049]由以上技術(shù)方案可見,本申請以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。

【專利附圖】

【附圖說明】
[0050]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0051]圖1是本申請安卓數(shù)據(jù)處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0052]圖2是本申請圖像鏡像顯示方法一實施例的流程圖;
[0053]圖3是本申請圖像鏡像顯示方法另一實施例中虛擬屏幕拷貝程序的預存流程圖;
[0054]圖4是本申請圖像鏡像顯示方法再一實施例中虛擬屏幕拷貝程序的預存流程圖;
[0055]圖5是本申請圖像鏡像顯示方法再一實施例中虛擬屏幕拷貝程序的預存流程圖;
[0056]圖6是本申請外部顯示裝置的結(jié)構(gòu)示意圖;
[0057]圖7是本申請圖像鏡像顯示方法再一實施例的流程圖;
[0058]圖8是本申請圖像鏡像顯示裝置一實施例的結(jié)構(gòu)示意圖;
[0059]圖9是本申請圖像鏡像顯示裝置另一實施例中虛擬屏幕拷貝裝置的結(jié)構(gòu)示意圖;
[0060]圖10是本申請圖像鏡像顯示裝置再一實施例中虛擬屏幕拷貝裝置的結(jié)構(gòu)示意圖;
[0061]圖11是本申請圖像鏡像顯示裝置再一實施例中虛擬屏幕拷貝裝置的結(jié)構(gòu)示意圖;
[0062]圖12是本申請圖像鏡像顯示裝置再一實施例的結(jié)構(gòu)示意圖。

【具體實施方式】
[0063]參看圖1,所述安卓數(shù)據(jù)處理系統(tǒng)包括安裝安卓系統(tǒng)的手機、計算機、PAD等具有數(shù)據(jù)處理能力的電子設(shè)備1,其在硬件上通常包括內(nèi)部顯示器11、第一主控芯片12、第一存儲裝置13以及第一輸入裝置14。所述第一輸入裝置14用于接收用戶的輸入指令,所述第一存儲裝置13用于存儲各應用程序以及發(fā)送接收的數(shù)據(jù),所述內(nèi)部顯示器11用于對接收或者處理獲得的圖像數(shù)據(jù)進行顯示,所述第一主控芯片12用于控制各功能裝置的運行。
[0064]所述安卓數(shù)據(jù)處理系統(tǒng)利用所述主控芯片12運行存儲在所述存儲裝置13中的程序,進行數(shù)據(jù)處理。而安卓數(shù)據(jù)處理系統(tǒng)的用戶包括普通用戶權(quán)限和root用戶(系統(tǒng)管理員)權(quán)限。只有具有root用戶權(quán)限才能夠?qū)Π沧繑?shù)據(jù)處理系統(tǒng)屏幕顯示的圖像數(shù)據(jù)進行拷貝,而普通用戶權(quán)限無法對安卓數(shù)據(jù)處理系統(tǒng)屏幕顯示的圖像數(shù)據(jù)進行拷貝。如果安卓數(shù)據(jù)處理系統(tǒng)為了實現(xiàn)屏幕顯示的圖像數(shù)據(jù)進行拷貝而對安卓數(shù)據(jù)處理系統(tǒng)的root系統(tǒng)進行更改,則破壞了安卓數(shù)據(jù)處理系統(tǒng)的安全保護系統(tǒng),且無法獲得安卓數(shù)據(jù)處理系統(tǒng)廠家的保修。
[0065]本申請以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0066]當然,實施本申請的任一技術(shù)方案必不一定需要同時達到以上所述的所有優(yōu)點。
[0067]為了使本領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
[0068]本申請一個實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。參看圖1,所述安卓數(shù)據(jù)處理系統(tǒng)包括安裝安卓系統(tǒng)的手機、計算機、PAD等具有數(shù)據(jù)處理能力的電子設(shè)備1,其在硬件上通常包括內(nèi)部顯示器11、第一主控芯片12、第一存儲裝置13以及第一輸入裝置14。
[0069]參看圖2,本申請所述圖像鏡像顯示方法2包括:
[0070]S1、以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0071]具體地,安卓系統(tǒng)提供了名為虛擬屏幕(VirtualDisplay)拷貝(screenrecord)的命令行程序。所述虛擬屏幕拷貝程序在安卓調(diào)試橋殼體層adb Shell環(huán)境下運行,可以將和安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器當前屏幕顯示的圖像相同的虛擬屏幕上的顯示的圖像,錄制成視頻文件。
[0072]本申請利用安卓系統(tǒng)提供的虛擬屏幕拷貝(screenrecord)的命令行程序,以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,而無需以root用戶身份,即可獲得和所述安卓數(shù)據(jù)處理系統(tǒng)中的內(nèi)部顯示器顯示的當前屏幕的圖像相同的虛擬屏幕上顯示的圖像。
[0073]S2、處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0074]本申請對于以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序所獲得的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像進行初步的處理和保存。具體地,將所述虛擬屏幕上顯示的圖像保存到一第一緩存空間。
[0075]S3、所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0076]所述保存到所述第一緩存空間內(nèi)的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像通過所述連接通道傳輸給所述外部顯示設(shè)備進行顯示,從而令所述外部顯示設(shè)備獲得所述安卓數(shù)據(jù)處理系統(tǒng)內(nèi)部顯示器所顯示圖像的鏡像顯示圖像,改善了安卓數(shù)據(jù)處理系統(tǒng)的顯示效果。
[0077]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0078]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟:S1——S3。
[0079]具體地,參看圖3,所述虛擬屏幕拷貝程序的預存方法3包括:
[0080]P1、通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間。
[0081]具體地,所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間為所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡。所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0082]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0083]因此,將所述所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡之后還包括步驟P2-P4。
[0084]P2、編寫并保存安卓JAVA程序到所述安卓數(shù)據(jù)處理系統(tǒng),以獲得所述安卓JAVA程序控制的目錄空間。
[0085]具體的,所述安卓JAVA程序以安卓安裝包apk的形式保存到所述安卓數(shù)據(jù)處理系統(tǒng)。這樣安卓系統(tǒng)會為此JAVA程序建立可以運行JAVA程序并存儲資料的目錄空間,所述目錄空間是可以被所述安卓JAVA程序控制的。
[0086]P3、運行所述安卓JAVA程序,將存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間的所述虛擬屏幕拷貝程序拷貝到所述安卓JAVA程序控制的目錄空間。
[0087]P4、通知所述安卓Shell用戶所述目錄空間的名稱,并修改所述虛擬屏幕拷貝程序的文件屬性為其他用戶身份可運行的可執(zhí)行文件。
[0088]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。所述其他用戶身份是指普通的java層的java程序。
[0089]在本申請具體實現(xiàn)中,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過在所述安卓數(shù)據(jù)處理系統(tǒng)上輸入的adb Shell命令來執(zhí)行所述目錄空間保存的虛擬屏幕拷貝程序。
[0090]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0091]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟:si——S3。
[0092]具體地,參看圖4,所述虛擬屏幕拷貝程序的預存方法4包括:
[0093]Q1、通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下。
[0094]所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡的對所述Shell用戶開放寫權(quán)限的目錄下,比如/data/local/tmp內(nèi)。所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0095]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0096]因此,將所述所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡之后還包括步驟Q2。
[0097]Q2、通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
[0098]s屬性稱為SetnD,是指當一個可執(zhí)行程序(文件)在運行時(進程)擁有這個文件所有者(owner)的權(quán)限。如果一個可執(zhí)行程序的屬性為s屬性,則在執(zhí)行該可執(zhí)行文件的用戶擁有該文件的Owner的權(quán)限。通過安卓調(diào)試橋ADB的adb Shell命令修改被拷貝過來的程序的屬性為s屬性后,用其他用戶身份運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。所述其他用戶身份是指普通的java層的java程序,即用普通的java層的java程序運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。
[0099]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0100]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0101]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟:si——S3。
[0102]具體地,參看圖5,所述虛擬屏幕拷貝程序的預存方法5包括:
[0103]Tl、在所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下新建目錄。
[0104]在所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡的對所述Shell用戶開放寫權(quán)限的目錄下,比如/data/local/tmp 下新建目錄。
[0105]T2、通過安卓調(diào)試橋ADB的拷貝命令將所述新建目錄的屬性設(shè)置為t屬性。
[0106]所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0107]t屬性稱為粘住位(sticky bit)。一般情況下unix對一個文件刪除,是看是否擁有目錄的寫權(quán)限,只要擁有該目錄的寫權(quán)限,即可刪除文件,并不考慮是否為該文件的所有者。比如,建立一個公共可寫的目錄(shared direcotry),需要很多人擁有寫這個目錄的權(quán)限,但是這樣很多人也擁有刪除這個目錄的權(quán)限。本申請在新建的目錄位上加上t屬性,這樣這個目錄下的文件只有文件的所有者,或是目錄的所有者,或是root用戶才能刪除這個目錄下的文件。
[0108]T3、通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下。
[0109]將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下,這樣其他用戶無法刪除所述虛擬屏幕拷貝程序。
[0110]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0111]因此,將所述所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡之后還包括步驟T4。
[0112]T4、通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
[0113]s屬性稱為SetnD,是指當一個可執(zhí)行程序(文件)在運行時(進程)擁有這個文件所有者(owner)的權(quán)限。如果一個可執(zhí)行程序的屬性為s屬性,則在執(zhí)行該可執(zhí)行文件的用戶擁有該文件的Owner的權(quán)限。通過安卓調(diào)試橋ADB的adb Shell命令修改被拷貝過來的程序的屬性為s屬性后,用其他用戶身份運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。所述其他用戶身份是指普通的java層的java程序,即用普通的java層的java程序運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。
[0114]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0115]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0116]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟:
[0117]S1、以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0118]S2、處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0119]由于H.264目前是壓縮率最高的壓縮算法,所述處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像為將獲得的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像壓縮成符合H.264標準的視頻碼流。這樣有利于數(shù)據(jù)的傳輸,會近一步減小帶寬。
[0120]具體地,由于stage fright是安卓用的多媒體框架,對編譯碼的硬件進行封裝,這樣不同的硬件用同樣的API。本申請使用安卓的多媒體框架處理流程Stagefright對所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像進行處理。
[0121]由于硬件編碼器成本更加低廉,編碼耗時短,本申請直接使用硬件編碼器將所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
[0122]S3、所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0123]所述保存到所述第一緩存空間內(nèi)的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像通過所述連接通道傳輸給所述外部顯示設(shè)備進行顯示,從而令所述外部顯示設(shè)備獲得所述安卓數(shù)據(jù)處理系統(tǒng)內(nèi)部顯示器所顯示圖像的鏡像顯示圖像,改善了安卓數(shù)據(jù)處理系統(tǒng)的顯示效果。
[0124]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0125]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟:
[0126]S1、以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0127]S2、處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0128]S3、所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0129]由于安卓調(diào)試橋ADB可以將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和其他與其通過USB相連的所述外部顯示設(shè)備(比如車機)的TCP端口關(guān)聯(lián)起來。比如,所述命令“adb forwardtcp:1OOtcp:200”就是將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口(port) 200和運行安卓調(diào)試橋命令的所述外部顯示設(shè)備(比如車機)的TCP端口(port) 100關(guān)聯(lián)起來,從而安卓數(shù)據(jù)處理系統(tǒng)只需打開套接字(Socket)TCP 200端口,所述外部顯示設(shè)備(比如車機)只需打開套接字(Socket)TCP 100端口,雙方就能通訊了。
[0130]因此,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。具體地,所述連接通道為USB線。
[0131]本實施例無需通過Wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍?,比如飛機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0132]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0133]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟所述方法包括步驟:S1-S3。
[0134]具體地,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
[0135]本實施例無需通過wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍?,比如飛機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0136]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0137]本申請另一實施例提供一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述方法包括步驟所述方法包括步驟:S1-S3。
[0138]具體地,還包括通過指令修改所述虛擬屏幕拷貝程序的SELinux context屬性,令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
[0139]SELinux是美國NSA推行基于角色權(quán)限管理的Linux,全稱為Role-Based AccessControl (RBAC)。在Linux中需要符合傳統(tǒng)UNIX權(quán)限的規(guī)定為,也不得違反SELinux的安全規(guī)則才會通過權(quán)限的驗證。本申請在具體實現(xiàn)中通過chcon指令修改所述虛擬屏幕拷貝程序的SELinux context屬性。本申請需要通過chcon指令改變所述虛擬屏幕拷貝程序的SELinux context屬性為u:object_r: system_file: sO,從而令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
[0140]本申請另一實施例提供一種圖像鏡像顯示方法,應用于外部顯示設(shè)備。參看圖6,所述外部顯示設(shè)備包括安裝車機等具有外部顯示器的電子設(shè)備6,其在硬件上通常包括外部顯示器61、第二主控芯片62、第二存儲裝置63以及第二輸入裝置64。
[0141]參看圖7,所述方法包括:
[0142]D1、所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0143]由于安卓調(diào)試橋ADB可以將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和其他與其通過USB相連的所述外部顯示設(shè)備(比如車機)的TCP端口關(guān)聯(lián)起來。比如,所述命令“adb forwardtcp:1OOtcp:200”就是將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口(port) 200和運行安卓調(diào)試橋命令的所述外部顯示設(shè)備(比如車機)的TCP端口(port) 100關(guān)聯(lián)起來,從而安卓數(shù)據(jù)處理系統(tǒng)只需打開套接字(Socket)TCP 200端口,所述外部顯示設(shè)備(比如車機)只需打開套接字(Socket)TCP 100端口,雙方就能通訊了。
[0144]因此,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。具體地,所述連接通道為USB線。
[0145]此外,本申請所述連接通道還可以是通過USB網(wǎng)絡共享方式獲得。
[0146]本實施例無需通過wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍埃热顼w機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0147]D2、對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
[0148]本實施例所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像。本實施例對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像進行處理并顯示。從而實現(xiàn)將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0149]對應于上述方法,本申請一個實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。參看圖1,所述安卓數(shù)據(jù)處理系統(tǒng)包括安裝安卓系統(tǒng)的手機、計算機、PAD等具有數(shù)據(jù)處理能力的電子設(shè)備1,其在硬件上通常包括內(nèi)部顯示器11、第一主控芯片12、第一存儲裝置13以及第一輸入裝置14。
[0150]參看圖8,本申請所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0151]圖像獲取模塊81,用于以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0152]具體地,安卓系統(tǒng)提供了名為虛擬屏幕(VirtualDisplay)拷貝(screenrecord)的命令行程序。所述虛擬屏幕拷貝程序在安卓調(diào)試橋殼體層adb Shell環(huán)境下運行,可以將和安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器當前屏幕顯示的圖像相同的虛擬屏幕上的顯示的圖像,錄制成視頻文件。
[0153]本申請利用安卓系統(tǒng)提供的虛擬屏幕拷貝(screenrecord)的命令行程序,以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,而無需以root用戶身份,即可獲得和所述安卓數(shù)據(jù)處理系統(tǒng)中的內(nèi)部顯示器顯示的當前屏幕的圖像相同的虛擬屏幕上顯示的圖像。
[0154]圖像處理模塊82,用于處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0155]本申請對于以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序所獲得的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像進行初步的處理和保存。具體地,將所述虛擬屏幕上顯示的圖像保存到一第一緩存空間。
[0156]圖像傳輸模塊83,用于與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
[0157]所述保存到所述第一緩存空間內(nèi)的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像通過所述連接通道傳輸給所述外部顯示設(shè)備進行顯示,從而令所述外部顯示設(shè)備獲得所述安卓數(shù)據(jù)處理系統(tǒng)內(nèi)部顯示器所顯示圖像的鏡像顯示圖像,改善了安卓數(shù)據(jù)處理系統(tǒng)的顯示效果。
[0158]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0159]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0160]具體地,參看圖9,所述虛擬屏幕拷貝程序的預存裝置9包括:
[0161]第一存儲模塊91,用于通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間。
[0162]具體地,所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間為所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡。所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0163]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0164]第一空間模塊92,用于編寫并保存安卓JAVA程序到所述安卓數(shù)據(jù)處理系統(tǒng),以獲得所述安卓JAVA程序控制的目錄空間。
[0165]具體的,所述安卓JAVA程序以安卓安裝包apk的形式保存到所述安卓數(shù)據(jù)處理系統(tǒng)。這樣安卓系統(tǒng)會為此JAVA程序建立可以運行JAVA程序并存儲資料的目錄空間,所述目錄空間是可以被所述安卓JAVA程序控制的。
[0166]第一拷貝模塊93,用于運行所述安卓JAVA程序,將存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間的所述虛擬屏幕拷貝程序拷貝到所述安卓JAVA程序控制的目錄空間。
[0167]第一修改模塊94,用于通知所述安卓Shell用戶所述目錄空間的名稱,并修改所述虛擬屏幕拷貝程序的文件屬性為其他用戶身份可運行的可執(zhí)行文件。
[0168]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。所述其他用戶身份是指普通的java層的java程序。
[0169]在本申請具體實現(xiàn)中,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過在所述安卓數(shù)據(jù)處理系統(tǒng)上輸入的adb Shell命令來執(zhí)行所述目錄空間保存的虛擬屏幕拷貝程序。
[0170]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0171]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0172]具體地,參看圖10,所述虛擬屏幕拷貝程序的預存裝置10包括:
[0173]第二拷貝模塊101,用于通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下。
[0174]所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡的對所述Shell用戶開放寫權(quán)限的目錄下,比如/data/local/tmp內(nèi)。所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0175]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0176]第二修改模塊102,用于通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
[0177]s屬性稱為SetnD,是指當一個可執(zhí)行程序(文件)在運行時(進程)擁有這個文件所有者(owner)的權(quán)限。如果一個可執(zhí)行程序的屬性為s屬性,則在執(zhí)行該可執(zhí)行文件的用戶擁有該文件的Owner的權(quán)限。通過安卓調(diào)試橋ADB的adb Shell命令修改被拷貝過來的程序的屬性為s屬性后,用其他用戶身份運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。所述其他用戶身份是指普通的java層的java程序,即用普通的java層的java程序運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。
[0178]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0179]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0180]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0181]具體地,參看圖11,所述虛擬屏幕拷貝程序的預存裝置11包括:
[0182]新建模塊111,用于在所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下新建目錄。
[0183]在所述安卓數(shù)據(jù)處理系統(tǒng)的SD卡的對所述Shell用戶開放寫權(quán)限的目錄下,比如/data/local/tmp 下新建目錄。
[0184]第三修改模塊112,用于通過安卓調(diào)試橋ADB的拷貝命令將所述新建目錄的屬性設(shè)置為t屬性。
[0185]所述ADB的拷貝命令通常為adb push或者adb Shell copy等命令。
[0186]t屬性稱為粘住位(sticky bit)。一般情況下unix對一個文件刪除,是看是否擁有目錄的寫權(quán)限,只要擁有該目錄的寫權(quán)限,即可刪除文件,并不考慮是否為該文件的所有者。比如,建立一個公共可寫的目錄(shared direcotry),需要很多人擁有寫這個目錄的權(quán)限,但是這樣很多人也擁有刪除這個目錄的權(quán)限。本申請在新建的目錄位上加上t屬性,這樣這個目錄下的文件只有文件的所有者,或是目錄的所有者,或是root用戶才能刪除這個目錄下的文件。
[0187]第三拷貝模塊113,用于通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下。
[0188]將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下,這樣其他用戶無法刪除所述虛擬屏幕拷貝程序。
[0189]由于安卓調(diào)試橋ADB的所述Shell用戶沒有權(quán)限在SD卡上直接運行所述虛擬屏幕拷貝程序,需要將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。
[0190]第二修改模塊114,用于通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為s屬性的可執(zhí)行文件。
[0191]s屬性稱為SetnD,是指當一個可執(zhí)行程序(文件)在運行時(進程)擁有這個文件所有者(owner)的權(quán)限。如果一個可執(zhí)行程序的屬性為s屬性,則在執(zhí)行該可執(zhí)行文件的用戶擁有該文件的Owner的權(quán)限。通過安卓調(diào)試橋ADB的adb Shell命令修改被拷貝過來的程序的屬性為s屬性后,用其他用戶身份運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。所述其他用戶身份是指普通的java層的java程序,即用普通的java層的java程序運行所述被拷貝過來的程序,依然可以取得Shell的權(quán)限。
[0192]所以,本申請將所述虛擬屏幕拷貝程序放到一個可以讓安卓調(diào)試橋ADB的所述Shell用戶可以運行所述虛擬屏幕拷貝程序的位置,并賦予安卓調(diào)試橋ADB的所述Shell用戶執(zhí)行所述虛擬屏幕拷貝程序的權(quán)限。本申請安卓調(diào)試橋ADB的所述Shell用戶就可以通過運行所述安卓JAVA程序目錄下的可執(zhí)行文件,從而實現(xiàn)在SD卡上直接運行所述虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。
[0193]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0194]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0195]由于H.264目前是壓縮率最高的壓縮算法,所述處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像為將獲得的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像壓縮成符合H.264標準的視頻碼流。這樣有利于數(shù)據(jù)的傳輸,會近一步減小帶寬。
[0196]具體地,由于stage fright是安卓用的多媒體框架,對編譯碼的硬件進行封裝,這樣不同的硬件用同樣的API。本申請使用安卓的多媒體框架處理流程Stagefright對所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像進行處理。
[0197]由于硬件編碼器成本更加低廉,編碼耗時短,本申請直接使用硬件編碼器將所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
[0198]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0199]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0200]由于安卓調(diào)試橋ADB可以將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和其他與其通過USB相連的所述外部顯示設(shè)備(比如車機)的TCP端口關(guān)聯(lián)起來。比如,所述命令“adb forwardtcp:1OOtcp:200”就是將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口(port) 200和運行安卓調(diào)試橋命令的所述外部顯示設(shè)備(比如車機)的TCP端口(port) 100關(guān)聯(lián)起來,從而安卓數(shù)據(jù)處理系統(tǒng)只需打開套接字(Socket)TCP 200端口,所述外部顯示設(shè)備(比如車機)只需打開套接字(Socket)TCP 100端口,雙方就能通訊了。
[0201]因此,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。具體地,所述連接通道為USB線。
[0202]本實施例無需通過wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍埃热顼w機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0203]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0204]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0205]具體地,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
[0206]本實施例無需通過wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍?,比如飛機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0207]本實施例以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像。本申請?zhí)幚聿⒈4嫠鎏摂M屏幕上顯示的圖像,并將保存的所述虛擬屏幕上顯示的圖像通過連接通道發(fā)送給所述外部顯示設(shè)備。從而實現(xiàn)通過安卓Shell用戶身份而不是root用戶身份,拷貝安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0208]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng)。所述圖像鏡像顯示裝置包括:圖像獲取模塊81、圖像處理模塊82、圖像傳輸模塊83。
[0209]具體地,還包括通過指令修改所述虛擬屏幕拷貝程序的SELinux context屬性,令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
[0210]SELinux是美國NSA推行基于角色權(quán)限管理的Linux,全稱為Role-Based AccessControl (RBAC)。在Linux中需要符合傳統(tǒng)UNIX權(quán)限的規(guī)定為,也不得違反SELinux的安全規(guī)則才會通過權(quán)限的驗證。本申請在具體實現(xiàn)中通過chcon指令修改所述虛擬屏幕拷貝程序的SELinux context屬性。本申請需要通過chcon指令改變所述虛擬屏幕拷貝程序的SELinux context屬性為u:object_r: system_file: sO,從而令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
[0211]本申請另一實施例提供一種圖像鏡像顯示裝置,應用于外部顯示設(shè)備。參看圖6,所述外部顯示設(shè)備包括安裝車機等具有外部顯示器的電子設(shè)備6,其在硬件上通常包括外部顯示器61、第二主控芯片62、第二存儲裝置63以及第二輸入裝置64。
[0212]參看圖12,所述裝置12包括:
[0213]圖像接收模塊121,用于與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同。
[0214]由于安卓調(diào)試橋ADB可以將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和其他與其通過USB相連的所述外部顯示設(shè)備(比如車機)的TCP端口關(guān)聯(lián)起來。比如,所述命令“adb forwardtcp:1OOtcp:200”就是將安卓數(shù)據(jù)處理系統(tǒng)的TCP端口(port) 200和運行安卓調(diào)試橋命令的所述外部顯示設(shè)備(比如車機)的TCP端口(port) 100關(guān)聯(lián)起來,從而安卓數(shù)據(jù)處理系統(tǒng)只需打開套接字(Socket)TCP 200端口,所述外部顯示設(shè)備(比如車機)只需打開套接字(Socket)TCP 100端口,雙方就能通訊了。
[0215]因此,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。具體地,所述連接通道為USB線。
[0216]此外,本申請所述連接通道還可以是通過USB網(wǎng)絡共享方式獲得。
[0217]本實施例無需通過wifi等無線網(wǎng)絡或者其他有線網(wǎng)絡即可實現(xiàn)安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸。本實施例能夠應用在某些不能使用無線網(wǎng)絡進行數(shù)據(jù)傳輸?shù)膽脠鼍?,比如飛機在飛行中或者車輛行駛到信號不佳區(qū)域等,擴展了所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間顯示圖像鏡像顯示所應用的應用場景。并且,本實施例所述安卓數(shù)據(jù)處理系統(tǒng)和外部顯示設(shè)備之間的圖像數(shù)據(jù)傳輸無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0218]圖像顯示模塊122,用于對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
[0219]本實施例所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像。本實施例對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像進行處理并顯示。從而實現(xiàn)將該虛擬屏幕上顯示的圖像通過連接通道傳輸給所述外部顯示設(shè)備進行鏡像顯示。本申請無需占用網(wǎng)絡帶寬,使用方便,操作簡單,避免了圖像顯示過程中的延時。
[0220]本申請的實施例所提供的裝置可通過計算機程序?qū)崿F(xiàn)。本領(lǐng)域技術(shù)人員應該能夠理解,上述的單元以及模塊劃分方式僅是眾多劃分方式中的一種,如果劃分為其他單元或模塊或不劃分塊,只要信息對象的具有上述功能,都應該在本申請的保護范圍之內(nèi)。
[0221]本領(lǐng)域的技術(shù)人員應明白,本申請的實施例可提供為方法、裝置(設(shè)備)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0222]本申請是參照根據(jù)本申請實施例的方法、裝置(設(shè)備)和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0223]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0224]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0225]盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種圖像鏡像顯示方法,應用于安卓數(shù)據(jù)處理系統(tǒng),其特征在于,包括: 以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前屏幕圖像相同; 處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像; 所述安卓數(shù)據(jù)處理系統(tǒng)與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬屏幕拷貝程序的預存包括: 通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間; 編寫并保存安卓JAVA程序到所述安卓數(shù)據(jù)處理系統(tǒng),以獲得所述安卓JAVA程序控制的目錄空間; 運行所述安卓JAVA程序,將存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間的所述虛擬屏幕拷貝程序拷貝到所述安卓JAVA程序控制的目錄空間; 通知所述安卓Shell用戶所述目錄空間的名稱,并修改所述虛擬屏幕拷貝程序的文件屬性為其他用戶身份可運行的可執(zhí)行文件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述安卓JAVA程序以安卓安裝包apk的形式保存到所述安卓數(shù)據(jù)處理系統(tǒng)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過在所述安卓數(shù)據(jù)處理系統(tǒng)上輸入的adb Shell命令來執(zhí)行所述目錄空間保存的虛擬屏幕拷貝程序。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬屏幕拷貝程序的預存包括: 通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下; 通過安卓調(diào)試橋ADB的adb Shell命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬屏幕拷貝程序的預存包括: 在所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中對所述Shell用戶開放寫權(quán)限的目錄下新建目錄; 通過安卓調(diào)試橋ADB的拷貝命令將所述新建目錄的屬性設(shè)置為t屬性; 通過安卓調(diào)試橋ADB的拷貝命令將所述虛擬屏幕拷貝程序存儲到所述安卓數(shù)據(jù)處理系統(tǒng)存儲空間中所述t屬性的新建目錄下; 通過安卓調(diào)試橋ADB的拷貝命令修改所述被拷貝過來的程序的屬性為S屬性的可執(zhí)行文件。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序是通過安卓安裝包apk的程序調(diào)用所述虛擬屏幕拷貝程序。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述處理并保存所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像為將獲得的所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,使用安卓的多媒體框架處理流程Stagefright對所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像進行處理。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,使用硬件編碼器將所述內(nèi)部顯示器顯示的當前屏幕虛擬圖像壓縮成符合H.264標準的視頻碼流。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述連接通道為USB線。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括通過指令修改所述虛擬屏幕拷貝程序的SELinux context屬性,令所述虛擬屏幕拷貝程序可以被安卓Shell用戶身份運行。
15.一種圖像鏡像顯示方法,應用于外部顯示設(shè)備,其特征在于,包括: 所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同; 對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述連接通道是通過所述安卓數(shù)據(jù)處理系統(tǒng)的TCP端口和所述外部顯示設(shè)備的TCP端口關(guān)聯(lián)起來獲得。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述連接通道為USB線。
18.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述連接通道是通過USB網(wǎng)絡共享方式獲得。
19.一種圖像鏡像顯示裝置,應用于安卓數(shù)據(jù)處理系統(tǒng),其特征在于,包括: 圖像獲取模塊,用于以安卓Shell用戶身份運行預存的虛擬屏幕拷貝程序,獲得所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同; 圖像處理模塊,用于處理并保存所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像; 圖像傳輸模塊,用于與外部顯示設(shè)備通過連接通道連接,將保存的所述安卓數(shù)據(jù)處理系統(tǒng)中的虛擬屏幕上顯示的圖像通過所述連接通道發(fā)送給所述外部顯示設(shè)備。
20.一種圖像鏡像顯示裝置,應用于外部顯示設(shè)備,其特征在于,包括: 圖像接收模塊,用于所述外部顯示設(shè)備與安卓數(shù)據(jù)處理系統(tǒng)通過連接通道連接,接收所述安卓數(shù)據(jù)處理系統(tǒng)通過所述連接通道發(fā)送的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,所述虛擬屏幕上顯示的圖像同所述安卓數(shù)據(jù)處理系統(tǒng)的內(nèi)部顯示器顯示的當前圖像相同; 圖像顯示模塊,用于對接收的所述安卓數(shù)據(jù)處理系統(tǒng)的虛擬屏幕上顯示的圖像,進行處理并顯示。
【文檔編號】G06F9/44GK104407829SQ201410638090
【公開日】2015年3月11日 申請日期:2014年11月6日 優(yōu)先權(quán)日:2014年11月6日
【發(fā)明者】秦巍, 王泰運, 譚鵬飛 申請人:北京凌陽益輝科技有限公司, 凌陽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
苏尼特左旗| 屏南县| 弋阳县| 蓝山县| 常德市| 平阳县| 新兴县| 宝兴县| 福建省| 洛浦县| 冀州市| 随州市| 庆阳市| 康马县| 黔江区| 涪陵区| 新巴尔虎左旗| 图片| 苏州市| 右玉县| 八宿县| 浦东新区| 新余市| 新兴县| 民勤县| 汶川县| 巴马| 昭通市| 资阳市| 景泰县| 阳信县| 二连浩特市| 诏安县| 右玉县| 吉隆县| 兴业县| 故城县| 田阳县| 涞水县| 阳谷县| 安新县|