對于動(dòng)態(tài)生成的圖形資源的壓縮技術(shù)的制作方法
【專利說明】
【背景技術(shù)】
[0001]用于在計(jì)算設(shè)備上生成三維(3D)圖形內(nèi)容幀的過程典型地牽涉許多中間操作,也稱為“道次(passes)”,其由例如圖形處理單元(GPU)等邏輯電路執(zhí)行。這些中間操作中的每個(gè)典型地從存儲(chǔ)器讀取一個(gè)或多個(gè)圖形資源和/或?qū)⒁粋€(gè)或多個(gè)圖形資源寫入存儲(chǔ)器。然后從存儲(chǔ)器訪問這些圖形資源并且在后續(xù)操作期間使用它們。對存儲(chǔ)器的該重復(fù)讀和寫圖形資源的方法可導(dǎo)致對該存儲(chǔ)器的明顯帶寬需求。存儲(chǔ)器不能適應(yīng)這樣的帶寬需求往往是關(guān)于GPU和其他圖形處理設(shè)備的性能的限制因子。為了使與3D圖形過程關(guān)聯(lián)的存儲(chǔ)器帶寬需求下降,與該過程關(guān)聯(lián)的圖形資源可在存儲(chǔ)在存儲(chǔ)器中之前被壓縮。然而,根據(jù)常規(guī)技術(shù),壓縮僅應(yīng)用于靜態(tài)、預(yù)先生成的資源、特定資源類別和/或渲染管道的某些階段。
【附圖說明】
[0002]圖1圖示操作環(huán)境的實(shí)施例。
[0003]圖2圖示裝置的實(shí)施例和第一系統(tǒng)的實(shí)施例。
[0004]圖3圖示第一邏輯流的實(shí)施例。
[0005]圖4圖示第二邏輯流的實(shí)施例。
[0006]圖5圖示第三邏輯流的實(shí)施例。
[0007]圖6圖示第四邏輯流的實(shí)施例。
[0008]圖7圖示存儲(chǔ)介質(zhì)的實(shí)施例。
[0009]圖8圖示第二系統(tǒng)的實(shí)施例。
[0010]圖9圖示第三系統(tǒng)的實(shí)施例。
[0011]圖10圖示設(shè)備的實(shí)施例。
【具體實(shí)施方式】
[0012]各種實(shí)施例可一般針對對于動(dòng)態(tài)生成的圖形資源的壓縮技術(shù)。在一個(gè)實(shí)施例中,例如,裝置可包括邏輯,其至少一部分在硬件中,該邏輯用于確定動(dòng)態(tài)生成的圖形資源的一個(gè)或多個(gè)使用特性、基于該一個(gè)或多個(gè)使用特性確定是否壓縮動(dòng)態(tài)生成的圖形資源以及響應(yīng)于壓縮動(dòng)態(tài)生成的圖形資源的確定,基于動(dòng)態(tài)生成的圖形資源的圖形質(zhì)量閾值來選擇壓縮規(guī)程。描述其他實(shí)施例并且它們要求保護(hù)。
[0013]各種實(shí)施例可包括一個(gè)或多個(gè)元件。元件可包括設(shè)置成執(zhí)行某些操作的任何結(jié)構(gòu)。每個(gè)元件根據(jù)期望對于指定設(shè)計(jì)參數(shù)或性能約束集可實(shí)現(xiàn)為硬件、軟件或其組合。盡管實(shí)施例可通過示例在某一拓?fù)渲杏糜邢迶?shù)量的元件描述,實(shí)施例根據(jù)期望對于指定實(shí)現(xiàn)在備選拓?fù)渲锌砂ǜ嗷蚋俚脑?。值得注意的是對“一個(gè)實(shí)施例”或“實(shí)施例”的任何引用意指連同實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在至少一個(gè)實(shí)施例中。短語“在一個(gè)實(shí)施例中”、“在一些實(shí)施例中”在說明書中各種地方的出現(xiàn)不一定全指相同的實(shí)施例。
[0014]圖1圖示示例操作環(huán)境100,例如可代表各種實(shí)施例。如在圖1中示出的,操作環(huán)境100包括存儲(chǔ)器單元104、圖形處理電路106和顯示器146。在一些實(shí)施例中,圖形處理電路106可包括圖形處理單元(GPU)。為了在顯示器146上呈現(xiàn)圖形內(nèi)容,圖形處理電路106生成圖形幀112。在各種實(shí)施例中,圖形內(nèi)容可包括3D內(nèi)容,其使用二維(2D)像素設(shè)置來描繪三個(gè)空間維度。在一些這樣的實(shí)施例中,圖形幀112中的一些或全部可包括3D場景的2D光柵表示。結(jié)合生成圖形幀112,圖形處理電路106通過存儲(chǔ)器總線120重復(fù)將圖形資源114寫入存儲(chǔ)器單元104以及從存儲(chǔ)器單元104檢索圖形資源114。那些圖形資源114中的一些包括靜態(tài)、預(yù)先生成的資源116,其在它們關(guān)聯(lián)的應(yīng)用的運(yùn)行時(shí)間之前被限定。那些圖形資源114之中的其他包括動(dòng)態(tài)生成的圖形資源118,其在關(guān)聯(lián)應(yīng)用的執(zhí)行期間生成。值得注意的是圖1不意在描繪具有任何圖形處理架構(gòu)的全部部件的全面表示。相反,圖1包括簡化描繪,根據(jù)該簡化描繪,可在與操作環(huán)境100關(guān)聯(lián)的任何特定圖形處理架構(gòu)中包括的一些部件為了簡單和清楚起見而被省略。要理解實(shí)施例不限于該簡化描繪。
[0015]在各種實(shí)施例中,圖形處理電路106可將圖形資源114寫入存儲(chǔ)器單元104和/或從存儲(chǔ)器單元104檢索圖形資源114的速率可受到存儲(chǔ)器總線120的帶寬和/或存儲(chǔ)器總線120的一個(gè)或多個(gè)其他特性的限制。進(jìn)而,這可限制圖形處理電路106可以生成圖形幀112的速率。如果圖形處理電路106不能以足夠的速率生成圖形幀112,在顯示器146上呈現(xiàn)的圖形內(nèi)容的質(zhì)量可下降。如此,使與將圖形資源114寫入存儲(chǔ)器單元104和/或從存儲(chǔ)器單元104檢索圖形資源114關(guān)聯(lián)的帶寬需求下降,這可是可取的。
[0016]在一些常規(guī)系統(tǒng)中使用的一個(gè)方法牽涉在將一些圖形資源存儲(chǔ)在存儲(chǔ)器中之前壓縮它們。然而,在常規(guī)系統(tǒng)中,壓縮僅應(yīng)用于靜態(tài)圖形資源(例如預(yù)先生成的圖形資源116)、特定資源類別和/或渲染管道的某些階段。從而,常規(guī)方法未能利用可通過對動(dòng)態(tài)生成的圖形資源(例如動(dòng)態(tài)生成的圖形資源118)應(yīng)用壓縮而潛在獲得的存儲(chǔ)器帶寬消耗減少。
[0017]本文公開對于動(dòng)態(tài)生成的圖形資源的壓縮技術(shù),例如可在一些實(shí)施例中實(shí)現(xiàn)以便使圖形應(yīng)用的存儲(chǔ)器帶寬需求下降。根據(jù)各種這樣的技術(shù),是否和/或如何壓縮指定動(dòng)態(tài)生成的圖形資源的確定可至少部分基于有多頻繁地使用動(dòng)態(tài)生成的圖形資源和/或?yàn)榱耸箘?dòng)態(tài)生成的圖形資源的尺寸減少而可犧牲它的一定程度質(zhì)量所到的程度(如有的話)。根據(jù)本文描述的技術(shù),壓縮可應(yīng)用于具有任意格式、位深度和片布局的動(dòng)態(tài)生成的圖形資源。在一些實(shí)施例中,公開的技術(shù)可應(yīng)用于在對于3D圖形內(nèi)容的渲染管道的一個(gè)或多個(gè)階段中生成和/或與之關(guān)聯(lián)的動(dòng)態(tài)生成的圖形資源。在各種其他實(shí)施例中,公開的技術(shù)可應(yīng)用于與其他類型的圖形過程關(guān)聯(lián)的動(dòng)態(tài)生成的圖形資源。實(shí)施例不限制在該上下文中。
[0018]圖2圖示裝置200的框圖。如在圖2中示出的,裝置200包括多個(gè)元件,其包括處理器電路202、存儲(chǔ)器單元204、圖形處理電路206和圖形管理模塊208。然而,實(shí)施例不限于在該圖中示出的元件的類型、數(shù)量或設(shè)置。
[0019]在一些實(shí)施例中,裝置200可包括處理器電路202。處理器電路202可使用任何處理器或邏輯設(shè)備來實(shí)現(xiàn),例如復(fù)雜指令集計(jì)算機(jī)(CISC)微處理器、精簡指令集計(jì)算(RISC)微處理器、超長指令字(VLIW)微處理器、x86指令集兼容處理器、實(shí)現(xiàn)指令集組合的處理器、多核處理器(例如雙核處理器或雙核移動(dòng)處理器)或任何其他微處理器或中央處理單元(CPU)。處理器電路202還可實(shí)現(xiàn)為專用處理器,例如控制器、微控制器、嵌入式處理器、芯片多處理器(CMP)、協(xié)處理器、數(shù)字信號(hào)處理器(DSP)、網(wǎng)絡(luò)處理器、媒體處理器、輸入/輸出(I/O)處理器、媒體訪問控制(MAC)處理器、無線電基帶處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、可編程邏輯設(shè)備(PLD)等。在一個(gè)實(shí)施例中,例如,處理器電路202可實(shí)現(xiàn)為通用處理器,例如由加利福尼亞州Santa Clara的Intel?公司制造的處理器。實(shí)施例不限制在該上下文中。
[0020]在各種實(shí)施例中,處理器電路202可操作成執(zhí)行操作系統(tǒng)203。操作系統(tǒng)203可包含、傳達(dá)、生成、獲得和提供程序部件、系統(tǒng)、用于和數(shù)據(jù)通信、請求和響應(yīng),并且可操作成促進(jìn)與各種硬件和/或軟件部件的交互和/或各種硬件和/或軟件部件之間的交互,例如通信網(wǎng)絡(luò)、網(wǎng)絡(luò)接口、數(shù)據(jù)、1/0、外圍設(shè)備、存儲(chǔ)設(shè)備、程序部件、存儲(chǔ)器設(shè)備、用戶輸入設(shè)備及類似物。在一些實(shí)施例中,操作系統(tǒng)203可包括編程邏輯,其操作成使用和/或控制裝置200的一個(gè)或多個(gè)硬件和/或軟件元件。實(shí)施例不限制在該上下文中。
[0021 ] 在各種實(shí)施例中,裝置200可包括存儲(chǔ)器單元204或設(shè)置成與存儲(chǔ)器單元204通信耦合。存儲(chǔ)器單元204可使用能夠存儲(chǔ)數(shù)據(jù)的任何機(jī)器可讀或計(jì)算機(jī)可讀介質(zhì)來實(shí)現(xiàn),其包括易失性和非易失性存儲(chǔ)器兩者。例如,存儲(chǔ)器單元204可包括只讀存儲(chǔ)器(R0M)、隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)RAM (DRAM)、雙數(shù)據(jù)速率DRAM (DDRAM)、同步DRAM (SDRAM)、靜態(tài)RAM (SRAM)、可編程ROM (PR0M)、可擦除可編程ROM (EPR0M)、電可擦除可編程ROM(EEPR0M)、閃速存儲(chǔ)器、聚合物存儲(chǔ)器(例如,鐵電聚合物存儲(chǔ)器)、奧氏存儲(chǔ)器、相變或鐵電存儲(chǔ)器、硅-氧化物-氮化物-氧化物-硅(S0N0S)存儲(chǔ)器、磁或光卡或適合存儲(chǔ)信息的任何其他類型的介質(zhì)。值得注意的是存儲(chǔ)器單元204的某一部分或全部可包括在與處理器電路202相同的集成電路上,或備選地,存儲(chǔ)器單元204的某一部分或全部可設(shè)置在集成電路或在處理器電路202的集成電路外部的其他介質(zhì)(例如硬盤驅(qū)動(dòng)器)上。盡管在圖2中的裝置200內(nèi)包括存儲(chǔ)器單元204,在一些實(shí)施例中,存儲(chǔ)器單元204可在裝置200外部。實(shí)施例不限制在該上下文中。
[0022]在一些實(shí)施例中,裝置200可包括圖形處理電路206。圖形處理電路206可包括設(shè)置成代表裝置200執(zhí)行圖形處理計(jì)算和/或操作的電路。在各種實(shí)施例中,圖形處理電路206可操作成生成圖形幀以存儲(chǔ)在用于在一個(gè)或多個(gè)顯示器上呈現(xiàn)圖形的一個(gè)或多個(gè)幀緩沖器中。在一些實(shí)施例中,圖形處理電路206可包括圖形處理單元(GPU)。在各種實(shí)施例中,圖形處理電路206可包括處理器電路202內(nèi)的集成圖形電路。實(shí)施例在該上下文中不受限制。
[0023]在一些實(shí)施例中,裝置200可包括圖形管理模塊208。圖形管理模塊208可包括邏輯、電路和/或指令,其操作成管理和/或控制圖形處理電路206。在各種實(shí)施例中,圖形管理模塊208可包括對于圖形處理電路206的驅(qū)動(dòng)器。在一些實(shí)施例中,圖形管理模塊208可包括編程邏輯,其使操作系統(tǒng)203能夠使用和/或控制圖形處理電路206。實(shí)施例不限制在該上下文中。
[0024]圖2還圖示系統(tǒng)240的框圖。系統(tǒng)240可包括前面提到的裝置200的元件中的任一個(gè)。系統(tǒng)240可進(jìn)一步包括射頻(RF)收發(fā)器242。RF收發(fā)器242可包括能夠使用各種適合的無線通信技術(shù)來傳送和接收信號(hào)的一個(gè)或多個(gè)無線電。這樣的技術(shù)可牽涉跨一個(gè)或多個(gè)無線網(wǎng)絡(luò)的通信。示范性無線網(wǎng)絡(luò)包括(但不限于)蜂窩無線電接入網(wǎng)絡(luò)、無線局域網(wǎng)(WLAN)、無線個(gè)人區(qū)域網(wǎng)(WPAN)、無線城域網(wǎng)(WMAN)和衛(wèi)星網(wǎng)絡(luò)。在跨這樣的網(wǎng)絡(luò)的通信中,RF收發(fā)器242可根據(jù)任何版本中的一個(gè)或多個(gè)能適用的標(biāo)準(zhǔn)操作。實(shí)施例不限制在該上下文中。
[0025]在各種實(shí)施例中,系統(tǒng)240可包括一個(gè)或多個(gè)RF天線244。任何特定RF天線244的示例可無限制地包括內(nèi)部天線、全向天線、單極天線、偶極天線、端饋天線、圓極化天線、微帶天線、分集天線、雙天線、三頻天線、四頻天線等。在一些實(shí)施例中,RF收發(fā)器242可操作成使用一個(gè)或多個(gè)RF天線244來發(fā)送和/或接收消息和/或數(shù)據(jù)。實(shí)施例不限制在該上下文中。
[0026]在裝置200和/或系統(tǒng)240的一般操作期間,處理器電路202可操作成執(zhí)行圖形應(yīng)用209。圖形應(yīng)用209可包括有圖形生成能力特征的任何應(yīng)用,例如圖像或視頻查看應(yīng)用、圖像或視頻重放應(yīng)用、流播視頻重放應(yīng)用、多媒體應(yīng)用程序、系統(tǒng)程序、會(huì)議應(yīng)用、游戲應(yīng)用、生產(chǎn)力應(yīng)用、消息應(yīng)用、即時(shí)消息(頂)應(yīng)用、電子郵件(email)應(yīng)用、短消息服務(wù)(SMS)應(yīng)用、多媒體消息服務(wù)(MMS)應(yīng)用、社交聯(lián)網(wǎng)應(yīng)用、web瀏覽應(yīng)用等。在各種實(shí)施例中,圖形應(yīng)用209可包括三維(3D)圖形應(yīng)用,其有一個(gè)或多個(gè)3D圖形生成能力的特征。實(shí)施例不限制在該上下文中。
[0027]在一些實(shí)施例中,在執(zhí)行期間,圖形應(yīng)用209可一般操作成促使圖形處理電路206循環(huán)地用圖形幀212來填充幀緩沖器210??蓮膸彌_器210對顯示器246循環(huán)驅(qū)動(dòng)圖形幀212來促使在顯示器246上呈現(xiàn)內(nèi)容。顯示器246的示例可包括電視、監(jiān)視器、投影儀和計(jì)算機(jī)屏幕。在一個(gè)實(shí)施例中,例如,顯示器246可由液晶顯示器(IXD)、發(fā)光二極管(LED)或其他類型的適合的可視界面實(shí)現(xiàn)。顯示器246可包括例如觸敏顯示屏(“觸屏”)。在各種實(shí)現(xiàn)中,顯示器246可包括一個(gè)或多個(gè)薄膜晶體管(TFT)IXD,其包括嵌入式晶體管。然而,實(shí)施例不限于這些示例。值得注意的是盡管顯示器246在圖2中描繪為在裝置200和系統(tǒng)240外部,在一些實(shí)施例中,可在裝置200和/或系統(tǒng)240內(nèi)包括顯示器246。實(shí)施例不限制在該上下文中。
[0028]在各種實(shí)施例中,圖形處理電路206可操作成根據(jù)包括一系列道次的幀生成過程來生成任何特定圖形幀212。在一些實(shí)施例中,在這些道次中的一些或全部期間,圖形處理電路206可操作成從它訪問的存儲(chǔ)器讀取一個(gè)或多個(gè)圖形資源214和/或?qū)⒁粋€(gè)或多個(gè)圖形資源214寫入它訪問的存儲(chǔ)器。在各種實(shí)施例中,例如,圖形處理電路206可操作成從存儲(chǔ)器單元204讀取一個(gè)或多個(gè)圖形資源214和/或?qū)⒁粋€(gè)或多個(gè)圖形資源214寫入存儲(chǔ)器單元204。為了簡單起見,接著的論述采取該特定示例設(shè)置。然而,要理解在一些其他實(shí)施例中,圖形處理電路206可操作成從除存儲(chǔ)器單元204以外的存儲(chǔ)器讀取一個(gè)或多個(gè)圖形資源214和/或?qū)⒁粋€(gè)或多個(gè)圖形資源214寫入除存儲(chǔ)器單元204以外的存儲(chǔ)器。例如,在各種實(shí)施例中,圖形處理電路206可操作成從在存儲(chǔ)器單元204外部的專用圖形存儲(chǔ)器讀取一個(gè)或多個(gè)圖形資源214和/或?qū)⒁粋€(gè)或多個(gè)圖形資源214寫入在存儲(chǔ)器單元204外部的專用圖形存儲(chǔ)器。實(shí)施例不限制在該上下文中。
[0029]在一些實(shí)施例中,每個(gè)圖形資源214可包括圖形信息以供在生成一個(gè)或多個(gè)圖形幀212中使用。圖形資源214的示例可無限制地包括紋理、中間渲染目標(biāo)、形狀、圖片、圖像、幀、位圖、模式和/或其他類型的圖形信息。在各種實(shí)施例中,圖形資源214可包括一個(gè)或多個(gè)預(yù)先生成的圖形資源216。每個(gè)預(yù)先生成的圖形資源216可包括在圖形應(yīng)用209開始執(zhí)行的時(shí)間已經(jīng)限定和/或構(gòu)成的圖形資源。在一些實(shí)施例中,預(yù)先生成的圖形資源216中的一個(gè)或多個(gè)可包括在圖形應(yīng)用209的設(shè)計(jì)和/或開發(fā)期間限定和/或構(gòu)成的圖形資源。在各種實(shí)施例中,圖形應(yīng)用209可操作成在執(zhí)行圖形應(yīng)用209的初始階段期間將一個(gè)或多個(gè)預(yù)先生成的圖形資源216存儲(chǔ)在存儲(chǔ)器單元204中。實(shí)施例不限制在該上下文中。
[0030]在一些實(shí)施例中,圖形資源214可包括一個(gè)或多個(gè)動(dòng)態(tài)生成的圖形資源218。每個(gè)動(dòng)態(tài)生成的圖形資源218可包括在圖形應(yīng)用209的持續(xù)執(zhí)行期間生成并且從而在執(zhí)行圖形應(yīng)用209之前未被限定的圖形資源。在各種實(shí)施例中,圖形處理電路206