亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于視頻譯碼的管線化幀內(nèi)預(yù)測(cè)硬件架構(gòu)的制作方法

文檔序號(hào):11532860閱讀:222來(lái)源:國(guó)知局
用于視頻譯碼的管線化幀內(nèi)預(yù)測(cè)硬件架構(gòu)的制造方法與工藝

本申請(qǐng)案大體上涉及視頻編碼器及視頻解碼器中的幀內(nèi)預(yù)測(cè),且更具體來(lái)說(shuō)涉及使用管線化技術(shù)的幀內(nèi)預(yù)測(cè)的硬件實(shí)施方案。



背景技術(shù):

視頻編解碼器(例如用于高效視頻譯碼(hevc)中的那些)并入多種技術(shù)以壓縮用于移動(dòng)裝置、智能tv及許多其它視頻應(yīng)用中的視頻。一種此技術(shù)為幀內(nèi)預(yù)測(cè),其利用視頻幀內(nèi)的空間冗余以減少視頻串流所要求的文件大小及/或帶寬。

視頻幀大體上分段成像素塊,且給定塊常常與緊密?chē)@所述塊的塊及像素高度相關(guān)。因此,可從已經(jīng)計(jì)算的相鄰像素內(nèi)插塊內(nèi)的像素。所述相依性本質(zhì)可存儲(chǔ)為幀內(nèi)預(yù)測(cè)模式。一旦確定幀內(nèi)預(yù)測(cè)模式,僅需要編碼經(jīng)內(nèi)插像素與實(shí)際像素之間的差異(例如,殘余)。在后續(xù)處理階段中編碼這些殘余,所述處理階段包含離散余弦變換(dct)、量化及熵譯碼。通過(guò)考慮空間冗余,幀內(nèi)預(yù)測(cè)可極大地增加總壓縮比。

在hevc中,完全通過(guò)幀內(nèi)預(yù)測(cè)(與幀間預(yù)測(cè)相反)編碼及解碼一些參考幀(例如,經(jīng)幀內(nèi)譯碼圖片或i幀)。參考幀可包括多個(gè)譯碼單元(cu),且每一cu可劃分成m×m大小的變換單元(tu)。cu可進(jìn)一步劃分成可與色度或明度信息相關(guān)聯(lián)的譯碼塊(cb)。類(lèi)似地,tu可劃分成變換塊(tb)??稍趖b層級(jí)處以計(jì)算方式應(yīng)用幀內(nèi)預(yù)測(cè)模式。

hevc標(biāo)準(zhǔn)指示4m+1個(gè)相鄰像素可用于執(zhí)行幀內(nèi)預(yù)測(cè),且因此必須在針對(duì)給定塊(例如,tu)的幀內(nèi)預(yù)測(cè)開(kāi)始之前填補(bǔ)、濾波及潛在地以其它方式調(diào)節(jié)這些相鄰像素。在所述塊的幀內(nèi)預(yù)測(cè)完成之后,開(kāi)始下一塊的幀內(nèi)預(yù)測(cè)??梢佬虻靥幚硭鰞蓚€(gè)塊,這是因?yàn)榈诙K的幀內(nèi)預(yù)測(cè)可大體上取決于從第一塊及/或其它先前所計(jì)算塊的幀內(nèi)預(yù)測(cè)導(dǎo)出的經(jīng)重建構(gòu)像素。因此,hevc標(biāo)準(zhǔn)本質(zhì)上一定程度地要求在此階段處依序處理每一塊,許多其它視頻標(biāo)準(zhǔn)也如此。



技術(shù)實(shí)現(xiàn)要素:

鑒于上文所描述的依序處理要求,本發(fā)明旨在減少連續(xù)塊(例如,譯碼單元內(nèi)的連續(xù)變換單元)的幀內(nèi)預(yù)測(cè)之間的延遲。應(yīng)注意,取決于第一塊及第二塊的相對(duì)位置,第二塊的幀內(nèi)預(yù)測(cè)常常并不取決于與第一塊相關(guān)聯(lián)的每一經(jīng)重建構(gòu)像素,而是僅僅取決于單一關(guān)鍵行或列。如果每一塊是使用光柵掃描經(jīng)幀內(nèi)預(yù)測(cè)(如通常所進(jìn)行),則在第一塊的處理循環(huán)結(jié)束時(shí)僅對(duì)關(guān)鍵行或列進(jìn)行幀內(nèi)預(yù)測(cè)。由于關(guān)鍵行或列的像素的重建構(gòu)、濾波、填補(bǔ)及/或其它調(diào)節(jié)可花費(fèi)許多處理循環(huán),因此第二塊的幀內(nèi)預(yù)測(cè)經(jīng)延遲。在hevc中,每一譯碼單元可含有至多256個(gè)變換單元,且因此這些延遲可快速累加以減少整個(gè)性能。

所提出硬件架構(gòu)可利用可操作以優(yōu)先排序第一塊中的關(guān)鍵行及列的像素產(chǎn)生的幀內(nèi)預(yù)測(cè)處理單元。相鄰處理單元可接收對(duì)應(yīng)于關(guān)鍵行及列的經(jīng)重建構(gòu)像素,且可在完成第一塊的幀內(nèi)預(yù)測(cè)之前進(jìn)一步準(zhǔn)備(例如,填補(bǔ)及濾波)用于第二塊的幀內(nèi)預(yù)測(cè)的相鄰像素。此允許幀內(nèi)預(yù)測(cè)處理單元在所述塊中的每一者之間快速過(guò)渡。通過(guò)交錯(cuò)相鄰處理及幀內(nèi)預(yù)測(cè),移除或減少連續(xù)塊(例如,譯碼單元內(nèi)的鄰近變換單元)的幀內(nèi)預(yù)測(cè)之間的延遲。

此外,多個(gè)幀內(nèi)預(yù)測(cè)引擎可并行操作以處理給定塊。幀內(nèi)預(yù)測(cè)引擎的數(shù)目(n)可隨著用于存儲(chǔ)相鄰像素的相鄰緩沖器(例如,包括相鄰ram)的讀取帶寬(例如,每循環(huán)2n個(gè)像素)而按比例調(diào)整。一般來(lái)說(shuō),由幀內(nèi)預(yù)測(cè)引擎使用的存儲(chǔ)器的最大讀取速率可緊密匹配幀內(nèi)預(yù)測(cè)引擎輸出用于重建構(gòu)(且例如用于后續(xù)塊的幀內(nèi)預(yù)測(cè))的像素的速率。所揭示系統(tǒng)及方法可因此按比例調(diào)整以管理與讀取帶寬相關(guān)聯(lián)的常見(jiàn)瓶頸。

附圖說(shuō)明

結(jié)合附圖描述本發(fā)明的特征、方面及實(shí)施例,其中:

圖1展示說(shuō)明可經(jīng)配置以根據(jù)本發(fā)明的原理利用用于管線化幀內(nèi)預(yù)測(cè)的技術(shù)的視頻編碼及解碼系統(tǒng)的實(shí)例的框圖;

圖2展示說(shuō)明可根據(jù)所揭示原理實(shí)施的視頻編碼器的實(shí)例的框圖;

圖3展示說(shuō)明可根據(jù)所揭示原理實(shí)施的視頻解碼器的實(shí)例的框圖;

圖4展示說(shuō)明用于幀內(nèi)預(yù)測(cè)的各種模式的示意圖;

圖5展示說(shuō)明塊與相鄰塊的相依性的示意圖;

圖6展示說(shuō)明幀內(nèi)預(yù)測(cè)子系統(tǒng)的框圖;

圖7展示說(shuō)明選定用于幀內(nèi)預(yù)測(cè)的譯碼塊的框圖;及

圖8展示說(shuō)明交錯(cuò)式幀內(nèi)預(yù)測(cè)技術(shù)的時(shí)序圖。

這些示范性諸圖及實(shí)施例將提供對(duì)由從本申請(qǐng)案產(chǎn)生的任何權(quán)利要求闡述的標(biāo)的物的書(shū)面詳細(xì)描述。這些示范性諸圖及實(shí)施例不應(yīng)用以限制任何此類(lèi)權(quán)利要求的范圍。

此外,盡管為方便起見(jiàn)類(lèi)似參考數(shù)字可用以指代類(lèi)似結(jié)構(gòu),但各種實(shí)例實(shí)施例中的每一者可被認(rèn)為是不同的變型。

具體實(shí)施方式

圖1展示說(shuō)明可經(jīng)配置以根據(jù)本發(fā)明的原理利用用于管線化幀內(nèi)預(yù)測(cè)的技術(shù)的視頻編碼及解碼系統(tǒng)10的實(shí)例的框圖。如圖1中所展示,系統(tǒng)10包含經(jīng)由通信信道16向目的地裝置14發(fā)射經(jīng)編碼視頻的源裝置12。經(jīng)編碼視頻還可存儲(chǔ)于存儲(chǔ)媒體34或文件服務(wù)器36上,且可由目的地裝置14按需要接入。源裝置12及目的地裝置14可包括廣泛多種裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記型(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手機(jī)(例如,智能電話或其它個(gè)人通信裝置)、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺(tái)、移動(dòng)裝置及其類(lèi)似者。在許多狀況下,此類(lèi)裝置可經(jīng)裝備以用于無(wú)線通信、有線通信或這兩者。因此,通信信道16可包括無(wú)線信道(例如,wi-fi連接)、有線信道(例如,dsl、電纜調(diào)制解調(diào)器、以太網(wǎng)、usb)或適于發(fā)射經(jīng)編碼視頻數(shù)據(jù)的無(wú)線與有線信道的組合。

本發(fā)明的原理可應(yīng)用于視頻譯碼以支持多種多媒體應(yīng)用中的任一者,所述應(yīng)用例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、(例如,經(jīng)由因特網(wǎng)的)串流視頻發(fā)射、用于存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的編碼、存儲(chǔ)于數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼,及其它應(yīng)用。

在一些實(shí)施例中,裝置12、14可以大體上對(duì)稱的方式操作,使得裝置12、14中的每一者包含視頻編碼及解碼組件。因此,系統(tǒng)10可經(jīng)配置以支持單向及雙向視頻發(fā)射兩者,以支持例如視頻串流、視頻重放、視頻廣播及視頻電話的應(yīng)用。

在圖1中所展示的實(shí)施例中,源裝置12包含視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)22及發(fā)射器24。視頻源18可包括視頻俘獲裝置(例如,攝像機(jī))、含有先前所俘獲視頻的視頻存檔、可操作以從視頻內(nèi)容提供者接收視頻的視頻饋入接口及用于產(chǎn)生計(jì)算機(jī)圖形數(shù)據(jù)作為源視頻的計(jì)算機(jī)圖形系統(tǒng)的任何組合或個(gè)別例子。在一些實(shí)施例中,視頻源18可為攝像機(jī),且源裝置12及目的地裝置14可形成相機(jī)電話或視頻電話。然而,一般來(lái)說(shuō),本發(fā)明中所描述的技術(shù)適用于視頻譯碼,且可應(yīng)用于無(wú)線及/或有線應(yīng)用。

可由視頻編碼器20編碼所俘獲、預(yù)俘獲或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼視頻信息可由調(diào)制解調(diào)器22根據(jù)例如無(wú)線通信協(xié)議的通信標(biāo)準(zhǔn)調(diào)制,并經(jīng)由發(fā)射器24發(fā)射到目的地裝置14。調(diào)制解調(diào)器22可包含各種混頻器、濾波器、放大器及其它經(jīng)設(shè)計(jì)以用于信號(hào)調(diào)制的組件。發(fā)射器24可包含經(jīng)設(shè)計(jì)以用于發(fā)射數(shù)據(jù)的電路,包含放大器、濾波器及一或多個(gè)天線。

