專利名稱:硬件加速壓縮視頻位流轉(zhuǎn)義碼處理的制作方法
硬件加速壓縮視頻位流轉(zhuǎn)義碼處理
背景技術(shù):
視頻解壓縮或重建壓縮視頻流的過程需要許多不同的軟件(sw)
算法和硬件(HW)組件。在高級上,用于重建可變長度編碼(VLC) 壓縮視頻的HW組件對于不同的標(biāo)準(zhǔn)視頻編解碼器非常相似??勺冮L 度解碼(VLD)組件就是一個(gè)這樣的HW組件,它分析包括VLC編 碼數(shù)據(jù)和未編碼數(shù)據(jù)的輸入視頻數(shù)據(jù)位流,以便從位流中提取VLC 碼和重建視頻數(shù)據(jù)所需的其它信息。大多數(shù)VLD組件都利用一次N 位(Nbaat)方案來分析位流以便加速解碼過程。
典型的VLD組件還利用查找表(LUT)來增強(qiáng)性能。LUT將那 些最可能遇到的VLC編碼符號編入索引中。但是,為了保持LUT大 小的可管理性并且因此降低硬件成本,通過轉(zhuǎn)義碼而不是LUT索引來 表示較稀少的符號(symbol)。當(dāng)?shù)湫偷腣LD組件遇到轉(zhuǎn)義碼時(shí),它中 斷Nbaat位流分析流程,同時(shí)利用SW例行程序來重建關(guān)聯(lián)的符號。 但是,像這樣中斷Nbaat流程會顯著增加VLD組件處理輸入壓縮位流 所需的時(shí)間。
附圖結(jié)合于本說明書并構(gòu)成本"i兌明書的一部分,它們示出符合本 發(fā)明的原理的一個(gè)或多個(gè)實(shí)現(xiàn),并且與描述一起說明這些實(shí)現(xiàn)。附圖 不一定按比例繪制,而是將重點(diǎn)放在說明本發(fā)明的原理上。附圖中 圖1是示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的示范系統(tǒng)的框圖; 圖2是根據(jù)本發(fā)明的一些實(shí)現(xiàn)更詳細(xì)地示出圖1中的視頻處理器 的部分的框圖3是根據(jù)本發(fā)明的一些實(shí)現(xiàn)更詳細(xì)地示出圖2中的視頻處理器的部分的框圖4是示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的過程的流程圖。
圖5是示出包括轉(zhuǎn)義碼序列的視頻數(shù)據(jù)位流的示范部分的框以及
圖6是示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的另一過程的流程圖。
具體實(shí)施例方式
以下描述參照附圖。在各個(gè)圖中,使用相同的附圖標(biāo)記來標(biāo)識相 同或類似的元件。盡管以下描述通過闡述諸如特定結(jié)構(gòu)、體系結(jié)構(gòu)、 接口 、技術(shù)等具體細(xì)節(jié)來提供對要求權(quán)利的本發(fā)明的各個(gè)方面的充分 理解,但是提供這些細(xì)節(jié)是出于說明的目的,而不應(yīng)視為是限制性的。 此外,根據(jù)本公開,本領(lǐng)域的技術(shù)人員將明白,可以在不背離這些具
些時(shí)刻,在以下公開中,省略了對熟知的設(shè)備、電路和方法的描述, 以免不必要的細(xì)節(jié)使得對本發(fā)明的描述變得不清晰。
圖1示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的示范系統(tǒng)100。系統(tǒng)100包括 耦合到圖形/存儲器控制器104的一個(gè)或多個(gè)處理器核102,除此之外 還包括存儲器106 (如動(dòng)態(tài)隨機(jī)存取存儲器(DRAM)、靜態(tài)隨機(jī)存 取存儲器(SRAM)、閃存等)、視頻處理器(VP) 108、顯示器109 和輸入/輸出(1/0)控制器110,它們?nèi)捡詈系娇刂破?04。系統(tǒng)100 還包括耦合到1/0控制器110的存儲設(shè)備111、耦合到1/0控制器110 的無線發(fā)射器電路和無線"l妄收器電路112、以及耦合到電路112的天 線114(如偶極子天線、窄帶彎折線天線(MLA)、寬帶MLA、倒"F" 天線、平面倒"F"天線、Goubau天線、貼片天線等)。存儲設(shè)備lll 可包括一個(gè)或多個(gè)任意的非易失性信息或數(shù)據(jù)存儲設(shè)備,舉例來說, 如閃存和/或硬盤驅(qū)動(dòng)器。
系統(tǒng)100可采用各種物理實(shí)現(xiàn)。例如,系統(tǒng)100可在^L頂盒(STB )、 個(gè)人計(jì)算機(jī)(PC)、聯(lián)網(wǎng)PC、々某體PC、服務(wù)器計(jì)算系統(tǒng)、手持式計(jì)算平臺(如個(gè)人數(shù)字助理(PDA))、游戲系統(tǒng)(便攜式或其它)、 支持3D的蜂窩電話手持機(jī)等中實(shí)現(xiàn)。此外,盡管系統(tǒng)100的一些組 件可在諸如芯片上系統(tǒng)(SOC)集成電路(IC)的單個(gè)i殳備內(nèi)實(shí)現(xiàn), 但是系統(tǒng)100的組件也可分布在多個(gè)IC或設(shè)備上。例如,處理器核 102、控制器104/110、存儲器106、電路112和天線114可部分地作 為包含在單個(gè)計(jì)算平臺(舉例來說,如々某體PC或STB )內(nèi)的多個(gè)IC 來實(shí)現(xiàn)。盡管VP 108也可與物品102-106和110-114 —起在PC、 STB 或類似平臺內(nèi)實(shí)現(xiàn),但是它也可以備選地在顯示器109內(nèi)實(shí)現(xiàn)。
處理器核102可包括專用或通用處理器核,專用或通用處理器核 包括能夠向圖形/存儲器控制器104提供壓縮視頻數(shù)據(jù)和/或指令的任 何控制和/或處理邏輯、硬件、軟件和/或固件。在系統(tǒng)100上執(zhí)行的 軟件應(yīng)用可利用處理器核102來執(zhí)行各種圖形計(jì)算或過程,如渲染圖 像數(shù)據(jù)等,可以將其結(jié)果提供給圖形/存儲器控制器104,和/或可以將 它們存儲在存儲器106中以便最終提供給VP 108或供VP 108使用。
處理器核102還能夠執(zhí)行支持硬件加速壓縮視頻轉(zhuǎn)義碼處理的多 種任務(wù)中的任一種任務(wù)。例如,這些任務(wù)可包括向圖形/存儲器控制器 104提供壓縮視頻數(shù)據(jù)、將微代碼下載到控制器104、初始化和/或配 置控制器104內(nèi)的寄存器、中斷服務(wù)等,但本發(fā)明不限于這方面。盡 管可以將圖1解釋為示出作為不同IC的處理器核102和控制器104, 但本發(fā)明不限于這方面,本領(lǐng)域的技術(shù)人員將意識到,處理器核102 和控制器104以及系統(tǒng)100的可能的其它組件(如1/0控制器110) 可在單個(gè)IC內(nèi)實(shí)現(xiàn)。
圖形/存儲器控制器104可包括能夠處理或控制提供給VP 108和/ 或存儲器106的壓縮視頻數(shù)據(jù)的任何處理邏輯、硬件、軟件和/或固件。 根據(jù)本發(fā)明的一些實(shí)現(xiàn),圖形處理器104可從處理器核102或系統(tǒng)100 中的其它地方(如存儲設(shè)備111) ^^收壓縮^f見頻數(shù)據(jù),并且可以將編 碼視頻數(shù)據(jù)的位流形式的該壓縮視頻數(shù)據(jù)提供給VP 108以用于可變 長度編碼(VLC)的解碼處理,這將在下文更詳細(xì)地描述。VP108可包括能夠處理或解碼壓縮視頻數(shù)據(jù)以便向顯示器109提 供解壓縮后的視頻數(shù)據(jù)的任何視頻處理邏輯、硬件、軟件和/或固件。 例如,VP108可以是數(shù)字信號處理器(DSP),但本發(fā)明不受應(yīng)用到 VP108的描述標(biāo)記的限制。根據(jù)本發(fā)明的一些實(shí)現(xiàn),控制器104可從 存儲器106檢索壓縮視頻數(shù)據(jù),并將該數(shù)據(jù)作為編碼視頻數(shù)據(jù)的位流 提供給VP 108,并且VP 108可分析該位流并利用例如VLC解碼處理 來解碼該位流,這將在下文更詳細(xì)地描述。盡管本發(fā)明不限于這方面, 但本領(lǐng)域的技術(shù)人員將意識到,VP 108還可承擔(dān)各種其它視頻或圖像 處理功能,如圖像縮放、a-混合等。
盡管圖1將控制器104和VP 108作為不同組件示出,但本發(fā)明 不限于這方面,本領(lǐng)域的技術(shù)人員將意識到,例如,VP 108的一些(如 果不是全部)功能性可由控制器104或處理器核102提供,或者可在 不是組織到單個(gè)分離處理器或控制器IC中的控制邏輯和處理邏輯中 提供。此外,本領(lǐng)域的技術(shù)人員將意識到,VP108的功能性可在顯示 器109中整體或部分地實(shí)現(xiàn)。顯示器109可以是任何類型的顯示器, 舉幾個(gè)較常見的例子,如直觀式液晶顯示器(LCD)、背投式LCD、 等離子體顯示面板(PDP)、數(shù)字光處理(DLP)投影顯示器、或電 致發(fā)光(EL)顯示器。
圖2更詳細(xì)地示出視頻處理器(VP)200(例如,圖1中的VP108) 的部分。VP 200包括VLC解碼模塊(VLD) 202、耦合到VLD 202 的運(yùn)行長度解碼^t塊(RLD) 204、耦合到RLD 204的逆Z字形掃描 模塊(IZZ) 206、耦合到IZZ 206的離散余弦逆變換模塊(IDCT ) 208、 以及耦合到VLD202的運(yùn)動(dòng)補(bǔ)償模塊(MC) 210。
為了完整性的目的,圖2中包含了 RLD 204、 IZZ 206、 IDCT 208 和MC 210,但這與本發(fā)明并無特別的密切關(guān)系。本領(lǐng)域的技術(shù)人員 將明白物品204-210的典型功能性,并且因此,本文不再詳細(xì)論述此 功能性。
本領(lǐng)域的技術(shù)人員將意識到,VLD 202可接收包含編碼或壓縮視頻數(shù)據(jù)的視頻數(shù)據(jù)的位流,該位流包含表示特定塊變換系數(shù)的碼字或
符號。然后,VLD 202可利用一次N位(Nbaat)技術(shù)來分析該位流 以便提取碼字或符號,接著使用所提取的符號作為對一個(gè)或多個(gè)查找 表(LUT)(未示出)的索引來獲得表示頻域系數(shù)的值的關(guān)聯(lián)的運(yùn)行 和級別值。接著,VLD202可將那些運(yùn)行和級別值提供給RLD204以 用于重建關(guān)聯(lián)的系數(shù)。
根據(jù)本發(fā)明的一些實(shí)現(xiàn),如下文將更詳細(xì)地說明,在位流中遇到 轉(zhuǎn)義碼時(shí),VLD 202可利用處理邏輯或電路來從位流中提取關(guān)聯(lián)的運(yùn) 行和級別值,而無需中斷Nbaat分析流程。換句話說,根據(jù)本發(fā)明的 一些實(shí)現(xiàn),VLD202可利用硬件而不是軟件或固件來獲得與VLD202 在分析位流時(shí)檢測到或遇到的轉(zhuǎn)義碼關(guān)聯(lián)的運(yùn)行和級別值。
圖3更詳細(xì)地示出視頻處理器(VP) 300的部分,包括與圖2中 的VP 200的VLD 202和RLD 204類似的物品。VP 300包括位流分析 器硬件加速器模塊(BSP HWA) 302、耦合到BSP HWA 302的BSP 處理引擎模塊(BSPPE)304、耦合到BSPHWA302的RLD模塊306、 以及耦合到BSP PE 304和RLD 306的存儲器(如高速緩存存儲器)。
根據(jù)本發(fā)明的一些實(shí)現(xiàn),響應(yīng)由BSP PE 304發(fā)出的控制數(shù)據(jù)或命 令,BSP HWA 302可利用實(shí)現(xiàn)分析方案或流程的分析邏輯或電路來分 析輸入^L頻位流,其中該位流包括VLC編碼和以其它方式編碼的符 號。BSPHWA302可利用內(nèi)部LUT (未示出)來檢索與VLC編碼的 符號關(guān)聯(lián)的運(yùn)行長度和級別數(shù)據(jù)或值,然后將那些值提供給RLD 306 用于進(jìn)一步解碼處理。BSP HWA 302還可向BSP PE 304提供從位流 提取的其它信息,如與VLC編碼的數(shù)據(jù)關(guān)聯(lián)的序列、圖片和宏塊報(bào) 頭。然后,BSPPE304可將該其它信息存儲在存儲器308中,最終可 通過RLD模塊306將來自存儲器308的該其它信息與VLC編碼的數(shù) 據(jù)重新關(guān)聯(lián)。
根據(jù)本發(fā)明的一些實(shí)現(xiàn),如下文將更詳細(xì)地說明,在位流中遇到 轉(zhuǎn)義碼時(shí),BSP HWA 302可以利用處理邏輯或電路來提取關(guān)聯(lián)的運(yùn)行和級別值而無需分析邏輯中斷或脫離(depart from)Nbaat分析方案或流 程。因此,根據(jù)本發(fā)明的一些實(shí)現(xiàn),BSPHWA302可利用硬件而不是 軟件或固件來處理在位流中遇到的轉(zhuǎn)義碼。根據(jù)本發(fā)明的一些實(shí)現(xiàn), BSP HWA 302中的分析邏輯可通過一次四位(4Baat)地分析輸入位 流來實(shí)現(xiàn)Nbaat分析。但是,本發(fā)明不限于特定的解碼分析方案。因 此,根據(jù)本發(fā)明的一些實(shí)現(xiàn),BSPHWA302中的分析邏輯可實(shí)現(xiàn)其它 Nbaat方案,舉幾個(gè)其它例子,如3Baat或5Baat分析方案。
圖4示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的硬件加速壓縮視頻位流轉(zhuǎn)義碼 處理過程400。盡管為了便于說明而相對于圖1中的系統(tǒng)100或圖2 和圖3中的視頻處理器200/300來描述過程400和關(guān)聯(lián)的過程,但是 本發(fā)明不限于這方面,由根據(jù)本發(fā)明的適當(dāng)設(shè)備和/或設(shè)備組合支持和 /或執(zhí)行的其它過程或方案也是可能的。
過程400可從提供壓縮視頻數(shù)據(jù)位流用于處理[動(dòng)作402]開始。動(dòng) 作402可通過使控制器104向VP 108提供位流來進(jìn)行,其中控制器 104從例如存儲器106或經(jīng)由I/O控制器110從存儲設(shè)備111 (即,其 中存儲設(shè)備111可包括例如用于存儲位流的數(shù)字視頻盤(DVD))獲 得位流。因此,同時(shí)參照圖2,動(dòng)作402可包括向VLD模塊202提 供位流。或者,換句話說,參照圖3,動(dòng)作402可包括向BSPHWA302 的輸入緩沖器(未示出)提供位流,其中該位流可包括VLC碼和轉(zhuǎn) 義碼。
過程400繼續(xù)進(jìn)行,開始處理位流[動(dòng)作404]。根據(jù)本發(fā)明的一些 實(shí)現(xiàn),可響應(yīng)由BSPPE304發(fā)出的指示BSPHWA302對在動(dòng)作402 中提供的位流的至少一部分進(jìn)行Nbaat處理(即,分析和解碼)的解 碼命令而由BSP HWA 302進(jìn)行動(dòng)作404。在動(dòng)作404, BSP HWA 302 可按照逐塊方式開始處理位流,其中該處理可包括一系列動(dòng)作(未示 出),如利用分析邏輯通過識別代碼邊界來分析位流。本領(lǐng)域的技術(shù) 人員將意識到,諸如BSP HWA 302的BSP可按照逐塊方式分析和解 碼壓縮視頻位流,其中位流將視頻數(shù)據(jù)作為一連串8x8像素?cái)?shù)據(jù)塊進(jìn)行傳送,每個(gè)塊包含64個(gè)頻率系數(shù),其中每個(gè)系數(shù)由不同的VLC 符號或碼字指定。
圖5是示出示范壓縮視頻位流的一部分500的框圖,該部分包括 24位轉(zhuǎn)義碼序列502和一對代表性的10位VLC碼字或符號504和 506。轉(zhuǎn)義碼序列502包括未經(jīng)壓縮形式的6位轉(zhuǎn)義碼或符號508以 及緊跟其后的6位運(yùn)行值510和12位級別值512。每個(gè)VLC字504/506 以符號結(jié)束(EOS)碼509結(jié)束。本領(lǐng)域的技術(shù)人員將意識到,每個(gè) EOS碼509可以是暗示性的,即,諸如BSP HWA 302的BSP可一次 四位(4Baat)地分析10位VLC符號的位流,并且在分析特定VLC 符號的三個(gè)時(shí)鐘周期之后,該BSP將意識到,已獲得十個(gè)有效位,并 且因此檢測到EOS碼。
本領(lǐng)域的技術(shù)人員還將意識到,關(guān)于圖5中如何描繪部分500, 通常按照從左到右的方式分析諸如部分500的^f見頻位流。因此,在進(jìn) 行動(dòng)作404時(shí),BSP HWA 302中的分析邏輯可例如在遇到或檢測到轉(zhuǎn) 義碼508之前遇到或檢測到VLC符號504。盡管本領(lǐng)域的技術(shù)人員還 將意識到,可在壓縮視頻位流中使用轉(zhuǎn)義碼來說明低概率頻域或變換 系數(shù),但是本領(lǐng)域的技術(shù)人員還將意識到,轉(zhuǎn)義碼還可用于預(yù)示其它 位流事件,如塊結(jié)束、第一符號等。本領(lǐng)域的技術(shù)人員還將意識到, 部分500和轉(zhuǎn)義碼序列502可以是符合2002年4月4日發(fā)布的ISO/IEC 標(biāo)準(zhǔn)13818-2 (又名"MPEG-2"視頻編解碼器標(biāo)準(zhǔn))的位流的部分的 實(shí)例。但是,本發(fā)明不限于特定的編解碼器標(biāo)準(zhǔn)或位流和/或轉(zhuǎn)義碼序 列語法,并且因此,提供包含序列502的位流部分500純粹只是出于 論述過程400的部分的目的,而無論如何不應(yīng)視為是限制性的。
回到圖4,同時(shí)參照圖5 ,動(dòng)作404可包括例如BSP HWA 302通 過4baat分析位流部分500來提取VLC碼字或符號504。接著,過程 400繼續(xù)進(jìn)行,確定是否檢測到EOS碼[動(dòng)作406]。根據(jù)本發(fā)明的一 些實(shí)現(xiàn),動(dòng)作406可由BSP HWA 302進(jìn)行。因此,例如,動(dòng)作406碼509。如上所述,本領(lǐng)域的技術(shù)人員將意識到,當(dāng)BSP HWA 302 確定從位流中才全測到或提取出足以表示VLC符號504的有效位時(shí), BSP HWA 302可識別或檢測VLC符號504的EOS碼509。
如果動(dòng)作406的結(jié)果是肯定的,即,如果^f企測到EOS碼,則過程 400可繼續(xù)進(jìn)行符號解碼[動(dòng)作408]。根據(jù)本發(fā)明的一些實(shí)現(xiàn),可通過
多個(gè)LUT (未示出)訪問運(yùn)行和級別值來進(jìn)行動(dòng)作408。然后,BSP HWA 302可將那些運(yùn)行和級別值提供給RLD PE 306用于進(jìn)一步解碼 處理。
然后,過程400可繼續(xù)進(jìn)行連續(xù)的位流處理[動(dòng)作410]。因此,例 如,在提取VLC符號504、利用它獲得關(guān)聯(lián)的運(yùn)行和級別值并將那些 值提供給RLD PE 306之后,BSP HWA 302接著可繼續(xù)分析位流。
另一方面,如果動(dòng)作406的結(jié)果是否定的,即,如果沒有檢測到 EOS碼,則過程400可繼續(xù)進(jìn)行,確定是否檢測到轉(zhuǎn)義碼[動(dòng)作412]。 根據(jù)本發(fā)明的一些實(shí)現(xiàn),動(dòng)作412可由BSP HWA 302進(jìn)行。因此, 例如,在進(jìn)行動(dòng)作410時(shí),BSPHWA302可遇到或檢測到轉(zhuǎn)義碼508, 并且因此,當(dāng)動(dòng)作406的結(jié)果是否定(即,沒有檢測到EOS碼)時(shí), 動(dòng)作412的結(jié)果可以是肯定的(即,檢測到轉(zhuǎn)義碼)。如果動(dòng)作412 的確定是檢測到轉(zhuǎn)義碼,則可進(jìn)行圖6中的過程600。
圖6示出根據(jù)本發(fā)明的一些實(shí)現(xiàn)的硬件加速壓縮視頻位流轉(zhuǎn)義碼 處理過程600。盡管為了便于說明而相對于圖1中的系統(tǒng)IOO、或圖2 和圖3中的視頻處理器200/300、或圖5中的位流部分500來描述過 程600和關(guān)聯(lián)的過程,但是本發(fā)明不限于這方面,由根據(jù)本發(fā)明的適 當(dāng)設(shè)備和/或設(shè)備組合支持和/或執(zhí)行的其它過程或方案也是可能的。
過程600可從檢索與轉(zhuǎn)義碼關(guān)聯(lián)的運(yùn)行數(shù)據(jù)[動(dòng)作602]開始。根據(jù) 本發(fā)明的一些實(shí)現(xiàn),同時(shí)參照圖5,可通過BSPHWA302中的處理邏 輯或電路檢索例如與轉(zhuǎn)義碼508關(guān)聯(lián)的運(yùn)行位510來進(jìn)行動(dòng)作602。 然后,過程600可繼續(xù)進(jìn)行,檢索與轉(zhuǎn)義碼關(guān)聯(lián)的級別數(shù)據(jù)[動(dòng)作604]。如同在動(dòng)作602中一樣,也可通過例如在BSP HWA 302在動(dòng)作602 中檢索運(yùn)行位510之后由BSP HWA 302中的處理邏輯或電路檢索與 轉(zhuǎn)義碼508關(guān)聯(lián)的級別位512來進(jìn)行動(dòng)作604。
然后,過程600可繼續(xù)進(jìn)行,提供運(yùn)行和級別數(shù)據(jù)的行程(trip) [動(dòng)作606]。根據(jù)本發(fā)明的一些實(shí)現(xiàn),可通過BSPHWA302中的邏輯 或電路將在動(dòng)作602和604中檢索到的運(yùn)行和級別數(shù)據(jù)提供給BSP HWA 302的輸出緩沖器(未示出)或RLD PE 306的輸入緩沖器(也 未示出)來進(jìn)行動(dòng)作606。盡管本發(fā)明不限于這方面,但在動(dòng)作606 中提供的運(yùn)行和級別數(shù)據(jù)可以按數(shù)據(jù)三元組形式提供。
然后,過程600可以連續(xù)的位流處理[動(dòng)作608]結(jié)束。根據(jù)本發(fā)明 的一些實(shí)現(xiàn),動(dòng)作608可包括BSP HWA 302在遇到轉(zhuǎn)義碼之后繼續(xù) 對位流進(jìn)行Nbaat分析和解碼。換句話說,在BSP HWA 302例如在 解碼VLC符號504后遇到轉(zhuǎn)義碼508并對此響應(yīng)而進(jìn)行動(dòng)作602-606 之后,BSP HWA 302可通過自動(dòng)進(jìn)行提取位流部分500的VLC符號 506而進(jìn)行動(dòng)作608。
如圖4和6所示的動(dòng)作不需要按照所示順序?qū)崿F(xiàn);也不一定要執(zhí) 行所有動(dòng)作。并且,與其它動(dòng)作無關(guān)的那些動(dòng)作可在這些其它動(dòng)作之 前或與它們并行地執(zhí)行。例如,動(dòng)作406和412可并行進(jìn)行,或者動(dòng) 作412可在動(dòng)作406之前進(jìn)行。因此,BSPHWA302可意識到,例如, 當(dāng)分析位流時(shí),檢測到轉(zhuǎn)義碼而不是有效VLC符號。即,參照圖5, 當(dāng)在進(jìn)行動(dòng)作404或動(dòng)作410中,BSP HWA 302分析對應(yīng)于轉(zhuǎn)義碼 508的六個(gè)位時(shí),BSP HWA 302可意識到,未檢測到EOS碼(動(dòng)作 406的否定結(jié)果),而是檢測到轉(zhuǎn)義碼(動(dòng)作412的肯定結(jié)果)。從 這個(gè)意義來說,BSP HWA 302可同時(shí)或并行地進(jìn)行動(dòng)作406和412。 此外,圖4和圖6中的至少一些動(dòng)作可作為在機(jī)器可讀介質(zhì)中實(shí)現(xiàn)的 指令、指令組來實(shí)現(xiàn)。
根據(jù)如上所迷的本發(fā)明的一些實(shí)現(xiàn),本發(fā)明的實(shí)現(xiàn)允許正在對壓 縮視頻數(shù)據(jù)位流進(jìn)行Nbaat處理的視頻處理器在不中斷Nbaat處理的情況下同時(shí)處理與轉(zhuǎn)義碼關(guān)聯(lián)的數(shù)據(jù)。因此,根據(jù)本發(fā)明的一些實(shí)現(xiàn)
的處理器可在不中斷位流的Nbaat分析的情況下利用硬件處理邏輯來 從該位流提取與轉(zhuǎn)義碼關(guān)聯(lián)的運(yùn)行和級別數(shù)據(jù)。根據(jù)本發(fā)明的一些實(shí) 現(xiàn)的處理器之所以可以在不中斷位流的Nbaat分析的情況下從該位流 提取與轉(zhuǎn)義碼關(guān)聯(lián)的運(yùn)行和級別數(shù)據(jù)是因?yàn)?,該處理器不使用軟件?br>
固件來處理轉(zhuǎn)義碼處理。
盡管以上對符合本發(fā)明的原理的 一個(gè)或多個(gè)實(shí)現(xiàn)的描述提供了 說明和描述,但這不是窮舉的或?qū)⒈景l(fā)明的范圍限于所公開的精確形 式。根據(jù)以上教導(dǎo)的修改和改變是可能的,或者可以在實(shí)現(xiàn)本發(fā)明的 各個(gè)實(shí)現(xiàn)中獲得修改和改變。例如,不遵循過程400和600,根據(jù)本 發(fā)明的實(shí)現(xiàn)的方案可包括檢測轉(zhuǎn)義碼;在檢測到轉(zhuǎn)義碼的位流位置 中插入或關(guān)聯(lián)位置標(biāo)記;在繼續(xù)解碼剩余位流的同時(shí)對轉(zhuǎn)義碼進(jìn)行硬 件解碼;然后,利用位置標(biāo)記來合并轉(zhuǎn)義碼的解碼結(jié)果和剩余位流的
解碼結(jié)果。顯然,可采用許多其它實(shí)現(xiàn)來提供實(shí)現(xiàn)符合要求權(quán)利的本 發(fā)明的硬件加速壓縮視頻位流轉(zhuǎn)義碼處理的方法、裝置和/或系統(tǒng)。
除非明確描述,否則不應(yīng)將在本發(fā)明的描述中所用的元件、動(dòng)作 或指令解釋為是對于本發(fā)明關(guān)鍵或必需的。并且,本文所用的冠詞 "一"用于包括一個(gè)或多個(gè)項(xiàng)。另外,在一些情況下,用于描述本發(fā) 明的一些實(shí)現(xiàn)的一些術(shù)語、如"圖像數(shù)據(jù)"可與"視頻數(shù)據(jù)"互換使 用。此外,當(dāng)本文或隨附權(quán)利要求中使用諸如"耦合"或"響應(yīng)"的 術(shù)語時(shí),這些術(shù)語應(yīng)廣義理解。例如,短語"耦合到"可根據(jù)使用該 短語的上下文的需要而表示以通信方式、電方式和/或在操作上耦合。 在不實(shí)質(zhì)背離本發(fā)明的精神和原理的情況下,可以對要求權(quán)利的本發(fā) 明的上述實(shí)現(xiàn)做出改變和修改。所有這些修改和改變都包含在本公開 的范圍內(nèi)并且受到隨附權(quán)利要求的保護(hù)。
權(quán)利要求
1. 一種方法,包括開始處理壓縮視頻數(shù)據(jù)的位流;檢測所述位流中的轉(zhuǎn)義碼;響應(yīng)檢測到轉(zhuǎn)義碼,利用電路來從所述位流中提取運(yùn)行和級別數(shù)據(jù);以及繼續(xù)處理所述位流。
2. 如權(quán)利要求1所述的方法,其中處理所述位流包括分析所述位流。
3. 如權(quán)利要求2所述的方法,其中分析所述位流包括4企測所述位 流中的碼字邊界。
4. 如權(quán)利要求2所述的方法,其中分析位流包括一次N位(Nbaat) 地分析位流。
5. 如權(quán)利要求4所述的方法,其中N包括從三、四或五之一中 選出的整數(shù)。
6. 如權(quán)利要求1所述的方法,其中所述位流是符合MPEG-2的位流。
7. —種裝置,包括用于分析壓縮視頻數(shù)據(jù)的位流的位流分析器(BSP),所述BSP 用于檢測所述位流中的轉(zhuǎn)義碼;其中所述BSP還包括用于響應(yīng)檢測到所述轉(zhuǎn)義碼而從所述位流 中提取與所述轉(zhuǎn)義碼關(guān)聯(lián)的運(yùn)行和級別數(shù)據(jù)的電路。
8. 如權(quán)利要求7所述的裝置,其中所述BSP至少能夠一次N位 (Nbaat)地分析所述位流。
9. 如權(quán)利要求8所述的裝置,其中N包括從三(3)、四(4)、 五(5)、六(6)、七(7)或八(8)之一中選出的整數(shù)。
10. 如權(quán)利要求7所述的裝置,其中所述位流是符合MPEG-2的位流。
11. 一種系統(tǒng),包括包含用于一次N位(Nbaat)地分析壓縮視頻數(shù)據(jù)并檢測所述壓 縮視頻數(shù)據(jù)中的轉(zhuǎn)義碼的分析邏輯的處理器,所述處理器還包括用于 響應(yīng)檢測到所述轉(zhuǎn)義碼而從所述壓縮視頻數(shù)據(jù)中提取運(yùn)行和級別數(shù) 據(jù)而無需所述分析邏輯脫離所述Nbaat分析方案的處理邏輯;以及耦合到所述處理器的存儲器,所述存儲器用于保存所述壓縮視頻 數(shù)據(jù)的至少一些部分。
12. 如權(quán)利要求11所述的系統(tǒng),其中所述存儲器包括動(dòng)態(tài)隨機(jī)存 取存儲器(DRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)或非易失性存 儲器中的一種。
13. 如權(quán)利要求11所述的系統(tǒng),還包括耦合到無線接收器電路的天線,所述天線用于接收所述壓縮視頻 數(shù)據(jù);以及耦合到所述無線接收器電路的控制器,所述控制器用于將所述壓 縮視頻數(shù)據(jù)傳送給所述處理器。
14. 如權(quán)利要求11所迷的系統(tǒng),其中N包括從三(3)、四(4)、 五(5)、六(6)、七(7)或八(8)之一中選出的整數(shù)。
15. 如權(quán)利要求11所述的系統(tǒng),其中所述壓縮視頻數(shù)據(jù)包括符合 MPEG-2的位流。
16. 如權(quán)利要求11所述的系統(tǒng),還包括耦合到所述處理器的存儲設(shè)備,所述存儲設(shè)備用于存儲所述壓縮 視頻數(shù)據(jù)。
17. 如權(quán)利要求16所述的系統(tǒng),其中所述存儲設(shè)備包括用于存儲 所述壓縮視頻數(shù)據(jù)的數(shù)字視頻盤(DVD)。
全文摘要
公開用于硬件加速壓縮視頻位流轉(zhuǎn)義碼處理的裝置、系統(tǒng)和方法,包括包含用于分析壓縮視頻數(shù)據(jù)的位流的位流分析器(BSP)的裝置。BSP包括用于在BSP在位流中檢測到轉(zhuǎn)義碼時(shí)從位流提取未經(jīng)壓縮的運(yùn)行和級別數(shù)據(jù)的電路。還公開其它實(shí)現(xiàn)。
文檔編號H04N7/24GK101536521SQ200780022499
公開日2009年9月16日 申請日期2007年6月8日 優(yōu)先權(quán)日2006年6月16日
發(fā)明者A·皮爾森, M·加漢伊爾, 普拉森吉特·比斯瓦斯 申請人:英特爾公司