專利名稱:并行視頻解碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻解碼裝置,該視頻解碼裝置被配置為接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流并且執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)。更具體地,本發(fā)明涉及對(duì)視頻解碼裝置所執(zhí)行的數(shù)據(jù)處理的各方面進(jìn)行并行化。
背景技術(shù):
當(dāng)前的視頻編碼格式對(duì)被配置用以把經(jīng)編碼的視頻解碼成經(jīng)解碼的輸出以供顯示的視頻解碼裝置提出了高的處理要求。例如,由于可從而實(shí)現(xiàn)的編碼效率,經(jīng)編碼的視頻比特流可能包含許多有序的內(nèi)部依賴關(guān)系(cbpendency),為了解碼經(jīng)編碼的視頻比特流從而供顯示,這些依賴關(guān)系必須被分解(resolve)。此外,目前的趨勢(shì)是越來越多的信息被結(jié)合到經(jīng)編碼的視頻比特流中,從而使得更高質(zhì)量的視頻能夠經(jīng)由用于傳送這樣的經(jīng)編碼的視頻比特流的傳輸介質(zhì)的有限且易出錯(cuò)的資源被傳輸。在當(dāng)前經(jīng)編碼的視頻復(fù)雜性不斷增長的情況下,隨著強(qiáng)加于視頻解碼裝置的性能需求不斷增長,已經(jīng)著手研究使解碼處理并行化(例如,跨多核心系統(tǒng)分擔(dān)處理)的可能性。于2008年11月24-26日在奧地利林茨舉辦的MoMM 2008上F. Seitner等人的 “Evaluation of data-parallel splitting approaches for H. 264 decoding,,(從http: //public, tuwien. ac. at/files/PubDat 168831. pdf 檢索得至丨丨)研究了在資源強(qiáng)烈受限的環(huán)境中用于實(shí)現(xiàn)數(shù)據(jù)并行分割的各種方法。然而,在多個(gè)處理器核心之間細(xì)分解碼任務(wù)是一項(xiàng)復(fù)雜的任務(wù)并且關(guān)于核心間通信和數(shù)據(jù)管理方面的重大挑戰(zhàn)必須解決。將視頻解碼處理細(xì)分成兩個(gè)階段是已知的,即初始解析(parse)階段和隨后的重構(gòu)(reconstruction)階段。作為這樣的方法的一部分,UK公開專利申請(qǐng)GB2, 471,887描述了用于至少部分地壓縮解析階段的輸出的技術(shù)。因?yàn)榻馕鲭A段的輸出通常在被重構(gòu)階段處理之前先被緩沖,所以解析器輸出的壓縮在所需緩沖器大小和傳送帶寬方面都是有益的。然而,所公開的技術(shù)只在單個(gè)解碼管線(pipeline)方面做了描述,而沒有描述并行化的方法。當(dāng)前的視頻編碼的復(fù)雜性隨著可伸縮視頻編碼(SVC)的引入而進(jìn)一步被增大。SVC(H. 264/MPEG-4 AVC標(biāo)準(zhǔn)的擴(kuò)展)引入了分層編碼技術(shù),根據(jù)分層編碼技術(shù),視頻序列的給定畫面可在多個(gè)層中被編碼,這些層例如允許一定范圍的空間分辨率和圖像質(zhì)量。這種技術(shù)使得能夠以相應(yīng)較低水平的復(fù)雜性和重構(gòu)質(zhì)量來解碼高質(zhì)量視頻比特流內(nèi)的一個(gè)或多個(gè)子集比特流。這可允許來自完整比特流的分組被丟棄(例如,由于網(wǎng)絡(luò)容量限制)并且端解碼器然后可解碼所保留的最佳可用視頻。這種布置在圖I中被示意性地圖示出,其中,視頻流的畫面被編碼為基本層(B)和若干增強(qiáng)層^”^、^等)?;緦覤表示最低水平的質(zhì)量和分辨率,而每個(gè)增強(qiáng)層增加了質(zhì)量和/或分辨率。圖I中層之間的箭頭指示依賴關(guān)系鏈,要解碼層E1則需要層B,要解碼 層E2則需要層E1,等等。如上所述,增強(qiáng)層可表示空間(畫面大小)可伸縮性,如在圖2A中示意性所示??商娲兀鐖D2B中所示,增強(qiáng)層可表示圖像質(zhì)量不斷增加(例如,差、中、好)的序列。SVC編碼的復(fù)雜性不僅向視頻解碼裝置進(jìn)一步增添了處理負(fù)擔(dān),而且SVC引入經(jīng)編碼的視頻比特流的另外的內(nèi)部依賴關(guān)系(層間預(yù)測(cè))還向使解碼處理并行化增添了進(jìn)一步復(fù)雜性。臺(tái)灣臺(tái)北的國立臺(tái)北大學(xué)電子工程研究生院DSP/IC設(shè)計(jì)實(shí)驗(yàn)室的Yu-Chi Su等人的“Mapping scaleble video coding decoder on multi-core stream processors,,(從http: //gra!03. aca. ntu. edu. tw/gdoc/98/D96921032a. pdf 索得至l|)討論了在多核處理器平臺(tái)上使SVC解碼器并行化的一些方法。然而,希望提供一種使得諸如如上描述的那些包含有序的內(nèi)部依賴關(guān)系的經(jīng)編碼的視頻比特流能夠至少部分地被并行化以改善解碼器的性能而不會(huì)遭遇與跨多個(gè)處理器核心分發(fā)解碼任務(wù)相關(guān)聯(lián)的許多復(fù)雜情形的技術(shù)。
發(fā)明內(nèi)容
從一個(gè)方面來看,本發(fā)明提供了一種視頻解碼裝置,該視頻解碼裝置包括至少一個(gè)解析單元,被配置為接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系,所述至少一個(gè)解析單元被配置為對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解,所述至少一個(gè)解析單元被配置為將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及重構(gòu)單元,被配置為并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流,并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)。因此,這樣一種視頻解碼裝置被提供,其中,其子部件可基本被分類成兩部分。第一部分包括至少一個(gè)解析單元,被配置為接收輸入視頻數(shù)據(jù)。所述至少一個(gè)解析單元生成輸入視頻數(shù)據(jù)的中間表示,在此中間表示中,經(jīng)編碼的視頻比特流中存在的有序的內(nèi)部依賴關(guān)系的至少子集被分解。此第一部分的結(jié)果然后通過被存儲(chǔ)在中間緩沖器中而可用于第二部分,即重構(gòu)單元。重構(gòu)單元被配置為并行地取回所述中間表示的多個(gè)輸入流并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作,從而生成經(jīng)解碼的輸出視頻數(shù)據(jù)。因此,因?yàn)橹貥?gòu)單元被配置為對(duì)以中間表示(其中已經(jīng)分解了所述有序的內(nèi)部依賴關(guān)系的至少子集)存儲(chǔ)的視頻數(shù)據(jù)執(zhí)行其解碼操作,這使得能夠引入至少一些對(duì)解碼操作的并行化。此外,通過使至少一個(gè)解析單元的操作與重構(gòu)單元分開,通過將中間表示存儲(chǔ)在緩沖器中,各單元的操作速率更少地依賴彼此。例如,解析速率可適合于輸入比特流速率并且重構(gòu)(渲染)速率可依據(jù)圖像大小和頻率改變。在一個(gè)實(shí)施例中,所述輸入視頻數(shù)據(jù)包括可伸縮視頻流的多個(gè)層,并且,所述多個(gè)輸入流中的每個(gè)流表示所述多個(gè)層中的一層。因此,當(dāng)輸入視頻數(shù)據(jù)是可伸縮視頻流時(shí),重構(gòu)單元可被配置為通過訪問緩沖器中各層的中間表示來并行地解碼此可伸縮視頻流的各層。將重構(gòu)單元布置為并行地解碼可伸縮視頻流的各層在系統(tǒng)性能和硬件再利用優(yōu)勢(shì)方面都具有優(yōu)點(diǎn)。例如,在系統(tǒng)性能方面,對(duì)各層的并行解碼意味著重構(gòu)單元可在移動(dòng)到下一宏塊之前處理每個(gè)宏塊(給定畫面中的16X16的塊(tile))的所有層。這改善了數(shù)據(jù)局部性 (data locality)并減小了存儲(chǔ)器訪問帶寬。另一方面,在硬件再利用方面,在重構(gòu)單元中執(zhí)行的并行化的解碼意味著只有某些硬件單元(例如,逆量化)需要被復(fù)制,而其他層(例如,運(yùn)動(dòng)補(bǔ)償)僅需被提供一次。這減小了重構(gòu)單元的面積和功耗。此外,因?yàn)獒槍?duì)相關(guān)層序列的變換系數(shù)可以相關(guān)的方式在中間格式中定義(例如,絕對(duì)值用于基本層,而差值用于隨后的增強(qiáng)層,增強(qiáng)層被編碼為相對(duì)于在前層的差),這些系數(shù)可更高效地(例如,以壓縮的形式)被存儲(chǔ)并累積在重構(gòu)單元內(nèi),從而與依次累積針對(duì)各層的系數(shù)相比,這減小了存儲(chǔ)器帶寬。此外,在針對(duì)多個(gè)層的變換系數(shù)將通常彼此具有高相關(guān)度的情況下,相對(duì)差值一般將為較小的值,這比針對(duì)各層的完整且絕對(duì)的值來說壓縮更高效。在一個(gè) 實(shí)施例中,所述多個(gè)層表示具有相同分辨率但是相對(duì)彼此質(zhì)量不同的一組畫面表示。具有相同分辨率的質(zhì)量層尤其適合于重構(gòu)單元中的并行解碼,因?yàn)槊總€(gè)畫面內(nèi)的宏塊的細(xì)分在各層之間直接映射。在一個(gè)實(shí)施例中,所述多個(gè)層包括獨(dú)立地編碼的基本層和依賴地編碼的增強(qiáng)層,所述依賴地編碼的增強(qiáng)層是參考所述獨(dú)立地編碼的基本層被編碼的。依賴地編碼的增強(qiáng)層和獨(dú)立地編碼的基本層之間的依賴關(guān)系意味著一旦這些層被寫入中間表示,他們易于彼此并行被解碼,因?yàn)檫@兩種層之間的依賴關(guān)系意味著如果這些層被并行解碼則存儲(chǔ)器帶寬被減小。例如,變換系數(shù)(以中間表示的格式)可被存儲(chǔ)(例如,以壓縮和/或量化的形式)并累積在重構(gòu)單元內(nèi),這意味著與依次將各層的系數(shù)累積相比存儲(chǔ)器帶寬被減小。應(yīng)理解,本發(fā)明不限于僅僅單個(gè)依賴地編碼的增強(qiáng)層,并且在一個(gè)實(shí)施例中,所述多個(gè)層包括至少一個(gè)另外的依賴地編碼的增強(qiáng)層,所述至少一個(gè)另外的依賴地編碼的增強(qiáng)層是參考在前的依賴地編碼的增強(qiáng)層被編碼的。在一個(gè)實(shí)施例中,所述重構(gòu)單元被配置為在所述輸入視頻數(shù)據(jù)的所述多個(gè)層比所述多個(gè)輸入流數(shù)目更多的情況下執(zhí)行所述解碼操作的多于一次的迭代(iteration)來解碼所述多個(gè)層。因此,雖然重構(gòu)單元可被布置為能夠讀入特定數(shù)目的輸入流,但是這并不意味著重構(gòu)單元僅能夠解碼被限于具有相應(yīng)數(shù)目的層的可伸縮視頻流。而是,所述重構(gòu)單元可被配置為在第一迭代中讀入一組輸入流,對(duì)這些層彼此并行解碼,并且隨后在一個(gè)或多個(gè)另外的迭代(每次迭代可包括并行解碼)中讀入另外的層。經(jīng)編碼的視頻流中的有序的內(nèi)部依賴關(guān)系可采取多種形式,但是在一個(gè)實(shí)施例中,所述經(jīng)編碼的視頻比特流中的有序的內(nèi)部依賴關(guān)系包括至少一個(gè)熵解碼依賴關(guān)系。替代地,或者另外,在一個(gè)實(shí)施例中,所述經(jīng)編碼的視頻比特流中的有序的內(nèi)部依賴關(guān)系包括至少一個(gè)運(yùn)動(dòng)矢量依賴關(guān)系。在一個(gè)實(shí)施例中,所述經(jīng)編碼的視頻比特流將所述輸入視頻數(shù)據(jù)表示為宏塊的序列,并且所述重構(gòu)單元被配置為將所述經(jīng)解碼的輸出視頻數(shù)據(jù)生成為經(jīng)解碼的宏塊的序列。以宏塊的方式來處理視頻數(shù)據(jù)在在重構(gòu)單元中并行解碼輸入流的背景下特別有益,因?yàn)檫@允許重構(gòu)單元中的并行解碼元件更加容易地對(duì)齊(align)它們的解碼活動(dòng)(例如,在可伸縮視頻的示例中使每個(gè)元件處理不同的層),并且從而得到上述數(shù)據(jù)局部性和存儲(chǔ)器帶寬減小的益處。中間表示可采取多種形式,但是在一個(gè)實(shí)施例中,所述中間表示至少包括所述序列中各宏塊的宏塊類型。在一個(gè)實(shí)施例中,所述中間表示包括所述序列中的至少一個(gè)宏塊的運(yùn)動(dòng)矢量。雖然并不是所有宏塊都將包含運(yùn)動(dòng)矢量(例如,獨(dú)立地編碼的畫面將不包括運(yùn)動(dòng)矢量),但是依賴地編碼的宏塊(例如P和B型宏塊)將具有運(yùn)動(dòng)矢量。在解析階段識(shí)別此運(yùn)動(dòng)矢量使得能夠在重構(gòu)階段更快速地解碼宏塊。在一個(gè)實(shí)施例中,所述中間表示包括所述序列中的至少一個(gè)宏塊的一組變換系數(shù)。中間格式中的一組變換系數(shù)的存在意味著重構(gòu)階段可馬上利用這些值,而無需首先導(dǎo)出這些值。當(dāng)中間表示包括序列中的宏塊的一組變換系數(shù)時(shí),所述至少一個(gè)解析單元可被配置為以壓縮格式輸出所述序列中的所述至少一個(gè)宏塊的那組變換系數(shù)。已經(jīng)發(fā)現(xiàn)變換系數(shù)特別適于壓縮,因此通過以壓縮形式存儲(chǔ)此部分的中間表示,可節(jié)省存儲(chǔ)器帶寬。應(yīng)當(dāng)認(rèn)識(shí)到,具體壓縮格式可采取多種形式,但是在一個(gè)實(shí)施例中,所述壓縮格式包括一組有符號(hào)(signed)的指數(shù)哥倫布碼。已經(jīng)發(fā)現(xiàn),對(duì)于解碼操作,每個(gè)宏塊的那組變換系數(shù)通常包含大量數(shù)目的零值,并且有符號(hào)的指數(shù)哥倫布碼提供了用于對(duì)包括大量數(shù)目的零值的一組系數(shù)進(jìn)行壓縮的特別高效的機(jī)制。然而,應(yīng)注意,不必須使用有符號(hào)的指數(shù)哥倫布碼,而是可使用任何其他適當(dāng)?shù)木幋a,例如可使用更一般的霍夫曼編碼或算術(shù)編碼。 在一個(gè)實(shí)施例中,所述視頻解碼裝置包括至少兩個(gè)解析單元,所述至少兩個(gè)解析單元被配置為至少部分地使得所述解析操作并行化。因此,雖然在一些實(shí)施例中僅提供了單個(gè)解析單元,但是在其他實(shí)施例中可提供比一個(gè)多的解析單元。具體地,隨后可能的解析操作的至少部分并行化可實(shí)現(xiàn)視頻解碼裝置的更高效的配置。例如,對(duì)于設(shè)置多少解析單元的選擇可影響輸入視頻數(shù)據(jù)可被解析的的速率。依賴于重構(gòu)單元的配置,并且尤其是重構(gòu)單元可渲染(render)經(jīng)解碼的視頻的速度,設(shè)置兩個(gè)(或更多)解析單元是有利的,以便增強(qiáng)視頻解碼器可進(jìn)行解析的速率,并且最終增強(qiáng)整個(gè)視頻解碼裝置的吞吐量。輸入視頻數(shù)據(jù)可以多種方式在多個(gè)解析單元間被分發(fā),但是在一個(gè)實(shí)施例中,所述至少兩個(gè)解析單元的每個(gè)被配置為對(duì)所述可伸縮視頻流的給定層執(zhí)行所述解析操作。當(dāng)所述輸入視頻數(shù)據(jù)是具有多個(gè)層的可伸縮視頻流時(shí),通過逐層地在至少兩個(gè)解析單元之間細(xì)分輸入視頻數(shù)據(jù)可使得進(jìn)行特別高效的解析操作。具體地,這可使得能夠特別高效地執(zhí)行中間表示向緩沖器的寫入。在另外的這樣的變形例中,在一個(gè)實(shí)施例中,所述至少兩個(gè)解析單元的每個(gè)被配置為在所述可伸縮視頻流的給定層中基于小片(slice)執(zhí)行所述解析操作。在一個(gè)實(shí)施例中,所述重構(gòu)單元包括用于所述多個(gè)輸入流的每個(gè)輸入流的去量化單元。經(jīng)編碼的視頻數(shù)據(jù)的去量化通常依每個(gè)個(gè)體視頻數(shù)據(jù)流而定,因此,重構(gòu)單元中并行化的解碼操作通過為每個(gè)輸入流提供去量化單元而得到支持。雖然一些部件可能需要針對(duì)每個(gè)輸入流而個(gè)別地被提供,但是在一個(gè)實(shí)施例中,所述重構(gòu)單元包括至少一個(gè)共用解碼部件,該共用解碼部件在針對(duì)所述多個(gè)輸入流的所有輸入流的解碼操作中被使用。因此,可在多個(gè)流之間被共用的解碼部件(諸如運(yùn)動(dòng)補(bǔ)償或重采樣)不必重復(fù),從而節(jié)省面積和功率。在一個(gè)實(shí)施例中,所述重構(gòu)單元包括至少兩個(gè)去塊單元。多于一個(gè)的去塊單元的提供在重構(gòu)單元中的并行化方面(例如,在針對(duì)給定一組質(zhì)量層編碼了一個(gè)以上時(shí)間依賴關(guān)系的情況中)可以是有利的。提供多于一個(gè)的去塊單元使得重構(gòu)單元即使在存在這樣的多個(gè)時(shí)間依賴關(guān)系的情況下也能夠維持并行化的解碼。應(yīng)當(dāng)認(rèn)識(shí)到,重構(gòu)單元可被配置為接收各種數(shù)目的輸入流,但是在一個(gè)實(shí)施例中,所述多個(gè)輸入流包括至少三個(gè)輸入流。在輸入流否則可能被串行地解碼的情況中,對(duì)輸入流的并行解碼代表性能增強(qiáng)并且此性能增強(qiáng)在重構(gòu)單元被配置為解碼至少三個(gè)輸入流時(shí)特別明顯。
在一個(gè)實(shí)施例中,所述至少一個(gè)解析單元被配置為輸出所述輸入流數(shù)據(jù)的所述中間表示以供存儲(chǔ)在多個(gè)緩沖器中;并且所述重構(gòu)單元被配置為從所述多個(gè)緩沖器的各個(gè)緩沖器中取回所述多個(gè)輸入流的各個(gè)輸入流。提供與多個(gè)輸入流的每個(gè)相應(yīng)的緩沖器意味著由解析單元對(duì)中間表示的寫入以及由重構(gòu)單元對(duì)中間表示的取回可被高效地執(zhí)行。從第二方面來看,本發(fā)明提供了一種視頻解碼方法,該視頻解碼方法包括如下步驟接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系,對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解,將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流,并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)。從第三方面來看,本發(fā)明提供了一種視頻解碼裝置,該視頻解碼裝置包括用于接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流的至少一個(gè)解析裝置,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系,所述至少一個(gè)解析裝置用于對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解,所述至少一個(gè)解析裝置用于將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及用于并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)的重構(gòu)
>J-U ρ α裝直。
將參考如附圖中所圖示的本發(fā)明的實(shí)施例、僅僅借助于示例來進(jìn)一步描述本發(fā)明,在附圖中圖I示意性地圖示出已知的可伸縮視頻流結(jié)構(gòu);圖2Α示意性地圖示出已知的可伸縮視頻流中的一組空間層;圖2Β示意性地圖示出已知的可伸縮視頻流中的一組質(zhì)量層;圖3示意性地圖示出一個(gè)實(shí)施例中可伸縮視頻流的并行重構(gòu)的方法;圖4示意性地圖示出一個(gè)實(shí)施中具有多于一個(gè)的解析單元的視頻解碼裝置;圖5Α示意性地圖示出一個(gè)實(shí)施例中存儲(chǔ)器中的一組中間格式緩沖器;圖5Β示意性地更加詳細(xì)地圖示出圖5Α的中間格式緩沖器之一;圖6示意性地圖示出一個(gè)實(shí)施例中的視頻解碼裝置及其內(nèi)部數(shù)據(jù)流;圖7示意性地圖示出一個(gè)實(shí)施例中的視頻解碼裝置中的重構(gòu)單元的一些子部件;圖8示意性地圖示出一個(gè)實(shí)施例中在視頻解碼裝置中采取的一系列步驟。
具體實(shí)施例方式圖3示意性地圖示出可伸縮視頻流中的一組層。從左向右看,此組層在分辨率(由每個(gè)方塊的大小表示)和圖像質(zhì)量(由字母P、M、G(即差、中、好)指示)兩方面增長。如在下面更加詳細(xì)討論的,本發(fā)明的實(shí)施例通過并行地在每個(gè)分辨率水平上重構(gòu)三個(gè)質(zhì)量層 (差、中、好)來使得對(duì)具有圖3中所示結(jié)構(gòu)的輸入視頻數(shù)據(jù)的解碼并行化。
圖4示意性地圖示出一個(gè)實(shí)施例中的圖像解碼裝置。該視頻解碼裝置10接收經(jīng)編碼的視頻比特流,經(jīng)編碼的視頻比特流被臨時(shí)緩沖在輸入緩沖器20中。由該視頻解碼裝置執(zhí)行的數(shù)據(jù)處理然后在兩個(gè)階段中執(zhí)行第一解析階段和隨后的重構(gòu)階段。在圖4中所示的實(shí)施例中,解析階段由解析單元30和40執(zhí)行,而重構(gòu)在重構(gòu)管線50中執(zhí)行。圖4中連接所圖示出的各單元的箭頭旨在在概念層面圖示出所圖示出的各單元之間的數(shù)據(jù)流,并且這不應(yīng)當(dāng)被解釋為對(duì)該設(shè)備的物理配置的絕對(duì)表示。解析單元30、40從輸入緩沖器20取回經(jīng)編碼的視頻比特流并且對(duì)其執(zhí)行解析處理以生成對(duì)所接收的經(jīng)編碼的視頻比特流的中間表示。該中間表示被存儲(chǔ)在緩沖器中,從該緩沖器中,該中間表示作為重構(gòu)管線50的多個(gè)輸入流被取回,重構(gòu)管線50執(zhí)行解碼操作以生成解碼裝置輸出視頻數(shù)據(jù)。因此,應(yīng)理解,從解析器30、40引至 重構(gòu)管線50的箭頭不應(yīng)當(dāng)被解釋為是直接數(shù)據(jù)路徑。解析單元30、40的配置圖示出這些解析單元被配置為彼此并行操作,但是,此外,一方面解析單元40的操作可依賴于由解析單元30執(zhí)行的解析操作的結(jié)果,而另一方面解析單元30的操作可依賴于由解析單元40執(zhí)行的解析操作的結(jié)果。實(shí)際上,雖然圖4中未圖示,但是另外的解析單元也可被設(shè)置,并且另外的解析單元的解析操作可依賴于解析單元30和40之一或二者的輸出,反之亦可。這兩個(gè)圖示出的解析單元的操作之間的依賴關(guān)系例如可歸因于經(jīng)編碼的視頻比特流是包括多個(gè)層的可伸縮視頻流。在此情形中,解析器30可被配置為對(duì)那些多個(gè)層中的基本層執(zhí)行其解析操作,而解析器40被配置為對(duì)依賴地編碼的增強(qiáng)層執(zhí)行其解析操作,該依賴地編碼的增強(qiáng)層的解析需要來自對(duì)獨(dú)立地編碼的基本層所執(zhí)行的解析操作的某些輸入(例如,基本層的MBInfo部分的標(biāo)識(shí)-參見下面)。此外,在可伸縮視頻流包括多于兩個(gè)層的情況中,解析器30還可被配置為對(duì)另一依賴地編碼的增強(qiáng)層執(zhí)行解析操作,對(duì)此依賴地編碼的增強(qiáng)層的解析需要來自(通過解析器40)對(duì)其前面的依賴地編碼的基本層所執(zhí)行的解析操作的某些輸入。這種依賴關(guān)系的迭代序列可按照可伸縮視頻流中存在的層而被擴(kuò)展那么多層。此外,在本示例中,解析器30被配置為輸出與基本層(以及其處理的另外的任何增強(qiáng)層)有關(guān)的輸入視頻數(shù)據(jù)的中間表示,而解析器40被配置為生成與增強(qiáng)層(以及其處理的另外的任何增強(qiáng)層)有關(guān)的輸入視頻數(shù)據(jù)的中間表示。重構(gòu)管線50然后被配置為并行地取回至少兩個(gè)層的中間表示,從而對(duì)這些并行的輸入流執(zhí)行其解碼操作,如在下面更詳細(xì)討論的。圖5A示意性地圖示出存儲(chǔ)器中的緩沖器的布置,(一個(gè)或多個(gè))解析單元將輸入視頻數(shù)據(jù)的中間表示寫入此存儲(chǔ)器中,并且重構(gòu)單元并行地從此存儲(chǔ)器取回那些中間表示中的多個(gè)輸入流以執(zhí)行解碼操作。在圖5A所圖示出的示例中,存儲(chǔ)器60包括三個(gè)獨(dú)立的緩沖器70、80和90,每個(gè)緩沖器被配置為臨時(shí)存儲(chǔ)與所接收的可伸縮視頻流的一個(gè)層有關(guān)的輸入視頻數(shù)據(jù)的中間表示。如所圖示的,緩沖器70是用于層0的中間格式緩沖器,緩沖器80是用于層I的中間格式緩沖器,并且緩沖器90是用于層2的中間格式緩沖器。例如,層0可表示獨(dú)立地編碼的基本層,而層I和層2可表示依賴地編碼的增強(qiáng)層。圖5B示意性地更詳細(xì)地圖示出圖5A的中間格式緩沖器70、80和90之一的示例內(nèi)容??梢钥闯?,在本示例中,每個(gè)緩沖器包括兩個(gè)緩沖器=MBInfo(宏塊信息)緩沖器和殘差(residual)緩沖器。在MBInfo緩沖器中,處理此層的解析單元寫入包括宏塊頭部(指示出宏塊類型等)和運(yùn)動(dòng)矢量的數(shù)據(jù)流。解析依賴于此層的層的解析單元使用該MBInfo。例如,如果解析器30(圖4)生成如圖5B所示的層L的中間格式數(shù)據(jù),那么解析器40在解析層L+1時(shí)將參考此緩沖器,以便分解與MBInfo有關(guān)的依賴關(guān)系。在殘差緩沖器中,處理此層的解析單元寫入包括用于此層的變換系數(shù)(具有指數(shù)哥倫布編碼格式,因?yàn)閿?shù)據(jù)大小減小因而被實(shí)現(xiàn))的數(shù)據(jù)流。注意,來自給定中間格式緩沖器的MBInfo數(shù)據(jù)和殘差數(shù)據(jù)被讀入作為重構(gòu)單元的“輸入流”的一部分。換句話說,重構(gòu)單元從至少兩個(gè)中間格式緩沖器讀入輸入流并且每個(gè)流包括MBInfo數(shù)據(jù)和殘差數(shù)據(jù)二者。圖6示意性地圖示出一個(gè)實(shí)施例中的視頻解碼裝置中的數(shù)據(jù)流。輸入視頻數(shù)據(jù)110在被解析單元130、140取回之前被臨時(shí)緩沖在存儲(chǔ)器120中。解析單元對(duì)輸入視頻數(shù)據(jù)執(zhí)行解析操作并且由此生成的中間表示被寫入存儲(chǔ)器中相應(yīng)的中間表示(中間格式)緩沖器。每個(gè)解析器還按需訪問緩沖器中的之前已解析的信息以用于其自己當(dāng)前的解析操作。在所圖示的示例中,該視頻解碼裝置被配置為解碼包括三個(gè)質(zhì)量層(0、1、2)的可伸縮視頻流并且每個(gè)層的視頻數(shù)據(jù)以中間表示被寫入與其相應(yīng)的緩沖器150、160或170。重構(gòu)管線180被配置為并行地訪問中間格式緩沖器以取回這些中間表示數(shù)據(jù)的三個(gè)輸入流并且并行地對(duì)這三個(gè)輸入流執(zhí)行其解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)190,經(jīng)解碼的輸出視頻數(shù)據(jù)190被寫入存儲(chǔ)器120中。圖7示意性的圖示出一個(gè)實(shí)施例中重構(gòu)單元的配置。重構(gòu)單元200被配置為從存儲(chǔ)器中的緩沖器取回上述中間表示中的三個(gè)輸入視頻數(shù)據(jù)流,以便并行地對(duì)這三個(gè)輸入流執(zhí)行解碼操作。例如,如所圖示的,重構(gòu)單元可取回與給定畫面的三個(gè)質(zhì)量層相對(duì)應(yīng)的層
13、1^4和1^5的中間表示數(shù)據(jù)。為了對(duì)這三個(gè)層的中間表示執(zhí)行解碼操作,重構(gòu)單元還參考輸入視頻數(shù)據(jù)中的與同一畫面的較低分辨率相應(yīng)的在前的三個(gè)質(zhì)量層。另外,重構(gòu)單元200還參考前一畫面的已解碼的視頻數(shù)據(jù)。這些各個(gè)層被示意性地由圖7的靠上部分中與時(shí)間T = O和時(shí)間T = I相應(yīng)的層的集合圖示出。因此,重構(gòu)單元200的輸入包括正被解碼的層(L3、L4、L5)的中間表示的三個(gè)輸入流,T = O的預(yù)先已解碼(已重構(gòu))的輸出視頻數(shù)據(jù),以及當(dāng)前畫面的較低分辨率層集合的最后一層(即最高質(zhì)量層)(即L2)預(yù)先已解碼(已重構(gòu))的視頻數(shù)據(jù)。T = O的重構(gòu)的視頻數(shù)據(jù)形成運(yùn)動(dòng)補(bǔ)償單元205的輸入,而L2層的重構(gòu)的視頻數(shù)據(jù)形成對(duì)空間重采樣單元210的輸入。該空間重采樣單元被配置為取用較小畫面(通常為較小畫面尺寸處的最高質(zhì)量畫面)并使用上采樣濾波器將其轉(zhuǎn)換成與當(dāng)前(較大)畫面尺寸匹配的版本。各個(gè)中間表示(L3、L4、L5)的輸入流被輸入相應(yīng)的去量化單元215、220、225。為了允許去量化單元215、220、225執(zhí)行的去量化處理之間的可能的依賴關(guān)系,這些單元被示意性地圖示為彼此偏移,意指單元215中的去量化的結(jié)果可被饋送到去量化單元220,并且類似地,去量化單元220的輸出可被饋送到去量化單元225的輸入。這三個(gè)去量化單元的結(jié)果在逆變換單元230中被組合。運(yùn)動(dòng)補(bǔ)償205、空間重采樣210和逆變換230的結(jié)果由組合單元235組合到一起。最后,去塊器240執(zhí)行去塊以生成輸出的經(jīng)解碼視頻數(shù)據(jù)。應(yīng)當(dāng)認(rèn)識(shí)到,為了清楚起見,對(duì)重構(gòu)單元200的部件的描述限于圖中的示意性種類,并且重構(gòu)處理的詳細(xì)描述這里不贅述。本領(lǐng)域技術(shù)人員將對(duì)所描述更高層面的步驟的詳細(xì)實(shí)現(xiàn)是熟悉的。重構(gòu)單元200可選擇性地還包括去塊單元250,去塊單元250使得重構(gòu)單元能夠處理不止一個(gè)時(shí)間依賴關(guān)系(即,T = O和T = I之間)。 圖8中示意性地給出根據(jù)一個(gè)實(shí)施例的視頻解碼裝置采取的步驟的概述。在步驟300,視頻解碼裝置接收并緩沖經(jīng)編碼的視頻比特流。然后,在步驟310,視頻解碼裝置解析經(jīng)編碼的視頻比特流,分解其中的熵和運(yùn)動(dòng)矢量依賴關(guān)系,并將經(jīng)解析的層寫出到存儲(chǔ)器中的相應(yīng)緩沖器中。在步驟320,重構(gòu)開始,其中,重構(gòu)單元并行地從緩沖器中取回多個(gè)層并且對(duì)每個(gè)層執(zhí)行去量化處理,并且然后在步驟330 —起對(duì)每個(gè)所取回的層執(zhí)行剩余的重構(gòu)步驟。在步驟340,判斷此畫面是否還有另外的層要被重構(gòu)。如果有,則流程返回到步驟320并且任何另外的層被解碼。如果此畫面沒有另外的層,則流程進(jìn)行到步驟350,在步驟350,此畫面的經(jīng)解碼的視頻數(shù)據(jù)被輸出。在步驟360,判斷視頻比特流中是否還有另外的畫面要被解碼,并且如果有的話,則流程返回到步驟310。否則,流程進(jìn)行到步驟370。因此,根據(jù)本技術(shù),當(dāng)解碼經(jīng)編碼的視頻比特流時(shí),通過對(duì)經(jīng)編碼的比特流首先執(zhí)行解析處理(該解析處理移除了至少一些有序的內(nèi)部依賴關(guān)系),使得能夠進(jìn)行并行化的重構(gòu)處理。解析處理的結(jié)果是中間表示(格式),中間表示可被臨時(shí)緩沖。在重構(gòu)單元中發(fā) 生的并行化的重構(gòu)處理被配置為從緩沖器取回一個(gè)以上中間表示的輸入流并且并行地對(duì)這多個(gè)輸入流進(jìn)行解碼。視頻解碼裝置和方法被公開。視頻解碼裝置包括至少一個(gè)解析單元,解析單元被配置為接收輸入視頻數(shù)據(jù)作為包含有序的內(nèi)部依賴關(guān)系的經(jīng)編碼的視頻比特流。這至少一個(gè)解析單元被配置為對(duì)經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成輸入視頻數(shù)據(jù)的中間表示,其中,至少有序的內(nèi)部依賴關(guān)系的子集被分解。輸入視頻數(shù)據(jù)的中間表示可被存儲(chǔ)在緩沖器中。視頻解碼裝置還包括重構(gòu)單元,重構(gòu)單元被配置為并行地取回中間表示的多個(gè)輸入流并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)。雖然在此已描述了具體實(shí)施例,但是應(yīng)當(dāng)認(rèn)識(shí)到本發(fā)明不限于此,而是在本發(fā)明的范圍內(nèi)可對(duì)這些實(shí)施例作出許多修改和添加。例如,在不脫離本發(fā)明的范圍的情況下,所附從屬權(quán)利要求的特征可與獨(dú)立權(quán)利要求的特征形成各種組合。
權(quán)利要求
1.一種視頻解碼裝置,包括 至少一個(gè)解析單元,被配置為接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系, 所述至少一個(gè)解析單元被配置為對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解, 所述至少一個(gè)解析單元被配置為將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及 重構(gòu)單元,被配置為并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流,并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù), 其中,所述輸入視頻數(shù)據(jù)包括可伸縮視頻流的多個(gè)層,并且其中,所述多個(gè)輸入流中的每個(gè)流表示所述多個(gè)層中的一層。
2.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述多個(gè)層表示具有相同分辨率但是質(zhì)量彼此不同的一組畫面表示。
3.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述多個(gè)層包括獨(dú)立地編碼的基本層和依賴地編碼的增強(qiáng)層,所述依賴地編碼的增強(qiáng)層是參考所述獨(dú)立地編碼的基本層被編碼的。
4.根據(jù)權(quán)利要求3所述的視頻解碼裝置,其中,所述多個(gè)層包括至少一個(gè)另外的依賴地編碼的增強(qiáng)層,所述至少一個(gè)另外的依賴地編碼的增強(qiáng)層是參考在前的依賴地編碼的增強(qiáng)層被編碼的。
5.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述重構(gòu)單元被配置為在所述輸入視頻數(shù)據(jù)的所述多個(gè)層比所述多個(gè)輸入流數(shù)目更多的情況下執(zhí)行所述解碼操作的多于一次的迭代來解碼所述多個(gè)層。
6.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述經(jīng)編碼的視頻比特流中的所述有序的內(nèi)部依賴關(guān)系包括至少一個(gè)熵解碼依賴關(guān)系。
7.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述經(jīng)編碼的視頻比特流中的所述有序的內(nèi)部依賴關(guān)系包括至少一個(gè)運(yùn)動(dòng)矢量依賴關(guān)系。
8.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述經(jīng)編碼的視頻比特流將所述輸入視頻數(shù)據(jù)表示為宏塊的序列,并且所述重構(gòu)單元被配置為將所述經(jīng)解碼的輸出視頻數(shù)據(jù)生成為經(jīng)解碼的宏塊的序列。
9.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,所述中間表示至少包括所述序列中各宏塊的宏塊類型。
10.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,所述中間表示包括所述序列中的至少一個(gè)宏塊的運(yùn)動(dòng)矢量。
11.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,所述中間表示包括所述序列中的至少一個(gè)宏塊的一組變換系數(shù)。
12.根據(jù)權(quán)利要求11所述的視頻解碼裝置,其中,所述至少一個(gè)解析單元被配置為以壓縮格式輸出所述序列中的所述至少一個(gè)宏塊的那組變換系數(shù)。
13.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中,所述壓縮格式包括一組有符號(hào)的指數(shù)哥倫布碼。
14.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述視頻解碼裝置包括至少兩個(gè)解析單元,所述至少兩個(gè)解析單元被配置為至少部分地使得所述解析操作并行化。
15.根據(jù)權(quán)利要求14所述的視頻解碼裝置,其中,所述輸入視頻數(shù)據(jù)包括可伸縮視頻流的多個(gè)層,并且其中,所述多個(gè)輸入流的每個(gè)流表示所述多個(gè)層的一層,其中,所述至少兩個(gè)解析單元的每個(gè)被配置為對(duì)所述可伸縮視頻流的給定層執(zhí)行所述解析操作。
16.根據(jù)權(quán)利要求14所述的視頻解碼裝置,其中,所述至少兩個(gè)解析單元的每個(gè)被配置為在所述可伸縮視頻流的給定層中基于小片來執(zhí)行所述解析操作。
17.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述重構(gòu)單元包括用于所述多個(gè)輸入流的每個(gè)輸入流的去量化單元。
18.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述重構(gòu)單元包括至少一個(gè)共用解碼部件,該共用解碼部件在針對(duì)所述多個(gè)輸入流的所有輸入流的解碼操作中被使用。
19.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述重構(gòu)單元包括至少兩個(gè)去塊單J Li o
20.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述多個(gè)輸入流包括至少三個(gè)輸入流。
21.根據(jù)權(quán)利要求I所述的視頻解碼裝置,其中,所述至少一個(gè)解析單元被配置為輸出所述輸入流數(shù)據(jù)的所述中間表示以供存儲(chǔ)在多個(gè)緩沖器中;并且 所述重構(gòu)單元被配置為從所述多個(gè)緩沖器的各個(gè)緩沖器中取回所述多個(gè)輸入流的各個(gè)輸入流。
22.一種視頻解碼方法,包括如下步驟 接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系, 對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解, 將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流,并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù), 其中,所述輸入視頻數(shù)據(jù)包括可伸縮視頻流的多個(gè)層,并且其中,所述多個(gè)輸入流中的每個(gè)流表示所述多個(gè)層中的一層。
23.一種視頻解碼裝置,包括 用于接收輸入視頻數(shù)據(jù)作為經(jīng)編碼的視頻比特流的至少一個(gè)解析裝置,其中,所述經(jīng)編碼的視頻比特流包含有序的內(nèi)部依賴關(guān)系, 所述至少一個(gè)解析裝置用于對(duì)所述經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成所述輸入視頻數(shù)據(jù)的中間表示,其中,在所述中間表示中至少所述有序的內(nèi)部依賴關(guān)系的子集被分解, 所述至少一個(gè)解析裝置用于將所述輸入視頻數(shù)據(jù)的所述中間表示輸出以供存儲(chǔ)在緩沖器中;以及 用于并行地從所述緩沖器取回所述中間表示的多個(gè)輸入流,并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)的重構(gòu)裝置, 其中,所述輸入視頻數(shù)據(jù)包括可伸縮視頻流的多個(gè)層,并且其中,所述多個(gè)輸入流中的 每個(gè)流表示所述多個(gè)層中的一層。
全文摘要
本發(fā)明涉及并行視頻解碼。視頻解碼裝置和方法被公開。視頻解碼裝置包括至少一個(gè)解析單元,至少一個(gè)解析單元被配置為接收輸入視頻數(shù)據(jù)作為包含有序的內(nèi)部依賴關(guān)系的經(jīng)編碼的視頻比特流。至少一個(gè)解析單元被配置為對(duì)經(jīng)編碼的視頻比特流執(zhí)行解析操作以生成輸入視頻數(shù)據(jù)的中間表示,其中,至少所述有序的內(nèi)部依賴關(guān)系的子集被分解。輸入視頻數(shù)據(jù)的中間表示可被存儲(chǔ)在緩沖器中。視頻解碼裝置還包括重構(gòu)單元,重構(gòu)單元被配置為并行地取回中間表示的多個(gè)輸入流并且并行地對(duì)這多個(gè)輸入流執(zhí)行解碼操作以生成經(jīng)解碼的輸出視頻數(shù)據(jù)。
文檔編號(hào)H04N7/30GK102647589SQ20121004178
公開日2012年8月22日 申請(qǐng)日期2012年2月20日 優(yōu)先權(quán)日2011年2月18日
發(fā)明者多米尼克·胡戈·塞姆斯, 歐拉·休格森 申請(qǐng)人:Arm有限公司