由視頻編碼器20編碼的所俘獲、預(yù)俘獲或計(jì)算機(jī)產(chǎn)生的視頻還可存儲(chǔ)到存儲(chǔ)媒體34或文件服務(wù)器36上以用于稍后消耗。存儲(chǔ)媒體34可包含藍(lán)光光盤(pán)、dvd、cd-rom、快閃存儲(chǔ)器或用于存儲(chǔ)經(jīng)編碼視頻的任何其它合適的數(shù)字存儲(chǔ)媒體。目的地裝置14可接著接入存儲(chǔ)于存儲(chǔ)媒體34上的經(jīng)編碼視頻以用于解碼及重放。

文件服務(wù)器36可為能夠存儲(chǔ)經(jīng)編碼視頻并將經(jīng)編碼視頻發(fā)射到目的地裝置14的任何類(lèi)型服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)頁(yè)服務(wù)器(例如,用于網(wǎng)站)、ftp服務(wù)器、網(wǎng)絡(luò)附接存儲(chǔ)(nas)裝置、本地磁盤(pán)驅(qū)動(dòng)器,或能夠存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)并將其發(fā)射到目的地裝置的任何其它類(lèi)型的裝置。經(jīng)編碼視頻數(shù)據(jù)從文件服務(wù)器36的發(fā)射可為串流發(fā)射、下載發(fā)射或兩者的組合。目的地裝置14可通過(guò)任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來(lái)接入文件服務(wù)器36。此連接可包含無(wú)線信道(例如,wi-fi連接)、有線連接(例如,dsl、電纜調(diào)制解調(diào)器、以太網(wǎng)、usb),或適于接入存儲(chǔ)在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。

在圖1的實(shí)例中,目的地裝置14包含接收器26、調(diào)制解調(diào)器28、視頻解碼器30及顯示裝置32。接收器26經(jīng)由信道16接收信息,且調(diào)制解調(diào)器28對(duì)所述信息進(jìn)行解調(diào)以產(chǎn)生用于視頻解碼器30的經(jīng)解調(diào)位流。經(jīng)由信道16傳達(dá)的信息可包含由視頻編碼器20產(chǎn)生以用于視頻解碼器30在解碼視頻數(shù)據(jù)時(shí)使用的多種語(yǔ)法信息。此類(lèi)語(yǔ)法還可包含在存儲(chǔ)于存儲(chǔ)媒體34或文件服務(wù)器36上的經(jīng)編碼視頻數(shù)據(jù)中。視頻編碼器20及視頻解碼器30中的每一者可形成能夠編碼及解碼視頻數(shù)據(jù)的相應(yīng)編碼器-解碼器(編解碼器)的部分。

顯示裝置32可與目的地裝置14集成或在所述目的地裝置外部。在一些實(shí)例中,目的地裝置14可包含集成顯示裝置,且還經(jīng)配置以與外部顯示裝置介接。在其它實(shí)例中,目的地裝置14可為顯示裝置。一般來(lái)說(shuō),顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包括例如陰極射線管(crt)、液晶顯示器(lcd)、等離子顯示器、有機(jī)發(fā)光二極管(oled)顯示器或另一類(lèi)型的顯示裝置的多種顯示裝置中的任一者。

在圖1中所展示的實(shí)施例中,通信信道16可包括任何無(wú)線或有線通信媒體,例如射頻(rf)頻譜或一或多個(gè)物理發(fā)射線,或無(wú)線與有線媒體的任何組合。通信信道16可形成分組網(wǎng)絡(luò)(例如局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò)(例如,因特網(wǎng)))的部分。通信信道16大體上表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的地裝置14或在源裝置12與目的地裝置14之間雙向地發(fā)射視頻數(shù)據(jù)的任何合適通信媒體或不同通信媒體的集合。通信信道16可包含路由器、交換器、基站、或可用于促進(jìn)源裝置12與目的地裝置14之間的通信的任何其它設(shè)備。

高效視頻譯碼(hevc)標(biāo)準(zhǔn)正由itu-t視頻譯碼專(zhuān)家組(vceg)及iso/iec動(dòng)畫(huà)專(zhuān)家組(mpeg)的視頻譯碼聯(lián)合合作小組(jct-vc)進(jìn)行開(kāi)發(fā)。截至2012年6月7日,可從http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_geneva/wg11/jctvc-i1003-v3下載被稱作“hevc工作草案7”的hevc標(biāo)準(zhǔn)的最近草案。對(duì)hevc工作草案7的完全引用是布洛斯(bross)等人的文獻(xiàn)jctvc-i1003“高效視頻譯碼(hevc)文本規(guī)范草案7(highefficiencyvideocoding(hevc)textspecificationdraft7)”(itu-tsg16wp3及iso/iecjtc1/sc29/wg11的視頻譯碼聯(lián)合合作小組(jct-vc),第9次會(huì)議:瑞士日內(nèi)瓦,2012年4月27日到2012年5月7日)。被稱作“hevc工作草案(wd)8”的hevc標(biāo)準(zhǔn)的額外最近草案可從http://phenix.int-evry.fr/jct/doc_end_user/documents/10_stockholm/wg11/jctvc-j1003-v8.zip獲得。截至2013年4月,可在http://www.itu.int/rec/t-rec-h.265-201304-i處發(fā)現(xiàn)審批通過(guò)的hevc規(guī)范。當(dāng)前段落中所闡述的參考文獻(xiàn)中的每一者以全文引用的方式并入本文中。

hevc標(biāo)準(zhǔn)描述視頻幀或圖片可被劃分成一序列最大譯碼單元(lcu)(其還可被稱作譯碼樹(shù)單元(ctu))。每一ctu可包括多個(gè)譯碼樹(shù)塊(例如,一個(gè)明度ctb及兩個(gè)色度ctb)。每一ctu還可根據(jù)四叉樹(shù)分裂成譯碼單元(cu)。一般來(lái)說(shuō),四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)包含每個(gè)cu一個(gè)節(jié)點(diǎn),其中根節(jié)點(diǎn)對(duì)應(yīng)于ctu。舉例來(lái)說(shuō),ctu的四叉樹(shù)可分裂成四個(gè)子節(jié)點(diǎn)(其可與子cu相關(guān)聯(lián)),且這些子節(jié)點(diǎn)中的一或多者可另外為分裂成另四個(gè)子節(jié)點(diǎn)的父節(jié)點(diǎn)。四叉樹(shù)的每一最后未分裂子節(jié)點(diǎn)還被稱作可與葉cu對(duì)應(yīng)的葉節(jié)點(diǎn)。一般來(lái)說(shuō),cu具有類(lèi)似于一些非hevc標(biāo)準(zhǔn)(例如,h.264標(biāo)準(zhǔn))的宏塊的目的,其中具有幾個(gè)差異(例如,cu可在大小方面不同)。因此,術(shù)語(yǔ)“cu”及“宏塊”可在本文獻(xiàn)中互換使用而不會(huì)損失其一般性。

每一cu可包括譯碼節(jié)點(diǎn)以及與譯碼節(jié)點(diǎn)相關(guān)聯(lián)的一或多個(gè)預(yù)測(cè)單元(pu)及一或多個(gè)變換單元(tu)。cu大小可對(duì)應(yīng)于譯碼節(jié)點(diǎn)的大小且可大體上為正方形形狀。舉例來(lái)說(shuō),cu大小可介于8×8像素至多ctu大小(其可具有最大大小(例如,64×64像素))的范圍內(nèi)。

在本發(fā)明中,“m×m”與“m乘m”可互換使用以分別指視頻塊在水平及垂直尺寸方面的像素尺寸(例如,16×16像素或16乘16像素)。一般來(lái)說(shuō),16×16塊在水平方向上將具有16個(gè)像素(x=16),且在垂直方向上將具有16個(gè)像素(y=16)。同樣地,m×m塊大體上在水平方向上具有m個(gè)像素且在垂直方向上具有m個(gè)像素,其中m表示非負(fù)整數(shù)值。塊中的像素可布置成行及列。塊(例如,hevc中的tu)的常見(jiàn)大小可包含4×4、8×8、16×16及32×32。然而,塊未必需要在水平方向與垂直方向上具有相同數(shù)目個(gè)像素。舉例來(lái)說(shuō),塊可包括m×p個(gè)像素,其中p未必等于m。

與葉cu相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可描述葉cu到一或多個(gè)tu的分割。在一些實(shí)例中,可使用稱為“殘余四叉樹(shù)”(rqt)的四叉樹(shù)結(jié)構(gòu)將對(duì)應(yīng)于葉cu的殘余樣本再分成tu,其中rqt的葉節(jié)點(diǎn)與tu相關(guān)聯(lián)。也就是說(shuō),葉cu可包含指示葉cu如何分割成tu的四叉樹(shù)。rqt(例如,tu四叉樹(shù))可具有大體上對(duì)應(yīng)于葉cu的根節(jié)點(diǎn),而cu四叉樹(shù)的根節(jié)點(diǎn)可大體上對(duì)應(yīng)于lcu。因此,一或多個(gè)tu四叉樹(shù)可嵌套于cu四叉樹(shù)內(nèi)。

rqt的未分裂子節(jié)點(diǎn)可與葉tu相關(guān)聯(lián)。一般來(lái)說(shuō),本發(fā)明分別使用術(shù)語(yǔ)cu及tu指代葉cu及葉tu,除非另外指出。

hevc標(biāo)準(zhǔn)允許基于逐tu的變換,其中tu大小可在cu之間變化。tu可為正方形或非正方形(例如,矩形)形狀。此外,tu的大小通常相同于或小于幀內(nèi)預(yù)測(cè)期間給定cu內(nèi)的pu,但tu可大于經(jīng)幀間預(yù)測(cè)cu的對(duì)應(yīng)pu??勺儞Q與tu相關(guān)聯(lián)的像素差值以產(chǎn)生變換系數(shù),所述變換系數(shù)可經(jīng)量化。

與cu相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)還可描述cu到一或多個(gè)pu的分割,其中pu包含相關(guān)于預(yù)測(cè)的數(shù)據(jù)。一般來(lái)說(shuō),pu表示對(duì)應(yīng)于對(duì)應(yīng)cu的全部或一部分的空間區(qū)域,且可包含用于檢索pu的參考樣本的數(shù)據(jù)??捎胮u分割模式可取決于cu是經(jīng)跳過(guò)還是經(jīng)直接模式編碼、經(jīng)幀內(nèi)預(yù)測(cè)模式編碼或經(jīng)幀間預(yù)測(cè)模式編碼而變化。舉例來(lái)說(shuō),當(dāng)cu是經(jīng)幀內(nèi)預(yù)測(cè)模式編碼時(shí),其可與具有相同于cu的大小的單一pu或各自為cu大小的四分之一的四個(gè)正方形pu對(duì)應(yīng)。此外,用于pu的數(shù)據(jù)(例如,幀內(nèi)預(yù)測(cè)模式指示符)可包含于rqt中,使得其可適用于對(duì)應(yīng)于pu的一或多個(gè)tu。在一些情境中,pu可為非正方形(例如,矩形)形狀。

一般來(lái)說(shuō),對(duì)于幀內(nèi)譯碼(例如,幀內(nèi)預(yù)測(cè)性譯碼),屬于cu的全部tu共享相同幀內(nèi)預(yù)測(cè)模式。也就是說(shuō),cu的大小可相同于pu以用于進(jìn)行幀內(nèi)預(yù)測(cè)性譯碼,借此具有共同幀內(nèi)預(yù)測(cè)模式以計(jì)算cu的全部tu的預(yù)測(cè)值。在一些情境中,經(jīng)幀內(nèi)譯碼cu可劃分成四個(gè)pu,且cu也可劃分成至少四個(gè)tu。因此,在幀內(nèi)預(yù)測(cè)期間,tu的大小小于或等于對(duì)應(yīng)pu。對(duì)于幀內(nèi)譯碼,視頻編碼器可使用幀內(nèi)預(yù)測(cè)模式將每一tu的殘余值計(jì)算為cu的對(duì)應(yīng)于tu的部分與原始?jí)K之間的差。

