欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多線程紋理解碼的制作方法

文檔序號:7790891閱讀:314來源:國知局
多線程紋理解碼的制作方法
【專利摘要】一種用于在多線程處理器中執(zhí)行紋理解碼的方法包括在多個(gè)硬件線程中實(shí)質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊。每一硬件線程每次解碼一個(gè)宏塊。所述方法還可包括將來自所述VP8幀的所述至少兩個(gè)宏塊的一宏塊指派給所述多線程處理器的一硬件線程。
【專利說明】多線程紋理解碼【技術(shù)領(lǐng)域】
[0001]本發(fā)明大體上涉及數(shù)據(jù)處理系統(tǒng),且更具體地說,涉及多線程紋理解碼。
【背景技術(shù)】
[0002]VP8為受到科技企業(yè)協(xié)會支持的開源視頻壓縮格式。具體地說,VP8為由WebM文件使用的視頻壓縮格式。WebM為專用于開發(fā)用于全球信息網(wǎng)的高質(zhì)量開放媒體格式的新開放媒體項(xiàng)目。VP8格式最初由0n2技術(shù)(0n2Technologies)公司開發(fā)作為視頻壓縮/解壓縮工具的VPx家族的后繼者。VP8格式已通過以解碼經(jīng)VP8壓縮的視頻流時(shí)的低計(jì)算復(fù)雜性實(shí)現(xiàn)高壓縮效率而取得工業(yè)支持。

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

[0003]根據(jù)本發(fā)明的一方面,描述一種用于在多線程處理器中執(zhí)行紋理解碼的方法。所述方法包括在多個(gè)硬件線程中實(shí)質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊。每一硬件線程每次處理一個(gè)宏塊。所述方法還可包括將所述VP8幀的宏塊指派給所述多線程處理器的每一硬件線程。
[0004]在另一方面中,描述一種用于執(zhí)行多線程紋理解碼的裝置。所述裝置包括至少一個(gè)多線程處理器及耦合到所述至少一個(gè)多線程處理器的存儲器。所述多線程處理器經(jīng)配置以在多個(gè)硬件線程中實(shí) 質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊。每一硬件線程每次解碼一個(gè)線程。所述裝置還可包括將所述VP8幀的宏塊指派給多線程處理器的每一硬件線程的控制器。
[0005]在另一方面中,描述一種用于執(zhí)行多線程紋理解碼的計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品包括非暫時(shí)性計(jì)算機(jī)可讀媒體,所述非暫時(shí)性計(jì)算機(jī)可讀媒體具有記錄于其上的程序代碼。所述計(jì)算機(jī)程序產(chǎn)品具有用以在多個(gè)硬件線程中實(shí)質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊的程序代碼。每一硬件線程每次處理一個(gè)宏塊。所述計(jì)算機(jī)程序產(chǎn)品還可包括用以將所述VP8幀呃宏塊指派給多線程處理器的硬件線程的程序代碼。
[0006]在另一方面中,描述一種用于多線程紋理解碼的裝置。所述裝置包括用于將VP8幀的至少兩個(gè)宏塊中的一宏塊指派給一硬件線程的裝置。每一硬件線程每次處理一個(gè)宏塊。所述裝置還包括用于在多個(gè)硬件線程中實(shí)質(zhì)上同時(shí)解碼所述VP8幀的所述宏塊的裝置。
[0007]下文將描述本發(fā)明的額外特征及優(yōu)點(diǎn)。所屬領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明可容易用作修改或設(shè)計(jì)用于進(jìn)行本發(fā)明的相同目的的其它結(jié)構(gòu)的基礎(chǔ)。所屬領(lǐng)域的技術(shù)人員還應(yīng)認(rèn)識到,這些等效建構(gòu)不脫離如所附權(quán)利要求書所闡述的本發(fā)明的教示。當(dāng)結(jié)合附圖進(jìn)行考慮時(shí),從以下描述將較好地理解相信為本發(fā)明的特性的新穎特征(所述所述特征及所述特性均涉及本發(fā)明的組織及操作方法)連同另外目標(biāo)及優(yōu)點(diǎn)。然而,應(yīng)明確地理解,所述圖中每一者僅出于說明及描述的目的而被提供且無意界定本發(fā)明的限度。【專利附圖】

