專利名稱:用于使用并行處理來進(jìn)行解碼的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及使用多個處理器的視頻解碼。
背景技術(shù):
目前,越來越多的應(yīng)用使用數(shù)字視頻以用于各種目的,例如包括經(jīng)由視頻會議的 遠(yuǎn)程商務(wù)會議、高清晰度視頻娛樂、視頻廣告以及用戶生成視頻的共享。隨著技術(shù)的演進(jìn), 人們對于視頻質(zhì)量具有更高期望,并且期望具有較高幀速率的平滑播放的高清晰度視頻。當(dāng)選擇視頻編碼器用于編碼、存儲和傳輸數(shù)字視頻時,可以考慮多種因素。一些應(yīng) 用可能需要完美的視頻質(zhì)量,而其他應(yīng)用可能需要符合各種約束,例如包括帶寬或者存儲 需求。為了在允許視頻較高質(zhì)量傳輸?shù)耐瑫r限制帶寬消耗,多種視頻壓縮方案受到關(guān)注,包 括專用格式,諸如VPx (由紐約克利夫頓帕克的0n2技術(shù)公司公布)、由ITU-T視頻編碼專家 IL(VCEG)和IS0/IEC運(yùn)動圖像專家組(MPEG)公布的H. 264標(biāo)準(zhǔn),包括其當(dāng)前以及將來的 版本。H. 264也稱為MPEG-4第10部分或者M(jìn)PEG-4AVC (正式稱為IS0/IEC14496-10)。存在允許對視頻數(shù)據(jù)進(jìn)行壓縮和恢復(fù)的多種視頻編碼方案類型。例如,H. 264標(biāo) 準(zhǔn)通過并入熵編碼方法而提供了更有效的視頻編碼方法,熵編碼方法諸如是基于上下文的 自適應(yīng)可變長度編碼(CAVLC)和基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。針對使用 CAVLC編碼的視頻數(shù)據(jù),一些現(xiàn)代解壓縮系統(tǒng)已經(jīng)采用多核處理器或者多處理器來增加整 體視頻解碼速度。
發(fā)明內(nèi)容
本發(fā)明的一個實施方式公開為用于對經(jīng)編碼的視頻數(shù)據(jù)流進(jìn)行解碼的方法,該經(jīng) 編碼的視頻數(shù)據(jù)流包括已經(jīng)使用至少第一編碼方案壓縮的多個分區(qū)。該方法包括選擇多個 分區(qū)中包括已經(jīng)使用至少第二編碼方案編碼的至少一個塊行的至少第一分區(qū)。選擇包括使 用第二編碼方案編碼的至少一個塊行的第二分區(qū)。第一分區(qū)由第一處理器進(jìn)行解碼,而第 二分區(qū)由第二處理器進(jìn)行解碼。第二分區(qū)的解碼偏移指定數(shù)目的塊,以使得來自第一分區(qū) 的解碼的輸出的至少一部分用作解碼第二分區(qū)的輸入。另外,第一分區(qū)的解碼偏移指定數(shù) 目的塊,以使得來自第二分區(qū)的解碼的輸出的至少一部分用作解碼第一分區(qū)的輸入。本發(fā)明的另一實施方式公開為用于對視頻數(shù)據(jù)流進(jìn)行解碼的方法,該視頻數(shù)據(jù)流 表示由多個塊行組成的至少一個幀圖像。數(shù)據(jù)是使用第一編碼方案和第二編碼方案進(jìn)行編 碼的。該方法包括提供多個具有共享主存儲器空間的處理器,以及讀取視頻數(shù)據(jù)中指示分 區(qū)計數(shù)和分區(qū)位置偏移的記錄?;诜謪^(qū)計數(shù)和分區(qū)位置偏移將視頻數(shù)據(jù)分為多個分區(qū)。標(biāo)識多個分區(qū)中的第一分區(qū)和第二分區(qū)。多個分區(qū)中的第一分區(qū)包括可以用于根據(jù)第一編 碼方案來解碼多個分區(qū)的第二分區(qū)的經(jīng)編碼的上下文信息。多個分區(qū)中的第一分區(qū)使用多 個處理器中的第一處理器、根據(jù)第二編碼方案進(jìn)行解碼。多個分區(qū)中的第二分區(qū)使用多個 處理器中的第二處理器、根據(jù)第一解碼方案進(jìn)行解碼。第二分區(qū)的解碼偏移指定數(shù)目的塊, 其中該指定數(shù)目至少與經(jīng)編碼的上下文信息中的塊的數(shù)目一樣大,并且來自第一分區(qū)的解 碼的輸出的至少一部分可以用作解碼第二分區(qū)的輸入。本發(fā)明的另一實施方式公開為一種用于對視頻數(shù)據(jù)進(jìn)行編碼的方法,該視頻數(shù)據(jù) 包括具有多個塊行的至少一個幀。該方法包括使用第二編碼方案對所述行進(jìn)行編碼。對每 一行進(jìn)行編碼的輸入包括相鄰行中包含的信息。將多個行分為多個分區(qū),其中至少兩個相 鄰的行放置到單獨(dú)的分區(qū)中。進(jìn)一步使用第一編碼方案來編碼多個分區(qū)中的每一個。記錄 指示多個行被劃分成的分區(qū)的數(shù)目以及經(jīng)編碼的視頻數(shù)據(jù)內(nèi)的分區(qū)的位置的值。下文更加詳細(xì)地描述本發(fā)明的這些以及其他實施方式。
此處的描述參考附圖,其中貫穿若干視圖,相似的參考標(biāo)號指示相似的部分,在附 圖中圖1是根據(jù)本發(fā)明一個實施方式的經(jīng)壓縮視頻比特流中的層的層級的示圖。圖2是根據(jù)本發(fā)明一個實施方式的視頻壓縮系統(tǒng)的框圖。圖3是根據(jù)本發(fā)明一個實施方式的視頻解壓縮系統(tǒng)的框圖。圖4是從圖2的視頻壓縮系統(tǒng)輸出的幀及其對應(yīng)分區(qū)的示意圖。圖5是從圖2的視頻壓縮系統(tǒng)輸出并且發(fā)送至圖3的視頻解壓縮系統(tǒng)的比特流中 經(jīng)編碼的視頻幀的示意圖。圖6A-圖6B是示出在圖3的視頻解壓縮系統(tǒng)中使用的多核處理器上的核的分階 段和同步的時序圖。圖7A是示出在圖2和圖3的視頻壓縮系統(tǒng)和解壓縮系統(tǒng)中使用的數(shù)據(jù)相關(guān)宏塊 和偏移計算的示意圖。圖7B是示出在圖2和圖3的視頻壓縮和解壓縮系統(tǒng)中使用的數(shù)據(jù)相關(guān)宏塊和備 選偏移計算的示意圖。
具體實施例方式參考圖1,諸如H. 264的視頻編碼標(biāo)準(zhǔn)提供了針對視頻流11的層10的定義層級。 該層中的最高級別可以是視頻序列13。在下一級別,視頻序列13包括多個相鄰幀15。多 個相鄰幀15可以進(jìn)一步細(xì)分為單個幀17。在下一級別,幀17可以包括一系列固定尺寸的 宏塊20,該宏塊20包含例如與幀17中所顯示的16X 16像素塊相對應(yīng)的壓縮數(shù)據(jù)。每個 宏塊包含針對相對應(yīng)像素的亮度和色度數(shù)據(jù)。宏塊20也可以是任何其他適合的尺寸,諸如 16X8的像素群或者8X16的像素群。宏塊20進(jìn)一步細(xì)分為塊。塊例如可以是4X4的像 素群,其可以進(jìn)一步描述針對相對應(yīng)像素的亮度和色度數(shù)據(jù)。塊也可以是任何其他適合的 大小,諸如 16X16、16X8、8X16、8X8、8X4、4X8 以及 4X4 的像素群。雖然在VP8視頻編碼格式的上下文中描述了具體實施方式
,但是本發(fā)明的備選實施方式可以在其他視頻編碼格式的上下文中實現(xiàn)。另外,實施方式不限于任何特定的視頻 編碼標(biāo)準(zhǔn)或者格式。參考圖2,根據(jù)一個實施方式,為了對輸入視頻流16進(jìn)行編碼,編碼器14在前向 路徑(由實線連接線示出)中執(zhí)行下述功能以便產(chǎn)生經(jīng)編碼的比特流26 幀內(nèi)/幀間預(yù)測 18、變換19、量化22和熵編碼M。編碼器14還包括用于重建幀以用于其他宏塊的編碼的 重建路徑(由虛線連接線示出)。編碼器14在重建路徑中執(zhí)行下述功能去量化觀、逆變 換30、重建32和環(huán)路濾波34。編碼器14的其他結(jié)構(gòu)變體也可以用于比特流沈的編碼。當(dāng)提供輸入視頻流16用于編碼時,輸入視頻流16內(nèi)的每個幀17可以以宏塊為單 位進(jìn)行處理。在幀內(nèi)/幀間預(yù)測階段18,可以使用幀內(nèi)預(yù)測模式或幀間預(yù)測模式對每個宏 塊進(jìn)行編碼。在幀內(nèi)預(yù)測的情況下,可以根據(jù)當(dāng)前幀中之前已編碼且重建的樣本來形成預(yù) 測宏塊。在幀間預(yù)測的情況下,可以根據(jù)已經(jīng)編碼且重建的一個或多個參考幀來形成預(yù)測 宏塊。接下來,仍然參考圖2,可以從當(dāng)前宏塊中減去預(yù)測宏塊,以產(chǎn)生殘差宏塊(殘 差)。變換階段19將殘差信號變換編碼為系數(shù),以及量化階段22對系數(shù)進(jìn)行量化以產(chǎn)生一 組經(jīng)量化的變換系數(shù)。該經(jīng)量化的變換系數(shù)繼而可以由熵編碼階段M進(jìn)行熵編碼。經(jīng)熵 編碼的系數(shù)與對宏塊進(jìn)行解碼所需的信息(諸如,所使用的預(yù)測模式類型、運(yùn)動向量和量 化器值)一起輸出到經(jīng)壓縮的比特流沈。可以提供圖2中的重建路徑以允許編碼器和解碼器兩者都使用對宏塊進(jìn)行解碼 所需的相同參考幀。重建路徑包括通過去量化階段觀對變換系數(shù)進(jìn)行去量化以及通過逆 變換階段30對系數(shù)進(jìn)行逆變換,以產(chǎn)生導(dǎo)出的殘差宏塊(導(dǎo)出殘差),該重建路徑類似于在 下文更加詳細(xì)描述的解碼過程期間發(fā)生的功能。在重建階段32,預(yù)測宏塊可以添加到導(dǎo)出 殘差以創(chuàng)建重建的宏塊。環(huán)路濾波器;34可以應(yīng)用于重建的宏塊以減少失真。參考圖3,根據(jù)一個實施方式,為了對壓縮的比特流沈進(jìn)行解碼,與先前討論的編 碼器14的重建路徑類似,解碼器21執(zhí)行如下功能以產(chǎn)生輸出視頻流35 熵解碼25、去量化 27、逆變換四、幀內(nèi)/幀間預(yù)測23、重建31、環(huán)路濾波器34和去塊效應(yīng)濾波33。解碼器21 的其他結(jié)構(gòu)變體也可以用于對壓縮的比特流26進(jìn)行解碼。當(dāng)提供壓縮的比特流沈用于解碼時,數(shù)據(jù)元素可以由熵解碼階段25進(jìn)行熵解碼, 以產(chǎn)生一組量化的系數(shù)。去量化階段27對系數(shù)進(jìn)行去量化,以及逆變換階段四對系數(shù)進(jìn)行 逆變換,以產(chǎn)生與編碼器14中的重建階段所創(chuàng)建的導(dǎo)出殘差相同的導(dǎo)出殘差。在幀內(nèi)/幀 間預(yù)測階段23,解碼器21使用從壓縮的比特流沈解碼的預(yù)測模式類型和/或運(yùn)動向量信 息,創(chuàng)建與編碼器14中所創(chuàng)建的預(yù)測宏塊相同的預(yù)測宏塊。在重建階段31,預(yù)測宏塊可以 添加到導(dǎo)出殘差,以創(chuàng)建重建宏塊。環(huán)路濾波器34可以應(yīng)用于重建的宏塊以減少塊效應(yīng)。 去塊效應(yīng)濾波器33可以應(yīng)用于視頻圖像幀,以進(jìn)一步減小成塊失真,并且結(jié)果可以輸出至 輸出視頻流35。當(dāng)前基于上下文的熵編碼方法(諸如,基于上下文的自適應(yīng)算術(shù)編碼(CABAC))受 到相關(guān)性的限制,其通過需要宏塊參考相鄰宏塊而利用空間位置,并且通過需要宏塊參考 來自其他幀的宏塊而利用時間位置。由于這些相關(guān)性和自適應(yīng)性,編碼器14使用來自相鄰 宏塊的上下文數(shù)據(jù)、按照順序次序來對比特流進(jìn)行編碼。由編碼器14創(chuàng)建的此類順序相關(guān) 性使得壓縮的比特流26將由解碼器21按照順序次序進(jìn)行解碼。當(dāng)使用單核處理器進(jìn)行解碼時,此類順序解碼可能是足夠的。另一方面,如果在解碼期間使用多核處理器或者多處理 器系統(tǒng),則將不能有效地利用多核處理器或者多處理器系統(tǒng)的計算能力。雖然本公開已經(jīng)并且將繼續(xù)參考多核處理器以及多核處理器上線程的創(chuàng)建來描 述本發(fā)明的實施方式,但是本發(fā)明的實施方式也可以利用其他適合的計算機(jī)系統(tǒng)來實現(xiàn), 諸如包含多個處理器的設(shè)備。根據(jù)一個實施方式,編碼器14將壓縮的比特流劃分為分區(qū)36,而不是單個串行數(shù) 據(jù)流。參考圖4并且僅通過示例的方式,壓縮的比特流可以劃分為四個分區(qū),將其指定為數(shù) 據(jù)分區(qū)1-4。其他數(shù)目的分區(qū)也是適合的。因為每個分區(qū)在由解碼器21進(jìn)行解碼時可以是 單獨(dú)解碼過程的主體,所以可以在壓縮數(shù)據(jù)中去掉串行相關(guān)性,而不會損失編碼效率。參考圖4,示出了具有劃分的宏塊行38的幀17。宏塊行38包括個體宏塊20。繼 續(xù)該示例,可以將每第N個宏塊行38分組到分區(qū)36之一中(其中N是分區(qū)的總數(shù))。在該 示例中,存在四個分區(qū)并且宏塊行0、4、8、12等被分組到分區(qū)1中。宏塊行1、5、9和13等 被分組到分區(qū)2中。宏塊行2、6、10、14等被分組到分區(qū)3中。宏塊行3、7、11、15等被分組 到分區(qū)4中。因此,每個分區(qū)36包括連續(xù)的宏塊,但是在這種情況下,每個分區(qū)36不包含 連續(xù)的宏塊行38。換言之,第一分區(qū)中的塊的宏塊行與第二分區(qū)中的宏塊行可以從幀中的 兩個相鄰宏塊行導(dǎo)出。其他分組機(jī)制也是可用的,并且不限于通過宏塊行來分隔區(qū)域或者 將每第N個宏塊行分組到一個分區(qū)中。根據(jù)分組機(jī)制,在另一示例中,連續(xù)的宏塊行也可以 分組到相同的分區(qū)36中。備選分組機(jī)制例如可以包括對來自第一幀的塊行以及第二幀中相對應(yīng)的塊行進(jìn) 行分組。來自第一幀的塊行可以封裝到第一分區(qū)中,而第二幀中的相對應(yīng)塊行可以封裝到 第二分區(qū)中。第一處理器可以解碼來自第一幀的塊行,并且第二處理器可以解碼來自第二 幀的塊行。以這種方式,解碼器可以使用來自已經(jīng)由第一處理器解碼的塊的信息來對第二 分區(qū)中的至少一個塊進(jìn)行解碼。每個分區(qū)36可以使用兩種單獨(dú)的編碼方案進(jìn)行壓縮。第一編碼方案可以是無損 編碼,例如使用基于上下文的算術(shù)編碼,如CABAC。也可以使用其他無損編碼技術(shù)。返回參 考圖1,第一編碼方案例如可以通過熵編碼階段M來實現(xiàn)。仍然參考圖1,第二編碼方案(其可以發(fā)生在第一編碼方案之前)可以通過以下階 段中的至少一個來實現(xiàn)幀內(nèi)/幀間預(yù)測階段18、變換階段19和量化22。第二編碼方案可 以通過使用其他分區(qū)中包含的信息來對每個分區(qū)36中的塊進(jìn)行編碼。例如,如果幀被劃分 為兩個分區(qū),則第二編碼方案可以使用第一分區(qū)中的宏塊行中包含的信息來對第二分區(qū)進(jìn) 行編碼。參考圖5,示出了來自壓縮的比特流沈的經(jīng)編碼的視頻幀39。為了簡單起見,僅 示出了比特流中與本發(fā)明的實施方式有關(guān)的部分。經(jīng)編碼的視頻幀39包含視頻幀報頭44, 其包含用于分區(qū)的數(shù)目40的比特以及用于每個分區(qū)的偏移42的比特。經(jīng)編碼的視頻幀39 還包括來自示為P1-Pn的數(shù)據(jù)分區(qū)36的經(jīng)編碼數(shù)據(jù),其中,如上所述,N是視頻幀17中的分 區(qū)總數(shù)。一旦編碼器14已經(jīng)將幀17劃分為分區(qū)36,編碼器14即將用于指示分區(qū)的數(shù)目 40以及每個分區(qū)的偏移42的數(shù)據(jù)寫入到視頻幀報頭44中。分區(qū)的數(shù)目40以及每個分區(qū) 的偏移42在幀17中可以通過比特、字節(jié)或者可以向解碼器21傳遞特定信息的任何其他記錄來表示。解碼器21從視頻幀報頭44讀取數(shù)據(jù)分區(qū)的數(shù)目40,以便對經(jīng)壓縮的數(shù)據(jù)進(jìn)行 解碼。在一個示例中,2個比特可以用于表示分區(qū)的數(shù)目。一個或多個比特可以用于指示 數(shù)據(jù)分區(qū)的數(shù)目(或者分區(qū)計數(shù))。也可以使用其他編碼方案來將分區(qū)的數(shù)目編碼為比特 流。以下列表指示2個比特可以如何表示分區(qū)的數(shù)目
比特1 比特2 分區(qū)的數(shù)目
權(quán)利要求
1.一種用于對視頻數(shù)據(jù)流進(jìn)行解碼的方法,所述視頻數(shù)據(jù)流表示至少一個包括多個塊 行的幀圖像,其中所述數(shù)據(jù)是使用第一編碼方案和第二編碼方案編碼的,所述方法包括提供具有共享主存儲器空間的多個處理器;在所述視頻數(shù)據(jù)中讀取指示分區(qū)計數(shù)和分區(qū)位置偏移的記錄;基于所述分區(qū)計數(shù)和分區(qū)位置偏移,將所述視頻數(shù)據(jù)劃分為多個分區(qū);標(biāo)識所述多個分區(qū)中的第一分區(qū)和第二分區(qū),其中所述多個分區(qū)中的第一分區(qū)包括可 以用于根據(jù)所述第一編碼方案來對所述多個分區(qū)中的第二分區(qū)進(jìn)行解碼的經(jīng)編碼的上下 文信息;使用所述多個處理器中的第一處理器,根據(jù)所述第二編碼方案對所述多個分區(qū)中的第 一分區(qū)進(jìn)行解碼;以及使用所述多個處理器中的第二處理器,根據(jù)第一解碼方案對所述多個分區(qū)中的第二分 區(qū)進(jìn)行解碼,其中所述第二分區(qū)的解碼偏移指定數(shù)目的塊,所述指定數(shù)目至少與所述經(jīng)編 碼的上下文信息中的塊的數(shù)目一樣大;其中來自解碼所述第一分區(qū)的輸出的至少一部分可 以用作解碼所述第二分區(qū)的輸入。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第一編碼方案包括無損編碼,并且所述第二 編碼方案包括幀內(nèi)預(yù)測和幀間預(yù)測中的至少一個。
3.根據(jù)權(quán)利要求2所述的方法,其中所述無損編碼是熵編碼方案。
4.根據(jù)權(quán)利要求1-3中任一項所述的方法,其中所述第一分區(qū)中的至少一個塊行和所 述第二分區(qū)中的至少一個塊行從由所述視頻數(shù)據(jù)表示的圖像幀的兩個相鄰行中導(dǎo)出。
5.根據(jù)權(quán)利要求1-3中任一項所述的方法,其中來自對所述第二分區(qū)進(jìn)行解碼的輸出 的塊行的至少一部分用作根據(jù)所述第一編碼方案和所述第二編碼方案中的至少一個來解 碼所述第一分區(qū)中的另一塊行的至少一部分的輸入。
6.根據(jù)權(quán)利要求5所述的方法,其中所述第二分區(qū)中的所述行在所述視頻信息的幀中 與所述第一分區(qū)的所述行相鄰。
7.根據(jù)權(quán)利要求1-3中任一項所述的方法,其中所述第二編碼方案配置用于使用所述 第二分區(qū)中的至少一個塊行中包含的上下文信息來對所述第一分區(qū)中的至少一個塊行進(jìn) 行編碼。
8.根據(jù)權(quán)利要求1-3中任一項所述的方法,其中所述第二編碼方案配置用于使用所述 第一分區(qū)中的至少一個塊行中包含的所述上下文信息來對所述第二分區(qū)中的至少一個塊 行進(jìn)行編碼。
9.根據(jù)權(quán)利要求8所述的方法,其中解碼所述第二分區(qū)進(jìn)一步包括使用由所述第一處理器最近解碼的塊的至少一部分信息作為用于解碼所述第二分區(qū) 中的至少一個塊的所述上下文信息。
10.根據(jù)權(quán)利要求8所述的方法,其中基于所述第二編碼方案使用的上下文信息的大 小來確定指定數(shù)目的塊。
11.根據(jù)權(quán)利要求8所述的方法,其中所述第一分區(qū)中的一個塊行和所述第二分區(qū)中 的一個塊行從所述視頻數(shù)據(jù)的兩個連續(xù)幀的相應(yīng)行中導(dǎo)出,并且其中解碼所述第二分區(qū)進(jìn) 一步包括使用來自已經(jīng)由所述多個處理器中的第一處理器解碼的塊的信息來對所述第二分區(qū)中的至少一個塊進(jìn)行解碼。
12.根據(jù)權(quán)利要求1-3中任一項所述的方法,進(jìn)一步包括 在所述視頻數(shù)據(jù)中讀取指示分區(qū)的數(shù)目的記錄。
13.根據(jù)權(quán)利要求1-3中任一項所述的方法,進(jìn)一步包括 在所述視頻數(shù)據(jù)中讀取指示所指定宏塊偏移的大小的記錄。
14.根據(jù)權(quán)利要求1或者2所述的方法,進(jìn)一步包括在所述視頻數(shù)據(jù)中讀取指示所述經(jīng)編碼的視頻數(shù)據(jù)內(nèi)的分區(qū)的位置的記錄。
15.根據(jù)權(quán)利要求1所述的方法,其中所述第一編碼方案是基于上下文的算術(shù)編碼。
16.一種用于對視頻數(shù)據(jù)進(jìn)行編碼的方法,所述視頻數(shù)據(jù)包括至少一個具有多個塊行 的幀,所述方法包括使用第二編碼方案對所述行進(jìn)行編碼,其中編碼每個行的輸入包括相鄰行中包含的信息;將所述多個行劃分為多個分區(qū),其中至少兩個相鄰行放置到單獨(dú)的分區(qū)中; 進(jìn)一步使用第一編碼方案對所述多個分區(qū)中的每個分區(qū)進(jìn)行編碼; 記錄指示已經(jīng)將所述多個行劃分成的分區(qū)的數(shù)目的值;以及 記錄指示經(jīng)編碼的視頻數(shù)據(jù)內(nèi)的分區(qū)的位置的值。
17.根據(jù)權(quán)利要求16所述的方法,其中所述第二編碼方案包括幀內(nèi)預(yù)測和幀間預(yù)測中 的至少一個。
18.根據(jù)權(quán)利要求16所述的方法,其中所述第一編碼方案是熵編碼方案。
19.根據(jù)權(quán)利要求16所述的方法,其中所述第一編碼方案是基于上下文的算術(shù)編碼。
20.根據(jù)權(quán)利要求16-19中任一項所述的方法,其中分區(qū)的數(shù)目N是大于1的數(shù)目。
21.根據(jù)權(quán)利要求16-19中任一項所述的方法,其中將所述行劃分為多個分區(qū)進(jìn)一步 包括將所述幀的每第N行分組到所述多個分區(qū)中不同的分區(qū),以使得所述幀中的每個相鄰 行放置在單獨(dú)分區(qū)中。
22.一種用于對經(jīng)編碼的視頻數(shù)據(jù)流進(jìn)行解碼的方法,所述經(jīng)編碼的視頻數(shù)據(jù)流包括 已經(jīng)至少使用第一編碼方案進(jìn)行了壓縮的多個分區(qū),所述方法包括在所述分區(qū)中選擇包括還已經(jīng)至少使用第二編碼方案進(jìn)行了編碼的至少一個塊行的 至少第一分區(qū);在所述分區(qū)中選擇包括還已經(jīng)使用所述第二編碼方案進(jìn)行了編碼的至少一個塊行的 至少第二分區(qū);使用第一處理器對所述第一分區(qū)進(jìn)行解碼;以及使用第二處理器對所述第二分區(qū)進(jìn)行解碼,其中對所述第二分區(qū)的解碼偏移指定數(shù)目 的塊,以使得來自對所述第一分區(qū)進(jìn)行解碼的輸出的至少一部分用作根據(jù)所述第一編碼方 案解碼所述第二分區(qū)的輸入。
23.根據(jù)權(quán)利要求22所述的方法,其中所述第一編碼方案包括無損編碼,并且所述第 二編碼方案包括幀內(nèi)預(yù)測和幀間預(yù)測中的至少一個。
24.根據(jù)權(quán)利要求22或者23所述的方法,其中所述第一分區(qū)的一個塊行和所述第二分 區(qū)中的一個塊行從由所述視頻數(shù)據(jù)表示的圖像幀的兩個相鄰行中導(dǎo)出。
25.根據(jù)權(quán)利要求22或者23所述的方法,其中所述無損編碼是熵編碼方案。
26.根據(jù)權(quán)利要求22或者23所述的方法,其中來自對所述第二分區(qū)進(jìn)行解碼的輸出的 行塊的至少一部分用作根據(jù)所述第一編碼方案和所述第二編碼方案中的至少一個來解碼 所述第一分區(qū)中的另一塊行的至少一部分的輸入。
27.根據(jù)權(quán)利要求沈所述的方法,其中所述第二分區(qū)中的行在所述視頻信息的幀中與 所述第一分區(qū)中的行相鄰。
28.根據(jù)權(quán)利要求22或者23所述的方法,其中所述第二編碼方案配置用于使用所述第 二分區(qū)中的一個塊行中包含的上下文信息來對所述第一分區(qū)中的一個塊行進(jìn)行編碼。
29.根據(jù)權(quán)利要求22或者23所述的方法,其中所述第二編碼方案配置用于使用所述第 一分區(qū)中的一個塊行中包含的上下文信息來對所述第二分區(qū)中的一個塊行進(jìn)行編碼。
30.根據(jù)權(quán)利要求四所述的方法,其中所述第二編碼方案包括幀內(nèi)預(yù)測和幀間預(yù)測中 的至少一個。
31.根據(jù)權(quán)利要求四所述的方法,其中所述第一分區(qū)中的一個塊行和所述第二分區(qū)中 的一個塊行從由所述視頻數(shù)據(jù)表示的圖像幀的兩個相鄰行中導(dǎo)出,并且其中解碼所述第二 分區(qū)進(jìn)一步包括使用來自已經(jīng)由所述第一處理器解碼的塊的信息來對所述第二分區(qū)中的至少一個塊 進(jìn)行解碼,其中所述第二分區(qū)中的至少一個塊和所述第一分區(qū)中已經(jīng)解碼的塊在所述圖像 幀中彼此相鄰。
32.根據(jù)權(quán)利要求四所述的方法,其中解碼所述第二部分進(jìn)一步包括使用由所述第一處理器最近解碼的塊的信息的至少一部分作為用于解碼所述第二分 區(qū)中的至少一個塊的上下文數(shù)據(jù)。
33.根據(jù)權(quán)利要求四所述的方法,其中基于所述第二編碼方案使用的上下文大小來確 定所指定的偏移。
34.根據(jù)權(quán)利要求四所述的方法,其中所述第一分區(qū)中的一個塊行和所述第二分區(qū)中 的一個塊行從所述視頻數(shù)據(jù)的兩個連續(xù)幀的相應(yīng)行中導(dǎo)出,并且其中解碼所述第二分區(qū)進(jìn) 一步包括使用來自已經(jīng)由所述第一處理器解碼的塊的信息來對所述第二分區(qū)中的至少一個塊 進(jìn)行解碼。
35.根據(jù)權(quán)利要求22或者23所述的方法,進(jìn)一步包括在所述視頻數(shù)據(jù)中讀取指示分區(qū)的數(shù)目的記錄。
36.根據(jù)權(quán)利要求22或者23所述的方法,進(jìn)一步包括在所述視頻數(shù)據(jù)中讀取指示所指定宏塊偏移的大小的記錄。
37.根據(jù)權(quán)利要求22或者23所述的方法,進(jìn)一步包括在所述視頻數(shù)據(jù)中讀取指示所述經(jīng)編碼的視頻數(shù)據(jù)內(nèi)的分區(qū)的位置的記錄。
38.根據(jù)權(quán)利要求22或者23所述的方法,其中所述第一編碼方案是基于上下文的算術(shù) 編碼。
全文摘要
公開了一種用于對經(jīng)編碼的視頻數(shù)據(jù)流進(jìn)行解碼的方法。視頻流包括已經(jīng)使用無損編碼進(jìn)行壓縮的分區(qū)。每個分區(qū)包括還已經(jīng)例如使用幀內(nèi)編碼或者幀間編碼進(jìn)行編碼的行。在解碼過程期間,兩個或更多個分區(qū)在兩個或更多個處理器上并行地進(jìn)行熵解碼,區(qū)別在于包含幀中相鄰行的分區(qū)利用偏移來解碼,以使得對一個分區(qū)進(jìn)行熵解碼的輸出的至少一部分可以用作對其他分區(qū)的熵解碼和幀內(nèi)/幀間解碼的輸入。
文檔編號H04N7/24GK102150425SQ200980135560
公開日2011年8月10日 申請日期2009年9月10日 優(yōu)先權(quán)日2008年9月11日
發(fā)明者J·班科斯基, P·威爾金斯, 許耀武 申請人:谷歌公司