在幀間預(yù)測(cè)期間,tu的大小可大于、小于或等于共同cu內(nèi)的pu。因此,tu可對(duì)應(yīng)于多個(gè)pu,其中tu大于對(duì)應(yīng)pu中的每一者。替代地,pu可對(duì)應(yīng)于多個(gè)tu,其中pu大于對(duì)應(yīng)tu中的每一者。然而,pu或tu都不可大于對(duì)應(yīng)cu。

視頻編碼器20及視頻解碼器30可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如hevc標(biāo)準(zhǔn)或hevc標(biāo)準(zhǔn)的擴(kuò)展)而操作。替代地或另外,視頻編碼器20及視頻解碼器30可根據(jù)其它專(zhuān)屬或行業(yè)標(biāo)準(zhǔn)操作,例如國(guó)際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門(mén)(itu-t)h.264標(biāo)準(zhǔn)(替代地稱作mpeg-4,部分10)、高級(jí)視頻譯碼(avc)或此類(lèi)標(biāo)準(zhǔn)的擴(kuò)展。其它實(shí)例可包含vp9、mpeg-2及itu-th.263。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)或技術(shù)。

盡管圖1中未展示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當(dāng)?shù)亩嗦窂?fù)用及多路分用模塊或其它硬件及/或軟件,以處置對(duì)共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻及視頻兩者的編碼。如果適用,則在一些實(shí)施例中,多路復(fù)用及多路分用模塊可遵守ituh.223多路復(fù)用器協(xié)議或例如用戶數(shù)據(jù)報(bào)協(xié)議(udp)的其它協(xié)議。

如本發(fā)明中所描述的視頻譯碼器可指視頻編碼器、視頻解碼器或這兩者。視頻編碼器20及視頻解碼器30可各自實(shí)施為多種合適譯碼器電路中的任一者,所述譯碼器電路例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(dsp)、專(zhuān)用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)所述技術(shù)至少部分地以軟件實(shí)施時(shí),裝置可將用于軟件的指令存儲(chǔ)于合適非暫時(shí)性計(jì)算機(jī)可讀媒體中,并使用一或多個(gè)處理器以硬件執(zhí)行指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合編碼器/解碼器(編解碼器)的部分。

視頻編碼器20及視頻解碼器30中的一或兩者可實(shí)施本發(fā)明中描述的技術(shù)中的任一者或全部以改進(jìn)幀內(nèi)預(yù)測(cè)過(guò)程。

圖2展示說(shuō)明可根據(jù)所揭示原理實(shí)施的視頻編碼器20的實(shí)例的框圖。視頻編碼器20可經(jīng)配置以執(zhí)行所揭示技術(shù)中的任一者或全部以用于改進(jìn)幀內(nèi)預(yù)測(cè)。關(guān)于可受益于經(jīng)改進(jìn)幀內(nèi)預(yù)測(cè)過(guò)程的其它譯碼標(biāo)準(zhǔn)或方法,將出于說(shuō)明而非限制本發(fā)明的目的在hevc的上下文中描述視頻編碼器20。

視頻編碼器20可執(zhí)行對(duì)視頻幀內(nèi)的譯碼單元(cu)的幀內(nèi)及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)來(lái)減少或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)來(lái)減少或移除當(dāng)前幀與視頻序列的先前經(jīng)譯碼幀之間的時(shí)間冗余。先前經(jīng)譯碼幀可在(例如,圖片群組(gop)內(nèi)的)視頻序列中的當(dāng)前幀之前及/或之后。幀內(nèi)模式(i-模式)可指若干基于空間的視頻壓縮模式中的任一者。例如單向預(yù)測(cè)模式(p模式)或雙向預(yù)測(cè)模式(b模式)的幀間模式可指若干基于時(shí)間的視頻壓縮模式中的任一者。

如圖2中所展示,視頻編碼器20接收待編碼的視頻幀內(nèi)的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器20包含運(yùn)動(dòng)補(bǔ)償模塊44、運(yùn)動(dòng)估計(jì)模塊42、幀內(nèi)預(yù)測(cè)模塊46、參考幀緩沖器64、求和器50、變換模塊52、量化模塊54及熵編碼模塊56。變換模塊52將變換(例如,離散余弦變換(dct))應(yīng)用于含有一或多個(gè)變換單元(tu)的殘余數(shù)據(jù)塊,其中每一tu可包括多個(gè)變換塊(例如,一個(gè)明度tb及兩個(gè)色度tb)。為進(jìn)行視頻塊重建構(gòu),視頻編碼器20還包含反量化模塊58、反變換模塊60及求和器62。還可包含解塊濾波器(未展示)以對(duì)塊邊界進(jìn)行濾波以從經(jīng)重建構(gòu)視頻移除成塊效應(yīng)假影。在需要時(shí),所述解塊濾波器將通常對(duì)求和器62的輸出進(jìn)行濾波。除解塊濾波器之外,還可使用額外濾波器(環(huán)路內(nèi)或環(huán)路后)。雖然為簡(jiǎn)潔起見(jiàn)未展示額外濾波器,但其可包含于視頻編碼器20內(nèi)的各種位置處,例如求和器50的輸出處以用于環(huán)路內(nèi)濾波。

盡管為便于說(shuō)明而展示為單獨(dú)功能模塊,但視頻編碼器20內(nèi)的組件中的任一者的結(jié)構(gòu)及功能性可彼此高度集成。舉例來(lái)說(shuō),在一些實(shí)施例中,運(yùn)動(dòng)估計(jì)模塊42可與運(yùn)動(dòng)補(bǔ)償模塊44高度集成。

在編碼過(guò)程期間,視頻編碼器20接收待譯碼的視頻幀或切片。所述幀或切片可劃分成多個(gè)視頻塊,例如,最大譯碼單元(lcu)。運(yùn)動(dòng)估計(jì)模塊42及運(yùn)動(dòng)補(bǔ)償模塊44相對(duì)于存儲(chǔ)于參考幀緩沖器64中的一或多個(gè)參考幀中的一或多個(gè)塊對(duì)所接收視頻塊執(zhí)行幀間預(yù)測(cè)譯碼以提供時(shí)間壓縮。幀內(nèi)預(yù)測(cè)模塊46可相對(duì)于與待譯碼塊相同的幀或切片中的一或多個(gè)相鄰塊對(duì)所接收視頻塊執(zhí)行幀內(nèi)預(yù)測(cè)性譯碼以提供空間壓縮??筛鶕?jù)如本文獻(xiàn)中稍后論述的所揭示原理改進(jìn)幀內(nèi)預(yù)測(cè)模塊46。

模式選擇模塊40可基于對(duì)每一模式的速率失真分析而選擇譯碼模式(例如,幀內(nèi)或幀間)中的一者?;诖诉x擇,可將所得經(jīng)幀內(nèi)或幀間譯碼塊提供到求和器50以產(chǎn)生表示殘余塊的殘余數(shù)據(jù),并提供到求和器62以重建構(gòu)用于參考幀中的經(jīng)編碼塊。模式選擇模塊40還可將語(yǔ)法元素(例如幀內(nèi)預(yù)測(cè)模式指示符、運(yùn)動(dòng)向量、分區(qū)信息及其它此類(lèi)語(yǔ)法信息)提供到熵編碼模塊56。一些視頻幀可被指定為i幀,其中i幀中的全部塊都以幀內(nèi)預(yù)測(cè)模式編碼。在一些狀況下,幀內(nèi)預(yù)測(cè)模塊46還可(例如)在由運(yùn)動(dòng)估計(jì)模塊42執(zhí)行的運(yùn)動(dòng)搜索未產(chǎn)生對(duì)塊的令人滿意預(yù)測(cè)時(shí)執(zhí)行對(duì)p幀或b幀中的塊的幀內(nèi)預(yù)測(cè)編碼。

如上文所提到,運(yùn)動(dòng)估計(jì)模塊42與運(yùn)動(dòng)補(bǔ)償模塊44可高度集成,但出于概念目的而單獨(dú)地說(shuō)明。運(yùn)動(dòng)估計(jì)為產(chǎn)生估計(jì)視頻塊的運(yùn)動(dòng)的運(yùn)動(dòng)向量的過(guò)程。舉例來(lái)說(shuō),運(yùn)動(dòng)向量可指示當(dāng)前幀中的預(yù)測(cè)單元(pu)相對(duì)于參考幀中的參考樣本的移位,其中pu可包括多個(gè)預(yù)測(cè)塊(例如,一個(gè)明度pb及兩個(gè)色度pb)。參考樣本可為在像素差度量方面發(fā)現(xiàn)緊密匹配經(jīng)譯碼pu的塊。像素差度量可涉及絕對(duì)差總和(sad)、平方差總和(ssd)或其它差異度量。

運(yùn)動(dòng)估計(jì)模塊42通過(guò)比較pu與存儲(chǔ)于參考幀緩沖器64中的參考幀的參考樣本來(lái)計(jì)算經(jīng)幀間譯碼幀的pu的運(yùn)動(dòng)向量。在一些實(shí)例中,視頻編碼器20可計(jì)算存儲(chǔ)在參考幀緩沖器64中的參考幀的子整數(shù)像素位置的值。舉例來(lái)說(shuō),視頻編碼器20可計(jì)算四分之一像素位置、八分之一像素位置或參考幀的其它分?jǐn)?shù)像素位置的值。因此,運(yùn)動(dòng)估計(jì)模塊42可相對(duì)于全像素位置及分?jǐn)?shù)像素位置兩者執(zhí)行運(yùn)動(dòng)搜索并按分?jǐn)?shù)像素精度輸出運(yùn)動(dòng)向量。在一些實(shí)施例中,運(yùn)動(dòng)搜索可使用可充分表示運(yùn)動(dòng)的明度pb。運(yùn)動(dòng)估計(jì)模塊42可將經(jīng)計(jì)算運(yùn)動(dòng)向量發(fā)送到熵編碼模塊56及運(yùn)動(dòng)補(bǔ)償模塊44。

由運(yùn)動(dòng)補(bǔ)償模塊44執(zhí)行的運(yùn)動(dòng)補(bǔ)償可涉及基于可由運(yùn)動(dòng)估計(jì)模塊42確定的運(yùn)動(dòng)向量來(lái)提取或產(chǎn)生pu的值。在接收到當(dāng)前視頻塊的pu的運(yùn)動(dòng)向量之后,運(yùn)動(dòng)補(bǔ)償模塊44可在參考幀中的一者中定位運(yùn)動(dòng)向量指向的對(duì)應(yīng)塊。求和器50通過(guò)減去經(jīng)譯碼的當(dāng)前視頻塊的像素值來(lái)形成表示殘余塊的殘余數(shù)據(jù),從而形成像素差值,如下文所論述。一般來(lái)說(shuō),運(yùn)動(dòng)估計(jì)模塊42相對(duì)于明度分量執(zhí)行運(yùn)動(dòng)估計(jì)以計(jì)算運(yùn)動(dòng)向量,且運(yùn)動(dòng)補(bǔ)償模塊44針對(duì)色度分量及明度分量?jī)烧呤褂眠\(yùn)動(dòng)向量。