【附圖說明】
[0008]本發(fā)明的特征、性質(zhì)及優(yōu)點(diǎn)將從下文在結(jié)合圖式進(jìn)行考慮時(shí)所闡述的[實(shí)施方式]而變得更顯而易見,在所述圖式中,相同參考字符始終對應(yīng)地識別。
[0009]圖1為根據(jù)本發(fā)明的一方面的包括紋理解碼邏輯的多處理器系統(tǒng)的框圖。
[0010]圖2為根據(jù)本發(fā)明的另一方面的說明圖1的紋理解碼邏輯的框圖。
[0011]圖3為根據(jù)本發(fā)明的另一方面的說明來自幀的宏塊的并行紋理解碼的框圖。
[0012]圖4說明根據(jù)本發(fā)明的一方面的用于多線程紋理解碼的方法。
[0013]圖5為根據(jù)本發(fā)明的另一方面的說明無線裝置的方面的框圖,所述無線裝置包括可操作以執(zhí)行用于多線程紋理解碼的指令的處理器。
[0014]圖6為展示可供有利地使用本發(fā)明的一方面的無線通信系統(tǒng)的框圖。
【具體實(shí)施方式】
[0015]下文結(jié)合附加圖式而闡述的[實(shí)施方式]意在描述各種配置,且無意表示可供實(shí)踐本文所描述的概念的僅有配置。[實(shí)施方式]出于提供對各種概念的透徹理解的目的而包括特定細(xì)節(jié)。然而,對于所屬領(lǐng)域的技術(shù)人員將顯而易見,可在沒有這些特定細(xì)節(jié)的情況下實(shí)踐這些概念。在一些例子中,以框圖形式展示眾所周知結(jié)構(gòu)及組件以避免混淆這些概念。
[0016]解碼根據(jù)VP8格式而編碼的視頻流通常用單個(gè)線程執(zhí)行以執(zhí)行預(yù)測、離散余弦變換(discrete cosine transform, DCT)/ 沃爾什 _ 哈達(dá)馬德變換(Walsh-Hadamardtransform, WHT)反轉(zhuǎn),及以光柵掃描次序的重構(gòu)。具體地說,VP8規(guī)格通常禁止宏塊濾波,直到幀的宏塊中的每一者被重構(gòu)為止。即,VP8解碼被指定為基于幀邊界而發(fā)生。針對經(jīng)VP8格式編碼的流的紋理解碼而指定的單線程處理阻止多線程處理器以及多處理器在VP8解碼期間實(shí)現(xiàn)高性能。根據(jù)本發(fā)明的一方面,并行地(同時(shí)地)解碼VP8幀的至少兩個(gè)宏塊(MB),在每一硬件線程中解碼一個(gè)宏塊。經(jīng)VP8編碼的宏塊的并行解碼可改進(jìn)高速緩存效率。
[0017]圖1展示根據(jù)本發(fā)明的一方面的包括紋理解碼邏輯200的多處理器系統(tǒng)100的框圖。專用集成電路(ASIC) 102包括支持多線程紋理解碼的各種處理單元。對于圖1所示的配置,ASIC102包括DSP核心118A及118B、處理器核心120A及120B、十字開關(guān)116、控制器110、內(nèi)部存儲器112,以及外部接口單元114。DSP核心118A及118B以及處理器核心120A及120B支持例如視頻、音頻、圖形、游戲及其類似者的各種功能。每一處理器核心可為RISC(精簡指令集計(jì)算)機(jī)器、微處理器,或某其它類型的處理器??刂破?10控制々31(:102內(nèi)的處理單元的操作。內(nèi)部存儲器112存儲由ASIC102內(nèi)的處理單元使用的數(shù)據(jù)及程序代碼。外部接口單元114與在ASIC102外部的其它單元建立接口連接。大體上,ASIC102可包括少于、多于及/或不同于圖1所示的處理單元的處理單元。包括于ASIC102中的處理單元的數(shù)目及處理單元的類型取決于例如由多處理器系統(tǒng)100支持的通信系統(tǒng)、應(yīng)用及功能的各種因素。
[0018]紋理編碼技術(shù)可通過各種手段實(shí)施。舉例來說,這些技術(shù)可以硬件、固件、軟件或其組合予以實(shí)施。對于硬件實(shí)施,紋理編碼技術(shù)可實(shí)施于一或多個(gè)ASIC、DSP、DSPD, PLD、FPGA、處理器、控制器、微控制器、微處理器、電子裝置、經(jīng)設(shè)計(jì)成執(zhí)行本文所描述的功能的其它電子單元或其組合內(nèi)。紋理編碼技術(shù)的某些方面可用執(zhí)行所描述功能的軟件模塊(例如,程序、函數(shù),等等)來實(shí)施。軟件程序代碼可存儲于存儲器(例如,圖1中的存儲器101及/或112)中且由處理器(例如,DSP核心118A及/或118B)執(zhí)行。所述存儲器可實(shí)施于所述處理器內(nèi)或所述處理器外部。
[0019]ASIC102進(jìn)一步耦合到存儲紋理解碼指令230的存儲器101。對于圖1所示的配置,每一處理核心執(zhí)行紋理解碼指令230。在一配置中,ASIC102可包括紋理解碼邏輯200,如圖2進(jìn)一步所說明。
[0020]圖2為根據(jù)本發(fā)明的一方面的說明圖1的紋理解碼邏輯200的框圖。代表性地,經(jīng)剖析包234由前端線程240接收。在此配置中,前端線程240將來自經(jīng)剖析包234的幀的宏塊提供給任務(wù)隊(duì)列242。從任務(wù)隊(duì)列242,根據(jù)任務(wù)大小將宏塊指派給工作者線程集區(qū)
246的工作者線程248(248-1、......、248_N)。在此配置中,每一工作者線程248逐宏塊地
執(zhí)行完整紋理解碼。即,每一工作者線程248逐宏塊地執(zhí)行預(yù)測、逆變換、重構(gòu)及回路濾波。因此,工作者線程248集體地執(zhí)行宏塊的并行/同時(shí)紋理解碼,例如,如圖3所示。另外,每一線程根據(jù)任務(wù)大小而每次解碼數(shù)個(gè)宏塊。
[0021 ] 如圖2進(jìn)一步所說明,根據(jù)本發(fā)明的一方面,任務(wù)管理器250維持宏塊之間的相依性。在本發(fā)明的此方面中,任務(wù)管理器250將一或多個(gè)宏塊的任務(wù)指派給具有被解碼的相依鄰近者的工作者線程248。一旦工作者線程248完成宏塊的解碼,就可將經(jīng)解碼宏塊存儲于幀隊(duì)列244中。在此配置中,前端線程240將來自幀隊(duì)列244的經(jīng)解碼幀236發(fā)送到(例如)幀緩沖器(未圖示)。在此配置中,每一工作者線程248可每次處理兩個(gè)宏塊;然而,其它任務(wù)大小配置是可能的。
[0022]圖3為根據(jù)本發(fā)明的一方面的說明幀300內(nèi)的宏塊356的并行解碼的框圖。在此配置中,提供行緩沖器352及列緩沖器354以實(shí)現(xiàn)在重構(gòu)之后對每一宏塊356的回路濾波。在此配置中,引入行緩沖器352及列緩沖器354以消除對緊接在重構(gòu)之后進(jìn)行宏塊的回路濾波的限定。代表性地,行緩沖器352及列緩沖器354實(shí)現(xiàn)由多個(gè)線程并行地進(jìn)行的解碼358。如上文所提到,通常,VP8解碼指定延遲宏塊356的回路濾波,直到一幀內(nèi)的每一宏塊356的重構(gòu)完成為止。
[0023]如圖3的配置所示,行緩沖器352及列緩沖器354存儲在回路濾波之前的經(jīng)重構(gòu)像素。在本發(fā)明的此方面中,存儲于行緩沖器352及列緩沖器354中的未經(jīng)濾波像素實(shí)現(xiàn)幀內(nèi)預(yù)測,所述幀內(nèi)預(yù)測是使用未經(jīng)濾波像素來執(zhí)行。具體地說,幀內(nèi)預(yù)測是使用先前宏塊的經(jīng)重構(gòu)鄰近者信息來執(zhí)行。在此配置中,一旦宏塊356的經(jīng)重構(gòu)像素信息存儲于行緩沖器352及列緩沖器354中,就緊接著對宏塊356進(jìn)行濾波。即,經(jīng)重構(gòu)像素信息存儲于行緩沖器352及列緩沖器354內(nèi)以實(shí)現(xiàn)針對下一宏塊的幀內(nèi)預(yù)測。在本發(fā)明的此方面中,通過集中于本地(列)緩沖器內(nèi)的紋理解碼來改進(jìn)高速緩存性能,同時(shí)在可能時(shí)減少或避免幀緩沖器存取。
[0024]再次參看圖2,用于經(jīng)VP8格式編碼的數(shù)據(jù)的紋理解碼的多線程方案可實(shí)現(xiàn)每秒三十個(gè)幀(30fps)以用于解碼720p視頻剪輯。在此配置中,不存在針對幀內(nèi)的宏塊的預(yù)定義解碼序列。具體地說,只要任一任務(wù)準(zhǔn)備好解碼,個(gè)別工作者線程248便請求任務(wù)。結(jié)果,隨著解碼針對一個(gè)幀而進(jìn)展,愈來愈多的同質(zhì)線程開始所述解碼。因此,工作者線程248從事于任務(wù)的時(shí)間增加且動態(tài)地平衡,使得用于解碼一個(gè)幀的總時(shí)間量顯著減小。在本發(fā)明的此方面中,任務(wù)大小是基于高速緩存線大小。即,通過硬件線程解碼的宏塊的數(shù)目是基于高速緩存線大小。舉例來說,兩個(gè)宏塊的任務(wù)大小經(jīng)選擇用于三十二字節(jié)高速緩存線大小。在本發(fā)明的一方面中,特定硬件線程可被指派給幀的每一行。
[0025]圖4說明根據(jù)本發(fā)明的一方面的用于多線程紋理解碼的方法400。在框410處,使用裝置在多個(gè)硬件線程中同時(shí)解碼VP8幀的至少兩個(gè)宏塊(MB)。每一硬件線程每次解碼一個(gè)宏塊。如本文所描述,至少兩個(gè)宏塊的同時(shí)解碼可指代在同一時(shí)間或?qū)嵸|(zhì)上在同一時(shí)間執(zhí)行至少兩個(gè)宏塊的紋理解碼。根據(jù)本發(fā)明的此方面,每一工作者線程逐宏塊地執(zhí)行完整紋理解碼(預(yù)測、逆變換、重構(gòu)及回路濾波)。
[0026]舉例來說,在一工作者線程中執(zhí)行的宏塊O (MBO)的預(yù)測、MBO的逆變換、MBO的重構(gòu)及MBO的回路濾波與在另一工作者線程中執(zhí)行的宏塊I(MBl)的預(yù)測、MBl的逆變換、MBl的重構(gòu)及MBl的回路濾波實(shí)質(zhì)上同時(shí)。在本發(fā)明的此方面中,宏塊的回路濾波緊接在宏塊的重構(gòu)之后。取決于任務(wù)大小,每一工作者線程可處理多個(gè)宏塊,使得硬件線程集體地并行處理多個(gè)宏塊。
[0027]在一配置中,所述裝置包括用于在包括邏輯電路的處理器中的多線程紋理解碼的裝置。在本發(fā)明的一方面中,解碼裝置可為:紋理解碼邏輯200 ;DSP核心118AU18B ;處理器核心120A及120B ;及/或經(jīng)配置以執(zhí)行由解碼裝置敘述的功能的多處理器系統(tǒng)100。在本發(fā)明的另一方面中,前述裝置可為經(jīng)配置以執(zhí)行由前述裝置敘述的功能的任何模塊或任何裝置。
[0028]圖5說明根據(jù)本發(fā)明的一方面的經(jīng)配置用于多線程紋理解碼的無線裝置500的框圖。無線裝置500包括耦合到存儲器501的處理器,例如,數(shù)字信號處理器(DSP) 520。在本發(fā)明的一特定方面中,存儲器501存儲且可傳輸可由DSP520執(zhí)行的指令,例如,紋理解碼指
令530。在執(zhí)行紋理解碼指令530后,即刻建立多個(gè)紋理解碼邏輯線程560 (560-1、.......560-N)以用于針對每一線程560來執(zhí)行對幀的多個(gè)宏塊的并行紋理解碼。代表性地,每一紋理解碼邏輯線程包括預(yù)測塊562、離散余弦變換(DCT)/沃爾什-哈達(dá)馬德變換(WHT)反轉(zhuǎn)塊564、重構(gòu)塊566及回路濾波塊568。在此配置中,緊接著將宏塊從重構(gòu)塊566提供到回路濾波塊568以用于實(shí)現(xiàn)在宏塊邊界而非常規(guī)幀邊界處的并行紋理解碼。
[0029]根據(jù)本發(fā)明的一方面,通過將未經(jīng)濾波像素存儲于行緩沖器552及列緩沖器554中來執(zhí)行宏塊級下的紋理解碼。將未經(jīng)濾波像素存儲于行緩沖器552及列緩沖器554中實(shí)現(xiàn)針對后續(xù)宏塊的預(yù)測。如參看圖2所描述,任務(wù)管理器550將宏塊指派給紋理解碼邏輯線程560。另外,前端線程540將宏塊提供給各種線程560,且將經(jīng)解碼幀存儲于幀緩沖器556內(nèi)。在此配置中,被指派給每一線程560的宏塊的量是基于高速緩存線大小。舉例來說,針對每一線程560的兩個(gè)宏塊的任務(wù)大小經(jīng)選擇用于三十二字節(jié)高速緩存線大小。
[0030]圖5還展示耦合到DSP520及顯示器528的顯示控制器514。編碼器/解碼器(編解碼器(CODEC) )570(例如,音頻及/或話音CODEC)可耦合到DSP520。舉例來說,C0DEC570可致使作為解碼過程的部分來執(zhí)行紋理解碼指令530。例如顯示控制器514 (其可包括視頻CODEC及/或圖像處理器)及無線控制器510 (其可包括調(diào)制解調(diào)器)的其它組件還可致使在信號處理期間執(zhí)行紋理解碼指令530。揚(yáng)聲器572及麥克風(fēng)574可耦合到C0DEC570。圖5還指示無線控制器510可耦合到無線天線508。在一配置中,DSP520、顯示控制器514、存儲器501、C0DEC570及無線控制器510包括于系統(tǒng)級封裝或系統(tǒng)單芯片裝置522中。[0031]在一特定配置中,輸入裝置526及電源供應(yīng)器524耦合到系統(tǒng)單芯片裝置522。此外,在特定配置中,如圖5所說明,顯示器528、輸入裝置526、揚(yáng)聲器572、麥克風(fēng)574、無線天線508及電源供應(yīng)器524處于系統(tǒng)單芯片裝置522外部。然而,顯示器528、輸入裝置526、揚(yáng)聲器572、麥克風(fēng)574、無線天線508及電源供應(yīng)器524中的每一者可耦合到系統(tǒng)單芯片裝置522的組件,例如,接口或控制器。
[0032]應(yīng)注意,盡管圖5描繪無線通信裝置,但DSP520及存儲器501還可集成到機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、個(gè)人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元或計(jì)算機(jī)中。處理器(例如,DSP520及/或包括圖1的微處理器120的處理器)也可集成到此裝置中。
[0033]圖6為展示可供有利地使用本發(fā)明的實(shí)施例的示范性無線通信系統(tǒng)600的框圖。出于說明的目的,圖6展示三個(gè)遠(yuǎn)程單元620、630及650,以及兩個(gè)基站640。應(yīng)認(rèn)識到,無線通信系統(tǒng)可具有更多遠(yuǎn)程單元及基站。遠(yuǎn)程單元620、630及650包括IC裝置625A、625B及625C,所述IC裝置包括多線程紋理解碼器。應(yīng)認(rèn)識到,含有IC的任何裝置也可包括此處所揭示的多線程紋理解碼器,包括基站、切換裝置及網(wǎng)絡(luò)設(shè)備。圖6展示從基站640到遠(yuǎn)程單元620、630及650的正向鏈路信號680,以及從遠(yuǎn)程單元620、630及650到基站640的反向鏈路信號690。
[0034]在圖6中,遠(yuǎn)程單元620被展示為移動電話,遠(yuǎn)程單元630被展示為便攜式計(jì)算機(jī),且遠(yuǎn)程單元650被展示為無線區(qū)域回路系統(tǒng)中的固定位置遠(yuǎn)程單元。舉例來說,所述遠(yuǎn)程單元可為移動電話、手持式個(gè)人通信系統(tǒng)(PCS)單元、例如個(gè)人數(shù)據(jù)助理的便攜式數(shù)據(jù)單元、具GPS能力的裝置、導(dǎo)航裝置、機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、例如儀表讀取設(shè)備的固定位置數(shù)據(jù)單元,或存儲或檢索數(shù)據(jù)或計(jì)算機(jī)指令的任何其它裝置,或其任何組合。盡管圖6根據(jù)本發(fā)明的教示而說明遠(yuǎn)程單元,但本發(fā)明不限于這些示范性所說明單元。本發(fā)明的方面可合適地用于包括多線程紋理解碼器的任何裝置中。
[0035]盡管已闡述特定電路,但所屬領(lǐng)域的技術(shù)人員應(yīng)了解,并不需要所揭示電路中的全部來實(shí)踐所揭示實(shí)施例。此外,尚未描述某些眾所周知電路以維持對本發(fā)明的關(guān)注。
[0036]所屬領(lǐng)域的技術(shù)人員應(yīng)進(jìn)一步了解,結(jié)合本文中的揭示內(nèi)容而描述的各種說明性邏輯塊、模塊、電路及算法步驟可被實(shí)施為電子硬件、計(jì)算機(jī)軟件或此兩者的組合。為了清楚地說明硬件與軟件的這種可互換性,上文已大體上在功能性方面描述各種說明性組件、塊、模塊、電路及步驟。將此功能性實(shí)施為硬件還是軟件取決于特定應(yīng)用及強(qiáng)加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用而以變化方式來實(shí)施所描述功能性,但這些實(shí)施決策不應(yīng)被解釋為造成脫離本發(fā)明的范圍。
[0037]可通過通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或經(jīng)設(shè)計(jì)成執(zhí)行本文所描述的功能的其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件或其任何組合來實(shí)施或執(zhí)行結(jié)合本文中的揭示內(nèi)容而描述的各種說明性邏輯塊、模塊及電路。通用處理器可為微處理器,但在替代方案中,所述處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可被實(shí)施為計(jì)算裝置的組合,例如,DSP與微處理器的組合、多個(gè)微處理器的組合、結(jié)合DSP核心的一或多個(gè)微處理器,或任何其它此類配置。
[0038]在一或多個(gè)示范性設(shè)計(jì)中,所描述功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件來實(shí)施,那么所述功能可作為一或多個(gè)指令或程序代碼而存儲于計(jì)算機(jī)可讀媒體上或經(jīng)由計(jì)算機(jī)可讀媒體進(jìn)行傳輸。計(jì)算機(jī)可讀媒體包括計(jì)算機(jī)存儲媒體及通信媒體兩者,通信媒體包括促進(jìn)計(jì)算機(jī)程序從一處到另一處的傳送的任何媒體。存儲媒體可為可由通用或?qū)S糜?jì)算機(jī)存取的任何可用媒體。作為實(shí)例而非限制,這些計(jì)算機(jī)可讀媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置,或可用以運(yùn)載或存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)或通用或?qū)S锰幚砥鞔嫒〉娜魏纹渌襟w。并且,將任何連接適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸電纜、光纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電及微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,那么同軸電纜、光纜、雙絞線、DSL或例如紅外線、無線電及微波等無線技術(shù)包括于媒體的定義中。如本文所使用,磁盤及光盤包括壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤通過激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各者的組合也應(yīng)包括于計(jì)算機(jī)可讀媒體的范圍內(nèi)。
[0039]提供本發(fā)明的先前描述是為了使任何所屬領(lǐng)域的技術(shù)人員能夠制造或使用本發(fā)明。在不脫離本發(fā)明的精神或范圍的情況下,對本發(fā)明的各種修改對于所屬領(lǐng)域的技術(shù)人員將容易顯而易見,且本文所定義的一般原理可應(yīng)用于其它變化。因此,本發(fā)明無意限于本文所描述的實(shí)例及設(shè)計(jì),而應(yīng)被賦予與本文所揭示的原理及新穎特征一致的最廣范圍。
【權(quán)利要求】
1.一種用于多線程處理器中的紋理解碼的方法,其包含: 通過多個(gè)硬件線程實(shí)質(zhì)上同時(shí)地解碼VP8幀的至少兩個(gè)宏塊,每一硬件線程處理一宏塊。
2.根據(jù)權(quán)利要求1所述的方法,其中所述至少兩個(gè)宏塊來自不同行。
3.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含將未經(jīng)濾波像素存儲于行緩沖器及列緩沖器中的至少一者中。
4.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含: 將所述至少兩個(gè)宏塊的經(jīng)重構(gòu)像素存儲于行緩沖器及列緩沖器中的至少一者內(nèi)。
5.根據(jù)權(quán)利要求1所述的方法,其中解碼進(jìn)一步包含: 在每一硬件線程中重構(gòu)一個(gè)宏塊;且接著 對所述經(jīng)重構(gòu)宏塊進(jìn)行濾波。
6.根據(jù)權(quán)利要求1所述的方法,其中通過單個(gè)硬件線程解碼的宏塊的數(shù)目是基于高速緩存線大小。
7.根據(jù)權(quán)利要求1所述的方法,其中解碼包含同時(shí)重構(gòu)所述至少兩個(gè)宏塊中的每一者且對其進(jìn)行濾波。
8.根據(jù)權(quán)利要求1所述的方法,其中解碼包含同時(shí)對所述VP8幀的所述至少兩個(gè)宏塊中的每一者進(jìn)行紋理解碼。
9.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含將所述多線程處理器集成到移動電話、機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、計(jì)算機(jī)、手持式個(gè)人通信系統(tǒng)PCS單元、便攜式數(shù)據(jù)單元及固定位置數(shù)據(jù)單元中的至少一者中。
10.一種用于多線程紋理解碼的裝置,其包含: 存儲器;以及 至少一個(gè)多線程處理器,其耦合到所述存儲器,所述至少一個(gè)多線程處理器經(jīng)配置以通過多個(gè)硬件線程實(shí)質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊,每一硬件線程處理一宏塊。
11.根據(jù)權(quán)利要求10所述的裝置,其中所述至少兩個(gè)宏塊來自不同行。
12.根據(jù)權(quán)利要求10所述的裝置,其中所述至少一個(gè)多線程處理器經(jīng)進(jìn)一步配置以: 將未經(jīng)濾波像素存儲于行緩沖器及列緩沖器中的至少一者中;且 將所述至少兩個(gè)宏塊的經(jīng)重構(gòu)像素存儲于所述行緩沖器及所述列緩沖器中的至少一者內(nèi)。
13.根據(jù)權(quán)利要求10所述的裝置,其中所述多線程處理器經(jīng)進(jìn)一步配置以通過如下方式進(jìn)行解碼: 在硬件線程中重構(gòu)一個(gè)宏塊;且接著 對所述經(jīng)重構(gòu)宏塊進(jìn)行濾波。
14.根據(jù)權(quán)利要求10所述的裝置,其進(jìn)一步包含控制器,所述控制器經(jīng)配置以將所述VP8幀的至少兩個(gè)宏塊中的一宏塊指派給所述多線程處理器的一硬件線程。
15.根據(jù)權(quán)利要求10所述的裝置,其中所述多線程處理器包含數(shù)字信號處理器及多核心處理器中的一者。
16.根據(jù)權(quán)利要求10所述的裝置,其中通過單個(gè)硬件線程解碼的宏塊的數(shù)目是基于高速緩存線大小。
17.根據(jù)權(quán)利要求10所述的裝置,其集成到移動電話、機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、計(jì)算機(jī)、手持式個(gè)人通信系統(tǒng)PCS單元、便攜式數(shù)據(jù)單元及固定位置數(shù)據(jù)單元中的至少一者中。
18.一種用于多線程紋理解碼的裝置,其包含: 用于將VP8幀的至少兩個(gè)宏塊中的一宏塊指派給一硬件線程的裝置 '及 用于在多個(gè)硬件線程中實(shí)質(zhì)上同時(shí)解碼所述VP8幀的所述至少兩個(gè)宏塊的裝置。
19.根據(jù)權(quán)利要求18所述的裝置,其集成到移動電話、機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、計(jì)算機(jī)、手持式個(gè)人通信系統(tǒng)PCS單元、便攜式數(shù)據(jù)單元及固定位置數(shù)據(jù)單元中的至少一者中。
20.一種經(jīng)配置用于多線程紋理解碼的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包含: 非暫時(shí)性計(jì)算機(jī)可讀媒體,其具有記錄于其上的非暫時(shí)性程序代碼,所述程序代碼包含: 用以通過多個(gè)硬件線程實(shí)質(zhì)上同時(shí)解碼VP8幀的至少兩個(gè)宏塊的程序代碼,每一硬件線程處理一宏塊。
21.根據(jù)權(quán)利要求20所述的程序產(chǎn)品,其集成到移動電話、機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、計(jì)算機(jī)、手持式個(gè)人通信系統(tǒng)PCS單元、便攜式數(shù)據(jù)單元及固定位置數(shù)據(jù)單元中的至少一者中。
【文檔編號】H04N19/82GK104041050SQ201380005126
【公開日】2014年9月10日 申請日期:2013年1月20日 優(yōu)先權(quán)日:2012年1月20日
【發(fā)明者】周博, 肖舒, 杜俊晨, 蘇海勒·亞利爾 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
青海省| 华宁县| 贞丰县| 含山县| 清远市| 肃南| 邵东县| 都江堰市| 确山县| 桂平市| 镇赉县| 台北市| 峨山| 烟台市| 中宁县| 克什克腾旗| 高安市| 达拉特旗| 志丹县| 奈曼旗| 大兴区| 海晏县| 新昌县| 福州市| 商河县| 静海县| 南宫市| 澳门| 兴海县| 乐山市| 布拖县| 义乌市| 正安县| 陇西县| 广德县| 大悟县| 清苑县| 子长县| 会昌县| 霍州市| 沈阳市|