本發(fā)明涉及視頻譯碼和壓縮的領(lǐng)域,且確切地說,涉及降低在高效視頻譯碼(hevc)中所應(yīng)用的速率失真優(yōu)化量化(rdoq)技術(shù)的復(fù)雜度。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(pda)、筆記本電腦或臺式計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置和其類似物。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如描述于以下各項(xiàng)中的那些技術(shù):由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高級視頻譯碼(avc)定義的標(biāo)準(zhǔn)、高效率視頻譯碼(hevc)標(biāo)準(zhǔn),和此類標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可通過實(shí)施這些視頻譯碼技術(shù)而更有效率地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
hevc是由itu-twp3/16和iso/iecjtc1/sc29/wg11的關(guān)于視頻譯碼的聯(lián)合合作小組(jct-vc)開發(fā)的用于視頻譯碼的國際標(biāo)準(zhǔn)。最新參考軟件hevc測試模型(hm)版本16.0可在以下網(wǎng)址處獲得:https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftware/tags/hm-16.0/
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的系統(tǒng)、方法和裝置各自具有若干創(chuàng)新方面,其中無單個(gè)方面單獨(dú)負(fù)責(zé)本文所公開的合乎需要的屬性。
在一個(gè)方面中,一種用于應(yīng)用速率失真優(yōu)化量化(rdoq)的設(shè)備包含存儲器和與所述存儲器通信的處理器。所述存儲器經(jīng)配置以存儲用于對至少一個(gè)視頻數(shù)據(jù)塊進(jìn)行編碼的量化方案的集合,所述集合包含rdoq量化方案和非rdoq量化方案。所述處理器經(jīng)配置以:確定用于對所述至少一個(gè)視頻數(shù)據(jù)塊進(jìn)行編碼的至少一個(gè)預(yù)測類型和至少一個(gè)分區(qū)類型;在對所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型的所述確定期間,將所述非rdoq量化方案應(yīng)用于所述視頻數(shù)據(jù)的所述至少一個(gè)塊;以及在確定了所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型之后即刻將所述rdoq量化方案應(yīng)用于所述至少一個(gè)塊。
在另一方面中,提供一種方法,所述方法包含:確定用于對至少一個(gè)視頻數(shù)據(jù)塊進(jìn)行編碼的至少一個(gè)預(yù)測類型和至少一個(gè)分區(qū)類型;在對所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型的所述確定期間,將非rdoq量化方案應(yīng)用于所述視頻數(shù)據(jù)的所述至少一個(gè)塊;以及在確定了所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型之后即刻將rdoq量化方案應(yīng)用于所述至少一個(gè)塊。
在另一方面中,一種非暫時(shí)性計(jì)算機(jī)可讀存儲媒體含有在被執(zhí)行時(shí)致使裝置的處理器執(zhí)行以下操作的指令:確定用于對至少一個(gè)視頻數(shù)據(jù)塊進(jìn)行編碼的至少一個(gè)預(yù)測類型和至少一個(gè)分區(qū)類型;在對所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型的所述確定期間,將非rdoq量化方案應(yīng)用于所述視頻數(shù)據(jù)的所述至少一個(gè)塊;以及在確定了所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型之后即刻將rdoq量化方案應(yīng)用于所述至少一個(gè)塊。
在另一方面中,提供一種視頻譯碼裝置,其包含:用于確定用于對至少一個(gè)視頻數(shù)據(jù)塊進(jìn)行編碼的至少一個(gè)預(yù)測類型和至少一個(gè)分區(qū)類型的裝置;用于在對所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型的所述確定期間將非rdoq量化方案應(yīng)用于所述視頻數(shù)據(jù)的所述至少一個(gè)塊的裝置;以及用于在確定了所述至少一個(gè)預(yù)測類型和所述至少一個(gè)分區(qū)類型之后即刻將rdoq量化方案應(yīng)用于所述至少一個(gè)塊的裝置。
附圖說明
圖1a為說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
圖1b是說明可執(zhí)行根據(jù)本發(fā)明中所描述的方面的技術(shù)的另一實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
圖2a是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。
圖2b是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。
圖3a是說明可實(shí)施本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。
圖3b是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。
圖4是hevc中的示范性掃描圖案的說明。
圖5是根據(jù)本發(fā)明中所描述的方面的用于執(zhí)行rdoq的過程的示范性實(shí)施例的流程圖。
具體實(shí)施方式
一般來說,本發(fā)明涉及對速率失真優(yōu)化量化(rdoq)技術(shù)的選擇性利用,rdoq技術(shù)是用于實(shí)現(xiàn)優(yōu)良視頻壓縮效率的編碼器側(cè)優(yōu)化技術(shù)。然而,相比于常規(guī)量化方案,rdoq的復(fù)雜度是高的,這是因?yàn)樯婕皬?fù)雜得多的計(jì)算,且此類復(fù)雜計(jì)算(例如)在高效視頻譯碼(hevc)的上下文中出于每一系數(shù)群(cg)而被執(zhí)行多次。
通過hevc測試模型(hm)中的常規(guī)rdoq實(shí)施方案,可在決策過程期間執(zhí)行rdoq多次。舉例來說,可在幀內(nèi)預(yù)測模式?jīng)Q策過程期間針對每一塊的每一幀內(nèi)預(yù)測模式執(zhí)行rdoq。在另一實(shí)例中,可在分區(qū)類型決策過程期間針對每一分區(qū)類型執(zhí)行rdoq。然而,每一塊的最好預(yù)測類型和/或分區(qū)類型是相對穩(wěn)定的,不論是否執(zhí)行rdoq。因而,可能不需要在決策過程期間針對每一塊的每一預(yù)測類型和/或分區(qū)類型而執(zhí)行rdoq。因此,需要更高效的rdoq技術(shù)。
在以下描述中,描述與某些實(shí)施例有關(guān)的h.264/avc技術(shù);還論述hevc標(biāo)準(zhǔn)和相關(guān)技術(shù)。雖然本文中在hevc和/或h.264標(biāo)準(zhǔn)和情況下描述某些實(shí)施例,但是所屬領(lǐng)域的一般技術(shù)人員可了解,本文中所揭示的系統(tǒng)和方法可適用于任何合適的視頻譯碼標(biāo)準(zhǔn)。舉例來說,本文中所揭示的實(shí)施例可適用于以下標(biāo)準(zhǔn)中的一或多者(例如,包含由國際電信聯(lián)盟電信標(biāo)準(zhǔn)化部門[itu-t]視頻譯碼專家組[vceg]或國際標(biāo)準(zhǔn)化組織/國際電工委員會[iso/iec]運(yùn)動(dòng)圖像專家組[mpeg]開發(fā)的標(biāo)準(zhǔn)):itu-th.261、iso/iecmpeg-1視覺、itu-th.262或iso/iecmpeg-2視覺、itu-th.263、iso/iecmpeg-4視覺和itu-th.264(還稱為iso/iecmpeg-4avc),包含其可縮放視頻譯碼(svc)和多視圖視頻譯碼(mvc)擴(kuò)展。
在許多方面,hevc通常遵循先前視頻譯碼標(biāo)準(zhǔn)的框架。hevc中的預(yù)測單元不同于某些先前視頻譯碼標(biāo)準(zhǔn)中的預(yù)測單元(例如,宏塊)。事實(shí)上,在hevc中不存在如在某些先前視頻譯碼標(biāo)準(zhǔn)中所理解的宏塊的概念。宏塊由基于四叉樹方案的分層結(jié)構(gòu)替換,所述分層結(jié)構(gòu)可提供高靈活性和其它可能益處。舉例來說,在hevc方案內(nèi),定義三個(gè)類型的塊,例如譯碼單位(cu)、預(yù)測單元(pu)和變換單元(tu)。cu可指區(qū)分裂的基本單元??烧J(rèn)為cu類似于宏塊的概念,但是hevc不約束cu的最大大小,且可允許遞歸分裂成四個(gè)相等大小的cu以適應(yīng)性地改善內(nèi)容。pu可被認(rèn)為是幀間/幀內(nèi)預(yù)測的基本單元,且單個(gè)pu可含有多個(gè)任意形狀分區(qū)以有效地譯碼不規(guī)則圖像樣式。tu可認(rèn)為是變換的基本單元??瑟?dú)立于pu界定tu;然而,tu的大小可限于tu屬于的cu的大小。此塊結(jié)構(gòu)分離為三個(gè)不同概念可允許根據(jù)單元的相應(yīng)作用來優(yōu)化每一單元,這可得到改善的譯碼效率。
僅出于說明的目的,通過僅包含視頻數(shù)據(jù)的兩層(例如,較低層,例如bl;和較高層,例如el)的實(shí)例來描述本文中所揭示的某些實(shí)施例。視頻數(shù)據(jù)的“層”可通常指具有至少一個(gè)共同特性(例如,視圖、幀速率、分辨率或類似者)的圖片序列。舉例來說,層可包含與多視圖視頻數(shù)據(jù)的特定視圖(例如,透視圖)相關(guān)聯(lián)的視頻數(shù)據(jù)。作為另一實(shí)例,層可包含與可縮放視頻數(shù)據(jù)的特定層相關(guān)聯(lián)的視頻數(shù)據(jù)。因此,本發(fā)明可互換地參考視頻數(shù)據(jù)的層和視圖。舉例來說,視頻數(shù)據(jù)的視圖可被稱作視頻數(shù)據(jù)的層,且視頻數(shù)據(jù)的層可被稱作視頻數(shù)據(jù)的視圖。另外,多層編解碼器(其還被稱作多層視頻譯碼器或多層編碼器-解碼器)可共同指多視圖編解碼器或可縮放編解碼器(例如,經(jīng)配置以使用mv-hevc、3d-hevc、shvc或另一多層譯碼技術(shù)編碼和/或解碼視頻數(shù)據(jù)的編解碼器)。視頻編碼和視頻解碼可通常被稱作視頻譯碼。應(yīng)理解,此類實(shí)例可適用于包含多個(gè)bl、rl和/或el的配置。另外,為了易于解釋,參考某些實(shí)施例,以下揭示內(nèi)容包含術(shù)語“幀”或“塊”。然而,這些術(shù)語不希望是限制性的。舉例來說,下文描述的技術(shù)可與任何合適的視頻單元(例如,塊(例如,cu、pu、tu、宏塊等)、切片、幀等)一起使用。
視頻譯碼標(biāo)準(zhǔn)
例如視頻圖像、tv圖像、靜態(tài)圖像或由錄像機(jī)或計(jì)算機(jī)產(chǎn)生的圖像等數(shù)字圖像可由布置成水平線和垂直線的像素或樣本構(gòu)成。單個(gè)圖像中的像素的數(shù)目通常呈數(shù)萬個(gè)。每一像素通常含有明度和色度信息。在無壓縮的情況下,將從圖像編碼器傳達(dá)到圖像解碼器的信息的絕對量將使實(shí)時(shí)圖像傳輸變得不可能。為了減少待發(fā)射的信息的量,已開發(fā)出例如jpeg、mpeg和h.263標(biāo)準(zhǔn)等數(shù)個(gè)不同壓縮方法。
視頻譯碼標(biāo)準(zhǔn)包含itu-th.261、iso/iecmpeg-1視覺、itu-th.262或iso/iecmpeg-2視覺、itu-th.263、iso/iecmpeg-4視覺和itu-th.264(也稱為iso/iecmpeg-4avc),包含其svc和mvc擴(kuò)展。
另外,視頻譯碼標(biāo)準(zhǔn)(即,hevc)正由itu-tvceg與iso/iecmpeg的關(guān)于視頻譯碼的聯(lián)合合作小組(jct-vc)開發(fā)。對hevc草案10的完全引用是bross等人的文獻(xiàn)jctvc-l1003,“高效率視頻譯碼(hevc)文字規(guī)范草案10(highefficiencyvideocoding(hevc)textspecificationdraft10)”,(itu-tsg16wp3與iso/iecjtc1/sc29/wg11的視頻譯碼聯(lián)合合作小組(jct-vc),第12次會議:瑞士日內(nèi)瓦,2013年1月14日到2013年1月23日)。對hevc的多視圖擴(kuò)展(即,mv-hevc)和對hevc的可縮放擴(kuò)展(名為shvc)也正分別由jct-3v(3d視頻譯碼擴(kuò)展開發(fā)itu-t/iso/iec聯(lián)合合作小組)和jct-vc開發(fā)。
視頻譯碼系統(tǒng)
下文參考附圖更充分地描述新穎系統(tǒng)、設(shè)備和方法的各個(gè)方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應(yīng)將其解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。實(shí)際上,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍。基于本文中的教示,所屬領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無論是獨(dú)立于本發(fā)明的任何其它方面而實(shí)施還是與其組合而實(shí)施的本文中所揭示的新穎系統(tǒng)、設(shè)備和方法的任何方面。舉例來說,可以使用本文中所闡述的任何數(shù)目個(gè)方面來實(shí)施設(shè)備或?qū)嵺`方法。另外,本發(fā)明的范圍既定涵蓋使用除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的其它結(jié)構(gòu)、功能性或結(jié)構(gòu)與功能性來實(shí)踐的此設(shè)備或方法。應(yīng)理解,可通過權(quán)利要求的一或多個(gè)要素來體現(xiàn)本文中所公開的任何方面。
雖然本文描述了特定方面,但是這些方面的許多變化和排列落在本發(fā)明的范圍內(nèi)。雖然提及了優(yōu)選方面的一些益處和優(yōu)點(diǎn),但是本發(fā)明的范圍不欲限于特定益處、用途或目標(biāo)。實(shí)際上,本發(fā)明的方面既定廣泛地適用于不同無線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)和發(fā)射協(xié)議,其中的一些是借助于實(shí)例而在圖中以及在優(yōu)選方面的以下描述中加以說明。具體實(shí)施方式和圖式僅說明本發(fā)明,而不是限制由所附權(quán)利要求書和其等效物界定的本發(fā)明的范圍。
附圖說明若干實(shí)例。由附圖中的參考標(biāo)號指示的元件對應(yīng)于在以下描述中由相同參考標(biāo)號指示的元件。在本發(fā)明中,名稱以序數(shù)詞(例如,“第一”、“第二”、“第三”等)開始的元件未必暗示元件具有特定次序。而是,此類序數(shù)詞僅僅用于指代相同或類似類型的不同元件。
圖1a是說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。如本文中所描述地使用,術(shù)語“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”可一般地指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請案中描述的方面還可擴(kuò)展到其它相關(guān)裝置,例如,轉(zhuǎn)碼器(例如,可解碼位流且重新編碼另一位流的裝置)和中間框(例如,可修改、變換和/或另外操縱位流的裝置)。
如圖1a中所展示,視頻譯碼系統(tǒng)10包含源裝置12,源裝置12產(chǎn)生稍后待由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。在圖1a的實(shí)例中,源裝置12與目的地裝置14在單獨(dú)的裝置上,具體來說,源裝置12是源裝置的部分,且目的地裝置14是目的地裝置的部分。但是,應(yīng)注意,源裝置12和目的地裝置14可在相同裝置的部分上,如圖1b的實(shí)例中所示。
再次參考圖1a,源裝置12和目的地裝置14可分別包括廣泛范圍的裝置中的任一個(gè),包含臺式計(jì)算機(jī)、筆記本(例如,膝上型)計(jì)算機(jī)、平板電腦、機(jī)頂盒、電話手持機(jī)(例如,所謂的“智能”電話)、所謂的“智能”板、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲機(jī)、視頻流裝置等等。在各種實(shí)施例中,源裝置12和目的地裝置14可經(jīng)裝備以用于無線通信。
目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在圖1a的實(shí)例中,鏈路16可包括使源裝置12能夠?qū)崟r(shí)將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的通信媒體。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)例如無線通信協(xié)議等通信標(biāo)準(zhǔn)加以調(diào)制,且傳輸?shù)侥康牡匮b置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(rf)頻譜或一或多個(gè)物理傳輸線。通信媒體可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)。廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任一其它設(shè)備。
替代地,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到任選存儲裝置31。類似地,可通過(例如)目的地裝置14的輸入接口28從存儲裝置31存取經(jīng)編碼數(shù)據(jù)。存儲裝置31可包含多種分布式或本地存取數(shù)據(jù)存儲媒體中的任一個(gè),例如硬盤驅(qū)動(dòng)器、快閃存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。在另一實(shí)例中,存儲裝置31可對應(yīng)于可保存由源裝置12產(chǎn)生的經(jīng)編碼視頻的文件服務(wù)器或另一中間存儲裝置。目的地裝置14可經(jīng)由流式傳輸或下載來從存儲裝置31存取所存儲視頻數(shù)據(jù)。文件服務(wù)器可以是能夠存儲經(jīng)編碼視頻數(shù)據(jù)并且將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、文件傳輸協(xié)議(ftp)服務(wù)器、網(wǎng)絡(luò)附接存儲(nas)裝置或本地磁盤驅(qū)動(dòng)器。目的地裝置14可通過任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼視頻數(shù)據(jù)。此可包含無線頻道(例如,無線區(qū)域網(wǎng)路[wlan]連接)、有線連接(例如,數(shù)字訂戶線(dsl)、電纜調(diào)制解調(diào)器等)、或適用于存取存儲于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置31的發(fā)射可以是流式傳輸發(fā)射、下載發(fā)射或兩者的組合。
本發(fā)明的技術(shù)不限于無線應(yīng)用或設(shè)置。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一個(gè)的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、(例如)經(jīng)由因特網(wǎng)的流式視頻發(fā)射(例如,超文本傳送協(xié)議(http)動(dòng)態(tài)自適應(yīng)流等)、用于存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻回放、視頻廣播和/或視頻電話等應(yīng)用。
在圖1a的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些狀況下,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)和/或發(fā)射器。在源裝置12中,視頻源18可包含例如以下各者的源:視頻捕獲裝置(例如,攝像機(jī))、含有先前所捕獲的視頻的視頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋送接口和/或用于產(chǎn)生計(jì)算機(jī)圖形數(shù)據(jù)以作為源視頻的計(jì)算機(jī)圖形系統(tǒng),或此類源的組合。作為一個(gè)實(shí)例,如果視頻源18是攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的相機(jī)電話或視頻電話,如圖1b的實(shí)例中所說明。然而,本發(fā)明中所描述的技術(shù)一般來說可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。
經(jīng)捕獲、預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻可由視頻編碼器20編碼??山?jīng)由源裝置12的輸出接口22將經(jīng)編碼視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置14。經(jīng)編碼視頻數(shù)據(jù)還可(或替代地)存儲于存儲裝置31上用于稍后由目的地裝置14或其它裝置存取,用于解碼和/或回放。圖1a和1b中所說明的視頻編碼器20可包括圖2a中說明的視頻編碼器20、圖2b中說明的視頻編碼器23或本文中所描述的任一其它視頻編碼器。
在圖1a的實(shí)例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些狀況下,輸入接口28可包含接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口28可經(jīng)由鏈路16和/或從存儲裝置31接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16傳遞或在存儲裝置31上提供的經(jīng)編碼視頻數(shù)據(jù)可包含由視頻編碼器20產(chǎn)生的多種語法元素,用于由例如視頻解碼器30的視頻解碼器在解碼視頻數(shù)據(jù)時(shí)使用。此類語法元素可與在通信媒體上傳輸、存儲于存儲媒體上或存儲于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)包含在一起。圖1a和1b中說明的視頻解碼器30可包括圖3a中說明的視頻解碼器30、圖3b中說明的視頻解碼器33或本文中所描述的任一其它視頻解碼器。
顯示裝置32可與目的地裝置14集成或者在目的地裝置14外部。在一些實(shí)例中,目的地裝置14可包含集成顯示裝置,且還經(jīng)配置以與外部顯示裝置介接。在其它實(shí)例中,目的地裝置14可以是顯示裝置。一般來說,顯示裝置32將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置中的任一個(gè),例如液晶顯示器(lcd)、等離子顯示器、有機(jī)發(fā)光二極管(oled)顯示器或另一類型的顯示裝置。
在相關(guān)方面中,圖1b展示實(shí)例視頻編碼和解碼系統(tǒng)10′,其中源裝置12和目的地裝置14在裝置11上或是裝置11的部分。裝置11可以是電話手持機(jī),例如“智能”電話或類似物。裝置11可包含與源裝置12和目的地裝置14操作性通信的任選的處理器/控制器裝置13。圖1b的系統(tǒng)10′和其組件在其它方面類似于圖1a的系統(tǒng)10和其組件。
視頻編碼器20和視頻解碼器30可根據(jù)例如hevc標(biāo)準(zhǔn)的視頻壓縮標(biāo)準(zhǔn)而操作,且可符合hevc測試模型(hm)。替代地,視頻編碼器20和視頻解碼器30可根據(jù)其它專有或行業(yè)標(biāo)準(zhǔn)或此類標(biāo)準(zhǔn)的擴(kuò)展而操作,所述標(biāo)準(zhǔn)例如itu-th.264標(biāo)準(zhǔn),或者被稱作mpeg-4第10部分avc。但是,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實(shí)例包含mpeg-2和itu-th.263。
雖然圖1a和1b的實(shí)例中未展示,但是視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)?shù)膍ux-demux單元或其它硬件和軟件以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實(shí)例中,如果適用的話,那么mux-demux單元可以符合ituh.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(udp)等其它協(xié)議。
視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適編碼器電路中的任一個(gè),例如一或多個(gè)微處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地在軟件中實(shí)施所述技術(shù)時(shí),裝置可將用于軟件的指令存儲于合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中并使用一或多個(gè)處理器在硬件中執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一個(gè)可包含于一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一個(gè)可集成為相應(yīng)裝置中的組合編碼器/解碼器(例如,編解碼器)的部分。
視頻譯碼過程
如上文簡要提及,視頻編碼器20對視頻數(shù)據(jù)進(jìn)行編碼。視頻數(shù)據(jù)可以包括一或多個(gè)圖片。圖片中的每一個(gè)是形成視頻的部分的靜態(tài)圖像。在一些情況下,圖片可被稱作視頻“幀”。當(dāng)視頻編碼器20對視頻數(shù)據(jù)進(jìn)行編碼時(shí),視頻編碼器20可產(chǎn)生位流。位流可包含形成視頻數(shù)據(jù)的經(jīng)譯碼表示的一連串位。位流可包含經(jīng)譯碼圖片和相關(guān)聯(lián)的數(shù)據(jù)。經(jīng)譯碼圖片是圖片的經(jīng)譯碼表示。
為了產(chǎn)生位流,視頻編碼器20可對視頻數(shù)據(jù)中的每一圖片執(zhí)行編碼操作。當(dāng)視頻編碼器20對圖片執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生一系列經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。相關(guān)聯(lián)數(shù)據(jù)可包含視頻參數(shù)集(vps)、序列參數(shù)集(sps)、圖片參數(shù)集(pps)、自適應(yīng)參數(shù)集(aps)和其它語法結(jié)構(gòu)。sps可以含有適用于零個(gè)或更多個(gè)圖片序列的參數(shù)。pps可含有適用于零或更多個(gè)圖片的參數(shù)。aps可含有適用于零或更多個(gè)圖片的參數(shù)。aps中的參數(shù)可以是比pps中的參數(shù)更可能改變的參數(shù)。
為了產(chǎn)生經(jīng)譯碼圖片,視頻編碼器20可將圖片分割為大小相等的視頻塊。視頻塊可以是樣本的二維陣列。視頻塊中的每一個(gè)與樹塊相關(guān)聯(lián)。在一些情況下,樹塊可被稱作最大譯碼單元(lcu)。hevc的樹塊可廣泛類似于例如h.264/avc等先前標(biāo)準(zhǔn)的宏塊。然而,樹塊不必限于特定大小,且可包含一或多個(gè)譯碼單元(cu)。視頻編碼器20可使用四叉樹分割將樹塊的視頻塊分割成與cu相關(guān)聯(lián)的視頻塊(因此名稱為“樹塊”)。
在一些實(shí)例中,視頻編碼器20可將圖片分割成多個(gè)切片。切片中的每一個(gè)可包含整數(shù)數(shù)目個(gè)cu。在一些情況下,切片包括整數(shù)數(shù)目個(gè)樹塊。在其它情況下,切片的邊界可在樹塊內(nèi)。
作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。當(dāng)視頻編碼器20對切片執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)。與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)可被稱作“經(jīng)譯碼切片”。
為了產(chǎn)生經(jīng)譯碼切片,視頻編碼器20可對切片中的每一樹塊執(zhí)行編碼操作。當(dāng)視頻編碼器20對樹塊執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生經(jīng)譯碼樹塊。經(jīng)譯碼樹塊可包括表示樹塊的經(jīng)編碼型式的數(shù)據(jù)。
當(dāng)視頻編碼器20產(chǎn)生經(jīng)譯碼切片時(shí),視頻編碼器20可根據(jù)光柵掃描次序而對切片中的樹塊執(zhí)行編碼操作(例如,編碼)。舉例來說,視頻編碼器20可按如下次序來對切片的樹塊進(jìn)行編碼:跨越切片中的樹塊的最頂行從左到右進(jìn)行,接著跨越樹塊的下一較低行從左到右進(jìn)行,以此類推,直到視頻編碼器20已對切片中的樹塊的每一個(gè)進(jìn)行了編碼為止。
作為根據(jù)光柵掃描次序編碼樹塊的結(jié)果,可已編碼在給定樹塊的上方和左邊的樹塊,但是尚未編碼在給定樹塊的下方和右邊的樹塊。因此,當(dāng)對給定樹塊進(jìn)行編碼時(shí),視頻編碼器20可以能夠存取通過對給定樹塊的上方和左邊的樹塊進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)對給定樹塊進(jìn)行編碼時(shí),視頻編碼器20可能不能夠存取通過對給定樹塊的下方和右邊的樹塊進(jìn)行編碼而產(chǎn)生的信息。
為了產(chǎn)生經(jīng)譯碼樹塊,視頻編碼器20可對樹塊的視頻塊遞歸地執(zhí)行四叉樹分割以將視頻塊劃分為越來越小的視頻塊。較小視頻塊中的每一個(gè)可與不同cu相關(guān)聯(lián)。舉例來說,視頻編碼器20可將樹塊的視頻塊分割成四個(gè)大小相等的子塊、將所述子塊中的一或多者分割成四個(gè)大小相等的子子塊等等。經(jīng)分割的cu可以是其視頻塊被分割成與其它c(diǎn)u相關(guān)聯(lián)的視頻塊的cu。未分割cu可以是其視頻塊未被分割成與其它c(diǎn)u相關(guān)聯(lián)的視頻塊的cu。
位流中的一或多個(gè)語法元素可指示視頻編碼器20可分割樹塊的視頻塊的最大次數(shù)。cu的視頻塊在形狀上可以是正方形。cu的視頻塊的大小(例如,cu的大小)范圍可從8×8像素直到具有64×64像素或更大的最大值的樹塊的視頻塊的大小(例如,樹塊的大小)。
視頻編碼器20可根據(jù)z掃描次序而對樹塊的每一cu執(zhí)行編碼操作(例如,編碼)。換句話說,視頻編碼器20可將左上cu、右上cu、左下cu和接著右下cu按此次序編碼。當(dāng)視頻編碼器20對經(jīng)分割的cu執(zhí)行編碼操作時(shí),視頻編碼器20可根據(jù)z掃描次序而對與經(jīng)分割的cu的視頻塊的子塊相關(guān)聯(lián)的cu進(jìn)行編碼。換句話說,視頻編碼器20可對與左上子塊相關(guān)聯(lián)的cu、與右上子塊相關(guān)聯(lián)的cu、與左下子塊相關(guān)聯(lián)的cu,且接著是與右下子塊相關(guān)聯(lián)的cu按所述次序進(jìn)行編碼。
作為根據(jù)z掃描次序?qū)鋲K的cu進(jìn)行編碼的結(jié)果,可已對在給定cu的上方、左上方、右上方、左邊和左下方的cu進(jìn)行編碼。尚未對給定cu的右下方的cu進(jìn)行編碼。因此,當(dāng)對給定cu進(jìn)行編碼時(shí),視頻編碼器20可能能夠存取通過對與給定cu相鄰的一些cu進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)對給定cu進(jìn)行編碼時(shí),視頻編碼器20可能不能夠存取通過對與給定cu相鄰的其它c(diǎn)u進(jìn)行編碼而產(chǎn)生的信息。
當(dāng)視頻編碼器20對未分割cu進(jìn)行編碼時(shí),視頻編碼器20可產(chǎn)生用于cu的一或多個(gè)預(yù)測單元(pu)。cu的pu中的每一個(gè)可與cu的視頻塊內(nèi)的不同視頻塊相關(guān)聯(lián)。視頻編碼器20可產(chǎn)生用于cu的每一pu的經(jīng)預(yù)測視頻塊。pu的經(jīng)預(yù)測視頻塊可以是樣本塊。視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生用于pu的預(yù)測視頻塊。
當(dāng)視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生pu的經(jīng)預(yù)測視頻塊時(shí),視頻編碼器20可基于與pu相關(guān)聯(lián)的圖片的經(jīng)解碼樣本來產(chǎn)生pu的經(jīng)預(yù)測視頻塊。如果視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生cu的pu的經(jīng)預(yù)測視頻塊,那么cu為經(jīng)幀內(nèi)預(yù)測的cu。當(dāng)視頻編碼器20使用幀間預(yù)測來產(chǎn)生pu的經(jīng)預(yù)測視頻塊時(shí),視頻編碼器20可基于不同于與pu相關(guān)聯(lián)的圖片的一或多個(gè)圖片的經(jīng)解碼樣本來產(chǎn)生所述pu的經(jīng)預(yù)測視頻塊。如果視頻編碼器20使用幀間預(yù)測來產(chǎn)生cu的pu的經(jīng)預(yù)測視頻塊,那么cu是經(jīng)幀間預(yù)測cu。
此外,當(dāng)視頻編碼器20使用幀間預(yù)測來產(chǎn)生用于pu的經(jīng)預(yù)測視頻塊時(shí),視頻編碼器20可產(chǎn)生用于pu的運(yùn)動(dòng)信息。pu的運(yùn)動(dòng)信息可指示pu的一或多個(gè)參考塊。pu的每一參考塊可以是參考圖片內(nèi)的視頻塊。參考圖片可以是除與pu相關(guān)聯(lián)的圖片以外的圖片。在一些情況下,pu的參考塊也可被稱作pu的“參考樣本”。視頻編碼器20可基于pu的參考塊而產(chǎn)生pu的預(yù)測視頻塊。
在視頻編碼器20產(chǎn)生用于cu的一或多個(gè)pu的經(jīng)預(yù)測視頻塊之后,視頻編碼器20可基于用于cu的所述pu的預(yù)測視頻塊而產(chǎn)生cu的殘差數(shù)據(jù)。cu的殘差數(shù)據(jù)可指示用于cu的pu的預(yù)測視頻塊中的樣本與cu的原始視頻塊之間的差。
此外,作為對未分割的cu執(zhí)行編碼操作的部分,視頻編碼器20可對cu的殘余數(shù)據(jù)執(zhí)行遞歸四叉樹分割,以將cu的殘余數(shù)據(jù)分割成與cu的變換單元(tu)相關(guān)聯(lián)的一或多個(gè)殘差數(shù)據(jù)塊(例如,殘差視頻塊)。cu的每一tu可與不同殘差視頻塊相關(guān)聯(lián)。
視頻編碼器20可對與tu相關(guān)聯(lián)的殘差視頻塊應(yīng)用一或多個(gè)變換以產(chǎn)生與tu相關(guān)聯(lián)的變換系數(shù)塊(例如,變換系數(shù)的塊)。在概念上,變換系數(shù)塊可以是變換系數(shù)的二維(2d)矩陣。
在產(chǎn)生變換系數(shù)塊之后,視頻編碼器20可對變換系數(shù)塊執(zhí)行量化處理。量化大體上是指對變換系數(shù)進(jìn)行量化以可能減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進(jìn)一步壓縮的過程。量化過程可降低與變換系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,可在量化期間將n位變換系數(shù)向下舍入到m位變換系數(shù),其中n大于m。
視頻編碼器20可使每一cu與量化參數(shù)(qp)值相關(guān)聯(lián)。與cu相關(guān)聯(lián)的qp值可確定視頻編碼器20如何對與cu相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。視頻編碼器20可通過調(diào)節(jié)與cu相關(guān)聯(lián)的qp值來調(diào)節(jié)應(yīng)用于與cu相關(guān)聯(lián)的變換系數(shù)塊的量化的程度。
在視頻編碼器20量化變換系數(shù)塊之后,視頻編碼器20可產(chǎn)生表示經(jīng)量化變換系數(shù)塊中的變換系數(shù)的語法元素集。視頻編碼器20可將(例如)上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(cabac)操作的熵編碼操作應(yīng)用于這些語法元素中的一些。也可使用(例如)上下文自適應(yīng)可變長度譯碼(cavlc)、概率區(qū)間分割熵(pipe)譯碼或其它二進(jìn)制算術(shù)譯碼的其它熵譯碼技術(shù)。
由視頻編碼器20產(chǎn)生的位流可包含一系列網(wǎng)絡(luò)提取層(nal)單元。nal單元中的每一個(gè)可以是含有nal單元中的數(shù)據(jù)類型的指示和含有數(shù)據(jù)的字節(jié)的語法結(jié)構(gòu)。舉例來說,nal單元可含有表示以下各項(xiàng)的數(shù)據(jù):視頻參數(shù)集、序列參數(shù)集、圖片參數(shù)集、經(jīng)譯碼切片、補(bǔ)充增強(qiáng)信息(sei)、存取單元分隔符、填充符數(shù)據(jù)或另一類型的數(shù)據(jù)。nal單元中的數(shù)據(jù)可包含各種語法結(jié)構(gòu)。
視頻解碼器30可接收由視頻編碼器20產(chǎn)生的位流。所述位流可包含由視頻編碼器20編碼的視頻數(shù)據(jù)的經(jīng)譯碼表示。當(dāng)視頻解碼器30接收到位流時(shí),視頻解碼器30可對所述位流執(zhí)行剖析操作。當(dāng)視頻解碼器30執(zhí)行剖析操作時(shí),視頻解碼器30可從位流提取語法元素。視頻解碼器30可基于從位流提取的語法元素重建視頻數(shù)據(jù)的圖片?;谡Z法元素重構(gòu)視頻數(shù)據(jù)的過程可與由視頻編碼器20執(zhí)行以產(chǎn)生語法元素的過程大體互逆。
在視頻解碼器30提取與cu相關(guān)聯(lián)的語法元素之后,視頻解碼器30可基于所述語法元素產(chǎn)生用于cu的pu的經(jīng)預(yù)測視頻塊。另外,視頻解碼器30可對與cu的tu相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行逆量化。視頻解碼器30可對變換系數(shù)塊執(zhí)行反變換以重構(gòu)與cu的tu相關(guān)聯(lián)的殘余視頻塊。在產(chǎn)生經(jīng)預(yù)測視頻塊且重構(gòu)殘余視頻塊之后,視頻解碼器30可基于經(jīng)預(yù)測視頻塊和殘余視頻塊而重構(gòu)cu的視頻塊。以此方式,視頻解碼器30可基于位流中的語法元素重建cu的視頻塊。
視頻編碼器
圖2a是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。視頻編碼器20可經(jīng)配置以處理視頻幀的單層(例如針對hevc)。此外,視頻編碼器20可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一個(gè)或全部。作為一個(gè)實(shí)例,預(yù)測處理單元100可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。在另一實(shí)施例中,視頻編碼器20包含任選層間預(yù)測單元128,層間預(yù)測單元128經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。在其它實(shí)施例中,層間預(yù)測可由預(yù)測處理單元100(例如,幀間預(yù)測單元121和/或幀內(nèi)預(yù)測單元126)執(zhí)行,在此情況下可省略層間預(yù)測單元128。然而,本發(fā)明的方面不限于此。在一些實(shí)例中,本發(fā)明中所描述的技術(shù)可在視頻編碼器20的各種組件之間共享。在一些實(shí)例中,另外或替代地,處理器(未展示)可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。
出于解釋的目的,本發(fā)明描述在hevc譯碼的上下文中的視頻編碼器20。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖2a中所描繪的實(shí)例是針對單層編解碼器。然而,如將關(guān)于圖2b進(jìn)一步描述,可復(fù)制視頻編碼器20中的一些或全部以用于多層編碼解碼器的處理。
視頻編碼器20可執(zhí)行視頻切片內(nèi)的視頻塊的幀內(nèi)和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測來減少或移除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依靠時(shí)間預(yù)測來減少或移除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(i模式)可指代若干基于空間的譯碼模式中的任一個(gè)。例如單向預(yù)測(p模式)或雙向預(yù)測(b模式)等幀間模式可指代若干基于時(shí)間的譯碼模式中的任一個(gè)。
在圖2a的實(shí)例中,視頻編碼器20包含多個(gè)功能組件。視頻編碼器20的功能組件包含預(yù)測處理單元100、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換單元110、重構(gòu)單元112、濾波器單元113、經(jīng)解碼圖片緩沖器114和熵編碼單元116。預(yù)測處理單元100包含幀間預(yù)測單元121、運(yùn)動(dòng)估計(jì)單元122、運(yùn)動(dòng)補(bǔ)償單元124、幀內(nèi)預(yù)測單元126和層間預(yù)測單元128。在其它實(shí)例中,視頻編碼器20可包含更多、更少或不同功能組件。此外,運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可高度集成,但是出于解釋的目的而在圖2a的實(shí)例中分開表示。
視頻編碼器20可以接收視頻數(shù)據(jù)。視頻編碼器20可從各種源接收視頻數(shù)據(jù)。舉例來說,視頻編碼器20可從視頻源18(例如,圖1a或1b中所展示)或另一源接收視頻數(shù)據(jù)。視頻數(shù)據(jù)可表示一系列圖片。為對視頻數(shù)據(jù)進(jìn)行編碼,視頻編碼器20可對圖片中的每一個(gè)執(zhí)行編碼操作。作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。作為對切片執(zhí)行編碼操作的部分,視頻編碼器20可對切片中的樹塊執(zhí)行編碼操作。
作為對樹塊執(zhí)行編碼操作的部分,預(yù)測處理單元100可對樹塊的視頻塊執(zhí)行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一個(gè)可與不同cu相關(guān)聯(lián)。舉例來說,預(yù)測處理單元100可將樹塊的視頻塊分割成四個(gè)相等大小的子塊,將子塊中的一或多者分割成四個(gè)相等大小的子子塊,等等。
與cu相關(guān)聯(lián)的視頻塊的大小范圍可從8x8樣本高達(dá)最大64x64像素或更大的樹塊大小。在本發(fā)明中,“n×n”與“n乘n”可互換使用以指在垂直和水平維度方面的視頻塊的樣本尺寸,例如,16×16個(gè)樣本或16乘16個(gè)樣本。一般來說,16×16視頻塊在垂直方向上具有十六個(gè)樣本(y=16),且在水平方向上具有十六個(gè)樣本(x=16)。同樣,n×n塊一般在垂直方向上具有n個(gè)樣本,且在水平方向上具有n個(gè)樣本,其中n表示非負(fù)整數(shù)值。
另外,作為對樹塊執(zhí)行編碼操作的部分,預(yù)測處理單元100可產(chǎn)生用于樹塊的階層式四叉樹數(shù)據(jù)結(jié)構(gòu)。例如,樹塊可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)。如果預(yù)測處理單元100將樹塊的視頻塊分割成四個(gè)子塊,那么根節(jié)點(diǎn)在四叉樹數(shù)據(jù)結(jié)構(gòu)中具有四個(gè)子級節(jié)點(diǎn)。子節(jié)點(diǎn)中的每一個(gè)對應(yīng)于與子塊中的一個(gè)相關(guān)聯(lián)的cu。如果預(yù)測處理單元100將子塊中的一個(gè)分割成四個(gè)子子塊,那么對應(yīng)于與子塊相關(guān)聯(lián)的cu的節(jié)點(diǎn)可具有四個(gè)子級節(jié)點(diǎn),子級節(jié)點(diǎn)中的每一個(gè)對應(yīng)于與子子塊中的一個(gè)相關(guān)聯(lián)的cu。
四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可含有用于對應(yīng)樹塊或cu的語法數(shù)據(jù)(例如,語法元素)。例如,四叉樹中的節(jié)點(diǎn)可包含分裂旗標(biāo),分裂旗標(biāo)指示對應(yīng)于節(jié)點(diǎn)的cu的視頻塊是否被分割(例如,分裂)成四個(gè)子塊。用于cu的語法元素可遞歸地界定,且可取決于cu的視頻塊是否分裂成子塊。視頻塊未被分割的cu可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn)。經(jīng)譯碼樹塊可包含基于對應(yīng)樹塊的四叉樹數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。
視頻編碼器20可對樹塊的每一未分割cu執(zhí)行編碼操作。當(dāng)視頻編碼器20對未分割cu執(zhí)行編碼操作時(shí),視頻編碼器20產(chǎn)生表示未分割cu的經(jīng)編碼表示的數(shù)據(jù)。
作為對cu執(zhí)行編碼操作的部分,預(yù)測處理單元100可在cu的一或多個(gè)pu間分割cu的視頻塊。視頻編碼器20和視頻解碼器30可支持各種pu大小。假定特定cu的大小是2n×2n,視頻編碼器20和視頻解碼器30可支持2n×2n或n×n的pu大小,和2n×2n、2n×n、n×2n、n×n、2n×nu、nl×2n、nr×2n或類似的對稱pu大小的幀間預(yù)測。視頻編碼器20和視頻解碼器30還可支持用于2n×nu、2n×nd、nl×2n和nr×2n的pu大小的不對稱分割。在一些實(shí)例中,預(yù)測處理單元100可執(zhí)行幾何分割以沿并不按直角與cu的視頻塊的側(cè)會合的邊界來在cu的pu間分割cu的視頻塊。
幀間預(yù)測單元121可對cu的每一pu執(zhí)行幀間預(yù)測。幀間預(yù)測可提供時(shí)間壓縮。為了對pu執(zhí)行幀間預(yù)測,運(yùn)動(dòng)估計(jì)單元122可產(chǎn)生pu的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于運(yùn)動(dòng)信息和除與cu相關(guān)聯(lián)的圖片(例如,參考圖片)以外的圖片的經(jīng)解碼樣本而產(chǎn)生pu的經(jīng)預(yù)測視頻塊。在本發(fā)明中,由運(yùn)動(dòng)補(bǔ)償單元124產(chǎn)生的經(jīng)預(yù)測視頻塊可稱作經(jīng)幀間預(yù)測視頻塊。
切片可以是i切片、p切片,或b切片。運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可取決于pu處于i切片、p切片還是b切片中而對cu的pu執(zhí)行不同操作。在i切片中,所有pu都是經(jīng)幀內(nèi)預(yù)測。因此,如果pu在i切片中,那么運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124不對pu執(zhí)行幀間預(yù)測。
如果pu在p切片中,那么含有pu的圖片與被稱作“列表0”的參考圖片列表相關(guān)聯(lián)。列表0中的參考圖片中的每一個(gè)含有可用于其它圖片的幀間預(yù)測的樣本。當(dāng)運(yùn)動(dòng)估計(jì)單元122關(guān)于p切片中的pu執(zhí)行運(yùn)動(dòng)估計(jì)操作時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0中的參考圖片以找出pu的參考塊。pu的參考塊可以是最緊密對應(yīng)于pu的視頻塊中的樣本的一組樣本,例如,樣本塊。運(yùn)動(dòng)估計(jì)單元122可使用多種度量來確定參考圖片中的一組樣本對應(yīng)于pu的視頻塊中的樣本的緊密程度。舉例來說,運(yùn)動(dòng)估計(jì)單元122可通過絕對差和(sad)、平方差和(ssd)或其它差異度量確定參考圖片中的一組樣本對應(yīng)于pu的視頻塊中的樣本的緊密程度。
在識別出p切片中的pu的參考塊之后,運(yùn)動(dòng)估計(jì)單元122可產(chǎn)生指示列表0中含有參考塊的參考圖片的參考索引,以及指示pu與參考塊之間的空間位移的運(yùn)動(dòng)向量。在各種實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可以不同精確度產(chǎn)生運(yùn)動(dòng)向量。舉例來說,運(yùn)動(dòng)估計(jì)單元122可以四分之一樣本精確度、八分之一樣本精確度或其它分?jǐn)?shù)樣本精確度產(chǎn)生運(yùn)動(dòng)向量。在分?jǐn)?shù)樣本精確度的狀況下,參考塊值可從參考圖片中的整數(shù)位置樣本值內(nèi)插。運(yùn)動(dòng)估計(jì)單元122可將參考索引和運(yùn)動(dòng)向量輸出為pu的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于由pu的運(yùn)動(dòng)信息識別的參考塊而產(chǎn)生pu的經(jīng)預(yù)測視頻塊。
如果pu處于b切片中,那么含有pu的圖片可與被稱作“列表0”和“清單1”的兩個(gè)參考圖片列表相關(guān)聯(lián)。在一些實(shí)例中,含有b切片的圖片可與為列表0與列表1的組合的列表組合相關(guān)聯(lián)。
此外,如果pu在b切片中,那么運(yùn)動(dòng)估計(jì)單元122可對pu執(zhí)行單向預(yù)測或雙向預(yù)測。當(dāng)運(yùn)動(dòng)估計(jì)單元122對pu執(zhí)行單向預(yù)測時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0或列表1中的參考圖片以找出用于所述pu的參考塊。運(yùn)動(dòng)估計(jì)單元122可隨后產(chǎn)生指示列表0或列表1中的含有參考塊的參考圖片的參考索引和指示pu與參考塊之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)單元122可輸出參考索引、預(yù)測方向指示符和運(yùn)動(dòng)向量作為所述pu的運(yùn)動(dòng)信息。預(yù)測方向指示符可指示參考索引指示列表0還是列表1中的參考圖片。運(yùn)動(dòng)補(bǔ)償單元124可基于由pu的運(yùn)動(dòng)信息指示的參考塊來產(chǎn)生pu的經(jīng)預(yù)測視頻塊。
當(dāng)運(yùn)動(dòng)估計(jì)單元122針對pu執(zhí)行雙向預(yù)測時(shí),運(yùn)動(dòng)估計(jì)單元122可搜索列表0中的參考圖片以找到用于所述pu的參考塊,且還可搜索列表1中的參考圖片以找到用于所述pu的另一參考塊。運(yùn)動(dòng)估計(jì)單元122可隨后產(chǎn)生指示列表0和列表1中的含有參考塊的參考圖片的參考索引和指示參考塊與pu之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)單元122可輸出pu的參考索引和運(yùn)動(dòng)向量作為pu的運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元124可基于由pu的運(yùn)動(dòng)信息指示的參考塊而產(chǎn)生pu的經(jīng)預(yù)測視頻塊。
在一些情況下,運(yùn)動(dòng)估計(jì)單元122不將pu的運(yùn)動(dòng)信息的完整集合輸出到熵編碼單元116。實(shí)際上,運(yùn)動(dòng)估計(jì)單元122可參考另一pu的運(yùn)動(dòng)信息用信號表示pu的運(yùn)動(dòng)信息。舉例來說,運(yùn)動(dòng)估計(jì)單元122可確定pu的運(yùn)動(dòng)信息足夠類似于相鄰pu的運(yùn)動(dòng)信息。在此實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可在與pu相關(guān)聯(lián)的語法結(jié)構(gòu)中指示值,所述值向視頻解碼器30指示pu具有與相鄰pu相同的運(yùn)動(dòng)信息。在另一實(shí)例中,運(yùn)動(dòng)估計(jì)單元122可在與pu相關(guān)聯(lián)的語法結(jié)構(gòu)中識別相鄰pu和運(yùn)動(dòng)向量差(mvd)。運(yùn)動(dòng)向量差指示pu的運(yùn)動(dòng)向量與所指示的相鄰pu的運(yùn)動(dòng)向量之間的差。視頻解碼器30可使用所指示的相鄰pu的運(yùn)動(dòng)向量和運(yùn)動(dòng)向量差來確定pu的運(yùn)動(dòng)向量。通過在用信號表示第二pu的運(yùn)動(dòng)信息時(shí)參考第一pu的運(yùn)動(dòng)信息,視頻編碼器20可以能夠使用較少位用信號表示第二pu的運(yùn)動(dòng)信息。
作為對cu執(zhí)行編碼操作的部分,幀內(nèi)預(yù)測單元126可對cu的pu執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測可提供空間壓縮。當(dāng)幀內(nèi)預(yù)測單元126對pu執(zhí)行幀內(nèi)預(yù)測時(shí),幀內(nèi)預(yù)測單元126可基于同一圖片中的其它pu的經(jīng)解碼樣本來產(chǎn)生用于pu的預(yù)測數(shù)據(jù)。用于pu的預(yù)測數(shù)據(jù)可包含經(jīng)預(yù)測視頻塊和各種語法元素。幀內(nèi)預(yù)測單元126可對i切片、p切片和b切片中的pu執(zhí)行幀內(nèi)預(yù)測。
為了對pu執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測單元126可使用多個(gè)幀內(nèi)預(yù)測模式以產(chǎn)生用于pu的預(yù)測數(shù)據(jù)的多個(gè)集合。當(dāng)幀內(nèi)預(yù)測單元126使用幀內(nèi)預(yù)測模式來產(chǎn)生pu的預(yù)測數(shù)據(jù)的集合時(shí),幀內(nèi)預(yù)測單元126可在與幀內(nèi)預(yù)測模式相關(guān)聯(lián)的方向和/或梯度上跨越pu的視頻塊從相鄰pu的視頻塊擴(kuò)展樣本。相鄰pu可在所述pu的上方、右上方、左上方或左側(cè),假定對于pu、cu和樹塊采用從左到右、從上到下的編碼次序。幀內(nèi)預(yù)測單元126可取決于pu的大小而使用各種數(shù)目個(gè)幀內(nèi)預(yù)測模式,例如33個(gè)定向幀內(nèi)預(yù)測模式。
預(yù)測處理單元100可從由運(yùn)動(dòng)補(bǔ)償單元124針對pu產(chǎn)生的預(yù)測數(shù)據(jù)或由幀內(nèi)預(yù)測單元126針對pu產(chǎn)生的預(yù)測數(shù)據(jù)當(dāng)中選擇用于pu的預(yù)測數(shù)據(jù)。在一些實(shí)例中,預(yù)測處理單元100基于預(yù)測數(shù)據(jù)集合的速率/失真度量而選擇pu的預(yù)測數(shù)據(jù)。
如果預(yù)測處理單元100選擇由幀內(nèi)預(yù)測單元126產(chǎn)生的預(yù)測數(shù)據(jù),那么預(yù)測處理單元100可用信號表示用以產(chǎn)生用于pu的預(yù)測數(shù)據(jù)的幀內(nèi)預(yù)測模式,例如,選定的幀內(nèi)預(yù)測模式。預(yù)測處理單元100可以各種方式用信號表示選定的幀內(nèi)預(yù)測模式。舉例來說,有可能所選幀內(nèi)預(yù)測模式與相鄰pu的幀內(nèi)預(yù)測模式相同。換句話說,相鄰pu的幀內(nèi)預(yù)測模式可以是用于當(dāng)前pu的最可能模式。因此,預(yù)測處理單元100可產(chǎn)生用以指示選定幀內(nèi)預(yù)測模式與相鄰pu的幀內(nèi)預(yù)測模式相同的語法元素。
如上文所論述,視頻編碼器20可包含層間預(yù)測單元128。層間預(yù)測單元128經(jīng)配置以使用在svc中可用的一或多個(gè)不同層(例如,bl或rl)來預(yù)計(jì)當(dāng)前塊(例如,el中的當(dāng)前塊)。此預(yù)測可稱作層間預(yù)測。層間預(yù)測單元128利用預(yù)測方法來減少層間冗余,進(jìn)而改進(jìn)譯碼效率并降低計(jì)算資源要求。層間預(yù)測的一些實(shí)例包含層間幀內(nèi)預(yù)測、層間運(yùn)動(dòng)預(yù)測和層間殘余預(yù)測。層間幀內(nèi)預(yù)測使用對bl中處于相同位置的塊的重構(gòu)來預(yù)測el中的當(dāng)前塊。層間運(yùn)動(dòng)預(yù)測使用bl的運(yùn)動(dòng)信息來預(yù)測el中的運(yùn)動(dòng)。層間殘余預(yù)測使用bl的殘余來預(yù)測el的殘余。下文更詳細(xì)地論述層間預(yù)測方案中的每一個(gè)。
在預(yù)測處理單元100選擇cu的pu的預(yù)測數(shù)據(jù)之后,殘余產(chǎn)生單元102可通過從cu的視頻塊減去(例如,由減號指示)cu的pu的經(jīng)預(yù)測視頻塊而產(chǎn)生cu的殘余數(shù)據(jù)。cu的殘差數(shù)據(jù)可包含對應(yīng)于cu的視頻塊中的樣本的不同樣本分量的2d殘差視頻塊。舉例來說,殘差數(shù)據(jù)可包含對應(yīng)于cu的pu的經(jīng)預(yù)測視頻塊中的樣本的明度分量與cu的原始視頻塊中的樣本的明度分量之間的差的殘差視頻塊。另外,cu的殘余數(shù)據(jù)可包含對應(yīng)于cu的pu的預(yù)測視頻塊中的樣本的色度分量與cu的原始視頻塊中的樣本的色度分量之間的差的殘余視頻塊。
預(yù)測處理單元100可執(zhí)行四叉樹分割以將cu的殘余視頻塊分割成子塊。每一未經(jīng)劃分殘余視頻塊可與cu的不同tu相關(guān)聯(lián)。與cu的tu相關(guān)聯(lián)的殘余視頻塊的大小和位置可基于或可不基于與cu的pu相關(guān)聯(lián)的視頻塊的大小和位置。被稱為“殘差四叉樹”(rqt)的四叉樹結(jié)構(gòu)可包含與殘差視頻塊中的每一個(gè)相關(guān)聯(lián)的節(jié)點(diǎn)。cu的tu可以對應(yīng)于rqt的葉節(jié)點(diǎn)。
變換處理單元104可通過將一或多個(gè)變換應(yīng)用于與cu的每一tu相關(guān)聯(lián)的殘余視頻塊而產(chǎn)生用于tu的一或多個(gè)變換系數(shù)塊。變換系數(shù)塊中的每一個(gè)可以是變換系數(shù)的2d矩陣。變換處理單元104可將各種變換應(yīng)用于與tu相關(guān)聯(lián)的殘余視頻塊。舉例來說,變換處理單元104可將離散余弦變換(dct)、方向性變換或概念上類似的變換應(yīng)用到與tu相關(guān)聯(lián)的殘余視頻塊。
在變換處理單元104產(chǎn)生與tu相關(guān)聯(lián)的變換系數(shù)塊之后,量化單元106可量化變換系數(shù)塊中的變換系數(shù)。量化單元106可基于與cu相關(guān)聯(lián)的qp值而對與cu的tu相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。
視頻編碼器20可以各種方式使qp值與cu相關(guān)聯(lián)。例如,視頻編碼器20可對與cu相關(guān)聯(lián)的樹塊執(zhí)行速率失真分析。在速率失真分析中,視頻編碼器20可通過對樹塊執(zhí)行多次編碼操作來產(chǎn)生樹塊的多個(gè)經(jīng)譯碼表示。在視頻編碼器20產(chǎn)生樹塊的不同經(jīng)編碼表示時(shí),視頻編碼器20可使不同qp值與cu相關(guān)聯(lián)。當(dāng)給定qp值與具有最低位速率和失真量度的樹塊的經(jīng)譯碼表示中的cu相關(guān)聯(lián)時(shí),視頻編碼器20可用信號表示給定qp值與cu相關(guān)聯(lián)。
反量化單元108和反變換單元110可分別將反量化和反變換應(yīng)用于變換系數(shù)塊以從變換系數(shù)塊重構(gòu)殘余視頻塊。重構(gòu)單元112可將經(jīng)重構(gòu)的殘余視頻塊添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個(gè)預(yù)測視頻塊的對應(yīng)樣本,以產(chǎn)生與tu相關(guān)聯(lián)的經(jīng)重構(gòu)視頻塊。通過以此方式重構(gòu)cu的每一tu的視頻塊,視頻編碼器20可重構(gòu)cu的視頻塊。
在重構(gòu)單元112重構(gòu)cu的視頻塊之后,濾波器單元113可執(zhí)行解塊操作以減小與cu相關(guān)聯(lián)的視頻塊中的成塊假象。在執(zhí)行一或多個(gè)解塊操作之后,濾波器單元113可將cu的經(jīng)重構(gòu)視頻塊存儲于經(jīng)解碼圖片緩沖器114中。運(yùn)動(dòng)估計(jì)單元122和運(yùn)動(dòng)補(bǔ)償單元124可使用含有經(jīng)重構(gòu)視頻塊的參考圖片來對后續(xù)圖片的pu執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測單元126可使用經(jīng)解碼圖片緩沖器114中的經(jīng)重構(gòu)視頻塊對處于與cu相同圖片中的其它pu執(zhí)行幀內(nèi)預(yù)測。
熵編碼單元116可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元116可從量化單元106接收變換系數(shù)塊,且可從預(yù)測處理單元100接收語法元素。當(dāng)熵編碼單元116接收到數(shù)據(jù)時(shí),熵編碼單元116可以執(zhí)行一或多個(gè)熵編碼操作以產(chǎn)生經(jīng)熵編碼數(shù)據(jù)。舉例來說,視頻編碼器20可對數(shù)據(jù)執(zhí)行cavlc操作、cabac操作、可變到可變(v2v)長度譯碼操作、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(sbac)操作、概率區(qū)間分割熵(pipe)譯碼操作或另一類型的熵編碼操作。熵編碼單元116可輸出包含經(jīng)熵編碼數(shù)據(jù)的位流。
作為對數(shù)據(jù)執(zhí)行熵編碼操作的部分,熵編碼單元116任選擇上下文模型。如果熵編碼單元116正執(zhí)行cabac操作,那么上下文模型可指示特定二進(jìn)制數(shù)具有特定值的概率的估計(jì)。在cabac的情況下,術(shù)語“二進(jìn)位”用以指語法元素的二進(jìn)制化版本的位。
多層視頻編碼器
圖2b是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的多層視頻編碼器23(也被簡稱為視頻編碼器23)的實(shí)例的框圖。視頻編碼器23可經(jīng)配置以處理多層視頻幀(例如,針對shvc和多視圖譯碼)。另外,視頻編碼器23可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一個(gè)或全部。
視頻編碼器23包含視頻編碼器20a和視頻編碼器20b,其中的每一個(gè)可經(jīng)配置為視頻編碼器20,且可執(zhí)行上文關(guān)于視頻編碼器20所描述的功能。另外,如由參考數(shù)字的再使用所指示,視頻編碼器20a和20b可包含如視頻編碼器20的系統(tǒng)和子系統(tǒng)中的至少一些。雖然將視頻編碼器23說明為包含兩個(gè)視頻編碼器20a和20b,但是視頻編碼器23不受如此限制,且可包含任何數(shù)目個(gè)視頻編碼器20層。在一些實(shí)施例中,視頻編碼器23可包含用于存取單元中的每一圖片或幀的視頻編碼器20。例如,包含五個(gè)圖片的存取單元可由包含五個(gè)編碼器層的視頻編碼器處理或編碼。在一些實(shí)施例中,視頻編碼器23可包含比存取單元中的幀更多的編碼器層。在一些此類狀況下,當(dāng)處理一些存取單元時(shí),一些視頻編碼器層可能不在作用中。
除了視頻編碼器20a和20b以外,視頻編碼器23還可包含再取樣單元90。在一些狀況下,再取樣單元90可對接收到的視頻幀的bl進(jìn)行上取樣以(例如)產(chǎn)生el。再取樣單元90可對與幀的接收到的bl相關(guān)聯(lián)的特定信息進(jìn)行上取樣,但不對其它信息進(jìn)行上取樣。舉例來說,再取樣單元90可對bl的空間大小或像素?cái)?shù)目進(jìn)行上取樣,但是切片的數(shù)目或圖片次序計(jì)數(shù)可保持恒定。在一些狀況下,再取樣單元90可不處理接收到的視頻和/或可以是任選的。舉例來說,在一些狀況下,預(yù)測處理單元100可執(zhí)行上取樣。在一些實(shí)施例中,再取樣單元90經(jīng)配置以對層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)節(jié)一或多個(gè)切片以符合一組切片邊界規(guī)則和/或光柵掃描規(guī)則。雖然主要描述為對bl或存取單元中的較低層進(jìn)行上取樣,但是在一些狀況下,再取樣單元90可對層進(jìn)行下取樣。舉例來說,如果在視頻的流式傳輸期間減小帶寬,那么可對幀進(jìn)行下取樣而不是上取樣。
再取樣單元90可經(jīng)配置以從較低層編碼器(例如,視頻編碼器20a)的經(jīng)解碼圖片緩沖器114接收圖片或幀(或與圖片相關(guān)聯(lián)的圖片信息),并對圖片(或接收到的圖片信息)進(jìn)行上取樣??山又鴮⒋私?jīng)上取樣圖片提供到較高層編碼器(例如,視頻編碼器20b)的預(yù)測處理單元100,所述較高層編碼器經(jīng)配置以對與較低層編碼器相同的存取單元中的圖片進(jìn)行編碼。在一些狀況下,較高層編碼器是從較低層編碼器移除的一個(gè)層。在其它狀況下,在圖2b的層0視頻編碼器與層1編碼器之間可存在一或多個(gè)較高層編碼器。
在一些狀況下,可省略或繞過再取樣單元90。在此類狀況下,可直接或在至少在不提供到再取樣單元90的情況下將來自視頻編碼器20a的經(jīng)解碼圖片緩沖器114的圖片提供到視頻編碼器20b的預(yù)測處理單元100。舉例來說,如果提供到視頻編碼器20b的視頻數(shù)據(jù)與來自視頻編碼器20a的經(jīng)解碼圖片緩沖器114的參考圖片具有相同大小或分辨率,那么可將參考圖片提供到視頻編碼器20b,而不進(jìn)行任何再取樣。
在一些實(shí)施例中,視頻編碼器23使用下取樣單元94對將提供到較低層編碼器的視頻數(shù)據(jù)下取樣,之后將視頻數(shù)據(jù)提供到視頻編碼器20a。替代地,下取樣單元94可以是能夠?qū)σ曨l數(shù)據(jù)上取樣或下取樣的再取樣單元90。在另外其它實(shí)施例中,可省略下取樣單元94。
如圖2b中所說明,視頻編碼器23可進(jìn)一步包含多路復(fù)用器98或mux。mux98可從視頻編碼器23輸出組合的位流。可通過從視頻編碼器20a和20b中的每一個(gè)取得位流且交替在給定時(shí)間輸出哪一位流來產(chǎn)生組合的位流。雖然在一些狀況下,可一次一個(gè)位地交替來自兩個(gè)(或在兩個(gè)以上視頻編碼器層的狀況下更多)位流的位,但是在許多狀況下,以不同方式劃分所述位流。舉例來說,可通過一次一個(gè)塊地交替選定的位流來產(chǎn)生輸出位流。在另一實(shí)例中,可通過從視頻編碼器20a和20b中的每一個(gè)輸出非1:1比率的塊來產(chǎn)生輸出位流。舉例來說,可針對從視頻編碼器20a輸出的每一塊從視頻編碼器20b輸出兩個(gè)塊。在一些實(shí)施例中,可預(yù)編程來自mux98的輸出流。在其它實(shí)施例中,mux98可基于從視頻編碼器23外部的系統(tǒng)(例如從包含源裝置12的源裝置上的處理器)接收的控制信號而組合來自視頻編碼器20a、20b的位流??苫趤碜砸曨l源18的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂),或基于用于確定來自視頻編碼器23的所要分辨率輸出的任何其它因素來產(chǎn)生控制信號。
視頻解碼器
圖3a是說明可實(shí)施本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。視頻解碼器30可經(jīng)配置以處理視頻幀的單層(例如,針對hevc)。此外,視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一個(gè)或全部。作為一個(gè)實(shí)例,運(yùn)動(dòng)補(bǔ)償單元162和/或幀內(nèi)預(yù)測單元164可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。在一個(gè)實(shí)施例中,視頻解碼器30可任選地包含層間預(yù)測單元166,層間預(yù)測單元166經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。在其它實(shí)施例中,層間預(yù)測可由預(yù)測處理單元152(例如,運(yùn)動(dòng)補(bǔ)償單元162和/或幀內(nèi)預(yù)測單元164)執(zhí)行,在此狀況下,可省略層間預(yù)測單元166。然而,本發(fā)明的方面不限于此。在一些實(shí)例中,本發(fā)明中所描述的技術(shù)可在視頻解碼器30的各種組件之間共享。在一些實(shí)例中,另外或替代地,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)或全部。
出于解釋的目的,本發(fā)明描述在hevc譯碼的背景下的視頻解碼器30。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖3a中所描繪的實(shí)例是針對單層編解碼器。然而,如將關(guān)于圖3b進(jìn)一步描述,可復(fù)制視頻解碼器30中的一些或全部以用于多層編碼解碼器的處理。
在圖3a的實(shí)例中,視頻解碼器30包含多個(gè)功能組件。視頻解碼器30的功能組件包含熵解碼單元150、預(yù)測處理單元152、逆量化單元154、逆變換單元156、重構(gòu)單元158、濾波器單元159和經(jīng)解碼圖片緩沖器160。預(yù)測處理單元152包含運(yùn)動(dòng)補(bǔ)償單元162、幀內(nèi)預(yù)測單元164和層間預(yù)測單元166。在一些實(shí)例中,視頻解碼器30可執(zhí)行大體與關(guān)于圖2a的視頻編碼器20所描述的編碼遍次互逆的解碼遍次。在其它實(shí)例中,視頻解碼器30可包含更多、更少或不同的功能組件。
視頻解碼器30可接收包括經(jīng)編碼視頻數(shù)據(jù)的位流。所述位流可包含多個(gè)語法元素。當(dāng)視頻解碼器30接收到位流時(shí),熵解碼單元150可對所述位流執(zhí)行剖析操作。對位流執(zhí)行剖析操作的結(jié)果是,熵解碼單元150可從所述位流提取語法元素。作為執(zhí)行剖析操作的部分,熵解碼單元150可對位流中的經(jīng)熵編碼語法元素進(jìn)行熵解碼。預(yù)測處理單元152、反量化單元154、反變換單元156、重構(gòu)單元158和濾波器單元159可執(zhí)行重構(gòu)操作,重構(gòu)操作基于從位流提取的語法元素產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。
如上文所論述,位流可包括一系列nal單元。位流的nal單元可包含視頻參數(shù)集nal單元、序列參數(shù)集nal單元、圖片參數(shù)集nal單元、seinal單元等等。作為對位流執(zhí)行剖析操作的部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從序列參數(shù)集nal單元提取且熵解碼序列參數(shù)集、從圖片參數(shù)集nal單元提取且熵解碼圖片參數(shù)集、從seinal單元提取且熵解碼sei數(shù)據(jù)等等。
此外,位流的nal單元可包含經(jīng)譯碼切片nal單元。作為對位流執(zhí)行剖析操作的部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從經(jīng)譯碼切片nal單元提取且熵解碼經(jīng)譯碼切片。經(jīng)譯碼切片中的每一個(gè)可包含切片標(biāo)頭和切片數(shù)據(jù)。切片標(biāo)頭可以含有關(guān)于切片的語法元素。切片標(biāo)頭中的語法元素可包含識別與含有所述切片的圖片相關(guān)聯(lián)的圖片參數(shù)集的語法元素。熵解碼單元150可對經(jīng)譯碼切片標(biāo)頭中的語法元素執(zhí)行熵解碼操作(例如,cabac解碼操作),以恢復(fù)切片標(biāo)頭。
作為從經(jīng)譯碼切片nal單元提取切片數(shù)據(jù)的部分,熵解碼單元150可執(zhí)行從切片數(shù)據(jù)中的經(jīng)譯碼cu提取語法元素的剖析操作。所提取的語法元素可包含與變換系數(shù)塊相關(guān)聯(lián)的語法元素。熵解碼單元150可接著對語法元素中的一些執(zhí)行cabac解碼操作。
在熵解碼單元150對未分割的cu執(zhí)行剖析操作之后,視頻解碼器30可對未分割的cu執(zhí)行重建操作。為對未經(jīng)分割cu執(zhí)行重建操作,視頻解碼器30可對cu的每一tu執(zhí)行重建操作。通過對cu的每一tu執(zhí)行重建操作,視頻解碼器30可重建與cu相關(guān)聯(lián)的殘余視頻塊。
作為對tu執(zhí)行重構(gòu)操作的部分,反量化單元154可反量化(例如,解量化)與tu相關(guān)聯(lián)的變換系數(shù)塊。反量化單元154可以類似于針對hevc所提議或由h.264解碼標(biāo)準(zhǔn)定義的反量化過程的方式對變換系數(shù)塊進(jìn)行反量化。反量化單元154可使用由視頻編碼器20針對變換系數(shù)塊的cu計(jì)算的量化參數(shù)qp來確定量化程度,且同樣地,確定逆量化單元154應(yīng)用的逆量化的程度。
在反量化單元154對變換系數(shù)塊進(jìn)行反量化之后,反變換單元156可產(chǎn)生與變換系數(shù)塊相關(guān)聯(lián)的tu的殘余視頻塊。反變換單元156可將反變換應(yīng)用到變換系數(shù)塊以便產(chǎn)生所述tu的殘余視頻塊。舉例來說,反變換單元156可將反dct、反整數(shù)變換、反卡忽南-拉維(karhunen-loeve)變換(klt)、反旋轉(zhuǎn)變換、反定向變換或另一反變換應(yīng)用于變換系數(shù)塊。在一些實(shí)例中,反變換單元156可基于來自視頻編碼器20的信令而確定適用于變換系數(shù)塊的反變換。在這些實(shí)例中,反變換單元156可基于在用于與變換系數(shù)塊相關(guān)聯(lián)的樹塊的四叉樹的根節(jié)點(diǎn)處的用信號表示的變換來確定反變換。在其它實(shí)例中,逆變換單元156可從例如塊大小、譯碼模式或類似者等一或多個(gè)譯碼特性推斷逆變換。在一些實(shí)例中,反變換單元156可應(yīng)用級聯(lián)的反變換。
在一些實(shí)例中,運(yùn)動(dòng)補(bǔ)償單元162可通過基于內(nèi)插濾波器執(zhí)行內(nèi)插而精煉pu的預(yù)測視頻塊。用于將用于以子樣本精確度進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)膬?nèi)插濾波器的識別符可包含在語法元素中。運(yùn)動(dòng)補(bǔ)償單元162可使用由視頻編碼器20在產(chǎn)生pu的經(jīng)預(yù)測視頻塊期間使用的相同內(nèi)插濾波器來計(jì)算參考塊的子整數(shù)樣本的內(nèi)插值。運(yùn)動(dòng)補(bǔ)償單元162可根據(jù)接收到的語法元素而確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來產(chǎn)生經(jīng)預(yù)測視頻塊。
多層解碼器
圖3b是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的多層視頻解碼器33(也被簡稱為視頻解碼器33)的實(shí)例的框圖。視頻解碼器33可經(jīng)配置以處理多層視頻幀(例如,用于shvc和多視圖譯碼)。另外,視頻解碼器33可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一個(gè)或全部。
視頻解碼器33包含視頻解碼器30a和視頻解碼器30b,其中的每一個(gè)可經(jīng)配置為視頻解碼器30并可執(zhí)行上文關(guān)于視頻解碼器30所描述的功能。此外,如再使用參考數(shù)字所指示,視頻解碼器30a和30b可包含系統(tǒng)和子系統(tǒng)中的至少一些作為視頻解碼器30。雖然將視頻解碼器33說明為包含兩個(gè)視頻解碼器30a和30b,但是視頻解碼器33不被如此限制并且可包含任何數(shù)目個(gè)視頻解碼器30層。在一些實(shí)施例中,視頻解碼器33可包含用于存取單元中的每一圖片或幀的視頻解碼器30。舉例來說,可由包含五個(gè)解碼器層的視頻解碼器處理或解碼包含五個(gè)圖片的存取單元。在一些實(shí)施例中,視頻解碼器33可包含比存取單元中的幀多的解碼器層。在一些此等狀況下,當(dāng)處理一些存取單元時(shí),一些視頻解碼器層可能無效。
除了視頻解碼器30a和30b之外,視頻解碼器33還可包含上取樣單元92。在一些實(shí)施例中,上取樣單元92可對接收到的視頻幀的基礎(chǔ)層進(jìn)行上取樣,以創(chuàng)建將添加到幀或存取單元的參考圖片列表的增強(qiáng)層。此增強(qiáng)層可存儲于經(jīng)解碼圖片緩沖器160中。在一些實(shí)施例中,上取樣單元92可包含關(guān)于圖2a的再取樣單元90所描述的實(shí)施例中的一些或全部。在一些實(shí)施例中,上取樣單元92經(jīng)配置以對層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)節(jié)一或多個(gè)切片以符合一組切片邊界規(guī)則和/或光柵掃描規(guī)則。在一些狀況下,上取樣單元92可以是經(jīng)配置以對接收到的視頻幀的層上取樣和/或下取樣的再取樣單元。
上取樣單元92可經(jīng)配置以從較低層解碼器(例如,視頻解碼器30a)的經(jīng)解碼圖片緩沖器160接收圖片或幀(或與圖片相關(guān)聯(lián)的圖片信息)并對所述圖片(或接收到的圖片信息)進(jìn)行上取樣。隨后可將此經(jīng)上取樣圖片提供到較高層解碼器(例如,視頻解碼器30b)的預(yù)測處理單元152,所述較高層解碼器經(jīng)配置以解碼與較低層解碼器相同的存取單元中的圖片。在一些狀況下,較高層解碼器為從較低層解碼器移除的一個(gè)層。在其它狀況下,在圖3b的層0解碼器與層1解碼器之間可存在一或多個(gè)較高層解碼器。
在一些狀況下,可省略或繞過上取樣單元92。在此類狀況下,可直接提供來自視頻解碼器30a的經(jīng)解碼圖片緩沖器160的圖片,或至少不提供到上取樣單元92,不提供到視頻解碼器30b的預(yù)測處理單元152。舉例來說,如果提供到視頻解碼器30b的視頻數(shù)據(jù)和來自視頻解碼器30a的經(jīng)解碼圖片緩沖器160的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻解碼器30b而不需要上取樣。另外,在一些實(shí)施例中,上取樣單元92可以是經(jīng)配置以對從視頻解碼器30a的經(jīng)解碼圖片緩沖器160接收的參考圖片上取樣或下取樣的再取樣單元90。
如圖3b中所說明,視頻解碼器33可進(jìn)一步包含多路分用器(或demux)99。demux99可將經(jīng)編碼視頻位流分裂為多個(gè)位流,其中由demux99輸出的每一位流被提供到不同的視頻解碼器30a和30b??赏ㄟ^接收位流來產(chǎn)生多個(gè)位流,且視頻解碼器30a和30b中的每一個(gè)在給定時(shí)間接收位流的部分。雖然在一些狀況下,可在視頻解碼器(例如,在圖3b的實(shí)例中的視頻解碼器30a和30b)中的每一個(gè)之間一次一個(gè)位地交替來自在demux99處接收到的位流的位,但是在許多狀況下,以不同方式劃分所述位流。舉例來說,可通過一次一個(gè)塊地交替哪一視頻解碼器接收位流而劃分所述位流。在另一實(shí)例中,可通過到視頻解碼器30a和30b中的每一個(gè)的塊的非1:1比率來劃分位流。舉例來說,可針對提供到視頻解碼器30a的每一塊將兩個(gè)塊提供到視頻解碼器30b。在一些實(shí)施例中,可預(yù)編程由demux99對位流的劃分。在其它實(shí)施例中,多路分用器99可基于從視頻解碼器33外部的系統(tǒng)(例如,從包含目的地裝置14的目的地裝置上的處理器)接收到的控制信號而劃分位流??苫趤碜暂斎虢涌?8的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂),或基于用于確定視頻解碼器33可獲得的分辨率的任何其它因素來產(chǎn)生控制信號。
hevc中的掃描
掃描圖案將2d塊轉(zhuǎn)換成1d陣列,并界定樣本或系數(shù)的處理次序。掃描遍次是塊中的變換系數(shù)上的迭代(根據(jù)選定的掃描圖案)以便對特定語法元素進(jìn)行譯碼。
圖4是示范性掃描圖案的說明。在hevc中,4×4變換塊(tb)中的掃描是成對角線的,如框405中所展示。然而,還可應(yīng)用如框410中所展示的水平掃描和/或如框415中所展示的豎直掃描,如4×4tb和8×8tb的實(shí)例幀內(nèi)狀況中所展示。
hevc利用基于cg的變換系數(shù)譯碼方案。cg可以按掃描次序是一組16個(gè)連續(xù)變換系數(shù)?;趆evc中界定的掃描圖案,包含對角線、水平和豎直,cg還可對應(yīng)于4×4子塊。在圖4中說明本實(shí)例,其中每一顏色/著色對應(yīng)于不同cg。圖4展示具有四個(gè)cg的hevc中的8×8變換塊。對于4×4變換塊(tb),包含恰好一個(gè)cg。對于8×8tb、16×16tb、32×32tb,分割總共4個(gè)、16個(gè)和64個(gè)非重疊4×4cg。
hevc中的預(yù)測類型
在hevc中,可使用幀內(nèi)或幀間預(yù)測方案。hevc提供圖片間預(yù)測以利用時(shí)間統(tǒng)計(jì)相依性,提供圖片內(nèi)預(yù)測以利用空間統(tǒng)計(jì)相依性、且提供預(yù)測殘余信號的變換譯碼以進(jìn)一步利用空間統(tǒng)計(jì)相依性。hevc基于不同幀內(nèi)預(yù)測類型(例如,intra_angular、intra_planar和intra_dc(直流電流))而支持各種圖片間預(yù)測性譯碼方法。對于圖片間預(yù)測,hevc允許兩種不同幀間預(yù)測類型,包含高級運(yùn)動(dòng)向量預(yù)測(amvp)和合并模式預(yù)測。
快速rdoq
在hevc中,視頻編碼器20可使用rdoq執(zhí)行量化。rdoq是嘗試優(yōu)化速率(即,經(jīng)編碼視頻數(shù)據(jù)的位速率)與失真之間的權(quán)衡的量化技術(shù)。rdoq可經(jīng)由其它量化技術(shù)實(shí)現(xiàn)顯著的執(zhí)行增益。然而,rdoq比(例如)純量量化以及其它量化技術(shù)顯著地復(fù)雜。
一般來說,視頻編碼器20可通過執(zhí)行以下步驟來執(zhí)行rdoq技術(shù)。首先,視頻編碼器20可初始化上下文。其次,視頻編碼器20可按反對角線掃描次序掃描系數(shù)塊的系數(shù)。當(dāng)視頻編碼器20掃描每一系數(shù)時(shí),視頻編碼器20可使用1/2的量化偏移以量化系數(shù)。第三,視頻編碼器20可確定系數(shù)塊中的系數(shù)的最優(yōu)等級。第四,視頻編碼器20可確定最優(yōu)最后有效系數(shù)。
在hm中,可在啟用或停用rdoq的情況下量化系數(shù)塊。當(dāng)rdoq停用時(shí),應(yīng)用常規(guī)(即,非rdoq)量化方案,且對于每一系數(shù)塊,殘余樣本bij(其中bij意味著定位于塊b內(nèi)部的坐標(biāo)(i,j)處的變換系數(shù))經(jīng)量化為:
其中f對于經(jīng)幀內(nèi)譯碼系數(shù)塊是接近1/3的常數(shù)值,且對于經(jīng)幀間譯碼系數(shù)塊是接近1/6的常數(shù)值,且δ表示量化步長大小。
當(dāng)啟用rdoq時(shí),使用rdoq量化殘差塊b。rdoq過程可涉及:對于每一cg內(nèi)的每一系數(shù),基于上文的
在hm中,如果啟用rdoq,那么對于由不同譯碼過程產(chǎn)生的每一系數(shù)塊執(zhí)行rdoq。譯碼制程可包含幀內(nèi)預(yù)測類型或幀間預(yù)測類型,但不限于某一cu、pu或tu分割類型。因此,對于每一塊,一般執(zhí)行以上rdoq過程多次。
rdoq是用以實(shí)現(xiàn)優(yōu)良視頻壓縮效率的重要編碼器側(cè)優(yōu)化方法。然而,相比于常規(guī)量化方案,rdoq的復(fù)雜度是極高的,這是因?yàn)樯婕皬?fù)雜得多的計(jì)算,且對于每一系數(shù)塊執(zhí)行此類復(fù)雜計(jì)算多次。由于rdoq的高復(fù)雜度,其應(yīng)用可以在實(shí)際視頻編碼器中是有限的,對于實(shí)時(shí)視頻編碼應(yīng)用特別如此。
為了很大程度上降低rdoq的復(fù)雜度同時(shí)保持大部分譯碼增益,在下文描述低復(fù)雜度rdoq技術(shù)。
在原始rdoq實(shí)施方案中,在決策過程期間執(zhí)行rdoq多次。然而,應(yīng)注意,每一塊的最好預(yù)測類型和/或分區(qū)類型是相對穩(wěn)定的,不管是否執(zhí)行rdoq。在本文中提議在決策過程期間排除rdoq,并接著在已確定或識別了最好預(yù)測類型和/或分區(qū)類型之后,提議僅對最好預(yù)測類型和/或分區(qū)類型執(zhí)行rdoq。
在一個(gè)實(shí)例中,對于框內(nèi)譯碼中的幀內(nèi)預(yù)測模式?jīng)Q策過程,僅針對最好的幀內(nèi)預(yù)測模式應(yīng)用rdoq,在不具有rdoq的情況下確定或決定最好幀內(nèi)預(yù)測模式。在另一實(shí)例中,對于框間譯碼中的合并模式?jīng)Q策過程,僅針對最好的合并模式應(yīng)用rdoq,在不具有rdoq的情況下確定最好的合并模式應(yīng)用rdoq。
圖5是根據(jù)本發(fā)明中所描述的方面的用于執(zhí)行rdoq的過程的示范性實(shí)施例的流程圖。過程500在框505處開始。
在框510處,過程500可涉及針對視頻數(shù)據(jù)塊執(zhí)行決策過程。舉例來說,決策過程可提供關(guān)于如何有效率地對視頻數(shù)據(jù)塊進(jìn)行編碼的信息。在一實(shí)施例中,模式?jīng)Q策過程可涉及將至少一個(gè)預(yù)測誤差準(zhǔn)則應(yīng)用于視頻數(shù)據(jù)塊。舉例來說,可以應(yīng)用r-d、sad和/或ssd??墒褂么诵畔泶_定用于編碼過程中的一或多個(gè)預(yù)測類型和/或分區(qū)類型。在一實(shí)施例中,所確定的一或多個(gè)預(yù)測類型和/或分區(qū)類型可以是最適合于視頻數(shù)據(jù)塊的類型(例如,具有最低r-d成本、sad成本和/或ssd成本的類型)。
在框515處,過程500可涉及將非rdoq量化方案應(yīng)用于視頻數(shù)據(jù)塊??稍跊Q策過程期間應(yīng)用非rdoq量化方案。在一替代性實(shí)施例中,可在決策過程期間應(yīng)用多個(gè)非rdoq量化方案。
在框520處,過程500可涉及確定至少一個(gè)預(yù)測類型。舉例來說,合并模式、amvp模式和幀內(nèi)預(yù)測模式可以是預(yù)測類型。過程500可確定待用于對視頻數(shù)據(jù)塊進(jìn)行編碼的預(yù)測類型。在決策過程期間,可應(yīng)用至少一個(gè)預(yù)測誤差準(zhǔn)則以確定合適的預(yù)測類型。舉例來說,任選擇具有最低r-d成本的預(yù)測類型。
在框525處,過程500可涉及確定至少一個(gè)分區(qū)類型。舉例來說,cu、pu和tu可以是分區(qū)類型。在決策過程期間,可應(yīng)用至少一個(gè)預(yù)測誤差準(zhǔn)則以確定合適的分區(qū)類型。
在框530處,過程500可涉及將rdoq應(yīng)用于視頻數(shù)據(jù)塊。可在決策過程之后和/或在確定了至少一個(gè)預(yù)測類型和/或分區(qū)類型之后即刻應(yīng)用rdoq。在一實(shí)施例中,可僅針對最好的預(yù)測類型和/或分區(qū)類型而應(yīng)用rdoq。在一替代性實(shí)施例中,可針對多個(gè)預(yù)測類型和/或分區(qū)類型而應(yīng)用rdoq,以確定最好的預(yù)測類型和/或分區(qū)類型。過程500可在框535處結(jié)束。
通過上文所提議的技術(shù),僅觀察到大約0.3%的譯碼性能下降,而具有5%到25%(取決于量化參數(shù)和序列)的編碼時(shí)間節(jié)省。
其它考慮
可使用多種不同技術(shù)和技藝中的任一個(gè)來表示本文中所揭示的信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個(gè)上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
結(jié)合本文揭示的實(shí)施例所描述的各種說明性邏輯塊、模塊、電路和算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件,或兩者的組合。為清晰地說明硬件與軟件的此可互換性,已在上文大體就其功能性來描述了各種說明性組件、塊、模塊、電路和步驟。此功能性是實(shí)施為硬件還是軟件取決于特定應(yīng)用和施加于整個(gè)系統(tǒng)的設(shè)計(jì)約束。熟練的技術(shù)人員可針對每一特定應(yīng)用以不同方式來實(shí)施所描述的功能性,但是這樣的實(shí)施決策不應(yīng)被解釋為會引起脫離本發(fā)明的范圍。
本文中所描述的技術(shù)可在硬件、軟件、固件或其任一組合中予以實(shí)施。此類技術(shù)可實(shí)施于多種裝置中的任一個(gè)中,例如通用計(jì)算機(jī)、無線通信裝置手持機(jī)或集成電路裝置,其具有包含在無線通信裝置手持機(jī)和其它裝置中的應(yīng)用的多種用途。被描述為模塊或組件的任何特征可一起實(shí)施于集成邏輯裝置中或分開來實(shí)施為離散但可互操作的邏輯裝置。如果以軟件實(shí)施,那么所述技術(shù)可至少部分地由包括程序代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲媒體來實(shí)現(xiàn),所述程序代碼包含在執(zhí)行時(shí)執(zhí)行上文所描述的方法中的一或多者的指令。計(jì)算機(jī)可讀數(shù)據(jù)存儲媒體可形成計(jì)算機(jī)程序產(chǎn)品的部分,計(jì)算機(jī)程序產(chǎn)品可包含封裝材料。計(jì)算機(jī)可讀媒體可包括存儲器或數(shù)據(jù)存儲媒體,例如,隨機(jī)存取存儲器(ram)(例如,同步動(dòng)態(tài)隨機(jī)存取存儲器(sdram))、只讀存儲器(rom)、非易失性隨機(jī)存取存儲器(nvram)、電可擦除可編程只讀存儲器(eeprom)、閃存器、磁性或光學(xué)數(shù)據(jù)存儲媒體等等。另外或替代地,所述技術(shù)可至少部分地由計(jì)算機(jī)可讀通信媒體實(shí)現(xiàn),所述計(jì)算機(jī)可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式載運(yùn)或傳送程序代碼且可由計(jì)算機(jī)存取、讀取和/或執(zhí)行(例如,傳播的信號或波)。
程序代碼可由處理器執(zhí)行,處理器可包含一或多個(gè)處理器,例如一或多個(gè)dsp、通用微處理器、asic、fpga或其它等效集成或離散邏輯電路。此處理器可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一個(gè)。通用處理器可以是微處理器;但在替代方案中,處理器可以是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實(shí)施為計(jì)算裝置的組合,例如,dsp與微處理器的組合、多個(gè)微處理器、結(jié)合dsp核心的一或多個(gè)微處理器,或任何其它此類配置。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)中的任一個(gè)、上述結(jié)構(gòu)的任何組合,或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)或設(shè)備。另外,在一些方面中,本文中所描述的功能性可在經(jīng)配置以用于編碼和解碼的專用軟件模塊或硬件模塊內(nèi)提供,或并入在組合的視頻編碼器-解碼器(codec)中。而且,所述技術(shù)可完全實(shí)施于一或多個(gè)電路或邏輯元件中。
本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實(shí)施,裝置或設(shè)備包含無線手持機(jī)、集成電路(ic)或一組ic(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)其經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但是未必需要通過不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可結(jié)合合適的軟件和/或固件組合在一個(gè)編解碼器硬件單元中,或通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。
已描述本發(fā)明的各種實(shí)施例。這些和其它實(shí)施例處于所附權(quán)利要求書的范圍內(nèi)。