作為由運(yùn)動(dòng)估計(jì)模塊42及運(yùn)動(dòng)補(bǔ)償模塊44執(zhí)行的幀間預(yù)測(cè)的替代方案,幀內(nèi)預(yù)測(cè)模塊46可對(duì)所接收塊進(jìn)行幀內(nèi)預(yù)測(cè)性編碼。幀內(nèi)預(yù)測(cè)模塊46可相對(duì)于相鄰先前經(jīng)譯碼塊編碼所接收塊(例如,變換塊),在假定塊的左到右、上到下編碼次序情況下,所述相鄰先前經(jīng)譯碼塊例如當(dāng)前塊的上方、右上方、左上方、左邊或左下方的塊。幀內(nèi)預(yù)測(cè)模塊46可配置有多種不同幀內(nèi)預(yù)測(cè)模式。舉例來(lái)說(shuō),幀內(nèi)預(yù)測(cè)模塊46可基于經(jīng)編碼譯碼單元的大小配置有一定數(shù)目個(gè)方向預(yù)測(cè)模式,例如三十三個(gè)方向預(yù)測(cè)模式。幀內(nèi)預(yù)測(cè)模塊46還可經(jīng)配置有其它類(lèi)型的預(yù)測(cè)模式,例如,平面預(yù)測(cè)模式及dc預(yù)測(cè)模式。

幀內(nèi)預(yù)測(cè)模塊46可通過(guò)(例如)計(jì)算各種幀內(nèi)預(yù)測(cè)模式的誤差值并選擇產(chǎn)出最低誤差值或另一度量的最高得分的模式來(lái)選擇幀內(nèi)預(yù)測(cè)模式??稍趐u層級(jí)處進(jìn)行模式選擇。方向預(yù)測(cè)模式可包含用于組合空間上相鄰像素(還被稱作“相鄰像素”)的值并將組合值應(yīng)用于相關(guān)聯(lián)pu中的一或多個(gè)像素位置的功能。一旦已計(jì)算pu中的全部像素位置的值,則幀內(nèi)預(yù)測(cè)模塊46可基于相關(guān)聯(lián)pu與所接收待編碼塊之間的像素差而計(jì)算預(yù)測(cè)模式的誤差值。在一些實(shí)施例中,幀內(nèi)預(yù)測(cè)模塊可測(cè)試每一幀內(nèi)預(yù)測(cè)模式以確定哪種模式產(chǎn)出最低誤差值或另一度量的最高等級(jí)。在一些實(shí)施例中,幀內(nèi)預(yù)測(cè)模塊46可繼續(xù)測(cè)試幀內(nèi)預(yù)測(cè)模式,直到確定產(chǎn)出可接受誤差值或另一度量的充分等級(jí)的幀內(nèi)預(yù)測(cè)模式為止。測(cè)試可用幀內(nèi)預(yù)測(cè)模式的子集可降低所要求處理延遲及處理帶寬。

幀內(nèi)預(yù)測(cè)模塊46可在測(cè)試各種幀內(nèi)預(yù)測(cè)模式時(shí)替代地或另外使用速率失真分析,且可選擇針對(duì)每一pu具有最佳速率失真特性(所測(cè)試模式當(dāng)中)的幀內(nèi)預(yù)測(cè)模式。速率失真分析大體上確定經(jīng)編碼塊與對(duì)應(yīng)原始未編碼塊之間的失真(例如,誤差)的量,以及用以產(chǎn)生經(jīng)編碼塊所需要的位數(shù)目(及所得位速率)。幀內(nèi)預(yù)測(cè)模塊46可從各種經(jīng)編碼塊的失真及位速率計(jì)算比率以確定哪種幀內(nèi)預(yù)測(cè)模式針對(duì)所述塊展現(xiàn)最佳速率失真值。在選擇幀內(nèi)預(yù)測(cè)模式之后,幀內(nèi)預(yù)測(cè)模塊46可將與選定幀內(nèi)預(yù)測(cè)模式相關(guān)聯(lián)的pu發(fā)送到求和器50??蓪⑦x定幀內(nèi)預(yù)測(cè)模式的指示符發(fā)送到熵編碼模塊56以包含于由視頻編碼器20輸出的經(jīng)編碼視頻數(shù)據(jù)中。

在模式選擇階段期間,幀內(nèi)預(yù)測(cè)模塊46可使用存儲(chǔ)于參考幀緩沖器64中的信息對(duì)殘余塊的值進(jìn)行幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)計(jì)算可在塊層級(jí)處發(fā)生(例如,一次一個(gè)變換單元(tu)或變換塊(tb)),其中一些tu可小于計(jì)算幀內(nèi)預(yù)測(cè)模式的對(duì)應(yīng)譯碼單元(cu)及預(yù)測(cè)單元(pu)。此外,對(duì)cu內(nèi)的一個(gè)tu的幀內(nèi)預(yù)測(cè)可取決于對(duì)也在cu內(nèi)的相鄰tu的幀內(nèi)預(yù)測(cè)及重建構(gòu)。根據(jù)所揭示原理,幀內(nèi)預(yù)測(cè)引擎可允許在幀內(nèi)預(yù)測(cè)期間改進(jìn)連續(xù)塊(例如,tu)的管線化。本文獻(xiàn)中稍后論述這些原理。

視頻編碼器20通過(guò)從經(jīng)譯碼的原始視頻塊減去由運(yùn)動(dòng)補(bǔ)償模塊44或幀內(nèi)預(yù)測(cè)模塊46計(jì)算的預(yù)測(cè)數(shù)據(jù)來(lái)確定表示殘余塊的殘余數(shù)據(jù)。求和器50表示執(zhí)行此減法運(yùn)算的組件。殘余塊可對(duì)應(yīng)于像素差值的二維矩陣。殘余塊中的值可對(duì)應(yīng)于經(jīng)幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)塊內(nèi)的共置像素與待譯碼原始?jí)K內(nèi)的共置像素的值之間的差(例如,誤差)。所述差可為色度或明度差,這取決于經(jīng)譯碼塊的類(lèi)型。

在幀內(nèi)預(yù)測(cè)期間,部分經(jīng)幀內(nèi)預(yù)測(cè)cu或pu的設(shè)定為塊大小(例如,設(shè)定為tu大小)部分可傳播通過(guò)求和器50、變換模塊52、量化模塊54、反量化模塊58、反變換模塊60、求和器62及參考幀緩沖器64。因此,第二塊(例如,tu)的幀內(nèi)預(yù)測(cè)可利用與已經(jīng)編碼的第一塊相關(guān)聯(lián)的參考值,即使第一塊及第二塊與共同cu或pu相關(guān)聯(lián)也如此。

變換模塊52可從殘余數(shù)據(jù)形成tu,其中每一tu可包括多個(gè)變換塊(例如,一個(gè)明度tb及兩個(gè)色度tb)。變換模塊52向tu應(yīng)用圖像變換(例如,二維變換),例如離散余弦變換(dct)、離散正弦變換(dst)、離散傅里葉變換(dft)、阿達(dá)馬變換、小波變換、整數(shù)變換、子帶變換或另一類(lèi)型的變換,從而產(chǎn)生包括變換系數(shù)的視頻塊??赏瑫r(shí)或連續(xù)地計(jì)算與tu相關(guān)聯(lián)的多個(gè)tb。

變換模塊52可將所得變換系數(shù)發(fā)送到量化模塊54,所述量化模塊可接著量化變換系數(shù)。量化大體上指將變換系數(shù)轉(zhuǎn)換成離散值的經(jīng)減少集合的過(guò)程,此以精度為代價(jià)導(dǎo)致效率增加(例如,較高的壓縮)??蛇m應(yīng)性地確定量化的層級(jí),使得相比較低能量系數(shù)較少量化較高能量系數(shù)。此外,可在由量化模塊54量化之后將較低能量系數(shù)中的一些設(shè)定成值“0”。此可允許改進(jìn)從熵編碼的壓縮,如下文所描述。

在量化之后,視頻編碼器20可掃描變換系數(shù),從而從具有經(jīng)量化變換系數(shù)的二維矩陣產(chǎn)生一維陣列。掃描可經(jīng)設(shè)計(jì)以將較低頻率系數(shù)(其常常具有相對(duì)較高的能量)放置為較接近陣列的前部并將較高頻率系數(shù)放置為較接近陣列的后部。在一些實(shí)例中,視頻編碼器20可使用預(yù)定義掃描次序(例如,z形掃描模式)以掃描變換系數(shù)。在其它實(shí)例中,視頻編碼器20可執(zhí)行適應(yīng)性掃描,且可將選定掃描次序編碼成數(shù)據(jù)流。可(例如)由熵編碼模塊56執(zhí)行掃描。

一旦掃描變換系數(shù),則熵編碼模塊56可向系數(shù)應(yīng)用熵譯碼,例如上下文自適應(yīng)可變長(zhǎng)度譯碼(cavlc)、概率間隔分割熵(pipe)譯碼或基于上下文的自適應(yīng)二進(jìn)制算術(shù)譯碼(cabac)。另外,熵編碼模塊56可編碼運(yùn)動(dòng)向量(mv)信息及用于在視頻解碼器處解碼視頻數(shù)據(jù)的多種語(yǔ)法元素中的任一者。這些語(yǔ)法元素可由視頻解碼器在重建構(gòu)經(jīng)編碼視頻數(shù)據(jù)時(shí)使用。在由熵編碼模塊56進(jìn)行熵譯碼之后,可將所得經(jīng)編碼視頻發(fā)射到另一裝置(例如視頻解碼器),或?qū)⑵浯鏅n以用于稍后發(fā)射或檢索。

反量化模塊58及反變換模塊60分別應(yīng)用反量化及反變換以重建構(gòu)像素域中的殘余塊,(例如)以用于產(chǎn)生存儲(chǔ)于參考幀緩沖器64中的參考幀的參考?jí)K。模塊58、60可用以模擬視頻解碼器的部分,且因此可大體上類(lèi)似于存在于視頻解碼器中的對(duì)應(yīng)模塊。運(yùn)動(dòng)補(bǔ)償模塊44結(jié)合求和器62可通過(guò)將殘余塊相加到參考幀緩沖器64的幀中的一者的預(yù)測(cè)性塊來(lái)計(jì)算參考?jí)K。運(yùn)動(dòng)補(bǔ)償模塊44還可將一或多個(gè)內(nèi)插濾波器應(yīng)用于經(jīng)重建構(gòu)殘余塊來(lái)計(jì)算子整數(shù)像素值以用于運(yùn)動(dòng)估計(jì)。求和器62可將經(jīng)重建構(gòu)殘余塊相加到由運(yùn)動(dòng)補(bǔ)償模塊44所產(chǎn)生的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)塊,以產(chǎn)生用于在參考幀緩沖器64中存儲(chǔ)的經(jīng)重建構(gòu)視頻塊。參考幀緩沖器64可保存大體上相同于在解碼器中所接收的視頻信息,此可允許視頻編碼器20基于由解碼器在應(yīng)用幀內(nèi)預(yù)測(cè)模式及運(yùn)動(dòng)向量的時(shí)間期間看見(jiàn)的此共同“狀態(tài)”信息而準(zhǔn)確地編碼幀內(nèi)預(yù)測(cè)模式及運(yùn)動(dòng)向量。

存儲(chǔ)于參考幀緩沖器64中的經(jīng)重建構(gòu)視頻塊可由運(yùn)動(dòng)估計(jì)模塊42及運(yùn)動(dòng)補(bǔ)償模塊44用作參考?jí)K以對(duì)另一視頻幀中的塊進(jìn)行幀間譯碼。另外或替代地,經(jīng)重建構(gòu)視頻塊可由幀內(nèi)預(yù)測(cè)模塊46使用以對(duì)相同視頻幀中的塊進(jìn)行幀內(nèi)譯碼。在一些情境中,特定參考?jí)K可能不用于幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè),而是可僅僅為具有其它有用參考?jí)K的參考幀的部分。

