本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種屏幕共享的實(shí)現(xiàn)方法、裝置和媒體終端。
背景技術(shù):
隨著網(wǎng)絡(luò)接入、無(wú)線互聯(lián)、數(shù)字媒體技術(shù)的發(fā)展,如何高效實(shí)現(xiàn)家庭互聯(lián)設(shè)備中媒體內(nèi)容的共享成為一個(gè)發(fā)展方向,其中互連設(shè)備的屏幕共享是一個(gè)較為主要的應(yīng)用場(chǎng)景。
當(dāng)前進(jìn)行屏幕共享的常見(jiàn)平臺(tái)有安卓(android)平臺(tái)和linux平臺(tái)。由于安卓在linux操作系統(tǒng)之上對(duì)屏幕共享業(yè)務(wù)有其固定應(yīng)用層構(gòu)建框架,基于安卓平臺(tái)的屏幕共享實(shí)現(xiàn)方案和基于linux平臺(tái)的屏幕共享實(shí)現(xiàn)方案并不相同。而且,即便在基于linux平臺(tái)的屏幕共享實(shí)現(xiàn)方案中,各廠商的實(shí)現(xiàn)沒(méi)有統(tǒng)一框架,因而,在屏幕共享的具體實(shí)現(xiàn)上,不同廠商也存在較大差異。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種屏幕共享的實(shí)現(xiàn)方法、裝置和媒體終端,能夠通用于安卓平臺(tái)和linux平臺(tái)。
第一方面,提供一種屏幕共享的實(shí)現(xiàn)方法,所述方法包括:
第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接;
所述第一設(shè)備利用直接渲染管理(Direct Rendering Manager,DRM)框架實(shí)現(xiàn)所述第一設(shè)備和所述第二設(shè)備間的屏幕共享,所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中。
結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,在進(jìn)行屏幕共享之前,所述方法還包括:所述第一設(shè)備建立與所述第二設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述第二設(shè)備的邏輯數(shù)據(jù)輸入端;
所述第一設(shè)備利用直接渲染管理DRM框架實(shí)現(xiàn)所述第一設(shè)備和所述第二 設(shè)備間的屏幕共享包括:
在進(jìn)行屏幕共享時(shí),所述第一設(shè)備利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而經(jīng)由所述邏輯顯示裝置向所述第二設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)。
結(jié)合第一方面的第一種可能實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一設(shè)備利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而通過(guò)所述邏輯顯示裝置向所述第二設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)包括:
所述第一設(shè)備利用DRM框架對(duì)用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
所述第一設(shè)備對(duì)送到所述邏輯顯示裝置的媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配,并將適配后的媒體數(shù)據(jù)向所述第二設(shè)備傳輸。
結(jié)合第一方面至第一方面的第二種可能實(shí)現(xiàn)方式,在第一方面的第三種可能實(shí)現(xiàn)方式中,第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接可包括:
第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備通過(guò)WiFi顯示協(xié)議標(biāo)準(zhǔn)或數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(Digital Living Network Alliance,DLNA)協(xié)議標(biāo)準(zhǔn)建立通信連接。
第二方面,提供一種屏幕共享的實(shí)現(xiàn)方法,所述方法包括:
第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備建立通信連接;
所述第二設(shè)備利用直接渲染管理(DRM)框架實(shí)現(xiàn)所述第二設(shè)備和所述第一設(shè)備間的屏幕共享,所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中。
結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述第二設(shè)備利用直接渲染管理DRM框架實(shí)現(xiàn)所述第二設(shè)備和所述第一設(shè)備間的屏幕共享包括:
第二設(shè)備對(duì)第一設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
所述第二設(shè)備利用DRM框架對(duì)適配后的所述媒體數(shù)據(jù)進(jìn)行處理,并對(duì)處理后得到的媒體數(shù)據(jù)進(jìn)行顯示。
結(jié)合第一方面或第一方面的第一種可能實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備建立通信連接包括:
第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備通過(guò)WiFi顯示協(xié)議標(biāo)準(zhǔn)或數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(DLNA)協(xié)議標(biāo)準(zhǔn)建立通信連接。
第三方面,提供一種媒體終端,包括CPU、存儲(chǔ)器和顯示處理裝置,其中,所述存儲(chǔ)器用于存儲(chǔ)所述媒體終端上的媒體數(shù)據(jù),且所述存儲(chǔ)器和所述顯示處理裝置通過(guò)總線與所述CPU相連接;
所述CPU用于,控制所述媒體終端與和其進(jìn)行屏幕共享的設(shè)備建立通信連接;
所述顯示處理裝置,用于在所述CPU的控制下利用直接渲染管理(DRM)框架實(shí)現(xiàn)所述媒體終端和所述設(shè)備間的屏幕共享,所述DRM框架存在于所述媒體終端和所述設(shè)備的linux內(nèi)核中。
結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,在進(jìn)行屏幕共享之前,所述顯示處理裝置用于:建立與所述設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述設(shè)備的邏輯數(shù)據(jù)輸入端;
在進(jìn)行屏幕共享時(shí),所述顯示處理裝置用于:利用DRM框架對(duì)存儲(chǔ)器上存儲(chǔ)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
所述媒體終端還包括適配器,用于對(duì)所述邏輯顯示裝置中的媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配處理;
所述媒體終端還包括通過(guò)總線與CPU連接的網(wǎng)絡(luò)接口,所述網(wǎng)絡(luò)接口用于向所述設(shè)備傳輸用于經(jīng)適配處理后的媒體數(shù)據(jù)。
結(jié)合第一方面的第一種可能實(shí)現(xiàn)方式,在第二種可能實(shí)現(xiàn)方式中,所述CPU具體用于:控制所述媒體終端通過(guò)WiFi-display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)與和其進(jìn)行屏幕共享的設(shè)備建立通信連接。
第四方面,提供一種媒體終端,包括CPU、存儲(chǔ)器和顯示處理裝置,其中,所述存儲(chǔ)器和所述顯示處理裝置通過(guò)總線與所述CPU相連接;
所述CPU用于,控制所述媒體終端與和其進(jìn)行屏幕共享的設(shè)備建立通信連接;
所述顯示處理裝置,用于在所述CPU的控制下利用直接渲染管理(DRM)框架實(shí)現(xiàn)所述媒體終端和所述設(shè)備間的屏幕共享,所述DRM框架存在于所述媒體終端和所述設(shè)備的linux內(nèi)核中。
結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述媒體終端還包括網(wǎng)絡(luò)接 口,用于接收第一設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù);
適配器,用于對(duì)網(wǎng)絡(luò)接口接收的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
所述存儲(chǔ)器,用于存儲(chǔ)經(jīng)所述適配器適配的媒體數(shù)據(jù);
所述顯示處理裝置具體用于:
利用DRM框架對(duì)存儲(chǔ)器上存儲(chǔ)的所述經(jīng)適配的媒體數(shù)據(jù)處理;
所述媒體終端還包括顯示屏,用于在CPU的控制下將經(jīng)過(guò)顯示處理裝置處理后的媒體數(shù)據(jù)進(jìn)行顯示。
結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述CPU具體用于:控制所述媒體終端通過(guò)WiFi-display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)與和其進(jìn)行屏幕共享的設(shè)備建立通信連接。
第五方面,提供一種屏幕共享的裝置,所述裝置包括:
通信連接建立模塊,用于將所述裝置和與所述裝置進(jìn)行屏幕共享的設(shè)備建立通信連接;
屏幕共享實(shí)現(xiàn)模塊,用于利用直接渲染管理DRM框架實(shí)現(xiàn)所述裝置和所述設(shè)備間的屏幕共享,所述DRM框架存在于所述裝置和所述設(shè)備的linux內(nèi)核中。
結(jié)合第五方面,在第一種可能的實(shí)現(xiàn)方式中,在進(jìn)行屏幕共享之前,所述通信連接建立模塊還用于:建立與所述設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述設(shè)備的邏輯數(shù)據(jù)輸入端;
所述屏幕共享實(shí)現(xiàn)模塊用于:
在進(jìn)行屏幕共享時(shí),利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而經(jīng)由所述邏輯顯示裝置向所述設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)。
結(jié)合第五方面的第一種實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述屏幕共享實(shí)現(xiàn)模塊具體用于:
利用DRM框架對(duì)用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
對(duì)送到所述邏輯顯示裝置的媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配,并將適配后的媒體數(shù)據(jù)向所述設(shè)備傳輸。
結(jié)合第五方面至第五方面的第二種實(shí)現(xiàn)方式中的任一種實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述通信連接建立模塊具體用于:
將所述裝置和與所述裝置進(jìn)行屏幕共享的設(shè)備通過(guò)WiFi顯示協(xié)議標(biāo)準(zhǔn)或數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA協(xié)議標(biāo)準(zhǔn)建立通信連接。
結(jié)合第五方面,在第四種可能的實(shí)現(xiàn)方式中,所述屏幕共享實(shí)現(xiàn)模塊具體用于:
對(duì)所述設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
利用DRM框架對(duì)適配后的所述媒體數(shù)據(jù)進(jìn)行處理,并對(duì)處理后得到的媒體數(shù)據(jù)進(jìn)行顯示。
本發(fā)明實(shí)施例提供的屏幕共享的實(shí)現(xiàn)方法、裝置和媒體終端,第一設(shè)備在和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接后,利用DRM框架來(lái)實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,由于所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的實(shí)現(xiàn)方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn)方式,有效減少了數(shù)據(jù)流處理環(huán)節(jié)過(guò)程中內(nèi)核態(tài)和用戶態(tài)之間多次切換的可能性,因而,相對(duì)于現(xiàn)有技術(shù)而言,處理效率得到了提高。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例提供的一種屏幕共享的方法的流程圖;
圖2是本發(fā)明實(shí)施例提供的另一種屏幕共享的方法的流程圖;
圖3A是本發(fā)明實(shí)施例提供的另一種屏幕共享的方法的流程圖;
圖3B是利用DRM方案實(shí)現(xiàn)屏幕共享的邏輯示意圖;
圖3C是利用DRM方案實(shí)現(xiàn)屏幕共享的流程圖;
圖4A是本發(fā)明實(shí)施例提供的一種媒體終端的結(jié)構(gòu)示意圖;
圖4B是本發(fā)明實(shí)施例提供的媒體終端的結(jié)構(gòu)示意圖;
圖5A是本發(fā)明實(shí)施例提供的另一種媒體終端的結(jié)構(gòu)示意圖;
圖5B是本發(fā)明實(shí)施例提供的另一種媒體終端的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的屏幕共享的裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
圖1是本發(fā)明實(shí)施例提供的一種屏幕共享的實(shí)現(xiàn)方法的流程圖。參照?qǐng)D1,本發(fā)明實(shí)施例提供一種屏幕共享的實(shí)現(xiàn)方法,所述方法包括:
11、第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接;
12、所述第一設(shè)備利用直接渲染管理(Direct Rendering Manager,DRM)框架實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中。
其中,所述第一設(shè)備可以為不帶顯示屏的媒體終端,當(dāng)然也可以為帶顯示屏的媒體終端。當(dāng)具有顯示屏?xí)r,所述第一設(shè)備可以為具有較小屏幕的媒體終端。所述第一設(shè)備上可存儲(chǔ)有供第二設(shè)備顯示的媒體數(shù)據(jù),所述媒體數(shù)據(jù)可包括各種不同格式的音頻、視頻、圖片、文本等。其中,所述媒體數(shù)據(jù)可由所述第一設(shè)備通過(guò)各種不同方式來(lái)獲取,包括但不限于,通過(guò)網(wǎng)絡(luò)從服務(wù)器獲取媒體數(shù)據(jù)、通過(guò)本地插接的U盤(pán)獲取媒體數(shù)據(jù)等。所述第二終端可以為具有較大屏幕的媒體終端,且所述第二終端可支持媒體處理功能,例如可以進(jìn)行圖片的展示、視頻或音頻的播放等。當(dāng)然,根據(jù)具體應(yīng)用場(chǎng)景,所述第一設(shè)備也可以為具有較大屏幕的媒體終端,同時(shí)所述第二設(shè)備可以為具有較小屏幕的媒體終端。本發(fā)明實(shí)施例對(duì)第一設(shè)備和第二設(shè)備的屏幕并不加以限制,可根據(jù)需要來(lái)選取。在本發(fā)明實(shí)施例中,所述媒體終端可以為具備媒體處理功能的任何終端設(shè)備,包括但不限于,機(jī)頂盒、手機(jī)、智能電視等等。
本發(fā)明實(shí)施例中的“屏幕共享”指的是,第一設(shè)備將內(nèi)部存儲(chǔ)的媒體數(shù)據(jù)傳輸給第二設(shè)備,進(jìn)而由所述第二設(shè)備用自己的顯示屏顯示所接收到的、來(lái)自所述第一設(shè)備的媒體數(shù)據(jù),最終實(shí)現(xiàn)用第二設(shè)備的顯示屏顯示來(lái)自第一設(shè)備的媒體數(shù)據(jù)。
需要說(shuō)明的是,DRM主要是為實(shí)現(xiàn)圖形的直接渲染架構(gòu)(Direct Rendering Infrastructure,DRI)硬件加速而服務(wù)的一套標(biāo)準(zhǔn)的顯卡驅(qū)動(dòng)框架,通過(guò)提供一系 列輸入輸出控制(Ioctrl)操作,應(yīng)用層軟件可直接對(duì)顯卡硬件操作;用戶實(shí)際使用DRM是經(jīng)過(guò)DRM庫(kù)(Libdrm)封裝的接口。
本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn)方法,第一設(shè)備在和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接后,利用DRM框架來(lái)實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,由于所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的實(shí)現(xiàn)方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn)方式,有效減少了數(shù)據(jù)流處理環(huán)節(jié)過(guò)程中內(nèi)核態(tài)和用戶態(tài)之間多次切換的可能性,因而,相對(duì)于現(xiàn)有技術(shù)而言,處理效率得到了提高。
當(dāng)前用于媒體設(shè)備間屏幕共享的協(xié)議標(biāo)準(zhǔn)包括:WiFi顯示(WiFi-display)協(xié)議標(biāo)準(zhǔn)以及數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(Digital Living Network Alliance,DLNA)協(xié)議標(biāo)準(zhǔn)。為了減少開(kāi)發(fā)成本,本發(fā)明實(shí)施例可直接利用現(xiàn)有的WiFi-display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)屏幕共享。當(dāng)然,本發(fā)明實(shí)施例還可使用其他基礎(chǔ)共享協(xié)議來(lái)進(jìn)行屏幕共享,例如,本領(lǐng)域技術(shù)人員或本領(lǐng)域內(nèi)的組織機(jī)構(gòu)新開(kāi)發(fā)出的用于屏幕共享的協(xié)議。在本發(fā)明的一個(gè)實(shí)施例中,可選地,步驟11中所述第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備建立通信連接可包括:第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備通過(guò)WiFi display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)建立通信連接。
其中,所述第一設(shè)備與和其進(jìn)行屏幕共享的第二設(shè)備通過(guò)WiFi display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)建立通信連接的過(guò)程可以為:
所述第一設(shè)備發(fā)布屏幕共享服務(wù);
所述第二設(shè)備獲取到所述屏幕共享服務(wù)之后,發(fā)出訂閱請(qǐng)求;
所述第一設(shè)備在接收到所述訂閱請(qǐng)求之后,同所述第二設(shè)備進(jìn)行協(xié)商,進(jìn)而建立通信連接。其中,上述協(xié)商的過(guò)程涵蓋第一設(shè)備和第二設(shè)備進(jìn)行能力集協(xié)商。
在上述建立通信連接的過(guò)程中,所述第一設(shè)備和所述第二設(shè)備遵從WiFi display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)來(lái)進(jìn)行。
可選地,在本發(fā)明的一個(gè)實(shí)施例中,在進(jìn)行屏幕共享之前,所述方法還可 包括:所述第一設(shè)備建立與所述第二設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述第二設(shè)備的邏輯數(shù)據(jù)輸入端。相應(yīng)地,步驟12中所述第一設(shè)備利用DRM框架實(shí)現(xiàn)第一設(shè)備和第二設(shè)備間的屏幕共享可包括:
在進(jìn)行屏幕共享時(shí),所述第一設(shè)備利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而經(jīng)由所述邏輯顯示裝置向所述第二設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)。
其中,所述用于屏幕共享的媒體數(shù)據(jù)可包括多個(gè)圖形層數(shù)據(jù)和一個(gè)視頻層數(shù)據(jù)。
在本發(fā)明實(shí)施例中,可選地,所述第一設(shè)備利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而通過(guò)所述邏輯顯示裝置向所述第二設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)可包括:
所述第一設(shè)備利用DRM框架對(duì)用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
所述第一設(shè)備將所述邏輯顯示裝置接收的媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配,并將適配后的媒體數(shù)據(jù)通過(guò)WiFi display或DLNA協(xié)議標(biāo)準(zhǔn)向所述第二設(shè)備傳輸。
其中,對(duì)媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配可基于wifi-display或DLNA協(xié)商后能力集要求來(lái)進(jìn)行。
其中,所述第一設(shè)備利用DRM框架對(duì)所述媒體數(shù)據(jù)進(jìn)行處理可包括:
所述第一設(shè)備可根據(jù)實(shí)際情況利用DRM框架對(duì)所述媒體數(shù)據(jù)進(jìn)行以下至少一種操作:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換。
另外需要說(shuō)明的是,本發(fā)明實(shí)施例中的所述第二設(shè)備可以為一個(gè)設(shè)備,也可以包括多個(gè)設(shè)備。當(dāng)所述第二設(shè)備包括多個(gè)設(shè)備時(shí),所述第一設(shè)備在收到所述多個(gè)設(shè)備的訂閱請(qǐng)求時(shí),分別與這些設(shè)備建立會(huì)話(session)或DLNA連接,并向它們發(fā)送媒體數(shù)據(jù),最終在這些設(shè)備的顯示屏上顯示媒體數(shù)據(jù),實(shí)現(xiàn)第一設(shè)備和這多個(gè)設(shè)備之間的屏幕共享。
即,當(dāng)所述第二設(shè)備包括多個(gè)設(shè)備時(shí),步驟11中所述第一設(shè)備和與所述第一設(shè)備進(jìn)行屏幕共享的第二設(shè)備建立通信連接可包括:所述第一設(shè)備和與所述第一設(shè)備進(jìn)行屏幕共享的第二設(shè)備中的每個(gè)設(shè)備建立通信連接。
相應(yīng)地,步驟12中所述第一設(shè)備利用直接渲染管理DRM框架實(shí)現(xiàn)所述第一設(shè)備和所述第二設(shè)備間的屏幕共享包括:所述第一設(shè)備利用直接渲染管理 DRM框架實(shí)現(xiàn)所述第一設(shè)備和所述第二設(shè)備中的每個(gè)設(shè)備間的屏幕共享。
由于第二設(shè)備包括多個(gè)設(shè)備,因而第一設(shè)備需要與所述第二設(shè)備中的每個(gè)設(shè)備進(jìn)行通信交互,以實(shí)現(xiàn)第一設(shè)備與這些設(shè)備間的屏幕共享。
同時(shí)還需要說(shuō)明的是,在進(jìn)行屏幕共享時(shí),所述第一設(shè)備既可以是媒體數(shù)據(jù)的發(fā)送者,也可以是媒體數(shù)據(jù)的接收者。在本發(fā)明的另一個(gè)實(shí)施例中,在所述第一設(shè)備作為媒體數(shù)據(jù)的接收者實(shí)現(xiàn)屏幕共享時(shí),步驟12中所述第一設(shè)備利用直接渲染管理DRM框架實(shí)現(xiàn)所述第一設(shè)備和所述第二設(shè)備間的屏幕共享可包括:
第一設(shè)備對(duì)第二設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
所述第一設(shè)備利用DRM框架對(duì)適配后的所述媒體數(shù)據(jù)進(jìn)行處理,并對(duì)處理后得到的媒體數(shù)據(jù)進(jìn)行顯示。
可見(jiàn),在本發(fā)明實(shí)施例中,所述第一設(shè)備既可以作為媒體數(shù)據(jù)的發(fā)送者實(shí)現(xiàn)屏幕貢獻(xiàn),也可以作為媒體數(shù)據(jù)的接收者實(shí)現(xiàn)屏幕共享。舉例而言,第一設(shè)備作為媒體數(shù)據(jù)的發(fā)送者在與一個(gè)設(shè)備(即,媒體數(shù)據(jù)的接收者)交互實(shí)現(xiàn)屏幕共享之后,也可以在下一次屏幕共享時(shí),作為媒體數(shù)據(jù)的接收者與另一個(gè)設(shè)備(即,媒體數(shù)據(jù)的發(fā)送者)交互實(shí)現(xiàn)屏幕共享。
相應(yīng)地,本發(fā)明實(shí)施例還提供另一種屏幕共享的實(shí)現(xiàn)方法。圖2是本發(fā)明實(shí)施例提供的另一種屏幕共享的方法的流程圖。參照?qǐng)D2,所述方法可包括:
21、第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備建立通信連接;
22、所述第二設(shè)備利用直接渲染管理DRM框架實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,所述DRM框架存在于所述第一設(shè)備和所述第二設(shè)備的linux內(nèi)核中。
本發(fā)明實(shí)施例提供的屏幕共享方法,在接收到第一設(shè)備發(fā)過(guò)來(lái)的媒體數(shù)據(jù)時(shí),利用DRM框架來(lái)實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,由于所述DRM框架存在于所述第二設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn)方式,可有效 減少數(shù)據(jù)流處理環(huán)節(jié)過(guò)程中內(nèi)核態(tài)和用戶態(tài)之間的多次切換的可能性,因而,相對(duì)于現(xiàn)有技術(shù)而言,處理效率得到了提高。
其中,可選地,在本發(fā)明的一個(gè)實(shí)施例中,步驟21中所述第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備建立通信連接可包括:第二設(shè)備與和其進(jìn)行屏幕共享的第一設(shè)備通過(guò)WiFi顯示協(xié)議標(biāo)準(zhǔn)或數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA協(xié)議標(biāo)準(zhǔn)建立通信連接。
可選地,在本發(fā)明的另一個(gè)實(shí)施例中,步驟22中所述第二設(shè)備利用DRM框架實(shí)現(xiàn)第一設(shè)備和第二設(shè)備間的屏幕共享可包括:第二設(shè)備對(duì)第一設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;所述第二設(shè)備利用DRM框架對(duì)所述適配后的媒體數(shù)據(jù)進(jìn)行處理,并對(duì)處理后得到的媒體數(shù)據(jù)(即,有效負(fù)載)進(jìn)行顯示。
其中,對(duì)媒體數(shù)據(jù)進(jìn)行接收側(cè)適配可基于wifi-display或DLNA協(xié)商后能力集要求來(lái)進(jìn)行。
其中,所述第二設(shè)備可根據(jù)實(shí)際情況利用DRM框架對(duì)所述適配后的媒體數(shù)據(jù)進(jìn)行處理可包括以下至少一種:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換等。
為了更清楚地理解本發(fā)明,下面通過(guò)具體實(shí)施例對(duì)本發(fā)明屏幕共享的方法進(jìn)行進(jìn)一步闡釋。需要了解的是,以下具體實(shí)施例只是本發(fā)明的一種具體實(shí)現(xiàn)方式,在本發(fā)明的范圍內(nèi),可以對(duì)各種細(xì)節(jié)進(jìn)行修改。在以下具體實(shí)施例中,以第一設(shè)備和第二設(shè)備均為媒體終端(下文分別稱為媒體終端A和媒體終端B),且以所述第二設(shè)備為一個(gè)媒體終端為例來(lái)進(jìn)行說(shuō)明。其中,所述第一設(shè)備和所述第二設(shè)備可以使用linux平臺(tái),也可以使用安卓平臺(tái)。
圖3A是本發(fā)明實(shí)施例提供的一種屏幕共享的方法的流程圖。參照?qǐng)D3A,本發(fā)明實(shí)施例提供的屏幕共享的方法包括:
31、媒體終端A發(fā)布屏幕共享服務(wù),以便于所述媒體終端A通信范圍內(nèi)的其他媒體終端進(jìn)行訂閱。
32、在所述媒體終端A通信范圍內(nèi)的媒體終端B接收到所述獲取到所述屏幕共享服務(wù)之后,向所述媒體終端A發(fā)送發(fā)出訂閱請(qǐng)求。
33、所述媒體終端A收到媒體終端B的所述訂閱請(qǐng)求后,同所述第二設(shè)備 進(jìn)行協(xié)商,進(jìn)而建立通信連接。
其中,步驟31~33為建立通信連接的過(guò)程,此過(guò)程可遵從WiFi display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)來(lái)完成。建立通信連接的過(guò)程中,所述媒體終端A和所述媒體終端B會(huì)進(jìn)行能力集協(xié)商,從而確定出雙方都可以接受的能力集(即,雙方的能力集交集)。
34、在進(jìn)行屏幕共享時(shí),所述媒體終端A獲取本地中用于屏幕共享的媒體數(shù)據(jù),所述媒體數(shù)據(jù)包括圖形數(shù)據(jù)和/或視頻數(shù)據(jù),并利用自身linux內(nèi)核中的DRM框架對(duì)所述媒體數(shù)據(jù)進(jìn)行以下至少一種處理:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換。
35、所述媒體終端A將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置,對(duì)送到所述邏輯顯示裝置的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配,并將適配后的媒體數(shù)據(jù)通過(guò)WiFi display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)向所述媒體終端B傳輸。
36、所述媒體終端B對(duì)所述媒體終端A發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配,并利用自身linux內(nèi)核中的DRM框架對(duì)接收的所述媒體數(shù)據(jù)進(jìn)行處理,并將處理后得到的媒體數(shù)據(jù)送至顯示屏。
其中,利用DRM框架對(duì)接收的所述媒體數(shù)據(jù)進(jìn)行處理可包括以下至少一種:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換等。
37、所述媒體終端B在顯示屏上顯示經(jīng)過(guò)處理后得到的媒體數(shù)據(jù)。
本發(fā)明實(shí)施例提供的屏幕共享方法可以統(tǒng)一安卓平臺(tái)和linux平臺(tái)屏幕共享的實(shí)現(xiàn)方案,能夠成為L(zhǎng)inux圖形輸出顯示(顯卡)主流解決方案,而且,可以廣泛用于嵌入式領(lǐng)域。
下面結(jié)合圖3B和圖3C對(duì)步驟34-36進(jìn)行進(jìn)一步闡釋。圖3B是利用DRM方案實(shí)現(xiàn)屏幕共享的邏輯示意圖。圖3C是利用DRM方案實(shí)現(xiàn)屏幕共享的流程圖。參照?qǐng)D3C并結(jié)合圖3B,具體實(shí)現(xiàn)過(guò)程可如下:
341、媒體終端A通過(guò)實(shí)現(xiàn)虛擬節(jié)點(diǎn)完成屏幕數(shù)據(jù)緩存的使用;
342、圖形數(shù)據(jù)通過(guò)幀緩存(FrameBuffer)的封裝經(jīng)平面1(Plane_1)輸入虛擬節(jié)點(diǎn);
343、視頻數(shù)據(jù)經(jīng)平面2(Plane_2)輸入虛擬節(jié)點(diǎn);
344、虛擬節(jié)點(diǎn)完成指定平面(Plane)的疊加渲染處理,輸出至屏幕數(shù)據(jù)緩存中;
345、邏輯顯示裝置(DisplayDevice)作為媒體終端B的邏輯數(shù)據(jù)輸入端,實(shí)現(xiàn)媒體終端A和媒體終端B之間的數(shù)據(jù)映射以及其他相關(guān)的控制接口;
346、將部分控制操作通過(guò)虛擬編碼(Encoder)/連接(Connect)節(jié)點(diǎn)轉(zhuǎn)換成對(duì)邏輯顯示裝置的操作;
351、屏幕數(shù)據(jù)經(jīng)發(fā)送側(cè)封裝完成對(duì)Wifi-display/DLNA傳輸層的輸出;
361、接收側(cè)對(duì)接收的屏幕數(shù)據(jù)進(jìn)行協(xié)商的封裝剝離,以得到有效的載荷,并將有效的載荷存至緩存(例如,圖形執(zhí)行管理器對(duì)象(GEM object))中;
362、使用DRM GEM對(duì)象(DRM GEM object)描述用戶態(tài)接收側(cè)同內(nèi)核態(tài)平面1(Plane_1)間內(nèi)存的共享同映射;
363、使用平面1(Plane_1)完成GEM對(duì)象(GEM object)的平面(Plane)的設(shè)備封裝;
364、平面1(Plane_1)作為媒體終端B物理設(shè)備陰極射線管控制器(Cathode Ray Tube Controller,CRTC)的一圖形層輸入,參與后繼的混合輸出。
結(jié)合圖3B可知,本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn)方法,實(shí)現(xiàn)較簡(jiǎn)單,邏輯清晰,由于實(shí)現(xiàn)屏幕共享的過(guò)程中可有效減少數(shù)據(jù)流處理環(huán)節(jié)過(guò)程中內(nèi)核態(tài)和用戶態(tài)之間的多次切換的可能性,因而處理效率得到了提高,還可減少應(yīng)用的部分緩存(Buffer)操作環(huán)節(jié)。
與圖1所示方法實(shí)施例相對(duì)應(yīng),本發(fā)明實(shí)施例還提供一種媒體終端,在本發(fā)明實(shí)施例中,所述媒體終端可以為具備媒體處理功能的任何終端設(shè)備,包括但不限于,機(jī)頂盒、手機(jī)、智能電視等等。參照?qǐng)D4A,所述媒體終端400包括CPU 401、存儲(chǔ)器402和顯示處理裝置403,其中,所述存儲(chǔ)器402用于存儲(chǔ)所述媒體終端400上的媒體數(shù)據(jù),且所述存儲(chǔ)器402和所述顯示處理裝置403通過(guò)總線440與所述CPU 401相連接;
所述CPU 401用于,控制所述媒體終端與和其進(jìn)行屏幕共享的設(shè)備建立通信連接;
所述顯示處理裝置403,用于在所述CPU 401的控制下利用直接渲染管理(DRM)框架實(shí)現(xiàn)所述媒體終端和第二設(shè)備間的屏幕共享,所述DRM框架存在于所述媒體終端和所述設(shè)備的linux內(nèi)核中。
其中,可選地,所述CPU具體用于:控制所述媒體終端通過(guò)WiFi-display 協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)與和其進(jìn)行屏幕共享的設(shè)備建立通信連接。
可選地,在本發(fā)明的一個(gè)實(shí)施例中,所述媒體數(shù)據(jù)可包括圖形數(shù)據(jù)和/或視頻數(shù)據(jù)。參照?qǐng)D4B,所述媒體終端還可包括視頻解碼器404、圖形編碼器405和/或GPU 406。其中:
所述圖形編碼器405和/或所述GPU 406,用于產(chǎn)生圖形數(shù)據(jù),并存儲(chǔ)在所述存儲(chǔ)器上;
所述視頻解碼器404,用于產(chǎn)生視頻數(shù)據(jù),并存儲(chǔ)在所述存儲(chǔ)器上;
在進(jìn)行屏幕共享之前,所述顯示處理裝置403用于:建立與所述設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述設(shè)備的邏輯數(shù)據(jù)輸入端;
在進(jìn)行屏幕共享時(shí),所述顯示處理裝置403用于:利用DRM框架對(duì)存儲(chǔ)器402上存儲(chǔ)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
適配器407,用于對(duì)送至所述邏輯顯示裝置的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配處理;
所述媒體終端400還包括通過(guò)總線與CPU連接的網(wǎng)絡(luò)接口408,所述網(wǎng)絡(luò)接口408用于向所述設(shè)備傳輸用于經(jīng)接收側(cè)適配處理后的媒體數(shù)據(jù)。
可選地,所述顯示處理裝置403可具體用于:利用DRM框架對(duì)所述媒體數(shù)據(jù)進(jìn)行以下至少一種操作:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換。
可選地,所述第二設(shè)備為一個(gè)設(shè)備或多個(gè)設(shè)備。
在本發(fā)明實(shí)施例中,所述顯示處理裝置403可以為顯卡。
需要說(shuō)明的是,本發(fā)明實(shí)施例中的CPU 401、顯示處理裝置403、視頻解碼器404、圖形編碼器405和/或GPU 406等中的一個(gè)或多個(gè)硬件可以根據(jù)需要集成于系統(tǒng)級(jí)芯片(System On Chip,SOC)中。
本發(fā)明實(shí)施例提供的媒體終端,在確定出需要進(jìn)行屏幕共享的第二設(shè)備時(shí),利用DRM框架來(lái)實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,由于所述DRM框架存在于所述第一設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的媒體終端在實(shí)現(xiàn)屏幕共享時(shí),有效減少了數(shù)據(jù)流處理環(huán)節(jié)中內(nèi)核態(tài)和用戶態(tài)之間多次切換的可能性,因而,相 對(duì)于現(xiàn)有技術(shù)而言,處理效率得到了提高。
相應(yīng)地,本發(fā)明實(shí)施例還提供一種媒體終端,在本發(fā)明實(shí)施例中,所述媒體終端可以為具備媒體處理功能的任何終端設(shè)備,包括但不限于,機(jī)頂盒、手機(jī)、智能電視等等。參照?qǐng)D5A,所述媒體終端500包括CPU 501、存儲(chǔ)器502和顯示處理裝置503,其中,所述存儲(chǔ)器502用于存儲(chǔ)所述媒體終端500上的媒體數(shù)據(jù),且所述存儲(chǔ)器502和所述顯示處理裝置503通過(guò)總線540與所述CPU501相連接;
所述CPU 501用于,控制所述媒體終端與和其進(jìn)行屏幕共享的設(shè)備建立通信連接;
所述顯示處理裝置503,用于利用直接渲染管理DRM框架實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,所述DRM框架存在于所述媒體終端和所述設(shè)備的linux內(nèi)核中。
其中,可選地,所述CPU具體用于:控制所述媒體終端通過(guò)WiFi-display協(xié)議標(biāo)準(zhǔn)或DLNA協(xié)議標(biāo)準(zhǔn)與和其進(jìn)行屏幕共享的設(shè)備建立通信連接。
可選地,在本發(fā)明的一個(gè)實(shí)施例中,所述媒體終端500還包括網(wǎng)絡(luò)接口508,用于接收第一設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù);
適配器507,用于對(duì)網(wǎng)絡(luò)接口508接收的媒體數(shù)據(jù)進(jìn)行視頻接收側(cè)適配;
所述存儲(chǔ)器502,用于存儲(chǔ)經(jīng)所述適配器504適配的媒體數(shù)據(jù);
所述顯示處理裝置503具體用于:
利用DRM框架對(duì)存儲(chǔ)器502上存儲(chǔ)的所述經(jīng)適配的媒體數(shù)據(jù)處理,并將處理后得到的媒體數(shù)據(jù)作為顯示屏的一個(gè)輸入層;
所述媒體終端還包括顯示屏509,用于在CPU的控制下將經(jīng)過(guò)顯示處理裝置處理后的媒體數(shù)據(jù)進(jìn)行顯示。
其中,所述顯示處理裝置503進(jìn)行的處理可包括:數(shù)據(jù)疊加、渲染、色彩空間處理、時(shí)序轉(zhuǎn)換等。
在本發(fā)明實(shí)施例中,所述顯示處理裝置503可以為顯卡。
需要說(shuō)明的是,本發(fā)明實(shí)施例中的CPU 501、顯示處理裝置503等硬件可以根據(jù)需要集成于系統(tǒng)級(jí)芯片(System On Chip,SOC)中。
本發(fā)明實(shí)施例提供的媒體終端,在確定出需要進(jìn)行屏幕共享的第二設(shè)備時(shí), 利用DRM框架來(lái)實(shí)現(xiàn)所述第一設(shè)備和第二設(shè)備間的屏幕共享,由于所述DRM框架存在于所述第一設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的媒體終端在實(shí)現(xiàn)屏幕共享時(shí),有效減少了數(shù)據(jù)流處理環(huán)節(jié)中內(nèi)核態(tài)和用戶態(tài)之間多次切換的可能性,因而,相對(duì)于現(xiàn)有技術(shù)而言,處理效率得到了提高。
需要說(shuō)明的是,在上面的圖4A-4B中只是以媒體終端作為媒體數(shù)據(jù)的發(fā)送者來(lái)說(shuō)明媒體終端的內(nèi)部結(jié)構(gòu),在上面的圖5A-5B中是以媒體終端作為媒體數(shù)據(jù)的接收者來(lái)說(shuō)明媒體終端的內(nèi)部結(jié)構(gòu),但是需要了解的是,本發(fā)明實(shí)施例中的媒體終端可以只作為媒體數(shù)據(jù)的發(fā)送者,可以只作為媒體數(shù)據(jù)的接收者,當(dāng)然在不同的應(yīng)用場(chǎng)景下也可以按照需要先后作為媒體數(shù)據(jù)的發(fā)送者和接收者。當(dāng)圖4A-4B中的媒體終端不僅作為媒體數(shù)據(jù)的發(fā)送者,而且還可作為媒體數(shù)據(jù)的接收者時(shí),此時(shí)圖4A-4B中的媒體終端還可包括圖5B中所示的網(wǎng)絡(luò)接口508和顯示屏509(圖4B中未示出),且所述網(wǎng)絡(luò)接口408和網(wǎng)絡(luò)接口508可以為同一個(gè)網(wǎng)絡(luò)接口。
此時(shí),所示網(wǎng)絡(luò)接口508,用于接收與所述媒體終端400進(jìn)行屏幕共享的設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù);
適配器407,用于對(duì)網(wǎng)絡(luò)接口508接收的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
所述存儲(chǔ)器402,用于存儲(chǔ)經(jīng)所述適配器407適配的媒體數(shù)據(jù);
所述顯示處理裝置403具體用于:
利用DRM框架對(duì)存儲(chǔ)器402上存儲(chǔ)的所述經(jīng)適配的媒體數(shù)據(jù)處理;
所述顯示屏509,用于在CPU的控制下將經(jīng)過(guò)顯示處理裝置403處理后的媒體數(shù)據(jù)進(jìn)行顯示。
同理,當(dāng)圖5A-5B中的媒體終端作為媒體數(shù)據(jù)的發(fā)送者時(shí),此時(shí)圖5A-5B中的媒體終端還可包括圖4B中所示的網(wǎng)絡(luò)接口408等部件,在此不再贅述。
圖6是本發(fā)明實(shí)施例提供的一種屏幕共享的裝置的結(jié)構(gòu)框圖。所述屏幕共享的裝置可以為具備媒體處理功能的任何終端設(shè)備,包括但不限于,機(jī)頂盒、手機(jī)、智能電視等等。參照?qǐng)D6,本發(fā)明實(shí)施例提供一種屏幕共享的裝置600,所述裝置600包括通信連接建立模塊601和屏幕共享實(shí)現(xiàn)模塊602。其中:
通信連接建立模塊601,用于將所述裝置600和與所述裝置600進(jìn)行屏幕共享的設(shè)備建立通信連接;
屏幕共享實(shí)現(xiàn)模塊602,用于利用直接渲染管理DRM框架實(shí)現(xiàn)所述裝置600和所述設(shè)備間的屏幕共享,所述DRM框架存在于所述裝置和所述設(shè)備的linux內(nèi)核中。
其中,在進(jìn)行屏幕共享之前,所述通信連接建立模塊601還可用于:建立與所述設(shè)備對(duì)應(yīng)的邏輯顯示裝置,所述邏輯顯示裝置充當(dāng)所述設(shè)備的邏輯數(shù)據(jù)輸入端;
所述屏幕共享實(shí)現(xiàn)模塊602用于:
在進(jìn)行屏幕共享時(shí),利用DRM框架將用于屏幕共享的媒體數(shù)據(jù)送至所述邏輯顯示裝置,進(jìn)而經(jīng)由所述邏輯顯示裝置向所述設(shè)備傳輸用于屏幕共享的媒體數(shù)據(jù)。
可選地,在一個(gè)實(shí)施例中,所述屏幕共享實(shí)現(xiàn)模塊602可具體用于:
利用DRM框架對(duì)用于屏幕共享的媒體數(shù)據(jù)進(jìn)行處理,并將處理后的媒體數(shù)據(jù)送至所述邏輯顯示裝置;
對(duì)送到所述邏輯顯示裝置的媒體數(shù)據(jù)進(jìn)行發(fā)送側(cè)適配,并將適配后的媒體數(shù)據(jù)向所述設(shè)備傳輸。
可選地,在一個(gè)實(shí)施例中,所述通信連接建立模塊601可具體用于:
將所述裝置600和與所述裝置600進(jìn)行屏幕共享的設(shè)備通過(guò)WiFi顯示協(xié)議標(biāo)準(zhǔn)或數(shù)字生活網(wǎng)絡(luò)聯(lián)盟DLNA協(xié)議標(biāo)準(zhǔn)建立通信連接。
可選地,在另一個(gè)實(shí)施例中,所述屏幕共享實(shí)現(xiàn)模塊602可具體用于:
對(duì)所述設(shè)備發(fā)送過(guò)來(lái)的、用于屏幕共享的媒體數(shù)據(jù)進(jìn)行接收側(cè)適配;
利用DRM框架對(duì)適配后的所述媒體數(shù)據(jù)進(jìn)行處理,并對(duì)處理后得到的媒體數(shù)據(jù)進(jìn)行顯示。
本發(fā)明實(shí)施例提供的屏幕共享的裝置,在和其進(jìn)行屏幕共享的設(shè)備建立通信連接后,利用DRM框架來(lái)實(shí)現(xiàn)所述裝置和所述設(shè)備間的屏幕共享,由于所述DRM框架存在于所述裝置和所述設(shè)備的linux內(nèi)核中,即實(shí)現(xiàn)屏幕共享的實(shí)現(xiàn)方案在linux內(nèi)核底層即做到了統(tǒng)一,這樣一來(lái),無(wú)論是linux平臺(tái)還是安卓平臺(tái)都可以直接利用linux內(nèi)核中的DRM框架來(lái)實(shí)現(xiàn)屏幕共享,因而,實(shí)現(xiàn)了對(duì)于linux平臺(tái)和安卓平臺(tái)的通用。而且,由于本發(fā)明實(shí)施例提供的屏幕共享實(shí)現(xiàn) 方式,有效減少了數(shù)據(jù)流處理環(huán)節(jié)過(guò)程中內(nèi)核態(tài)和用戶態(tài)之間多次切換的可能性,因而,處理效率得到了提高。
需要說(shuō)明的是:上述實(shí)施例提供的媒體終端、屏幕共享的裝置與屏幕共享的實(shí)現(xiàn)方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
需要說(shuō)明的是,本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。