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

遞歸塊分區(qū)的制作方法

文檔序號(hào):10598505閱讀:387來(lái)源:國(guó)知局
遞歸塊分區(qū)的制作方法
【專(zhuān)利摘要】根據(jù)本公開(kāi)的各個(gè)方面,提供了用于將圖像分為區(qū)域、將分區(qū)類(lèi)型應(yīng)用于每個(gè)區(qū)域、基于應(yīng)用于每個(gè)區(qū)域的分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域確定率失真代價(jià)、基于應(yīng)用于每個(gè)區(qū)域的所述分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域確定代碼化方案、并且基于為每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)每個(gè)區(qū)域進(jìn)行編碼的系統(tǒng)和方法。
【專(zhuān)利說(shuō)明】
遞歸塊分區(qū)
[0001] 相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)要求2013年12月30日提交的標(biāo)題為"RECURSIVE BLOCK PARTITIONING"的 美國(guó)非臨時(shí)專(zhuān)利申請(qǐng)第No. 14/144,375號(hào)的優(yōu)先權(quán)并且是該案的延續(xù),其公開(kāi)內(nèi)容以引用 的方式全部并入本文。
技術(shù)領(lǐng)域
[0003] 本描述涉及用于遞歸塊分區(qū)以及其在視頻壓縮中的熵編碼的各種基于計(jì)算機(jī)的 技術(shù)。
【背景技術(shù)】
[0004] -般而言,視頻編解碼能夠?qū)崿F(xiàn)數(shù)字視頻的的壓縮/解壓縮。通常,在視頻質(zhì)量、表 現(xiàn)視頻所需的數(shù)據(jù)量(即,比特率)、編碼/解碼算法的復(fù)雜性、和一些其它因素之間存在復(fù) 雜平衡。視頻編解碼器通常采用基于塊的編碼,其中,較大塊大小使代碼化方面的平均間接 成本降低,而較小塊大小可以允許在預(yù)測(cè)方面更靈活以減少殘差能量。當(dāng)處理塊大小選擇 時(shí),傳統(tǒng)視頻編解碼在維持相對(duì)簡(jiǎn)單和簡(jiǎn)潔的編解碼結(jié)構(gòu)的同時(shí)使率失真代價(jià)最佳化方面 有不足。近年來(lái),使在平均間接成本與預(yù)測(cè)質(zhì)量之間的折衷最佳化的共同策略是針對(duì)給定 區(qū)域的共同策略,編碼器可以對(duì)所有允許的塊大小進(jìn)行測(cè)試并且選擇使率失真代價(jià)最小化 的允許的塊大小。該共同策略明確地將選定的塊大小編碼為比特流。不幸的是,由于傳統(tǒng)編 碼,在所有塊大小上的這類(lèi)大規(guī)模搜索導(dǎo)致高度復(fù)雜的視頻編解碼實(shí)施方式。進(jìn)一步地,明 確地對(duì)塊大小信息進(jìn)行代碼化充分地利用了空間相關(guān)性,這可能導(dǎo)致壓縮效率低。同樣,存 在對(duì)通過(guò)其實(shí)現(xiàn)視頻編解碼的過(guò)程最佳化和/或和/或改進(jìn)需要。

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