圖3展示說(shuō)明可根據(jù)所揭示原理實(shí)施的視頻解碼器30的實(shí)例的框圖。視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。

在圖3的實(shí)例中,視頻解碼器30包含熵解碼模塊70、運(yùn)動(dòng)補(bǔ)償模塊72、幀內(nèi)預(yù)測(cè)模塊74、反量化模塊76、反變換模塊78、參考幀緩沖器82及求和器80。在一些實(shí)施例中,視頻解碼器30可執(zhí)行大體上與相對(duì)于如圖2中所描述的視頻編碼器20所描述的編碼遍次相反的解碼遍次。

盡管為便于說(shuō)明而展示為單獨(dú)功能模塊,但視頻解碼器30內(nèi)的組件中的任一者的結(jié)構(gòu)及功能性可彼此高度集成。舉例來(lái)說(shuō),在一些實(shí)施例中,熵解碼模塊70可與反量化模塊76高度集成。

在解碼過(guò)程期間,視頻解碼器30接收如由視頻編碼器產(chǎn)生的表示經(jīng)編碼視頻切片的視頻塊及相關(guān)聯(lián)語(yǔ)法元素的經(jīng)編碼視頻位流。位流可從多種源接收,包含從文件服務(wù)器、從存儲(chǔ)媒體及經(jīng)由調(diào)制解調(diào)器從視頻編碼器接收,如圖1中所展示。

熵解碼模塊70可使用鏡像由產(chǎn)生位流的視頻編碼器的熵編碼模塊使用的掃描次序的掃描(例如,反z形掃描模式)掃描所接收值。另外或替代地,掃描次序可由視頻解碼器30基于例如預(yù)測(cè)模式、塊大小、變換或其它特性的經(jīng)譯碼視頻的特性來(lái)推斷。不管掃描次序如何確定,熵解碼模塊70可使用反掃描次序以將所接收一維陣列掃描成二維矩陣。熵解碼模塊70可接著對(duì)經(jīng)編碼視頻進(jìn)行熵解碼,此可涉及相反于由圖2的熵編碼模塊56使用的過(guò)程的過(guò)程。

視頻解碼器30可在視頻切片層級(jí)及/或視頻塊層級(jí)處接收相關(guān)聯(lián)語(yǔ)法元素。熵解碼模塊70可進(jìn)一步分析位流以提取經(jīng)量化系數(shù)、運(yùn)動(dòng)向量、幀內(nèi)預(yù)測(cè)模式指示符及其它語(yǔ)法元素。運(yùn)動(dòng)向量可由運(yùn)動(dòng)補(bǔ)償模塊72接收,且?guī)瑑?nèi)預(yù)測(cè)模式指示符可由幀內(nèi)預(yù)測(cè)模塊74接收。

當(dāng)切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(i)切片時(shí),幀內(nèi)預(yù)測(cè)模塊74可基于幀內(nèi)預(yù)測(cè)模式指示符及來(lái)自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)而產(chǎn)生當(dāng)前視頻切片的視頻塊的預(yù)測(cè)數(shù)據(jù)。圖4到5及隨附描述中較詳細(xì)涵蓋此過(guò)程。

當(dāng)視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(例如,b、p或gpb)切片時(shí),運(yùn)動(dòng)補(bǔ)償模塊72可基于運(yùn)動(dòng)向量及其它語(yǔ)法信息產(chǎn)生當(dāng)前視頻切片的視頻塊的預(yù)測(cè)單元(pu)。pu可從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生。視頻解碼器30可基于存儲(chǔ)于參考幀緩沖器82中的參考圖片而使用預(yù)設(shè)建構(gòu)技術(shù)建構(gòu)參考幀列表(例如,列表0及列表1,如由hevc標(biāo)準(zhǔn)定義)。運(yùn)動(dòng)補(bǔ)償模塊72可通過(guò)解析運(yùn)動(dòng)向量及其它語(yǔ)法信息來(lái)確定視頻塊的預(yù)測(cè)信息。此預(yù)測(cè)信息可用于產(chǎn)生正經(jīng)解碼的當(dāng)前視頻塊的pu。舉例來(lái)說(shuō),運(yùn)動(dòng)補(bǔ)償模塊72可確定預(yù)測(cè)模式(例如,幀內(nèi)或幀間)、幀間預(yù)測(cè)切片類(lèi)型(例如,b切片、p切片或gpb切片)、切片的一或多個(gè)參考圖片列表的建構(gòu)信息、切片的每一經(jīng)幀間編碼視頻塊的運(yùn)動(dòng)向量、切片的每一經(jīng)幀間譯碼視頻塊的幀間預(yù)測(cè)狀態(tài)及用以解碼當(dāng)前視頻切片中的視頻塊的其它信息。

運(yùn)動(dòng)補(bǔ)償模塊72還可基于內(nèi)插濾波器而執(zhí)行內(nèi)插。運(yùn)動(dòng)補(bǔ)償模塊72可使用類(lèi)似于由編碼視頻塊的視頻編碼器使用的內(nèi)插濾波器的內(nèi)插濾波器以計(jì)算參考?jí)K的子整數(shù)像素的內(nèi)插值。在一些實(shí)施例中,運(yùn)動(dòng)補(bǔ)償模塊72可確定由從所接收語(yǔ)法元素產(chǎn)生位流的視頻編碼器使用的內(nèi)插濾波器,并使用內(nèi)插濾波器以產(chǎn)生預(yù)測(cè)性塊。

反量化模塊76反量化(例如,解量化)位流中所提供且由熵解碼模塊70解碼的經(jīng)量化變換系數(shù)。反量化過(guò)程可包含使用由視頻解碼器30針對(duì)視頻切片中的每一視頻塊計(jì)算的量化參數(shù)qpy,以確定可應(yīng)用以確定原始變換系數(shù)的量化程度及同樣地反量化程度,但可能存在一些量化誤差。

反變換模塊78可應(yīng)用反變換(例如,反dct)以形成像素或像素差域中的殘余數(shù)據(jù)。反變換可相反于由圖2的變換模塊52使用的變換??稍诰哂邢嗤谡?jīng)解碼變換單元(tu)且因此變換塊(tb)的大小的殘余塊中計(jì)算殘余數(shù)據(jù)。

在運(yùn)動(dòng)補(bǔ)償模塊72及/或幀內(nèi)預(yù)測(cè)模塊74產(chǎn)生譯碼單元(cu)的設(shè)定為塊大小(例如,設(shè)定為tu大小)部分之后,視頻解碼器30通過(guò)求和來(lái)自反變換模塊78的殘余塊與由運(yùn)動(dòng)補(bǔ)償模塊72及/或幀內(nèi)預(yù)測(cè)模塊74產(chǎn)生的對(duì)應(yīng)設(shè)定為塊大小的預(yù)測(cè)數(shù)據(jù)而形成經(jīng)解碼視頻塊。求和器80表示執(zhí)行此求和運(yùn)算并將結(jié)果存儲(chǔ)于參考幀緩沖器82中的組件。

在幀內(nèi)預(yù)測(cè)期間,求和器80可反復(fù)地求和每一經(jīng)反變換塊與來(lái)自參考幀緩沖器82的對(duì)應(yīng)塊,其中對(duì)應(yīng)塊的大小可相同于經(jīng)反變換塊且是至少部分地基于幀內(nèi)預(yù)測(cè)模式指示符選定。因此,寫(xiě)入到參考幀緩沖器的經(jīng)解碼塊可與tu對(duì)應(yīng)且具有相同于tu的大小。通過(guò)反復(fù)地重建構(gòu)設(shè)定為tu大小的經(jīng)解碼塊并將其存儲(chǔ)到參考幀緩沖器82,可在參考幀緩沖器82處確定完整經(jīng)解碼cu。

本發(fā)明的一個(gè)目標(biāo)為優(yōu)化tu與cu大小不同的情境,使得進(jìn)一步并行化幀內(nèi)預(yù)測(cè)處理。

在需要時(shí),可應(yīng)用解塊濾波器以對(duì)經(jīng)解碼塊進(jìn)行濾波,以便移除成塊效應(yīng)假影。還可使用其它環(huán)路濾波器(例如,在譯碼環(huán)路中或在譯碼環(huán)路之后)來(lái)使像素轉(zhuǎn)變平滑或以其它方式改進(jìn)視頻質(zhì)量。給定幀或圖片中的經(jīng)解碼視頻塊接著存儲(chǔ)于參考幀緩沖器82中。參考幀緩沖器82可存儲(chǔ)可用于后續(xù)運(yùn)動(dòng)補(bǔ)償及/或幀內(nèi)預(yù)測(cè)的此及其它參考幀或圖片。參考幀緩沖器82還可存儲(chǔ)經(jīng)解碼視頻用來(lái)呈現(xiàn)在顯示裝置上。

圖4展示說(shuō)明用于幀內(nèi)預(yù)測(cè)的各種模式的示意圖。具體來(lái)說(shuō),圖4說(shuō)明可用于hevc譯碼器的三十五個(gè)幀內(nèi)預(yù)測(cè)模式。關(guān)于可受益于經(jīng)改進(jìn)幀內(nèi)預(yù)測(cè)過(guò)程的其它譯碼標(biāo)準(zhǔn)或方法,圖4是出于說(shuō)明而非限制本發(fā)明的目的而處于hevc的上下文中。

圖像及視頻幀大體上包含空間上冗余數(shù)據(jù)。空間冗余暗示給定像素可大體上相關(guān)于環(huán)繞像素中的至少一者。幀內(nèi)預(yù)測(cè)允許基于相鄰像素內(nèi)插塊內(nèi)的像素。選定相鄰像素可位于已經(jīng)計(jì)算的其它塊中,以便移除塊內(nèi)的相依性,借此促進(jìn)所述塊內(nèi)的多個(gè)像素的并行幀內(nèi)預(yù)測(cè)。舉例來(lái)說(shuō),當(dāng)使用方向模式時(shí),可在模式定義方向上將相鄰像素選定為經(jīng)計(jì)算塊外部的最接近像素。下文圖5中進(jìn)一步示范使用來(lái)自其它塊的像素的此概念。

如圖4中所展示,可基于幀內(nèi)預(yù)測(cè)模式計(jì)算針對(duì)像素401的幀內(nèi)預(yù)測(cè)值??稍谝曨l編碼器處基于每預(yù)測(cè)單元計(jì)算幀內(nèi)預(yù)測(cè)模式。當(dāng)預(yù)測(cè)單元的大小相同于對(duì)應(yīng)譯碼單元及其相關(guān)聯(lián)譯碼塊時(shí),譯碼塊內(nèi)的每一變換塊可具有共同幀內(nèi)預(yù)測(cè)模式??蓪瑑?nèi)預(yù)測(cè)模式指示符連同其它視頻數(shù)據(jù)編碼到位流中,從而使得可在解碼過(guò)程期間由解碼器使用模式指示符。一些譯碼單元(例如,經(jīng)幀間譯碼的譯碼單元)可不具有對(duì)應(yīng)幀內(nèi)預(yù)測(cè)模式指示符。

模式0可用于平面譯碼技術(shù),其中根據(jù)由hevc標(biāo)準(zhǔn)定義的平面函數(shù)計(jì)算像素401。模式1可用于dc譯碼技術(shù);其中像素401被計(jì)算為相鄰像素的平均值。模式2到34可用于方向譯碼技術(shù)。此處,與模式2到34相關(guān)聯(lián)的箭頭指示用以發(fā)現(xiàn)用于確定像素401的值的相鄰像素的搜索方向。在箭頭指向兩個(gè)相鄰像素之間的情況中,加權(quán)內(nèi)插函數(shù)可用于確定可為兩個(gè)相鄰像素的加權(quán)平均值的中間值。

