用于修改二進制視頻流的方法
【專利摘要】本發(fā)明涉及一種用于修改根據(jù)視頻編碼算法所編碼的二進制視頻流的方法,所述視頻編碼算法包括預測環(huán)路以及集成在該預測環(huán)路中的環(huán)內(nèi)后濾波。該方法包括由設備執(zhí)行的下列步驟:在二進制視頻流中搜索與環(huán)內(nèi)后濾波有關(guān)的語法元素,該語法元素被解碼設備用來控制實現(xiàn)環(huán)內(nèi)后濾波的復雜度;以及修改(321、323、325)所述語法元素的值或者刪除(321、323、325)所述語法元素。
【專利說明】用于修改二進制視頻流的方法
[0001]本發(fā)明涉及一種用于調(diào)節(jié)先前壓縮的視頻流的解碼的復雜度的方法和設備。
[0002]近來的視頻數(shù)據(jù)壓縮方法(諸如H.264/AVC標準(IS0/IEC 14496-10-MPEG-4部分
10、高級視頻編碼/ITU-T !1.264)或者新興的冊¥(:標準(130/^0 23008-2-MPEG-H部分2、高效視頻編碼/ITU-T H.265))已經(jīng)提供了對壓縮性能的顯著改善。這些方法使用這樣的視頻編碼方法:允許在壓縮(即編碼)后視頻數(shù)據(jù)的發(fā)送速率降低,同時在解壓縮(即解碼)后在圖像渲染質(zhì)量方面保留這些視頻數(shù)據(jù)。
[0003]然而,該性能的改善(基本上是由于現(xiàn)有壓縮工具的改善以及新的壓縮工具的集成)導致了復雜度增加并因此導致了這些壓縮方法對存儲資源以及處理資源的需求增加。這些方法實際上具有非常高的計算成本并且需要在存儲器中存儲大量的數(shù)據(jù)。為了實現(xiàn)這些方法,必須提供具有適合的計算能力和存儲能力的解碼設備。
[0004]然而,通常針對編碼和解碼設備的成本價格的問題,調(diào)整計算能力和存儲能力的大小使得正好合適,這使得編碼和解碼設備無法提供超越針對這些編碼和解碼設備被設計的功能的功能。
[0005]另一方面,重要的是向視頻應用的用戶提供新穎和創(chuàng)新的先進功能,以便延續(xù)他們對這些應用的興趣。這是因為,盡管在過去這些用戶滿足于簡單的視頻顯示功能,但這些用戶現(xiàn)在可能尋求更多的交互顯示功能,例如允許加速觀看視頻(“特技模式”)、根據(jù)畫中畫模式將一視頻嵌入到另一視頻中、或者例如以馬賽克模式并行觀看多個視頻。這些新的顯示功能對視頻應用的計算機能力的需求以及存儲能力的需求增加。例如,視頻的加速觀看可能需要以超過與視頻的實時顯示的幀速率相對應的幀速率來對該視頻解碼。將一視頻嵌入到另一視頻中需要在以兩個單獨的視頻流的形式接收所述視頻時并行地進行兩個解碼。類似地,顯示視頻的馬賽克可能需要并行地進行多個視頻解碼。
[0006]許多解碼設備因為它們的計算能力和存儲能力的不足而無法訪問這些先進的顯示功能。因此,提出使得能夠在不需要更換解碼設備的情況下訪問這些服務的解決方案將是有利的。
[0007]該問題通過由以下操作構(gòu)成的本發(fā)明得以解決:當視頻解碼設備被用于例如實現(xiàn)要求高計算輸入的顯示功能時,確保二進制視頻流與視頻解碼設備的計算能力和選擇性地存儲能力的兼容性。
[0008]為此,根據(jù)本發(fā)明的第一方面,本發(fā)明涉及一種用于修改根據(jù)視頻編碼算法的二進制視頻流的方法,所述視頻編碼算法包括預測環(huán)路和集成在所述預測環(huán)路中的環(huán)內(nèi)后濾波。所述方法包括由設備執(zhí)行的下列步驟:在所述二進制視頻流中搜索與所述環(huán)內(nèi)后濾波有關(guān)的語法元素,所述語法元素被解碼設備用于控制實現(xiàn)所述環(huán)內(nèi)后濾波的復雜度;以及修改所述二進制視頻流中的所述語法元素的值或者去除所述語法元素,以便獲得由所述解碼設備實現(xiàn)所述環(huán)內(nèi)后濾波的所述復雜度的降低。
[0009]與環(huán)內(nèi)后濾波有關(guān)的語法元素的修改或去除使得能夠向解碼設備指示可以實現(xiàn)簡化的環(huán)內(nèi)后濾波或者不能實現(xiàn)環(huán)內(nèi)后濾波,這將降低解碼復雜度。該方法由于不需要二進制視頻流的解碼和完全重新編碼而具有低的計算成本。
[0010]根據(jù)一個實施方式,所述環(huán)內(nèi)后濾波包括去塊濾波和/Ssao(采樣自適應偏移)濾波。
[0011]通過使得能夠控制多個環(huán)內(nèi)后濾波方法,所述方法使得能夠?qū)獯a復雜度的降低進行細微地調(diào)整。
[0012]根據(jù)一個實施方式,所述去塊濾波弱化像素的塊之間的不連續(xù),并且包括較強地弱化像素的塊之間的不連續(xù)的高復雜度的濾波、和較弱地弱化像素的塊之間的不連續(xù)的低復雜度的濾波,當語法元素的值已經(jīng)被修改并且所述語法元素與去塊濾波有關(guān)時,修改所述值以便與所述高復雜度去塊濾波相比偏愛由解碼設備使用所述低復雜度去塊濾波。
[0013]通過該方式,使用去塊濾波的復雜度被降低,同時允許所述塊之間的不連續(xù)的最小的弱化。
[0014]根據(jù)一個實施方式,當語法元素的值已經(jīng)被修改并且所述語法元素與去塊濾波有關(guān)或者與SAO濾波有關(guān)時,修改所述語法元素的值使得能夠通過解碼設備分別將所述去塊濾波的使用或者所述SAO濾波的使用去激活。
[0015]該方法因此使得能夠?qū)⑼ㄟ^解碼設備對去塊濾波和/或?qū)AO濾波的使用去激活,這使得能夠降低解碼復雜度。
[0016]根據(jù)一個實施方式,當語法元素被去除并且所述語法元素與去塊濾波有關(guān)或者與SAO濾波有關(guān)時,所述語法元素的去除使得能夠通過解碼設備分別將所述去塊濾波的使用或者所述SAO濾波的使用去激活。
[0017]該方法于是使得能夠?qū)⒔獯a設備對去塊濾波和/或SAO濾波的使用去激活,這使得能夠降低解碼的復雜度。此外,具體地當所省略的語法元素是與像素的塊的SAO濾波有關(guān)的語法元素時,所述方法通過省略語法元素使得能夠降低二進制視頻流的幀速率。
[0018]根據(jù)一個實施方式,經(jīng)修改的語法元素的值和/或省略的語法元素取決于表示對降低解碼復雜度的需求的信息。
[0019]通過該方式,所述方法是自適應的。
[0020]根據(jù)一個實施方式,降低解碼復雜度的需求取決于用戶為了在顯示設備上顯示于所述二進制視頻流相對應的圖像所要求的顯示功能。
[0021 ]通過該方式,解碼復雜度的降低適應于用戶的需求。
[0022]根據(jù)一個實施方式,所述方法還包括下列步驟:接收接收設備的二進制視頻流,該二進制視頻流通過通信網(wǎng)絡被所述接收設備接收;以及將從通過修改方法修改二進制視頻流得到的經(jīng)修改的二進制視頻流發(fā)送至解碼設備。
[0023]通過該方式,所接收到的二進制視頻流在被提供至解碼設備之前根據(jù)用戶的需求進行了調(diào)整。因此在發(fā)送初始二進制視頻之前不必修改如由視頻編碼器所生成的其它用戶可能希望以最大質(zhì)量進行解碼的所述初始二進制視頻。
[0024]根據(jù)一個實施方式,所述方法還包括下列步驟:從編碼設備接收二進制視頻流;通過通信網(wǎng)絡接收表示降低解碼復雜度的需求的信息;以及為了通過所述通信網(wǎng)絡發(fā)送經(jīng)修改的二進制視頻流,將從通過所述修改方法修改二進制視頻流所得到的經(jīng)修改的二進制視頻流發(fā)送至發(fā)送設備。
[0025]在通過網(wǎng)絡發(fā)送二進制視頻流之前使用所述方法使得能夠通過所述網(wǎng)絡不發(fā)送不必要的語法元素。
[0026]根據(jù)一個實施方式,所述視頻編碼算法基于H.264/AVC標準或基于HEVC標準。
[0027]因此,所述方法適合于兩種非常普遍的壓縮標準。具體地,當所述方法被應用于根據(jù)H.264/AVC標準的視頻流時,由于在這種情況下,對所述二進制視頻流進行的修改僅涉及報頭數(shù)據(jù)并因此無需徹底讀取所述二進制視頻流,因此使用所述方法具有非常低的計算成本。
[0028]根據(jù)本發(fā)明的第二方面,本發(fā)明涉及一種用于修改根據(jù)包括預測環(huán)路以及集成在該預測環(huán)路中的環(huán)內(nèi)后濾波的視頻編碼算法編碼的二進制視頻流的設備。所述設備包括:用于在搜索與所述環(huán)內(nèi)后濾波有關(guān)的語法元素的裝置,所述語法元素被解碼設備用于控制使用所述環(huán)內(nèi)后濾波的復雜度;以及用于修改所述語法元素的值的裝置和/或用于去除所述語法元素的裝置,以便獲得所述解碼設備使用環(huán)內(nèi)后濾波的復雜度的降低。
[0029]所述修改設備具有與關(guān)于第一方面所提及的那些優(yōu)點相同的優(yōu)點。
[0030]根據(jù)本發(fā)明的第三方面,本發(fā)明涉及一種為了通過顯示設備顯示而用于傳送二進制視頻流的系統(tǒng),所述二進制視頻流根據(jù)視頻編碼算法被編碼,所述視頻編碼算法包括預測環(huán)路以及集成在所述預測環(huán)路中的環(huán)內(nèi)后濾波,所述系統(tǒng)包括解碼設備,所述解碼設備能夠?qū)ΧM制視頻流解碼并且能夠?qū)⑴c所述二進制視頻流的解碼結(jié)果相對應的圖像發(fā)送給所述顯示設備。所述系統(tǒng)包括根據(jù)所述第二方面的用于修改二進制視頻流的設備,修改設備能夠?qū)男薷脑O備修改二進制視頻流得到的經(jīng)修改的二進制視頻流提供給解碼設備。
[0031]所述通信系統(tǒng)具有與關(guān)于第一方面所提及的那些優(yōu)點相同的優(yōu)點。
[0032]根據(jù)本發(fā)明的第四方面,本發(fā)明涉及一種計算機程序產(chǎn)品。所述計算機產(chǎn)品包括用于當所述程序被設備的處理器執(zhí)行時通過所述設備實現(xiàn)根據(jù)所述第一方面的方法的指令。
[0033]所述計算機程序產(chǎn)品具有與關(guān)于第一方面所提及的那些優(yōu)點相同的優(yōu)點。
[0034]根據(jù)本發(fā)明的第五方面,本發(fā)明涉及存儲裝置。所述存儲裝置存計算機程序,所述計算機程序包括用于當所述程序被設備的處理器執(zhí)行時通過所述設備實現(xiàn)根據(jù)所述第一方面的方法的指令。
[0035]所述存儲裝置具有與關(guān)于第一方面所提及的那些優(yōu)點相同的優(yōu)點。
[0036]上述本發(fā)明的特征以及其它特征將通過閱讀下面的示例性實施方式的描述而更清晰地呈現(xiàn),結(jié)合附圖給出所述描述,其中:
[0037]圖1A示例性地描繪了包括實現(xiàn)本發(fā)明的設備的第一視頻傳輸系統(tǒng),
[0038]圖1B示例性地描繪了包括實現(xiàn)本發(fā)明的設備的第二視頻傳輸系統(tǒng),
[0039]圖2示例性地描繪了能夠?qū)崿F(xiàn)本發(fā)明的設備,
[0040]圖3示例性地描繪了當視頻解碼設備被用于實現(xiàn)要求高計算輸入的顯示功能時,用于確保二進制視頻流與視頻解碼設備的計算能力和選擇性地存儲能力的兼容性的方法,
[0041]圖4示例性地示出了在HEVC編碼期間視頻圖像所經(jīng)歷的連續(xù)劃分,
[0042]圖5示例性地描繪了與HEVC標準兼容的用于對視頻流編碼的方法,
[0043]圖6示例性地描繪了根據(jù)HEVC標準的解碼方法,
[0044]圖7示例性地描繪了修改視頻流并因此使得能夠通過去塊濾波器類型的后濾波方法的簡單化而獲得所述視頻流的解碼的復雜度的降低的算法,
[0045]圖8示例性地描繪了修改視頻流并因此使得能夠通過防止使用去塊濾波器類型的后濾波方法而獲得所述視頻流的解碼的復雜度的降低的算法,以及
[0046]圖9示例性地描繪了修改視頻流并因此使得能夠通過防止使用SAO濾波器類型的后濾波方法而獲得所述視頻流的解碼的復雜度的降低的算法。
[0047]本發(fā)明處于視頻壓縮以及使用經(jīng)壓縮的視頻的應用(諸如視頻傳輸(流傳輸)應用)的領域。本發(fā)明適用于使用環(huán)內(nèi)后濾波的視頻壓縮方法,諸如H.264/AVC和HEVC。
[0048]圖4、圖5和圖6描述了實現(xiàn)HEVC標準的示例。
[0049]圖4示出了當根據(jù)HEVC標準進行編碼時,原始視頻401的像素圖像402所經(jīng)歷的連續(xù)劃分。此處認為像素是由三個分量組成:一個亮度分量和兩個色度分量。在圖4中的示例中,圖像402首先被劃分成三片。片是圖像的可以覆蓋整個圖像或者僅覆蓋圖像的一部分的區(qū)域,諸如圖4中的片403。片包括選擇性地跟隨有其它片段的至少一個片段。在片中的第一位置處的片段被稱為獨立片段。獨立片段(諸如片403中的片段ISl)包括完整的報頭,諸如報頭408。該報頭408包括使得片能夠被解碼的一組語法元素。片中的任何其它片段(諸如圖4中的片403中的DS2、DS3、DS4、DS5和DS6)都被稱為從屬片段,這是由于它們僅具有部分報頭,該部分報頭參考片中的它們之前的從屬片段的報頭(此處為報頭408)。在H.264/AVC標準中,僅存在片的概念,片必定包括完整的報頭并且不能被劃分。
[0050]應注意的是,圖像的每一個片都可以獨立于相同圖像中的任何其它片而被解碼。然而,在片中使用環(huán)內(nèi)后濾波可能需要使用另一片的數(shù)據(jù)。
[0051]在將圖像402劃分成片之后,圖像的各個片的像素被劃分成編碼樹塊(CTB),諸如圖4中的一組塊404。在下文中,為了簡化,我們將使用縮寫CTB來表示編碼樹塊。CTB(諸如圖4中的CTB 409)是像素的正方形,該正方形具有大小等于2的冪并且大小可以在從16至64個像素的范圍內(nèi)的邊長。CTB可以以四叉樹的形式被劃分成一個或更多個編碼單位。編碼單位是像素的正方形,該正方形具有大小等于2的冪并且其大小可以在從8至64個像素的范圍內(nèi)的邊長。編碼單位(諸如圖4中的編碼單位405)接下來可以被劃分成在空間或時間預測期間所使用的預測單位,以及被劃分成在頻域中變換像素塊期間所使用的變換單位(TU)。
[0052]在圖像的編碼期間,劃分是自適應的,也就是說,各個CTB被劃分以便優(yōu)化該CTB的壓縮性能。在下文中,為了簡化,我們將認為每個CTB都被劃分成一個編碼單位,并且該編碼單位被劃分成一個變換單位和一個預測單位。
[0053]圖5示例性地描繪了與編碼設備所使用的HEVC標準兼容的用于對視頻流編碼的方法。視頻的當前圖像501的編碼開始于(如關(guān)于圖4所描述的)步驟502期間當前圖像501的劃分。為了簡化,在圖5的其余的描述中以及圖6的描述中,我們不區(qū)分CTB、編碼單位、變換單位和預測單位并且我們將這四個實體一起分組在術(shù)語塊下。因此,當前圖像501被劃分成塊。針對各個塊,編碼設備必須在圖像幀內(nèi)編碼模式(INTRA編碼模式)與圖像幀間編碼模式(被稱為INTER編碼模式)之間確定編碼模式。
[0054]INTRA編碼模式包括:在步驟503期間,根據(jù)INTRA預測方法從預測塊預測當前塊的像素,所述預測塊從與要被編碼的塊因果相鄰的重構(gòu)塊的像素獲得。INTRA預測的結(jié)果是指示使用相鄰塊的哪些像素的預測方向,以及由當前塊與預測塊之間的差的計算得出的殘差塊。
[0055]INTER編碼模式包括從當前圖像之前或之后的圖像(該圖像被稱為參考圖像)的被稱為參考塊的像素塊預測當前塊的像素。在根據(jù)INTER編碼模式的當前塊的編碼期間,通過運動估計步驟504確定與當前塊最近(根據(jù)相似準則)的參考圖像的塊。在步驟504期間,確定指示參考塊在參考圖像中的位置的運動矢量。所述運動矢量在運動補償步驟505期間被使用,在該運動補償步驟期間,以當前塊與參考塊之間的差的形式計算出殘差塊。應注意的是,此處我們已經(jīng)描述了單預測幀間編碼模式。還存在雙預測幀間編碼模式(或B模式),針對該模式,當前塊與兩個運動矢量相關(guān)聯(lián),所述兩個運動矢量在兩個不同的圖像中指定兩個參考塊,那么該塊的殘差塊則是兩個殘差塊的平均值。
[0056]在選擇步驟506期間,由編碼設備根據(jù)比率/失真準則在測試的兩個模式之間選擇優(yōu)化壓縮性能的編碼模式。當選擇了編碼模式時,殘差塊在步驟507期間被變換并且在步驟509期間被量化。當根據(jù)INTRA編碼模式對當前塊進行編碼時,預測方向以及經(jīng)變換并量化的殘差塊在步驟510期間被熵編碼器編碼。當根據(jù)INTER編碼模式對當前塊進行編碼時,從自與位于要被編碼的塊附近的重構(gòu)塊相對應的一組運動矢量中選擇的預測矢量來預測塊的運動矢量。接下來,在步驟510期間由熵編碼器以運動殘差以及用于標識預測矢量的索引的形式對所述運動矢量進行編碼。在步驟510期間由熵編碼器對經(jīng)變換并量化的殘差塊進行編碼。熵編碼的結(jié)果被插入到二進制視頻流511中。
[0057]在步驟509期間的量化之后,當前塊被重構(gòu),使得所述當前塊所包含的像素可以被用于未來的預測。該重構(gòu)階段還被稱為預測環(huán)路。因此,在步驟512期間對經(jīng)變換和量化的殘差塊應用于反量化,并且在步驟513期間應用反變換。根據(jù)用于在步驟514期間所獲得的塊的編碼模式,該塊的預測塊被重構(gòu)。如果根據(jù)INTER編碼模式對當前塊進行編碼,則編碼設備使用當前塊的運動矢量應用(在步驟516期間)反運動補償,以便識別當前塊的參考塊。如果根據(jù)INTRA編碼模式對當前塊進行編碼,則在步驟515期間,與當前塊相對應的預測方向被用于重構(gòu)該當前塊的參考塊。將參考塊和重構(gòu)的殘差塊相加以便獲得重構(gòu)的當前塊。
[0058]重構(gòu)之后,環(huán)內(nèi)后濾波被應用(進一步至步驟517)于重構(gòu)的塊。由于該后濾波出現(xiàn)在預測環(huán)路內(nèi)以便獲得與解碼相同的參考圖像的編碼并因此避免編碼與解碼之間的偏移,因此該后濾波被稱為環(huán)內(nèi)后濾波。環(huán)內(nèi)后濾波形成新的壓縮工具的一部分,其在H.264/AVC中出現(xiàn)并在HEVC中得以改進。HEVC的環(huán)內(nèi)后濾波包括兩個內(nèi)后濾波方法(S卩,去塊濾波和SAO(采樣自適應偏移)濾波)。H.264/AVC的后濾波只包括去塊濾波。
[0059]去塊濾波的目的在于弱化由于塊之間量化的差異而導致的在塊邊界處的任何不連續(xù)。其是可以被激活或去激活的自適應濾波,并且當其被激活時,可以采用基于具有包括六個濾波器系數(shù)的維數(shù)的單獨的濾波器(其在下文中被稱為強濾波器)的高復雜度去塊濾波的形式,以及基于具有包括四個系數(shù)的一維的單獨的濾波器(其在下文中被稱為弱濾波器)的低復雜度去塊濾波的形式。強濾波器極大地弱化了在塊邊界處的不連續(xù),這可能破壞原始圖像中存在的空間高頻。弱濾波器較弱地弱化了在塊邊界處的不連續(xù),這使得能夠保存原始圖像中存在的高空間頻率,但是這將對由量化人為引起的不連續(xù)不太有效。進行濾波或不進行濾波以及倘若進行濾波所使用的濾波器的形式的決定取決于在要被濾波的塊的邊界處的像素的值以及由編碼設備確定的兩個參數(shù)β和t。。在熵編碼的步驟510期間,編碼設備將語法元素(PPS (圖像參數(shù)集)容器中的
div2、以及片報頭中的slice_beta_off set_div2和slice_tc_off set_div2)插入到二進制視頻流511中,使得其能夠找到參數(shù)β和t。的各個值。解碼設備可以使用這些語法元素確定是否必須應用去塊濾波以及要應用的去塊濾波的形式。
[0060]SAO濾波采用具有兩個不同目的的兩種形式。第一種形式(被稱為邊緣偏移)的目的在于補償對塊的邊緣的量化的影響。通過邊緣偏移的SAO濾波包括根據(jù)與邊緣的四種各自類型相對應的四個類別的重構(gòu)圖像的像素的分類。像素的分類通過根據(jù)四個濾波器的濾波來完成,每個濾波器都使其能夠獲得濾波梯度。最大化分類標準的濾波梯度指示對應于像素的邊緣類型。邊緣的各個類型與在SAO濾波期間加到像素的偏移值相關(guān)聯(lián)。
[0061 ] SAO的第二種形式被稱為帶狀偏移并且其目的在于對屬于特定范圍(S卩,帶)的值的像素的量化的影響進行補償。在帶偏移濾波期間,像素的所有可能的值(針對8比特視頻流,最常位于O到255之間)被劃分成32個具有8個值的帶。在這32個帶之間,選擇偏移4個連續(xù)的帶。當像素具有位于要被偏移的值的四個帶中的一個帶內(nèi)的值時,偏移值被加到該像素的值上。
[0062]針對各個CTB由編碼設備借助于比率/失真優(yōu)化來確定是否使用SAO濾波的決定以及當使用SAO濾波時SAO濾波的形式和偏移值。在熵編碼的步驟510期間,編碼設備將信息插入到二進制視頻流511中使得解碼設備能夠確定SAO濾波是否將會被應用到CTB、以及在應用的情況下確定要被應用的SAO濾波的形式和參數(shù)。
[0063]當塊被重構(gòu)時,其在步驟520期間被插入到存儲在重構(gòu)圖像的存儲器521(也被稱為參考圖像存儲器)中的重構(gòu)圖像中。如此存儲的重構(gòu)圖像然后可以用作用于要被編碼的其它圖像的參考圖像。
[0064]當對片的所有塊進行編碼時,對應于該片的二進制視頻流被插入到被稱為網(wǎng)絡抽象層單元(NALU)的容器中。在網(wǎng)絡傳輸?shù)那闆r下,這些容器或者被直接插入到網(wǎng)絡數(shù)據(jù)包中或者諸如MP4傳輸流的中間傳輸流容器中。
[0065]包含片的容器被稱為視頻編碼層(VCL)片。在HECV和H.264/A VC標準中定義了其它類型的容器。這些容器通常是包含對諸如SPS(序列參數(shù)集)容器的視頻序列的解碼或者對諸如PPS容器的視頻序列的圖像的子集的解碼有用的信息的報頭。每個PPS容器都包括使其能夠被識別的標識符。每個片都與PPS容器相關(guān)聯(lián)。為此,每個片都包括包含與該片相對應的PPS容器的標識符的語法元素。以類似的方式,每個SPS容器都包括使其能夠被識別的SPS容器標識符。每個PPS容器都與SPS容器相關(guān)聯(lián)。為此,每個PPS容器都包括包含與PPS容器相關(guān)聯(lián)的SPS容器的標識符的語法元素。
[0066]圖6示例性地描繪了用于對根據(jù)編碼設備所使用的HEVC標準壓縮的流進行解碼的方法。解碼被逐塊進行。針對當前塊,在步驟610期間其起始于當前塊的熵解碼。熵解碼使能夠獲得該塊的編碼模式。
[0067]如果根據(jù)INTER編碼模式對該塊進行了編碼,則熵解碼使得能夠獲得預測矢量索弓1、運動殘差以及殘差塊。在步驟608期間,使用預測矢量和運動殘差針對當前塊重構(gòu)運動矢量。
[0068]如果根據(jù)INTRA編碼模式對該塊進行了編碼,則熵解碼使得能夠獲得預測方向和殘差塊。由解碼設備實現(xiàn)的步驟612、613、614、615和616在各個方面都分別與由編碼設備實現(xiàn)的步驟512、513、514、515和516完全相同。
[0069]解碼設備接下來在步驟617期間應用環(huán)內(nèi)后濾波。與編碼一樣,環(huán)內(nèi)后濾波針對HEVC標準包括去塊濾波和SAO濾波,而環(huán)內(nèi)濾波針對H.264/AVC標準僅包括去塊濾波。
[0070]去塊濾波在步驟618期間由解碼設備來實現(xiàn)。在解碼期間,解碼設備使用寫在二進制視步頁流中 ^ip^fe^^PPs_beta_of f set_div2 Npps_tc_of f set_div2N si ice_beta_0打861:_(1;[¥2和81;[06_1:0_0€€861:_(1;[¥2找到參數(shù)0和1:。。另一方面,必須根據(jù)在塊的邊界處像素的值以及參數(shù)β和t。確定而要應用的濾波器的形式。
[0071]SAO濾波在步驟619期間通過解碼設備來實現(xiàn)。在解碼期間,解碼設備不必確定是否向塊應用SAO濾波,如果要應用SAO濾波,則解碼設備不必確定要應用的SAO濾波的形式以及偏移值,這是因為解碼設備將會在二進制視頻流中找到該信息。如果針對CTB,SA0濾波是邊緣偏移形式,則針對CTB的每個像素,解碼設備必須確定通過濾波偏移的類型并且添加與所確定的邊緣的類型相對應的偏移值。如果針對CTB,SAO濾波是帶狀偏移形式,則針對CTB的每個像素,解碼設備將要被濾波的像素的值與要被偏移的值的范圍進行比較,如果像素的值屬于要被偏移的值的范圍中的一個,則將與所述值范圍相對應的偏移值加到所述像素的值上。
[0072]如上所見,環(huán)內(nèi)后濾波形成壓縮工具的一部分,其在H.264/AVC和HEVC中出現(xiàn)使得能夠提高壓縮性能。環(huán)內(nèi)后濾波導致實現(xiàn)視頻壓縮標準的復雜度增加,并且具體地導致實現(xiàn)解碼的復雜度的增加。
[0073]為了降低二進制視頻流的解碼的復雜度,本發(fā)明通過根據(jù)用戶所需的顯示功能對二進制視頻流進行修改來控制環(huán)內(nèi)后濾波的實現(xiàn)。對二進制視頻流的修改發(fā)生在對該二進制視頻流解碼之前。因此,本發(fā)明使得能夠降低解碼的計算成本,其釋放解碼設備處的計算能力并因此具體地允許使用高級顯示功能。
[0074]現(xiàn)在將在通過通信網(wǎng)絡傳輸視頻的上下文中呈現(xiàn)本發(fā)明。圖1A示例性地描繪了包括實現(xiàn)本發(fā)明的設備的視頻傳輸系統(tǒng)。該視頻傳輸系統(tǒng)包括諸如(例如)視頻編碼器、數(shù)字視頻攝像機或數(shù)字硬盤的視頻源110。視頻源110將根據(jù)HEVC標準或者根據(jù)H.264/AVC標準編碼的二進制視頻流提供給傳輸設備111。傳輸設備111包括用于將二進制視頻流與其它二進制流(諸如二進制音頻流)相結(jié)合以形成復用的二進制流的復用器。復用的二進制流隨后要么有線地要么無線地通過諸如互聯(lián)網(wǎng)或LAN(局域網(wǎng))的通信網(wǎng)絡120被傳輸。傳輸后,復用的二進制流被包括解復用器的接收設備112接收。解復用器然后從該復用二進制流中提取二進制視頻流并且接收設備112將該二進制視頻流發(fā)送至根據(jù)本發(fā)明的一個方面的二進制視頻流修改設備113。根據(jù)用戶所需的顯示功能,二進制視頻流修改設備113(為了簡化,我們將在下文中將其稱為修改設備)可以修改二進制視頻流以便降低環(huán)內(nèi)后濾波的復雜度。修改后的二進制視頻流接下來被發(fā)送至解碼設備114,解碼設備114對修改后的二進制視頻流進行解碼,解碼的結(jié)果由顯示設備115顯示。
[0075]圖2示例性示出了能夠?qū)崿F(xiàn)二進制視頻流修改設備113的設備的硬件架構(gòu)的示例。設備113包括(通過通信總線205連接的):處理器或CPU(中央處理單元)200;隨機存取存儲器(RAM)201、只讀存儲器(R0M)202;存儲單元203或存儲介質(zhì)讀取器,諸如SD(安全數(shù)字)卡讀取器或硬盤驅(qū)動器(HDD);用于與其它設備交換數(shù)據(jù)的至少一個接口 204。該接口 204使得修改設備113能夠接收二進制視頻流、發(fā)送修改后的二進制視頻流以及例如借助于諸如遙控器的控制設備(未示出)從用戶接收指令,使得用戶能夠操作顯示設備115上的圖形界面。
[0076]處理器200能夠執(zhí)行從ROM202、從外部存儲器(未示出)、從存儲介質(zhì)或者從通信網(wǎng)絡120加載到RAM 201中的指令。當修改設備113加電時,處理器200能夠從RAM 201讀取指令并執(zhí)行所述指令。這些指令形成使得通過處理器200實現(xiàn)所有或一些下文所描述的與修改設備113有關(guān)的算法和步驟的計算機程序。
[0077]下文所描述的所有或一些算法和步驟可以通過由諸如DSP(數(shù)字信號處理器)或者微控制器的可編程機器執(zhí)行一組指令以軟件的形式實現(xiàn),或者通過機器或?qū)S媒M件(諸如FPGA(現(xiàn)場可編程門陣列)或ASICX專用集成電路))以硬件的形式實現(xiàn)。
[0078]圖3示例性地描繪了當視頻解碼設備被用于實現(xiàn)要求高計算輸入的顯示功能時,用于確保二進制視頻流與視頻解碼設備的計算能力的兼容性的算法。該算法開始于在步驟300期間由修改設備接收根據(jù)HEVC標準編碼的二進制視頻流。接下來對三個布爾變量進行初始化:當變量DBF_weak被設置成真時表示去塊濾波必須偏愛弱濾波器的變量DBF_weak在步驟301期間將被初始化成假;當被設置成真時表示去塊濾波必須被去激活的變量DBF_0FF在步驟302期間被初始化成假;當被設置成真時表示SAO濾波必須被去激活的變量SA0_0FF在步驟303期間將被初始化成假。修改設備113接下來確定用戶需要哪個顯示功能。每個顯示功能都對應于實現(xiàn)的復雜度。此處假設修改設備113已知實現(xiàn)用戶可能制定的各個顯示功能的復雜度。然后修改設備113將關(guān)于實現(xiàn)顯示功能的復雜度的該信息與關(guān)于解碼設備114的處理能力的信息進行比較。該比較使得修改設備113能夠確定哪些是在降低解碼復雜度方面修改二進制視頻流使得該二進制視頻流的解碼在用戶所需的顯示功能的上下文中與解碼設備114的處理能力相兼容的需求。要對二進制視頻流進行的修改取決于用于降低解碼復雜度的該需求。
[0079]在一個實施方式中,該比較使用一組閥值。各個閥值使其能夠確定修改設備必須如何修改二進制視頻流。如果實現(xiàn)的復雜度低于第一閥值,則不修改二進制視頻流;如果實現(xiàn)的復雜度位于第一閥值到第二閥值之間,則SAO濾波被去激活;如果實現(xiàn)的復雜度位于第二閥值到第三閥值之間,則SAO濾波被去激活并且偏愛低復雜度去塊濾波;如果實現(xiàn)的復雜度高于第三閥值,則SAO濾波和去塊濾波都被去激活。
[0080]在步驟304期間,修改設備113確定用戶是否希望以加速模式顯示視頻。在這種情況下,二進制流修改設備113在步驟305期間將變量Dbf_weak固定為真并且在步驟306期間將變量SA0_0FF固定為真。
[0081]否則,在步驟307期間,修改設備113確定用戶是否希望根據(jù)畫中畫模式顯示兩個視頻,第一視頻以低分辨率顯示并且內(nèi)嵌在以全分辨率顯示的第二視頻中。在這種情況下,修改設備113在步驟308期間將變量DBF_0FF固定為真并且在步驟309期間將變量SA0_0FF固定為真。
[0082]否則,在步驟310期間,修改設備113確定用戶是否希望使用多應用模式。多應用模式可以是多個顯示功能(諸如(例如)與畫中畫模式相結(jié)合的加速顯示或者其中同時顯示有多個低分辨率視頻的馬賽克模式)的組合。如果要求顯示多應用模式,則修改設備113確定實現(xiàn)所要求的多應用模式的復雜度。在步驟311期間,修改設備113確定實現(xiàn)的復雜度是否為低,例如在第一閥值到第二閥值之間。具有低實現(xiàn)復雜度的多應用模式例如可以是用于以其中顯示有低分辨率視頻的畫中畫模式加速顯示的請求。如果是這種情況,則修改設備113在步驟312期間將變量SA0_0FF固定為真。
[0083]否則,在步驟313期間,修改設備113確定實現(xiàn)所述多應用模式的復雜度是否是中等的,例如在第二閥值到第三閥值之間。具有中等實現(xiàn)復雜度的多應用模式例如可以是用于以其中顯示有全分辨率視頻的畫中畫模式加速顯示的請求。如果是這種情況,則修改設備113在步驟314期間將變量Dbf_weak固定為真并且在步驟315期間將變量SAO_OFF固定為真。
[0084]否則,在步驟316期間,修改設備113確定實現(xiàn)的復雜度是否為高,例如高于第三閥值。具有高計算成本的多應用模式例如可以是用于顯示多個低分辨率視頻的馬賽克的請求。如果是這種情況,則修改設備113在步驟317期間將變量DBFJFF固定為真并且在步驟318期間將變量SA0_0FF固定為真。
[0085]如果在步驟310期間未請求顯示功能或者如果未識別出所請求的顯示功能,則修改設備113不改變變量Dbf_weak、DBF_OFF和SA0_0FF。在這種情況下,所述顯示是視頻以全分辨率的常規(guī)顯示。可以注意到,變量Dbf_weak和DBFJFF可以不都等于真。這實際上不必修改二進制視頻流,以使得當意圖去激活去塊濾波時偏愛使用低復雜度的去塊濾波。
[0086]在考慮到用戶的顯示功能需求之后,修改設備113開始對所接收到的視頻流進行修改。該視頻流以網(wǎng)絡數(shù)據(jù)包的形式被接收到。此處認為每個網(wǎng)絡數(shù)據(jù)包都包含單個容器。修改設備113按照它們到達的順序一個接一個地處理數(shù)據(jù)包。在步驟319期間,修改設備113從第一數(shù)據(jù)包移除所述容器。然后,修改設備113在步驟320中檢查變量DBF_weak的值。如果變量DBF_weak為真,則在第一修改步驟321處理所述容器用于修改二進制視頻流的部分。在下文中關(guān)于圖7詳細描述實現(xiàn)該第一修改步驟321的示例。第一修改步驟321變換與所述容器相對應的二進制流部分以在解碼期間偏愛使用弱去塊濾波器。控制實現(xiàn)去塊濾波的復雜度的語法元素隨后被修改。
[0087]在步驟321 (或者如果變量DBF_weak為假則是步驟320)之后的步驟322期間,修改設備113測試變量DBF_0FF的值。如果變量DBF_0FF為真,則通過二進制視頻流的修改部分的第二步驟323來處理所述容器。在下文中關(guān)于圖8詳細描述實現(xiàn)該第二修改步驟323的示例。第二修改步驟323變換與所述容器相對應的二進制流部分以在解碼期間將去塊濾波去激活。控制實現(xiàn)所述去塊濾波的復雜度的語法元素隨后被修改或者被去除。
[0088]在步驟323(或者如果變量DBF_0FF為假則是步驟322)之后的步驟324期間,修改設備測試變量SAOJFF的值。如果變量SA0_0FF為真,則通過二進制視頻流的修改部分的第三步驟325來處理所述容器。在下文中關(guān)于圖9詳細描述實現(xiàn)該第三修改步驟325的示例。第三修改步驟325變換與所述容器相對應的二進制流部分以在解碼期間將SAO濾波去激活??刂茖崿F(xiàn)所述SAO濾波的復雜度的語法元素隨后被去除或者被修改。
[0089]步驟325(或者如果變量SAOJFF為假則是步驟324)后緊跟步驟326,在該步驟326期間,所述容器被傳送至緊隨修改設備113之后的設備,S卩,圖1A中的示例中的解碼設備114。
[0090]圖3示例性地描繪了用于確保視頻顯示功能與視頻解碼設備的計算能力的兼容性的方法。該方法適用于根據(jù)HEVC標準編碼的二進制視頻流。該方法可以通過去除與SAO濾波有關(guān)的所有步驟(步驟303、306、309、312、315、318、324、325)而適用于根據(jù)H.264/AVC標準編碼的二進制視頻流。在【具體實施方式】中,在步驟300期間,修改設備113在HEVC和H.264/AVC之間識別在二進制視頻流的編碼期間所應用的編碼標準,這在所述方法的剩余部分中使得能夠應用與SAO濾波有關(guān)的步驟或者不能應用與SAO濾波有關(guān)的步驟。在該實施方式中,解碼設備114能夠?qū)Ω鶕?jù)HEVC標準以及H.264/AVC標準編碼的二進制視頻流進行解碼。應注意的是,當所述方法被應用于根據(jù)H.264/AVC標準編碼的二進制視頻流時,僅對包括在SPS和PPS容器中和片報頭中的語法元素進行修改,這有助于修改二進制視頻流。
[0091]此外,在參照圖3描述的算法中,要對二進制視頻流進行的修改取決于用戶所需要的顯示功能。在另一替代實施方式中,要對二進制視頻流進行的修改取決于由解碼設備114實現(xiàn)的解碼工具。例如,一些解碼設備實現(xiàn)脫離于預測環(huán)路的后濾波工具。脫離于預測環(huán)路的這些后濾波工具可能是非常有效的并且可能減少使用去塊濾波和SAO濾波的優(yōu)勢。另外,脫離于預測環(huán)路的這些后濾波工具還增加解碼復雜度。在一些情況下,可能偏愛使用這些工具而不是由視頻壓縮標準制定的環(huán)路濾波工具。因此,在該替代實施方式中,關(guān)于脫離于預測環(huán)路的后濾波工具的信息被提供至修改設備113,其修改和/或去激活SAO濾波的實現(xiàn)和/或(如有必要)去塊濾波的實現(xiàn)。
[0092]此外,圖3示例性地描繪了當視頻解碼設備被用于實現(xiàn)要求高計算輸入的顯示功能時,用于確保二進制視頻流與視頻解碼設備的計算能力的兼容性的算法。在另一實施方式中,該算法可以使其能夠確保二進制視頻流與視頻解碼設備的存儲能力的兼容性。在該實施方式中,每個顯示功能都對應于存儲成本。此處假設修改設備113知道與實現(xiàn)用戶可能制定的各個顯示功能相對應的存儲成本。然后修改設備113將關(guān)于顯示功能的存儲成本的該信息與關(guān)于解碼設備114的存儲能力的信息進行比較。該比較使得修改設備113能夠確定什么是就降低存儲成本而言二進制視頻流修改需求,使得在用戶所需的顯示功能的上下文中該二進制視頻流的解碼與解碼設備114的存儲能力相兼容。要對二進制視頻流進行的修改取決于用于降低存儲成本的該需求。該實施方式可以與基于計算成本的實施方式相結(jié)合。在相結(jié)合的情況下,實現(xiàn)解碼的復雜度即涉及計算復雜度又涉及就使用解碼設備114的存儲器而言的復雜度。由修改設備113修改的二進制視頻流則不僅與解碼設備114的計算能力相兼容而且還與解碼設備114的存儲能力相兼容。
[0093]圖7詳細描述了修改設備113所使用的用于變換HEVC容器以便在解碼期間偏愛使用弱去塊濾波器的算法。該算法開始于步驟700期間的容器的接收。接下來在步驟701期間由修改設備113檢測所接收到的容器的類型。如果該容器是PPS容器,則修改設備113在步驟702中搜索用于檢查去塊濾波參數(shù)的值的語法元素pps_beta_offset_div2。如果存在語法元素。。8_&6七3_(^€861:_(1;^2,則修改設備將該語法元素。。8_&6七3_(^€861:_(1;^2的值強制固定為值“-6”。通過將語法元素pps_beta_offset_div2的值固定為值“_6”,增加了解碼期間使用4-系數(shù)去塊濾波的機會。在另選實施方式中,修改設備也可以將變量pps_tc_offset_div2強制固定為值“_6”,這具有在解碼期間更加偏愛使用4-系數(shù)去塊濾波器的效果。在實現(xiàn)步驟703之后,或者倘若在步驟701或702期間是否定響應,則修改設備113等候接收新的容器。新的容器的接收導致返回至步驟700。
[0094]如果容器不是PPS類型,則修改設備113在步驟704期間檢查該容器是否是VCL類型。如果是這種情況,則修改設備113在步驟705期間在與所述容器相對應的片的報頭中搜索用于在片處控制去塊濾波參數(shù)的值的語法元素si ice_beta_offset_di v2。如果存在語法元素slice_beta_off set_div2,則修改設備 113將該語法元素81;^6_&6七&_0€€861:_(1;^2的值固定為值“-6”。通過將語法元素slice_beta_offset_div2的值固定為值“_6”,增加了解碼期間使用弱去塊濾波的機會。在另一實現(xiàn)中,語法元素sI ice_beta_of f set_div2在對應于所述片的二進制視頻流部分中被去除。在該實現(xiàn)中,語法元素sIice_beta_offset_div2的值從包含在對應于所述片的PPS容器中的語法元素PPS_beta_offset_div2的值復制。在替代實施方式中,修改設備可以將語法元素slice_tc_offset_div2的值強制固定為“_6”,或者去除其值可能是從語法元素pps_tc_offset_div2的值復制的語法元素slice_tc_offset_div20
[0095]在實現(xiàn)步驟706之后,或者在步驟704或705期間是否定響應的情況下,修改設備113等候接收新的容器。新的容器的接收使得返回至步驟700。
[0096]圖8詳細描述了修改設備113所使用的用于變換HEVC容器以便在解碼期間將去塊濾波的使用去激活的算法。當接收到PPS容器時,應用算法的第一部分821。該第一部分確保與涉及去塊濾波的PPS容器的一組語法元素的去塊濾波的去激活的一致性。該算法開始于在步驟800期間的容器的接收。然后在步驟801期間由修改設備113檢查所接收到的容器的類型。如果該容器是PPS容器,則修改設備113在步驟802期間搜索指示該容器中存在與去塊濾波有關(guān)的語法元素的語法元素Deblocking_filter_control_present_flag。當發(fā)現(xiàn)語法元素Deblocking_f i lter_control_present_f lag時,修改設備113檢查該語法元素06131001<:;[叫_;1^1七61'_(30111:1'01_卩代86111:_;1^]^的值。如果該語法元素06131001<:;[1^_;1^1七61'_control_present_f lag的值不同于“I”,則修改設備在步驟803期間將該語法元素Deblocking_f ilter_control_present_f lag固定為“I”,然后在步驟804期間創(chuàng)建語法元素deblocking_filter_override_enabled_flag,該語法元素使得片能夠修改與去塊濾波有關(guān)的參數(shù)值,并且在步驟805期間創(chuàng)建語法元素pps_deblocking_filter_disabled_f lag,該語法元素指示參考該PPS容器的片不使用去塊濾波。步驟805(或者當語法元素Deblocking_filter_control_present_flag等于 “I” 時則是步驟802)后緊跟步驟806。如果語法元素Deblocking_filter_control_present_flag等于“I”,則修改設備113搜索語法元素(^131001<:;[1^_;1^1七6!'_0¥61'1^(16_6肪1316(1_;1^]^0然后將該語法元素(16131001<:;[1^_;1^1七61'_override_enabled_flag設置為 “O,,。如果語法元素Deblocking_filter_control_present_flag 等于 “O”,則將語法元素(161310。1<111〖_;1^1丨61'_0¥61';1^(16_6肪1316(1_;1^1&〖設置為 “O”,并且將該語法元素deblocking_f ilter_override_enabled_f lag插入到對應于所述容器的二進制流部分中。在步驟807期間,如果語法元素Deblocking_f ilter_control_present_f lag等于“I”,則修改設備113搜索語法元素卩卩8_(16131001^11〖_;1^1丨61'_(11831316(1_;1^13〖。然后將該語法元素Ms_deblocking_filter_disabled_flag設置為 “I”。如果語法元素Deblocking—f i lter_control_present_f lag等于 “O”,則然后將語法元素?。8_(161310。1<:;[1^_;1^]^61'_disabled_f lag設置為 “I”,并且將該語法元素。。8_(161310。1<:;[1^_;1^]^61'_(1丨8&1316(1_;1^1&區(qū)插入到對應于所述容器的二進制流部分中。
[0097]在步驟808期間,修改設備113在對應于所述容器的二進制視頻流部分中搜索用于控制去塊濾波器的參數(shù)β的值的語法元素pps_beta_offset_div2。如果存在語法元素pps_beta_offset_div2,則在步驟809期間在對應于所述容器的二進制視頻流部分中去除該語法元素。
[0098]步驟808(或步驟809,如果存在語法元素pps_beta_offset_div2)后緊跟步驟810,在該步驟期間,修改設備113在對應于所述容器的二進制視頻流部分中搜索用于控制去塊濾波器的參數(shù)tc的值的語法元素pps_tc_offset_div2。如果存在語法元素pps_tc_offset_div2,則在步驟811期間在對應于所述容器的二進制視頻流部分中去除該語法元素。
[0099]在變換PPS容器之后,修改設備113等候接收新的容器。新的容器的接收使得返回至步驟800。
[0100]如果在步驟801期間該容器不是PPS容器,則修改設備113在步驟812期間檢查該容器是否是VCL容器。如果該容器不是VCL容器,則修改設備113等候接收新的容器。新的容器的接收使得返回至步驟800。
[0101]如果該容器是VCL容器,則修改設備113應用算法的第二部分822,如圖8所示。通過應用算法的該第二部分,修改設備113確保與涉及去塊濾波的片的一組語法元素的去塊濾波的去激活的一致性。算法的該第二部分822包括去除與包含在VCL容器中的片的報頭的去塊濾波有關(guān)的所有語法元素。在步驟813中,修改設備113搜索指示在所示片中存在與去塊濾波有關(guān)的語法元素的語法元素061310^^呢_;1^]^61'_0¥61';1^(16_;1^13區(qū)。
[0102]如果存在語法元素06131001^1^_;1^]^61'_0¥61'1^(16_;1^138,則在步驟814期間從對應于所述容器的二進制視頻流部分中去除該語法元素Deblocking_filter_override_flag。
[0103]步驟813(或者如果存在語法元素Deblocking_f ilter_override_f lag則是步驟814)后緊跟步驟815,在該步驟815期間修改設備113搜索指示針對包含在容器中的片是否激活去塊濾波的語法元素Slice_deblocking_filter_disabled_flag。如果存在語法元素Slice_deblocking_f ilter_disabled_f lag,則修改設備在步驟816期間從對應于所述容器的二進制視頻流部分中去除該語法元素Slice_deblocking_filter_disabled_f lag。
[0104]步驟815(或者如果存在語法元素51;^6_(16131001<:;[1^_;1^]^61'_(1丨8&1316(1_;1^1&8則是步驟816)后緊跟步驟817,在該步驟817期間修改設備113搜索語法元素slice_beta_0打861:_(1;^_2。如果存在語法元素81;[06_66丨3_0打861:_(1;^_2,則修改設備在步驟818期間從對應于所述容器的二進制視頻流部分中去除該語法元素s I ice_beta_of f set_di v_2。[0?05] 步驟817(或者如果存在語法元素81;[06_&6丨3_(^€861:_(1;^_2則是步驟818)后緊跟步驟819,在該步驟819期間修改設備113搜索語法元素81;[06_1:(3_0打861:_(1;^_2。如果存在語法元素slice_tc_offset_div_2,則修改設備在步驟820期間從對應于所述容器的二進制視頻流部分中去除該語法元素s I ice_tc_of f set_di v_2。
[Ο?Ο?] 在實現(xiàn)步驟819(或者如果存在語法元素81;[06_1:0_(^€861:_(1;^_2則是步驟820)之后,修改設備113等候接收新的容器。新的容器的接收使得返回至步驟800。
[0107]圖9詳細描述了修改設備113所使用的用于變換HEVC容器以便在解碼期間將SAO濾波的使用去激活的算法。那么在SPS容器的接收期間應用該算法的第一部分914。該第一部分使得能夠確保與SAO濾波有關(guān)的SPS容器的語法元素與SAO濾波的去激活的一致性。該第一部分914開始于步驟901期間的容器的接收。接下來在步驟902期間由修改設備113檢查所接收到的容器的類型。如果所述容器是SPS容器,則修改設備113在步驟903中將指示在涉及該SPS容器的片中是否必須實現(xiàn)SAO濾波的語法元素Sample_adaptive_off set_enabled_flag強制固定為“O”。緊隨步驟903之后,修改設備113等候接收新的容器。新的容器的接收使得返回至步驟901。
[0108]如果該容器不是SPS容器,則修改設備113檢查該容器是否是VCL容器。如果該容器不是VCL容器,則修改設備113等候接收新的容器。新的容器的接收使得返回至步驟901。
[0109]如果所接收到的容器是VCL容器,則修改設備113應用算法的第二部分915。在該第二部分915中,修改設備113確保與SAO濾波有關(guān)的VCL容器的語法元素與SAO濾波的去激活的一致性。所述第二部分915開始于在步驟905期間搜索指示SAO濾波是否被應用于包含在所述容器中的片中的像素的亮度分量的語法元素SI ice_sao_luma_flag。如果存在語法元素Slice_sao_luma_flag,則修改設備113在步驟906期間從對應于所述容器的二進制視頻流部分中去除該語法元素Slice_sao_luma_flag。步驟905(或者如果存在語法元素Slice_8已0_11111^_;1^138則是步驟906)后緊跟步驟9070
[0110]在步驟907期間,修改設備113搜索指示SAO濾波是否被應用于包含在所述容器中的片中的像素的色度分量的語法元素51;[06_830_0111'011^_;^38。如果存在語法元素31;^6_sao_chroma_f lag,則修改設備113在步驟908中從對應于所述容器的二進制視頻流部分中去除該語法元素31;[06_830_(3111'011^_;1^138。步驟907(或者如果存在語法元素51;[06_830_chroma_f lag則是步驟908)后緊跟步驟909。
[0111 ] 在步驟906和步驟908的另一實現(xiàn)中,語法元素31;[06_830_11111^_;1^138和31;^6_sao_chroma_f lag被設置為 “O”。
[0112]算法的其余部分使得能夠通過與VCL容器相對應的片中所包含的所有CTB來運行。實際上有必要針對每個CTB檢查CTB是否包含與SAO濾波有關(guān)的語法元素并且在適當情況下去除這些語法元素。在步驟909期間,用于通過所述片的所有CTB運行的變量η被初始化為值“O”。在步驟910期間,將變量η與所述片中的CTB的數(shù)量Ne tb進行比較。如果η小于Ne tb,則修改設備113在CTB中搜索與SAO濾波有關(guān)的語法元素。如果CTB不包含與SAO濾波有關(guān)的語法元素,則變量η增加一個單位并且該算法返回至步驟910。如果CTB包含與SAO濾波有關(guān)的語法元素,則在步驟912期間將這些語法元素從對應于CTB的二進制視頻流部分中去除。所述去除例如涉及下列語法元素:sao_merge_l ef t_f lag 、sao_merge_up_flag、sao_type_idx_luma、sao_type_idx_chroma、sao_ofTset_abs、sao_ofTset_sign、sao_band_posit1n、sao_eo_c las s_luma、sao_eo_class_chroma。步驟 912后緊隨步驟 913。
[0113]直到現(xiàn)在我們認為貫穿視頻流應用相同的顯示功能。在另一實施方式中,可以在顯示視頻流期間的任何時間對顯示功能進行修改。在這種情況下,可以根據(jù)需要隨時調(diào)整PPS、SPS和VCL容器。所述片可能參考針對用戶在某一時刻所需要的功能被調(diào)整的SPS和PPS容器。然后,修改設備113分別針對這些SPS和PPS容器給出SPS容器索引和PPS容器索引,這使能夠在修改之前將它們與存在于初始二進制視頻流中的SPS和PPS容器中區(qū)分開。
[0114]另外,我們已經(jīng)描述了修改設備113變換對應于單個二進制視頻流的容器。在另一實施方式中,修改設備113處理來自不同的二進制視頻流的容器并且根據(jù)所尋求的顯示功能將不同的變換應用于這些容器。這些不同的修改后的二進制視頻流接下來由解碼設備114進行并行解碼,并且例如由顯示設備115進行組合,以便在高分辨率視頻中疊加低分辨率視頻或者顯示視頻馬賽克。此外,不同的二進制視頻流可以根據(jù)不同的標準進行編碼,一些根據(jù)HEVC標準進行編碼并且其它的根據(jù)H.264/AVC標準進行編碼。在該實施方式中,解碼設備114能夠?qū)Ω鶕?jù)HEVC標準以及H.264/AVC標準編碼的二進制視頻流進行解碼。
[0115]最后,在圖1A中,修改設備113被置于接收設備112與解碼設備114之間。在圖1B所示的替代實施方式中,修改設備也可以被置于編碼設備110與發(fā)送設備111之間。然而,在這種情況下,必須使用用于將用戶的顯示功能需求發(fā)送至修改設備113的裝置。為此,可以使用RTSP(實時流協(xié)議)請求向修改設備113指示表示用戶所要求的顯示功能的類型的信息。
【主權(quán)項】
1.一種用于修改根據(jù)視頻編碼算法所編碼的二進制視頻流的方法,所述視頻編碼算法包括預測環(huán)路和集成在所述預測環(huán)路中的環(huán)內(nèi)后濾波,其特征在于,設備(113)執(zhí)行下列步驟: 在所述二進制視頻流中搜索(702、705、802、806、807、808、810、813、815、817、819、903、905、907、911)與所述環(huán)內(nèi)后濾波有關(guān)的語法元素,所述語法元素被解碼設備(114)用于控制實現(xiàn)所述環(huán)內(nèi)后濾波的復雜度;以及 修改(321、323、325、703、706、806、807、903)所述二進制視頻流中的所述語法元素的值或者從所述二進制視頻流中去除(321、323、325、809、811、814、816、818、820、906、908、912)所述語法元素,以便獲得由所述解碼設備實現(xiàn)所述環(huán)內(nèi)后濾波的所述復雜度的降低。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述環(huán)內(nèi)后濾波包括去塊濾波和/或SAO濾波。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述去塊濾波弱化像素的塊之間的不連續(xù)并且包括第一濾波和第二濾波,所述第一濾波比所述第二濾波更強地弱化像素的塊之間的不連續(xù),所述第一濾波具有比所述第二濾波更大的復雜度,當所述語法元素的值已經(jīng)被修改并且所述語法元素與所述去塊濾波有關(guān)時,修改(703、706)所述值以便與所述第一濾波相比所述解碼設備偏愛使用所述第二濾波。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,當所述語法元素的值已經(jīng)被修改并且所述語法元素與去塊濾波有關(guān)或者與SAO濾波有關(guān)時,所述語法元素的值的所述修改(803、806、807、903)使得能夠由所述解碼設備分別將所述去塊濾波的實現(xiàn)或者所述SAO濾波的實現(xiàn)去激活。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,當所述語法元素被去除并且所述語法元素與去塊濾波有關(guān)或者與SAO濾波有關(guān)時,所述語法元素的所述去除(809、811、814、816、818、820、906、908、912)使得能夠由所述解碼設備分別將所述去塊濾波的實現(xiàn)或者所述SAO濾波的實現(xiàn)去激活。6.根據(jù)前述權(quán)利要求中的任一項所述的方法,其特征在于,修改的語法元素的值和/或去除的語法元素取決于表示解碼復雜度的降低的信息。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述解碼復雜度的降低取決于用戶為了在顯示設備(115)上顯示與所述二進制視頻流相對應的圖像所需的顯示功能。8.根據(jù)前述權(quán)利要求中的任一項所述的方法,其特征在于,所述方法還包括下列步驟: -從接收設備(112)接收所述二進制視頻流,所述二進制視頻流通過通信網(wǎng)絡(120)由所述接收設備接收;以及-將從所述二進制視頻流的所述修改得到的經(jīng)修改的二進制視頻流發(fā)送至所述解碼設備。9.根據(jù)權(quán)利要求1至7中的任一項所述的方法,其特征在于,所述方法還包括下列步驟: -從編碼設備(110)接收所述二進制視頻流; -通過通信網(wǎng)絡(120)接收表示解碼復雜度的降低的信息;以及-為了通過所述通信網(wǎng)絡發(fā)送經(jīng)修改的二進制視頻流,將從所述修改得到的經(jīng)修改的二進制視頻流發(fā)送至發(fā)送設備(111)。10.根據(jù)權(quán)利要求1至9中的任一項所述的方法,其特征在于,所述視頻編碼算法基于所述H.264/AVC標準或基于所述HEVC標準。11.一種用于修改根據(jù)視頻編碼算法所編碼的二進制視頻流的設備(113),所述視頻編碼算法包括預測環(huán)路和集成在所述預測環(huán)路中的環(huán)內(nèi)后濾波,其特征在于,所述設備包括: 用于在所述二進制視頻流中搜索(702、705、802、806、807、808、810、813、815、817、819、903、905、907、911)與所述環(huán)內(nèi)后濾波有關(guān)的語法元素的裝置,所述語法元素被解碼設備(114)用于控制實現(xiàn)所述環(huán)內(nèi)后濾波的復雜度;以及 用于修改(321、323、325、703、706、806、807、903)所述二進制視頻流中的所述語法元素的值的裝置,和/或用于從所述二進制視頻流中去除(321、323、325、809、811、814、816、818、820、906、908、912)所述語法元素的裝置,以便獲得由所述解碼設備實現(xiàn)所述環(huán)內(nèi)后濾波的所述復雜度的降低。12.—種為了通過顯示設備(115)進行顯示而傳送二進制視頻流的系統(tǒng),所述二進制視頻流根據(jù)視頻編碼算法被編碼,所述視頻編碼算法包括預測環(huán)路和集成在所述預測環(huán)路中的環(huán)內(nèi)后濾波,所述系統(tǒng)包括解碼設備(114),所述解碼設備(114)能夠?qū)λ龆M制視頻流解碼并且能夠?qū)⑴c所述二進制視頻流的解碼結(jié)果相對應的圖像發(fā)送給所述顯示設備(115),其特征在于,所述系統(tǒng)包括根據(jù)權(quán)利要求11所述的用于修改二進制視頻流的設備(113),所述修改設備能夠?qū)挠伤鲂薷脑O備修改所述二進制視頻流得到的經(jīng)修改的二進制視頻流提供至所述解碼設備。13.—種計算機程序產(chǎn)品,其特征在于,所述計算機產(chǎn)品包括用于當所述程序被設備的處理器執(zhí)行時通過所述設備實現(xiàn)根據(jù)權(quán)利要求1至10中的任一項所述的方法的指令。14.一種存儲裝置,其特征在于,所述存儲裝置存儲計算機程序,所述計算機程序包含用于當所述程序被設備的處理器執(zhí)行時通過所述設備實現(xiàn)根據(jù)權(quán)利要求1至10中的任一項所述的方法的指令。
【文檔編號】H04N19/82GK106068650SQ201580011907
【公開日】2016年11月2日
【申請日】2015年3月2日 公開號201580011907.0, CN 106068650 A, CN 106068650A, CN 201580011907, CN-A-106068650, CN106068650 A, CN106068650A, CN201580011907, CN201580011907.0, PCT/2015/54323, PCT/EP/15/054323, PCT/EP/15/54323, PCT/EP/2015/054323, PCT/EP/2015/54323, PCT/EP15/054323, PCT/EP15/54323, PCT/EP15054323, PCT/EP1554323, PCT/EP2015/054323, PCT/EP2015/54323, PCT/EP2015054323, PCT/EP201554323
【發(fā)明人】D·沙爾梅特
【申請人】薩熱姆通信寬帶簡易股份有限公司