[0005] 根據(jù)本公開(kāi)的各個(gè)方面,提供了一種用于存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì),該指令在被執(zhí)行時(shí)使得至少一個(gè)處理器進(jìn)行過(guò)程。所述指令可以包括被配置成將圖像 分為多個(gè)區(qū)域并且將多個(gè)分區(qū)類(lèi)型應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的指令。所述指令可 以包括被配置成基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多 個(gè)區(qū)域中的每個(gè)區(qū)域確定率失真(例如,率失真代價(jià))的指令。所述指令可以包括被配置成 基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)區(qū)域中的每個(gè) 區(qū)域確定代碼化方案的指令。所述指令可以包括被配置成基于為所述多個(gè)區(qū)域中的每個(gè)區(qū) 域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)所述多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼的指 令。
[0006] 根據(jù)本公開(kāi)的各個(gè)方面,提供了一種用于存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì),所述指令在被執(zhí)行時(shí)使得至少一個(gè)處理器執(zhí)行過(guò)程。所述指令可以包括被配置成將視 頻分為多個(gè)像素塊并且將多個(gè)分區(qū)類(lèi)型應(yīng)用于所述多個(gè)像素塊中的每個(gè)像素塊的指令。所 述指令可以包括被配置成對(duì)于應(yīng)用于所述多個(gè)像素塊中的每個(gè)像素塊的所述多個(gè)分區(qū)類(lèi) 型的第一分區(qū)類(lèi)型,將第一分區(qū)類(lèi)型的每個(gè)像素塊分為多個(gè)像素子塊,并且將所述多個(gè)分 區(qū)類(lèi)型重新應(yīng)用于所述多個(gè)像素子塊中的每個(gè)像素子塊的指令。所述指令可以包括被配置 成基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè)像素子塊的所述多個(gè)分區(qū)類(lèi)型來(lái)為 每個(gè)像素塊和每個(gè)像素子塊確定率失真代價(jià)的指令。所述指令可以包括被配置成基于分別 應(yīng)用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè)像素子塊的所述多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)像素塊 和每個(gè)像素子塊確定代碼化方案的指令。所述指令可以包括基于為每個(gè)像素塊和每個(gè)像素 子塊確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)每個(gè)像素塊和每個(gè)像素子塊進(jìn)行編碼的 指令。
[0007] 根據(jù)本公開(kāi)的各個(gè)方面,系統(tǒng)可以包括至少一個(gè)處理器和存儲(chǔ)器。系統(tǒng)可以包括 編碼器,該編碼器被配置成使得至少一個(gè)處理器將圖像分為多個(gè)區(qū)域并且將多個(gè)分區(qū)類(lèi)型 應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域。編碼器可以被配置成使得至少一個(gè)處理器:對(duì)于應(yīng)用 于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型中的至少一個(gè)分區(qū)類(lèi)型,將該至少一個(gè) 分區(qū)類(lèi)型的每個(gè)區(qū)域分為多個(gè)子區(qū)域,并且將所述多個(gè)分區(qū)類(lèi)型重新應(yīng)用于多個(gè)子區(qū)域中 的每個(gè)子區(qū)域。編碼器可以被配置成使至少一個(gè)處理器基于分別應(yīng)用于并且重新應(yīng)用于每 個(gè)區(qū)域和每個(gè)子區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域和每個(gè)子區(qū)域確定率失真代價(jià)。編 碼器可以被配置成使至少一個(gè)處理器基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)區(qū)域和每個(gè)子 區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域和每個(gè)子區(qū)域確定編碼方案。編碼器可以被配置成使至 少一個(gè)處理器基于分別為每個(gè)區(qū)域和每個(gè)子區(qū)域確定的率失真代價(jià)和編碼方案來(lái)單獨(dú)地 對(duì)每個(gè)區(qū)域和每個(gè)子區(qū)域進(jìn)行編碼。
[0008] 在附圖或以下描述中闡釋了一個(gè)或多個(gè)實(shí)施方式的細(xì)節(jié)。其它特征將通過(guò)描述和 附圖并且通過(guò)權(quán)利要求而變得顯而易見(jiàn)。
【附圖說(shuō)明】
[0009] 圖1A是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于實(shí)施各種基于計(jì)算機(jī)的技術(shù)的示 例系統(tǒng)的框圖,該各種基于計(jì)算機(jī)的技術(shù)用于遞歸塊分區(qū)和其在視頻壓縮中的熵編碼。
[0010] 圖1B是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的與圖1A所示的部分框相關(guān)聯(lián)的示例組 件的框圖。
[0011] 圖2是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的示例編碼器的框圖。
[0012] 圖3是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的示例解碼器的另一框圖。
[0013]圖4是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的示例技術(shù)的框圖。
[0014] 圖5是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于基于上下文的熵編碼的示例技術(shù)的 框圖。
[0015] 圖6A是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于在編碼器處產(chǎn)生表格的方法的過(guò) 程流程。
[0016] 圖6B至圖6C是根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的示例方法的過(guò)程流程。
[0017] 圖7是圖示出了根據(jù)實(shí)施方式的概率表的示例的示意圖。
[0018] 圖8是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的另一示例方法的過(guò)程 流程。
【具體實(shí)施方式】
[0019] 圖1A是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于實(shí)施各種技術(shù)的示例系統(tǒng)100的框 圖,該各種技術(shù)用于遞歸塊分區(qū)和其在視頻壓縮中的熵編碼。在一些實(shí)施方式中,可以將圖 像分為多個(gè)區(qū)域(例如,每個(gè)區(qū)域具有諸如64 X 64像素的n X n像素的大?。?。進(jìn)一步地,可以 通過(guò)率失真環(huán)路來(lái)對(duì)每個(gè)區(qū)域進(jìn)行測(cè)試以發(fā)現(xiàn)最佳代碼化決策決策(包括:將圖像分為或 者分區(qū)為區(qū)域或者像素塊大小的方式、每塊的預(yù)測(cè)模式、應(yīng)用于每個(gè)塊的變換類(lèi)型等),并 且然后可以以光柵順序?qū)⒚總€(gè)區(qū)域代碼化或者編碼為比特流。在一些實(shí)施方式中,可以將 圖像分為多個(gè)區(qū)域,該多個(gè)區(qū)域具有諸如64X32像素的nXm像素的尺寸。
[0020] 率失真環(huán)路可以用于在視頻壓縮中提高視頻質(zhì)量,并且可以涉及將失真量(視頻 質(zhì)量損失)與用于對(duì)視頻進(jìn)行編碼的數(shù)據(jù)量(數(shù)據(jù)率)進(jìn)行比較并且確定該失真量。在一些 實(shí)施方式中,率失真環(huán)路可以用于改善編碼,其中,決策可以同時(shí)影響編碼視頻的文件大小 和質(zhì)量。
[0021] 在圖1A的示例中,系統(tǒng)100可以包括用于實(shí)施遞歸塊分區(qū)的計(jì)算機(jī)系統(tǒng)。在圖1A的 示例中,編碼器120可以包括:在正向通路上執(zhí)行各種功能以使用輸入視頻流來(lái)提供編碼比 特流或者壓縮比特流的一個(gè)或者多個(gè)階段。如本文進(jìn)一步所描述的,可以將輸入視頻流的 圖像或者視頻幀分為多個(gè)區(qū)域,其中,可以通過(guò)率失真環(huán)路來(lái)對(duì)每個(gè)區(qū)域執(zhí)行測(cè)試或者評(píng) 估以發(fā)現(xiàn)最佳代碼化決策,并且然后可以以光柵順序?qū)⒚總€(gè)區(qū)域編碼為比特流。
[0022] 在圖1A的示例中,解碼器124可以包括:執(zhí)行各種功能以提供來(lái)自編碼比特流或者 壓縮比特流的輸出視頻流的一個(gè)或者多個(gè)階段。如本文進(jìn)一步所描述的,可以向用于解碼 的解碼器提供編碼比特流或者壓縮比特流以提供輸出視頻流。在一些實(shí)施方式中,解碼器 124是編碼器120的補(bǔ)充,因此,解碼器124所使用的解碼過(guò)程是編碼器120所使用的編碼過(guò) 程的補(bǔ)充。下面結(jié)合例如圖2至圖5來(lái)描述與編碼器120和解碼器124的操作有關(guān)的更多細(xì)
[0023] 在圖1A的示例中,計(jì)算裝置104可以包括與視頻源114和網(wǎng)絡(luò)118通信的服務(wù)器或 者用戶裝置。在一些實(shí)施方式中,計(jì)算裝置104可以配置為:經(jīng)由視頻接口 130接收來(lái)自視頻 源114的視頻數(shù)據(jù)流、經(jīng)由編碼器120對(duì)視頻數(shù)據(jù)流執(zhí)行編碼、并且經(jīng)由網(wǎng)絡(luò)接口 134通過(guò)網(wǎng) 絡(luò)118傳送編碼視頻數(shù)據(jù)流。編碼器120可以使用基于視頻源114的塊分區(qū)和其熵編碼而被 最佳化的編碼過(guò)程。本文進(jìn)一步描述了發(fā)生最佳化的(一個(gè)或多個(gè))示例編碼過(guò)程。
[0024] 在一些實(shí)施方式中,計(jì)算裝置104可以配置為:經(jīng)由網(wǎng)絡(luò)接口 134接收來(lái)自網(wǎng)絡(luò)118 的視頻數(shù)據(jù)流、經(jīng)由解碼器124對(duì)視頻數(shù)據(jù)流進(jìn)行解碼、并且經(jīng)由視頻接口 130將解碼視頻 數(shù)據(jù)流顯示在顯示裝置150上。解碼器124可以使用基于視頻數(shù)據(jù)流的塊分區(qū)和其熵編碼而 被最佳化的解碼過(guò)程。本文進(jìn)一步描述了示例解碼過(guò)程。
[0025] 視頻源114可以是能夠提供、捕捉、和/或傳送包括靜態(tài)圖像、視頻幀等的視頻圖像 的任何裝置。例如,視頻源114可以包括:計(jì)算機(jī)服務(wù)器、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板 計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、網(wǎng)絡(luò)攝像機(jī)、或者能夠提供、捕 捉、和/或傳送包括視頻圖像的圖像的任何其它裝置。在一些實(shí)施方式中,計(jì)算機(jī)裝置104可 以接收來(lái)自多個(gè)視頻源114的音頻和/或視頻,并且將源合并為單個(gè)視頻數(shù)據(jù)流。
[0026] 在一些實(shí)施方式中,計(jì)算裝置104可以處于網(wǎng)絡(luò)118的一個(gè)節(jié)點(diǎn)處,并且可以操作 為與網(wǎng)絡(luò)118的一個(gè)或者多個(gè)其它節(jié)點(diǎn)直接地并且間接地通信。例如,計(jì)算機(jī)裝置104可以 包括web服務(wù)器,該web服務(wù)器操作為經(jīng)由網(wǎng)絡(luò)118與一個(gè)或者多個(gè)客戶端裝置通信,使得計(jì) 算裝置104使用網(wǎng)絡(luò)118來(lái)向用戶傳送信息并且將該信息顯示在顯示裝置152上。雖然通常 參照計(jì)算裝置104來(lái)描述本文所述的概念和技術(shù),但是本公開(kāi)的各個(gè)方面可以應(yīng)用于能夠 實(shí)施編碼/解碼操作的任何裝置和/或計(jì)算節(jié)點(diǎn)。
[0027] 在一些實(shí)施方式中,系統(tǒng)100可以配置成為數(shù)據(jù)提供隱私保護(hù),包括例如,個(gè)人可 識(shí)別信息的匿名化、數(shù)據(jù)的聚合、敏感信息的過(guò)濾、移除個(gè)人屬性的敏感信息的加密、散列 或者過(guò)濾、有關(guān)信息存儲(chǔ)的時(shí)間限制、和/或有關(guān)數(shù)據(jù)使用或者共享的限制。這樣,可以使數(shù) 據(jù)匿名化并且聚合,使得個(gè)人用戶數(shù)據(jù)不會(huì)被透露。
[0028] 在圖1A的示例中,視頻接口 130可以配置為:為與許多不同的音頻和視頻標(biāo)準(zhǔn)有關(guān) 的輸入提供硬件和/或軟件接口,該音頻和視頻標(biāo)準(zhǔn)定義為在計(jì)算裝置、外圍設(shè)備、和各種 類(lèi)型的電氣設(shè)備之間的連接指定的物理特性和參數(shù)的類(lèi)型。這些音頻和視頻標(biāo)準(zhǔn)可以定義 用于信號(hào)的成功傳輸?shù)哪M和數(shù)字視頻數(shù)據(jù)傳輸協(xié)議。例如,數(shù)字接口可以用于將視頻源 連接至用于傳輸諸如輸入視頻流的數(shù)字視頻內(nèi)容的諸如計(jì)算機(jī)的計(jì)算裝置。在某些情況 下,可以將視頻接口 130設(shè)計(jì)為接收來(lái)自視頻源114的輸入視頻流,并且將其提供給用于編 碼的編碼器120。
[0029] 在圖1A的示例中,網(wǎng)絡(luò)接口 134可以配置為管理傳送編碼器120所編碼的視頻數(shù)據(jù) 流。進(jìn)一步地,網(wǎng)絡(luò)接口 134可以配置為管理接收解碼器124所解碼的視頻數(shù)據(jù)流。網(wǎng)絡(luò)接口 134可以配置為接收來(lái)自該至少一個(gè)處理器110的指令以配置用于傳送和接收視頻數(shù)據(jù)流 的網(wǎng)絡(luò)參數(shù)和網(wǎng)絡(luò)協(xié)議。
[0030]網(wǎng)絡(luò)118可以包括各種配置并且使用各種協(xié)議,包括:互聯(lián)網(wǎng)、萬(wàn)維網(wǎng)、內(nèi)聯(lián)網(wǎng)、虛 擬專(zhuān)用網(wǎng)、本地以太網(wǎng)、使用一個(gè)或者多個(gè)公司專(zhuān)有的通信協(xié)議的專(zhuān)用網(wǎng)絡(luò)、蜂窩和無(wú)線網(wǎng) 絡(luò)(例如,Wi-Fi )、即時(shí)通信、超文本傳輸協(xié)議("HTTP")、簡(jiǎn)易郵件傳輸協(xié)議("SMTP")、以及 上述事項(xiàng)的各種組合。進(jìn)一步地,系統(tǒng)100可以是經(jīng)由網(wǎng)絡(luò)118通信的相連計(jì)算機(jī)的較大系 統(tǒng)的一部分。
[0031 ]雖然如上面所看到的那樣在傳送或者接收信息時(shí)獲得某些優(yōu)點(diǎn),但是本文所描述 的系統(tǒng)和方法的其它方面并不限于信息傳輸?shù)娜魏翁囟ǚ绞健@?,在一些?shí)施方式中,可 以經(jīng)由諸如光盤(pán)或者便攜式驅(qū)動(dòng)的介質(zhì)傳送信息。在其它實(shí)施方式中,可以以非電子格式 傳送信息和/或?qū)⒃撔畔⑹謩?dòng)輸入到系統(tǒng)中。
[0032] 在圖1A的示例中,系統(tǒng)100可以包括用于實(shí)施遞歸塊分區(qū)的計(jì)算機(jī)系統(tǒng),該遞歸塊 分區(qū)可以與計(jì)算裝置104相關(guān)聯(lián),該計(jì)算裝置104可以配置為專(zhuān)用機(jī)器,該專(zhuān)用機(jī)器設(shè)計(jì)為 實(shí)施用于遞歸塊分區(qū)和其在視頻壓縮中的熵編碼的各種基于計(jì)算機(jī)的技術(shù),如本文所描 述。從這個(gè)意義上講,計(jì)算裝置104可以包括任何(一個(gè)或多個(gè))標(biāo)準(zhǔn)元件和/或(一個(gè)或多 個(gè))組件,包括至少一個(gè)處理器110、至少一個(gè)存儲(chǔ)器112(例如,非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì))、至少一個(gè)數(shù)據(jù)庫(kù)140、電源、(一個(gè)或多個(gè))外圍設(shè)備、以及在圖1A中可能未被特別示出 的各種其它計(jì)算元件和/或組件。進(jìn)一步地,系統(tǒng)100可以與顯示裝置150(例如,監(jiān)視器或者 其它顯示器)相關(guān)聯(lián),該顯示裝置150可以用于提供用戶界面(UI)152,諸如,例如,圖形用戶 界面(GUI)。1]1 152可以用于接收來(lái)自利用系統(tǒng)100的用戶的輸入。
[0033] 這樣,可以添加或者包括系統(tǒng)100的可以用于實(shí)施系統(tǒng)100的各種其它元件和/或 組件。進(jìn)一步地,在各種實(shí)施方式中,計(jì)算裝置104可以包括任何類(lèi)型的裝置,諸如,計(jì)算機(jī) 服務(wù)器、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理、或者能夠處 理(例如,編碼、解碼等)和/或傳送包括靜態(tài)圖像和視頻圖像的圖像的任何其它裝置。
[0034] 雖然圖1A在單個(gè)功能框內(nèi)功能地圖示出了至少一個(gè)處理器110和至少一個(gè)存儲(chǔ)器 112,但是應(yīng)該理解,該至少一個(gè)處理器110和該至少一個(gè)存儲(chǔ)器112可以包括:可以或可以 不被存儲(chǔ)在相同的物理殼體內(nèi)的多個(gè)處理器和存儲(chǔ)器。這樣,對(duì)(一個(gè)或多個(gè))處理器、(一 個(gè)或多個(gè))計(jì)算機(jī)、和/或(一個(gè)或多個(gè))存儲(chǔ)器的引用可以包括對(duì)可以并行操作或者可以不 并行操作的一些處理器、計(jì)算機(jī)、和/或存儲(chǔ)器的引用。
[0035] 在圖1A的示例中,系統(tǒng)100可以包括計(jì)算裝置104和記錄在計(jì)算機(jī)可讀介質(zhì)112并 且可由至少一個(gè)處理器110執(zhí)行的指令。進(jìn)一步地,在一個(gè)實(shí)施方式中,系統(tǒng)100可以包括用 于向用戶提供輸出的顯示裝置150,并且顯示裝置150可以包括用于接收來(lái)自用戶的輸入的 UI 152〇
[0036] 在圖1A的示例中,應(yīng)該理解,通過(guò)使用或多或少地表示離散功能的各種功能框或 者模塊來(lái)圖示出系統(tǒng)1〇〇。然而,為了清晰和方便起見(jiàn)提供了這種圖示,且因此應(yīng)該了解,各 種功能可能與所述(一個(gè)或多個(gè))框或者(一個(gè)或多個(gè))模塊重疊或者被結(jié)合在所述框或者 模塊內(nèi),并且/或者可以由在圖1A的示例中未被具體圖示出的一個(gè)或者多個(gè)框或者模塊實(shí) 施。這樣,應(yīng)該了解,為了清晰和方便起見(jiàn),即使沒(méi)有明確地圖示出這種傳統(tǒng)元件,也可以包 括可能被認(rèn)為對(duì)圖1A的系統(tǒng)100有用的傳統(tǒng)功能。
[0037] 圖1B是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的與圖1A所示的部分框相關(guān)聯(lián)的示例組 件的框圖。具體地,圖1B示出了與圖1A所示的存儲(chǔ)器112和編碼器120相關(guān)聯(lián)的示例組件。
[0038] 在圖1B的示例中,存儲(chǔ)器112可以包括概率表160,其中,每個(gè)概率表160與一個(gè)或 者多個(gè)概率值(例如,0價(jià)、0~2、0似丄~4)相關(guān)聯(lián)和/或用該一個(gè)或者多個(gè)概率值來(lái)填充。在 各種實(shí)施方式中,存儲(chǔ)器112可以包括諸如概率表160的任何數(shù)量的概率表以及任何數(shù)量的 相關(guān)聯(lián)概率值。在一些實(shí)施方式中,概率值中的一個(gè)或者多個(gè)概率值可以與一個(gè)或者多個(gè) 其它概率表(未示出)有關(guān)??梢詾樵诎ㄒ唤M視頻幀的視頻序列中的每個(gè)幀修改/更新在 概率表160中所包括的一個(gè)或者多個(gè)概率值。概率值CN1、CN2、CN3、CN4可以各自與對(duì)在視頻 幀內(nèi)的塊進(jìn)行編碼結(jié)合使用的特定分區(qū)類(lèi)型的概率相關(guān)聯(lián)。
[0039] 進(jìn)一步地,在圖1B的示例中,編碼器120可以包括一個(gè)或者多個(gè)組件(例如,處理組 件),該一個(gè)或者多個(gè)組件包括視頻序列檢測(cè)器162、概率計(jì)算器164、和分區(qū)模塊165。在一 些實(shí)施方式中,可以將視頻序列的每個(gè)視頻幀分為小區(qū)域網(wǎng)格,其中,可以通過(guò)率失真最佳 化環(huán)路來(lái)測(cè)試每個(gè)區(qū)域以發(fā)現(xiàn)最佳代碼化決策,并且然后以光柵順序?qū)⒃撁總€(gè)區(qū)域代碼化 為比特流。
[0040] 視頻序列檢測(cè)器162可以配置為識(shí)別在視頻幀序列中的第一幀。例如,視頻序列檢 測(cè)器162可以配置為檢測(cè)新的視頻序列、重新設(shè)置/重新開(kāi)始概率計(jì)算、并且更新/修改概率 表,包括例如,將概率表重新設(shè)置為默認(rèn)在視頻序列的開(kāi)始(第一幀)。在一些實(shí)施方式中, 視頻序列檢測(cè)器162可以配置為當(dāng)檢測(cè)到視頻序列的第一幀時(shí),改變概率分布數(shù)和/或值。
[0041] 概率計(jì)算器164可以配置為:基于在視頻幀序列中的第一幀(或者隨后的幀)的編 碼來(lái)將與分區(qū)類(lèi)型相關(guān)聯(lián)的概率值(例如,概率值CN1)修改/更新為更新的概率值。在一些 實(shí)施方式中,可以對(duì)每個(gè)概率表160的概率值進(jìn)行修改/更新,以使針對(duì)在視頻序列中的每 個(gè)幀的代碼化決策最佳化。
[0042] 分區(qū)模塊165可以配置為基于存儲(chǔ)在存儲(chǔ)器112中的概率表160來(lái)對(duì)在視頻序列中 的第一幀進(jìn)行編碼。在一些實(shí)施方式中,概率表160可以包括與一個(gè)或者多個(gè)分區(qū)類(lèi)型相關(guān) 聯(lián)的一個(gè)或者多個(gè)概率值。進(jìn)一步地,分區(qū)模塊165可以配置為基于在概率表160中包括的 更新的概率值來(lái)對(duì)在視頻幀序列中的第二幀進(jìn)行編碼。在一些實(shí)施方式中,可以遞歸地對(duì) 每個(gè)幀進(jìn)行編碼以確定最佳代碼化決策,最佳代碼化決策包括將每個(gè)幀分區(qū)為較小塊大小 的方式、每塊的預(yù)測(cè)模式、應(yīng)用于每個(gè)塊的變換模式等。
[0043] 分區(qū)模塊165可以包括一個(gè)或者多個(gè)組件,該一個(gè)或者多個(gè)組件包括鄰居塊分析 器166和分區(qū)選擇器167。在一些實(shí)施方式中,鄰居塊分析器166可以配置為識(shí)別包括左邊鄰 居塊和上方鄰居塊的鄰居塊(和/或不同的鄰居),并且分區(qū)選擇器167可以配置為將各種分 區(qū)類(lèi)型應(yīng)用于一個(gè)或者多個(gè)鄰居塊以進(jìn)行進(jìn)一步分析,所述分析包括在參照鄰居塊的分區(qū) 來(lái)識(shí)別當(dāng)前塊的最佳分區(qū)。
[0044] 根據(jù)本公開(kāi)的各個(gè)方面,編碼器120可以配置為利用基于上下文的熵編碼方法來(lái) 分析鄰居塊,并且選擇分區(qū)類(lèi)型來(lái)使代碼化決策最佳化。例如,用于分區(qū)類(lèi)型代碼化的概率 模型可以以下列因素中的一個(gè)或者多個(gè)為條件:當(dāng)前塊大?。ɡ?,64 X64、32X 32、16 X 16、8\8、4\4、2乂2等)、其上方鄰居塊的分區(qū)類(lèi)型、其左邊鄰居塊的分區(qū)類(lèi)型。每個(gè)條件概 率模型可以是后向自適應(yīng)的,并且可以以每幀為基礎(chǔ)而被更新。該基于上下文的熵代碼化 技術(shù)可以用于有效地利用空間相關(guān)性,其中,分區(qū)類(lèi)型傾向于與連續(xù)區(qū)域保持一致,并且可 以用于實(shí)現(xiàn)各種性能增益。
[0045] 與超過(guò)所有可能的塊大小的傳統(tǒng)大規(guī)模搜索方法不同,本公開(kāi)的基于上下文的熵 代碼化技術(shù)配置為使用用于最佳率失真搜索以及最佳編碼和解碼過(guò)程的遞歸塊分區(qū)。在率 失真最佳化階段期間,可以通過(guò)多個(gè)分區(qū)類(lèi)型(諸如,例如,垂直(vert)分區(qū)、水平(horz)分 區(qū)、無(wú)(none)分區(qū)、以及拆分(split)分區(qū)為更小的區(qū)域/塊)來(lái)對(duì)每個(gè)區(qū)域/塊進(jìn)行測(cè)試。進(jìn) 一步地,然后通過(guò)各種可能的預(yù)測(cè)模式、濾波類(lèi)型、變換尺寸等來(lái)獨(dú)立地對(duì)結(jié)果子塊中的每 個(gè)結(jié)果子塊進(jìn)行測(cè)試,以發(fā)現(xiàn)其(局部)最佳代碼化決策。本文更詳細(xì)地描述了本公開(kāi)的這 些和各種其它方面。
[0046] 圖2是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的示例編碼器200的框圖??梢灾T如通過(guò)提 供在例如存儲(chǔ)器112(在圖1A中示出)的存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)軟件程序來(lái)在計(jì)算裝置、月艮 務(wù)器、傳送站等中實(shí)施編碼器200。編碼器200可以包括在正向通路208(例如,如流虛線所 示)上執(zhí)行各種功能以通過(guò)使用輸入視頻流210來(lái)提供編碼或者壓縮比特流230的一個(gè)或者 多個(gè)階段。在各種實(shí)施方式中,正向通路208可以包括:作為對(duì)編碼器200的輸入的輸入視頻 流210,其后跟隨內(nèi)部/中間預(yù)測(cè)階段214(例如,可以從初始視頻信號(hào)中減去預(yù)測(cè)信號(hào)以生 成用于下個(gè)階段的殘差)、變換階段218、量化階段222、和熵編碼階段226。
[0047]編碼器200可以包括重構(gòu)通路232(例如,如連接虛線所示)以重構(gòu)用于未來(lái)塊的編 碼的幀。在一些實(shí)施方式中,這可以確保編碼器200和解碼器300(例如,如圖3所示)使用相 同的參考來(lái)對(duì)編碼器200所提供的編碼或者壓縮比特流230進(jìn)行解碼。如圖2所示,編碼器 200可以包括在重構(gòu)通路232中執(zhí)行各種功能的一個(gè)或者多個(gè)附加階段。在各種實(shí)施方式 中,重構(gòu)通路232可以包括解量化階段234、反變換階段238、重構(gòu)階段242、和環(huán)路濾波階段 246。在其它實(shí)施方式中,編碼器200的結(jié)構(gòu)變化可以用于對(duì)輸入視頻流210進(jìn)行編碼。
[0048] 當(dāng)將輸入視頻流210發(fā)送至用于編碼的編碼器200時(shí),可以以塊為單元處理輸入視 頻流210的每個(gè)幀。在一些實(shí)施方式中,在內(nèi)部/中間預(yù)測(cè)階段214,可以使用幀內(nèi)預(yù)測(cè)(其可 以被稱(chēng)為內(nèi)部預(yù)測(cè))或者幀間預(yù)測(cè)(其可以被稱(chēng)為其間預(yù)測(cè))來(lái)對(duì)每個(gè)塊進(jìn)行編碼。在任何 情況下,可以形成(例如,定義)預(yù)測(cè)塊。在內(nèi)部預(yù)測(cè)的情況下,預(yù)測(cè)塊可以由在已經(jīng)被先前 編碼和重構(gòu)的當(dāng)前幀中的采樣形成。在其間預(yù)測(cè)的情況下,預(yù)測(cè)塊可以由在一個(gè)或者多個(gè) 先前構(gòu)建的參考幀中的采樣形成。在內(nèi)部/其間預(yù)測(cè)階段214,可以從當(dāng)前塊中減去預(yù)測(cè)塊 以提供殘差塊(其可以被稱(chēng)為殘差)。變換階段218可以配置為將殘差轉(zhuǎn)變?yōu)樵诶珙l域中 的系數(shù)。
[0049] 進(jìn)一步地,在一些實(shí)施方式中,量化階段222可以配置為使用量化器值或者量化級(jí) 別來(lái)將變換系數(shù)轉(zhuǎn)換為離散量子值,該離散量子值可以被稱(chēng)為量化變換系數(shù)。然后可以通 過(guò)熵編碼階段226來(lái)對(duì)量化變換系數(shù)進(jìn)行熵編碼。然后將熵編碼系數(shù)連同用于對(duì)可以包括 例如所使用的預(yù)測(cè)類(lèi)型、運(yùn)動(dòng)矢量和量化器值的塊進(jìn)行解碼的其它信息一起輸出至編碼或 者壓縮比特流230。在各種實(shí)施方式中,可以使用各種技術(shù)(諸如例如變長(zhǎng)代碼化(VLC)、算 術(shù)代碼化)來(lái)使壓縮比特流230格式化。壓縮比特流230也可以被稱(chēng)為編碼視頻流或者編碼 輸出視頻流。熵編碼階段226可以配置為生成一個(gè)或者多個(gè)概率表,并且生成一個(gè)或者多個(gè) 概率值以用本文所描述的方式來(lái)填充概率表。
[0050] 在一些實(shí)施方式中,視頻編解碼可以采用基于塊的代碼化去,其中,將每個(gè)幀分區(qū) 為塊網(wǎng)格,然后使用跟隨有空間變換和量化的幀間/幀內(nèi)預(yù)測(cè)來(lái)獨(dú)立地對(duì)每個(gè)塊進(jìn)行代碼 化。大塊大小可以導(dǎo)致在對(duì)預(yù)測(cè)模式、參考幀索引、運(yùn)動(dòng)矢量等進(jìn)行代碼化方面的平均間接 成本更低,而小塊大小可以允許在預(yù)測(cè)方面的更多靈活性,從而減少殘差能量。本公開(kāi)的各 個(gè)方面可以配置為提供方法和設(shè)備來(lái)有效地處理塊大小選擇以在維持相對(duì)簡(jiǎn)單和簡(jiǎn)潔的 編解碼結(jié)構(gòu)的同時(shí)使總體率失真代價(jià)權(quán)衡最佳化。進(jìn)一步地,在編碼器200中設(shè)置互補(bǔ)的熵 代碼化技術(shù),以對(duì)每個(gè)選定塊大小進(jìn)行代碼化/解碼,從而充分地利用用于對(duì)性能增益進(jìn)行 代碼化的空間相關(guān)性,本文進(jìn)一步對(duì)此進(jìn)行了描述。
[0051] 使在平均間接成本與預(yù)測(cè)質(zhì)量之間的折衷最佳化或者平衡的一個(gè)策略為針對(duì)給 定區(qū)域的策略,編碼器可以對(duì)每個(gè)允許的塊大小進(jìn)行測(cè)試并且選擇使率失真代價(jià)最小化的 至少一個(gè)塊大小。進(jìn)一步地,編碼器然后可以明確地將選定的塊大小編碼為比特流。超過(guò)每 個(gè)塊大小的這種大規(guī)模搜索可能導(dǎo)致高度復(fù)雜的視頻編解碼實(shí)施方式。此外,明確地對(duì)塊 大小信息進(jìn)行代碼化充分地利用了空間相關(guān)性,這可能導(dǎo)致壓縮效率低。
[0052] 然而,本公開(kāi)的各個(gè)方面使用遞歸塊分區(qū),這在維持相對(duì)簡(jiǎn)單和簡(jiǎn)潔的編解碼實(shí) 施方式的同時(shí)允許在使塊大小最佳化方面的更多靈活性。在一些實(shí)施方式中,遞歸塊分區(qū) 將實(shí)際塊大小的代碼化轉(zhuǎn)化為結(jié)合基于上下文的熵代碼化的分區(qū)類(lèi)型的代碼化(本文進(jìn)一 步描述),從而提供改進(jìn)的性能增益。根據(jù)允許的塊大小的靈活性可以通過(guò)維持簡(jiǎn)單和簡(jiǎn)潔 的編解碼結(jié)構(gòu)來(lái)提高壓縮效率。進(jìn)一步地,在一些實(shí)施方式中,分區(qū)類(lèi)型的基于上下文的熵 代碼化可以提供進(jìn)一步對(duì)性能增益進(jìn)行代碼化。本公開(kāi)的各個(gè)方面可以應(yīng)用于研究并且開(kāi) 發(fā)視頻編解碼和/或各種視頻壓縮技術(shù)(例如,編解碼設(shè)計(jì))。更進(jìn)一步地,本公開(kāi)的各個(gè)方 面可以應(yīng)用于和/或適用于與視頻流和/或靜態(tài)圖片代碼化有關(guān)的技術(shù)。
[0053]圖3是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的示例編碼器300的框圖。在一些實(shí)施方式 中,解碼器300可以與編碼器200的重構(gòu)通路232相似。解碼器300可以包括執(zhí)行各種功能以 提供來(lái)自編碼或者壓縮比特流310的輸出視頻流342的一個(gè)或者多個(gè)階段。解碼器300可以 包括熵解碼階段314、解量化階段318、反變換階段322、重構(gòu)階段326、環(huán)路濾波階段330、內(nèi) 部/其間預(yù)測(cè)階段334、和解塊濾波階段338。在其它實(shí)施方式中,解碼器300的結(jié)構(gòu)變化可以 用于對(duì)壓縮比特流310進(jìn)行解碼。
[0054] 當(dāng)向用于解碼的解碼器300提供壓縮比特流310時(shí),可以由熵解碼階段314(例如, 使用VLC、算術(shù)代碼化等)來(lái)對(duì)在壓縮比特流310內(nèi)的數(shù)據(jù)元素進(jìn)行解碼以產(chǎn)生一組量化變 換系數(shù)。解量化階段318可以配置為對(duì)量化變換系數(shù)進(jìn)行解量化,并且反變換階段322可以 配置為對(duì)解量化變換系數(shù)進(jìn)行反變換以提供導(dǎo)數(shù)殘差,該導(dǎo)數(shù)殘差可以與由編碼器200的 反變換階段238生成的導(dǎo)數(shù)殘差相同。在一些實(shí)施方式中,使用從壓縮比特流310解碼的頭 信息,解碼器300可以配置為使用內(nèi)部/其間預(yù)測(cè)階段334來(lái)生成與由內(nèi)部/其間預(yù)測(cè)階段 214在編碼器200中生成的預(yù)測(cè)塊相同的預(yù)測(cè)塊。在重構(gòu)階段326,可以將預(yù)測(cè)塊添加至導(dǎo)數(shù) 殘差以生成重構(gòu)塊??梢詫h(huán)路濾波階段330應(yīng)用于重構(gòu)塊以降低塊效應(yīng)。在一些實(shí)施方式 中,可以將各種其它濾波應(yīng)用于重構(gòu)塊。例如,可以將解塊濾波階段338應(yīng)用于重構(gòu)塊以降 低導(dǎo)致例如輸出視頻流342的輸出的塊失真??梢詫⑤敵鲆曨l流342稱(chēng)為解碼視頻流或者解 碼輸出視頻流。
[0055] 圖4是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)400的示例技術(shù)的框圖。 在圖4中,在一些實(shí)施方式中,可以將圖像410(例如,視頻幀)分為諸如區(qū)域網(wǎng)格的多個(gè)區(qū)域 414,其中,每個(gè)區(qū)域418至少可以比圖像本身?。ɡ?,每個(gè)區(qū)域的尺寸為64X64像素)。在 這種情況下,可以利用率失真環(huán)路來(lái)對(duì)每個(gè)區(qū)域418進(jìn)行測(cè)試以評(píng)估和發(fā)現(xiàn)最佳代碼化決 策(包括:將圖像410分為或者分區(qū)為更小塊大小的方式、每塊的預(yù)測(cè)模式、應(yīng)用于每個(gè)塊的 變換類(lèi)型等),并且然后以光柵順序?qū)⒃撁總€(gè)區(qū)域418代碼化為比特流。
[0056] 關(guān)于最佳代碼化方案,對(duì)于給定區(qū)域,編碼器可以配置為對(duì)一個(gè)、一些、或者全部 可能的分區(qū)(劃分)類(lèi)型進(jìn)行測(cè)試,其中,每個(gè)類(lèi)型導(dǎo)致一組子塊,該一組子塊可以是互相排 斥的并且一起可以覆蓋整個(gè)區(qū)域。編碼器然后可以對(duì)在每個(gè)子塊上的包括預(yù)測(cè)模式、參考 源、濾波類(lèi)型、變換類(lèi)型和大小等的各種可能的代碼化模式進(jìn)行測(cè)試,并且獲得使該子塊的 率失真代價(jià)最小化或者具有滿足閾值條件(例如,閾值)的率失真代價(jià)的一種可能的代碼化 模式。給定區(qū)域的每個(gè)分區(qū)類(lèi)型現(xiàn)在可以與率失真代價(jià)值相關(guān)聯(lián),該率失真代價(jià)值可以被 計(jì)算為每個(gè)子塊的最小率失真代價(jià)的總和。因此,編碼器可以選取或者選擇提供最小總體 代價(jià)的分區(qū)類(lèi)型。
[0057] 與超過(guò)所有可能的塊大小的傳統(tǒng)大規(guī)模搜索不同,本公開(kāi)的各個(gè)方面可以配置為 進(jìn)行用于率失真搜索以及編碼和解碼過(guò)程的遞歸塊分區(qū)方法,如本文所描述的。在各個(gè)實(shí) 施方式中,在率失真最優(yōu)化階段期間,可以通過(guò)多個(gè)分區(qū)類(lèi)型426來(lái)對(duì)每個(gè)區(qū)域418進(jìn)行測(cè) 試,所述多個(gè)分區(qū)類(lèi)型426諸如例如包括無(wú)分區(qū)(none)分區(qū)類(lèi)型430、水平(horz)分區(qū)類(lèi)型 432、垂直(vert)分區(qū)類(lèi)型434、和拆分分區(qū)類(lèi)型436的四個(gè)分區(qū)類(lèi)型中的至少一個(gè),該至少 一個(gè)類(lèi)型將每個(gè)區(qū)域438分為四個(gè)更小的區(qū)域(拆分)或者被稱(chēng)為子塊的子區(qū)域438。如圖4 所示,然后可以通過(guò)一種或者多種可能的預(yù)測(cè)模式、濾波類(lèi)型、變換尺寸等來(lái)獨(dú)立地對(duì)結(jié)果 子區(qū)域438進(jìn)行測(cè)試,以發(fā)現(xiàn)其(局部)最佳代碼化決策。這指的是圖像410的遞歸分區(qū)。
[0058] 在一些實(shí)施方式中,分區(qū)操作可以應(yīng)用于方形塊。例如,區(qū)域可以包括NXN的大 小,其中,N為偶數(shù)(例如,二的冪)。四個(gè)分區(qū)類(lèi)型可以導(dǎo)致以下子塊大?。?br>[0059] 無(wú)分區(qū)(NONE)-〉一個(gè) NX N子塊,
[0060] 拆分分區(qū)(SPLIT)-〉四個(gè)(N/2)X(N/2)子塊,
[0061 ] 垂直分區(qū)(VERT I CAL)->兩個(gè)(N/2) X N子塊,以及
[0062] 水平分區(qū)(HORIZONTAL)-〉兩個(gè)NX (N/2)子塊。
[0063] 在一些實(shí)施方式中,第一分區(qū)類(lèi)型可以包括具有尺寸相似的四個(gè)子塊的拆分分區(qū) 類(lèi)型436,第二分區(qū)類(lèi)型可以包括具有兩個(gè)尺寸相似的、水平布置的兩個(gè)子塊的水平分區(qū)類(lèi) 型432,第三分區(qū)類(lèi)型可以包括具有尺寸相似的、垂直布置的兩個(gè)子塊的垂直分區(qū)類(lèi)型434, 并且第四分區(qū)類(lèi)型可以包括具有單個(gè)塊的無(wú)分區(qū)類(lèi)型430。
[0064] 在一些實(shí)施方式中,可以認(rèn)為包括無(wú)分區(qū)430、水平分區(qū)432和垂直分區(qū)434的分區(qū) 類(lèi)型426是終端節(jié)點(diǎn),即,其中無(wú)進(jìn)一步分區(qū)可以應(yīng)用于子塊內(nèi)部。然后可以認(rèn)為拆分分區(qū) 類(lèi)型436的子區(qū)域438是起始點(diǎn),可以通過(guò)包括無(wú)分區(qū)430、水平分區(qū)432、垂直分區(qū)434和拆 分分區(qū)456的四個(gè)分區(qū)類(lèi)型446中的每一個(gè)來(lái)對(duì)該起始點(diǎn)進(jìn)行遞歸測(cè)試。在這種情況下,可 以將第一次劃分414的每個(gè)區(qū)域418分為在第二次劃分446中的多個(gè)子區(qū)域438,諸如四個(gè)區(qū) 域的網(wǎng)格。可以為拆分分區(qū)類(lèi)型的每次迭代重復(fù)該遞歸分區(qū)任意多次。在一些實(shí)施方式中, 該遞歸分區(qū)可以開(kāi)始于64X64像素塊,每個(gè)下一次遞歸分區(qū)接下來(lái)是一系列32X32像素 塊、16 X 16像素塊、8 X 8像素塊、和4 X 4像素塊。在一些實(shí)施方式中,從4 X 4像素塊開(kāi)始,遞 歸分區(qū)可以緊接下來(lái)至2X2像素塊。在其它實(shí)施方式中,遞歸分區(qū)可以從任何nXn像素塊 開(kāi)始并且結(jié)束于任何nXn像素塊。應(yīng)該理解,可以可選地迫使代碼化模式信息(諸如,例如, 參考幀索引、濾波類(lèi)型等)被分配為超過(guò)某個(gè)塊大小級(jí)別。
[0065] 一旦選定最佳代碼化模式,編碼器200就可以配置為將該選定的最佳代碼化模式 寫(xiě)入到比特流中。替代明確地對(duì)在給定區(qū)域內(nèi)的實(shí)際塊大小進(jìn)行代碼化之外,該遞歸分區(qū) 方法以遞歸方式對(duì)分區(qū)類(lèi)型進(jìn)行代碼化。例如,該遞歸分區(qū)方法可以從64X64塊開(kāi)始并且 寫(xiě)入該分區(qū)類(lèi)型。如果該類(lèi)型為垂直分區(qū)、水平分區(qū)、或者無(wú)分區(qū),則可能已經(jīng)對(duì)子塊大小 進(jìn)行了解析,因此無(wú)進(jìn)一步分區(qū)信息被發(fā)送。如果該類(lèi)型為拆分分區(qū)類(lèi)型,則編碼器200可 以寫(xiě)入另外四個(gè)分區(qū)類(lèi)型,每個(gè)分區(qū)類(lèi)型針對(duì)一個(gè)子塊。在一些實(shí)施方式中,編碼器200重 復(fù)發(fā)送分區(qū)類(lèi)型信息,直到達(dá)到垂直分區(qū)/水平分區(qū)/無(wú)分區(qū)的分區(qū)類(lèi)型,或者在一些情況 下,例如8X8以下塊大小。解碼器300可以配置為從64X64塊開(kāi)始,讀取分區(qū)類(lèi)型,并且相應(yīng) 地解析子塊大小。
[0066] 進(jìn)一步地,本公開(kāi)的各個(gè)方面配置為對(duì)分區(qū)信息進(jìn)行基于上下文的熵代碼化方 法。例如,用于分區(qū)類(lèi)型代碼化的概率模型可以以下列三個(gè)因素為條件:當(dāng)前塊大小(例如, 64乂64、32乂32、16乂16等)、其上方鄰居塊的分區(qū)類(lèi)型、其左邊鄰居塊的分區(qū)類(lèi)型,如參照 圖5所描述的。在一些實(shí)施方式中,這些條件概率模型可以配置為后向自適應(yīng),并且可以是 逐幀被更新。這種基于上下文的熵代碼化方法有效地利用了空間相關(guān)性,即,其中分區(qū)類(lèi)型 傾向于與連續(xù)區(qū)域保持一致,并且該基于上下文的熵代碼化方法可以實(shí)現(xiàn)某些性能增益。
[0067] 在一些實(shí)施方式中,可以將自然視頻信號(hào)視為(模型化為)平穩(wěn)隨機(jī)過(guò)程。塊可以 處理與一個(gè)或者多個(gè)附近塊的某些相似之處,包括像素值、運(yùn)動(dòng)信息等。例如,如果幀包括 在明亮的背景前面水平移動(dòng)的深色對(duì)象,則包括對(duì)象邊緣的塊(區(qū)域)可以傾向于被垂直分 區(qū),使得可以單獨(dú)地對(duì)分別包括對(duì)象和背景的子塊進(jìn)行代碼化,這在使每個(gè)子塊的代碼化 模式最優(yōu)化方面允許更多的靈活性。
[0068] 在圖4的實(shí)施方式中,本公開(kāi)的系統(tǒng)和方法可以配置為:將圖像410(例如,視頻幀) 分為多個(gè)區(qū)域414、將多個(gè)分區(qū)類(lèi)型426應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域418、并且基于應(yīng)用于 每個(gè)區(qū)域418的多個(gè)分區(qū)類(lèi)型426來(lái)為每個(gè)區(qū)域418確定率失真代價(jià)。進(jìn)一步地,本公開(kāi)的系 統(tǒng)和方法可以配置為:基于應(yīng)用于每個(gè)區(qū)域418的多個(gè)分區(qū)類(lèi)型426來(lái)為每個(gè)區(qū)域418確定 代碼化方案、并且基于為每個(gè)區(qū)域418確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)每個(gè)區(qū) 域418進(jìn)行編碼。在一些實(shí)施方式中,該分區(qū)方法可以以重復(fù)方式遞歸地應(yīng)用于諸如拆分分 區(qū)類(lèi)型436的分區(qū)類(lèi)型426中的至少一個(gè)的一個(gè)或者多個(gè)子區(qū)域438以實(shí)現(xiàn)最佳率失真代 價(jià)。率失真環(huán)路可以用于在視頻壓縮中提高視頻質(zhì)量,并且可以涉及將失真量(視頻質(zhì)量損 失)與用于對(duì)視頻進(jìn)行編碼的數(shù)據(jù)量(數(shù)據(jù)率)進(jìn)行比較并且確定該失真量。在一些示例中, 率失真環(huán)路可以用于改善編碼,其中,決策可以同時(shí)影響編碼視頻的文件大小和質(zhì)量。
[0069] 圖5是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于分區(qū)類(lèi)型的基于上下文的熵編碼的 示例技術(shù)的框圖。在一些實(shí)施方式中,如本文所描述,分區(qū)類(lèi)型的采樣空間可以包括至少4 個(gè)條目,包括無(wú)分區(qū)(NONE)、水平分區(qū)(H0RZ)、垂直分區(qū)(VERT)、和拆分(SPLIT)為4個(gè)子塊。 大小范圍從例如8 X 8到64 X 64的每個(gè)方塊可以被分配至少一個(gè)分區(qū)類(lèi)型??梢酝ㄟ^(guò)使用采 用在采樣空間上的概率分布的熵代碼化來(lái)對(duì)該符號(hào)進(jìn)行代碼化以實(shí)現(xiàn)壓縮。
[0070] 例如,如圖5所示,塊A和塊B可以表示先前代碼化的塊,并且塊C可以表示待編碼的 塊。參考自然視頻/圖像信號(hào)的空間一致性,如果A被垂直地分區(qū)(即,VERT或者SPLIT),則C 也更有可能被垂直地分區(qū)。同樣地,如果B被水平地分區(qū)(即,H0RZ或者SPLIT),則C也非常可 能被水平地分區(qū)。因此,本公開(kāi)的各個(gè)方面提供了一種由熵代碼器使用的依賴(lài)于在圖5中的 其上方(即,A)代碼化鄰居和左邊代碼化鄰居(即,B)的概率分布。進(jìn)一步地,本公開(kāi)的各個(gè) 方面識(shí)別有關(guān)塊C的塊大小的概率模型(分布)的潛在依賴(lài),例如,假定上方/左邊塊分區(qū)類(lèi) 型相同,64 X 64塊可能比8 X 8塊更有可能選擇SPLIT。
[0071] 因此,該工作采用概率模型陣列來(lái)捕捉上述依賴(lài),如圖5所圖示。進(jìn)一步地,該工作 根據(jù)鄰居上方/左邊(A和B)分區(qū)類(lèi)型和當(dāng)前塊大小來(lái)計(jì)算索引數(shù)、從陣列中檢索對(duì)應(yīng)概率 模型、并且使用所檢索的模型用于C分區(qū)類(lèi)型的熵代碼化。
[0072] 以下為用于分區(qū)類(lèi)型的基于上下文的熵編碼的采樣代碼:
[0073]檢索上下文信息的源代碼: static INLINE intpartition_plane_context(MACROBLOCKD *xd, r3LOCK_SIZE_TYPE sb_type) { intbsl = mi_vvidth_log2(sb_type}, bs = 1 ?bsl;
[0074] int above = 0, left = 0, i; intboffset = ini_width_log2(BLOCK_SIZE_SB64X64) - bsl; assert(mi_width_log2(sb_type) == mi_height_log2(sb_t.ype)); assert(bsl>= 0); assert(hotTset>= 0); for (i = 0; i<bs; i++) above j= (xd->above_seg_context[i] & (1 ?bofTsel)); for (i = 0; i<bs; i++)
[0075] left |= (xd->left_seg_conlext[i] & (1 ?boffset)); above = (above >0); left = (left > 0); return (left 2 + above) + bsl * PARTITION_PLOFFSET; }
[0076] 在一些實(shí)施方式中,參考遞歸塊分區(qū)方法和其在視頻壓縮中的熵代碼化,如參照 圖4至圖5所描述的,可允許的塊大小可以包括各個(gè)n Xn像素塊,諸如8X8、16X16、32X32、 64 X 64,并且如本文所描述,其中,可以將每個(gè)塊大小代碼化為4個(gè)分區(qū)類(lèi)型{NONE,H0RZ, VERT,SPLIT}〇
[0077] 在這一點(diǎn)上,在一些實(shí)施方式中,可能的結(jié)果可以是方形塊或者矩形塊??梢蕴^(guò) 任意一個(gè)或者多個(gè)分區(qū)類(lèi)型。例如,對(duì)于32X32塊,最佳過(guò)程或者技術(shù)可以在編碼為一個(gè)32 X32塊、或者兩個(gè)32X16子塊兩者中作出選擇,并且因此跳過(guò)其它分區(qū)類(lèi)型的測(cè)試以使最 佳化過(guò)程加速。
[0078] 在一些實(shí)施方式中,參照?qǐng)D5,可以經(jīng)由以下規(guī)則將分區(qū)類(lèi)型A和B的組合轉(zhuǎn)化為范 圍從〇到3的整數(shù):
[0079] 如果A的分區(qū)類(lèi)型為VERT或者SPLIT,則a = 2;否則,a = 0;
[0080] 如果B的分區(qū)類(lèi)型為H0RZ或者SPLIT,則b = l;否則,b = 0;
[0081 ] 合并這些兩個(gè)因素產(chǎn)生c = (a+b)。
[0082]根據(jù)塊大小進(jìn)一步使該數(shù)c偏移:
[0083] 如果塊大小為8X8,則偏移量=0;
[0084] 如果塊大小為16 X 16,則偏移量=4;
[0085] 如果塊大小為32X32,則偏移量=8;
[0086] 如果塊大小為64 X 64,則偏移量=12;
[0087] 將可以用于從陣列中檢索概率模型的總體索引計(jì)算為(c+偏移量)。
[0088] 如本文所描述,基于上下文的熵代碼化可以應(yīng)用于分區(qū)信息,其中,用于分區(qū)類(lèi)型 代碼化的概率模型以因素中的一個(gè)或者多個(gè)為條件,所述因素包括當(dāng)前塊大小(例如,64X 64、32\32、16\16、8父8等)、其上方塊的分區(qū)類(lèi)型、和其左邊塊的分區(qū)類(lèi)型??梢哉J(rèn)為這些 條件概率模型是后向自適應(yīng)的,并且可以以每幀為基礎(chǔ)來(lái)更新這些條件概率模型。該基于 上下文的熵代碼化技術(shù)可以用于有效地利用空間相關(guān)性,其中,在一些示例中,分區(qū)類(lèi)型傾 向于與連續(xù)區(qū)域保持一致,并且可以用于實(shí)現(xiàn)某些性能增益。
[0089] 例如,在一些實(shí)施方式中,參照?qǐng)D5,可以認(rèn)為概率分布依賴(lài)于其上方(a)代碼化鄰 居(例如,A)和其左邊(1)代碼化鄰居(例如,B)的分區(qū)類(lèi)型。進(jìn)一步地,在一些示例中,假定 上方/左邊塊分區(qū)類(lèi)型相同,例如64 X 64塊的塊C的塊大小的概率模型(分布)的潛在依賴(lài)可 能比8X8塊更有可能選擇SPLIT。因此,概率模型陣列可以用于捕捉這些潛在依賴(lài),如圖5所 不。
[0090] 在一些實(shí)施方式中,可以生成一個(gè)或者多個(gè)概率表以基于其上方鄰居塊和左邊鄰 居塊的分區(qū)類(lèi)型來(lái)為當(dāng)前塊識(shí)別概率分布。這樣,本公開(kāi)的各個(gè)方面基于鄰居塊(例如,上 方鄰居塊和左邊鄰居塊)的分區(qū)類(lèi)型來(lái)為當(dāng)前塊的基于上下文的熵代碼化提供構(gòu)建表(例 如,概率表(也可以被稱(chēng)為概率分布表))。
[0091] 在一些實(shí)施方式中,默認(rèn)概率表可以用于在視頻序列(其可以被稱(chēng)為視頻幀序列) 中的第一幀,并且概率表更新可以應(yīng)用于基于第一幀的分區(qū)類(lèi)型的概率分布的下一幀(其 可以被稱(chēng)為后續(xù)幀)。在一些示例中,圖1A和/或圖1B的編碼器120可以用于生成概率分布 表。
[0092] 圖1B是圖示出了與圖1A所示的計(jì)算裝置104相關(guān)聯(lián)的示例組件的示意圖。如圖1B 所示,存儲(chǔ)器112可以配置為存儲(chǔ)概率表160,并且編碼器120可以配置為基于存儲(chǔ)在概率表 160中的概率值來(lái)以最佳方式對(duì)在視頻幀中的每個(gè)塊進(jìn)行編碼。
[0093] 例如,參照?qǐng)D1B和圖4的示例,編碼器120可以配置為:將圖像(例如,視頻幀)分為 多個(gè)區(qū)域,將多個(gè)分區(qū)類(lèi)型(例如,垂直、水平、無(wú)、拆分)應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域,并 且基于應(yīng)用于每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域確定最佳率失真代價(jià)。進(jìn)一步地,編 碼器120可以配置為:基于應(yīng)用于每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)區(qū)域確定最佳代碼化 方案,并且基于為每個(gè)區(qū)域確定的最佳率失真代價(jià)和最佳代碼化方案來(lái)單獨(dú)地對(duì)每個(gè)區(qū)域 進(jìn)行編碼。
[0094] 在一些實(shí)施方式中,可以以重復(fù)方式將該分區(qū)技術(shù)遞歸地應(yīng)用于每個(gè)分區(qū)類(lèi)型的 每個(gè)區(qū)域和子區(qū)域以實(shí)現(xiàn)最佳率失真代價(jià)。率失真環(huán)路可以用于在視頻壓縮中提高視頻質(zhì) 量,并且可以涉及將失真量(視頻質(zhì)量損失)與用于對(duì)視頻進(jìn)行編碼的數(shù)據(jù)量(數(shù)據(jù)率)進(jìn)行 比較并且確定該失真量。在一些示例中,率失真環(huán)路可以用于改善編碼,其中,決策可以同 時(shí)影響編碼視頻的文件大小和質(zhì)量。
[0095] 圖6A是示出了根據(jù)本公開(kāi)的各個(gè)方面的用于在編碼器120處產(chǎn)生概率表的方法 600的流程圖。編碼器120可以配置為將一個(gè)或者多個(gè)概率表160存儲(chǔ)在存儲(chǔ)器112中,包括 將默認(rèn)概率表存儲(chǔ)在計(jì)算裝置104的存儲(chǔ)器112中。
[0096] 在圖6A的示例中,圖示出了操作602至608作為以相繼順序發(fā)生的離散操作。然而, 應(yīng)該了解,在其它實(shí)施方式中,操作602至操作608中的兩個(gè)或者多個(gè)可以以部分或者完全 重疊或者并行的方式、或者以嵌套的或者循環(huán)的方式發(fā)生,或者可以以與所示的順序不同 的順序發(fā)生。進(jìn)一步地,也可以在一些示例實(shí)施方式中包括在圖6A的示例中可能未被具體 圖示出的附加操作,而在其它實(shí)施方式中可以省略操作602至操作608中的一個(gè)或者多個(gè)。 在一些實(shí)施方式中,方法600可以包括用于在圖1A的系統(tǒng)100中的遞歸塊分區(qū)的計(jì)算機(jī)實(shí)施 的方法的過(guò)程流程。進(jìn)一步地,如本文所描述,操作602至608可以提供簡(jiǎn)化的操作過(guò)程流 程,該簡(jiǎn)化的操作過(guò)程流程由計(jì)算裝置104制定以提供參照?qǐng)D1A所描述的特征和功能。 [0097]在圖6A的示例中,在602處,方法600可以包括識(shí)別在視頻幀序列中的第一幀。例 如,編碼器120可以配置為檢測(cè)新的視頻序列、重新設(shè)置/重新開(kāi)始概率計(jì)算、并且更新/修 改概率表,包括例如,將概率表重新設(shè)置為默認(rèn)在視頻序列的開(kāi)始(第一幀)。在一些實(shí)施方 式中,編碼器120可以配置為:當(dāng)檢測(cè)到視頻序列的第一幀時(shí),改變概率分布數(shù)和/或值。 [0098]在604處,方法600可以包括:基于存儲(chǔ)在存儲(chǔ)器中的概率表來(lái)對(duì)在視頻幀序列中 的第一幀進(jìn)行編碼,其中,概率表包括與分區(qū)類(lèi)型相關(guān)聯(lián)的概率值。例如,編碼器120可以配 置為基于存儲(chǔ)在存儲(chǔ)器中的概率表中的至少一個(gè)概率表來(lái)對(duì)在視頻幀序列中的第一幀進(jìn) 行編碼。在一些實(shí)施方式中,每個(gè)概率表可以包括與一個(gè)或者多個(gè)分區(qū)類(lèi)型相關(guān)聯(lián)的一個(gè) 或者多個(gè)概率值。在一些實(shí)施方式中,可以遞歸地對(duì)每個(gè)幀進(jìn)行編碼以確定最佳代碼化決 策,包括以將每個(gè)幀分區(qū)為較小塊大小的方式、每塊的預(yù)測(cè)模式、應(yīng)用于每個(gè)塊的變換類(lèi)型 等。
[0099]在606處,方法600可以包括:基于在視頻幀序列中的第一幀的編碼來(lái)將與分區(qū)類(lèi) 型相關(guān)聯(lián)的概率值修改為更新的概率值。例如,編碼器120可以配置為基于在視頻幀序列中 的第一幀的編碼來(lái)將與分區(qū)類(lèi)型相關(guān)聯(lián)的概率值修改/更新為更新的概率值。在一些實(shí)施 方式中,可以對(duì)每個(gè)概率表的概率值進(jìn)行修改/更新,以使針對(duì)在視頻序列中的每個(gè)幀的代 碼化決策最佳化。
[0100] 在608處,方法600可以包括:基于在概率表中所包括的更新的概率值來(lái)對(duì)在視頻 幀序列中的第二幀進(jìn)行編碼。例如,編碼器120可以配置為基于在概率表中包括的修改的/ 更新的概率值來(lái)對(duì)在視頻幀序列中的第二幀進(jìn)行編碼。如本文所描述,存儲(chǔ)器112可以包括 概率表160,其中,概率表160包括一個(gè)或者多個(gè)概率值。
[0101] 根據(jù)本公開(kāi)的各個(gè)方面,編碼器120可以配置為利用基于上下文的熵代碼化方法 來(lái)分析鄰居塊,并且選擇使代碼化決策最佳化分區(qū)類(lèi)型。例如,用于分區(qū)類(lèi)型代碼化的概率 模型可以以下列因素中的一個(gè)或者多個(gè)為條件:當(dāng)前塊大?。ɡ纾?4 X64、32X 32、16 X 16、8乂8、4乂4、2乂2等)、上方鄰居塊的分區(qū)類(lèi)型、以及左邊鄰居塊的分區(qū)類(lèi)型。每個(gè)條件概 率模型可以是后向自適應(yīng)的,并且可以以每幀為基礎(chǔ)而被更新。該基于上下文的熵代碼化 技術(shù)可以用于有效地利用空間相關(guān)性,其中,分區(qū)類(lèi)型傾向于與連續(xù)區(qū)域保持一致,并且可 以用于實(shí)現(xiàn)各種性能增益。
[0102] 參照?qǐng)D1A的示例,解碼器124可以包括執(zhí)行各種功能以提供從編碼比特流或者壓 縮比特流解碼的輸出視頻流的一個(gè)或者多個(gè)階段。如本文所描述,根據(jù)本公開(kāi)的各個(gè)方面, 可以向用于解碼的解碼器提供編碼比特流以提供解碼輸出視頻流。在一些實(shí)施方式中,解 碼器124是編碼器120的補(bǔ)充,因此,解碼器124所使用的解碼過(guò)程是編碼器120所使用的編 碼過(guò)程的補(bǔ)充,其中,解碼器124配置為執(zhí)行與編碼器120所執(zhí)行的編碼過(guò)程相反的解碼過(guò) 程。
[01 03]圖7是示出了根據(jù)實(shí)施方式的概率表700的示例的示意圖。如圖7所示,概率表700 包括兩個(gè)不同的塊部分:塊部分B和塊部分A。每個(gè)塊部分與正在被處理的當(dāng)前塊大小相關(guān) 聯(lián)。例如,概率表700的塊部分A用于做出與具有塊大小A至塊大小B (例如,64 X 64至32 X 32) 的塊的拆分有關(guān)的決策。塊大小A可以被稱(chēng)為正在被處理的當(dāng)前塊大小,并且塊大小B可以 被稱(chēng)為目標(biāo)塊大小。概率表700的塊部分B用于做出與具有塊大小B至例如塊大小C(例如,32 X 32至16X16)的塊的拆分有關(guān)的決策。盡管未示出,也可以包括附加塊部分和/或大小(包 括非方形大?。?。
[0104]在該示例中,塊部分A包括四行三列的概率值。四行由字符P至S描繪,并且列由數(shù) 字1至3描繪。因此,在第二行和第二列上包括概率值Q2。
[0105] 行P至S中的每一行與不同類(lèi)型的鄰居分析相關(guān)聯(lián)。作為具體示例,行P可以包括用 于分析均未拆分的上方鄰居和左邊鄰居(對(duì)于正在被分析的即時(shí)塊)的概率值,并且行Q可 以包括用于分析被拆分的上方鄰居和未被拆分的左邊鄰居的概率值。因此,編碼器(例如, 圖1A所示的編碼器120)可以配置為在當(dāng)前塊的分析期間選擇概率表700的一行概率值,該 當(dāng)前塊與塊鄰居(例如,相鄰)的塊的拆分(或者非拆分)相一致。
[0106] 概率值可以表示可以由熵代碼器使用的值。在編碼期間,熵代碼器可以配置為基 于在概率表700中所包括的概率值來(lái)分配比特率??梢杂伸卮a器將更少的比特?cái)?shù)分配給 概率值所表示的相對(duì)高的結(jié)果(例如,相對(duì)高的可能結(jié)果、更有可能的結(jié)果),并且可以由熵 代碼器將更高的比特?cái)?shù)分配給概率值所表示的不太可能的結(jié)果。
[0107] 在概率表700中的每列與不同類(lèi)型的分區(qū)相關(guān)聯(lián)。例如,概率值P1 (在行P中)可以 表示無(wú)分區(qū)的概率,概率值P2可以表示垂直拆分的概率,并且概率值P3可以表示水平拆分 的概率。如果沒(méi)有滿足針對(duì)與概率值P1至P3相關(guān)聯(lián)的拆分的條件,則分區(qū)分析的結(jié)果為不 同的拆分(例如,完整的四通拆分)。在一些實(shí)施方式中,概率表700可以包括具有100 %概率 并且如果與概率值的前三列(例如,P1至P3)相關(guān)聯(lián)的條件沒(méi)有得到滿足則與最終結(jié)果相關(guān) 聯(lián)的第四列。
[0108] 在一些實(shí)施方式中,概率值可以具有例如從0到255的范圍。較高的概率值可以是 與該概率值相關(guān)聯(lián)的結(jié)果的概率。例如,概率值P2可以表示垂直拆分的概率,并且按照從0 到255的比例,概率值P2可以為245。因此,基于概率值P2的垂直拆分的概率非常高。
[0109]在一些實(shí)施方式中,可以在對(duì)幀序列中的幀進(jìn)行處理期間對(duì)在概率表700中所包 括的概率值進(jìn)行更新。例如,概率表700可以是默認(rèn)概率表,該默認(rèn)概率表可以用于在視頻 序列或者幀序列中的初始幀(例如,第一幀)。根據(jù)在初始幀中的塊拆分結(jié)果,可以對(duì)在概率 表700中包括的概率值進(jìn)行修改以對(duì)后續(xù)幀(例如,第二)進(jìn)行編碼。作為具體示例,概率值 P2可以表示與在塊大小A至塊大小B的塊內(nèi)的垂直拆分相關(guān)聯(lián)的概率。如果在從塊大小A到 塊大小B的第一幀內(nèi)的垂直拆分分布較高,則可以增加概率值P2以處理第二幀的塊。另一方 面,如果在從塊大小A到塊大小B的第一幀內(nèi)的垂直拆分分布較低,貝lj可以減小概率值P2以 處理第二幀的塊。
[0110] 在一些實(shí)施方式中,可以存儲(chǔ)對(duì)在概率表700中包括的概率值中的一個(gè)或者多個(gè) 的變化作為與在概率表700中包括的默認(rèn)概率值的差異(殘差)。可以存儲(chǔ)該差異,并且該差 異可以與正在被處理的塊或者幀相關(guān)聯(lián)。因此,在解碼期間,解碼器(例如,圖1A所示的解碼 器124)可以結(jié)合默認(rèn)概率值使用該差異。
[0111] 可以利用對(duì)每個(gè)幀(或者塊組)的處理來(lái)執(zhí)行概率值的修改。在一些實(shí)施方式中, 默認(rèn)概率值可以初始地用于在視頻幀序列中的第一幀。例如,默認(rèn)概率值可以用于I幀,并 且可以為在I幀之后被處理的每個(gè)后續(xù)P幀或者B幀修改(根據(jù)默認(rèn)概率值)概率值。當(dāng)達(dá)到 新的I幀(與視頻幀(例如P幀、B幀)序列相關(guān)聯(lián))時(shí),可以重新建立默認(rèn)概率值,并且該默認(rèn) 概率值可以再次用于與新的I幀相關(guān)聯(lián)的幀。
[0112] 以下為具體示例概率表(其可以是默認(rèn)概率表),可以生成該具體示例概率表以基 于當(dāng)前塊的上方鄰居塊和左邊鄰居塊的分區(qū)類(lèi)型來(lái)為當(dāng)前塊識(shí)別概率分布。要注意,正在 被處理的塊大小和目標(biāo)塊大?。ɡ?,//8 X 8->4 X 4)是上文提到的表的塊部分(其各自包 括4行和3列)。在該示例中,概率值的范圍在0和255之間。在一些實(shí)施方式中,范圍能夠是不 同的。
[0113] //8X8-MX4
[0114] {199,122,141},//上方/左邊均未拆分
[0115] {147,63,159},//上方被拆分,左邊未拆分
[0116] {148,133,118 },//左邊被拆分,上方未被拆分
[0117] {121,104,114},//上方/左邊均被拆分
[0118] //16X16->8X8
[0119] {174,73,87},//上方/左邊均未拆分
[0120] {92,41,83},//上方被拆分,左邊未被拆分
[0121] {82,99,50},//左邊被拆分,上方未被拆分
[0122] {53,39,39},//上方/左邊均被拆分
[0123] //32X32->16X16
[0124] {177,58,59},//上方/左邊均未拆分
[0125] {68,26,63},//上方被拆分,左邊未被拆分
[0126] {52,79,25},//左邊被拆分,上方未被拆分
[0127] {17,14,12},//上方/左邊均被拆分
[0128] //64X64->32X32
[0129] {222,34,30},//上方/左邊均未拆分
[0130] {72,16,44},//上方被拆分,左邊未被拆分
[0131] {58,32,12},//左邊被拆分,上方未被拆分
[0132] {10,7,6},//上方/左邊均被拆分
[0133] 在該示例中,概率可以分布在0至255的值之間,其中,更高數(shù)可以指的是對(duì)基于當(dāng) 前塊的當(dāng)前塊大小(例如,64\64、32乂32、16乂16等)、其上方鄰居塊的分區(qū)類(lèi)型、和其左邊 鄰居塊的分區(qū)類(lèi)型的當(dāng)前塊的可能分區(qū)類(lèi)型的更高概率。在各個(gè)示例中,可以將更少的比 特?cái)?shù)分配給可能的候選者,并且可以將更多的比特?cái)?shù)分配給不太可能的候選者。進(jìn)一步地, 在一些示例中,可以將生成的表應(yīng)用于整個(gè)幀。
[0134] 根據(jù)本公開(kāi)的各個(gè)方面,遞歸塊分區(qū)連同基于上下文的熵代碼化在維持有效的視 頻編解碼實(shí)施方式的同時(shí)允許在使塊大小最佳化時(shí)的靈活性提高。在各個(gè)示例中,該遞歸 塊分區(qū)技術(shù)可以用于將實(shí)際塊大小的代碼化轉(zhuǎn)化為塊分區(qū)類(lèi)型的代碼化,并且結(jié)合基于上 下文的熵代碼化,該技術(shù)提供了改進(jìn)的代碼化性能增益。
[0135] 圖6B至圖6C是根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的示例方法的過(guò)程流程。 具體地,圖6B是示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的示例方法620的過(guò)程流 程。
[0136] 在圖6B的示例中,示出了操作622至628作為以相繼順序發(fā)生的離散操作。然而,應(yīng) 該了解,在其它實(shí)施方式中,操作622至操作628中的兩個(gè)或者多個(gè)可以以部分或者完全重 疊或者并行的方式、或者以嵌套的或者循環(huán)的方式發(fā)生,或者可以以與所示的順序不同的 順序發(fā)生。進(jìn)一步地,也可以在一些示例實(shí)施方式中包括在圖6B的示例中可能未被具體示 出的附加操作,而在其它實(shí)施方式中可以省略操作622至操作628中的一個(gè)或者多個(gè)。在一 些實(shí)施方式中,方法620可以包括用于在圖1的系統(tǒng)100中的遞歸塊分區(qū)的計(jì)算機(jī)實(shí)施的方 法的過(guò)程流程。進(jìn)一步地,如本文所描述,操作622至628可以提供一種簡(jiǎn)化的操作過(guò)程流 程,該簡(jiǎn)化的操作過(guò)程流程由計(jì)算裝置104制定以提供參照?qǐng)D1A所描述的特征和功能。
[0137] 在圖6B的示例中,在622處,方法620可以包括將圖像分為多個(gè)區(qū)域。在624處,方法 620可以包括將多個(gè)分區(qū)類(lèi)型應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域。在626處,方法620可以包括: 基于應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為多個(gè)區(qū)域中的每個(gè)區(qū)域確定率失 真(例如,率失真代價(jià))。
[0138] 在628處,方法620可以包括:基于應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型 來(lái)為多個(gè)區(qū)域中的每個(gè)區(qū)域確定代碼化方案。在630處,方法620可以包括:基于為多個(gè)區(qū)域 中的每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編 碼。
[0139] 在一些實(shí)施方式中,第一分區(qū)類(lèi)型可以包括具有尺寸相似的四個(gè)子塊的拆分分區(qū) 類(lèi)型,第二分區(qū)類(lèi)型可以包括具有兩個(gè)尺寸相似的、水平布置的兩個(gè)子塊的水平分區(qū)類(lèi)型, 第三分區(qū)類(lèi)型可以包括具有尺寸相似的、垂直布置的兩個(gè)子塊的垂直分區(qū)類(lèi)型,并且第四 分區(qū)類(lèi)型可以包括具有單個(gè)塊的無(wú)分區(qū)類(lèi)型。
[0140] 圖6C是示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的另一示例方法640的過(guò) 程流程。
[0141] 在圖6C的示例中,圖示出了操作642至648作為以相繼順序發(fā)生的離散操作。然而, 應(yīng)該了解,在其它實(shí)施方式中,操作642至操作648中的兩個(gè)或者多個(gè)可以以部分或者完全 重疊或者并行的方式、或者以嵌套的或者循環(huán)的方式發(fā)生,或者可以以與所示的順序不同 的順序發(fā)生。進(jìn)一步地,也可以在一些示例實(shí)施方式中包括在圖6C的示例中可能未被具體 示出的附加操作,而在其它實(shí)施方式中可以省略操作642至操作648中的一個(gè)或者多個(gè)。在 一些實(shí)施方式中,方法640可以包括用于在圖1的系統(tǒng)100中的遞歸塊分區(qū)的計(jì)算機(jī)實(shí)施的 方法的過(guò)程流程。進(jìn)一步地,如本文所描述,操作642至648可以提供簡(jiǎn)化的操作過(guò)程流程, 該簡(jiǎn)化的操作過(guò)程流程由計(jì)算裝置104制定以提供參照?qǐng)D1A所描述的特征和功能。更進(jìn)一 步地,操作642至648可以是圖6B的操作622至630的延續(xù),以提供簡(jiǎn)化的操作過(guò)程流程,該簡(jiǎn) 化的操作過(guò)程流程由計(jì)算裝置104制定以提供參照?qǐng)D1A所描述的特征和功能。
[0142] 在圖6B的示例中,在642處,方法640可以包括:對(duì)于應(yīng)用于多個(gè)區(qū)域中的每個(gè)區(qū)域 的多個(gè)分區(qū)類(lèi)型的第一分區(qū)類(lèi)型,將多個(gè)區(qū)域中的每個(gè)區(qū)域分為多個(gè)子區(qū)域。在644處,方 法640可以包括將多個(gè)分區(qū)類(lèi)型重新應(yīng)用于多個(gè)子區(qū)域中的每個(gè)子區(qū)域。
[0143] 在646處,方法640可以包括:基于應(yīng)用于多個(gè)子區(qū)域中的每個(gè)子區(qū)域的多個(gè)分區(qū) 類(lèi)型來(lái)為多個(gè)子區(qū)域中的每個(gè)子區(qū)域確定率失真代價(jià)。在648處,方法640可以包括:基于應(yīng) 用于多個(gè)子區(qū)域中的每個(gè)子區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為多個(gè)子區(qū)域中的每個(gè)子區(qū)域確定代 碼化方案。
[0144] 在一些實(shí)施方式中,第一分區(qū)類(lèi)型可以包括具有尺寸相似的四個(gè)子塊的拆分分區(qū) 類(lèi)型,第二分區(qū)類(lèi)型可以包括具有尺寸相似的、水平布置的兩個(gè)子塊的水平分區(qū)類(lèi)型,第三 分區(qū)類(lèi)型可以包括具有尺寸相似的、垂直布置的兩個(gè)子塊的垂直分區(qū)類(lèi)型,并且第四分區(qū) 類(lèi)型可以包括具有單個(gè)塊的無(wú)分區(qū)類(lèi)型。
[0145] 在一些實(shí)施方式中,基于為多個(gè)區(qū)域中的每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方 案來(lái)單獨(dú)地對(duì)多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼可以包括:基于為多個(gè)子區(qū)域中的每個(gè)子區(qū) 域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)多個(gè)子區(qū)域中的每個(gè)子區(qū)域進(jìn)行編碼。
[0146] 在一些實(shí)施方式中,為多個(gè)區(qū)域中的每個(gè)區(qū)域確定率失真代價(jià)可以包括:基于應(yīng) 用于多個(gè)區(qū)域中的每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為多個(gè)區(qū)域中的每個(gè)區(qū)域評(píng)估多個(gè)率失真 代價(jià),以及為多個(gè)區(qū)域中的每個(gè)區(qū)域確定最佳率失真代價(jià),該最佳率失真代價(jià)選自為多個(gè) 區(qū)域中的每個(gè)區(qū)域評(píng)估的多個(gè)率失真代價(jià)。
[0147] 在一些實(shí)施方式中,為多個(gè)區(qū)域中的每個(gè)區(qū)域確定編碼方案可以包括:基于應(yīng)用 于多個(gè)區(qū)域中的每個(gè)區(qū)域的多個(gè)分區(qū)類(lèi)型來(lái)為多個(gè)區(qū)域中的每個(gè)區(qū)域評(píng)估多個(gè)代碼化方 案,以及為多個(gè)區(qū)域中的每個(gè)區(qū)域確定最佳代碼化方案,該最佳率編碼方案選自為多個(gè)區(qū) 域中的每個(gè)區(qū)域評(píng)估的多個(gè)代碼化方案。
[0148] 圖8是圖示出了根據(jù)本公開(kāi)的各個(gè)方面的用于遞歸塊分區(qū)的另一示例方法800的 過(guò)程流程。
[0149] 在圖8的示例中,示出了操作802至808作為以相繼順序發(fā)生的離散操作。然而,應(yīng) 該了解,在其它實(shí)施方式中,操作802至操作808中的兩個(gè)或者多個(gè)可以以部分或者完全重 疊或者并行的方式、或者以嵌套的或者循環(huán)的方式發(fā)生,或者可以以與所示的順序不同的 順序發(fā)生。進(jìn)一步地,也可以在一些示例實(shí)施方式中包括在圖8的示例中可能未被具體示出 的附加操作,而在其它實(shí)施方式中,可以省略操作802至操作808中的一個(gè)或者多個(gè)。進(jìn)一步 地,在一些實(shí)施方式中,方法800可以包括用于在圖1的系統(tǒng)100中的遞歸塊分區(qū)的計(jì)算機(jī)實(shí) 施的方法的過(guò)程流程。進(jìn)一步地,如本文所描述,操作802至808可以提供簡(jiǎn)化的操作過(guò)程流 程,該簡(jiǎn)化的操作過(guò)程流程由計(jì)算裝置104制定以提供參照?qǐng)D1A所描述的特征和功能。
[0150] 在圖8的示例中,在802處,方法800可以包括將視頻幀分為多個(gè)像素塊。在804處, 方法800可以包括將多個(gè)分區(qū)類(lèi)型應(yīng)用于多個(gè)像素塊中的每個(gè)像素塊。
[0151] 在806處,方法800可以包括:對(duì)于應(yīng)用于多個(gè)像素塊中的每個(gè)像素塊的多個(gè)分區(qū) 類(lèi)型的第一分區(qū)類(lèi)型,將第一分區(qū)類(lèi)型的每個(gè)像素塊分為多個(gè)像素子塊,并且將多個(gè)分區(qū) 類(lèi)型重新應(yīng)用于多個(gè)像素子塊中的每個(gè)像素子塊。在808處,方法800可以包括:基于分別應(yīng) 用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè)像素子塊的多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)像素塊和每個(gè) 像素子塊確定率失真代價(jià)。
[0152] 在810處,方法800可以包括:基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè) 像素子塊的多個(gè)分區(qū)類(lèi)型來(lái)為每個(gè)像素塊和每個(gè)像素子塊確定代碼化方案。在812處,方法 800可以包括:基于為每個(gè)像素塊和每個(gè)像素子塊確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú) 地對(duì)每個(gè)像素塊和每個(gè)像素子塊進(jìn)行編碼。
[0153] 可以用數(shù)字電子電路系統(tǒng),或者用計(jì)算機(jī)硬件、固件、軟件,或者用它們的組合來(lái) 實(shí)施本文所描述的各種技術(shù)的實(shí)施方式。實(shí)施方式可以實(shí)施為計(jì)算機(jī)程序產(chǎn)品,即,有形地 體現(xiàn)在信息載體中的計(jì)算機(jī)程序,例如在機(jī)器可讀存儲(chǔ)裝置中或者由數(shù)據(jù)處理設(shè)備(例如, 可編程處理器、計(jì)算機(jī)、或者多個(gè)計(jì)算機(jī))執(zhí)行或者控制該數(shù)據(jù)處理設(shè)備的操作的的傳播信 號(hào)中。可以用包括編譯式或者解釋型語(yǔ)言的任何形式的編程語(yǔ)言來(lái)編寫(xiě)諸如上述計(jì)算機(jī)程 序的計(jì)算機(jī)程序,并且可以將該計(jì)算機(jī)程序部署為包括獨(dú)立程序或者模塊、組件、子例程或 者適合在計(jì)算環(huán)境中使用的其它單元的任何形式。可以將計(jì)算機(jī)程序部署為在一個(gè)計(jì)算機(jī) 上或者在位于一個(gè)站點(diǎn)處或者分布于多個(gè)站點(diǎn)之間并且通過(guò)通信網(wǎng)絡(luò)互相連接的多個(gè)計(jì) 算機(jī)上執(zhí)行。
[0154] 可以通過(guò)執(zhí)行通過(guò)操作輸入數(shù)據(jù)和生成輸出來(lái)執(zhí)行功能的計(jì)算機(jī)程序的一個(gè)或 者多個(gè)可編程處理器來(lái)執(zhí)行方法步驟。也可以通過(guò)專(zhuān)用邏輯電路系統(tǒng)(例如,F(xiàn)PGA(現(xiàn)場(chǎng)可 編程門(mén)陣列)或者ASIC(專(zhuān)用集成電路))來(lái)執(zhí)行方法步驟,并且設(shè)備也可以實(shí)施為專(zhuān)用邏輯 電路系統(tǒng)。
[0155] 適合執(zhí)行計(jì)算機(jī)程序的處理器作為示例包括通用微處理器、專(zhuān)用微處理器二者、 以及任何種類(lèi)的數(shù)字計(jì)算機(jī)的任何一個(gè)或者多個(gè)處理器。一般而言,處理器將接收來(lái)自只 讀存儲(chǔ)器或者隨機(jī)存取存儲(chǔ)器或者兩者的指令和數(shù)據(jù)。計(jì)算機(jī)的元件可以包括:用于執(zhí)行 指令的至少一個(gè)處理器;以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或者多個(gè)存儲(chǔ)裝置。一般而言,計(jì) 算機(jī)也可以包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或者多個(gè)大容量存儲(chǔ)裝置(例如,磁盤(pán)、磁光盤(pán)、或者 光盤(pán)),或者被可操作地耦合以接收來(lái)自該大容量存儲(chǔ)裝置的數(shù)據(jù)或者將數(shù)據(jù)傳輸?shù)皆摯?容量存儲(chǔ)裝置或者同時(shí)進(jìn)行兩者。適合體現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的信息載體包括所有形 式的非易失性存儲(chǔ)器,該所有形式的非易失性存儲(chǔ)器作為示例包括半導(dǎo)體存儲(chǔ)器裝置(例 如,EPROM、EEPR0M、和閃存裝置)、磁盤(pán)(例如,內(nèi)置硬盤(pán)或者可移動(dòng)盤(pán))、磁光盤(pán)、以及⑶-ROM 和DVD-ROM盤(pán)。處理器和存儲(chǔ)器可以由專(zhuān)用邏輯電路系統(tǒng)補(bǔ)充或者被合并到該專(zhuān)用邏輯電 路系統(tǒng)中。
[0156]為了提供用戶交互,可以在計(jì)算機(jī)上實(shí)施實(shí)施方式,該計(jì)算機(jī)具有:用于向用戶顯 示信息的顯示裝置,例如,CRT(陰極射線管)或者LCD(液晶顯示器)監(jiān)視器;用戶可以用來(lái)向 計(jì)算機(jī)提供輸入的鍵盤(pán)和指示裝置,例如,鼠標(biāo)或者軌跡球。其它類(lèi)型的裝置同樣可以用于 提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的感覺(jué)反饋,例如,視覺(jué)反饋、 聽(tīng)覺(jué)反饋、或者觸覺(jué)反饋;并且可以以任何形式(包括聲音輸入、語(yǔ)音輸入、或者觸覺(jué)輸入) 來(lái)接收來(lái)自用戶的輸入。
[0157] 可以在計(jì)算系統(tǒng)中實(shí)施實(shí)施方式,該計(jì)算系統(tǒng)包括后端組件(例如,數(shù)據(jù)服務(wù)器), 或者包括中間件組件(例如,應(yīng)用服務(wù)器),或者包括前端組件(例如,具有圖形用戶界面或 者web瀏覽器的客戶端計(jì)算機(jī),用戶可以通過(guò)該圖形用戶界面或者該web瀏覽器來(lái)與實(shí)施方 式交互);或者包括該后端組件、該中間件組件或者該前端組件的任何組合。組件可以通過(guò) 任何形式或者介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))來(lái)互連。諸如通信網(wǎng)絡(luò)的網(wǎng)絡(luò)的示例 可以包括局域網(wǎng)(LAN)和例如互聯(lián)網(wǎng)的廣域網(wǎng)(WAN)。
[0158] 雖然已經(jīng)如此處描述那樣圖示了所描述的實(shí)施方式的某些特征,但是本領(lǐng)域的技 術(shù)人員現(xiàn)在會(huì)想到許多修改、代替、改變及等同物。因此,要理解,隨附權(quán)利要求旨在涵蓋所 有這樣的修改和改變使其落入實(shí)施例的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)使得至少一個(gè) 處理器執(zhí)行過(guò)程,所述指令包括被配置為進(jìn)行如下操作的指令: 將圖像分為多個(gè)區(qū)域; 基于概率表將多個(gè)分區(qū)類(lèi)型應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域; 基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)區(qū)域中的 每個(gè)區(qū)域確定率失真代價(jià); 基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)區(qū)域中的 每個(gè)區(qū)域確定代碼化方案;以及 基于為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)所述 多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼。2. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述圖像包括視頻幀,并且所述 多個(gè)區(qū)域包括所述多個(gè)區(qū)域的網(wǎng)格。3. 根據(jù)權(quán)利要求1和2中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)區(qū)域中的 每個(gè)區(qū)域包括η X η像素塊。4. 根據(jù)權(quán)利要求3所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述ηΧη像素塊包括以下至少一 個(gè):64 X 64像素塊、32 X 32像素塊、16 X 16像素塊、8 X 8像素塊、4 X 4像素塊、和2 X 2像素塊。5. 根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述概率表包括:與 所述多個(gè)分區(qū)類(lèi)型中的第一分區(qū)類(lèi)型相關(guān)聯(lián)的概率值、和與所述多個(gè)分區(qū)類(lèi)型中的第二分 區(qū)類(lèi)型相關(guān)聯(lián)的概率值。6. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述多個(gè)分區(qū)類(lèi)型 包括: 第一分區(qū)類(lèi)型,所述第一分區(qū)類(lèi)型包括具有尺寸相似的四個(gè)子塊的拆分分區(qū)類(lèi)型, 第二分區(qū)類(lèi)型,所述第二分區(qū)類(lèi)型包括具有尺寸相似的、水平布置的兩個(gè)子塊的水平 分區(qū)類(lèi)型, 第三分區(qū)類(lèi)型,所述第三分區(qū)類(lèi)型包括具有尺寸相似的、垂直布置的兩個(gè)子塊的垂直 分區(qū)類(lèi)型,以及 第四分區(qū)類(lèi)型,所述第四分區(qū)包括具有單個(gè)塊的無(wú)分區(qū)類(lèi)型。7. 根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,對(duì)于應(yīng)用于所述多 個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型的第一分區(qū)類(lèi)型,所述指令包括被配置為進(jìn)行如 下操作的指令: 將所述多個(gè)區(qū)域中的每個(gè)區(qū)域分為多個(gè)子區(qū)域; 將所述多個(gè)分區(qū)類(lèi)型重新應(yīng)用于所述多個(gè)子區(qū)域中的每個(gè)子區(qū)域; 基于應(yīng)用于所述多個(gè)子區(qū)域中的每個(gè)子區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)子區(qū) 域中的每個(gè)子區(qū)域確定率失真代價(jià);以及 基于應(yīng)用于所述多個(gè)子區(qū)域中的每個(gè)子區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)子區(qū) 域中的每個(gè)子區(qū)域確定代碼化方案。8. 根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置為基于為所 述多個(gè)區(qū)域中的每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)所述多個(gè)區(qū)域中的 每個(gè)區(qū)域進(jìn)行編碼的所述指令包括配置為進(jìn)行如下操作的指令: 基于為所述多個(gè)子區(qū)域中的每個(gè)子區(qū)域確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì) 所述多個(gè)子區(qū)域中的每個(gè)子區(qū)域進(jìn)行編碼。9. 根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置成為所述多 個(gè)區(qū)域中的每個(gè)區(qū)域確定率失真代價(jià)的所述指令包括被配置成進(jìn)行如下操作的指令: 基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)區(qū)域中的 每個(gè)區(qū)域評(píng)估多個(gè)率失真代價(jià);以及 為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定率失真代價(jià),所述率失真代價(jià)選自為所述多個(gè)區(qū)域 中的每個(gè)區(qū)域評(píng)估的所述多個(gè)率失真代價(jià)。10. 根據(jù)權(quán)利要求1至9中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置成單獨(dú)地對(duì) 所述多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼的所述指令包括被配置為進(jìn)行如下操作的指令: 基于為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定的最佳率失真代價(jià)來(lái)單獨(dú)地對(duì)所述多個(gè)區(qū)域 中的每個(gè)區(qū)域進(jìn)行編碼。11. 根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置成為所述 多個(gè)區(qū)域中的每個(gè)區(qū)域確定代碼化方案的所述指令包括被配置成進(jìn)行如下操作的指令: 基于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為所述多個(gè)區(qū)域中的 每個(gè)區(qū)域評(píng)估多個(gè)代碼化方案;以及 為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定最佳代碼化方案,所述最佳代碼化方案選自為所述 多個(gè)區(qū)域中的每個(gè)區(qū)域評(píng)估的所述多個(gè)代碼化方案。12. 根據(jù)權(quán)利要求1至11中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置成單獨(dú)地 對(duì)所述多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼的所述指令包括被配置成進(jìn)行如下操作的指令: 基于為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定的最佳代碼化方案來(lái)單獨(dú)地對(duì)所述多個(gè)區(qū)域 中的每個(gè)區(qū)域進(jìn)行編碼。13. 根據(jù)權(quán)利要求1至12中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述代碼化方案 包括基于上下文的熵代碼化方案,當(dāng)為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定代碼化方案時(shí),所 述基于上下文的熵代碼化方案考慮每個(gè)區(qū)域的大小、應(yīng)用于在每個(gè)區(qū)域上方的第一鄰居區(qū) 域和在每個(gè)區(qū)域左邊的第二鄰居區(qū)域的分區(qū)類(lèi)型。14. 根據(jù)權(quán)利要求1至13中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,被配置成單獨(dú)地 對(duì)所述多個(gè)區(qū)域中的每個(gè)區(qū)域進(jìn)行編碼的所述指令包括被配置成進(jìn)行如下操作的指令: 基于為所述多個(gè)區(qū)域中的每個(gè)區(qū)域確定的率失真代價(jià)和代碼化方案,以光柵順序?qū)⒚?個(gè)區(qū)域單獨(dú)地編碼為比特流。15. -種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令被執(zhí)行時(shí)使得至少一個(gè) 處理器進(jìn)行過(guò)程,所述指令包括被配置成進(jìn)行如下操作的指令: 將視頻幀分為多個(gè)像素塊; 基于概率表將多個(gè)分區(qū)類(lèi)型應(yīng)用于所述多個(gè)像素塊中的每個(gè)像素塊; 對(duì)于應(yīng)用于所述多個(gè)像素塊中的每個(gè)像素塊的所述多個(gè)分區(qū)類(lèi)型的第一分區(qū)類(lèi)型,將 所述第一分區(qū)類(lèi)型的每個(gè)像素塊分為多個(gè)像素子塊,并且將所述多個(gè)分區(qū)類(lèi)型重新應(yīng)用于 所述多個(gè)像素子塊中的每個(gè)像素子塊; 基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè)像素子塊的所述多個(gè)分區(qū)類(lèi)型來(lái) 為每個(gè)像素塊和每個(gè)像素子塊確定率失真代價(jià); 基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)像素塊和每個(gè)像素子塊的所述多個(gè)分區(qū)類(lèi)型來(lái) 為每個(gè)像素塊和每個(gè)像素子塊確定代碼化方案;以及 基于為每個(gè)像素塊和每個(gè)像素子塊確定的率失真代價(jià)和代碼化方案來(lái)單獨(dú)地對(duì)每個(gè) 像素塊和每個(gè)像素子塊進(jìn)行編碼。16. 根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中: 每個(gè)像素塊包括η X η像素塊,以及 每個(gè)η X η像素塊包括以下至少一個(gè):64 X 64像素塊、32 X 32像素塊、16 X 16像素塊、8 X 8像素塊、4 X 4像素塊、和2 X 2像素塊。17. 根據(jù)權(quán)利要求15和16所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中: 所述多個(gè)分區(qū)類(lèi)型的所述第一分區(qū)類(lèi)型包括具有尺寸相似的四個(gè)子塊的拆分分區(qū)類(lèi) 型, 第二分區(qū)類(lèi)型包括具有尺寸相似的、水平布置的兩個(gè)子塊的水平分區(qū)類(lèi)型, 第三分區(qū)類(lèi)型包括具有尺寸相似的、垂直布置的兩個(gè)子塊的垂直分區(qū)類(lèi)型,以及 第四分區(qū)類(lèi)型包括具有單個(gè)塊的無(wú)分區(qū)類(lèi)型。18. 根據(jù)權(quán)利要求15至17中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述代碼化方案 包括基于上下文的熵代碼化方案,當(dāng)為所述多個(gè)像素塊中的每個(gè)像素塊確定代碼化方案 時(shí),所述基于上下文的熵代碼化方案考慮每個(gè)像素塊的大小、應(yīng)用于在每個(gè)像素塊上面的 第一鄰居區(qū)域和在每個(gè)像素塊左邊的第二鄰居區(qū)域的分區(qū)類(lèi)型。19. 一種系統(tǒng),包括: 至少一個(gè)處理器和存儲(chǔ)器; 至少一個(gè)處理器被配置成: 將幀分為多個(gè)區(qū)域; 將多個(gè)分區(qū)類(lèi)型應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域; 對(duì)于應(yīng)用于所述多個(gè)區(qū)域中的每個(gè)區(qū)域的所述多個(gè)分區(qū)類(lèi)型中的至少一個(gè)分區(qū)類(lèi)型, 基于概率表將該至少一個(gè)分區(qū)類(lèi)型的每個(gè)區(qū)域分為多個(gè)子區(qū)域,并且將所述多個(gè)分區(qū)類(lèi)型 重新應(yīng)用于該多個(gè)子區(qū)域中的每個(gè)子區(qū)域; 基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)區(qū)域和每個(gè)子區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為每 個(gè)區(qū)域和每個(gè)子區(qū)域確定率失真代價(jià); 基于分別應(yīng)用于并且重新應(yīng)用于每個(gè)區(qū)域和每個(gè)子區(qū)域的所述多個(gè)分區(qū)類(lèi)型來(lái)為每 個(gè)區(qū)域和每個(gè)子區(qū)域確定代碼化方案;以及 基于為每個(gè)區(qū)域和每個(gè)子區(qū)域確定的所述率失真代價(jià)和所述代碼化方案來(lái)單獨(dú)地對(duì) 每個(gè)區(qū)域和每個(gè)子區(qū)域進(jìn)行編碼。20. 根據(jù)權(quán)利要求19的系統(tǒng),其中,所述幀為第一幀,所述概率表包括與該至少一個(gè)分 區(qū)類(lèi)型相關(guān)聯(lián)的概率值, 所述至少一個(gè)處理器被配置成基于與所述第一幀相關(guān)聯(lián)的所述處理來(lái)更新用于處理 第二幀的所述概率值。21. 根據(jù)權(quán)利要求29和20中任一項(xiàng)所述的系統(tǒng),其中,所述幀為在視頻幀序列中的第一 幀,所述概率表包括與該至少一個(gè)分區(qū)類(lèi)型相關(guān)聯(lián)的默認(rèn)概率值。22. -種存儲(chǔ)指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)致使至少一 個(gè)處理器進(jìn)行過(guò)程,所述指令包括被配置成進(jìn)行如下操作的指令: 識(shí)別在視頻幀序列中的第一幀; 基于存儲(chǔ)在存儲(chǔ)器中的概率表來(lái)對(duì)在所述視頻幀序列中的所述第一幀進(jìn)行編碼,所述 概率表包括與分區(qū)類(lèi)型相關(guān)聯(lián)的概率值; 基于對(duì)所述視頻幀序列中的所述第一幀的所述編碼來(lái)將與所述分區(qū)類(lèi)型相關(guān)聯(lián)的所 述概率值修改為更新的概率值;以及 基于在所述概率表中包括的所述更新的概率值來(lái)對(duì)在視頻幀序列中的第二幀進(jìn)行編 碼。23. 根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,對(duì)所述第一幀的所述編碼包括 煙編碼。24. 根據(jù)權(quán)利要求22和23中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述指令進(jìn)一步 包括進(jìn)行以下操作的指令: 計(jì)算與所述第一幀相關(guān)聯(lián)的所述分區(qū)類(lèi)型的概率分布,并且基于所述分區(qū)類(lèi)型的概率 分布來(lái)修改所述概率值。25. 根據(jù)權(quán)利要求22至24中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,基于所述概率值 來(lái)分配與熵編碼器相關(guān)聯(lián)的比特率。26. 根據(jù)權(quán)利要求22至25中任一項(xiàng)所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述概率表包括 與從第一塊大小到第二塊大小的分區(qū)相關(guān)聯(lián)的第一塊部分,并且所述概率表包括與從所述 第二塊大小到第三塊大小的分區(qū)相關(guān)聯(lián)的第二塊部分。
【文檔編號(hào)】H04N19/176GK105960803SQ201480074562
【公開(kāi)日】2016年9月21日
【申請(qǐng)日】2014年12月26日
【發(fā)明人】韓敬寧, 羅納德·塞巴斯蒂安·布特杰
【申請(qǐng)人】谷歌公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1