在hevc中,可假定幀內(nèi)預(yù)測(cè)方案涉及從左到右且接著從上到下計(jì)算塊(例如,如同人們將閱讀英文書(shū)籍),或從上到下且接著從左到右計(jì)算塊(例如,如同人們將閱讀一些傳統(tǒng)東亞手跡)。如一般技術(shù)人員將理解,將可能旋轉(zhuǎn)或以其它方式變更塊計(jì)算次序(例如,從而使得從右到左接著從下到上對(duì)塊進(jìn)行幀內(nèi)預(yù)測(cè))。在那些情境中,可改變(例如,旋轉(zhuǎn))方向幀內(nèi)預(yù)測(cè)模式以較好促進(jìn)已經(jīng)計(jì)算塊的使用。

取決于選定模式,針對(duì)塊中的像素的幀內(nèi)預(yù)測(cè)可取決于在一或多個(gè)其它塊中的相鄰像素。舉例來(lái)說(shuō),當(dāng)選定幀內(nèi)預(yù)測(cè)模式26時(shí),包括像素401的塊的幀內(nèi)預(yù)測(cè)可取決于來(lái)自所述塊上方的相鄰塊的最后一行中的像素。在另一實(shí)例中,當(dāng)選定幀內(nèi)預(yù)測(cè)模式10時(shí),包括像素401的塊的幀內(nèi)預(yù)測(cè)可取決于所述塊右邊的相鄰塊的最右一列中的像素。由于這些相依性,可不能對(duì)相鄰塊任意并行應(yīng)用幀內(nèi)預(yù)測(cè)。如由箭頭所展示,提供相鄰像素的其它塊可在執(zhí)行幀內(nèi)預(yù)測(cè)的當(dāng)前塊的上方、右上方、左上方、左邊及左下方。

圖5展示說(shuō)明塊511與相鄰塊的相依性的示意圖。每一塊可(例如)表示待經(jīng)幀內(nèi)預(yù)測(cè)的共同預(yù)測(cè)單元內(nèi)的變換單元。塊在圖中由厚邊界分離。每一塊可具有4×4個(gè)像素的大小。舉例來(lái)說(shuō),塊511可包括標(biāo)記為“a”到“p”的16個(gè)像素。

塊500、501、502、510及520未完全展示。塊501在其最后一行中包括像素“a”、“b”、“c”及“d”;塊502在其最后一行中包括像素“e”、“f”、“g”及“h”;塊510在其最右一列中包括像素“i”、“j”、“k”及“l(fā)”;塊520在其最右一列中包括像素“m”、“n”、“o”及“p”;且塊500在其右下拐角中包括像素“r”。

如上文所描述,例如hevc的一些視頻譯碼標(biāo)準(zhǔn)指示塊511內(nèi)的像素的幀內(nèi)預(yù)測(cè)取決于相鄰塊500、501、502、510及520中的至少一者內(nèi)的相鄰像素的經(jīng)重建構(gòu)值中的至少一些。相依性本質(zhì)的特征在于幀內(nèi)預(yù)測(cè)模式。舉例來(lái)說(shuō),如果選定垂直幀內(nèi)預(yù)測(cè)模式(例如,hevc中的模式26),則塊511中的像素“a”到“p”的幀內(nèi)預(yù)測(cè)可依賴于塊501中的像素“a”到“d”的經(jīng)重建構(gòu)值。經(jīng)重建構(gòu)像素?cái)?shù)據(jù)可在塊501的幀內(nèi)預(yù)測(cè)完成之后或最少在像素“a”到“d”的幀內(nèi)預(yù)測(cè)完成之后變得可用。因此,對(duì)于某些幀內(nèi)預(yù)測(cè)模式,塊511的幀內(nèi)預(yù)測(cè)可限于在至少部分完成塊501的幀內(nèi)預(yù)測(cè)之后開(kāi)始。在另一實(shí)例中,如果選定水平幀內(nèi)預(yù)測(cè)模式(例如,hevc中的模式10),則塊511的幀內(nèi)預(yù)測(cè)可依賴于塊510中的像素“i”到“l(fā)”的經(jīng)重建構(gòu)值。作為另一實(shí)例,如果選定例如hevc中的模式2的對(duì)角線幀內(nèi)預(yù)測(cè)模式,則塊511的幀內(nèi)預(yù)測(cè)可涉及基于位于塊510及520中的像素“i”到“p”的計(jì)算。hevc中例如模式0(dc模式)的一些幀內(nèi)預(yù)測(cè)模式可甚至利用來(lái)自塊500、501、502、510及520(如果可用)中的每一者的值。

在管線化架構(gòu)中,可需要支持全部可用幀內(nèi)預(yù)測(cè)模式,且因此在511的幀內(nèi)預(yù)測(cè)開(kāi)始之前至少部分重建構(gòu)塊500、501、502、510及520可是有益的。如下文將描述,可基于幀內(nèi)預(yù)測(cè)模式選擇性地旋轉(zhuǎn)或轉(zhuǎn)置譯碼塊以便移除對(duì)相鄰塊中的一者(例如,塊520)的相依性。

圖6展示說(shuō)明幀內(nèi)預(yù)測(cè)子系統(tǒng)600的框圖。子系統(tǒng)600包含幀內(nèi)預(yù)測(cè)模塊610、反變換模塊620、參考幀緩沖器630及求和器640。子系統(tǒng)600可并入到視頻編碼器及視頻解碼器中。舉例來(lái)說(shuō),如果子系統(tǒng)600并入到圖2的視頻編碼器20中,則幀內(nèi)預(yù)測(cè)模塊610可表示圖2的幀內(nèi)預(yù)測(cè)模塊46,反變換模塊620可表示圖2的反變換模塊60,參考幀緩沖器630可表示圖2的參考幀緩沖器64,且求和器640可表示圖2的求和器62。

類(lèi)似地,如果子系統(tǒng)600并入到圖3的視頻解碼器30中,則幀內(nèi)預(yù)測(cè)模塊610可表示圖3的幀內(nèi)預(yù)測(cè)模塊74,反變換模塊620可表示圖3的反變換模塊78,參考幀緩沖器630可表示圖3的參考幀緩沖器82,且求和器640可表示圖3的求和器80。子系統(tǒng)600的某些組件(例如,參考幀緩沖器630)可另外用于其它子系統(tǒng)中。

子系統(tǒng)600可經(jīng)設(shè)計(jì)以優(yōu)化連續(xù)塊的幀內(nèi)預(yù)測(cè),即使給定塊的幀內(nèi)預(yù)測(cè)可至少部分取決于在幀內(nèi)預(yù)測(cè)次序上緊接之前的塊。舉例來(lái)說(shuō),每一塊的幀內(nèi)預(yù)測(cè)可取決于關(guān)鍵行、關(guān)鍵列或之前塊的經(jīng)重建構(gòu)像素,如圖7中將進(jìn)一步詳細(xì)展示。

返回到圖6,幀內(nèi)預(yù)測(cè)模塊610可包括相鄰緩沖器612、相鄰處理單元614及幀內(nèi)預(yù)測(cè)處理單元616。相鄰緩沖器612可使用與相鄰ram613介接的邏輯及/或電路存儲(chǔ)及檢索相鄰像素。相鄰像素可包括當(dāng)對(duì)塊進(jìn)行幀內(nèi)預(yù)測(cè)時(shí)可使用的像素。在hevc的上下文中,塊可表示可與具有相等或較大大小的譯碼單元(及預(yù)測(cè)單元)相關(guān)聯(lián)的變換單元。取決于經(jīng)幀內(nèi)預(yù)測(cè)的塊的類(lèi)型,像素可包括色度及/或明度值。此處,塊大小可為m×m,其中m為非負(fù)整數(shù)值。m的示范性值包含4、8、16及32。

在存儲(chǔ)于相鄰緩沖器612中的像素由幀內(nèi)預(yù)測(cè)處理單元616接收之前,所述像素可需要經(jīng)濾波、填補(bǔ)及潛在地以其它方式進(jìn)行調(diào)節(jié)。這些調(diào)節(jié)動(dòng)作可至少部分由從相鄰緩沖器612接收準(zhǔn)備由幀內(nèi)預(yù)測(cè)處理單元616處理的像素的相鄰處理單元614執(zhí)行。舉例來(lái)說(shuō),相鄰處理單元614可為幀內(nèi)預(yù)測(cè)處理單元616準(zhǔn)備4m+1個(gè)相鄰像素以處理m×m塊。這些相鄰像素可(例如)表示相鄰像素“a”到“r”,如圖5中所展示。

返回到圖6,幀內(nèi)預(yù)測(cè)處理單元616可包括處理引擎617-1到617-n(也標(biāo)記為pe1到pen),所述處理引擎可被實(shí)施為視頻編碼及/或視頻解碼裝置中的硬件。n個(gè)處理引擎617可各自同時(shí)對(duì)從相鄰處理單元614接收的共同輸入集合操作以對(duì)正處理塊內(nèi)的不同像素進(jìn)行幀內(nèi)預(yù)測(cè)。處理引擎617可各自能夠每循環(huán)(例如,時(shí)鐘循環(huán))計(jì)算一個(gè)像素,且每一處理引擎617可計(jì)算塊內(nèi)的不同像素或像素集合。因此,幀內(nèi)預(yù)測(cè)引擎可能夠每循環(huán)計(jì)算可由求和器640接收的n個(gè)像素。

求和器640可將由幀內(nèi)預(yù)測(cè)處理單元616輸出的n個(gè)經(jīng)幀內(nèi)預(yù)測(cè)像素的每一集合相加到由反變換模塊620所計(jì)算的n個(gè)對(duì)應(yīng)殘余值,借此重建構(gòu)n個(gè)像素。經(jīng)重建構(gòu)像素可存儲(chǔ)于參考幀緩沖器630中。一些經(jīng)重建構(gòu)像素可用于對(duì)后續(xù)塊進(jìn)行幀內(nèi)預(yù)測(cè),且這些經(jīng)重建構(gòu)像素可另外存儲(chǔ)于相鄰緩沖器612中。在一些實(shí)施例中,相鄰緩沖器612從參考幀緩沖器630讀取這些經(jīng)重建構(gòu)像素,且在一些實(shí)施例中,求和器640將這些經(jīng)重建構(gòu)像素輸出到參考幀緩沖器630及相鄰緩沖器612兩者。

處理引擎的數(shù)目n可隨著相鄰緩沖器612的存儲(chǔ)器帶寬而按比例調(diào)整。舉例來(lái)說(shuō),在一些實(shí)施例中,相鄰緩沖器的讀取帶寬可為每循環(huán)2n個(gè)像素。然而,可使用緩沖器讀取帶寬與處理引擎數(shù)目的其它比率。此外,相鄰ram613的形狀可相關(guān)于讀取帶寬及/或處理引擎數(shù)目。舉例來(lái)說(shuō),相鄰ram613可經(jīng)配置以具有192/n×16n的形狀及大小,其中ram深度可為192/n且ram寬度可為16n。雖然相鄰緩沖器612展示為包含ram613,但可另外或替代地使用其它合適類(lèi)型的存儲(chǔ)器。

