本發(fā)明涉及視頻譯碼和壓縮的領(lǐng)域,且確切地說,涉及用于在顯示鏈路上發(fā)射的視頻壓縮,例如,顯示流壓縮(DSC)。
背景技術(shù):
可將數(shù)字視頻能力并入到廣泛范圍的顯示器,包含數(shù)字電視、個人數(shù)字助理(PDA)、膝上型計算機(jī)、臺式監(jiān)測器、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲機(jī)、蜂窩或衛(wèi)星無線電電話、視頻電話會議裝置等。顯示鏈路用于將顯示器連接到適當(dāng)源裝置。顯示鏈路的帶寬要求與顯示器的分辨率成比例,且因此,高分辨率顯示器需要大帶寬顯示鏈路。一些顯示鏈路不具有支持高分辨率顯示器的帶寬??墒褂靡曨l壓縮減少帶寬要求,使得可使用較低帶寬顯示鏈路將數(shù)字視頻提供到高分辨率顯示器。
其它人已試著利用對像素數(shù)據(jù)的圖像壓縮。然而,此類方案有時并不是視覺上無損的,或可能在常規(guī)顯示裝置中實施起來困難且昂貴。
視頻電子學(xué)標(biāo)準(zhǔn)協(xié)會(VESA)已開發(fā)了顯示流壓縮(DSC)作為用于顯示鏈路視頻壓縮的標(biāo)準(zhǔn)。顯示鏈路視頻壓縮技術(shù)(例如,DSC)應(yīng)尤其提供視覺上無損的圖片質(zhì)量(即,足夠好以致用戶不會知道壓縮有效)。顯示鏈路視頻壓縮技術(shù)還應(yīng)提供用常規(guī)硬件實時實施起來簡單且廉價的方案。
技術(shù)實現(xiàn)要素:
本發(fā)明的系統(tǒng)、方法及裝置各自具有若干創(chuàng)新方面,其中沒有單個方面單獨負(fù)責(zé)本文所揭示的合乎需要的屬性。
一方面,用于譯碼視頻數(shù)據(jù)的方法包括:確定用于所述視頻數(shù)據(jù)的前一塊的第一復(fù)雜度值、用于所述視頻數(shù)據(jù)的當(dāng)前塊的第二復(fù)雜度值及用于所述視頻數(shù)據(jù)的下一塊的第三復(fù)雜度值,所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值表示所述視頻數(shù)據(jù)的所述前一塊、所述當(dāng)前塊及所述下一塊中的對應(yīng)一者的紋理或空間頻率中的至少一者;至少部分地基于所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值確定所述當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡,其中復(fù)雜區(qū)域具有滿足或超過復(fù)雜度閾值的復(fù)雜度值且平坦區(qū)域具有小于所述復(fù)雜度閾值的復(fù)雜度值;及至少部分地基于對于所述當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的所述過渡的確定來譯碼所述視頻數(shù)據(jù)。
在另一方面,用于譯碼視頻數(shù)據(jù)的裝置包括:存儲器,其經(jīng)配置以存儲所述視頻數(shù)據(jù);及處理器,其與所述存儲器通信且經(jīng)配置以:確定用于所述視頻數(shù)據(jù)的前一塊的第一復(fù)雜度值、用于所述視頻數(shù)據(jù)的當(dāng)前塊的第二復(fù)雜度值及用于所述視頻數(shù)據(jù)的下一塊的第三復(fù)雜度值,所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值表示所述視頻數(shù)據(jù)的所述前一塊、所述當(dāng)前塊及所述下一塊中的對應(yīng)一者的紋理或空間頻率中的至少一者;至少部分地基于所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值確定所述當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡,其中復(fù)雜區(qū)域具有滿足或超過復(fù)雜度閾值的復(fù)雜度值且平坦區(qū)域具有小于所述復(fù)雜度閾值的復(fù)雜度值;及至少部分地基于對于所述當(dāng)前塊是否包含從復(fù)合區(qū)域到平坦區(qū)域的所述過渡的確定來譯碼所述視頻數(shù)據(jù)。
在又一方面中,設(shè)備包括:用于確定用于視頻數(shù)據(jù)的前一塊的第一復(fù)雜度值、用于所述視頻數(shù)據(jù)的當(dāng)前塊的第二復(fù)雜度值及用于所述視頻數(shù)據(jù)的下一塊的第三復(fù)雜度值的裝置,所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值表示所述視頻數(shù)據(jù)的所述前一塊、所述當(dāng)前塊及所述下一塊中的對應(yīng)一者的紋理或空間頻率中的至少一者;及用于至少部分地基于所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值確定所述當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡的裝置,其中復(fù)雜區(qū)域具有滿足或超過復(fù)雜度閾值的復(fù)雜度值且平坦區(qū)域具有小于所述復(fù)雜度閾值的復(fù)雜度值。
在另一方面中,非瞬時性計算機(jī)可讀存儲介質(zhì)具有存儲于其上的指令,所述指令在執(zhí)行時使裝置的處理器進(jìn)行以下操作:確定用于視頻數(shù)據(jù)的前一塊的第一復(fù)雜度值、用于視頻數(shù)據(jù)的當(dāng)前塊的第二復(fù)雜度值及用于視頻數(shù)據(jù)的下一塊的第三復(fù)雜度值,所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值表示所述視頻數(shù)據(jù)的前一塊、當(dāng)前塊及下一塊中的對應(yīng)一者的紋理或空間頻率中的至少一者;及至少部分地基于所述第一復(fù)雜度值、所述第二復(fù)雜度值及所述第三復(fù)雜度值確定所述當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡,其中復(fù)雜區(qū)域具有滿足或超過復(fù)雜度閾值的復(fù)雜度值且平坦區(qū)域具有小于所述復(fù)雜度閾值的復(fù)雜度值。
附圖說明
圖1A是說明可利用根據(jù)本發(fā)明中描述的方面的技術(shù)的實例視頻編碼及解碼系統(tǒng)的框圖。
圖1B是說明可執(zhí)行根據(jù)本發(fā)明中描述的方面的技術(shù)的另一實例視頻編碼及解碼系統(tǒng)的框圖。
圖2A為說明可實施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實例的框圖。
圖2B是說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻解碼器的實例的框圖。
圖3是說明用于根據(jù)本發(fā)明中描述的方面的平度檢測方法中的多個像素的實例的框圖。
圖4為說明可執(zhí)行根據(jù)本發(fā)明中描述的方面的技術(shù)的平度檢測器的實例的框圖。
圖5是說明用于根據(jù)本發(fā)明中描述的方面的平度檢測方法的流程圖。
具體實施方式
一般來說,本發(fā)明涉及在視頻壓縮技術(shù)(例如顯示流壓縮(DSC))背景下的視頻數(shù)據(jù)的平度檢測方法。更具體地,本發(fā)明涉及用于識別視頻數(shù)據(jù)內(nèi)的過渡塊的系統(tǒng)和方法,在所述過渡塊內(nèi)發(fā)生從視頻數(shù)據(jù)的復(fù)雜區(qū)域到視頻數(shù)據(jù)的平坦區(qū)域的過渡。
雖然本文中在DSC標(biāo)準(zhǔn)的背景下描述某些實施例,但所屬領(lǐng)域的技術(shù)人員將了解,本文中揭示的系統(tǒng)和方法可適用于任何合適的視頻譯碼標(biāo)準(zhǔn)。舉例來說,本文中揭示的實施例可適用于以下標(biāo)準(zhǔn)中的一或多個:國際電信聯(lián)盟(ITU)電信標(biāo)準(zhǔn)化部門(ITU-T)H.261、國際標(biāo)準(zhǔn)化組織/國際電工委員會(ISO/IEC)動畫專家組-1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264(也稱為ISO/IEC MPEG-4 AVC)和高效率視頻譯碼(HEVC)和此類標(biāo)準(zhǔn)的擴(kuò)展。并且,本發(fā)明中描述的技術(shù)可變?yōu)閷黹_發(fā)的標(biāo)準(zhǔn)的一部分。換句話說,本發(fā)明中描述的技術(shù)可適用于先前開發(fā)的視頻譯碼標(biāo)準(zhǔn)、當(dāng)前正在開發(fā)的視頻譯碼標(biāo)準(zhǔn)和即將到來的視頻譯碼標(biāo)準(zhǔn)。
DSC標(biāo)準(zhǔn)包含檢測視頻數(shù)據(jù)從復(fù)雜區(qū)域到平坦區(qū)域和從平坦區(qū)域到復(fù)雜區(qū)域的過渡。DSC可使用視頻數(shù)據(jù)平度的此類過渡來確定用于譯碼視頻數(shù)據(jù)的譯碼參數(shù)。部分地確定這些譯碼參數(shù),以使得壓縮視頻滿足DSC標(biāo)準(zhǔn)的帶寬要求,同時最小化視頻的失真。
視頻壓縮技術(shù)(例如DSC)可包含平度檢測以便檢測從視頻數(shù)據(jù)的復(fù)雜區(qū)域到視頻數(shù)據(jù)的平坦區(qū)域的過渡。在一些平度檢測方法中,經(jīng)由位流中的相關(guān)聯(lián)參數(shù)發(fā)信號通知每一視頻數(shù)據(jù)群組或視頻數(shù)據(jù)塊,所述相關(guān)聯(lián)參數(shù)定義所述群組是“復(fù)雜的”還是“平坦的”,且此外,當(dāng)發(fā)信號通知為平坦的時,發(fā)信號通知關(guān)于所述群組是略平坦還是極平坦的平坦度類型。因此,發(fā)信信息可增加包含于經(jīng)壓縮視頻數(shù)據(jù)中的數(shù)據(jù)。此外,這些平度檢測技術(shù)可基于考慮(例如,前一像素、當(dāng)前像素群組和/或下一像素群組)下的像素的最大值和最小值。因此,這些平度檢測技術(shù)可未對較大群組或塊尺寸進(jìn)行良好縮放,因為最大值和最小值可未捕獲關(guān)于(例如)所述群組內(nèi)的局部變化的信息,并因此可并未充分表示群組的平度。
因此,本發(fā)明的至少一個方面涉及平度檢測方法,其包含對于視頻數(shù)據(jù)的前一塊、當(dāng)前塊和下一塊中的每一者的復(fù)雜度計算??苫谇耙粔K、當(dāng)前塊和下一塊的復(fù)雜度確定當(dāng)前塊的平度。例如,平度可為當(dāng)前塊的紋理和/或空間頻率的度量。因此,可有可能縮放塊大小,同時充分捕獲關(guān)于塊中的局部變化的信息。此外,可識別其中發(fā)生從復(fù)雜區(qū)域到平坦區(qū)域的過渡的過渡塊。
視頻譯碼標(biāo)準(zhǔn)
例如視頻圖像、TV圖像、靜態(tài)圖像或由錄像機(jī)或計算機(jī)產(chǎn)生的圖像等數(shù)字圖像可包含布置成水平和垂直線的像素或樣本。單個圖像中的像素的數(shù)目通常有數(shù)萬個。每一像素通常含有明度和色度信息。在無壓縮的情況下,將從圖像編碼器傳送到圖像解碼器的信息的絕對量將致使實時圖像發(fā)射不可行。為了減少待發(fā)射的信息的量,已開發(fā)出例如JPEG、MPEG及H.263標(biāo)準(zhǔn)等多種不同壓縮方法。
視頻譯碼標(biāo)準(zhǔn)包含ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、ITU-T H.264(也稱為ISO/IEC MPEG-4 AVC)和HEVC,包含此類標(biāo)準(zhǔn)的擴(kuò)展。
另外,視頻譯碼標(biāo)準(zhǔn)(即,DSC)已由VESA開發(fā)。DSC標(biāo)準(zhǔn)為可壓縮視頻以在顯示鏈路上發(fā)射的視頻壓縮標(biāo)準(zhǔn)。隨著顯示器的分辨率增大,驅(qū)動顯示器需要的視頻數(shù)據(jù)的帶寬對應(yīng)地增大。一些顯示鏈路可不具有所述帶寬以將所有視頻數(shù)據(jù)發(fā)射到此類分辨率的顯示器。因此,DSC標(biāo)準(zhǔn)指定用于通過顯示鏈路的可互操作、視覺無損壓縮的壓縮標(biāo)準(zhǔn)。DSC 1.0標(biāo)準(zhǔn)由VESA公布于2014年。當(dāng)前考慮對于DSC的進(jìn)一步推進(jìn)。
DSC標(biāo)準(zhǔn)不同于其它視頻譯碼標(biāo)準(zhǔn),例如,H.264和HEVC。DSC包含幀內(nèi)壓縮,但不包含幀間壓縮,意味著時間信息可不由DSC標(biāo)準(zhǔn)在譯碼視頻數(shù)據(jù)時使用。相比之下,其它視頻譯碼標(biāo)準(zhǔn)可在其視頻譯碼技術(shù)中采用幀間壓縮。
視頻譯碼系統(tǒng)
下文參考附圖更充分地描述新穎系統(tǒng)、設(shè)備及方法的各種方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應(yīng)將其解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。相反地,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍?;诒疚闹械慕淌荆鶎兕I(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無論是獨立于本發(fā)明的任何其它方面而實施還是與之組合而實施的本文中所揭示的新穎系統(tǒng)、設(shè)備及方法的任何方面。舉例來說,可以使用本文中所闡述的任何數(shù)目個方面來實施設(shè)備或?qū)嵺`方法。另外,本發(fā)明的范圍既定涵蓋使用除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的其它結(jié)構(gòu)、功能性或結(jié)構(gòu)與功能性來實踐的此設(shè)備或方法。應(yīng)理解,可通過權(quán)利要求的一或多個要素來體現(xiàn)本文中所揭示的任何方面。
盡管本文描述了特定方面,但這些方面的許多變化及排列落在本發(fā)明的范圍內(nèi)。盡管提及了優(yōu)選態(tài)樣之一些益處及優(yōu)點,但本發(fā)明之范疇不既定限于特定益處、用途或目標(biāo)。相反,本發(fā)明的方面既定廣泛地適用于不同無線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)及發(fā)射協(xié)議,其中的一些是借助于實例而在圖中以及在優(yōu)選方面的以下描述中說明。具體實施方式和圖式僅說明本發(fā)明,而不是限制由所附權(quán)利要求書和其等效物定義的本發(fā)明的范圍。
附圖說明若干實例。由附圖中的參考標(biāo)號指示的元件對應(yīng)于在以下描述中由相同參考標(biāo)號指示的元件。在本發(fā)明中,名稱以序數(shù)詞(例如,“第一”、“第二”、“第三”等等)開始的元件未必暗示所述元件具有特定次序。相反,此些序數(shù)詞僅用于指代相同或類似類型的不同元件。
圖1A為說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實例視頻譯碼系統(tǒng)10的框圖。如本文中所描述地使用,術(shù)語“視頻譯碼器”或“譯碼器”一般指視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”一般可指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請案中描述的方面可擴(kuò)展到其它相關(guān)裝置,例如,轉(zhuǎn)碼器(例如,可解碼位流且重新編碼另一位流的裝置)及中間框(例如,可修改、變換及/或另外操縱位流的裝置)。
如圖1A中所展示,視頻譯碼系統(tǒng)10包含源裝置12,其產(chǎn)生在稍后時間待由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。在圖1A的實例中,源裝置12和目的地裝置14構(gòu)成單獨裝置。然而,應(yīng)注意,源裝置12和目的地裝置14可在同一裝置上或為同一裝置的一部分,如圖1B的實例中所展示。
再次參考圖1A,源裝置12和目的地裝置14可分別包括廣泛范圍的裝置中的任一者,包含臺式計算機(jī)、筆記本(例如,膝上型)計算機(jī)、平板計算機(jī)、機(jī)頂盒、電話手持機(jī)(例如,所謂的“智能”電話)、所謂的“智能”板、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲機(jī)、視頻流裝置或類似者。在各種實施例中,源裝置12和目的地裝置14可經(jīng)裝備以用于無線通信。
目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在圖1A的實例中,鏈路16可包括使得源裝置12能夠?qū)崟r將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的通信媒體。可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)調(diào)制經(jīng)編碼的視頻數(shù)據(jù),并將其發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理傳輸線。通信媒體可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任何其它設(shè)備。
在圖1A的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。在一些情況下,輸出接口22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)和/或發(fā)射器。在源裝置12中,視頻源18可包含例如視頻捕獲裝置(例如,攝像機(jī))、含有先前所捕獲視頻的視頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋入接口和/或用于產(chǎn)生計算機(jī)圖形數(shù)據(jù)以作為源視頻的計算機(jī)圖形系統(tǒng)等源,或此類源的組合。作為一個實例,如果視頻源18是攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的“相機(jī)電話”或“視頻電話”,如圖1B的實例中所說明。然而,本發(fā)明中所描述的技術(shù)一般來說可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。
經(jīng)捕獲、預(yù)先捕獲或計算機(jī)產(chǎn)生的視頻可由視頻編碼器20編碼??山?jīng)由源裝置12的輸出接口22將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14。經(jīng)編碼視頻數(shù)據(jù)還可(或替代地)存儲在存儲裝置31上以供稍后由目的地裝置14或其它裝置接入,用于解碼和/或回放。圖1A和1B中說明的視頻編碼器20可包括圖2A中說明的視頻編碼器20或本文中所描述的任何其它視頻編碼器。
在圖1A的實例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些情況下,輸入接口28可包含接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口28可通過鏈路16和/或從存儲裝置31接收經(jīng)編碼視頻數(shù)據(jù)。通過鏈路16傳達(dá)或在存儲裝置31上提供的經(jīng)編碼視頻數(shù)據(jù)可包含由視頻編碼器20產(chǎn)生的多種語法元素,用于由例如視頻解碼器30的視頻解碼器在解碼視頻數(shù)據(jù)時使用。此類語法元素可與在通信媒體上發(fā)射、存儲于存儲媒體上或存儲文件服務(wù)器的經(jīng)編碼視頻數(shù)據(jù)包含在一起。
顯示裝置32可與目的地裝置14集成或在目的地裝置14的外部。在一些實例中,目的地裝置14可包含集成顯示裝置且還可經(jīng)配置以與外部顯示裝置接口連接。在其它實例中,目的地裝置14可為顯示裝置。一般來說,顯示器裝置32將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示器裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
在相關(guān)方面中,圖1B展示實例視頻譯碼系統(tǒng)10',其中源裝置12和目的地裝置14在裝置11上或為裝置11的部分。裝置11可為電話手持機(jī),例如,“智能”電話或類似者。裝置11可包含與源裝置12和目的地裝置14操作性通信的控制器/處理器裝置13(任選地存在)。圖1B的視頻譯碼系統(tǒng)10'和其組件另外類似于圖1A的視頻譯碼系統(tǒng)10和其組件。
視頻編碼器20和視頻解碼器30可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如,DSC)操作。替代地,視頻編碼器20和視頻解碼器30可根據(jù)其它專屬或行業(yè)標(biāo)準(zhǔn)來操作,所述標(biāo)準(zhǔn)例如是ITU-T H.264標(biāo)準(zhǔn),替代地被稱為MPEG-4第10部分及AVC、HEVC或此類標(biāo)準(zhǔn)的擴(kuò)展。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實例包含MPEG-2和ITU-T H.263。
盡管圖1A和1B的實例中未展示,但視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)?shù)腗UX-DEMUX單元或其它硬件和軟件,以處置共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實例中,如果適用,那么MUX-DEMUX單元可以符合ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。
視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分以軟件實施所述技術(shù)時,裝置可將用于所述軟件的指令存儲于合適的非暫時性計算機(jī)可讀媒體中并使用一或多個處理器以硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合編碼器/解碼器(編解碼器)的部分。
視頻譯碼過程
如上文簡要提及,視頻編碼器20編碼視頻數(shù)據(jù)。視頻數(shù)據(jù)可以包括一或多個圖片。圖片中的每一者為形成視頻的一部分的靜態(tài)圖像。在一些情況下,圖片可被稱作視頻“幀”。當(dāng)視頻編碼器20對視頻數(shù)據(jù)進(jìn)行編碼時,視頻編碼器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í)行編碼操作時,視頻編碼器20可產(chǎn)生一系列經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。相關(guān)聯(lián)數(shù)據(jù)可包含譯碼參數(shù)集合,例如量化參數(shù)(QP)。為了產(chǎn)生經(jīng)譯碼圖片,視頻編碼器20可將圖片分割成大小相等的視頻塊。視頻塊可為樣本的二維陣列。譯碼參數(shù)可針對視頻數(shù)據(jù)的每一塊定義譯碼選項(例如,譯碼模式)??蛇x擇譯碼選項以便達(dá)成所要的速率-失真性能。
在一些實例中,視頻編碼器20可將圖片分割成多個切片。切片中的每一個可包含可在無來自圖像(例如,幀)中的其余區(qū)域的信息的情況下獨立解碼的在所述圖像或幀中的空間上截然不同的區(qū)域。每一圖像或視頻幀可在單一切片中編碼,或其可在若干切片中編碼。在DSC中,被分派以編碼每一切片的目標(biāo)位可基本上恒定。作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。當(dāng)視頻編碼器20對切片執(zhí)行編碼操作時,視頻編碼器20可產(chǎn)生與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)。與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)可稱為“經(jīng)譯碼切片”。
DSC視頻編碼器
圖2A為說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器20的實例的框圖。視頻編碼器20可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的一些或全部。在一些實例中,本發(fā)明中描述的技術(shù)可在視頻編碼器20的各種組件之間共享。在一些實例中,另外或替代地,處理器(圖中未展示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的一些或全部。
出于解釋的目的,本發(fā)明在DSC譯碼的情況下描述視頻編碼器20。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。
在圖2A的實例中,視頻編碼器20包含多個功能組件。視頻編碼器20的功能組件包含色彩空間轉(zhuǎn)換器105、緩沖器110、平度檢測器115、速率控制器120、預(yù)測器、量化器和重建器組件125、線緩沖器130、索引的色彩歷史135、熵編碼器140、子流多路復(fù)用器145和速率緩沖器150。在其它實例中,視頻編碼器20可包含更多、更少或不同功能組件。
色彩空間轉(zhuǎn)換器105可將輸入的色彩空間轉(zhuǎn)換到在譯碼實施方案中使用的色彩空間。舉例來說,在一個示范性實施例中,輸入視頻數(shù)據(jù)的色彩空間在紅、綠和藍(lán)(RGB)色彩空間中,且以亮度Y、色度綠Cg和色度橙Co(YCgCo)色彩空間實施譯碼。色彩空間轉(zhuǎn)換可通過包含移位和添加到視頻數(shù)據(jù)的方法執(zhí)行。應(yīng)注意,可處理其它色彩空間中的輸入視頻數(shù)據(jù),且也可執(zhí)行到其它色彩空間的轉(zhuǎn)換。
在相關(guān)方面中,視訊編碼器20可包含緩沖器110、線緩沖器130和/或速率緩沖器150。舉例來說,緩沖器110可在由視頻編碼器20的其它部分使用經(jīng)色彩空間轉(zhuǎn)換的視頻數(shù)據(jù)之前保持經(jīng)色彩空間轉(zhuǎn)換的視頻數(shù)據(jù)。在另一實例中,視頻數(shù)據(jù)可存儲于RGB色彩空間中,且色彩空間轉(zhuǎn)換可按需要執(zhí)行,因為經(jīng)色彩空間轉(zhuǎn)換的數(shù)據(jù)可需要更多位。
速率緩沖器150可充當(dāng)視頻編碼器20中的速率控制機(jī)構(gòu)的部分,這將在下文結(jié)合速率控制器120更詳細(xì)地描述。在編碼每一塊上花費的位可基于塊的性質(zhì)而基本上高度地變化。速率緩沖器150可使經(jīng)壓縮視頻的速率變化平穩(wěn)。在一些實施例中,使用恒定位速率(CBR)緩沖器模型,其中以恒定位速率從緩沖器取出位。在CBR緩沖器模型中,如果視頻編碼器20將過多的位添加到位流,那么速率緩沖器150可溢出。另一方面,視頻編碼器20必須添加足夠位以便防止速率緩沖器150的下溢。
在視頻解碼器側(cè)上,可以恒定位速率將位添加到視頻解碼器30的速率緩沖器155(見下文進(jìn)一步詳細(xì)描述的圖2B),且視頻解碼器30可針對每一塊去除可變數(shù)目個位。為了確保恰當(dāng)解碼,視頻解碼器30的速率緩沖器155在經(jīng)壓縮位流的解碼期間不應(yīng)“下溢”或“溢出”。
在一些實施例中,可基于表示當(dāng)前在速率緩沖器150中的位數(shù)的值BufferCurrentSize和表示速率緩沖器150的大小(即,在任一時間點可存儲在速率緩沖器150中的最大位數(shù))的BufferMaxSize來定義緩沖器滿度(BF)。BF可以計算為:
BF=((BufferCurrentSize*100)/BufferMaxSize)
平度檢測器115可檢測視頻數(shù)據(jù)中的復(fù)雜(即,非平坦)區(qū)到視頻數(shù)據(jù)中的平坦(即,簡單或均勻)區(qū)的改變。術(shù)語“復(fù)雜”和“平坦”將在本文中用以大體指代視頻編碼器20編碼視頻數(shù)據(jù)的相應(yīng)區(qū)域的困難。因此,如本文中使用的術(shù)語“復(fù)雜”將視頻數(shù)據(jù)的區(qū)域大體描述為視頻編碼器20編碼起來復(fù)雜或困難,且可(例如)包含紋理化的視頻數(shù)據(jù)、高空間頻率和/或編碼起來復(fù)雜的其它特征。舉例來說,當(dāng)編碼視頻數(shù)據(jù)的區(qū)域需要的位數(shù)大于閾值時,可將所述區(qū)域確定為復(fù)雜區(qū)域。如本文中使用的術(shù)語“平坦”將視頻數(shù)據(jù)的區(qū)域大體描述為視頻編碼器20編碼起來簡單,且可(例如)包含視頻數(shù)據(jù)中的平滑梯度、低空間頻率和/或編碼起來簡單的其它特征。舉例來說,當(dāng)編碼視頻數(shù)據(jù)的區(qū)域需要的位數(shù)小于閾值時,可將所述區(qū)域確定為平坦區(qū)域。
然而,取決于實施方案,對于給定區(qū)域復(fù)雜或平坦的確定也可基于所使用的編碼標(biāo)準(zhǔn)、視頻編碼器20中包含的具體硬件、待編碼的視頻數(shù)據(jù)的類型等來確定。另外,視頻數(shù)據(jù)區(qū)域的某些性質(zhì)可影響需要多少位來編碼區(qū)域,例如,高紋理和/或高空間頻率區(qū)域可比較低紋理和/或較低空間頻率區(qū)域需要多的位來編碼。類似地,與視頻數(shù)據(jù)的更結(jié)構(gòu)化區(qū)域相比,包括隨機(jī)噪聲的區(qū)域可需要大量位來編碼。因此,在某些實施方案中,可通過將紋理和/或空間頻率的度量(例如,復(fù)雜度值)與復(fù)雜度閾值比較來將視頻數(shù)據(jù)的區(qū)域識別為復(fù)雜和/或平坦區(qū)域。復(fù)雜與平坦區(qū)域之間的過渡可由視頻編碼器20用以減少經(jīng)編碼視頻數(shù)據(jù)中的量化偽影。具體地,當(dāng)識別到從復(fù)雜到平坦區(qū)域的過渡時,速率控制器120和預(yù)測器、量化器和重建器組件125可減少此類量化偽影。下文提供平度檢測及其各種實施例的更詳細(xì)描述。
速率控制器120判定一組譯碼參數(shù),例如,QP。QP可由速率控制器120基于速率緩沖器150的緩沖器滿度和視頻數(shù)據(jù)的圖像活動來調(diào)整,以便最大化針對目標(biāo)位速率的圖片質(zhì)量,這確保速率緩沖器150不溢出或下溢。速率控制器120還選擇用于視頻數(shù)據(jù)的每一塊的特定譯碼選項(例如,特定模式),以便達(dá)成最優(yōu)速率-失真性能。速率控制器120最小化經(jīng)重建圖像的失真,以使得失真滿足位速率約束,即總體實際譯碼速率適合目標(biāo)位速率。
預(yù)測器、量化器和重建器組件125可執(zhí)行視頻編碼器20的至少三個編碼操作。預(yù)測器、量化器和重建器組件125可以許多不同模式執(zhí)行預(yù)測。一個實例預(yù)測模式為中值自適應(yīng)預(yù)測的修改型式。中值自適應(yīng)預(yù)測可由無損JPEG標(biāo)準(zhǔn)(JPEG-LS)實施??捎深A(yù)測器、量化器和重建器組件125執(zhí)行的中值自適應(yīng)預(yù)測的修改型式可允許三個連續(xù)樣本值的并行預(yù)測。另一實例預(yù)測模式為塊預(yù)測。在塊預(yù)測中,從先前重構(gòu)建的像素向左預(yù)測樣本。視頻編碼器20和視頻解碼器30可都對重構(gòu)建的像素執(zhí)行相同搜索以確定塊預(yù)測使用,并因此不需要在塊預(yù)測模式中發(fā)送位。也可實施中點預(yù)測模式,其中使用組件范圍的中點預(yù)測樣本。中點預(yù)測模式可在甚至最壞情況樣本中實現(xiàn)對于經(jīng)壓縮視頻需要的位數(shù)的界限。
預(yù)測器、量化器和重建器組件125還執(zhí)行量化。舉例來說,可經(jīng)由可使用移位器實施的2冪量化器執(zhí)行量化。應(yīng)注意,可實施其它量化技術(shù),代替2冪量化器。由預(yù)測器、量化器和重建器組件125執(zhí)行的量化可基于由速率控制器120確定的QP。最后,預(yù)測器、量化器和重建器組件125還執(zhí)行重構(gòu)建,其包含將經(jīng)反量化的殘余加到經(jīng)預(yù)測值和確保結(jié)果不落在樣本值的有效范圍之外。
應(yīng)注意,以上描述的由預(yù)測器、量化器和重建器組件125執(zhí)行的預(yù)測、量化和重構(gòu)建的實例方法只是說明性的且可實施其它方法。還應(yīng)注意,預(yù)測器、量化器和重建器組件125可包含用于執(zhí)行預(yù)測、量化和/或重構(gòu)建的子組件。進(jìn)一步注意,預(yù)測、量化和/或重構(gòu)建可由若干單獨的編碼器組件代替預(yù)測器、量化器和重建器組件125執(zhí)行。
線緩沖器130保持來自預(yù)測器、量化器和重建器組件125的輸出,使得預(yù)測器、量化器和重建器組件125和索引的色彩歷史135可使用經(jīng)緩沖視頻數(shù)據(jù)。索引的色彩歷史135存儲最近使用的像素值。這些最近使用的像素值可直接由視頻編碼器20經(jīng)由專用語法參考。
熵編碼器140基于索引的色彩歷史135和由平度檢測器115識別的平度過渡編碼從預(yù)測器、量化器和重建器組件125接收的預(yù)測殘余。在一些實例中,熵編碼器140可每子流編碼器每時鐘編碼三個樣本。子流多路復(fù)用器145可基于無標(biāo)頭分組復(fù)用方案多路復(fù)用位流。這允許視頻解碼器30并行地運(yùn)行三個熵解碼器,從而有助于每時鐘解碼三個像素。子流多路復(fù)用器145可優(yōu)化包次序,以使得包可由視頻解碼器30有效率地解碼。應(yīng)注意,可實施熵譯碼的不同方法,這可有助于每時鐘2冪像素的解碼(例如,2個像素/時鐘或4個像素/時鐘)。
DSC視頻解碼器
圖2B是說明可實施本發(fā)明中描述的方面的技術(shù)的視頻解碼器30的實例的框圖。視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的一些或全部。在一些實例中,本發(fā)明中描述的技術(shù)可在視頻編碼器30的各種組件當(dāng)中共享。在一些實例中,另外或替代地,處理器(圖中未展示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的一些或全部。
出于解釋的目的,本發(fā)明在DSC譯碼的背景下描述視頻解碼器30。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。
在圖2B的實例中,視頻解碼器30包含多個功能組件。視頻解碼器30的功能組件包含速率緩沖器155、子流多路分用器160、熵解碼器165、速率控制器170、預(yù)測器、量化器和重建器組件175、索引的色彩歷史180、線緩沖器185和色彩空間轉(zhuǎn)換器190。視頻解碼器30的所說明組件類似于以上結(jié)合圖2A中的視頻編碼器20描述的對應(yīng)組件。因而,視頻解碼器30的組件中的每一個可以類似于如上所描述的視頻編碼器20的對應(yīng)組件的方式操作。
DSC中的切片
如上所指出,切片大體指代可在不使用來自圖像或幀中的其余區(qū)域中的信息的情況下獨立解碼的在所述圖像或幀中的空間上截然不同的區(qū)域。每一圖像或視頻幀可在單一切片中編碼,或圖像或視頻幀可在若干切片中編碼。在DSC中,被分派以編碼每一切片的目標(biāo)位可基本上恒定。
平度檢測
一種用于平度檢測的技術(shù)可涉及識別從復(fù)雜區(qū)域到平坦區(qū)域的過渡。在一些實施方案中,可由速率控制器120執(zhí)行的速率控制算法包含至少部分地基于前一塊的位速率選擇當(dāng)前塊的QP值。當(dāng)前一塊的位速率高于先前編碼塊的平均位率(例如,由于高活動性)時,速率控制算法增加當(dāng)前塊的QP值以便維持位率約束并還防止速率緩沖器150溢出。因此,當(dāng)多個連續(xù)經(jīng)先前編碼塊高度復(fù)雜時,當(dāng)前塊的QP值可達(dá)到極高值。當(dāng)平坦區(qū)域緊接在復(fù)雜區(qū)域之后時,如果以高QP編碼平坦區(qū)域,則可注意到視覺偽影。因此,可能需要識別從視頻數(shù)據(jù)的復(fù)雜區(qū)域到視頻數(shù)據(jù)的平坦區(qū)域的這種過渡,以使得可使用低QP值執(zhí)行平坦區(qū)域的編碼。
在一些實施方案中,針對超群(例如,4個連續(xù)群組/塊)內(nèi)的每一群組或塊(例如,3個像素)執(zhí)行平度確定。可執(zhí)行兩個平度檢查以確定可為“不平”、“略平”或“極平”的平度類型。因此,對于和在先前實例中一樣具有4個群組的大小的每一超群,可存在四個平度指示,一個用于每一群組/塊。每一平度指示可指示(例如)對應(yīng)群組-塊不平、略平或極平。在一些實施例中,可將略平塊確定為與極平塊相比編碼起來更復(fù)雜或困難或與不平區(qū)域相比編碼起來更簡單的視頻數(shù)據(jù)區(qū)域。例如,當(dāng)紋理和/或空間頻率的表示(例如,復(fù)雜度值)大于第一閾值并小于第二閾值時,可將視頻數(shù)據(jù)的區(qū)域確定為略平區(qū)域。
圖3說明用于參與根據(jù)實例的當(dāng)前像素群組的平度確定的像素。參考圖3,展示多個像素205至235。圖3中展示當(dāng)前像素群組,其包含像素210、215及220。像素205為位于當(dāng)前群組之前的像素。換句話說,像素205構(gòu)成前一像素。像素225、230及235定位在當(dāng)前群組之后。換句話說,像素225、230及235構(gòu)成接下來的像素。
第一平度檢查可包含兩種測試。在對于極平類型的平度的第一種測試中,在包含前一像素205和當(dāng)前群組的像素210、215及220的四個樣本中確定每一色彩分量的最小值和最大值。如果任何色彩分量的最大值與最小值之間的差大于(2<<(bitsPerComponent-8)),其中<<是逐位左移運(yùn)算子,那么對于極平的第一種測試未通過。如果任何色彩分量的最大值與最小值之間的差不大于(2<<(bitsPerComponent-8)),那么第一種測試通過,例如,確定當(dāng)前像素群組具有極平類型的平度。
在一些實施例中,當(dāng)?shù)谝环N測試通過時,不進(jìn)行第二種測試。在其它實施例中,執(zhí)行第二種測試而不管第一測試是否通過或第一種測試何時未通過。在對于略平類型的平度的第二種測試中,如果在包含前一像素205和當(dāng)像素210、215及220的四個樣本中的任何色彩分量的最大值與最小值之間的差大于閾值,那么對于略平的第二種測試未通過。如果任何色彩分離的最大值與最小值之間的差不大于閾值,那么第二種測試通過,例如,將當(dāng)前像素群組確定為具有略平類型的平度。在某些實施方案中,基于QP計算用于第二種測試中的閾值。
如果第一平度檢查中的上述第一種和第二種測試未通過,那么對當(dāng)前群組中的像素和后三個像素(例如,對于像素210至235)執(zhí)行第二種平度檢查。在第二種平度檢查期間,計算像素210至235的最小值和最大值并針對像素210至235執(zhí)行在第一種平度檢查中所執(zhí)行的相同的兩種測試。
最終,基于偽碼中所展示的以下程序?qū)⒊褐械拿恳划?dāng)前群組(例如,像素210、215及220)分類為平坦的、略平的或不平的:
如果前一超群具有平度指示,那么將prevIsFlat的值初始化為1;否則將prevIsFlat的值初始化為0。如果超群內(nèi)的群組經(jīng)選擇為平坦的或略平的,那么將超群的旗標(biāo)(標(biāo)示為flatness_flag)設(shè)置為1,并在位流中將對應(yīng)群組與相關(guān)聯(lián)平度類型一起發(fā)信號通知。如果無群組經(jīng)選擇為平坦的或略平的,那么將超群的flatness_flag設(shè)置為0。最后,如果發(fā)現(xiàn)當(dāng)前群組為平坦或略平的,則速率控制器120可調(diào)整當(dāng)前群組的QP值。
可存在大量與上述平度檢測方法相關(guān)聯(lián)的大量限制。例如,這些方法可需要對當(dāng)前塊或群組是平坦的還是不平的明確信令,并可進(jìn)一步需要在當(dāng)前塊或群組為平坦的時發(fā)信號通知平度的類型,即極平或略平。當(dāng)實施上述平度檢測方法時,這種明確信令所需的位可限制可達(dá)成的壓縮。
此外,上述平度檢測方法可不針對大群組或塊大小的平度檢測縮放(即,當(dāng)群組/塊中的像素的數(shù)目相對大時)。這是因為較大群組或塊的最小值和最大值可表示更極端值且可未能捕獲群組內(nèi)的局部空間變化。
圖4為說明根據(jù)一個實施例的平度檢測器115的框圖。平度檢測器115可包含三個復(fù)雜度計算器332、324及326、最大值計算器330及過渡檢測器340。復(fù)雜度計算器332、324及326分別計算對應(yīng)塊的復(fù)雜度。由復(fù)雜度計算器332、324及326計算的復(fù)雜度值可分別表示對應(yīng)塊的紋理和/或空間頻率。平度檢測器115可基于前一塊305和下一塊315確定是否在當(dāng)前塊310中發(fā)生從不平區(qū)域到平坦區(qū)域的過渡。雖然取決于實施例將平度檢測器115說明為包含多個單獨塊,但可將塊一起或以各種組合來組合和/或?qū)嵤?/p>
如圖4中所展示,通過相應(yīng)的復(fù)雜度計算器322、324及326計算當(dāng)前塊305、下一塊310及前一塊315的復(fù)雜度。當(dāng)前塊305、下一塊310及前一塊315的復(fù)雜度在下文將分別標(biāo)示為Ccur、Cnext、Cprev。最大值計算器330計算迄今為止在當(dāng)前線或切片中識別的最大復(fù)雜度Cmax。過渡檢測器340基于計算的復(fù)雜度值Ccur、Cnext、Cprev及Cmax識別從復(fù)雜區(qū)域到平坦區(qū)域的過渡。在某些實施方案中,在編碼線或切片中的第一塊時,用Ccur與Cnext之間的最大值初始化Cmax。在編碼每一個塊之后,基于Cmax與Cnext之間的最大值更新Cmax值。最終,至少部分地基于是否在當(dāng)前塊310中已由過渡檢測器340識別到從復(fù)雜區(qū)域到平坦區(qū)域的過渡來計算當(dāng)前塊310的QP值。在一些實施方案中,當(dāng)已在當(dāng)前塊310中識別到從復(fù)雜區(qū)域到平坦區(qū)域的過渡時,將QP值設(shè)置為相對低的值。
在一個實施方案中,最大值計算器330針對切片中的每一線獨立地計算Cmax值。即,對于每一新線中的第一塊,最大值計算器330用Ccur與Cnext之間的最大值初始化Cmax并進(jìn)一步基于Cmax及Cnext的最大值更新Cmax。
現(xiàn)將更詳細(xì)描述根據(jù)示范性實施例的對于所選塊的復(fù)雜度計算(即,由復(fù)雜度計算器322、324及326針對相應(yīng)的前一塊305、當(dāng)前塊310及下一塊315所執(zhí)行的計算)。通過首先向所選塊應(yīng)用特定變換及隨后對變換系數(shù)的絕對值或絕對平方值求和來計算所選塊的復(fù)雜度值。在某些實施方案中,僅使用明度通道計算復(fù)雜度值,且在其它實施方案中使用明度通道和色度通道兩者計算復(fù)雜度值。在一個示范性實施例中,應(yīng)用于所選塊的變換為離散余弦變換(DCT)或哈達(dá)碼(Hadamard)變換。在另一個實例中,可基于用以譯碼塊的位數(shù)和相應(yīng)的QP值來導(dǎo)出復(fù)雜度值。在另一個實例中,可基于原始塊與經(jīng)預(yù)測塊之間的殘余能量導(dǎo)出復(fù)雜度值。
在另一個示范性實施例中,通過向所選塊應(yīng)用變換而產(chǎn)生的變換系數(shù)的子集用于計算絕對和或絕對平方和。在此實施例中,并非塊中的所有變化系數(shù)都用于計算絕對和或絕對平方和。
在另一個示范性實施例中,將每一變換系數(shù)乘以權(quán)重且應(yīng)用到變換系數(shù)的權(quán)重可彼此不同。在此實施例中,計算經(jīng)加權(quán)系數(shù)的絕對值或絕對平方值。
在另一示范性實施例中,在計算變換系數(shù)之前將色彩變換應(yīng)用于塊。
在另一實施例中,對于每一色彩通道,對相應(yīng)變換系數(shù)的子集的絕對或平方值求和并對最終和進(jìn)行歸一化。在此實施例中,將所有色彩通道的歸一化和加在一起以產(chǎn)生復(fù)雜度值。在一個實施方案中,歸一化包含將積累值除以所選塊中的像素的數(shù)目。在另一個實施方案中,在將積累值除以所選塊中的像素的數(shù)目之前,將偏移值與積累值相加以便將積累值舍入最接近的整數(shù)。例如,偏移值可為塊中的像素數(shù)目除以2。應(yīng)注意,可組合對于復(fù)雜度計算的上述實施例或方法中的一或多個。
在另一實施例中,對于每一色彩通道,對相應(yīng)變換系數(shù)的子集的絕對或平方值求和并對最終和進(jìn)行歸一化??蓪⒚恳簧释ǖ赖臍w一化和乘以對應(yīng)權(quán)重。可將經(jīng)加權(quán)的歸一化和加在一起以導(dǎo)出復(fù)雜度值。在一個實施方案中,輸入視頻數(shù)據(jù)在RGB色彩空間中且色彩空間轉(zhuǎn)換器105將輸入視頻數(shù)據(jù)轉(zhuǎn)換為YCgCo色彩空間。在此實施方案中,Y通道的權(quán)重可為(例如)1,且色度通道Co及Cg的權(quán)重中的每一者可為(例如)0.5。
如上文所描述,過渡檢測器340識別是否在當(dāng)前塊310中發(fā)生從復(fù)雜區(qū)域到平坦區(qū)域的過渡。在某些實施例中,至少部分地基于以下各者由過渡檢測器340識別從復(fù)雜區(qū)域到平坦區(qū)域的過渡:(i)當(dāng)下一塊315為平坦的時所滿足的第一條件;及(ii)當(dāng)前以塊305為復(fù)雜的時所滿足的第二條件。下文詳細(xì)描述說明何時滿足條件(i)及(ii)的多個實施方案。當(dāng)滿足兩個條件(i)及(ii)時,速率控制器120將當(dāng)前塊310的QP值調(diào)整為相對低的值。否則,如果條件中的任一個未通過,那么速率控制器120不會基于平度檢測器115的輸出來調(diào)整當(dāng)前塊310的QP值。
在示范性實施例中,過渡檢測器340將確定在以下條件為真時滿足條件(i):
((CCur-Cnext)>Cmax*T1)&&(Cnext<T2*Cmax),
其中T1及T2為可配置的閾值參數(shù)。
在一個實施方案中,用大于或等于條件檢查(即,((CCur-Cnext)≥Cmax*T1)&&(Cnext<T2*Cmax))來替換((CCur-Cnext)>Cmax*T1)中的大于條件檢查。
在另一個實施方案中,用小于或等于條件檢查(即,(Cnext≤T2*Cmax))替換(Cnext<T2*Cmax)中的小于條件檢查。
在另一個實施方案中,使用以下條件((CCur-Cnext)≥Cmax*T1)&&(Cnext≤T2*Cmax)確定是否滿足條件(i)。
在另一個示范性實施例中,如果以下條件為真,那么滿足所述條件(i):
Cnext<CCur*T,
其中T為可配置閾值參數(shù)。
在一個實施方案中,使用條件檢查Cnext≤CCur*T代替以上條件檢查來看是否滿足條件(i)。
在另一個示范性實施例中,如果以下條件為真,那么滿足所述條件(ii):
(Cprev>Cmax*T3),
其中T3為可配置的閾值參數(shù)。
在一個實施方案中,用大于且等于條件檢查(即,(Cprev≥Cmax*T3))來替換(Cprev>Cmax*T3)中的大于條件檢查。
在另一個示范性實施例中,如果Cprev>T4,則滿足條件(ii),其中T4為可配置參數(shù)。
在一個實施方案中,用大于且等于條件檢查(即,Cprev≥T4)替換大于條件檢查Cprev>T4。
在又一實施例中,基于以下算法評估條件(ii):
對于j=1至n
此處,A=[a1、a2、…、an],B=[b1、b2、…、bn],其中針對從1至n的j的所有值,aj及bj為可配置閾值。此外,‘n’表示正整數(shù)。在以上算法中,一旦發(fā)現(xiàn)滿足條件(ii),即通過中斷終止算法。
在一個實施方案中,將n設(shè)置為1,且因此將一個閾值用于A與B中的每一者中。
在一個實施方案中,用小于條件檢查(即,(Cnext<A[j]))替換小于或等于條件檢查(Cnext≤A[j])。在另一個實施方案中,用大于或等于條件檢查(即,Cprev≥B[j])替換大于條件檢查Cprev>B[j]。
在一個實施方案中,閾值a1、a2、…、an處于單調(diào)遞增次序。在一個實施方案中,閾值b1、b2、…、bn處于單調(diào)遞增次序。
在另一個實施方案中,組合條件檢查Cprev>T4與以上算法以確定是否滿足條件(ii)。
在一個實施方案中,首先進(jìn)行以上算法中的步驟以檢查是否滿足條件(ii)。如果在完成此算法中的步驟后未滿足條件(ii),那么進(jìn)行條件檢查Cprev>T4。
在一個實施方案中,如果Cmax值較大或大于或等于可配置的閾值T4,那么檢查條件(i)及(ii)。即,如果滿足條件(Cmax>=T4),那么檢查用于檢測從不平區(qū)域到平坦區(qū)域的過渡的條件(i)及(ii)。否則,如果不滿足條件(Cmax>=T4),那么不檢查兩個條件(i)及(ii)且不調(diào)整QP值。在一個實施方案中,用嚴(yán)格的大于條件檢查(即,(Cmax>T4))替換大于或等于條件檢查。
用于識別從視頻數(shù)據(jù)中的復(fù)雜區(qū)域到平坦區(qū)域的過渡的實例流程圖
參考圖5,將描述用于識別從視頻數(shù)據(jù)中的復(fù)雜區(qū)域到平坦區(qū)域的過渡的實例程序。圖5為說明根據(jù)本發(fā)明的實施例的用于譯碼視視頻數(shù)據(jù)的方法400的流程圖。圖5中所說明的步驟可由視頻編碼器(例如,圖2A中的視頻編碼器20)或其一或多個組件執(zhí)行。為方便起見,將方法400描述為由視頻譯碼器(也簡稱為譯碼器)執(zhí)行,所述視頻譯碼器可為視頻編碼器20或另一組件。
方法400開始于框401處。在框405處,譯碼器確定用于視頻數(shù)據(jù)的前一塊的第一復(fù)雜度值、用于視頻數(shù)據(jù)的當(dāng)前塊的第二復(fù)雜度值及用于視頻數(shù)據(jù)的下一塊的第三復(fù)雜度值。第一、第二及第三復(fù)雜度值表示視頻數(shù)據(jù)的前一塊、當(dāng)前塊及下一塊中的對應(yīng)一者的紋理和/或空間頻率。在一些實施例中,可通過經(jīng)由向前一塊、當(dāng)前塊及下一塊中的對應(yīng)一者應(yīng)用變換而產(chǎn)生多個變換系數(shù)來計算第一、第二和第三復(fù)雜度值中的每一者。在這些實施例中,經(jīng)由對變換系數(shù)的絕對值或絕對平方值求和來確定對應(yīng)于前一塊、當(dāng)前塊及下一塊的復(fù)雜度值中的每一者。
在框410處,譯碼器基于第一、第二和第三復(fù)雜度值確定當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡。復(fù)雜區(qū)域具有符合或超過復(fù)雜度閾值的復(fù)雜度值且平坦區(qū)域具有小于復(fù)雜度閾值的復(fù)雜度值。在一些實施例中,譯碼器進(jìn)一步確定用于視頻數(shù)據(jù)的當(dāng)前切片的最大復(fù)雜度值。譯碼器還至少部分地基于第三復(fù)雜度值確定是否滿足第一條件并至少部分地基于第一復(fù)雜度值確定是否滿足第二條件,以便確定當(dāng)前塊是否包含從復(fù)雜區(qū)域的過渡。在框415處,譯碼器至少部分地基于對于當(dāng)前塊是否包含從復(fù)雜區(qū)域到平坦區(qū)域的過渡的確定來譯碼視頻數(shù)據(jù)。所述方法在框420處結(jié)束。
在方法400中,可去除圖5中所展示的一或多個框和/或可交換執(zhí)行方法的次序。在一些實施例中,可將額外塊添加至方法400。本發(fā)明的實施例不限于圖5展示的實例或不受到圖5中展示的實例限制,且可在不脫離本發(fā)明的精神的情況下實施其它變化。
其它考慮
可使用多種不同技術(shù)和技藝中的任一者來表示本文中所揭示的信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
結(jié)合本文揭示的實施例所描述的各種說明性邏輯塊、電路及算法步驟可實施為電子硬件、計算機(jī)軟件,或兩者的組合。為清楚說明硬件與軟體的此可互換性,上文已大體上關(guān)于其功能性而描述了各種說明性組件、塊和步驟。此功能性是實施為硬件還是軟件取決于特定應(yīng)用及應(yīng)用于整個系統(tǒng)的設(shè)計約束。熟練的技術(shù)人員可針對每一特定應(yīng)用以不同方式實施所描述的功能性,但此類實施決策不應(yīng)被解釋為引起偏離本發(fā)明的范圍。
本文中所描述的技術(shù)可在硬件、軟件、固件或其任一組合中實施。所述技術(shù)可實施于多種裝置中的任一者中,例如通用計算機(jī)、無線通信裝置手持機(jī)或集成電路裝置,其具有包含在無線通信裝置手持機(jī)及其它裝置中的應(yīng)用的多種用途。被描述為裝置或組件的任何特征可一起實施于集成邏輯裝置中或分開實施為離散但可互操作的邏輯裝置。如果在軟件中實施,那么所述技術(shù)可至少部分地由包括程序代碼的計算機(jī)可讀數(shù)據(jù)存儲媒體來實現(xiàn),所述程序代碼包括在執(zhí)行時執(zhí)行上文所描述的方法中的一或多者的指令。計算機(jī)可讀數(shù)據(jù)存儲媒體可形成計算機(jī)程序產(chǎn)品的一部分,所述計算機(jī)程序產(chǎn)品可包含封裝材料。計算機(jī)可讀媒體可包括存儲器或數(shù)據(jù)存儲媒體,例如,隨機(jī)存取存儲器(RAM)(例如,同步動態(tài)隨機(jī)存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機(jī)存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存器、磁性或光學(xué)數(shù)據(jù)存儲媒體等等。另外或替代地,所述技術(shù)可至少部分地由計算機(jī)可讀通信媒體來實現(xiàn),所述計算機(jī)可讀通信媒體載送或傳達(dá)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼且可由計算機(jī)接入、讀取和/或執(zhí)行(例如,傳播的信號或波)。
程序代碼可由處理器執(zhí)行,所述處理器可包含一或多個處理器,例如,一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。此處理器可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、結(jié)合DSP核心的一或多個微處理器,或任何其它此類配置。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)中的任一者、上述結(jié)構(gòu)的任何組合,或適合于實施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)或設(shè)備。另外,在某些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼和解碼的專用軟件模塊或硬件內(nèi)或并入組合的視頻編碼器-解碼器(編解碼器)中。而且,所述技術(shù)可完全實施于一或多個電路或邏輯元件中。
本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實施,包含無線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必需要通過不同硬件單元實現(xiàn)。實際上,如上文所描述,各種單元可以配合合適的軟件和/或固件組合在編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
雖然已經(jīng)結(jié)合各種不同實施例描述了前文,但可在不脫離本發(fā)明的教示的情況下將來自一項實施例的特征或元件與其它實施例組合。然而,相應(yīng)實施例之間的特征的組合不必限于此。已經(jīng)描述本發(fā)明的各種實施例。這些和其它實施例以下附權(quán)利要求書的范圍內(nèi)。