影像外接裝置及處理影像外接裝置的方法
【專利摘要】一種處理影像外接裝置的方法,包括下列步驟。首先,接收第一數(shù)目的基礎(chǔ)區(qū)域更新需求,每一基礎(chǔ)區(qū)域更新需求對應(yīng)一個(gè)影像區(qū)域。這些基礎(chǔ)區(qū)域更新需求由一電子裝置產(chǎn)生,對應(yīng)一顯示影像的更新內(nèi)容。其次,根據(jù)這些基礎(chǔ)區(qū)域更新需求所對應(yīng)的影像區(qū)域進(jìn)行計(jì)算,整合到傳送影像區(qū)域。接著,將傳送影像區(qū)域通過外部接口傳送到影像外接裝置。
【專利說明】影像外接裝置及處理影像外接裝置的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及影像外接裝置的處理方法以及影像外接裝置,且尤其涉及畫面更新處理的影像外接裝置的處理方法及影像外接裝置。
【背景技術(shù)】
[0002]今天生活中有許多不同的電子裝置,大部分都需要使用到顯示器。有些時(shí)候,為了可攜帶性的考慮,顯示器的尺寸會(huì)做的比較小,例如上網(wǎng)筆記本電腦、平板電腦或手機(jī)。然而,這些設(shè)備的處理能力與日俱增。只要加上適當(dāng)?shù)妮敵鼋涌谂c外接顯示器,這些設(shè)備就可以為使用者提供高分辨率的畫面。
[0003]這里提到的外接顯示器包括常見的液晶屏幕、投影儀或其他能顯示畫面的裝置。目前常見用于連接外接顯示器的接口包括DV1、HDM1、Thunderbolt等。另一種常見的做法是將USB等外接顯示適配器等裝置的一端安裝到計(jì)算機(jī),另一端安裝到外接顯示器,以將計(jì)算機(jī)提供的畫面經(jīng)過處理,輸出到外接顯示器。
[0004]然而,通過USB等接口將影像輸出到影像外接裝置雖然方便,但常常受限于USB等接口的傳輸速率等因素,使得外接顯示器的畫面更新有不理想的情況。
[0005]因此,如果能夠提供一種更有效率的影像外接裝置的處理方法,將能夠讓使用者得到更多的使用上的便利和效益。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的實(shí)施例包括一種處理影像外接裝置的方法,該方法包括下列步驟。首先,接收第一數(shù)目的基礎(chǔ)區(qū)域更新需求,每一基礎(chǔ)區(qū)域更新需求對應(yīng)一個(gè)影像區(qū)域,且這些基礎(chǔ)區(qū)域更新需求由一電子裝置產(chǎn)生,對應(yīng)一顯示影像的更新內(nèi)容。
[0007]其次,根據(jù)第一數(shù)目的復(fù)數(shù)基礎(chǔ)區(qū)域更新需求所對應(yīng)的影像區(qū)域進(jìn)行計(jì)算,整合到第二數(shù)目的傳送影像區(qū)域。并且,將第二數(shù)目的傳送影像區(qū)域通過外部接口傳送到影像外接裝置。
[0008]在這個(gè)實(shí)施例中,第一數(shù)目可以大于第二數(shù)目。另外,多個(gè)基礎(chǔ)區(qū)域更新需求可以被整合成一個(gè)傳送影像區(qū)域,這個(gè)傳送影像區(qū)域?yàn)槎鄠€(gè)基礎(chǔ)區(qū)域更新需求的更新結(jié)果。
[0009]在這個(gè)實(shí)施例中的具體例子中,多個(gè)基礎(chǔ)區(qū)域更新需求可由電子裝置的操作系統(tǒng)產(chǎn)生,而這種處理影像外接裝置的方法則由電子裝置內(nèi)執(zhí)行的驅(qū)動(dòng)程序?qū)崿F(xiàn)。并且,驅(qū)動(dòng)程序負(fù)責(zé)將顯示影像通過外部接口傳送到影像外接裝置。
[0010]此外,在這個(gè)實(shí)施例的另一個(gè)具體例子中,還包括設(shè)定預(yù)定時(shí)間周期,及將在預(yù)定時(shí)間周期內(nèi),將對應(yīng)的基礎(chǔ)區(qū)域更新需求整合成對應(yīng)的影像傳送區(qū)域。
[0011 ] 上述的外部接口的實(shí)施例包括USB傳輸接口。并且,在傳送畫面更新數(shù)據(jù)時(shí),可先將傳送影像區(qū)域傳送到圖像處理裝置的一屏幕外存儲器(off-screen memory),由圖像處理裝置存取傳送影像區(qū)域的內(nèi)容,再將其更新到顯示畫面的對應(yīng)區(qū)域。這個(gè)做法可配合BitBlit指令方式進(jìn)行。[0012]根據(jù)本發(fā)明的另一個(gè)實(shí)施例提供了對應(yīng)上述處理方法的影像外接裝置。
[0013]跟據(jù)本發(fā)明的另一個(gè)實(shí)施例還提供了一種圖像處理方法,用于電子裝置,供在顯示器上顯示顯示影像。首先,接收第一數(shù)目的基礎(chǔ)區(qū)域更新需求。每一該基礎(chǔ)區(qū)域更新需求對應(yīng)一個(gè)影像區(qū)域,這些基礎(chǔ)區(qū)域更新需求由電子裝置產(chǎn)生,對應(yīng)一顯示影像的更新內(nèi)容。并且,針對第一數(shù)目的多個(gè)基礎(chǔ)區(qū)域更新需求所對應(yīng)的影像區(qū)域進(jìn)行計(jì)算,參考顯示器的顯示特性,計(jì)算整合至第二數(shù)目的傳送影像區(qū)域。
[0014]在過去的做法中,由于每次操作系統(tǒng)觸發(fā)的畫面更新都直接被傳送到影像外接裝置,加上局部區(qū)域必須逐行傳送,在畫面更新時(shí)會(huì)因?yàn)閭鬏斔俾实南拗贫鴮?dǎo)致畫面不流暢。通過上述的實(shí)施例,可以有效地傳輸畫面更新數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0015]下面結(jié)合附圖和實(shí)施例對本發(fā)明做進(jìn)一步說明。
[0016]圖1為根據(jù)本發(fā)明一實(shí)施例的配置圖。
[0017]圖2為根據(jù)本發(fā)明一實(shí)施例的電子裝置系統(tǒng)架構(gòu)圖。
[0018]圖3為根據(jù)本發(fā)明一實(shí)施例的軟件架構(gòu)示意圖。
[0019]圖4為根據(jù)本發(fā)明一實(shí)施例的流程圖。
[0020]圖5A示出了畫面更新的示意圖。
[0021]圖5B示出了畫面更新的示意圖。
[0022]圖5C示出了畫面更新的示意圖。
[0023]圖6示出了基礎(chǔ)區(qū)域更新需求跟傳送影像區(qū)域的關(guān)聯(lián)示意圖。
[0024]圖7示出了省略畫面更新的示意圖。
[0025]圖8A示出了整合更新畫面步驟的示意圖。
[0026]圖8B示出了整合更新畫面步驟的示意圖。
[0027]圖9A示出了整合更新畫面步驟的示意圖。
[0028]圖9B示出了整合更新畫面步驟的示意圖。
[0029]圖10示出了傳送更新畫面數(shù)據(jù)的示意圖。
[0030]圖11示出了傳送更新畫面數(shù)據(jù)的示意圖。
[0031]圖12示出了根據(jù)本發(fā)明的實(shí)施例設(shè)置的示意圖。
[0032]圖13示出了根據(jù)本發(fā)明另一實(shí)施例設(shè)置的示意圖。
[0033]圖14示出了根據(jù)本發(fā)明另一實(shí)施例設(shè)置的示意圖。
[0034]圖15示出了根據(jù)本發(fā)明另一實(shí)施例設(shè)置的示意圖。
【具體實(shí)施方式】
[0035]首先,請參考圖1。圖1示出了根據(jù)本發(fā)明的第一實(shí)施例。
[0036]計(jì)算機(jī)104本身具有內(nèi)建顯示器106。除此以外,還通過一外接顯示適配器108連接到一外接顯示器102。在這個(gè)用來說明的具體實(shí)施例中,外接顯示適配器108通過USB接口與計(jì)算機(jī)104連接。并且,外接顯示適配器108通過數(shù)字視頻接口 DVKDigital VisualInterface)與外接顯示器102連接。
[0037]在這個(gè)實(shí)施例中,計(jì)算機(jī)104可以是常規(guī)的筆記本電腦。然而,在其他的實(shí)施例中,計(jì)算機(jī)104也可以替換成一般的桌面計(jì)算機(jī)或其他各種電子設(shè)備,例如影片播放器、平板電腦、手機(jī)等等。
[0038]另外,在這個(gè)實(shí)施例中,計(jì)算機(jī)104具有內(nèi)建顯示器106。然而,在其他的實(shí)施例中,內(nèi)建顯示器106不一定是必要的配備,例如光驅(qū)播放器或是數(shù)字電視的機(jī)頂盒等情況,外接顯示器102可以是主要的顯示器。
[0039]另外,在這個(gè)實(shí)施例中,外接顯示適配器108以外部模塊的方式與計(jì)算機(jī)104連接。然而,在其他的實(shí)施例中,相對于外接顯示器102作為外部裝置的計(jì)算機(jī)104也可以替換為:將本實(shí)施例中的外接顯示適配器108安裝在這個(gè)外部裝置中,而共同構(gòu)成一個(gè)整體。此外,在其他的實(shí)施例中,這個(gè)外接顯示適配器108也可以跟外接顯示器108結(jié)合,而構(gòu)成一個(gè)整體。
[0040]另外,在這個(gè)實(shí)施例中,外接顯示器108為具有顯示屏幕的顯示器。然而,在其他的實(shí)施例中,外接顯示器108也可以是投影儀,接收視頻畫面并加以錄制的錄像裝置等。
[0041]接著,請參考圖2。圖2示出了在圖1中的計(jì)算機(jī)104的一種可行的架構(gòu)示意圖。
[0042]在圖2的例子中,計(jì)算機(jī)104包括處理器201、內(nèi)存203、內(nèi)部獨(dú)立顯示適配器205、硬盤207、USB控制器209、USB傳輸接口 211。處理器201從硬盤207將程序代碼加載到內(nèi)存203,并且根據(jù)需要執(zhí)行程序代碼以完成各種運(yùn)算工作。
[0043]通常,運(yùn)算工作的一部分包括產(chǎn)生圖像數(shù)據(jù),經(jīng)由總線213傳送給內(nèi)部獨(dú)立顯示適配器205。內(nèi)部獨(dú)立顯示適配器213對這些圖像數(shù)據(jù)進(jìn)行進(jìn)一步的處理后,產(chǎn)生對應(yīng)的圖像流215傳送給圖1的內(nèi)部顯示器106。
[0044]除此以外,處理器201經(jīng)由USB傳輸接口 211和USB控制器209可以知道圖1的外接顯示適配器是否連接。假如有連接的話,處理器201根據(jù)硬盤讀到的程序代碼產(chǎn)出所需的圖像數(shù)據(jù)。這些圖像數(shù)據(jù)經(jīng)由總線213傳送到USB傳輸接口,進(jìn)而傳送到圖1的外部顯示適配器108。圖1的外部顯示適配器108處理這些圖像數(shù)據(jù),并轉(zhuǎn)換成對應(yīng)的圖像流,進(jìn)一步傳送給圖1的外部顯示器102進(jìn)行顯示。
[0045]在圖2所示的實(shí)施例中,計(jì)算機(jī)104由多個(gè)模塊組成。然而,在其他的實(shí)施例中,根據(jù)不同的設(shè)計(jì)需求,這些組件可以做相應(yīng)的調(diào)整或刪除。例如,USB傳輸接口 211可以改成thunderbolt接口、一般常見的AV端子接口或特別設(shè)計(jì)的規(guī)格接口等。如上所述,在其他的實(shí)施例中,計(jì)算機(jī)104可以替換成其他的電子裝置,例如手機(jī)。因此,圖2的組件甚至也可以部分或全部整合在同一集成電路芯片里。
[0046]接著,請參考圖3。圖3示出了圖2的計(jì)算機(jī)104的一種可能的軟件架構(gòu)圖。
[0047]在圖3中,計(jì)算機(jī)安裝了操作系統(tǒng)。操作系統(tǒng)通過驅(qū)動(dòng)程序A、驅(qū)動(dòng)程序B、驅(qū)動(dòng)程序C等底層驅(qū)動(dòng)程序與各種硬件進(jìn)行通信。另一方面,操作系統(tǒng)通過應(yīng)用程序編程接口(API),與應(yīng)用程序A、應(yīng)用程序B、應(yīng)用程序C等應(yīng)用程序進(jìn)行通信。通過這類的軟件架構(gòu),圖1的計(jì)算機(jī)104得以有秩序地完成各項(xiàng)指定工作。
[0048]在這個(gè)例子中,圖1的外接顯示適配器108有可能直接得到操作系統(tǒng)支持,而不需要額外安裝另外的驅(qū)動(dòng)程序。另一種可能是,圖1的外接顯示適配器108需要安裝相應(yīng)的驅(qū)動(dòng)程序,以讓操作系統(tǒng)可以知道如何和外接顯示適配器108進(jìn)行通信。
[0049]舉例來說,用戶通過操作系統(tǒng)的接口,可設(shè)定圖1的外接顯示器102顯示與內(nèi)建顯示器102同樣的內(nèi)容。用戶也可通過操作系統(tǒng)的接口,設(shè)定圖1的外接顯示器102顯示與內(nèi)建顯示器102不同的內(nèi)容,而擴(kuò)大顯示的內(nèi)容。此外,外接顯示器102也可以設(shè)定成專屬某特定應(yīng)用程序作為顯示輸出之用,例如播放影片。
[0050]在運(yùn)作的過程中,驅(qū)動(dòng)程序可提供信息給操作系統(tǒng)做進(jìn)一步的判斷和處理。然而,根據(jù)不同的設(shè)計(jì)需求,驅(qū)動(dòng)程序也可以自行處理一部分與外接顯示適配器108之間的通信,而不需把所有信息都傳給操作系統(tǒng)。
[0051]在以下進(jìn)一步說明的例子中,外接顯示適配器108的處理步驟,在需要的時(shí)候,也可以部分交由對應(yīng)的驅(qū)動(dòng)程序進(jìn)行處理。
[0052]驅(qū)動(dòng)程序的程序代碼,可以由外接顯示適配器108的廠商,以光盤、在線下載或其他媒介提供給用戶。這樣的驅(qū)動(dòng)程序的程序代碼也可以由第三方進(jìn)行編寫和提供。
[0053]在這個(gè)實(shí)施例中,軟件在邏輯上被劃分成多層的多個(gè)模塊。然而,在其他的實(shí)施例中,軟件架構(gòu)可以根據(jù)實(shí)際需求而進(jìn)行調(diào)整。甚至,這里所描述的軟件架構(gòu)也可以部分或全部轉(zhuǎn)換成對應(yīng)的硬件電路。
[0054]接著,請參考圖4,其示出了根據(jù)本發(fā)明的一種處理影像外接裝置的方法的流程圖。
[0055]首先,如上述圖3中的操作系統(tǒng)根據(jù)用戶的操作或上述應(yīng)用程序的運(yùn)作,計(jì)算有多少區(qū)域的畫面需要進(jìn)行更新。通常,為了效率的考慮,這些區(qū)域常常是矩形,但本發(fā)明的更新區(qū)域并不限于矩形。
[0056]這里提到的用戶的操作范例,例如用戶使用鼠標(biāo)將某個(gè)窗口進(jìn)行拖拉的移動(dòng),或是放大/縮小的移動(dòng),或是在某個(gè)區(qū)域進(jìn)行畫圖、填上文字等等。
[0057]這里提到的應(yīng)用程序的運(yùn)作范例,例如應(yīng)用程序更新狀態(tài),或是根據(jù)特定程序的運(yùn)算在某個(gè)區(qū)域?qū)Ξ嬅孢M(jìn)行更新等。
[0058]這些來自操作系統(tǒng)或其它組件,對于畫面更新的需求在以下的例子中稱為基礎(chǔ)區(qū)域更新需求(basic area updating request)。此外,每個(gè)基礎(chǔ)區(qū)域更新需求對應(yīng)到一個(gè)影像區(qū)域(image area)。換言之,假設(shè)用戶移動(dòng)了鼠標(biāo),拖拉某個(gè)窗口,可能觸發(fā)了 20次的鼠標(biāo)移動(dòng)事件(event),而每次的鼠標(biāo)移動(dòng)事件,操作系統(tǒng)會(huì)去計(jì)算到底涉及多少影像區(qū)域需要更新。假如某次的鼠標(biāo)移動(dòng)事件涉及了三個(gè)影像區(qū)域,則理解成產(chǎn)生了三個(gè)基礎(chǔ)區(qū)域更新需求。
[0059]在這個(gè)例子下,假如使用者使用圖1的配置,這些來自操作系統(tǒng)的基礎(chǔ)區(qū)域更新需求會(huì)由對應(yīng)于外接顯示適配器108的驅(qū)動(dòng)程序接收(步驟402)。這個(gè)驅(qū)動(dòng)程序在圖1中的計(jì)算機(jī)執(zhí)行,通常與外接顯示適配器一起賣給使用者。使用者安裝驅(qū)動(dòng)程序,以使用外接顯示適配器。另一種情況是操作系統(tǒng)已經(jīng)內(nèi)建了這個(gè)驅(qū)動(dòng)程序,或?qū)⑵鋵?shí)現(xiàn)為操作系統(tǒng)的一部分,而不特別稱為驅(qū)動(dòng)程序,也應(yīng)該被視為和以下介紹的實(shí)施例具有相同的發(fā)明構(gòu)思。
[0060]此外,圖1的外接顯示器102要對應(yīng)鼠標(biāo)操作,進(jìn)行畫面更新,就必須由計(jì)算機(jī)104提供給外接顯示適配器108對應(yīng)的數(shù)據(jù)。如果外接顯示適配器108跟計(jì)算機(jī)104間的傳輸速度足夠快,理論上,這些基礎(chǔ)區(qū)域更新需求的每一個(gè)傳送給外接顯示適配器108即可。但假如外接顯示適配器是通過例如USB 1.0、USB 2.0、WiFi等較慢的外部接口(externalinterface),具有有限或較低的數(shù)據(jù)傳輸速率?;蚴羌词故褂帽容^快的USB 3.0或其他快速傳輸接口,但由于當(dāng)時(shí)除了顯示器102,同一個(gè)外部接口還有其他的傳輸需求,也可能造成傳輸率的不足。在這樣的情況下,如果處理每一個(gè)基礎(chǔ)區(qū)域更新需求,可能會(huì)產(chǎn)生明顯的畫面更新延遲的視覺影響。這樣的情況會(huì)造成使用者的不安和煩躁。
[0061]因此,驅(qū)動(dòng)程序分批分析這些基礎(chǔ)區(qū)域更新需求,并算出對應(yīng)的傳送影像區(qū)域(transmitted image area)。在分析的過程中,驅(qū)動(dòng)程序可以直接省略掉一定數(shù)目的基礎(chǔ)區(qū)域更新需求(步驟404)。舉例來說,假如某個(gè)基礎(chǔ)區(qū)域更新需求所對應(yīng)的影像區(qū)域曾經(jīng)應(yīng)該要出現(xiàn)在顯示畫面,但出現(xiàn)的時(shí)間非常短,且在一個(gè)預(yù)定的時(shí)間周期結(jié)束前已經(jīng)消失被別的畫面取代,則可以直接省略掉這個(gè)基礎(chǔ)區(qū)域更新需求。例如,某個(gè)區(qū)域的顏色進(jìn)行逐漸變淡的更新,為了產(chǎn)生平順的變淡效果,可能涉及100次的更新,但即使直接省略掉一半次數(shù)的更新,仍然能保留一定程度的平順度,但卻能立刻節(jié)省一半的數(shù)據(jù)傳輸量。因此,雖然使用者最好能看到這些對應(yīng)的影像區(qū)域的更新,但假如在傳輸率有限的情況下,省略掉這些內(nèi)容可以帶來比較流暢的影像更新效果,則也是一個(gè)值得考慮的設(shè)計(jì)選項(xiàng)。
[0062]此外,驅(qū)動(dòng)程序可以計(jì)算多個(gè)基礎(chǔ)區(qū)域更新需求對應(yīng)的影像區(qū)域之間,是否全部都執(zhí)行更新之后,會(huì)出現(xiàn)其實(shí)并不需要更新的子區(qū)域。這些子區(qū)域也可以進(jìn)行省略,而不進(jìn)一步傳給外接顯示適配器108。
[0063]除了省略掉能夠省略的內(nèi)容,驅(qū)動(dòng)程序也可以整合多個(gè)有重迭的基礎(chǔ)區(qū)域更新需求,將其整合成一個(gè)傳送影像區(qū)域(步驟406)。舉例來說,用戶可能用鼠標(biāo)將一個(gè)窗口做一個(gè)拖曳的動(dòng)作。這個(gè)拖曳的動(dòng)作可能觸發(fā)100次的鼠標(biāo)事件,因此操作系統(tǒng)產(chǎn)生100個(gè)基礎(chǔ)區(qū)域更新需求給驅(qū)動(dòng)程序。這100個(gè)基礎(chǔ)區(qū)域更新需求可能全部只占了 10毫秒。此時(shí),驅(qū)動(dòng)程序可以設(shè)定一個(gè)預(yù)定時(shí)間周期,例如I毫秒,這100個(gè)基礎(chǔ)區(qū)域更新需求就會(huì)被分成10組。每組基礎(chǔ)區(qū)域更新需求由驅(qū)動(dòng)程序進(jìn)行累積的更新計(jì)算,并且只將每個(gè)預(yù)定時(shí)間周期的累積更新計(jì)算結(jié)果傳給外接顯示適配器108。
[0064]換言之,原本要傳送100次基礎(chǔ)區(qū)域更新需求對應(yīng)的影像更新數(shù)據(jù),通過這樣的做法,只要傳送10次整合后的傳送影像區(qū)域。由于要進(jìn)行這樣的整合本身也需要一定的運(yùn)算時(shí)間,因此,驅(qū)動(dòng)程序可以參照人眼的變動(dòng)察覺能力,以及外部接口的傳輸率,來決定到底應(yīng)該把第一數(shù)目的基礎(chǔ)區(qū)域更新需求,整合成對應(yīng)第二數(shù)目的傳輸影像區(qū)域。通常,第一數(shù)目大于第二數(shù)目代表著節(jié)省一定比例的數(shù)據(jù)傳送。
[0065]除了根據(jù)外部接口的傳輸率,在圖1的例子中,也可以根據(jù)外接顯示適配器108所連接的外接顯示器102的顯示特性來決定上述第一數(shù)目與第二數(shù)目之間的比例。舉例來說,即使是使用同樣的外接顯示適配器108,也可能連接不同規(guī)格的外接顯示器102。假如外接顯示適配器108與外接顯示器102之間的連接是通過HDMI等傳輸接口進(jìn)行連接,外接顯示適配器108可以得知外接顯示器102的顯示參數(shù),例如每秒更新幾張畫面等。假設(shè)外接顯示器102本身就不支持夠快的畫面更新率,即使用較高的整合比例,也不會(huì)造成結(jié)果的太大影響,但卻能大幅減少外接顯示適配器104跟計(jì)算機(jī)104間的數(shù)據(jù)傳輸量。
[0066]此外,驅(qū)動(dòng)程序也可以提供設(shè)定接口,讓用戶設(shè)定上述第一數(shù)目跟第二數(shù)目之間的比例,決定整合的程度。
[0067]經(jīng)過上述省略更新內(nèi)容等整合操作后,需要傳送的畫面更新數(shù)據(jù)獲得了明顯的減少。接著,這些要被傳送的數(shù)據(jù),也就是傳送影像區(qū)域,傳送給影像外接裝置(步驟408),例如圖1的外接顯示適配器108。
[0068]在將傳送影像區(qū)域傳送給影像外接裝置時(shí),可將這些傳輸數(shù)據(jù)先傳到影像外接裝置的顯示內(nèi)存,例如巾貞緩存(frame buffer)。這樣,影像外接裝置便能直接更新顯示畫面內(nèi)容。另一種做法是,在將傳送影像區(qū)域傳送給影像外接裝置時(shí),可將這些傳輸數(shù)據(jù)先傳送到影像外接裝置的屏幕外存儲器(off-screen memory)。再由影像外接裝置在適當(dāng)?shù)臅r(shí)間將屏幕外存儲器的更新數(shù)據(jù)更新到顯示畫面中。
[0069]將傳輸數(shù)據(jù)填寫到屏幕外存儲器的做法在例如USB等傳輸協(xié)議時(shí)特別有用,以下將配合圖示做更清楚的說明。
[0070]通過上述的設(shè)計(jì),便能提供一種有效的處理影像外接裝置的方法。配合這樣的處理方法,便能提供對應(yīng)的有效影像外接裝置。
[0071]接著,以下將配合圖示,更清楚地解釋上述實(shí)施例,并且介紹可能的其他實(shí)施例做法。
[0072]請參考圖5A、圖5B和圖5C,這三個(gè)附圖示出了一個(gè)基礎(chǔ)區(qū)域更新需求的范例。
[0073]在這三個(gè)附圖所示的例子,當(dāng)用戶用鼠標(biāo)操作對窗口 51進(jìn)行拖曳,拉到位置52,此時(shí)操作系統(tǒng)進(jìn)行運(yùn)算,得到三個(gè)基礎(chǔ)區(qū)域更新需求,對應(yīng)到A、B、C三個(gè)影像區(qū)域53,54,55。
[0074]接著,請參考圖6。操作系統(tǒng)62計(jì)算出這三個(gè)基礎(chǔ)區(qū)域更新需求621后,將其傳送給驅(qū)動(dòng)程序64,驅(qū)動(dòng)程序?qū)ζ溥M(jìn)行處理,產(chǎn)生了對應(yīng)的傳輸影像區(qū)域A,B, C的數(shù)據(jù),通過USB等外部接口,將數(shù)據(jù)傳送給影像外部裝置。
[0075]如果經(jīng)過分析還是無法省略或整合,上述的驅(qū)動(dòng)程序?qū)鬏斢跋駞^(qū)域A,B, C的數(shù)據(jù)傳給影像外部裝置。然而,如果分析后,發(fā)現(xiàn)有可以省略的基礎(chǔ)區(qū)域更新需求,則將其進(jìn)行省略。
[0076]除了上述同區(qū)域進(jìn)行色彩淡出等情況,可以直接省略一定比例的基礎(chǔ)區(qū)域更新需求,即使更新區(qū)域有改變,仍然可以省略掉一定比例的基礎(chǔ)區(qū)域更新需求。
[0077]圖7示出了在一預(yù)定時(shí)間周期內(nèi),有多個(gè)基礎(chǔ)區(qū)域更新需求發(fā)生的例子。在這個(gè)例子中,在區(qū)域701的窗口被進(jìn)行了拖曳操作,在預(yù)定時(shí)間周期內(nèi),陸續(xù)經(jīng)過了區(qū)域702、703,704跟705。假如背景是固定的顏色,此時(shí)即使直接省略掉對應(yīng)區(qū)域702與704的基礎(chǔ)區(qū)域更新需求,而只傳送區(qū)域701、703、705對應(yīng)的基礎(chǔ)區(qū)域更新需求,即可減少40%的數(shù)據(jù)傳輸量。
[0078]接著,請參見圖8A與圖SB的例子。這兩個(gè)附圖示出了即使假設(shè)5個(gè)基礎(chǔ)區(qū)域更新需求已經(jīng)省略掉兩個(gè)區(qū)域,還有三個(gè)區(qū)域需要處理。如圖5C跟上述說明所述,圖8A的三個(gè)更新區(qū)域,在這個(gè)例子中對應(yīng)于9個(gè)基礎(chǔ)區(qū)域更新需求。
[0079]接著,請參見圖9A跟圖9B的例子。這兩個(gè)附圖示出了將多個(gè)更新區(qū)域整合成一個(gè)區(qū)域的方法。在圖9A中,窗口從區(qū)域91按序被拖曳到區(qū)域92、93、94。假設(shè)驅(qū)動(dòng)程序發(fā)現(xiàn)這三個(gè)更新區(qū)域92、93、94都是在一個(gè)預(yù)定時(shí)間周期內(nèi)發(fā)生,例如10毫秒,驅(qū)動(dòng)程序便將這三個(gè)更新區(qū)域整合成一個(gè)區(qū)域95。
[0080]換言之,驅(qū)動(dòng)程序?qū)?yīng)更新區(qū)域92、93、94的基礎(chǔ)區(qū)域更新需求繼續(xù)計(jì)算,計(jì)算出更新后的結(jié)果。相較于直接將對應(yīng)更新區(qū)域92、93、94的基礎(chǔ)區(qū)域更新需求直接傳給外接顯示適配器,整合后的數(shù)據(jù)只需傳送一次區(qū)域95的畫面數(shù)據(jù)即可。因此,傳送的資料量得到了進(jìn)一步的縮減,顯示畫面的更新度也因此得到了更進(jìn)一步的改善。
[0081]接著,請參見圖10。圖10示出了了在USB等外部接口傳送更新數(shù)據(jù)的情況。
[0082]假設(shè)需要傳送的更新區(qū)域數(shù)據(jù)105包含六列(row)A,B, C,D, E, F。并且,更新數(shù)據(jù)是直接要寫到影像外接裝置的顯示內(nèi)存,例如幀緩存(frame buffer)0假設(shè)第一列A的開頭地址是1200單位,而一列的數(shù)據(jù)量是1000單位,則第二列B的開頭地址是2200,第三列C的開頭地址是3200,第四列D的開頭地址是4200,第五列E的開頭地址是5200,而第六列F的開頭地址是6200。
[0083]因此,雖然這六列屬于同一個(gè)更新區(qū)域,但在傳送時(shí)卻對應(yīng)于六項(xiàng)獨(dú)立的數(shù)據(jù)傳輸。并且,如果是在USB等外部接口中的傳輸,除了要傳送基本的數(shù)據(jù)1071,還需要傳送對應(yīng)的包頭(header) 1073等。
[0084]圖11示出了另一種傳送更新數(shù)據(jù)的方法。這個(gè)方法應(yīng)用了 Bit Blit或相應(yīng)的功能。Bit Blit是目前大部分顯示適配器都有支持的一個(gè)功能,其設(shè)計(jì)的目的主要是為了進(jìn)行動(dòng)畫。在一般的動(dòng)畫操作中,代表不同動(dòng)作的一個(gè)角色圖案會(huì)被依序貼在一個(gè)背景上。如果直接將角色圖案寫到畫框內(nèi)存等顯示內(nèi)存,等到要另一個(gè)角色圖案時(shí),就需要重新再重新異動(dòng)畫框內(nèi)存。因此,這些角色圖案被寫到一個(gè)屏幕外存儲器(off-screen memory),接著通過一個(gè)Bit Blit指令,使顯示適配器的硬件從屏幕外存儲器讀取對應(yīng)的角色圖案,并且在適當(dāng)?shù)臅r(shí)間更新到對應(yīng)的屏幕內(nèi)存。由于這類的操作不需要經(jīng)由處理器進(jìn)行,效率比一般的更新來的更有效率。
[0085]如圖1的例子中,外接顯示適配器108所配備的處理芯片大部分具有BitBlit功能。因此,在傳送更新數(shù)據(jù)時(shí),可將多列的更新數(shù)據(jù)一次傳到影像外接裝置的屏幕外存儲器,并且將相應(yīng)的Bit Blit指令發(fā)給影像外接裝置。
[0086]在圖11中,A,B,C,D,E,F(xiàn)六列更新數(shù)據(jù)被包裝在一起,傳送到影像外接裝置的屏幕外存儲器113。換言之,這種傳送方法省略了前述做法的包頭部分。此外,這種做法只需要進(jìn)行一次傳輸。這樣的做法在USB等外部接口下會(huì)帶來顯著的時(shí)間節(jié)省,因?yàn)樵赨SB的傳輸時(shí),如果將數(shù)據(jù)通過多次傳輸,除了包頭占據(jù)的數(shù)據(jù)量,每次傳輸需要進(jìn)行裝置間的通信,也會(huì)占用相對比例的處理時(shí)間。
[0087]接著,請參考圖12、圖13跟圖14。這三個(gè)附圖示出了 了三種可能的實(shí)施例變化。
[0088]圖12示出了的實(shí)施例中,計(jì)算機(jī)A 123除了將數(shù)據(jù)顯示在自己的顯示器A121上之外,還通過外接顯示適配器125將顯示畫面呈現(xiàn)在顯示器B 127上。顯示器A 123的畫面可以設(shè)定為與顯示器B 127—致。此外,顯示器B 127也可以設(shè)定成為顯示器A 121的延伸。
[0089]根據(jù)上述的說明,本領(lǐng)域技術(shù)人員應(yīng)該知道如何將上述畫面更新的做法應(yīng)用在這樣的系統(tǒng)配置中,此處不再贅述。
[0090]圖13示出了的另一實(shí)施例中,計(jì)算機(jī)A 133連接到顯示器A 131。計(jì)算機(jī)B 137通過網(wǎng)絡(luò)135連接到計(jì)算機(jī)A 133,并且要在顯示器B 139上顯示與顯示器A相同的內(nèi)容。這樣的應(yīng)用可以用在遠(yuǎn)程桌面。在這樣的情況下,計(jì)算機(jī)A 133中可以安裝類似上述驅(qū)動(dòng)程序的畫面更新指令,這樣在顯示器A 133畫面更新要傳送到遠(yuǎn)程的計(jì)算機(jī)B 137時(shí),可以用上述省略等整合方式,先將要傳到影像外部裝置的基礎(chǔ)區(qū)域更新需求進(jìn)行分析處理,減少要傳送的數(shù)據(jù)量,再用上述的Bit Blit方法來有效地傳送數(shù)據(jù)。通過這樣的做法,可以在網(wǎng)絡(luò)帶寬有限的情況下,盡可能保持畫面更新的流暢度。
[0091]圖14示出了的另一個(gè)實(shí)施例中,平板電腦147通過網(wǎng)絡(luò)145連接到計(jì)算機(jī)A 143,以便在平板電腦147的屏幕上顯示與顯示器A 141相同的內(nèi)容。相似于上述說明,上述的處理影像外接裝置的方法,也可以寫成指令,安裝在計(jì)算機(jī)A 143中執(zhí)行,以便更流暢地完成畫面更新的操作處理。
[0092]上述的影像外接裝置也可以整合到上述的電子裝置內(nèi)。在圖15的例子中,平板電腦需要處理的畫面更新操作,也可以通過上述的處理影像外部裝置的方法,對要更新的畫面數(shù)據(jù)進(jìn)行整合后,以較少的數(shù)據(jù)量進(jìn)行畫面更新。
[0093]對于電子墨水或是為了省電的目的,這樣的做法也能達(dá)到一定的效益。至于到底要整合到什么程度,例如上述的第一數(shù)目與第二數(shù)目之間的比例,則可根據(jù)顯示器的顯示特性等,進(jìn)行自動(dòng)調(diào)整或是提供設(shè)定接口給用戶自行設(shè)定。
[0094]盡管上面已經(jīng)用多個(gè)例子來說明本發(fā)明的構(gòu)思,但必須說明的是,除了這些例子夕卜,本領(lǐng)域技術(shù)人員當(dāng)然也可以做出更多的變化,而仍然屬于本發(fā)明所涵蓋的范圍內(nèi)。
【權(quán)利要求】
1.一種處理影像外接裝置的方法,包括: 接收第一數(shù)目的基礎(chǔ)區(qū)域更新需求,每一所述基礎(chǔ)區(qū)域更新需求對應(yīng)一個(gè)影像區(qū)域,所述基礎(chǔ)區(qū)域更新需求由一電子裝置產(chǎn)生,以對應(yīng)到一顯示影像的更新內(nèi)容; 根據(jù)所述第一數(shù)目的所述基礎(chǔ)區(qū)域更新需求所對應(yīng)的所述影像區(qū)域進(jìn)行計(jì)算,整合到第二數(shù)目的傳送影像區(qū)域;以及 將所述第二數(shù)目的所述傳送影像區(qū)域通過外部接口傳送到影像外接裝置。
2.如權(quán)利要求1所述處理影像外接裝置的方法,其中多個(gè)所述基礎(chǔ)區(qū)域更新需求被整合成一個(gè)所述傳送影像區(qū)域,所述一個(gè)傳送影像區(qū)域?yàn)樗龆鄠€(gè)基礎(chǔ)區(qū)域更新需求結(jié)合的更新結(jié)果。
3.如權(quán)利要求1所述處理影像外接裝置的方法,所述基礎(chǔ)區(qū)域更新需求由所述電子裝置的操作系統(tǒng)產(chǎn)生,所述處理影像外接裝置的方法由在所述電子裝置內(nèi)執(zhí)行的驅(qū)動(dòng)程序?qū)崿F(xiàn),所述驅(qū)動(dòng)程序負(fù)責(zé)將所述顯示影像通過所述外部接口傳送到所述影像外接裝置。
4.如權(quán)利要求1所述處理影像外接裝置的方法,還包括設(shè)定預(yù)定時(shí)間周期,及將在所述預(yù)定時(shí)間周期內(nèi)對應(yīng)的所述基礎(chǔ)區(qū)域更新需求整合成對應(yīng)的所述影像傳送區(qū)域。
5.如權(quán)利要求1所述處理影像外接裝置的方法,還包括根據(jù)所述外部接口的傳輸速率,決定所述基礎(chǔ)區(qū)域更新需求對應(yīng)的所述第一數(shù)目與所述傳送影像區(qū)域?qū)?yīng)的所述第二數(shù)目之間的比例。
6.如權(quán)利要求1所述處理影像外接裝置的方法,還包括將所述傳送影像區(qū)域傳送到所述圖像處理裝置的屏幕外存儲器,由所述圖像處理裝置存取所述傳送影像區(qū)域的內(nèi)容,更新到所述顯示畫面的對應(yīng)區(qū)域。
7.如權(quán)利要求1所述處理影像外接裝置的方法,其中所述傳送影像區(qū)域是使用BitBlit指令方式進(jìn)行。
8.一種影像外接裝置,通過外部接口連接到一電子裝置,所述電子裝置執(zhí)行權(quán)利要求1所述處理影像外接裝置的方法。
9.如權(quán)利要求8的影像外接裝置,其中所述影像外接裝置包括顯示器。
10.如權(quán)利要求9的影像外接裝置,其中所述影像外接裝置在接收所述傳送影像區(qū)域后,通過顯示器呈現(xiàn)所述顯示影像的更新結(jié)果。
【文檔編號】G06F3/14GK103631548SQ201210300095
【公開日】2014年3月12日 申請日期:2012年8月22日 優(yōu)先權(quán)日:2012年8月22日
【發(fā)明者】劉金赟, 陳軍 申請人:慧榮科技股份有限公司