當(dāng)對(duì)塊中的像素進(jìn)行幀內(nèi)預(yù)測(cè)時(shí),幀內(nèi)預(yù)測(cè)處理單元616可優(yōu)先排序?qū)⒂糜诤罄m(xù)塊(例如,緊接著當(dāng)前塊的塊)的幀內(nèi)預(yù)測(cè)的像素。在這些像素經(jīng)幀內(nèi)預(yù)測(cè)之后,可在求和器640處將其與對(duì)應(yīng)殘余值求和以產(chǎn)生可存儲(chǔ)回到相鄰緩沖器612中(以及參考幀緩沖器630中)的經(jīng)重建構(gòu)像素。經(jīng)重建構(gòu)像素接著可由相鄰處理單元614濾波、填補(bǔ)及潛在地以其它方式調(diào)節(jié)以用于幀內(nèi)預(yù)測(cè)處理單元616。在對(duì)像素進(jìn)行合適優(yōu)先排序的情況下,相鄰處理單元614可在幀內(nèi)預(yù)測(cè)處理單元616結(jié)束對(duì)當(dāng)前塊的幀內(nèi)預(yù)測(cè)之前使用于下一塊的經(jīng)重建構(gòu)殘余值準(zhǔn)備就緒。因此,幀內(nèi)預(yù)測(cè)處理單元616可甚至在下一塊對(duì)當(dāng)前塊具有相依性時(shí)及/或在當(dāng)前塊與下一塊在共同譯碼單元內(nèi)時(shí)在緊接當(dāng)前塊結(jié)束之后開(kāi)始處理下一塊。此是優(yōu)于傳統(tǒng)方法的重大改進(jìn)。

圖7展示說(shuō)明選定用于幀內(nèi)預(yù)測(cè)的譯碼塊700的框圖。譯碼塊700可具有可大體上以所述次序處理的多個(gè)變換塊710-0、710-1、710-2及710-3。在非hevc上下文中,譯碼塊700可指宏塊700,且變換塊710-0、710-1、710-2及710-3可更大體來(lái)說(shuō)指塊710-0、710-1、710-2及710-3。在幀內(nèi)預(yù)測(cè)期間,譯碼塊700可具有由對(duì)應(yīng)變換塊710中的每一者共享的單一幀內(nèi)預(yù)測(cè)模式。塊710可為在重建構(gòu)期間更新參考幀緩沖器的單元。

在一些情境中,變換塊的大小可相同于對(duì)應(yīng)譯碼塊,而在其它情境中(例如,如圖7中所展示),變換塊可小于相關(guān)聯(lián)譯碼塊(其自身可與單一預(yù)測(cè)塊相關(guān)聯(lián))。因此,相鄰變換塊的群組可具有相同幀內(nèi)預(yù)測(cè)模式。結(jié)果,譯碼塊內(nèi)的變換塊可在幀內(nèi)預(yù)測(cè)期間具有與先前變換塊的常規(guī)相依性模式。

作為塊相依性的實(shí)例,如果選定水平幀內(nèi)預(yù)測(cè)模式或某些對(duì)角線幀內(nèi)預(yù)測(cè)模式,則塊710-1(也標(biāo)記為塊1)的幀內(nèi)預(yù)測(cè)可取決于塊710-0(也標(biāo)記為塊0)的關(guān)鍵列720(例如,最右一列)的重建構(gòu)。類(lèi)似地,如果選定某些對(duì)角線幀內(nèi)預(yù)測(cè)模式,則塊710-2(也標(biāo)記為塊2)的幀內(nèi)預(yù)測(cè)可取決于塊710-1的關(guān)鍵行722(例如,最后一行)的重建構(gòu)。

關(guān)鍵列720可為塊710-1在幀內(nèi)預(yù)測(cè)期間取決于塊710-0的唯一部分。其它相鄰像素(例如,塊710-1上方的那些像素)可由于完成譯碼塊700上方的譯碼塊的重建構(gòu)而已經(jīng)重建構(gòu)并存儲(chǔ)于相鄰緩沖器中。因此,可在塊710-0的幀內(nèi)預(yù)測(cè)期間優(yōu)先排序關(guān)鍵列720。當(dāng)確定出關(guān)鍵列720的經(jīng)重建構(gòu)像素時(shí),可開(kāi)始準(zhǔn)備塊710-1的幀內(nèi)預(yù)測(cè)(例如,濾波及填補(bǔ))。此準(zhǔn)備可在塊710-0的幀內(nèi)預(yù)測(cè)仍在進(jìn)行中時(shí)發(fā)生并完成,如下文將在圖8中所展示。因此,塊710-1可緊接在幀內(nèi)預(yù)測(cè)處理單元結(jié)束處理塊710-0之后經(jīng)幀內(nèi)預(yù)測(cè)。

類(lèi)似地,關(guān)鍵行722可為塊710-2在幀內(nèi)預(yù)測(cè)期間取決于塊710-1的唯一部分。其它相鄰像素(例如,塊710-2左邊的那些像素)可由于完成譯碼塊700左邊的譯碼塊的重建構(gòu)而已經(jīng)重建構(gòu)并存儲(chǔ)于相鄰緩沖器中。因此,可在塊710-1的幀內(nèi)預(yù)測(cè)期間優(yōu)先排序關(guān)鍵行722,且塊710-2可緊接在幀內(nèi)預(yù)測(cè)處理單元結(jié)束處理塊710-1之后經(jīng)幀內(nèi)預(yù)測(cè)。

當(dāng)關(guān)鍵行或列經(jīng)優(yōu)先排序時(shí),n個(gè)處理引擎(如圖6中所展示)可各自選擇不同像素或像素集合以處理。由于m×m塊中的單一行或列可具有m個(gè)像素,因此可要求m/n個(gè)循環(huán)以對(duì)單一關(guān)鍵行或列進(jìn)行幀內(nèi)預(yù)測(cè)。此可大體上小于處理整個(gè)塊可要求的m*m/n個(gè)循環(huán),此情況可為相鄰處理單元提供充分時(shí)間以準(zhǔn)備下一塊的相鄰像素。

舉例來(lái)說(shuō),如果存在作用于塊710-0(其展示為4×4塊)的兩個(gè)處理引擎,則第一處理引擎可在第一循環(huán)期間計(jì)算列c3與行r0的相交點(diǎn)處的像素的經(jīng)幀內(nèi)預(yù)測(cè)值。在此相同循環(huán)期間,第二處理引擎可計(jì)算列c3與行r1的相交點(diǎn)處的像素的經(jīng)幀內(nèi)預(yù)測(cè)值。在接下來(lái)循環(huán)中,第一及第二處理引擎可分別內(nèi)插列c3與行r2的相交點(diǎn)處的像素的值及列c3與行r3的相交點(diǎn)處的像素的值。因此,在兩個(gè)循環(huán)中,可完成對(duì)關(guān)鍵列720的幀內(nèi)預(yù)測(cè)。接著可在處理引擎內(nèi)插剩余列的時(shí)間期間重建構(gòu)、存儲(chǔ)并準(zhǔn)備關(guān)鍵列720以用于下一塊(例如,塊710-1)的幀內(nèi)預(yù)測(cè)。換句話說(shuō),將由相鄰處理單元執(zhí)行的相鄰處理與由幀內(nèi)預(yù)測(cè)處理單元執(zhí)行的幀內(nèi)預(yù)測(cè)管線化。

一般來(lái)說(shuō),幀內(nèi)預(yù)測(cè)處理單元可選擇性地及靈活地選擇用于預(yù)測(cè)的像素。舉例來(lái)說(shuō),如上文證明,幀內(nèi)預(yù)測(cè)處理單元可至少部分取決于待經(jīng)幀內(nèi)預(yù)測(cè)的下一塊(例如,變換塊)的相對(duì)位置對(duì)列或行進(jìn)行操作。如果待經(jīng)幀內(nèi)預(yù)測(cè)的下一塊在當(dāng)前塊的右邊,則可優(yōu)先排序當(dāng)前塊的最右一列。在處理最右一列之后,可以逐列模式處理塊的剩余部分。類(lèi)似地,如果待經(jīng)幀內(nèi)預(yù)測(cè)的下一塊在當(dāng)前塊的下方或左下方,則可優(yōu)先排序當(dāng)前塊的最后一行??梢灾鹦心J教幚懋?dāng)前塊的剩余部分。

可針對(duì)塊的不同幀內(nèi)預(yù)測(cè)次序調(diào)整關(guān)鍵列及行的優(yōu)先排序。此外,在一些實(shí)施例中,可優(yōu)先排序多個(gè)列或行而非單一列或行。舉例來(lái)說(shuō),當(dāng)塊的幀內(nèi)預(yù)測(cè)使用最接近及第二最接近行或列兩者時(shí)可發(fā)生此情況。

可注意到,塊710-1展示為對(duì)塊710-2不具有任何相依性,即使圖4到5中展示幀內(nèi)預(yù)測(cè)可利用來(lái)自正經(jīng)幀內(nèi)預(yù)測(cè)塊的下方及左邊的塊的像素也如此。然而,為防止此相依性不必要地停止或延遲塊710-1的幀內(nèi)預(yù)測(cè),當(dāng)出現(xiàn)此類(lèi)型的相依性時(shí)可旋轉(zhuǎn)或轉(zhuǎn)置譯碼塊700。此實(shí)際上朝向完整(或至少部分完整)塊移位幀內(nèi)預(yù)測(cè)向量,借此促進(jìn)譯碼塊內(nèi)的連續(xù)變換塊的最佳化處理。

雖然圖7展示具有四個(gè)變換塊的譯碼塊,但譯碼塊內(nèi)的變換塊的數(shù)目可變化。舉例來(lái)說(shuō),譯碼塊可與1個(gè)、4個(gè)、16個(gè)、64個(gè)或256個(gè)變換塊相關(guān)聯(lián)。此外,雖然變換塊展示為具有4×4的大小,但可選定其它塊大小。舉例來(lái)說(shuō),在hevc中,變換塊可具有4×4、8×8、16×16或32×32的大小。

圖8展示說(shuō)明交錯(cuò)式幀內(nèi)預(yù)測(cè)技術(shù)的時(shí)序圖。具體來(lái)說(shuō),時(shí)序圖展示用于第一塊(塊0)的幀內(nèi)預(yù)測(cè)的第一時(shí)間表801,及用于第二塊(塊1)的幀內(nèi)預(yù)測(cè)的第二時(shí)間表802。在hevc的上下文中,這些塊可表示變換塊。時(shí)序圖與圖6中所展示的幀內(nèi)預(yù)測(cè)子系統(tǒng)的實(shí)施例相關(guān)聯(lián),且假定塊大小為m×m。全部時(shí)序在本質(zhì)上是示范性的且其可取決于處理延遲及其它因素而變化。

在時(shí)間810處,相鄰處理單元可提取或以其它方式接收可用于第一塊的幀內(nèi)預(yù)測(cè)的相鄰像素。如上文所描述,可(例如)從相鄰緩沖器接收4m+1個(gè)相鄰像素。此處,“1”表示可存儲(chǔ)于單獨(dú)寄存器中的拐角(例如,左上方拐角)像素(且可經(jīng)減少以用于時(shí)序計(jì)算)。然而,拐角像素可另外或替代地存儲(chǔ)于相鄰緩沖器中。如果來(lái)自緩沖器的讀取帶寬為每循環(huán)2n個(gè)像素,則相鄰處理單元讀取全部相鄰像素可花費(fèi)大約2m/n個(gè)循環(huán)。此動(dòng)作可在時(shí)間820處完成。

在提取相鄰像素之后,可填補(bǔ)、濾波及/或以其它方式調(diào)節(jié)相鄰像素以準(zhǔn)備用于幀內(nèi)預(yù)測(cè)處理單元。此可花費(fèi)固定循環(huán)量(例如,兩個(gè)循環(huán))且可在時(shí)間830處完成。

在時(shí)間830處,幀內(nèi)預(yù)測(cè)處理單元可開(kāi)始對(duì)第一塊進(jìn)行幀內(nèi)預(yù)測(cè)(以關(guān)鍵行或列開(kāi)始)。m×m塊中的關(guān)鍵行或列可具有m個(gè)像素,且?guī)瑑?nèi)預(yù)測(cè)處理單元可能夠每循環(huán)處理n個(gè)像素。因此,在大約m/n個(gè)循環(huán)之后,關(guān)鍵行或列可經(jīng)幀內(nèi)預(yù)測(cè)??蓪⒔?jīng)幀內(nèi)預(yù)測(cè)值與對(duì)應(yīng)殘余值求和以產(chǎn)生存儲(chǔ)于相鄰緩沖器中的經(jīng)重建構(gòu)像素,從而使得其準(zhǔn)備由相鄰處理單元在時(shí)間840處接收。

在時(shí)間840處,相鄰處理單元可提取或以其它方式接收可用于第二塊的幀內(nèi)預(yù)測(cè)的經(jīng)重建構(gòu)相鄰像素。如上文所提到,所接收像素中的一些可與第一塊的關(guān)鍵行或列對(duì)應(yīng),借此在相鄰處理單元已準(zhǔn)備用于第一塊的相鄰像素并將其發(fā)送到幀內(nèi)預(yù)測(cè)處理單元的時(shí)間830與相鄰處理單元開(kāi)始接收用于第二塊的相鄰像素的時(shí)間840之間帶來(lái)延遲。

在大約2m/n個(gè)循環(huán)后,相鄰處理單元可接收用于對(duì)第二塊進(jìn)行幀內(nèi)預(yù)測(cè)的相鄰像素中的每一者,此可在時(shí)間850處完成。在用于填補(bǔ)、濾波及/或以其它方式調(diào)節(jié)相鄰像素的固定循環(huán)量(例如,兩個(gè)循環(huán))之后,相鄰處理單元可結(jié)束用于幀內(nèi)預(yù)測(cè)處理單元的像素準(zhǔn)備。

在時(shí)間860處,幀內(nèi)預(yù)測(cè)處理單元可完成第一塊的處理且可開(kāi)始處理第二塊。換句話說(shuō),可緊接在第一塊之后處理第二塊,這是因?yàn)樵跁r(shí)間860處相鄰處理單元可準(zhǔn)備好用于第二塊的相鄰像素。在一些實(shí)施例中,相鄰處理單元可在時(shí)間860之前完成用于第二塊的相鄰像素準(zhǔn)備(例如,填補(bǔ)及濾波)。

從幀內(nèi)預(yù)測(cè)處理單元的角度,第一塊是在時(shí)間830處從相鄰處理單元接收并在時(shí)間860處結(jié)束大約m*m/n個(gè)循環(huán)的處理。一完成對(duì)第一塊的處理,幀內(nèi)預(yù)測(cè)處理單元即可使用由相鄰處理單元準(zhǔn)備的對(duì)應(yīng)4m+1個(gè)相鄰像素開(kāi)始處理第二塊。在大約m*m/n個(gè)循環(huán)的另一時(shí)間周期之后,幀內(nèi)預(yù)測(cè)處理單元完成對(duì)第二塊的處理(在時(shí)間870處),且可緊接著使用可已由相鄰處理單元準(zhǔn)備的對(duì)應(yīng)4m+1個(gè)相鄰像素開(kāi)始處理第三塊。

可注意到,相鄰處理單元可在幀內(nèi)預(yù)測(cè)處理單元仍處理(例如,進(jìn)行幀內(nèi)預(yù)測(cè))第一塊的時(shí)間期間處理(例如,從緩沖器讀取、填補(bǔ)及濾波)用于第二塊的相鄰像素。以此方式,相鄰處理單元可與幀內(nèi)預(yù)測(cè)處理單元管線化(及交錯(cuò)),此可增加幀內(nèi)預(yù)測(cè)模塊及子系統(tǒng)的效率及輸送量。

常常,在管線化架構(gòu)中,數(shù)據(jù)應(yīng)歷時(shí)最小時(shí)間周期保持于緩沖器中,這是因?yàn)楣潭〝?shù)據(jù)可帶來(lái)(或指示)低效及較低輸送量??勺⒁獾?,每一塊的處理循環(huán)大約為m*m/n個(gè)循環(huán),且因此,此也可為每一集合的4m(或4m+1)個(gè)相鄰像素可存儲(chǔ)于相鄰緩沖器中的平均時(shí)間。此經(jīng)縮短存儲(chǔ)周期(相比于常規(guī)設(shè)計(jì))指示根據(jù)所揭示原理設(shè)計(jì)的幀內(nèi)預(yù)測(cè)模塊及子系統(tǒng)可達(dá)成的經(jīng)增加輸送量及效率。

同樣,圖8中所展示的動(dòng)作或周期中的任一者的準(zhǔn)確循環(huán)數(shù)目?jī)H僅為示范性的,且其可取決于歸因于處理的延遲及其它因素而變化。

處理引擎的數(shù)目(n)及相鄰緩沖器讀取帶寬(例如,每循環(huán)2n個(gè)像素)可皆根據(jù)不同性能要求而按比例調(diào)整。下文的表1展示根據(jù)所揭示原理的各種配置。

表1

表1中所展示的值是使用28nm技術(shù)節(jié)點(diǎn)相對(duì)于以400mhz運(yùn)行的硬件設(shè)計(jì)所測(cè)量或以其它方式確定。技術(shù)節(jié)點(diǎn)及操作頻率僅僅是示范性的,且可使用其它技術(shù)節(jié)點(diǎn)及/或操作頻率。

所述表展示處理引擎(pe)的數(shù)目以及相鄰緩沖器讀取帶寬(及例如相鄰ram寬度)可增加以適應(yīng)較高性能要求,其中性能要求給定為循環(huán)計(jì)數(shù)預(yù)算。舉例來(lái)說(shuō),可在經(jīng)設(shè)計(jì)以編碼及/或解碼視頻的高端譯碼裝置(例如,具有超高清(uhd)分辨率(3,840乘2,160像素或更大)上選定配置1。配置2及3可定向朝向中等層級(jí)裝置(例如,1080p),且配置4可定向朝向低端裝置(例如,720p)。

雖然上文已描述根據(jù)所揭示原理的各種實(shí)施例,但應(yīng)理解這些實(shí)施例僅借助于實(shí)例來(lái)呈現(xiàn)而不是限制性的。因此,本發(fā)明的廣度及范圍不應(yīng)受到上文所描述的示范性實(shí)施例中的任一者限制,而應(yīng)僅根據(jù)由本發(fā)明發(fā)布的權(quán)利要求書(shū)及其等效物定義。此外,上文優(yōu)勢(shì)及特征在所描述實(shí)施例中提供,且不應(yīng)將此類(lèi)所發(fā)布權(quán)利要求的應(yīng)用限于實(shí)現(xiàn)上文優(yōu)勢(shì)中的任一者或全部的過(guò)程及結(jié)構(gòu)。

在本發(fā)明中所使用的各種術(shù)語(yǔ)在本發(fā)明技術(shù)領(lǐng)域內(nèi)具有特殊含義。特定術(shù)語(yǔ)是否應(yīng)理解為此“技術(shù)術(shù)語(yǔ)”取決于所述術(shù)語(yǔ)使用的上下文。“連接到”、“與…通信”、“與…相關(guān)聯(lián)”或其它類(lèi)似術(shù)語(yǔ)應(yīng)大體上理解為廣泛包含所參考元件之間的直接通信及連接或通過(guò)所參考元件之間的一或多個(gè)中間物兩者的情形。這些及其它術(shù)語(yǔ)應(yīng)鑒于其在本發(fā)明中所使用的上下文且如所屬領(lǐng)域的一般技術(shù)人員將在所揭示上下文中理解這些術(shù)語(yǔ)而加以理解。上文定義不排除可基于所揭示上下文賦予到這些術(shù)語(yǔ)的其它含義。

例如“此時(shí)”、“緊接”、“等效”、“期間”、“完成”、“相同”及其類(lèi)似者的比較、測(cè)量及時(shí)序詞語(yǔ)應(yīng)理解為意味著“大體上此時(shí)”、“大體上緊接”、“大體上等效”、“大體上期間”、“大體上完成”、“大體上相同”等,其中“大體上”意味著此比較、測(cè)量及時(shí)序可實(shí)行以實(shí)現(xiàn)所隱含或明確地陳述的所要結(jié)果。

在使用術(shù)語(yǔ)“塊”的情況下,取決于其使用上下文,此可指最大譯碼單元(lcu)、譯碼樹(shù)塊(ctb)、譯碼單元(cu)、譯碼塊(cb)、預(yù)測(cè)單元(pu)、預(yù)測(cè)塊(pb)、變換單元(tu)、變換塊(tb)、如由h.264/avc定義的子塊及/或類(lèi)似數(shù)據(jù)結(jié)構(gòu)中的任一者。

雖然相對(duì)于hevc描述各種標(biāo)的物,但此標(biāo)的物也可適用于其它標(biāo)準(zhǔn),包含當(dāng)前現(xiàn)有、正開(kāi)發(fā)及尚待開(kāi)發(fā)的那些標(biāo)準(zhǔn)。舉例來(lái)說(shuō),在使用術(shù)語(yǔ)“cu”及“cb”的情況下,取決于其使用上下文,所述術(shù)語(yǔ)還可指如由h.264/avc標(biāo)準(zhǔn)定義的宏塊及/或其它編碼標(biāo)準(zhǔn)的類(lèi)似數(shù)據(jù)結(jié)構(gòu)。類(lèi)似地,在使用術(shù)語(yǔ)“tu”及“tb”的情況下,取決于其使用上下文,所述術(shù)語(yǔ)還可指如由h.264/avc標(biāo)準(zhǔn)定義的子塊及/或其它編碼標(biāo)準(zhǔn)的類(lèi)似數(shù)據(jù)結(jié)構(gòu)。

此外,在使用術(shù)語(yǔ)“像素”的情況下,此可指視頻幀或圖像內(nèi)的明度值、色度值或色度與明度值的組合。

所揭示原理大體上與用于達(dá)成并行性的眾多其它技術(shù)兼容,包含波前并行處理(wpp)、視頻切片及視頻圖塊。

另外,本文中的章節(jié)標(biāo)題是出于與依據(jù)37c.f.r.1.77的建議一致而提供,或以其它方式提供組織性提示。這些標(biāo)題不應(yīng)限制或特性化可從本發(fā)明發(fā)布的任何權(quán)利要求中所闡述的標(biāo)的物。具體來(lái)說(shuō)且借助于實(shí)例,盡管標(biāo)題指“技術(shù)領(lǐng)域”,但此類(lèi)權(quán)利要求不應(yīng)受在此標(biāo)題下所選擇以描述所謂技術(shù)領(lǐng)域的語(yǔ)言限制。此外,“背景技術(shù)”中的技術(shù)描述不應(yīng)理解為承認(rèn)所述技術(shù)為本發(fā)明中的任何標(biāo)的物的現(xiàn)有技術(shù)?!鞍l(fā)明內(nèi)容”也不應(yīng)被視為所發(fā)布權(quán)利要求中所闡述的標(biāo)的物的特性。此外,本發(fā)明中以單數(shù)形式對(duì)“本發(fā)明”的任何參考不應(yīng)用以爭(zhēng)論在本發(fā)明中僅存在單個(gè)新穎性點(diǎn)。多項(xiàng)發(fā)明可根據(jù)從本發(fā)明發(fā)布的多個(gè)權(quán)利要求的限制而闡述,且此類(lèi)權(quán)利要求因此定義本發(fā)明及借此受保護(hù)的其等效物。在所有情況下,此類(lèi)權(quán)利要求的范圍應(yīng)鑒于本發(fā)明而在其自有優(yōu)點(diǎn)上加以考慮,而不應(yīng)受在本文中闡述的標(biāo)題限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1